This is the beta release of binutils 2.26.51.0.2 for Linux, which is
based on binutils 2016 0711 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.25.51.0.2 release, the x86 assembler will optimize
out relocations against defined non-weak global branch targets with
default visibility by default.  This Linux kernel patch is needed to
create a working x86 Linux kernel if it hasn't been updated to support
the newer assembler:

diff --git a/arch/x86/kernel/head_64.S b/arch/x86/kernel/head_64.S
index ae6588b..b91a00c 100644
--- a/arch/x86/kernel/head_64.S
+++ b/arch/x86/kernel/head_64.S
@@ -339,8 +339,8 @@ early_idt_handlers:
 	i = i + 1
 	.endr

-/* This is global to keep gas from relaxing the jumps */
-ENTRY(early_idt_handler)
+/* This is weak to keep gas from relaxing the jumps */
+WEAK(early_idt_handler)
 	cld

 	cmpl $2,(%rsp)		# X86_TRAP_NMI
--

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.26.51.0.2 to
hjl.tools@gmail.com

and

http://www.sourceware.org/bugzilla/

Changes from binutils 2.26.51.0.1:

1. Update from binutils 2016 0711.
2. Add support for Intel RDPID instructions.
3. Add --enable-relro and make it the default for Linux targets.
PR 20283.
4. Make --enable-compressed-debug-sections=gas the default for
Linux/x86 targets.
5. Add --no-pad-sections option to gas.
6. Add -z noreloc-overflow option to x86-64 ld.  PR 19807.
7. Speedup orphan placement for relocatable link.  PR 19739.
8. Fix .weakref directive with defined symbol.  PR 19498.
9. Fix assembler fegmentation fault on bad input.  PR 19896.
10. Set sh_entsize on .init_array, .fini_array and .preinit_array
sections.  PR 20118.
11. Treat common symbol in executable as definition.  PR 19579.
12. Allow zero length archive elements.  PR 19775.
13. Fix an --as-needed ld regression.  PR 19886.
14. Don't create dynamic sections for relocatable output.  PR 19789.
15. Always count the NULL entry in dynamic symbol table.
16. Handle symbols defined/referenced only within IR.  PR 20070.
17. Enable 64-bit archives in ar and ranlib.  PR 14625.
18. Improve symbol choice with objdump.  PR 20337.
19. Don't retrieve version info from synthetic symbols.  PR 20304.
20. Update objcopy to check corrupt binary.  PRs 20089/20096.
21. Check corrupt binary with invalid sh_link field.  PR 20063.
22. Strip global symbol defined in discarded section.  PR 17550.
23. Fix a linker crash with -shared --gc-sections -u.  PR 20306.
24. Properly handle dynamic reloc against normal symbol.  PR 19939.
25. Update ld to warn for duplicated plugin.  PR 20321.
26. Updated ld to use the IR symbol table for the IR input object. PRs
18250/20267.
27. Update ld to properly handle common symbol with LTO.  PR 20276.
28. Handle thin archives with LTO.  PR 20241.
29. Don't claim new IR symbols after all IR symbols have been claimed.
PR 20103.
30. Handle indirect branches for AMD64 and Intel64 in x86-64 assembler
and disassembler.  PR binutis/18386.
31. Don't use vec_disp8 encoding with the .d32 suffix.  PR 19909.
32. Improve x86-64 disassembler.  PRs 19983/19984.
33. Improve ".arch .noXXX" directives in x86 assembler.  PR 20145.
34. Require another match for AVX512VL in x86 assembler.  PR 20140.
35. Enable VREX for AVX512 directives in x86 assembler.  PR 20141.
36. Preserve addend for R_386_GOT32 and R_X86_64_GOT32 in x86 assembler.
PR 19600.
37. Update ld to remove PLT entry for IFUNC function via GOT.  PR 20253.
38. Don't check undefined symbols for relocations against x86 IFUNC
symbols.
39. Update x86 ld to skip relocations in non-loaded, non-alloced sections.
40. Update i386 ld to handle "op $imm, bar@GOT".  PR 20244.
41. Update x86 ld to support dynamic TLS models with indirect call.
42. Properly override IFUNC symbols in executales.  PRs 16467/20159.
43. Don't convert R_386_GOT32 relocation.  PR 20117.
44. Don't convert GOTPCREL relocation against large section.  PR 20093.
45. Updated x86-64 ld to Skip debug sections when estimating distances.
PR 20006.
46. Check run-time R_X86_64_32 relocation overflow.  PR 19969.
47. Update x86 ld to check ELF relocs after opening all input files.
48. Updated x86 ld to bind defined symbol locally in PIE. PR 19827.
49. Updated x86 ld to handle local IFUNC symbols in shared object.  PR
19784.
50. Improve gold support.
51. Improve COFF support.
52. Improve freebsd support.
53. Improve Solaris support.
54. Add dlx support.
55. Improve arc support.
56. Improve arm support.
57. Improve avr support.
58. Improve bfin upport.
59. Improve ft32 support.
60. Improve hppa support.
61. Improve msp430 support.
62. Improve mips support.
63. Improve ppc support.
64. Improve s390 support.
65. Improve sparc support.
66. Improve z8k support.

