From f3144198e9c10936fd734f04e5b6652bc34805e7 Mon Sep 17 00:00:00 2001 From: H.J. Lu Date: Oct 10 2014 19:39:07 +0000 Subject: Update release note for 2.24.51.0.4 --- diff --git a/release.binutils-2.24.51.0.3 b/release.binutils-2.24.51.0.3 deleted file mode 100644 index 2b1210c..0000000 --- a/release.binutils-2.24.51.0.3 +++ /dev/null @@ -1,899 +0,0 @@ -This is the beta release of binutils 2.24.51.0.3 for Linux, which is -based on binutils 2014 0127 master branch 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.23.52.0.2 release, when creating executables, BFD -linker will issue an error for undefined weak reference which is -defined in a shared library from DT_NEEDED. Previously BFD linker -will silently include the shared library from DT_NEEDED. - -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.24.51.0.3 to -hjl.tools@gmail.com - -and - -http://www.sourceware.org/bugzilla/ - -Changes from binutils 2.24.51.0.2: - -1. Update from binutils 2014 0127. -2. Fix a linker crash with mixed IR/non-IR input objects. -3. Update readelf/objdump to display versioned symbol names when dumping -dynamic relocations. PR 16496. -4. Update linker to improve orphaned TLS section handling. PR 16498. -5. Update linker to check incompatible existing default symbol definition. -PR 16467. -6. Update linker to properly handle non-PIC references to __ehdr_start in -pie and shared object. PR 16428. -7. Update bfd to properly generate PT_GNU_RELRO segment for ld and -objcopy. PRs 14207/16322/16323. -8. Update x86 assembler to check for invalid register set in AVX512 gather -instructions. PR 16489. -9. Update empty section handling in linker. -10. Avoid invalid directory in linker library search. PR 16456. -11. Improve x86 disassembler. -12. Improve gold. -13. Improve COFF support. -14. Add nds32 support. -15. Improve aarch64 support. -16. Improve arm support. -17. Improve mips support. -18. Improve msp430 support. -19. Improve ppc support. -20. Improve rl78 support. -21. Improve z80 support. - -Changes from binutils 2.24.51.0.1: - -1. Update from binutils 2013 1213. -2. Fix ld and objcopy to set the SHF_INFO_LINK bit for SHT_REL/SHT_RELA -sections. PR 16317. -3. Fix ld and objcopy to properly generate PT_GNU_RELRO segment. PRs -14207/16322/16323. -4. Fix objcopy to copy EI_OSABI field. PR 16318. -5. Change ld to set e_type in ELF header to ET_EXEC for -pie --Ttext-segment=. -6. Fix a ld bug for --as-needed with symbol versioning. -7. Add gas/ld/gold support for R_X86_64_PC32_BND and R_X86_64_PLT32_BND -relocations. -8. Fix an assembler line listing bug. PR 16109. -9. Improve gold. -10. Improve nacl support. -11. Improve COFF support. -12. Improve aarch64 support. -13. Improve arm support. -14. Improve hppa support. -15. Improve mips support. -16. Improve ppc support. - -Changes from binutils 2.23.52.0.2: - -1. Update from binutils 2013 1106. -2. Add Intel AVX-512 new instruction support. -3. Add Intel MPX new instruction support. -4. Update ld to support x86-64 large PIC model with TLS GD and LD sequences. -5. Fix ld to properly handle R_X86_64_DTPOFF64. PR 15685. -6. Fix x86 assembler to properly check 64-bit register. -7. Update x86 assembler not to align text/data/bss sections for ELF. -8. Fix x86 assembler to properly support cvttps2pi. PR 13572. -9. Fix ld to generate warning sections in glibc. PR 15762. -10. Avoid corrupted binary generated by objcopy/strip. PR 16056. -11. Improve ld hash. PR 15657. -12. Fix objdump on /proc/kcore. PR 15818. -13. Improve DWARF support. -14. Improve addr2line. PR 15994. -15. Improve readelf. PR 15745. -16. Improve gold. -17. Improve nacl support. -18. Improve aarch64 support. -19. Improve arm support. -20. Improve cris support. -21. Improve hppa support. -22. Improve m32c support. -23. Improve m68k support. -24. Improve mips support. -25. Improve msp430 support. -26. Improve nios2 support. -27. Improve ppc support. -28. Improve rl78 support. -29. Improve rx support. -30. Improve rs6000 support. -31. Improve s390 support. -32. Improve sparc support. -33. Improve tile support. -34. Improve vax support. - -Changes from binutils 2.23.52.0.1: - -1. Update from binutils 2013 0426. -2. Add x32 support to embedded x86_64 ELF target. -3. Fix an x86 IFUNC linker regression. PR 15371. -4. Fix an LTO linker weak definition bug. PR 15323. -5. Remove stale dynamic table entries for symbols optimized out by LTO. -PR 15270. -6. Revert the fix for PR 15149. When creating executables, BFD linker -won't issue an error for undefined weak reference which is defined in -7 shared library from DT_NEEDED. -8. Ignore weak reference which is is defined in a shared library from -DT_NEEDED. This may change the behavior of resulting binaries with -undefined weak reference. List libraries needed on command-line as work -around. PR 12549. -9. Fix a MIPS ELF linker crash. PR 15382. -10. Align LMA per VMA alignment only if needed. PR 15222. -11. Fix a BFD decompress memory leak. PR 15356. -12. Properly check SIB byte in x86 disassembler. -13, Fix invalid memory access in readelf. PR 15191. -14, Fix invalid memory access in DWARF dumper. PRs 15206/15202/15201. -15. Improve gold. -16. Improve aarch64 support. -17. Improve arm support. -18. Improve avr support. -19. Improve h8300 support. -20. Improve mips support. -21. Improve nios2 support. -22. Improve ppc support. -23. Improve rl78 support. -24. Improve sh support. -25. Improve sparc support. -26. Improve tic6x support. -27. Improve v850 support. - -Changes from binutils 2.23.51.0.9: - -1. Update from binutils 2013 0226. -2. Add Intel SAMP new instruction support. -3. Allow dynamic R_386_SIZE32, R_X86_64_SIZE32 and R_X86_64_SIZE64 -relocations agaist TLS symbols. -4. Fix BFD linker to set STB_GNU_UNIQUE only for definition. PR 15167. -5. Fix BFD linker to set STB_GNU_UNIQUE only if symbol is defined in -regular object. PR 15107. -6. Don't add DT_NEEDED for references from the LTO IR input. PR 15146. -7. When creating executables, BFD linker will issue an error for undefined -weak reference which is defined in a shared library from DT_NEEDED. -PR 15149. -8. Also trace symbol from the LTO IR input. PR 15141. -9. Support stripping LTO IR sections. PR 15033. -10. Don't allow a nested archive pointing to itself and don't generate -bad archive. PR 15140. -11. Fix objcopy segfault on non-ELF input. PR 14873. -12. Update DWARF dump support. -13. Improve gold. -14. Add nios2 support. -15. Improve mach support. -16. Improve aarch64 support. -17. Improve arm support. -18. Improve avr support. -19. Improve h8300 support. -20. Improve meta support. -21. Improve mips support. -22. Improve ppc support. -23. Improve rl78 support. -24. Improve sparc support. -25. Improve v850 support. - -Changes from binutils 2.23.51.0.8: - -1. Update from binutils 2013 0118. -2. Support R_386_SIZE32, R_X86_64_SIZE32 and R_X86_64_SIZE64 -relocations. -3. Fix x86 assembler for "xtrn@got -1". PR 15019. -4. Don't generate old dtags with --enable-new-dtags. -5. Add Meta support. -6. Improve gold. -7. Improve aarch64 support. -8. Improve arm support. -9. Improve cr16 support. -10. Improve mips support. -11. Improve ppc support. -12. Improve v850 support. -13. Improve xgate support. - -Changes from binutils 2.23.51.0.7: - -1. Properly adjust h->plt.refcount. PR 14980. - -Changes from binutils 2.23.51.0.6: - -1. Update from binutils 2012 1218. -2. Add missing R_*_IRELATIVE relocations. PR 14968. -3. Remove unnecessary R_*_NONE relocations. PR 14956. -4. Fix ar/ranlib on 32-bit filesystems. PR 14933. -5. Fix a "Not enough room for program headers" linker bug. PR 14926. -6. Support self-assignment in a linker script to convert symbols to -absolute. PR 14962. -7. Support --copy-dt-needed-entries when creating DSO. PR 14915. -8. Improve linker plugin DSO error handling. PR 14904. -9. Issue warning for plugin dummy. PR 12760. -10. Add -fuse-ld=bfd|gold support to ld and gold. -11. Fix gold configure. PR 14897. -12. Correct gas dependency. PR 14899. -13. Add rdos support. -14. Improve gold. -15. Improve nacl support. -16. Improve aarch64 support. -17. Improve arm support. -18. Improve microblaze support. -19. Improve mips support. -20. Improve ppc support. -21. Improve tile support. - -Changes from binutils 2.23.51.0.5: - -1. Update from binutils 2012 1123. -2. Fix 64-bit jecxz encoding regression in x86 assembler. PR 14859. -3. Revert an accidental linker change. PR 14862. -4. Fix x32 TLS LD to LE optimization in gold. PR 14858. -5. Add "-z global" option to set DF_1_GLOBAL to ld. -6. Improve ld plugin error handling. -7. Port ld lib32 arrangement from Debian. -8. Properly set the output maxpagesize when rewriting program header. -PR 14493. -9. Add additional DF_1_XXX support to readelf. -10. Improve nacl support with separate code segments. -11. Improve macos support. -12. Improve arm support. -13. Improve microblaze support. -14. Improve mips support. -15. Improve ppc support. -16. Improve sparc support. - -Changes from binutils 2.23.51.0.4: - -1. Update from binutils 2012 1110. -2. Support new Linux NOTE sections. -3. Add -z stacksize=SIZE option to ld to set size of stack segment. -4. Fix a BFD IOVEC close bug. PR 14813. -5. Fix a BFD IOVEC on archive bug. PR 14567. -6. Fix archive support for non-ELF targets. PR 14481. -7. Improve gold. -8. Improve COFF support. -9. Improve arm support. -10. Improve microblaze support. -11. Improve mips support. -12. Improve ppc support. -13. Improve rx support. -14. Improve s390 support. -15. Improve v850 support. -16. Improve xgate support. - -Changes from binutils 2.23.51.0.3: - -1. Update from binutils 2012 1026. -2. Fix an LTO linker bug. PR 14747. -3. Add cx16 arch feature to x86 assembler. -4. Add -march=bdver3 option to x86 assembler. -5. Properly handle ignored REX prefix with fwait in x86 disassembler. -6. Fix x32 register names in objdump DWARF output. -7. Add NT_SIGINFO/NT_FILE support to readelf. -8. Add linker --ignore-unresolved-symbol option from NetBSD. -9. Treat .gdb_index section as debug section. PR 14662. -10. Add --debug-dump=addr, --debug_dump=cu_index options to readelf and -objdump. -11. Add dwp, DWARF packaging utility. -12. Add compressed debug section support to Windows. PR 14067. -13. Improve gold. -14. Improve aarch64 support. -15. Improve arm support. -16. Improve hppa support. -17. Improve mips support. -18. Improve s390 support. -19. Improve tile support. -20. Improve v850 support. - -Changes from binutils 2.23.51.0.2: - -1. Update from binutils 2012 0918. -2. Properly handle versioned STB_SECONDARY symbols. -3. Fix wrong symbol type with common symbol and weak function. PR 14591. -4. Ignore discarded sections when converting mov to lea. -5. Improve gold. -6. Improve avr support. -7. Improve aarch64 support. -8. Improve moxie support. -9. Improve ppc support. -10. Improve tile support. - -Changes from binutils 2.23.51.0.1: - -1. Update from binutils 2012 0908. -2. Fix STB_SECONDARY support: - a. Generate STB_SECONDARY symbols in DSO by default. - b. Properly handle STB_SECONDAY symbols when linking with archive. - c. Don't allow .weak directive to override .secondary directive. -3. Optimize i386/x86-64 linker to convert GOT load (MOV) to LEA. -4. Clarify x86 assembler error messages. PR 14457. -5. Improve NOP/prefetch support in x86 disassembler. -6. Improve Intel syntax support in x86 assembler. -7. Add -march={btver1, btver2} options to x86 assembler. -8. Fix binutils build with --enable-shared. PR 4970. -9. Also provide __executable_start for PIE. PR 14525. -10. Use xmalloc to allocate memory for argument list file. PR 14526. -11. Add Intel Itanium Series 9500 support to assembler/diassembler. -12. Ignore section symbols without a BFD section when outputing symbols -and check bad section index. PR 14493. -13. Improve archive reader. PR 14475. -14. Support DW_OP_GNU_const_index reader. -15. Improve handling of imput files with empty ELF group sections. -PR 14444. -16. Fix IFUNC support in s390 linker. -17. Improve gold. -18. Add aarch64 support. -19. Improve arm support. -20. Improve mips support. -21. Improve mmix support. -22. Improve moxie support. -23. Improve ppc support. -24. Improve s390 support. -25. Improve tile support. - -Changes from binutils 2.22.52.0.4: - -1. Update from binutils 2012 0806. -2. Add Intel ADX, RDSEED and PRFCHW new instruction support. -3. Support 'rep bsf', 'rep bsr', and 'rep ret' syntax in x86 assembler. -4. Mark 256-bit vmovntdqa as AVX2 instruction for x86 assembler. -5. Improve x86 assembler error handling. -6. Improve the repeat directive support in assembler. PR 14201. -7. Improve x86-64 disassembler on superfluous prefixes. -8. Fix x86 disassembler crash on bad XOP instructions. PR 14355. -9. Support STB_SECONDARY: - -https://groups.google.com/forum/?hl=en&fromgroups#!forum/generic-abi - -10. Added SORT_NONE to the linker script language to disable section -sorting and properly handle .init/.fini sections. PR 14156. -11. Fix a weak alias linker bug. PR 14323. -12. Fix the NULL GNU_RELRO segment linker bug. PR 14207. -13. Fix the bad GNU_RELRO segment linker bug. PR 14215. -14. Add linker support of __ehdr_start symbol for the ELF file header. -15. Add IFUNC support to s390 linker. -16. Fix ar for >4GB member. PR 14302. -17. Fix objcopy --compress-debug-sections on empty debug section. PR -14319. -18. Fix readelf/objdup to display null bytes in DWARF debug info. PR -14420. -19. Improve gold. -20. Improve arm support. -21. Improve avr support. -22. Improve cris support. -23. Improve m68k support. -24. Improve mips support. -25. Improve ppc support. -26. Improve vax support. -27. Improve xgate support. - -Changes from binutils 2.22.52.0.3: - -1. Update from binutils 2012 0604. -2. Check addend overflow for R_X86_64_RELATIVE64. -3. Fix ar/nm/ranlib with --plugin. -4. Create .eh_frame_hdr section only if needed. PR 13909. -5. Properly create .eh_frame section for PLT. PR 14105. -6. Fix a linker crash. PR 14170. -7. Fix readelf to properly display addend. -8. Don't make _DYNAMIC/_GLOBAL_OFFSET_TABLE_/_PROCEDURE_LINKAGE_TABLE_ -symbols absolute for x86 and ppc. -9. Properly handle shared libraries with zero dynamic symbols. PRs -7023/13962. -10. Update readelf/assembler to support multibyte characters in symbol -names. -11. Add --strip-dwo/--extract-dwo options to objcopy/strip. -12. Add R_X86_64_RELATIVE64 support to gold. -13. Improve gold. -14. Improve NACL support. -15. Improve alpha support. -16. Improve avr support. -17. Improve m68k support. -18. Improve mips support. -19. Improve ppc support. -20. Improve vax support. - -Changes from binutils 2.22.52.0.2: - -1. Update from binutils 2012 0507. -2. Fix Linux kernel build by reverting the PR 13621 fix. PR 14052. -3. Add support for x86_64-*-linux-gnux32 target. -4. Improve x86 assembler. -5. Improve DWARF support. -6. Improve gold. -7. Improve rx support. -8. Improve sparc support. -9. Add xgate support. - -Changes from binutils 2.22.52.0.1: - -1. Update from binutils 2012 0424. -2. Support Intel HLE and RTM extension. -3. Add NACL support. -4. Fix -Bsymbolic with protected function pointer. PR 13880. -5. Fix an IFUNC regression. PR 13817. -6. Fix x86 NOP fill regression. PR 13675. -7. Fix a linker regression. PR 13991. -8. Fix dangling global hidden symbol in symtab. PR 13621. -9. Fix objcopy, strip and ld for --emit-relocs. PR 13947. -10. Improve gold. -11. Improve mach support. -12. Improve vms support. -13. Improve windows support. -14. Improve arm support. -15. Improve avr support. -16. Improve mips support. -17. Improve ppc support. -18. Improve rx support. -19. Improve s390 support. -20. Improve sh support. -21. Improve sparc support. -22. Improve tile support. - -Changes from binutils 2.22.51.0.1: - -1. Update from binutils 2012 0131. -2. Add x32 support to gold. -3. Support linker arch-depedent fill. PR 13616. -4. Add i386 NACL support to x86 assembler. -5. Add fake zero displacement for .d8 and .d32 suffixes to x86 assembler. -6. Add vmfunc support to x86 assembler/disassembler. -7. Support >2GB archive member. PR 13534. -8. Support R_X86_64_PC32 relocation for PIC on x32. PR 13581. -9. Fix LTO linker with --start-group and archive. PR 12758. -10. Fix linker with --build-id. PR 12451. -11. Improve linker dead code dependency removal on DSO. PR 12772. -12. Improve demangler. -13. Fix elf64-x86-64.c build with GCC 4.7. -14. Avoid linker -z text crash. PR 13468. -15. Avoid readelf crash. PR 13622. -16. Avoid nm crash on --size-sort --no-sort. PR 13593. -17. Fix linker COFF SECREL32 relocation support. PR 13491. -18. Improve gold. -19. Improve mach support. -20. Improve arm support. -21. Improve avr support. -22. Improve hppa support. -23. Improve m68k support. -24. Improve mips support. -25. Improve ppc support. -26. Improve rl78 support. -27. Improve rx support. - -Changes from binutils 2.21.53.0.2: - -1. Update from binutils 2011 1118. -2. Fix ar --plugin on archive with mixed IR/non-IR objects. PR 13298. -3. Preserve the maximum alignment and size for common symbols. PR 13250. -4. Fix LTO linker with -as-needed. PR 13287. -5. Fix --plugin support on thin archive. PR 13257. -6. Fix LTO linker on thin archive. PR 13183. -7. Fix --plugin slim object support on archive. PR 13278. -8. Support LDPR_PREVAILING_DEF_IRONLY_EXP in linker plugin. PR 13229. -9. Don't make make IR symbols dynamic. PR 13244. -10. Fix LTO linker with --as-needed. PR 13201. -11. Properly handle 2 IR symbols with the same comdat key. PR 13066. -12. Keep .debug_types sections with linker garbage collection. PR 13233. -13. Fix -ffunction-sections -Wl,--gc-sections failure with symbol -versioning. PR 13195. -14. Improve linker garbage collection support. PR 13177. -15. Remove symbols hidden by version scripts with --gc-sections. PR 12975. -16. Remove unnecessary GOT relocation created for IFUNC. PR 13178. -17. Move IRELATIVE relocations to the end. PR 13302. -18. Avoid readelf core dump. PR 13219. -19. Check zero address size when dumping DWARF sections. PR 13196. -20. Remove the group section if all members are removed. PR 13180. -21. Support R_X86_64_64 and R_X86_64_RELATIVE64 relocations for x32. -PR 13082. -22. Add Adapteva Epiphany support. -23. Add Renesas RL78 support. -24. Improve gold. -25. Improve mach-o support. -26. Improve alpha support. -27. Improve arm support. -28. Improve hppa support. -29. Improve mips support. -30. Improve ppc support. -31. Improve rx support. -32. Improve sparc support. - -Changes from binutils 2.21.53.0.1: - -1. Update from binutils 2011 0804. -2. Add Intel K1OM support. -3. Allow R_X86_64_64 relocation for x32 and check x32 relocation overflow. -PR ld/13048. -4. Support direct call in x86-64 assembly code. PR gas/13046. -5. Add ia32 Google Native Client support. -6. Add .debug_macro section support. -7. Improve gold. -8. Improve VMS support. -9. Improve arm support. -10. Improve hppa support. -11. Improve mips support. -12. Improve mmix support. -13. Improve ppc support. - -Changes from binutils 2.21.52.0.2: - -1. Update from binutils 2011 0716. -2. Fix LTO linker bugs. PRs 12982/12942. -3. Fix rorx support in x86 assembler/disassembler for AVX Programming -Reference (June, 2011). -4. Fix an x86-64 ELFOSABI linker regression. -5. Update ELFOSABI_GNU support. PR 12913. -6. Fix a linker regression with prelink support. PR 12921. -7. Add unwind info to x86 PLT section. PR 12570. -8. Support x32 core files. -9. Support native x32 linker. -10. Fix linker --gc-sections on note sections. PR 12851. -11. Avoid linker crash on bad input. PR 12887. -12. Add section flags in linker script. -13. Improve elf linker -z option support. -14. Fix nm on compressed debug sections. PR 12983. -15. Fix an ar bug. PR 12558. -16. Fix an ia64 linker regression. PR 12978. -17. Improve gold. -18. Improve VMS support. -19. Add TILE-Gx/TILEPro support. -20. Improve alpha support. -21. Improve avr support. -22. Improve mips support. -23. Improve arm support. -24. Improve ppc support. -25. Improve sh support. -26. Improve TIC6X support. - -Changes from binutils 2.21.52.0.1: - -1. Update from binutils 2011 0610. -2. Support AVX Programming Reference (June, 2011) -3. Allow R_X86_64_64 relocations in SEC_DEBUGGING sections when building -x32 shared libraries. Used to build kernel x32 vDSO. -4. Fix linker --gc-sections on note sections. PR 12851. -5. Update readelf to handle binaries containing corrupt version -information. PR 12855. -6. Improve gold. -7. Improve VMS support. -8. Improve mips support. - -Changes from binutils 2.21.51.0.9: - -1. Update from binutils 2011 0608. -2. Fix an x86 linker regression. PRs 12833/12837/12859. -3. Fix an x86-64 large model TLS linker bug. PR 12809. -4. Fix LTO bugs. PRs 12758/12760. -5. Add a new linker switch, -plugin-save-temps. -6. Fix an linker bug for warning on common symbol in archive. -7. Fix warning support when building shared library. PR 12761. -8. Reduce linker memory usage when linking many small object files. -PR 12682. -9. Fix a thin archive bug. PR 12710. -10. Fix a TLS linker bug. PR 12763. -11. Improve gold. -12. Improve DWARF dump support. -13. Improve XCOFF support. -14. Improve arm support. -15. Improve cris support. -16. Improve ia64 ILP32 support. -17. Improve mips support. -18. Improve ppc support. -19. Improve rx support. -20. Improve s390 support. -21. Improve tic30 support. -22. Improve tic6x support. -23. Improve v850 support. - -Changes from binutils 2.21.51.0.8: - -1. Update from binutils 2011 0507. -2. Improve LTO bfd linker. PRs 12365/12696/12672 -3. Fix a linker regression with constructor attribute in C++. PR 12730. -4. Warn relocation in readonly section when creating a shared object. -5. Remove empty output sections. PR 12718. -6. Remove DT_TEXTREL with local IFUNC symbols. PR 12694. -7. Properly set ELFOSABI_LINUX for STB_GNU_UNIQUE. PR 10549. -8. Fix objcopy on unusual input. PR 12632. -9. Fix an ar regression. PR 12720. -10 Avoid linker crash on bad linker input. -11. Fix a linker script regression. PR 12726. -12. Support new GNU DWARF extensions. -13. Initial support for SystemTap note sections. -14. Add --dwarf-start and --dwarf-end to readelf and objdump. -15. Disable 3dnow and 3dnowa for bdver1 in x86 assembler. -16. Improve gold. -17. Improve VMS support. -18. Improve arm support. -19. Improve mips support. -20. Improve ppc support. -21. Improve s390 support. -22. Improve tic6x support. - -Changes from binutils 2.21.51.0.7: - -1. Update from binutils 2011 0408. -2. Fix x32 TLS linker bug. -3. Enable .quad directive in x32 assembler. -4. Fix an assembler regression. PRs 12569/12589. -5. Add --size-check= assembler option to issue a warning, instead of an -error, on bad ELF .size directive. -6. Fix an ia32 linker bug with TLS/PIE. PR 12654. -7. Fix Intel L1OM linker library search path. -8. Fix a linker buffer overflow on malformed inputs. PR 12613. -9. Check corrupted symtab in nm/readelf. PR 12639. -10. Avoid objcopy crash on archive with unknown objects. PR 12632. -11. Fix "ar -t". PR 12590. -12. Fix many memory leaks. -13. Improve DWARF support. -14. Improve gold. -15. Improve VMS support. -16. Improve Windows support. -17. Improve alpha support. -18. Improve arm support. -19. Improve avr support. -20. Improve ppc support. -21. Improve sparc support. -22. Improve tic6x support. - -Changes from binutils 2.21.51.0.6: - -1. Update from binutils 2011 0306. -2. Supprt x32 TLS IE->LE transition. -3. Change x32 library directory from /lib32 to /libx32. -4. Improve LTO linker support. Fix PRs 12439/12314/12248/12430. -5. Improve linker plugin support. -6. Fix an ar bug. PR 12513. -7. Properly generate nops for ia32. PR 6957. -8. Improve readelf DT_GNU_HASH support. PR 12523. -9. Improve readelf on invalid input. PR 12467. -10. Update ELF assembler to issue an error on invalid .size directive. -PR 12519, -11. Properly handle PT_DYNAMIC segment with zero size sections. PR 12516. -12. Add a new linker option, --verbose=2, to report plugin symbol -status. -13. Properly handle entry symbols in linker LTO support. PR 12507. -14. Improve gold. -15. Improve arm support. -16. Improve bfin support. -17. Improve mips support. -18. Improve ppc support. - -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.24.51.0.3.tar.bz2. Source code. - -The primary sites for the beta Linux binutils are: - -1. http://www.kernel.org/pub/linux/devel/binutils/ - -It is also available as hjl/linux/release/2.24.51.0.3 tag at - -https://sourceware.org/git/?p=binutils-gdb.git;a=summary - -Thanks. - - -H.J. Lu -hjl.tools@gmail.com -01/27/2014 diff --git a/release.binutils-2.24.51.0.4 b/release.binutils-2.24.51.0.4 new file mode 100644 index 0000000..483176f --- /dev/null +++ b/release.binutils-2.24.51.0.4 @@ -0,0 +1,967 @@ +This is the beta release of binutils 2.24.51.0.4 for Linux, which is +based on binutils 2014 0923 master branch 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.23.52.0.2 release, when creating executables, BFD +linker will issue an error for undefined weak reference which is +defined in a shared library from DT_NEEDED. Previously BFD linker +will silently include the shared library from DT_NEEDED. + +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.24.51.0.4 to +hjl.tools@gmail.com + +and + +http://www.sourceware.org/bugzilla/ + +Changes from binutils 2.24.51.0.3: + +1. Update from binutils 2014 0923. +2. Update Intel AVX-512 instruction support to July, 2014. +3. Support Intel secure enclave instruction. +4. Support Intel clflushopt instruction. +5. Support Intel xsavec/xrstors instructions. +6. Fix an x86 linker crash with --just-symbols. PR ld/17306. +7. Improve x86 PLT entry matching. PR binutils/17154. +8. Fix an x86 GNU2 TLS linker bug. PR ld/17057. +9. Update x86-64 linker to create alternate PLT entries for MPX. +10. Update x86 assembler to disallow VEX/EVEX encoded instructions in +16-bit mode. PR gas/17421. +11. Improve prefix handling in x86 disassembler. PR binutils/16893. +12. Update x86 disassembler to properly handle suffix for iret and sysret +in Intel mode. +13. Update x86 disassembler to properly handle prefixes before fwait. +PR binutils/16891. +14. Fix an AVX512 gather/scatter x86 disassembler bug. PR +binutils/16490. +15. Add -momit-lock-prefix option to x86 assembler. +16. Fix nm on mixed IR/non-IR input objects. +17. Fix a --just-symbols linker bug. PR ld/17313. +18. Fix a bad .eh-frame section bug with LTO and non-LTO objects. PR +ld/16563. +19. Improve linker EH frame support +20. Fix a linker .gnu.warning bug with LTO objects. PR ld/16746. +21. Improve support for slim LTO objects. PR ld/13227. +22. Fix a linker crash when MALLOC_PERTURB_ is set. PR ld/17047. +23. Fix a wrapped symbol linker bug. PR ld/16910. +24. Fix a linker bug on object with separate debug file. PR ld/16867. +25. Fix an incorrect error message linker bug. PR ld/16787. +26. Fix an incorrect warning message linker bug. PR ld/16756. +27. Fix a linker bug on LTO objects with TLS. PR ld/16846. +28. Fix the 32-bit linker on large file (~2 Gb). PR ld/16803. +29. Fix a garbage collection linker bug. PR ld/16643. +30. Fix a garbage collection linker bug with --dynamic-list. PR +gold/16530. +31. Properly handle DW_CFA_restore_state in DWARF dumper. PR +binutils/16252. +32. Fix a strip bug. PR binutils/16811. +33. Update ar/nm to load liblto_plugin.so automatically if available. PR +binutils/14698. +34. Check corrupt section names in readelf. PR binutils/16664.a +35. Add NT_GNU_GOLD_VERSION support to readelf. PR binutils/16444. +36. Update assembler to honour #line directives inside macros. PR +gas/16908. +37. Improve linker supprot for --as-needed and --start-group/--end-group. +PR ld/17068. +38. Honor "-z noexecstack" for "ld -r". PR ld/16744. +39. Honor --no-demangle for "ld --cref". PR ld/16569. +40. Improve gold. +41. Improve Windows support. +42. Improve MacOS support. +43. Improve aarch64 support. +44. Improve alpha support. +45. Improve arm support. +46. Improve avr support. +47. Improve cris support. +48. Improve m68k support. +49. Improve metag support. +50. Improve mips support. +51. Improve mmix support. +52. Improve msp430 support. +53. Improve nds32 support. +54. Improve nios2 support. +55. Improve or1k support. +56. Improve ppc/ppc64 support. +57. Improve rl78 support. +58. Improve rx support. +59. Improve s390 support. +60. Improve sh support. +61. Improve sparc support. +62. Improve v850 support. +63. Improve xtensa support. + +Changes from binutils 2.24.51.0.2: + +1. Update from binutils 2014 0127. +2. Fix a linker crash with mixed IR/non-IR input objects. +3. Update readelf/objdump to display versioned symbol names when dumping +dynamic relocations. PR 16496. +4. Update linker to improve orphaned TLS section handling. PR 16498. +5. Update linker to check incompatible existing default symbol definition. +PR 16467. +6. Update linker to properly handle non-PIC references to __ehdr_start in +pie and shared object. PR 16428. +7. Update bfd to properly generate PT_GNU_RELRO segment for ld and +objcopy. PRs 14207/16322/16323. +8. Update x86 assembler to check for invalid register set in AVX512 gather +instructions. PR 16489. +9. Update empty section handling in linker. +10. Avoid invalid directory in linker library search. PR 16456. +11. Improve x86 disassembler. +12. Improve gold. +13. Improve COFF support. +14. Add nds32 support. +15. Improve aarch64 support. +16. Improve arm support. +17. Improve mips support. +18. Improve msp430 support. +19. Improve ppc support. +20. Improve rl78 support. +21. Improve z80 support. + +Changes from binutils 2.24.51.0.1: + +1. Update from binutils 2013 1213. +2. Fix ld and objcopy to set the SHF_INFO_LINK bit for SHT_REL/SHT_RELA +sections. PR 16317. +3. Fix ld and objcopy to properly generate PT_GNU_RELRO segment. PRs +14207/16322/16323. +4. Fix objcopy to copy EI_OSABI field. PR 16318. +5. Change ld to set e_type in ELF header to ET_EXEC for -pie +-Ttext-segment=. +6. Fix a ld bug for --as-needed with symbol versioning. +7. Add gas/ld/gold support for R_X86_64_PC32_BND and R_X86_64_PLT32_BND +relocations. +8. Fix an assembler line listing bug. PR 16109. +9. Improve gold. +10. Improve nacl support. +11. Improve COFF support. +12. Improve aarch64 support. +13. Improve arm support. +14. Improve hppa support. +15. Improve mips support. +16. Improve ppc support. + +Changes from binutils 2.23.52.0.2: + +1. Update from binutils 2013 1106. +2. Add Intel AVX-512 new instruction support. +3. Add Intel MPX new instruction support. +4. Update ld to support x86-64 large PIC model with TLS GD and LD sequences. +5. Fix ld to properly handle R_X86_64_DTPOFF64. PR 15685. +6. Fix x86 assembler to properly check 64-bit register. +7. Update x86 assembler not to align text/data/bss sections for ELF. +8. Fix x86 assembler to properly support cvttps2pi. PR 13572. +9. Fix ld to generate warning sections in glibc. PR 15762. +10. Avoid corrupted binary generated by objcopy/strip. PR 16056. +11. Improve ld hash. PR 15657. +12. Fix objdump on /proc/kcore. PR 15818. +13. Improve DWARF support. +14. Improve addr2line. PR 15994. +15. Improve readelf. PR 15745. +16. Improve gold. +17. Improve nacl support. +18. Improve aarch64 support. +19. Improve arm support. +20. Improve cris support. +21. Improve hppa support. +22. Improve m32c support. +23. Improve m68k support. +24. Improve mips support. +25. Improve msp430 support. +26. Improve nios2 support. +27. Improve ppc support. +28. Improve rl78 support. +29. Improve rx support. +30. Improve rs6000 support. +31. Improve s390 support. +32. Improve sparc support. +33. Improve tile support. +34. Improve vax support. + +Changes from binutils 2.23.52.0.1: + +1. Update from binutils 2013 0426. +2. Add x32 support to embedded x86_64 ELF target. +3. Fix an x86 IFUNC linker regression. PR 15371. +4. Fix an LTO linker weak definition bug. PR 15323. +5. Remove stale dynamic table entries for symbols optimized out by LTO. +PR 15270. +6. Revert the fix for PR 15149. When creating executables, BFD linker +won't issue an error for undefined weak reference which is defined in +7 shared library from DT_NEEDED. +8. Ignore weak reference which is is defined in a shared library from +DT_NEEDED. This may change the behavior of resulting binaries with +undefined weak reference. List libraries needed on command-line as work +around. PR 12549. +9. Fix a MIPS ELF linker crash. PR 15382. +10. Align LMA per VMA alignment only if needed. PR 15222. +11. Fix a BFD decompress memory leak. PR 15356. +12. Properly check SIB byte in x86 disassembler. +13, Fix invalid memory access in readelf. PR 15191. +14, Fix invalid memory access in DWARF dumper. PRs 15206/15202/15201. +15. Improve gold. +16. Improve aarch64 support. +17. Improve arm support. +18. Improve avr support. +19. Improve h8300 support. +20. Improve mips support. +21. Improve nios2 support. +22. Improve ppc support. +23. Improve rl78 support. +24. Improve sh support. +25. Improve sparc support. +26. Improve tic6x support. +27. Improve v850 support. + +Changes from binutils 2.23.51.0.9: + +1. Update from binutils 2013 0226. +2. Add Intel SAMP new instruction support. +3. Allow dynamic R_386_SIZE32, R_X86_64_SIZE32 and R_X86_64_SIZE64 +relocations agaist TLS symbols. +4. Fix BFD linker to set STB_GNU_UNIQUE only for definition. PR 15167. +5. Fix BFD linker to set STB_GNU_UNIQUE only if symbol is defined in +regular object. PR 15107. +6. Don't add DT_NEEDED for references from the LTO IR input. PR 15146. +7. When creating executables, BFD linker will issue an error for undefined +weak reference which is defined in a shared library from DT_NEEDED. +PR 15149. +8. Also trace symbol from the LTO IR input. PR 15141. +9. Support stripping LTO IR sections. PR 15033. +10. Don't allow a nested archive pointing to itself and don't generate +bad archive. PR 15140. +11. Fix objcopy segfault on non-ELF input. PR 14873. +12. Update DWARF dump support. +13. Improve gold. +14. Add nios2 support. +15. Improve mach support. +16. Improve aarch64 support. +17. Improve arm support. +18. Improve avr support. +19. Improve h8300 support. +20. Improve meta support. +21. Improve mips support. +22. Improve ppc support. +23. Improve rl78 support. +24. Improve sparc support. +25. Improve v850 support. + +Changes from binutils 2.23.51.0.8: + +1. Update from binutils 2013 0118. +2. Support R_386_SIZE32, R_X86_64_SIZE32 and R_X86_64_SIZE64 +relocations. +3. Fix x86 assembler for "xtrn@got -1". PR 15019. +4. Don't generate old dtags with --enable-new-dtags. +5. Add Meta support. +6. Improve gold. +7. Improve aarch64 support. +8. Improve arm support. +9. Improve cr16 support. +10. Improve mips support. +11. Improve ppc support. +12. Improve v850 support. +13. Improve xgate support. + +Changes from binutils 2.23.51.0.7: + +1. Properly adjust h->plt.refcount. PR 14980. + +Changes from binutils 2.23.51.0.6: + +1. Update from binutils 2012 1218. +2. Add missing R_*_IRELATIVE relocations. PR 14968. +3. Remove unnecessary R_*_NONE relocations. PR 14956. +4. Fix ar/ranlib on 32-bit filesystems. PR 14933. +5. Fix a "Not enough room for program headers" linker bug. PR 14926. +6. Support self-assignment in a linker script to convert symbols to +absolute. PR 14962. +7. Support --copy-dt-needed-entries when creating DSO. PR 14915. +8. Improve linker plugin DSO error handling. PR 14904. +9. Issue warning for plugin dummy. PR 12760. +10. Add -fuse-ld=bfd|gold support to ld and gold. +11. Fix gold configure. PR 14897. +12. Correct gas dependency. PR 14899. +13. Add rdos support. +14. Improve gold. +15. Improve nacl support. +16. Improve aarch64 support. +17. Improve arm support. +18. Improve microblaze support. +19. Improve mips support. +20. Improve ppc support. +21. Improve tile support. + +Changes from binutils 2.23.51.0.5: + +1. Update from binutils 2012 1123. +2. Fix 64-bit jecxz encoding regression in x86 assembler. PR 14859. +3. Revert an accidental linker change. PR 14862. +4. Fix x32 TLS LD to LE optimization in gold. PR 14858. +5. Add "-z global" option to set DF_1_GLOBAL to ld. +6. Improve ld plugin error handling. +7. Port ld lib32 arrangement from Debian. +8. Properly set the output maxpagesize when rewriting program header. +PR 14493. +9. Add additional DF_1_XXX support to readelf. +10. Improve nacl support with separate code segments. +11. Improve macos support. +12. Improve arm support. +13. Improve microblaze support. +14. Improve mips support. +15. Improve ppc support. +16. Improve sparc support. + +Changes from binutils 2.23.51.0.4: + +1. Update from binutils 2012 1110. +2. Support new Linux NOTE sections. +3. Add -z stacksize=SIZE option to ld to set size of stack segment. +4. Fix a BFD IOVEC close bug. PR 14813. +5. Fix a BFD IOVEC on archive bug. PR 14567. +6. Fix archive support for non-ELF targets. PR 14481. +7. Improve gold. +8. Improve COFF support. +9. Improve arm support. +10. Improve microblaze support. +11. Improve mips support. +12. Improve ppc support. +13. Improve rx support. +14. Improve s390 support. +15. Improve v850 support. +16. Improve xgate support. + +Changes from binutils 2.23.51.0.3: + +1. Update from binutils 2012 1026. +2. Fix an LTO linker bug. PR 14747. +3. Add cx16 arch feature to x86 assembler. +4. Add -march=bdver3 option to x86 assembler. +5. Properly handle ignored REX prefix with fwait in x86 disassembler. +6. Fix x32 register names in objdump DWARF output. +7. Add NT_SIGINFO/NT_FILE support to readelf. +8. Add linker --ignore-unresolved-symbol option from NetBSD. +9. Treat .gdb_index section as debug section. PR 14662. +10. Add --debug-dump=addr, --debug_dump=cu_index options to readelf and +objdump. +11. Add dwp, DWARF packaging utility. +12. Add compressed debug section support to Windows. PR 14067. +13. Improve gold. +14. Improve aarch64 support. +15. Improve arm support. +16. Improve hppa support. +17. Improve mips support. +18. Improve s390 support. +19. Improve tile support. +20. Improve v850 support. + +Changes from binutils 2.23.51.0.2: + +1. Update from binutils 2012 0918. +2. Properly handle versioned STB_SECONDARY symbols. +3. Fix wrong symbol type with common symbol and weak function. PR 14591. +4. Ignore discarded sections when converting mov to lea. +5. Improve gold. +6. Improve avr support. +7. Improve aarch64 support. +8. Improve moxie support. +9. Improve ppc support. +10. Improve tile support. + +Changes from binutils 2.23.51.0.1: + +1. Update from binutils 2012 0908. +2. Fix STB_SECONDARY support: + a. Generate STB_SECONDARY symbols in DSO by default. + b. Properly handle STB_SECONDAY symbols when linking with archive. + c. Don't allow .weak directive to override .secondary directive. +3. Optimize i386/x86-64 linker to convert GOT load (MOV) to LEA. +4. Clarify x86 assembler error messages. PR 14457. +5. Improve NOP/prefetch support in x86 disassembler. +6. Improve Intel syntax support in x86 assembler. +7. Add -march={btver1, btver2} options to x86 assembler. +8. Fix binutils build with --enable-shared. PR 4970. +9. Also provide __executable_start for PIE. PR 14525. +10. Use xmalloc to allocate memory for argument list file. PR 14526. +11. Add Intel Itanium Series 9500 support to assembler/diassembler. +12. Ignore section symbols without a BFD section when outputing symbols +and check bad section index. PR 14493. +13. Improve archive reader. PR 14475. +14. Support DW_OP_GNU_const_index reader. +15. Improve handling of imput files with empty ELF group sections. +PR 14444. +16. Fix IFUNC support in s390 linker. +17. Improve gold. +18. Add aarch64 support. +19. Improve arm support. +20. Improve mips support. +21. Improve mmix support. +22. Improve moxie support. +23. Improve ppc support. +24. Improve s390 support. +25. Improve tile support. + +Changes from binutils 2.22.52.0.4: + +1. Update from binutils 2012 0806. +2. Add Intel ADX, RDSEED and PRFCHW new instruction support. +3. Support 'rep bsf', 'rep bsr', and 'rep ret' syntax in x86 assembler. +4. Mark 256-bit vmovntdqa as AVX2 instruction for x86 assembler. +5. Improve x86 assembler error handling. +6. Improve the repeat directive support in assembler. PR 14201. +7. Improve x86-64 disassembler on superfluous prefixes. +8. Fix x86 disassembler crash on bad XOP instructions. PR 14355. +9. Support STB_SECONDARY: + +https://groups.google.com/forum/?hl=en&fromgroups#!forum/generic-abi + +10. Added SORT_NONE to the linker script language to disable section +sorting and properly handle .init/.fini sections. PR 14156. +11. Fix a weak alias linker bug. PR 14323. +12. Fix the NULL GNU_RELRO segment linker bug. PR 14207. +13. Fix the bad GNU_RELRO segment linker bug. PR 14215. +14. Add linker support of __ehdr_start symbol for the ELF file header. +15. Add IFUNC support to s390 linker. +16. Fix ar for >4GB member. PR 14302. +17. Fix objcopy --compress-debug-sections on empty debug section. PR +14319. +18. Fix readelf/objdup to display null bytes in DWARF debug info. PR +14420. +19. Improve gold. +20. Improve arm support. +21. Improve avr support. +22. Improve cris support. +23. Improve m68k support. +24. Improve mips support. +25. Improve ppc support. +26. Improve vax support. +27. Improve xgate support. + +Changes from binutils 2.22.52.0.3: + +1. Update from binutils 2012 0604. +2. Check addend overflow for R_X86_64_RELATIVE64. +3. Fix ar/nm/ranlib with --plugin. +4. Create .eh_frame_hdr section only if needed. PR 13909. +5. Properly create .eh_frame section for PLT. PR 14105. +6. Fix a linker crash. PR 14170. +7. Fix readelf to properly display addend. +8. Don't make _DYNAMIC/_GLOBAL_OFFSET_TABLE_/_PROCEDURE_LINKAGE_TABLE_ +symbols absolute for x86 and ppc. +9. Properly handle shared libraries with zero dynamic symbols. PRs +7023/13962. +10. Update readelf/assembler to support multibyte characters in symbol +names. +11. Add --strip-dwo/--extract-dwo options to objcopy/strip. +12. Add R_X86_64_RELATIVE64 support to gold. +13. Improve gold. +14. Improve NACL support. +15. Improve alpha support. +16. Improve avr support. +17. Improve m68k support. +18. Improve mips support. +19. Improve ppc support. +20. Improve vax support. + +Changes from binutils 2.22.52.0.2: + +1. Update from binutils 2012 0507. +2. Fix Linux kernel build by reverting the PR 13621 fix. PR 14052. +3. Add support for x86_64-*-linux-gnux32 target. +4. Improve x86 assembler. +5. Improve DWARF support. +6. Improve gold. +7. Improve rx support. +8. Improve sparc support. +9. Add xgate support. + +Changes from binutils 2.22.52.0.1: + +1. Update from binutils 2012 0424. +2. Support Intel HLE and RTM extension. +3. Add NACL support. +4. Fix -Bsymbolic with protected function pointer. PR 13880. +5. Fix an IFUNC regression. PR 13817. +6. Fix x86 NOP fill regression. PR 13675. +7. Fix a linker regression. PR 13991. +8. Fix dangling global hidden symbol in symtab. PR 13621. +9. Fix objcopy, strip and ld for --emit-relocs. PR 13947. +10. Improve gold. +11. Improve mach support. +12. Improve vms support. +13. Improve windows support. +14. Improve arm support. +15. Improve avr support. +16. Improve mips support. +17. Improve ppc support. +18. Improve rx support. +19. Improve s390 support. +20. Improve sh support. +21. Improve sparc support. +22. Improve tile support. + +Changes from binutils 2.22.51.0.1: + +1. Update from binutils 2012 0131. +2. Add x32 support to gold. +3. Support linker arch-depedent fill. PR 13616. +4. Add i386 NACL support to x86 assembler. +5. Add fake zero displacement for .d8 and .d32 suffixes to x86 assembler. +6. Add vmfunc support to x86 assembler/disassembler. +7. Support >2GB archive member. PR 13534. +8. Support R_X86_64_PC32 relocation for PIC on x32. PR 13581. +9. Fix LTO linker with --start-group and archive. PR 12758. +10. Fix linker with --build-id. PR 12451. +11. Improve linker dead code dependency removal on DSO. PR 12772. +12. Improve demangler. +13. Fix elf64-x86-64.c build with GCC 4.7. +14. Avoid linker -z text crash. PR 13468. +15. Avoid readelf crash. PR 13622. +16. Avoid nm crash on --size-sort --no-sort. PR 13593. +17. Fix linker COFF SECREL32 relocation support. PR 13491. +18. Improve gold. +19. Improve mach support. +20. Improve arm support. +21. Improve avr support. +22. Improve hppa support. +23. Improve m68k support. +24. Improve mips support. +25. Improve ppc support. +26. Improve rl78 support. +27. Improve rx support. + +Changes from binutils 2.21.53.0.2: + +1. Update from binutils 2011 1118. +2. Fix ar --plugin on archive with mixed IR/non-IR objects. PR 13298. +3. Preserve the maximum alignment and size for common symbols. PR 13250. +4. Fix LTO linker with -as-needed. PR 13287. +5. Fix --plugin support on thin archive. PR 13257. +6. Fix LTO linker on thin archive. PR 13183. +7. Fix --plugin slim object support on archive. PR 13278. +8. Support LDPR_PREVAILING_DEF_IRONLY_EXP in linker plugin. PR 13229. +9. Don't make make IR symbols dynamic. PR 13244. +10. Fix LTO linker with --as-needed. PR 13201. +11. Properly handle 2 IR symbols with the same comdat key. PR 13066. +12. Keep .debug_types sections with linker garbage collection. PR 13233. +13. Fix -ffunction-sections -Wl,--gc-sections failure with symbol +versioning. PR 13195. +14. Improve linker garbage collection support. PR 13177. +15. Remove symbols hidden by version scripts with --gc-sections. PR 12975. +16. Remove unnecessary GOT relocation created for IFUNC. PR 13178. +17. Move IRELATIVE relocations to the end. PR 13302. +18. Avoid readelf core dump. PR 13219. +19. Check zero address size when dumping DWARF sections. PR 13196. +20. Remove the group section if all members are removed. PR 13180. +21. Support R_X86_64_64 and R_X86_64_RELATIVE64 relocations for x32. +PR 13082. +22. Add Adapteva Epiphany support. +23. Add Renesas RL78 support. +24. Improve gold. +25. Improve mach-o support. +26. Improve alpha support. +27. Improve arm support. +28. Improve hppa support. +29. Improve mips support. +30. Improve ppc support. +31. Improve rx support. +32. Improve sparc support. + +Changes from binutils 2.21.53.0.1: + +1. Update from binutils 2011 0804. +2. Add Intel K1OM support. +3. Allow R_X86_64_64 relocation for x32 and check x32 relocation overflow. +PR ld/13048. +4. Support direct call in x86-64 assembly code. PR gas/13046. +5. Add ia32 Google Native Client support. +6. Add .debug_macro section support. +7. Improve gold. +8. Improve VMS support. +9. Improve arm support. +10. Improve hppa support. +11. Improve mips support. +12. Improve mmix support. +13. Improve ppc support. + +Changes from binutils 2.21.52.0.2: + +1. Update from binutils 2011 0716. +2. Fix LTO linker bugs. PRs 12982/12942. +3. Fix rorx support in x86 assembler/disassembler for AVX Programming +Reference (June, 2011). +4. Fix an x86-64 ELFOSABI linker regression. +5. Update ELFOSABI_GNU support. PR 12913. +6. Fix a linker regression with prelink support. PR 12921. +7. Add unwind info to x86 PLT section. PR 12570. +8. Support x32 core files. +9. Support native x32 linker. +10. Fix linker --gc-sections on note sections. PR 12851. +11. Avoid linker crash on bad input. PR 12887. +12. Add section flags in linker script. +13. Improve elf linker -z option support. +14. Fix nm on compressed debug sections. PR 12983. +15. Fix an ar bug. PR 12558. +16. Fix an ia64 linker regression. PR 12978. +17. Improve gold. +18. Improve VMS support. +19. Add TILE-Gx/TILEPro support. +20. Improve alpha support. +21. Improve avr support. +22. Improve mips support. +23. Improve arm support. +24. Improve ppc support. +25. Improve sh support. +26. Improve TIC6X support. + +Changes from binutils 2.21.52.0.1: + +1. Update from binutils 2011 0610. +2. Support AVX Programming Reference (June, 2011) +3. Allow R_X86_64_64 relocations in SEC_DEBUGGING sections when building +x32 shared libraries. Used to build kernel x32 vDSO. +4. Fix linker --gc-sections on note sections. PR 12851. +5. Update readelf to handle binaries containing corrupt version +information. PR 12855. +6. Improve gold. +7. Improve VMS support. +8. Improve mips support. + +Changes from binutils 2.21.51.0.9: + +1. Update from binutils 2011 0608. +2. Fix an x86 linker regression. PRs 12833/12837/12859. +3. Fix an x86-64 large model TLS linker bug. PR 12809. +4. Fix LTO bugs. PRs 12758/12760. +5. Add a new linker switch, -plugin-save-temps. +6. Fix an linker bug for warning on common symbol in archive. +7. Fix warning support when building shared library. PR 12761. +8. Reduce linker memory usage when linking many small object files. +PR 12682. +9. Fix a thin archive bug. PR 12710. +10. Fix a TLS linker bug. PR 12763. +11. Improve gold. +12. Improve DWARF dump support. +13. Improve XCOFF support. +14. Improve arm support. +15. Improve cris support. +16. Improve ia64 ILP32 support. +17. Improve mips support. +18. Improve ppc support. +19. Improve rx support. +20. Improve s390 support. +21. Improve tic30 support. +22. Improve tic6x support. +23. Improve v850 support. + +Changes from binutils 2.21.51.0.8: + +1. Update from binutils 2011 0507. +2. Improve LTO bfd linker. PRs 12365/12696/12672 +3. Fix a linker regression with constructor attribute in C++. PR 12730. +4. Warn relocation in readonly section when creating a shared object. +5. Remove empty output sections. PR 12718. +6. Remove DT_TEXTREL with local IFUNC symbols. PR 12694. +7. Properly set ELFOSABI_LINUX for STB_GNU_UNIQUE. PR 10549. +8. Fix objcopy on unusual input. PR 12632. +9. Fix an ar regression. PR 12720. +10 Avoid linker crash on bad linker input. +11. Fix a linker script regression. PR 12726. +12. Support new GNU DWARF extensions. +13. Initial support for SystemTap note sections. +14. Add --dwarf-start and --dwarf-end to readelf and objdump. +15. Disable 3dnow and 3dnowa for bdver1 in x86 assembler. +16. Improve gold. +17. Improve VMS support. +18. Improve arm support. +19. Improve mips support. +20. Improve ppc support. +21. Improve s390 support. +22. Improve tic6x support. + +Changes from binutils 2.21.51.0.7: + +1. Update from binutils 2011 0408. +2. Fix x32 TLS linker bug. +3. Enable .quad directive in x32 assembler. +4. Fix an assembler regression. PRs 12569/12589. +5. Add --size-check= assembler option to issue a warning, instead of an +error, on bad ELF .size directive. +6. Fix an ia32 linker bug with TLS/PIE. PR 12654. +7. Fix Intel L1OM linker library search path. +8. Fix a linker buffer overflow on malformed inputs. PR 12613. +9. Check corrupted symtab in nm/readelf. PR 12639. +10. Avoid objcopy crash on archive with unknown objects. PR 12632. +11. Fix "ar -t". PR 12590. +12. Fix many memory leaks. +13. Improve DWARF support. +14. Improve gold. +15. Improve VMS support. +16. Improve Windows support. +17. Improve alpha support. +18. Improve arm support. +19. Improve avr support. +20. Improve ppc support. +21. Improve sparc support. +22. Improve tic6x support. + +Changes from binutils 2.21.51.0.6: + +1. Update from binutils 2011 0306. +2. Supprt x32 TLS IE->LE transition. +3. Change x32 library directory from /lib32 to /libx32. +4. Improve LTO linker support. Fix PRs 12439/12314/12248/12430. +5. Improve linker plugin support. +6. Fix an ar bug. PR 12513. +7. Properly generate nops for ia32. PR 6957. +8. Improve readelf DT_GNU_HASH support. PR 12523. +9. Improve readelf on invalid input. PR 12467. +10. Update ELF assembler to issue an error on invalid .size directive. +PR 12519, +11. Properly handle PT_DYNAMIC segment with zero size sections. PR 12516. +12. Add a new linker option, --verbose=2, to report plugin symbol +status. +13. Properly handle entry symbols in linker LTO support. PR 12507. +14. Improve gold. +15. Improve arm support. +16. Improve bfin support. +17. Improve mips support. +18. Improve ppc support. + +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. + +It is available as hjl/linux/release/2.24.51.0.4 tag at + +https://sourceware.org/git/?p=binutils-gdb.git;a=summary + +Thanks. + + +H.J. Lu +hjl.tools@gmail.com +10/10/2014