Update on the release note for binutils 2.10.1.0.7
H . J . Lu
hjl@valinux.com
Thu Feb 8 11:25:00 GMT 2001
It has been brought to my attention that the new linker may affect
the Linux kernel build. Now you need to use
# ld --oformat TARGET
instead of
# ld -oformat TARGET
BTW
# ld --oformat TARGET
should work with all previous releases of binutils.
--
H.J. Lu (hjl@valinux.com)
---
This is the beta release of binutils 2.10.1.0.7 for Linux, which is
based on binutils 2001 0206 in CVS on sourecware.cygnus.com plus
various changes. It is purely for Linux, although it has been tested
on Solaris/Sparc and Solaris/x86 from time to time.
I am planning to make the public release soon. Please test it as much
as you can.
Please report any bugs related to binutils 2.10.1.0.7 to hjl@lucon.org.
For arm-linux targets, there are some important differences in behaviour
between these tools and binutils 2.9.1.0.x. The linker emulation name has
changed from elf32arm{26} to armelf_linux{26}. Also, the "-p" flag must be
passed with the linker when working with object files (or static libraries)
created using older versions of the assembler. If this flag is omitted the
linker will silently generate bad output when given old input files.
To get the correct behaviour from gcc, amend the *link section of your specs
file as follows:
*link:
%{h*} %{version:-v} %{b} %{Wl,*:%*} %{static:-Bstatic} %{shared:-shared} %{symbolic:-Bsymbolic} %{rdynamic:-export-dynamic} %{!dynamic-linker: -dynamic-linker /lib/ld-linux.so.2} -X %{mbig-endian:-EB} %{mapcs-26:-m armelf_linux26} %{!mapcs-26:-m armelf_linux} -p
Changes from binutils 2.10.1.0.4:
1. Update from binutils 2001 0206.
2. Enable the IA64 support.
3. Now you need to use
# ld --oformat TARGET
instead of
# ld -oformat TARGET
The Linux kernel build may be affected. BTW
# ld --oformat TARGET
should work with all previous releases of binutils.
Changes from binutils 2.10.1.0.2:
1. Update from binutils 2000 1221.
Changes from binutils 2.10.0.33:
1. Update from binutils 2000 1119.
2. It has some symbol versioning related updates.
Changes from binutils 2.10.0.32:
1. Update from binutils 2000 1018.
2. A proper ELF/PPC visibility fix.
3. m68k-a.out is supposed to be fixed.
Changes from binutils 2.10.0.31:
1. Update from binutils 2000 1014.
2. An ELF/PPC weak symbol bug fix.
3. A new linkonce section name approach.
4. m68k-a.out is still broken. To be fixed.
Changes from binutils 2.10.0.29:
1. Update from binutils 2000 1011.
2. Back out the linkonce section name change so that C++ will work.
A different approach is being worked on.
3. m68k-a.out is known to be broken. To be fixed.
Changes from binutils 2.10.0.26:
1. Update from binutils 2000 1008.
Changes from binutils 2.10.0.24:
1. Update from binutils 2000 0907.
Changes from binutils 2.10.0.18:
1. Update from binutils 2000 0823. Fix DT_RPATH/DT_RUNPATH handling.
Fix the ELF/ia32 DSO not compiled with PIC.
2. Try to fix the ELF visibility bug on PPC with glibc 2.2.
Changes from binutils 2.10.0.12:
1. Update from binutils 2000 0720.
2. Fix the DT_NEEDED link bug.
3. Add the new DT_XXXX dynamic tags. Glibc 2.2 will use them at least
on libpthread.so.
Changes from binutils 2.10.0.9:
1. Update from binutils 2000 0701. Fix the parallel build in ld when PE
is enabled.
Changes from binutils 2.9.5.0.46:
1. Update from binutils 2000 0617. The demangler support for the new
g++ ABI. Minor fix for the ELF visibility. Fix linking non-ELF
relocatable object files under ELF with symbol versioning.
2. Support for linking PE relocatable object files under ia32/ELF.
Changes from binutils 2.9.5.0.42:
1. Update from binutils 2000 0604. The ELF visibility attribuite should
work correctly now.
2. The ia32 assembler has changed the way it assembles the "jmp"
instructions to the global symbols. The old assembler will optimize the
jump to the global symbol defined in the same source file so that no
relocation will be used. The new assembler will use relocation for
global jumps. It will mainly affect PIC asm code. The segment like
.globl __setjmp
__setjmp:
...
jmp __sigsetjmp
...
.globl __sigsetjmp
__sigsetjmp:
is no longer PIC safe since "jmp __sigsetjmp" jumps to a global symbol
and relocation will be used. Instead, it can be changed to
.globl __setjmp
__setjmp:
...
jmp sigsetjmp
...
.globl __sigsetjmp
__sigsetjmp:
sigsetjmp:
so that "jmp sigsetjmp" jumps to a local symbol and the new assembler
will optimize out the relocation.
Changes from binutils 2.9.5.0.41:
1. Update from binutils 2000 0512.
2. Add testsuite for ELF visibility.
Changes from binutils 2.9.5.0.37:
1. Update from binutils 2000 0502.
2. Support STV_HIDDEN and STV_INTERNAL.
Changes from binutils 2.9.5.0.35:
1. Update from binutils 2000 0418.
2. Fix an ld demangle style option bug.
Changes from binutils 2.9.5.0.34:
1. Update from binutils 2000 0412. Fix a relocation bug which affects
the Linux kernel compilation.
2. An ELF/PPC linker script update.
Changes from binutils 2.9.5.0.33:
1. Update from binutils 2000 0404. Fix the bug report bug.
Changes from binutils 2.9.5.0.32:
1. Update from binutils 2000 0403. Fix the 16bit ia32 assembler bug.
Changes from binutils 2.9.5.0.31:
1. Update from binutils 2000 0331. Fix the Linux/ARM assembler bug.
2. Fix a Debian assembler security bug.
Changes from binutils 2.9.5.0.29:
1. Update from binutils 2000 0319.
2. An ELF/alpha bug is fixed.
Changes from binutils 2.9.5.0.27:
1. Update from binutils 2000 0301.
2. A demangler bug is fixed.
3. A better fix for undefined symbols with -Bsymbolic when building
shared library.
Changes from binutils 2.9.5.0.24:
1. Update from binutils 2000 0204.
2. Added -taso to linker on alpha.
3. Fixed a -shared -Bsymbolic bug when PIC is not used.
Changes from binutils 2.9.5.0.22:
1. Update from binutils 2000 0113.
2. A symbol version bug is fixed.
3. A -Bsymbolic bug is fixed.
Changes from binutils 2.9.5.0.21:
1. Update from binutils 1999 1202.
2. Remove a MIPS/ELF change.
3. Enable SOM for HPPA.
Changes from binutils 2.9.5.0.19:
1. Update from binutils 1999 1122. An ia32 gas bug is fixed.
Changes from binutils 2.9.5.0.16:
1. Update from binutils 1999 1104.
2. i370 is changed to use EM_S370 and ELFOSABI_LINUX. Update readelf.
3. Fix Compaq's demangler support.
Changes from binutils 2.9.5.0.14:
1. Update from binutils 1999 1012. A gas bug which affects Linux 2.3.21
is fixed.
2. i370 update.
3. The new demangler code. You should use "--style=xxx" to select the
demnangle style instead of "--lang=xxx".
Changes from binutils 2.9.5.0.13:
1. Update from binutils 1999 0925.
2. Fix a -s and linker script bug.
Changes from binutils 2.9.5.0.12:
1. Update from binutils 1999 0922.
2. i370 update.
Changes from binutils 2.9.5.0.11:
1. Update from binutils 1999 0910. It fixed a PIC linker bug on ix86
and sparc introduced in the last release.
2. i370 update.
Changes from binutils 2.9.5.0.10:
1. Update from binutils 1999 0906. It fixed a PIC linker bug on ix86
and sparc.
2. Remove elf/hppa since it is WIP.
Changes from binutils 2.9.5.0.8:
1. Update from binutils 1999 0831. It allows spaces around '(' and ')'
in x86 FP register names.
Changes from binutils 2.9.5.0.7:
1. Update from binutils 1999 0821.
2. Some MIPS changes.
Changes from binutils 2.9.5.0.6:
1. Update from binutils 1999 0813.
2. i370 update.
Changes from binutils 2.9.5.0.5:
1. Update from binutils 1999 0809. An ELF/Sparc ld bug is fixed.
Changes from binutils 2.9.5.0.4:
1. Update from binutils 1999 0806. A Solaris/Sparc gas bug is fixed.
2. Remove mips gas patches from binutils 2.9.1.0.25.
Changes from binutils 2.9.5.0.3:
1. Update from binutils 1999 0801.
2. Support for real mode x86 gcc.
Changes from binutils 2.9.4.0.8:
1. Update from binutils 1999 0719. A libc 5 related bug fix.
2. Fix a typo in mips gas.
Changes from binutils 2.9.4.0.7:
1. Update from binutils 1999 0710. A weak symbol bug
http://egcs.cygnus.com/ml/egcs-bugs/1999-07/msg00129.html
is fixed.
Changes from binutils 2.9.4.0.6:
1. Update from binutils 1999 0626.
Changes from binutils 2.9.4.0.5:
1. Update from binutils 1999 0620.
2. Remove my fwait fix and use the one in cvs.
3. Use "--only-section=section" instead of "--extract-section=section".
for objcopy.
Changes from binutils 2.9.4.0.4:
1. Update from binutils 1999 0612.
2. Remove various temporary fixes of mine since those bugs are fixed
now.
Changes from binutils 2.9.4.0.3:
1. Update from binutils 1999 0611.
2. Remove my ELF/Alpha bfd changes.
3. Use the local symbol copy fix in binutils 1999 0611.
Changes from binutils 2.9.4.0.2:
1. Update from binutils 1999 0607.
2. Remove my Sparc hacks.
3. Fix local symbol copy.
Changes from binutils 2.9.4.0.1:
1. Update from binutils 1999 0606.
2. Restore relocation overflow checking in binutils 2.9.1.0.25 so that
Linux kernel can build.
3. Fix i370 for the new gas.
Changes from binutils 1999 0605:
1. Fix a -Bsymbolic bug for Linux/alpha.
2. Add ELF/i370.
3. Fix 8/16-bit relocations for i386.
4. Add --redefine-sym=old_form=new_form to objcopy.
5. Add "-j section" for objcopy.
6. Fix i386 disassembler for fwait.
7. Fix a Sparc asm bug.
8. Add Ada demangle support.
9. Fix MIPS/ELF bugs.
10. Add some vxworks suppport.
11. Fix a.out assembler.
The file list:
1. binutils-2.10.1.0.7.tar.gz. Source code.
2. binutils-2.10.1.0.4-2.10.1.0.7.diff.gz. Patch against the previous
beta source code.
3. binutils-2.10.1.0.7-1.i386.rpm. IA-32 binary RPM for RedHat 7.0.
There is no separate source rpm. You can do
# rpm -ta binutils-2.10.1.0.7.tar.gz
to create both binary and source rpms.
The primary sites for the beta Linux binutils are:
1. http://ftp.valinux.com/pub/support/hjl/binutils/
Thanks.
H.J. Lu
hjl@lucon.org
02/07/2001
More information about the Libc-alpha
mailing list