Changes from binutils 2.25.51.0.4:

1. Update from binutils 2016 0226.
2. Add support for Intel rdpkru and wrpkru instructions.
3. Fix wrong GOT offset used with GOT relocation in i386 linker.  PR
19601.
4. Fix AVX512 register number check in x86 assembler.
5. Fix a segmentation fault with IFUNC in x86 linker.  PR 19539.
6. Optimize local symbol address load for x86 ld.  PR 19609.
7. Make behaviors of dynamic executable and position independent
executable predictable with mixed PIC and non-PIC references to
undefined weak symbols.  Remove unused dynamic symbols.  Add
-z nodynamic-undefined-weak to x86 ELF linker.  PRs 19636/19704/19719.
8. Add -mrelax-relocations= to x86 assembler.  PR 19520.
9. Add -mfence-as-lock-add= to x86 assembler.
10. Improve 32-bit x86 disassembler with buffer address > 2GB.
11. Speedup x86-64 linker optimization.  PR 19542.
12. Fix a linker regression with linker-defined versioned symbol.  PR
19698.
13. Enable -E/--export-dynamic for static link.  PR 19617.
14. Re-enable -Bsymbolic and -Bsymbolic-functions for PIE.  PR 19615.
15. Remove extra section symbols with objcopy/strip.  PR 19547.
16. Don't add DT_NEEDED for unmatched symbol.  PR 19553.
17. Support gnu_debuglink with compressed debug sections.  PR 19523.
18. Fix STT_COMMON support.  Add -z common/-z nocommon options to ELF
linker.  Add --elf-stt-common= option to ELF objcopy.  PR 19645.
19. Improve LTO for relocatable link.  PR 19317.
20. Improve LTO for mingw.  PR 18199.
21. Improve ar.  PR 19256.
22. Improve addr2line.  PR 19315.
23. Improve gold support.
24. Improve COFF support.
25. Improve Mach-O support.
26. Improve aarch64 support.
27. Improve arc support.
28. Improve arm support.
29. Improve m68k support.
30. Improve hppa support.
31. Improve microblaze support.
32. Improve msp430 support.
33. Improve nios2 support.
34. Improve ppc support.
35. Improve rl78 support.
36. Improve rx support.
37. Improve s390 support.
38. Improve sparc support.
39. Improve xtensa support.

Changes from binutils 2.25.51.0.3:

