1.12. binutils
1.12.1. RHBA-2010:0304: bug fix update
Updated binutils packages that fix various bugs are now available.
Binutils is a collection of binary utilities, including ar (for creating, modifying and extracting from archives), as (a family of GNU assemblers), gprof (for displaying call graph profile data), ld (the GNU linker), nm (for listing symbols from object files), objcopy (for copying and translating object files), objdump (for displaying information from object files), ranlib (for generating an index for the contents of an archive), readelf (for displaying detailed information about binary files), size (for listing the section sizes of an object or archive file), strings (for listing printable strings from files), strip (for discarding symbols), and addr2line (for converting addresses to file and line).
These updated binutils packages provide fixes for the following bugs:
* The readelf debugging utility was placing subject error messages in the middle of the .debug_str in the stderr output. This meant that location lists in the .debug._info section that were not in ascending order could not be handled correctly and the debugger could pick the wrong function, leading to dropped debug information. A patch has now been added and, as a result, the location lists can now be handled correctly, irrespective of order. As a result, the debugger now picks the right function when looking up symbols and debug information is no longer dropped. (BZ#499164,
* The strings command was not parsing files correctly. When used with a multi-digit <NUM> argument (such as strings -10 filename.txt) an "invalid integer argument" error would occur because it regarded each numeral as a separate argument. The parsing has now been corrected via a patch to strings.c.multidigit_input so that multi-digit numerals are regarded as parts of a single argument. As a result, files are now parsed correctly. (BZ#508765)
* There was a regression in binutils-devel that caused it to build "oprofile" files incorrectly. As a result, bfd_get_section_by_name() returned incorrect information about the debuginfo section and an "opreport" error would occur. The bfd.h header's API has now been fixed to match the BFD library's ABI. As a result, the per-symbol profile is now generated correctly and the opreport runs without error. (BZ#529028)
* There was a link failure whereby when a symbol in a comdat/linkonce section had a different level of visibility in different files, the linker could not merge the visibility. As a consequence, after the ld command was run, a "final link failed: Bad value" error would occur. A patch has been added to elflink.c.sym_visibility to make sure that the visibility is kept. As a result, ld now can now merge different levels of visibility without error. (BZ#531269)
Users are advised to upgrade to these updated binutils packages, which resolve these issues.