diff options
Diffstat (limited to 'source/d/binutils')
-rw-r--r-- | source/d/binutils/binutils-2.20.51.0.8.tar.sign | 8 | ||||
-rw-r--r-- | source/d/binutils/binutils-2.21.51.0.6.tar.sign | 8 | ||||
-rwxr-xr-x | source/d/binutils/binutils.SlackBuild | 32 | ||||
-rw-r--r-- | source/d/binutils/release.binutils-2.20.51.0.8 | 491 | ||||
-rw-r--r-- | source/d/binutils/release.binutils-2.21.51.0.6 | 257 |
5 files changed, 296 insertions, 500 deletions
diff --git a/source/d/binutils/binutils-2.20.51.0.8.tar.sign b/source/d/binutils/binutils-2.20.51.0.8.tar.sign deleted file mode 100644 index 32143426..00000000 --- a/source/d/binutils/binutils-2.20.51.0.8.tar.sign +++ /dev/null @@ -1,8 +0,0 @@ ------BEGIN PGP SIGNATURE----- -Version: GnuPG v1.4.9 (GNU/Linux) -Comment: See http://www.kernel.org/signature.html for info - -iD8DBQBLxPBQyGugalF9Dw4RAq+mAKCJbsksL4Hlb/tH9dL7kTbFE/BO8QCfXStv -0oOljJ/jyU8Z8SlaEywyfys= -=qMqR ------END PGP SIGNATURE----- diff --git a/source/d/binutils/binutils-2.21.51.0.6.tar.sign b/source/d/binutils/binutils-2.21.51.0.6.tar.sign new file mode 100644 index 00000000..f5824788 --- /dev/null +++ b/source/d/binutils/binutils-2.21.51.0.6.tar.sign @@ -0,0 +1,8 @@ +-----BEGIN PGP SIGNATURE----- +Version: GnuPG v1.4.11 (GNU/Linux) +Comment: See http://www.kernel.org/signature.html for info + +iD8DBQBNNlEFyGugalF9Dw4RAiCTAJ4iU8QPmGnj/bIA+qXwpNK926m3ywCeMEGE ++3QFy1J7SclHy+sNNX0unSA= +=OHU3 +-----END PGP SIGNATURE----- diff --git a/source/d/binutils/binutils.SlackBuild b/source/d/binutils/binutils.SlackBuild index b0ffefb6..a5616ea2 100755 --- a/source/d/binutils/binutils.SlackBuild +++ b/source/d/binutils/binutils.SlackBuild @@ -37,8 +37,27 @@ fi NUMJOBS=${NUMJOBS:-" -j7 "} +# Uncomment this to include the experimental gold linker: +GOLD=" --enable-gold=yes --enable-ld=default " + +# Set to ld.gold or ld.bfd: +DEFAULT_LD=ld.bfd + +# The --enable-initfini-array option was added in binutils-2.21.51.0.3. +# This option currently causes a world of hurt trying to compile glibc, +# and might break static libraries or cause other ill effects. There +# is an upstream patch for glibc but it does not avoid all of the known +# problems (and there may be some unknown ones, too), so we will avoid +# introducing this feature for now. +# References: +# http://sourceware.org/bugzilla/show_bug.cgi?id=12343 +# http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46770 +NO_INITFINI=" --disable-initfini-array " + if [ "$ARCH" = "i486" ]; then SLKCFLAGS="-O2 -march=i486 -mtune=i686" + # The config option below is currently needed to compile on x86: + WERROR="--enable-werror=no" LIBDIRSUFFIX="" elif [ "$ARCH" = "s390" ]; then SLKCFLAGS="-O2" @@ -78,7 +97,12 @@ CFLAGS="$SLKCFLAGS" \ --enable-shared \ --enable-multilib \ --enable-64-bit-bfd \ + --enable-plugins \ + --enable-threads \ --enable-targets=$ARCH-slackware-linux \ + $GOLD \ + $NO_INITFINI \ + $WERROR \ --build=$ARCH-slackware-linux \ || exit 1 @@ -97,13 +121,19 @@ cp -a include/libiberty.h $PKG/usr/include/libiberty.h mv $PKG/usr/${ARCH}-slackware-linux/lib/ldscripts $PKG/usr/lib${LIBDIRSUFFIX} ( cd $PKG/usr/${ARCH}-slackware-linux ln -s /usr/lib${LIBDIRSUFFIX}/ldscripts lib/ldscripts - for FILE in ar as ld nm objcopy objdump ranlib strip ; do + for FILE in ar as ld ld.bfd ld.gold nm objcopy objdump ranlib strip ; do if [ -r "/usr/bin/$FILE" ]; then rm -f bin/$FILE ln -s /usr/bin/$FILE bin/$FILE fi done ) + +# If the requested default linker is present, make it the default: +# Set the link differently on the system to change the default at runtime. +if [ -r $PKG/usr/bin/$DEFAULT_LD ]; then + ( cd $PKG/usr/bin ; rm -f ld ; ln -sf $DEFAULT_LD ld ) +fi find $PKG | xargs file | grep -e "executable" -e "shared object" \ | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null diff --git a/source/d/binutils/release.binutils-2.20.51.0.8 b/source/d/binutils/release.binutils-2.20.51.0.8 deleted file mode 100644 index d3d2bd8a..00000000 --- a/source/d/binutils/release.binutils-2.20.51.0.8 +++ /dev/null @@ -1,491 +0,0 @@ -This is the beta release of binutils 2.20.51.0.8 for Linux, which is -based on binutils 2010 0412 in CVS on sourceware.org plus various -changes. It is purely for Linux. - -All relevant patches in patches have been applied to the source tree. -You can take a look at patches/README to see what have been applied and -in what order they have been applied. - -Starting from the 2.20.51.0.4 release, no diffs against the previous -release will be provided. - -You can enable both gold and bfd ld with --enable-gold=both. Gold will -be installed as ld.gold and bfd ld will be installed as ld.bfd. By -default, ld.gold will be installed as ld. You can use the configure -option, --enable-gold=both/bfd to choose bfd ld as the default linker, -ld. IA-32 binary and X64_64 binary tar balls are configured with ---enable-gold=both/bfd --enable-plugins --enable-threads. - -Starting from the 2.18.50.0.4 release, the x86 assembler no longer -accepts - - fnstsw %eax - -fnstsw stores 16bit into %ax and the upper 16bit of %eax is unchanged. -Please use - - fnstsw %ax - -Starting from the 2.17.50.0.4 release, the default output section LMA -(load memory address) has changed for allocatable sections from being -equal to VMA (virtual memory address), to keeping the difference between -LMA and VMA the same as the previous output section in the same region. - -For - -.data.init_task : { *(.data.init_task) } - -LMA of .data.init_task section is equal to its VMA with the old linker. -With the new linker, it depends on the previous output section. You -can use - -.data.init_task : AT (ADDR(.data.init_task)) { *(.data.init_task) } - -to ensure that LMA of .data.init_task section is always equal to its -VMA. The linker script in the older 2.6 x86-64 kernel depends on the -old behavior. You can add AT (ADDR(section)) to force LMA of -.data.init_task section equal to its VMA. It will work with both old -and new linkers. The x86-64 kernel linker script in kernel 2.6.13 and -above is OK. - -The new x86_64 assembler no longer accepts - - monitor %eax,%ecx,%edx - -You should use - - monitor %rax,%ecx,%edx - -or - monitor - -which works with both old and new x86_64 assemblers. They should -generate the same opcode. - -The new i386/x86_64 assemblers no longer accept instructions for moving -between a segment register and a 32bit memory location, i.e., - - movl (%eax),%ds - movl %ds,(%eax) - -To generate instructions for moving between a segment register and a -16bit memory location without the 16bit operand size prefix, 0x66, - - mov (%eax),%ds - mov %ds,(%eax) - -should be used. It will work with both new and old assemblers. The -assembler starting from 2.16.90.0.1 will also support - - movw (%eax),%ds - movw %ds,(%eax) - -without the 0x66 prefix. Patches for 2.4 and 2.6 Linux kernels are -available at - -http://www.kernel.org/pub/linux/devel/binutils/linux-2.4-seg-4.patch -http://www.kernel.org/pub/linux/devel/binutils/linux-2.6-seg-5.patch - -The ia64 assembler is now defaulted to tune for Itanium 2 processors. -To build a kernel for Itanium 1 processors, you will need to add - -ifeq ($(CONFIG_ITANIUM),y) - CFLAGS += -Wa,-mtune=itanium1 - AFLAGS += -Wa,-mtune=itanium1 -endif - -to arch/ia64/Makefile in your kernel source tree. - -Please report any bugs related to binutils 2.20.51.0.8 to -hjl.tools@gmail.com - -and - -http://www.sourceware.org/bugzilla/ - -Changes from binutils 2.20.51.0.7: - -1. Update from binutils 2010 0412. -2. Don't bind unique symbol locally. PR 11434. -3. Add DWARF 4 support to linker and readelf. -4. Fix --no-export-dynamic for PIE. PR 11413. -5. Speed up x86 assembler. -6. Use memmove instead of memcpy to copy overlap memory in assembler. -PR 11456. -7. Improve gold. -8. Improve VMS support. -9. Improve PE support. -10. Add TI C6X support. -11. Improve arm support. -12. Improve cris support. -13. Improve ppc support. - -Changes from binutils 2.20.51.0.6: - -1. Update from binutils 2010 0318. -2. Don't set ELFOSABI_LINUX for undefined STT_GNU_IFUNC symbols. -3. Improve x86 assembler error messages. -4. Support vpermilp[ds] for x86. -5. Fix strip for group sections. -6. Fix objcopy for PE PIE. PR 11396. -7. Avoid 32bit overflow in linker. -8. Correct backslash quote logic in assembler. PR 11356. -9. Improve linker --section-start support. PR 11304. -10. Properly update LMA. PR 11219. -11. Don't combine .init_array/.fini_array sections for relocatable link. -12. Add Solaris Sparc/x86 linker support. -13. Support dumping .ARM.exidx/.ARM.extab. -14. Add STT_GNU_IFUNC support for Sparc. -15. Improve gold. -16. Improve arm support. -17. Improve avr support. -18. Improve mips support. -19. Improve ppc support. -20. Improve xtensa support. - -Changes from binutils 2.20.51.0.5: - -1. Update from binutils 2010 0205. -2. Support x86 XSAVE extended state core dump. -3. Add an option, -mavxscalar=, to x86 assembler to encoding AVX -scalar instructions with VL=256 and update x86 disassembler. -4. Add xsave64/xrstor64 to x86 assembler/disassembler. -5. Add all the possible aliases for VPCOM* insns to x86 assembler. -5. Fix --gc-sections to detect unresolved symbol in DSO. PR 11218. -6. Support number of ELF program segments > 64K. -7. Support BSD4.4 extended archive write. -8. Report error on bad section name with "objdump -j". PR 11225. -9. Linker now checks if all files are present and indicates those missing. -PR 4437. -10. Allow adding section from empy file with objcopy. -11. Update C++ demangler to support vector. -12. Improve gold. -13. Improve arm support. -14. Improve hppa support. -15. Improve ppc support. -16. Improve s390 support. - -Changes from binutils 2.20.51.0.4: - -1. Update from binutils 2010 0115. -2. Optimize x86 assembler/disassembler. -3. Add a new program, elfedit, to edit ELF files. PR 11131. -4. Add --dyn-syms to readelf. PR 11146. -5. Remove "Warning: " from objcopy error message. PR 11130. -6. Fix linker --gc-sections with undefined __start_XXX/__stop_XXX symbols. -PR 11133. -7. Fix linker --gc-sections with SHT_NOTE section. PR 11143. -8. Fix a c++filt bug. PR 11137. -9. Fix assembler listing. PR 11122. -10. Improve gold. Change --enable-gold to --enable-gold=[both[/{gold,bfd}]]. -11. Improve arm support. -12. Improve mips support. -13. Improve ppc support. -14. Improve MacOS support. - -Changes from binutils 2.20.51.0.3: - -1. Update from binutils 2009 1214. -2. Update x86 assembler to check lockable instructions for lock prefix. -3. Update x86 disassembler to display all prefixes. -4. Support AMD XOP new instructions. -5. Fix an x86 assembler regression on Intel syntax. PR 11037. -6. Improve ia64 linker relaxation. PR 10955. -7. Add --no-relax linker option. -8. Update readelf to dump .debug_pubtype sections. -9. Improve gold: - a. Support linking against STT_GNU_IFUNC symbols defined in - shared libraries. - b. Support linking with STB_GNU_UNIQUE symbols. -10. Improve arm support. -11. Improve m68k support. -12. Improve mips support. -13. Improve ppc support. - -Changes from binutils 2.20.51.0.2: - -1. Update from binutils 2009 1109. -2. Fix "ld -s -static" with STT_GNU_IFUNC symbols. PR 10911. -3. Fix file permission on PIE with objcopy. PR 10802. -4. Fix x86 Intel syntax assembler with relocation. PR 10856. -5. Fix x86 Intel syntax assembler with far jump. PR 10740. -6. Add AMD LWP support. -7. Renamed linker option --add-needed to --copy-dt-needed-entries. -8. Support enabling both ld and gold with --enable-gold=both and ---enable-linker=[bfd,gold]. -9. Improve gold. -10. Improve arm support. -11. Improve cris support. -12. Improve hppa support. -13. Improve m68k support. -14. Improve RX support. -15. Improve spu support. -16. Improve vax support. -17. Improve MacOS support. -18. Improve Windows support. - -Changes from binutils 2.20.51.0.1: - -1. Update from binutils 2009 1009. -2. Add .cfi_sections to assembler. -3. Fix a linker bug with local dynamic symbols. PR 10630. -4. Add DWARF-3/DWARF-4 support. -5. Fix the x86 assembler PIC bug. PR 10677. -6. Fix the x86-64 displacement assembler bug. PR 10636. -7. Fix the x86 assembler bug with Intel memory syntax. PR 10637. -8. Fix the x86 PIC assembler bug with Intel syntax. PR 10704. -9. Add RX support. -10. Improve gold. -11. Improve arm support. -12. Improve bfin support. -13. Improve cr16 support. -14. Improve m68k support. -15. Improve mips support. -16. Improve ppc support. - -Changes from binutils 2.19.51.0.14: - -1. Update from binutils 2009 0905. -2. Add Intel L1OM support. -3. Add MicroBlaze support. -4. Fix assembler for DWARF info without .file/.loc directives. PR 10531. -5. Improve -pie with TLS relocations on ia32 and x86-64. PRs 6443/10434. -6. Fix linker page size support. PR 10569. -7. Fix wildcard in linker version script. PR 10518. -8. Fix strip with STB_GNU_UNIQUE. PR 10492. -9. Fix strip on unwriteable files. PR 10364. -10. Fix crash with "ld --build-id /usr/lib/libc.a". PR 10555. -11. Fix linker for Linux kernel build. PR 10429. -12. Support string merge on .comment section. -13. Improve build with C++ compiler. -14. Improve gold. -15. Improve arm support. -16. Improve bfin support. -11. Improve m32c support. -17. Improve m68k support. -18. Improve mep support. -19. Improve mips support. -20. Improve ppc support. -21. Improve spu support. -22. Improve xtensa support. - -Changes from binutils 2.19.51.0.13: - -1. Update from binutils 2009 0722. -2. Fix linker for STT_GNU_IFUNC symbols in static executables. PR 10433. -3. Fix linker bug for Linux kernel build. PR 10429. - -Changes from binutils 2.19.51.0.12: - -1. Update from binutils 2009 0721. -2. Fix linker for undefined STT_GNU_IFUNC symbols. PR 10426. -3. Fix x86 assembler for nops in 64bit. PR 10420. -4. Add a new option, --insn-width, to objdump. -5. Improve arm support. -6. Improve mips support. -7. Improve gold support. - -Changes from binutils 2.19.51.0.11: - -1. Update from binutils 2009 0716. -2. Fix x86 assembler for jumping to local STT_GNU_IFUNC symbols. -3. Fix x86 linker for relocatable link with local STT_GNU_IFUNC symbols. -4. Implement ppc STT_GNU_IFUNC support. -5. Support x86 FMA4. -6. Fix linker regression with Linux kernel build. -7. Support unordered references in DWARF reader. -8. Improve PE/COFF support. -8. Improve arm support. -9. Improve m10300 support. -10. Improve ppc support. -11. Improve spu support. -12. Improve gold support. - -Changes from binutils 2.19.51.0.10: - -1. Update from binutils 2009 0627. -2. Fix strip on static executable with STT_GNU_IFUNC symbol. PR 10337. -3. Add STB_GNU_UNIQUE support. -4. Fix objcopy on empty file. PR 10321. -5. Fix debug section for PE-COFF. -6. Suport build with gcc 4.5.0. -7. Improve arm support. -8. Improve ppc support. -9. Improve m10300 support. -10. Improve mep support. -11. Improve MacOS support. -12. Improve gold support. - -Changes from binutils 2.19.51.0.9: - -1. Update from binutils 2009 0618. -2. Update STT_GNU_IFUNC symbol support. PR 10269/10270. -3. Fix an assembler CFI bug. PR 10255. -4. Improve objdump. PR 10263/10288 -5. Improve readelf. -6. Improve arm support. -7. Improve moxie support. -8. Improve spu support. -9. Improve vax support. -10. Improve COFF/PE support. -11. Improve MacOS support. - -Changes from binutils 2.19.51.0.8: - -1. Update from binutils 2009 0606. -2. Update STT_GNU_IFUNC symbol support. - -Changes from binutils 2.19.51.0.7: - -1. Update from binutils 2009 0603. -2. Fix STT_GNU_IFUNC symbol with pointer equality. - -Changes from binutils 2.19.51.0.6: - -1. Update from binutils 2009 0601. -2. Update STT_GNU_IFUNC support. PR 10205. -3. Fix x86 asssembler Intel syntax regression with '$'. PR 10198. - -Changes from binutils 2.19.51.0.5: - -1. Update from binutils 2009 0529. -2. Rewrite STT_GNU_IFUNC, R_386_IRELATIVE and R_X86_64_IRELATIVE linker -support for STT_GNU_IFUNC symbols in shared library, dynamic executable -and static executable. -3. Add plugin support. -4. Improve spu support. - -Changes from binutils 2.19.51.0.4: - -1. Update from binutils 2009 0525. -2. Add STT_GNU_IFUNC, R_386_IRELATIVE and R_X86_64_IRELATIVE support to -assembler and linker. -3. Add LD_AS_NEEDED support to linker. -4. Remove AMD SSE5 support. -5. A new Intel syntax parser in x86 assembler. -6. Add DWARF discriminator support. -7. Add --64 support for x86 PE/COFF assembler. -8. Support common symbol with alignment for PE/COFF. -9. Improve gold support. -10. Improve arm support. -11. Improve mep support. -12. Improve mips support. -13. Improve ppc support. -14. Improve spu support. - -Changes from binutils 2.19.51.0.3: - -1. Update from binutils 2009 0418. -2. Remove EFI targets and use PEI targets for EFI. Add --file-alignment, ---heap, --image-base, --section-alignment, --stack and --subsystem command -line options for objcopy. PR 10074. -3. Update linker to warn alternate ELF machine code. -4. Fix x86 linker TLS transition. PR 9938. -5. Improve DWARF dumper to check relocations against STT_SECTION -symbol. -6. Guard DWARF dumper on bad DWARF input. -7. Add EM_ETPU and EM_SLE9X. Reserve 3 ELF machine types for Intel. -8. Adding a linker missing entry symbol warning for -pie. PR 9970. -9. Make the -e option for linker to imply -u. PR 6766. -10. Properly handle paging for PEI targets. -11. Fix assembler listing with input from stdin. -12. Update objcopy/string to generate symbol table if there is any -relocation in output. PR 9945. -13. Require texinfo 4.7 for build. PR 10039. -14. Add moxie support. -15. Improve gold support. -16. Improve AIX support. -17. Improve arm support. -18. Improve cris support. -19. Improve crx support. -20. Improve mips support. -21. Improve ppc support. -22. Improve s390 support. -23. Improve spu support. -24. Improve vax support. - -Changes from binutils 2.19.51.0.2: - -1. Update from binutils 2009 0310. -2. Fix strip on common symbols in relocatable file. PR 9933. -3. Fix --enable-targets=all build. -4. Fix ia64 build with -Wformat-security. PR 9874. -5. Add REGION_ALIAS support in linker script. -6. Add think archive support to readelf. -7. Improve DWARF support in objdump. -8. Improve alpha support. -9. Improve arm support. -10. Improve hppa support. -11. Improve m68k support. -12. Improve mips support. -13. Improve ppc support. -14. Improve xtensa support. -15. Add score 7 support. - -Changes from binutils 2.19.51.0.1: - -1. Update from binutils 2009 0204. -2. Support AVX Programming Reference (January, 2009) -3. Improve .s suffix support in x86 disassembler. -4. Add --prefix/--prefix-strip for objdump -S. PR 9784. -5. Change "ld --as-needed" to resolve undefined references in DSO. -6. Add -Ttext-segment to ld to set address of text segment. -7. Fix "ld -r --gc-sections --entry" crash with COMDAT group. PR 9727. -8. Improve linker compatibility for g++ 3.4 `.gnu.linkonce.r.*. -9. Add VMS/ia64 support. -10. Improve arm support. -11. Improve cris support. -12. Improve m68k support. -13. Improve mips support. -14. Improve spu support. - -Changes from binutils 2.19.50.0.1: - -1. Update from binutils 2009 0106. -2. Support AVX Programming Reference (December, 2008) -2. Encode AVX insns with 2byte VEX prefix if possible. -4. Add .s suffix support to swap register operands to x86 assembler. -5. Properly select NOP insns for code alignment in x86 assembler. -6. Fix 2 symbol visibility linker bugs. PRs 9676/9679. -7. Fix an ia64 linker relaxation bug. PR 7036. -8. Fix a symbol versioning bug. PR 7047. -9. Fix unitialized data in linker. PR 7028. -10. Avoid a linker crash on bad input. PR 7023. -11. Fix a linker memory leak. PR 7012. -12. Fix strip/objcopy crash on PT_GNU_RELRO. PR 7011. -13. Improve MacOS support. -14. Fix a COFF linker bug. PR 6945. -15. Add LM32 support. -16. Fix various arm bugs. -17. Fix various avr bugs. -18. Fix various CR16 bugs. -19. Fix various cris bugs. -20. Fix various m32c bugs. -21. Fix various m68k bugs. -22. Fix various mips bugs. -23. Fix various ppc bugs. -24. Fix various s390 bugs. -25. Fix various sparc bugs. -26. Fix various spu bugs. -27. Fix various xtensa bugs. - -The file list: - -1. binutils-2.20.51.0.8.tar.bz2. Source code. -2. binutils-2.20.51.0.8.i686.tar.bz2. IA-32 binary tar ball for RedHat - EL 5. -3. binutils-2.20.51.0.8.ia64.tar.bz2. IA-64 binary tar ball for RedHat - EL 5. -4. binutils-2.20.51.0.8.x86_64.tar.bz2. X64_64 binary tar ball for RedHat - EL 5. - -The primary sites for the beta Linux binutils are: - -1. http://www.kernel.org/pub/linux/devel/binutils/ - -Thanks. - - -H.J. Lu -hjl.tools@gmail.com -04/13/2010 diff --git a/source/d/binutils/release.binutils-2.21.51.0.6 b/source/d/binutils/release.binutils-2.21.51.0.6 new file mode 100644 index 00000000..38a38474 --- /dev/null +++ b/source/d/binutils/release.binutils-2.21.51.0.6 @@ -0,0 +1,257 @@ +This is the beta release of binutils 2.21.51.0.6 for Linux, which is +based on binutils 2011 0118 in CVS on sourceware.org plus various +changes. It is purely for Linux. + +All relevant patches in patches have been applied to the source tree. +You can take a look at patches/README to see what have been applied and +in what order they have been applied. + +Starting from the 2.21.51.0.3 release, you must remove .ctors/.dtors +section sentinels when building glibc or other C run-time libraries. +Otherwise, you will run into: + +http://sourceware.org/bugzilla/show_bug.cgi?id=12343 + +Starting from the 2.21.51.0.2 release, BFD linker has the working LTO +plugin support. It can be used with GCC 4.5 and above. For GCC 4.5, you +need to configure GCC with --enable-gold to enable LTO plugin support. + +Starting from the 2.21.51.0.2 release, binutils fully supports compressed +debug sections. However, compressed debug section isn't turned on by +default in assembler. I am planning to turn it on for x86 assembler in +the future release, which may lead to the Linux kernel bug messages like + +WARNING: lib/ts_kmp.o (.zdebug_aranges): unexpected non-allocatable section. + +But the resulting kernel works fine. + +Starting from the 2.20.51.0.4 release, no diffs against the previous +release will be provided. + +You can enable both gold and bfd ld with --enable-gold=both. Gold will +be installed as ld.gold and bfd ld will be installed as ld.bfd. By +default, ld.bfd will be installed as ld. You can use the configure +option, --enable-gold=both/gold to choose gold as the default linker, +ld. IA-32 binary and X64_64 binary tar balls are configured with +--enable-gold=both/ld --enable-plugins --enable-threads. + +Starting from the 2.18.50.0.4 release, the x86 assembler no longer +accepts + + fnstsw %eax + +fnstsw stores 16bit into %ax and the upper 16bit of %eax is unchanged. +Please use + + fnstsw %ax + +Starting from the 2.17.50.0.4 release, the default output section LMA +(load memory address) has changed for allocatable sections from being +equal to VMA (virtual memory address), to keeping the difference between +LMA and VMA the same as the previous output section in the same region. + +For + +.data.init_task : { *(.data.init_task) } + +LMA of .data.init_task section is equal to its VMA with the old linker. +With the new linker, it depends on the previous output section. You +can use + +.data.init_task : AT (ADDR(.data.init_task)) { *(.data.init_task) } + +to ensure that LMA of .data.init_task section is always equal to its +VMA. The linker script in the older 2.6 x86-64 kernel depends on the +old behavior. You can add AT (ADDR(section)) to force LMA of +.data.init_task section equal to its VMA. It will work with both old +and new linkers. The x86-64 kernel linker script in kernel 2.6.13 and +above is OK. + +The new x86_64 assembler no longer accepts + + monitor %eax,%ecx,%edx + +You should use + + monitor %rax,%ecx,%edx + +or + monitor + +which works with both old and new x86_64 assemblers. They should +generate the same opcode. + +The new i386/x86_64 assemblers no longer accept instructions for moving +between a segment register and a 32bit memory location, i.e., + + movl (%eax),%ds + movl %ds,(%eax) + +To generate instructions for moving between a segment register and a +16bit memory location without the 16bit operand size prefix, 0x66, + + mov (%eax),%ds + mov %ds,(%eax) + +should be used. It will work with both new and old assemblers. The +assembler starting from 2.16.90.0.1 will also support + + movw (%eax),%ds + movw %ds,(%eax) + +without the 0x66 prefix. Patches for 2.4 and 2.6 Linux kernels are +available at + +http://www.kernel.org/pub/linux/devel/binutils/linux-2.4-seg-4.patch +http://www.kernel.org/pub/linux/devel/binutils/linux-2.6-seg-5.patch + +The ia64 assembler is now defaulted to tune for Itanium 2 processors. +To build a kernel for Itanium 1 processors, you will need to add + +ifeq ($(CONFIG_ITANIUM),y) + CFLAGS += -Wa,-mtune=itanium1 + AFLAGS += -Wa,-mtune=itanium1 +endif + +to arch/ia64/Makefile in your kernel source tree. + +Please report any bugs related to binutils 2.21.51.0.6 to +hjl.tools@gmail.com + +and + +http://www.sourceware.org/bugzilla/ + +Changes from binutils 2.21.51.0.5: + +1. Update from binutils 2011 0118. +2. Fix x32 (ILP32) support. Renamed assembler option to --x32. It +can create working static and dynamic x32 executables. +3. Add BMI and TBM new instruction support. +4. Fix x86 disassembler to properly display sign-extended byte. +5. Improve IFUNC linker support. PRs 12366/12371. +6. Fix readelf bug on archive. PR 12408. +7. Fix a assembler when compressing empty debug sections. PR 12409. +8. Fix a warning symbol linker bug. PR 12339. +9. Fix a duplicated assert message linker bug. PR 12380. +10. Fix plugin linker build. PR 12391. +11. Fix a plugin linker crash. PR 12364. +12. Improve plugin linker. +13. Improve gold. +14. Improve arm support. +15. Improve mips support. +16. Improve rx support. + +Changes from binutils 2.21.51.0.4: + +1. Update from binutils 2011 0104. +2. Add ILP32 support: + +http://www.kernel.org/pub/linux/devel/binutils/ilp32/abi.pdf + +to Linux/x86-64. +3. Prevent the Linux x86-64 kernel build failure and remove +__ld_compatibility support. PR 12356. +4. Improve gold. +5. Improve Windows support. +6. Improve hppa support. +7. Improve mips support. + +Changes from binutils 2.21.51.0.3: + +1. Update from binutils 2010 1217. +2. Fix the Linux relocatable kernel build. PR 12327. +3. Improve mips support. + +Changes from binutils 2.21.51.0.2: + +1. Update from binutils 2010 1215. +2. Add BFD linker support for placing input .ctors/.dtors sections in +output .init_array/.fini_array section. Add SORT_BY_INIT_PRIORITY. The +benefits are + a. Avoid output .ctors/.dtors section in executables and shared + libraries. + b. Allow mixing input .ctors/.dtors sections with input + .init_array/.fini_array sectiobs. GCC PR 46770. +3. Add BFD linker support for "ld -r" on mixed IR/non-IR objects. Add +the new ELF section type SHT_GNU_OBJECT_ONLY (0x6ffffff8). See + +http://sourceware.org/bugzilla/show_bug.cgi?id=12291 + +4. Update BFD linker to accept -flto and -flto-partition= for GCC LTO +option compatibility. +5. Fix BFD linker to avoid touching uncompressed section content when +relocating DWARF debug sections for errror reporting. +6. Mark .gnu.lto_* sections with SHF_EXCLUDE. +7. Add --target option to ar. +8. Improve gold. +9. Improve AIX support. +10. Improve Windows support. +11. Improve mips support. + +Changes from binutils 2.21.51.0.1: + +1. Update from binutils 2010 1206. +2. Fix BFD and GOLD linker for compressed debug section support. +3. Fix BFD linker plugin support. PR ld/12246, ld/12247, ld/12248, +ld/12277, ld/12288 and ld/12289. +4. Update BFD linker to group .text.exit, text.startup and .text.hot +sections. +5. Fix linker for W_EH_PE_datarel handling. PR ld/12253. +6. Fix array access bug in readelf/elfedit. PR binutils/11742 and +binutils/12235. +7. Support dumping GDB .gdb_index section. +8. Install plugin-api.h. +9. Improve gold. +10. Improve Solaris support. +11. Improve VMS support. +12. Improve Windows support. +13. Improve arm support. +14. Improve bfin support. +15. Improve mips support. +16. Improve s390 support. +17. Improve z80 support. + +Changes from binutils 2.20.51.0.12: + +1. Update from binutils 2010 1110. +2. Fix ld plugin support. PRs lto/46291 and lto/46319. +3. Fix x86 assembler to properly fold _GLOBAL_OFFSET_TABLE_ in Intel +syntax. PR 12186. +4. Update assembler to ensure that group signature symbols have the name +of the group. +5. Avoid unnecessary relaxation in assembler. PR 12049. +6. Update linker NOLOAD processing. +7. Update linker not to include archive members when symbols therein have +already been defined. PR 12001. +8. Change objdump to display compressed section names without 'z'. +9. Improve gold. +10. Improve Solaris support. +11. Improve VMS support. +12. Improve Windows support. +13. Improve arm support. +14. Improve cr16 support. +15. Improve mips support. +16. Improve ppc support. +17. Improve tic6x support. + +The file list: + +1. binutils-2.21.51.0.6.tar.bz2. Source code. +2. binutils-2.21.51.0.6.i686.tar.bz2. IA-32 binary tar ball for RedHat + EL 5. +3. binutils-2.21.51.0.6.ia64.tar.bz2. IA-64 binary tar ball for RedHat + EL 5. +4. binutils-2.21.51.0.6.x86_64.tar.bz2. X64_64 binary tar ball for RedHat + EL 5. + +The primary sites for the beta Linux binutils are: + +1. http://www.kernel.org/pub/linux/devel/binutils/ + +Thanks. + + +H.J. Lu +hjl.tools@gmail.com +01/18/2011 |