1. Update from binutils 2015 1114.
2. Add support for Intel IA MCU psABI.
3. Implement new R_386_GOT32X, R_X86_64_GOTPCRELX and
R_X86_64_REX_GOTPCRELX relocations with linker optimization in ld.
4. Fix x86 assembler bugs.  PRs 18631/18257/13571.
5. Add monitorx/mwaitx instructions to x86 assembler/disassembler.
6. Change --compress-debug-sections and --compress-debug-sections=zlib
to zlib-gabi for gas, ld and gold.
7. Fix a SHF_COMPRESSED bug.  PR 18656.
8. Remove unnecessary x86 PLT entry for function pointer initialization.
PR 18900.
9. Add --enable-compressed-debug-sections to configure to enable
compressed debug sections in ld and gas by default.  Currently, it
is off by default.
10. Speed up "ld -r" for x86 and ppc.
11. Improve "ld -r".  PR 18867.
12. Always enable --sysroot in ld.  PR 18992.
13. Remove --warn-orphan and --orphan-handling for ld.
14. Reduce binary size after linking sections with "a" and "wa" flags.
PR 19162.
15. Properly handle __start_* and __stop_* symbols in --gc-sections.
PRs 19161/19167.
16. Properly handle > 2GB elf file on 32bit hosts.  PR 19123.
17. Properly handle R_386_PC32 and R_X86_64_PC32 relocations in non-code
sections.  PR 19031.
18. Properly sort x86 IFUNC relocations.  PR 18841.
19. Fix symbol versioning without PLT.  PR 18718.
20. Issue an error for read-only segment with dynamic x86 IFUNC
relocations.  PR 18801.
21. Skip IFUNC relocations in debug sections.  PR 18808.
22. Properly merge hidden versioned symbol.  PRs 18720/18785.
23. Properly copy sh_link and sh_info fields of sections for objcopy
with --only-keep-debug.
24. Don't change the default symbol for relocatable link.  PR 18735.
25. Support more than one SHT_SYMTAB_SHNDX sections.  PR 15835.
26. Properly merge input string sections.  PR 19013.
27. Don't re-export a symbol if it isn't undefined.  PR 18914.
28. Fix objcopy with --pad-to= --reverse-bytes= -interleave=.  PRs
19005/19020.
29. Add static PIE support to ld.
30. Fix an objdump crash.  PR 18570.
31. Add --gc-sections support for COFF.  PR 11539.
32. Improve DT_VERNEED and DT_VERDEF support in readelf.
33. Add --add-symbol to objcopy.
34. Add -s/--output-separator to strings.
35. Remove support for older ARC. Added support for new ARC cpus (ARC600,
ARC601, ARC700, ARCV2).
36. Add support for CloudABI on aarch64.
37. Improve gold support.
38. Improve PE support.
39. Improve aarch64 support.
40. Improve alpha support.
41. Improve arm support.
42. Improve avr support.
43. Improve cris support.
44. Improve hppa support.
45. Improve mips support.
46. Improve msp430 support.
47. Improve nios2 support.
48. Improve or1k support.
49. Improve ppc support.
50. Improve rl78 support.
51. Improve rx support.
52. Improve s390 support.
53. Improve sh support.
54. Improve v850 support.
55. Improve xtensa support.

Changes from binutils 2.25.51.0.2:

1. Update from binutils 2015 0630.
2. Fix the i386/x86-64 linker regression with prelink support.  Prelink
may corrupt glibc binaries created by the 2.25.51.0.2 i386/x86-64 linker:

https://bugzilla.redhat.com/show_bug.cgi?id=1235068

3. Skip extra relocations in .rel.plt/.rela.plt added by the third-party
tool.  PR binutils/18437.
4. Fix invalid R_X86_64_GOTPCREL -> R_X86_64_PC32 conversions.
PR ld/18591.
5. Reduce the size of ELF .strtab section with GC and suffix merging.
PR gas/18451.
6. Improve Intel syntax support in x86 assembler.
7. Add compact EH support.
8. Add --sectname-subst option to assembler.
9. Add --print-memory-usage option to bfd linker.
10. Improve gold support.
11. Improve PE support.
12. Improve aarch64 support.
13. Improve arm support.
14. Improve hppa support.
15. Improve mips support.
16. Improve msp430 support.
17. Improve ppc support.

Changes from binutils 2.25.51.0.1:

