From 0915e009e62f2984fcc3f209fcd3bc5490df49ed Mon Sep 17 00:00:00 2001 From: Nick Clifton Date: Sep 09 2013 13:00:42 +0000 Subject: Make readelf flush stdout before emitting an error or warning message. Fix problems building docs using texinfo version 5. Resolves: #1005182 --- diff --git a/binutils-2.23.51.0.1-readelf-flush-stdout.patch b/binutils-2.23.51.0.1-readelf-flush-stdout.patch new file mode 100644 index 0000000..757e9a0 --- /dev/null +++ b/binutils-2.23.51.0.1-readelf-flush-stdout.patch @@ -0,0 +1,22 @@ +*** ../orig.binutils-2.23.51.0.1/binutils/elfcomm.c 2013-09-09 13:01:22.010343521 +0100 +--- binutils/elfcomm.c 2013-09-09 13:01:59.389344557 +0100 +*************** error (const char *message, ...) +*** 36,41 **** +--- 36,42 ---- + { + va_list args; + ++ fflush (stdout); + va_start (args, message); + fprintf (stderr, _("%s: Error: "), program_name); + vfprintf (stderr, message, args); +*************** warn (const char *message, ...) +*** 47,52 **** +--- 48,54 ---- + { + va_list args; + ++ fflush (stdout); + va_start (args, message); + fprintf (stderr, _("%s: Warning: "), program_name); + vfprintf (stderr, message, args); diff --git a/binutils-2.23.51.0.1-texinfo-5-fixes.patch b/binutils-2.23.51.0.1-texinfo-5-fixes.patch new file mode 100644 index 0000000..b2fad6b --- /dev/null +++ b/binutils-2.23.51.0.1-texinfo-5-fixes.patch @@ -0,0 +1,443 @@ +*** ../orig.binutils-2.23.51.0.1/bfd/doc/bfd.texinfo 2013-09-09 13:00:58.147342859 +0100 +--- bfd/doc/bfd.texinfo 2013-09-09 13:13:41.013364007 +0100 +*************** All of BFD lives in one directory. +*** 322,328 **** + @printindex cp + + @tex +! % I think something like @colophon should be in texinfo. In the + % meantime: + \long\def\colophon{\hbox to0pt{}\vfill + \centerline{The body of this manual is set in} +--- 322,328 ---- + @printindex cp + + @tex +! % I think something like @@colophon should be in texinfo. In the + % meantime: + \long\def\colophon{\hbox to0pt{}\vfill + \centerline{The body of this manual is set in} +*************** All of BFD lives in one directory. +*** 333,339 **** + \centerline{{\sl\fontname\tensl\/}} + \centerline{are used for emphasis.}\vfill} + \page\colophon +! % Blame: doc@cygnus.com, 28mar91. + @end tex + + @bye +--- 333,339 ---- + \centerline{{\sl\fontname\tensl\/}} + \centerline{are used for emphasis.}\vfill} + \page\colophon +! % Blame: doc@@cygnus.com, 28mar91. + @end tex + + @bye +*** ../orig.binutils-2.23.51.0.1/ld/ld.texinfo 2013-09-09 13:01:22.352343530 +0100 +--- ld/ld.texinfo 2013-09-09 13:13:54.391364377 +0100 +*************** If you have more than one @code{SECT} st +*** 7836,7842 **** + @printindex cp + + @tex +! % I think something like @colophon should be in texinfo. In the + % meantime: + \long\def\colophon{\hbox to0pt{}\vfill + \centerline{The body of this manual is set in} +--- 7836,7842 ---- + @printindex cp + + @tex +! % I think something like @@colophon should be in texinfo. In the + % meantime: + \long\def\colophon{\hbox to0pt{}\vfill + \centerline{The body of this manual is set in} +*************** If you have more than one @code{SECT} st +*** 7847,7853 **** + \centerline{{\sl\fontname\tensl\/}} + \centerline{are used for emphasis.}\vfill} + \page\colophon +! % Blame: doc@cygnus.com, 28mar91. + @end tex + + @bye +--- 7847,7853 ---- + \centerline{{\sl\fontname\tensl\/}} + \centerline{are used for emphasis.}\vfill} + \page\colophon +! % Blame: doc@@cygnus.com, 28mar91. + @end tex + + @bye +*** ../orig.binutils-2.23.51.0.1/binutils/doc/binutils.texi 2013-09-09 13:01:21.710343513 +0100 +--- binutils/doc/binutils.texi 2013-09-09 13:21:05.477376327 +0100 +*************** equivalent. At least one of the @option{ +*** 4375,4381 **** + + @table @env + +! @itemx --input-mach=@var{machine} + Set the matching input ELF machine type to @var{machine}. If + @option{--input-mach} isn't specified, it will match any ELF + machine types. +--- 4375,4381 ---- + + @table @env + +! @item --input-mach=@var{machine} + Set the matching input ELF machine type to @var{machine}. If + @option{--input-mach} isn't specified, it will match any ELF + machine types. +*************** machine types. +*** 4383,4403 **** + The supported ELF machine types are, @var{L1OM}, @var{K1OM} and + @var{x86-64}. + +! @itemx --output-mach=@var{machine} + Change the ELF machine type in the ELF header to @var{machine}. The + supported ELF machine types are the same as @option{--input-mach}. + +! @itemx --input-type=@var{type} + Set the matching input ELF file type to @var{type}. If + @option{--input-type} isn't specified, it will match any ELF file types. + + The supported ELF file types are, @var{rel}, @var{exec} and @var{dyn}. + +! @itemx --output-type=@var{type} + Change the ELF file type in the ELF header to @var{type}. The + supported ELF types are the same as @option{--input-type}. + +! @itemx --input-osabi=@var{osabi} + Set the matching input ELF file OSABI to @var{osabi}. If + @option{--input-osabi} isn't specified, it will match any ELF OSABIs. + +--- 4383,4403 ---- + The supported ELF machine types are, @var{L1OM}, @var{K1OM} and + @var{x86-64}. + +! @item --output-mach=@var{machine} + Change the ELF machine type in the ELF header to @var{machine}. The + supported ELF machine types are the same as @option{--input-mach}. + +! @item --input-type=@var{type} + Set the matching input ELF file type to @var{type}. If + @option{--input-type} isn't specified, it will match any ELF file types. + + The supported ELF file types are, @var{rel}, @var{exec} and @var{dyn}. + +! @item --output-type=@var{type} + Change the ELF file type in the ELF header to @var{type}. The + supported ELF types are the same as @option{--input-type}. + +! @item --input-osabi=@var{osabi} + Set the matching input ELF file OSABI to @var{osabi}. If + @option{--input-osabi} isn't specified, it will match any ELF OSABIs. + +*************** The supported ELF OSABIs are, @var{none} +*** 4407,4413 **** + @var{FreeBSD}, @var{TRU64}, @var{Modesto}, @var{OpenBSD}, @var{OpenVMS}, + @var{NSK}, @var{AROS} and @var{FenixOS}. + +! @itemx --output-osabi=@var{osabi} + Change the ELF OSABI in the ELF header to @var{osabi}. The + supported ELF OSABI are the same as @option{--input-osabi}. + +--- 4407,4413 ---- + @var{FreeBSD}, @var{TRU64}, @var{Modesto}, @var{OpenBSD}, @var{OpenVMS}, + @var{NSK}, @var{AROS} and @var{FenixOS}. + +! @item --output-osabi=@var{osabi} + Change the ELF OSABI in the ELF header to @var{osabi}. The + supported ELF OSABI are the same as @option{--input-osabi}. + +diff -rcp ../orig.binutils-2.23.51.0.1/gas/doc/c-arc.texi gas/doc/c-arc.texi +*** ../orig.binutils-2.23.51.0.1/gas/doc/c-arc.texi 2013-09-09 13:00:50.358342644 +0100 +--- gas/doc/c-arc.texi 2013-09-09 13:37:16.326403240 +0100 +*************** The extension instructions are not macro +*** 220,226 **** + encodings for use of these instructions according to the specification + by the user. The parameters are: + +! @table @bullet + @item @var{name} + Name of the extension instruction + +--- 220,226 ---- + encodings for use of these instructions according to the specification + by the user. The parameters are: + +! @itemize @bullet + @item @var{name} + Name of the extension instruction + +*************** code were: inst 0,r1,r2. You use OP1_IM +*** 279,285 **** + with SYNTAX_20P. + + @end itemize +! @end table + + For example, defining 64-bit multiplier with immediate operands: + +--- 279,285 ---- + with SYNTAX_20P. + + @end itemize +! @end itemize + + For example, defining 64-bit multiplier with immediate operands: + +diff -rcp ../orig.binutils-2.23.51.0.1/gas/doc/c-arm.texi gas/doc/c-arm.texi +*** ../orig.binutils-2.23.51.0.1/gas/doc/c-arm.texi 2013-09-09 13:00:50.347342643 +0100 +--- gas/doc/c-arm.texi 2013-09-09 13:41:44.319410669 +0100 +*************** ARM and THUMB instructions had their own +*** 381,387 **** + @code{unified} syntax, which can be selected via the @code{.syntax} + directive, and has the following main features: + +! @table @bullet + @item + Immediate operands do not require a @code{#} prefix. + +--- 381,387 ---- + @code{unified} syntax, which can be selected via the @code{.syntax} + directive, and has the following main features: + +! @itemize @bullet + @item + Immediate operands do not require a @code{#} prefix. + +*************** The @code{.N} and @code{.W} suffixes are +*** 406,412 **** + @item + All instructions set the flags if and only if they have an @code{s} + affix. +! @end table + + @node ARM-Chars + @subsection Special Characters +--- 406,412 ---- + @item + All instructions set the flags if and only if they have an @code{s} + affix. +! @end itemize + + @node ARM-Chars + @subsection Special Characters +*************** Either @samp{#} or @samp{$} can be used +*** 442,469 **** + @cindex register names, ARM + *TODO* Explain about ARM register naming, and the predefined names. + +- @node ARM-Neon-Alignment +- @subsection NEON Alignment Specifiers +- +- @cindex alignment for NEON instructions +- Some NEON load/store instructions allow an optional address +- alignment qualifier. +- The ARM documentation specifies that this is indicated by +- @samp{@@ @var{align}}. However GAS already interprets +- the @samp{@@} character as a "line comment" start, +- so @samp{: @var{align}} is used instead. For example: +- +- @smallexample +- vld1.8 @{q0@}, [r0, :128] +- @end smallexample +- +- @node ARM Floating Point +- @section Floating Point +- +- @cindex floating point, ARM (@sc{ieee}) +- @cindex ARM floating point (@sc{ieee}) +- The ARM family uses @sc{ieee} floating-point numbers. +- + @node ARM-Relocations + @subsection ARM relocation generation + +--- 442,447 ---- +*************** respectively. For example to load the 3 +*** 510,515 **** +--- 488,515 ---- + MOVT r0, #:upper16:foo + @end smallexample + ++ @node ARM-Neon-Alignment ++ @subsection NEON Alignment Specifiers ++ ++ @cindex alignment for NEON instructions ++ Some NEON load/store instructions allow an optional address ++ alignment qualifier. ++ The ARM documentation specifies that this is indicated by ++ @samp{@@ @var{align}}. However GAS already interprets ++ the @samp{@@} character as a "line comment" start, ++ so @samp{: @var{align}} is used instead. For example: ++ ++ @smallexample ++ vld1.8 @{q0@}, [r0, :128] ++ @end smallexample ++ ++ @node ARM Floating Point ++ @section Floating Point ++ ++ @cindex floating point, ARM (@sc{ieee}) ++ @cindex ARM floating point (@sc{ieee}) ++ The ARM family uses @sc{ieee} floating-point numbers. ++ + @node ARM Directives + @section ARM Machine Directives + +diff -rcp ../orig.binutils-2.23.51.0.1/gas/doc/c-mips.texi gas/doc/c-mips.texi +*** ../orig.binutils-2.23.51.0.1/gas/doc/c-mips.texi 2013-09-09 13:00:50.399342645 +0100 +--- gas/doc/c-mips.texi 2013-09-09 13:38:59.834406109 +0100 +*************** the @samp{mad} and @samp{madu} instructi +*** 234,240 **** + instructions around accesses to the @samp{HI} and @samp{LO} registers. + @samp{-no-m4650} turns off this option. + +! @itemx -m3900 + @itemx -no-m3900 + @itemx -m4100 + @itemx -no-m4100 +--- 234,240 ---- + instructions around accesses to the @samp{HI} and @samp{LO} registers. + @samp{-no-m4650} turns off this option. + +! @item -m3900 + @itemx -no-m3900 + @itemx -m4100 + @itemx -no-m4100 +diff -rcp ../orig.binutils-2.23.51.0.1/gas/doc/c-score.texi gas/doc/c-score.texi +*** ../orig.binutils-2.23.51.0.1/gas/doc/c-score.texi 2013-09-09 13:00:50.336342643 +0100 +--- gas/doc/c-score.texi 2013-09-09 13:39:18.698406632 +0100 +*************** implicitly with the @code{gp} register. +*** 37,43 **** + @item -EB + Assemble code for a big-endian cpu + +! @itemx -EL + Assemble code for a little-endian cpu + + @item -FIXDD +--- 37,43 ---- + @item -EB + Assemble code for a big-endian cpu + +! @item -EL + Assemble code for a little-endian cpu + + @item -FIXDD +*************** Assemble code for no warning message for +*** 49,61 **** + @item -SCORE5 + Assemble code for target is SCORE5 + +! @itemx -SCORE5U + Assemble code for target is SCORE5U + +! @itemx -SCORE7 + Assemble code for target is SCORE7, this is default setting + +! @itemx -SCORE3 + Assemble code for target is SCORE3 + + @item -march=score7 +--- 49,61 ---- + @item -SCORE5 + Assemble code for target is SCORE5 + +! @item -SCORE5U + Assemble code for target is SCORE5U + +! @item -SCORE7 + Assemble code for target is SCORE7, this is default setting + +! @item -SCORE3 + Assemble code for target is SCORE3 + + @item -march=score7 +diff -rcp ../orig.binutils-2.23.51.0.1/gas/doc/c-tic54x.texi gas/doc/c-tic54x.texi +*** ../orig.binutils-2.23.51.0.1/gas/doc/c-tic54x.texi 2013-09-09 13:00:50.336342643 +0100 +--- gas/doc/c-tic54x.texi 2013-09-09 13:40:26.669408516 +0100 +*************** In this example, x is replaced with SYM2 +*** 109,115 **** + is replaced with x. At this point, x has already been encountered + and the substitution stops. + +! @smallexample @code + .asg "x",SYM1 + .asg "SYM1",SYM2 + .asg "SYM2",x +--- 109,115 ---- + is replaced with x. At this point, x has already been encountered + and the substitution stops. + +! @smallexample + .asg "x",SYM1 + .asg "SYM1",SYM2 + .asg "SYM2",x +*************** Substitution may be forced in situations +*** 126,139 **** + ambiguous by placing colons on either side of the subsym. The following + code: + +! @smallexample @code + .eval "10",x + LAB:X: add #x, a + @end smallexample + + When assembled becomes: + +! @smallexample @code + LAB10 add #10, a + @end smallexample + +--- 126,139 ---- + ambiguous by placing colons on either side of the subsym. The following + code: + +! @smallexample + .eval "10",x + LAB:X: add #x, a + @end smallexample + + When assembled becomes: + +! @smallexample + LAB10 add #10, a + @end smallexample + +*************** The @code{LDX} pseudo-op is provided for +*** 309,315 **** + of a label or address. For example, if an address @code{_label} resides + in extended program memory, the value of @code{_label} may be loaded as + follows: +! @smallexample @code + ldx #_label,16,a ; loads extended bits of _label + or #_label,a ; loads lower 16 bits of _label + bacc a ; full address is in accumulator A +--- 309,315 ---- + of a label or address. For example, if an address @code{_label} resides + in extended program memory, the value of @code{_label} may be loaded as + follows: +! @smallexample + ldx #_label,16,a ; loads extended bits of _label + or #_label,a ; loads lower 16 bits of _label + bacc a ; full address is in accumulator A +*************** Assign @var{name} the string @var{string +*** 345,351 **** + performed on @var{string} before assignment. + + @cindex @code{eval} directive, TIC54X +! @itemx .eval @var{string}, @var{name} + Evaluate the contents of string @var{string} and assign the result as a + string to the subsym @var{name}. String replacement is performed on + @var{string} before assignment. +--- 345,351 ---- + performed on @var{string} before assignment. + + @cindex @code{eval} directive, TIC54X +! @item .eval @var{string}, @var{name} + Evaluate the contents of string @var{string} and assign the result as a + string to the subsym @var{name}. String replacement is performed on + @var{string} before assignment. diff --git a/binutils.spec b/binutils.spec index 026b7f6..2618b51 100644 --- a/binutils.spec +++ b/binutils.spec @@ -17,7 +17,7 @@ Summary: A GNU collection of binary utilities Name: %{?cross}binutils%{?_with_debug:-debug} Version: 2.23.51.0.1 -Release: 10%{?dist} +Release: 11%{?dist} License: GPLv3+ Group: Development/Tools URL: http://sources.redhat.com/binutils @@ -53,6 +53,10 @@ Patch16: binutils-2.23.51.0.1-readelf-corrupt-ar.patch Patch17: binutils-2.23.51.0.1-ppc64-stub-lookup.patch # Add support to BFD library for debug information held in alternate files. Patch18: binutils-2.23.51.0.1-dwz-alt-debuginfo.patch +# Make readelf flush stdout before emitting an error or warning message. +Patch19: binutils-2.23.51.0.1-readelf-flush-stdout.patch +# Fix problems compiling docs using texinfo v5. +Patch20: binutils-2.23.51.0.1-texinfo-5-fixes.patch %define gold_arches %ix86 x86_64 @@ -164,6 +168,8 @@ using libelf instead of BFD. %patch16 -p0 -b .corrupt-ar~ %patch17 -p0 -b .stub-lookup~ %patch18 -p0 -b .dwz~ +%patch19 -p0 -b .flush~ +%patch20 -p0 -b .texinfo~ # We cannot run autotools as there is an exact requirement of autoconf-2.59. @@ -462,6 +468,10 @@ exit 0 %endif # %{isnative} %changelog +* Mon Sep 09 2013 Nick Clifton - 2.23.52.0.1-11 +- Make readelf flush stdout before emitting an error or warning message. (#1005182) +- Fix problems building docs using texinfo version 5. + * Mon Jun 10 2013 Nick Clifton - 2.23.52.0.1-10 - Add support for the alternative debuging files generated by the DWZ program. (#965255) @@ -474,7 +484,7 @@ exit 0 * Mon Feb 4 2013 Nick Clifton 2.23.51.0.1-7 - Don't error when elf_gc_sweep_symbol clears def_regular. (#906273) -* Fri Jan 24 2013 Nick Clifton 2.23.51.0.1-6 +* Fri Jan 25 2013 Nick Clifton 2.23.51.0.1-6 - Allow more whitespace in ARM instructions. (#892261) * Wed Nov 7 2012 Jeff Law 2.23.51.0.1-5 @@ -505,10 +515,10 @@ exit 0 * Thu Jul 05 2012 Nick Clifton - 2.22.52.0.4-5 - Catch attempts to create a broken symbol index with archives > 4Gb in size. (#835957) -* Fri Jun 30 2012 Nick Clifton - 2.22.52.0.4-4 +* Fri Jun 29 2012 Nick Clifton - 2.22.52.0.4-4 - Import fix for ld/14189. (#829311) -* Fri Jun 30 2012 Nick Clifton - 2.22.52.0.4-3 +* Fri Jun 29 2012 Nick Clifton - 2.22.52.0.4-3 - Fix handling of archives > 4Gb in size by importing patch for PR binutils/14302. (#835957) * Tue Jun 19 2012 Jakub Jelinek - 2.22.52.0.4-2 @@ -536,7 +546,7 @@ exit 0 * Fri Mar 16 2012 Jakub Jelinek - 2.22.52.0.1-10 - Fix up handling of hidden ifunc relocs on i?86 -* Wed Mar 13 2012 Jeff Law - 2.22.52.0.1-9 +* Wed Mar 14 2012 Jeff Law - 2.22.52.0.1-9 - Fix c++filt docs (2nd instance) (#797752) * Wed Mar 07 2012 Jakub Jelinek - 2.22.52.0.1-8 @@ -551,7 +561,7 @@ exit 0 * Mon Feb 27 2012 Jeff Law - 2.22.52.0.1-6 - Fix c++filt docs (#797752) -* Wed Feb 14 2012 Mark Wielaard - 2.22.52.0.1-5 +* Wed Feb 15 2012 Mark Wielaard - 2.22.52.0.1-5 - Add upstream ld/13621 'dangling global hidden symbol in symtab' patch. * Wed Feb 08 2012 Adam Williamson - 2.22.52.0.1-4 @@ -582,7 +592,7 @@ exit 0 * Fri Sep 30 2011 Ricky Zhou - 2.21.53.0.2-2 - Rebuild libopcodes.a with -fPIC. -* Tue Aug 08 2011 Nick Clifton - 2.21.53.0.2-1 +* Tue Aug 09 2011 Nick Clifton - 2.21.53.0.2-1 - Rebase on 2.21.53.0.2 tarball. Delete unneeded patches. (BZ 728677) * Tue Aug 02 2011 Nick Clifton - 2.21.53.0.1-3 @@ -609,7 +619,7 @@ exit 0 * Thu Jun 09 2011 Nick Clifton - 2.21.52.0.1-1 - Rebase on 2.21.52.0.1 tarball. (BZ 712025) -* Tue May 19 2011 Nick Clifton - 2.21.51.0.9-1 +* Tue May 17 2011 Nick Clifton - 2.21.51.0.9-1 - Rebase on 2.21.51.0.9 tarball. (BZ 703105) * Mon May 2 2011 Peter Robinson - 2.21.51.0.8-3 @@ -644,7 +654,7 @@ exit 0 - Delete redundant patches. - Fix gold+ld configure command line option. -* Fri Nov 4 2010 Dan Horák - 2.20.51.0.12-2 +* Fri Nov 5 2010 Dan Horák - 2.20.51.0.12-2 - "no" is not valid option for --enable-gold * Thu Oct 28 2010 Nick Clifton - 2.20.51.0.12-1 @@ -1164,18 +1174,18 @@ exit 0 - fix -z relro to make sure end of PT_GNU_RELRO segment is always COMMONPAGESIZE aligned -* Wed Aug 16 2004 Jakub Jelinek 2.15.91.0.2-8 +* Wed Aug 18 2004 Jakub Jelinek 2.15.91.0.2-8 - fix linker segfaults on input objects with SHF_LINK_ORDER with incorrect sh_link (H.J.Lu, Nick Clifton, #130198, BZ #290) -* Wed Aug 16 2004 Jakub Jelinek 2.15.91.0.2-7 +* Wed Aug 18 2004 Jakub Jelinek 2.15.91.0.2-7 - resolve all undefined ppc64 .* syms to the function bodies through .opd, not just those used in brach instructions (Alan Modra) -* Tue Aug 16 2004 Jakub Jelinek 2.15.91.0.2-6 +* Tue Aug 17 2004 Jakub Jelinek 2.15.91.0.2-6 - fix ppc64 ld --dotsyms (Alan Modra) -* Tue Aug 16 2004 Jakub Jelinek 2.15.91.0.2-5 +* Tue Aug 17 2004 Jakub Jelinek 2.15.91.0.2-5 - various ppc64 make check fixes when using non-dot-syms gcc (Alan Modra) - fix --gc-sections - on ia64 create empty .gnu.linkonce.ia64unw*.* sections for