This is the beta release of binutils 2.26.51.0.1 for Linux, which is
based on binutils 2015 1114 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.1 to
hjl.tools@gmail.com

and

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

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.1 tag at

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

Thanks.


H.J. Lu
hjl.tools@gmail.com
02/29/2016
