Updated binutils packages that fix several bugs are now available for Red Hat Enterprise Linux 5.
The binutils packages are a collection of programming tools for the manipulation of object code in various object file formats.
- Due to instability in calculating the program header size, the GNU linker could terminate unexpectedly with a "looping in map_segments" error message. With this update, the linker has been modified to properly handle changes in the size of the segment map, which prevents the instability, and the linker no longer crashes in this scenario.
- Previously, the PowerPC linker made assumptions about the order of instructions and relocations. Those assumptions were not correct for code compiled with GNU Compiler Collection version 4.1 (GCC-4.1). As a result, the linker could trigger an internal error during optimization of TLS sequences. Now, the linker code to optimize TLS has been modified to not attempt to optimize TLS sequences which do not meet its assumptions about code and relocation ordering. Therefore, the linker no longer triggers an internal error when optimizing TLS sequences.
- The PowerPC linker did not verify whether certain pointers were validly non-NULL prior to dereferencing those pointers. As a result, under certain circumstances, the PowerPC linker could encounter a segmentation fault or a bus error. With this update, the PowerPC linker code has been changed to properly check for NULL pointers and take appropriate action, and links no longer experience segmentation faults or bus errors.
Users of binutils are advised to upgrade to these updated packages, which fix these bugs.