1. Update from binutils 2015 0515.
2. Add support for Intel MCU psABI.
3. Add supporr for AMD znver1 processor.
4. Enable gABI compressed debug section support to as and binutils.
5. Add --compress-debug-sections=[none|zlib|zlib-gnu|zlib-gabi] support
to ld and gold.
6. Don't create .plt section if not needed.
7. Add branch optimization to x86 assembler.
8. Change x86 assembler to limit multi-byte nop instructions to 10 bytes.
9. Remove .note section for -march= in x86 assembler.
10. Don't change compressed input debug section names.  PR binutils/18209.
11. Support copy relocation in PIE for i386.  PR ld/18289.
12. Support copy relocation on protected symbols for i386 and x86-64.
PRs ld/15228/17709.
13. Don't remove _init/_fini functions with --gc-sections.  PR ld/18223.
14. Don't remove .bss section with --gc-sections.  PR ld/17615.
15. Don't create large padding for PT_GNU_RELRO segment.  PR ld/18176.
16. Add llvm plugin support to ld.  PRs ld/17878/18250.
17. Generate correct sh_info for .rel.plt/.rela.plt sections.  PR ld/18169.
18. Fix PIE copy relocations with pointers on x86-64.  PR ld/17827.
19. Change ld not to print newlines in INPUT statements.  PRs ld/18344.
20. Support both AMD64 and Intel64 in x86-64 assembler and
disassembler.  PR binutis/18386.
21. Fix x86 disassembler for rdrand/rdseed.  PR binutils/17898.
22. Add -z/--decompress option to readelf.
23. Add --update-section option to objcopy.
24. Properly dump .debug_loc section.  PR binutils/18374.
25. Properly dump .debug_str_offsets section.  PR binutils/18218.
26. Change readelf -s --wide to issue an error.  PR binutils/18101.
27. Change objcopy not to leave temporary directory in case of error.
PR binutils/17636.
28. Avoid gaps between sections and section headers when ld -s is used.
PRs ld/17773/17842.
29. Issue a warning for relocation in readonly section for -z text.
PR ld/17935.
30. Don't complain about -fPIC for undefined symbol.  PR ld/17847.
31. Don't ignore undefined references produced by linker plugin.
PRs ld/12365/14272.
32. Removed undefined symbols in static executables.  PR ld/4317.
33. Remove useless symbols.  PRs ld/17973/17975.
34. Avoid seg fault when input relocation is incompatible with output.
PR ld/18160.
35. Fix more memory access issues.  PRs ld/17512/17531.
36. Add Nuxi CloudABI support.
37. Add ft32 support.
38. Add Linux/h8300 support.
39. Improve gold support.
40. Improve COFF support.
41. Improve PE support.
42. Improve aarch64 support.
43. Improve arm support.
44. Improve avr support.
45. Improve m32c support.
46. Improve mep support.
47. Improve microblaze support.
48. Improve mips support.
49. Improve moxie support.
50. Improve msp430 support.
51. Improve nds32 support.
52. Improve pdp11 support.
53. Improve ppc support.
54. Improve rl78 support.
55. Improve rx support.
56. Improve s390 support.
57. Improve sh support.
58. Improve sh64 support.
59. Improve v850 support.
60. Improve xtensa support.

Changes from binutils 2.24.51.0.4:

1. Update from binutils 2014 1224.
2. Update Intel instruction extension support to October, 2014,
including AVX512VBMI, AVX512IFMA, PCOMMIT and CLWB.
3. --compress-debug-sections is turned on for Linux/x86 assembler by
default.
4. Deprecate R_X86_64_PC32_BND and R_X86_64_PLT32_BND support.  Add
-z bndplt linker option to enable MPX PLT.
5. Support copy relocations in x86-64 PIE.
6. Don't output symbol version definitions for non-DT_NEEDED libs.
PR ld/16452, ld/16457.
7. Optimize out i386/x86-64 JUMP_SLOT relocation.
8. Check PC-relative offset overflow in x86-64 PLT entry.  PR ld/17618.
9. Check branch displacement overflow in x86-64 PLT entry.
10. Fix many memory access issues.  PRs ld/17453, binutils/17510,
binutils/17512, binutils/17531, binutils/17533, binutils/17597,
PR binutuls/17605, PR ld/17713.
11. Disallow copy relocations against protected symbols.  PR ld/15228.
12. Fix an x86 assembler crash on invalid input.  PR gas/17493.
12. Fix an addr2line bug.  PR binutils/17541.
14. Sort relocs output by ld -r.  PR ld/17666.
15. Speed up x86 PLT dump.  PR binutils/17677.
16. Update x86 assembler to add REX prefix to encode R_X86_64_GOTTPOFF
for x32.  PR ld/17482.
17. Run eh_frame optimisation for relocatable link.  PR ld/17467.
18. Discard zero address range eh_frame FDEs.  PR ld/17447.
19. Add support for more than one plugin in lib/bfd-plugins.  PR ld/17422.
20. Add -D/-U options to objcopy/strip.  PR binutils/17671.
21. Don't check shared libraries for .eh_frame sections nor --build-id.
PR ld/17742.
22. Fix exception frame section with static link for gold.  PR gold/14675.
23. Handle stack split for x32 in gold.  PR gold/17729.
24. Initial visium support.
25. Improve gold support.
26. Improve COFF support.
27. Improve aarch64 support.
28. Improve arm support.
29. Improve avr support.
30. Improve mips support.
31. Improve moxie support.
32. Improve msp430 support.
33. Improve nios2 support.
34. Improve ppc/ppc64 support.
35. Improve sparc support.
36. Improve spu support.

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 users/hjl/linux/release/2.26.51.0.2 tag at

https://sourceware.org/git/?p=binutils-gdb.git;a=summary

Thanks.


H.J. Lu
hjl.tools@gmail.com
07/25/2016
