diff options
Diffstat (limited to 'source/d/binutils/release.binutils-2.22.52.0.2')
-rw-r--r-- | source/d/binutils/release.binutils-2.22.52.0.2 | 508 |
1 files changed, 508 insertions, 0 deletions
diff --git a/source/d/binutils/release.binutils-2.22.52.0.2 b/source/d/binutils/release.binutils-2.22.52.0.2 new file mode 100644 index 00000000..a02ee03e --- /dev/null +++ b/source/d/binutils/release.binutils-2.22.52.0.2 @@ -0,0 +1,508 @@ +This is the beta release of binutils 2.22.52.0.2 for Linux, which is +based on binutils 2012 0424 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.22.52.0.2 to +hjl.tools@gmail.com + +and + +http://www.sourceware.org/bugzilla/ + +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.22.52.0.2.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 on linux/release/2.22.52.0.2 branch at + +http://git.kernel.org/?p=linux/kernel/git/hjl/binutils.git;a=summary + +Thanks. + + +H.J. Lu +hjl.tools@gmail.com +04/25/2012 |