summaryrefslogtreecommitdiff
path: root/source/d/binutils
diff options
context:
space:
mode:
Diffstat (limited to 'source/d/binutils')
-rw-r--r--source/d/binutils/binutils-2.22.52.0.2.tar.signbin543 -> 0 bytes
-rw-r--r--source/d/binutils/binutils-2.23.52.0.1.tar.signbin0 -> 543 bytes
-rwxr-xr-xsource/d/binutils/binutils.SlackBuild13
-rw-r--r--source/d/binutils/binutils.addr2line.dynsymtab.diff128
-rw-r--r--source/d/binutils/binutils.export.demangle.h.diff33
-rw-r--r--source/d/binutils/binutils.no-config-h-check.diff28
-rw-r--r--source/d/binutils/binutils.revert.pr15149.diff22
-rw-r--r--source/d/binutils/binutils.texinfo5.diff201
-rw-r--r--source/d/binutils/release.binutils-2.23.52.0.1 (renamed from source/d/binutils/release.binutils-2.22.52.0.2)279
9 files changed, 697 insertions, 7 deletions
diff --git a/source/d/binutils/binutils-2.22.52.0.2.tar.sign b/source/d/binutils/binutils-2.22.52.0.2.tar.sign
deleted file mode 100644
index c2bf9930..00000000
--- a/source/d/binutils/binutils-2.22.52.0.2.tar.sign
+++ /dev/null
Binary files differ
diff --git a/source/d/binutils/binutils-2.23.52.0.1.tar.sign b/source/d/binutils/binutils-2.23.52.0.1.tar.sign
new file mode 100644
index 00000000..83daf366
--- /dev/null
+++ b/source/d/binutils/binutils-2.23.52.0.1.tar.sign
Binary files differ
diff --git a/source/d/binutils/binutils.SlackBuild b/source/d/binutils/binutils.SlackBuild
index 02791dc1..82b7f181 100755
--- a/source/d/binutils/binutils.SlackBuild
+++ b/source/d/binutils/binutils.SlackBuild
@@ -1,6 +1,6 @@
#!/bin/sh
-# Copyright 2005-2012 Patrick J. Volkerding, Sebeka, Minnesota, USA
+# Copyright 2005-2013 Patrick J. Volkerding, Sebeka, Minnesota, USA
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -100,6 +100,17 @@ tar xvf $CWD/binutils-$VERSION.tar.xz || \
tar xvf $CWD/binutils-$VERSION.tar.bz2 || exit 1
cd binutils-$VERSION
+# Use dynamic symbol table if addr2line can't find ordinary symbols:
+zcat $CWD/binutils.addr2line.dynsymtab.diff.gz | patch -p1 --verbose || exit 1
+# Export the demangle.h header file:
+zcat $CWD/binutils.export.demangle.h.diff.gz | patch -p1 --verbose || exit 1
+# Don't check to see if "config.h" was included in the installed headers:
+zcat $CWD/binutils.no-config-h-check.diff.gz | patch -p1 --verbose || exit 1
+# Revert a patch that broke library linking for weak symbols:
+zcat $CWD/binutils.revert.pr15149.diff.gz | patch -p1 --verbose || exit 1
+# Prepare for texinfo-5.x... someday:
+zcat $CWD/binutils.texinfo5.diff.gz | patch -p1 --verbose || exit 1
+
chown -R root:root .
find . \
\( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \
diff --git a/source/d/binutils/binutils.addr2line.dynsymtab.diff b/source/d/binutils/binutils.addr2line.dynsymtab.diff
new file mode 100644
index 00000000..ee71eb7e
--- /dev/null
+++ b/source/d/binutils/binutils.addr2line.dynsymtab.diff
@@ -0,0 +1,128 @@
+--- ./bfd/opncls.c.orig 2013-02-27 14:28:03.000000000 -0600
++++ ./bfd/opncls.c 2013-04-02 15:56:55.703204116 -0500
+@@ -1297,6 +1297,8 @@
+ bfd_malloc (strlen (debug_file_directory) + 1
+ + (canon_dirlen > dirlen ? canon_dirlen : dirlen)
+ + strlen (".debug/")
++#define FEDORA_LIB_DEBUG_DIR "/usr/lib/debug/"
++ + strlen (FEDORA_LIB_DEBUG_DIR) + strlen ("usr/")
+ + strlen (base)
+ + 1);
+ if (debugfile == NULL)
+@@ -1332,6 +1334,26 @@
+ return debugfile;
+ }
+
++ /* Then try in the global debug dir for Fedora libraries. */
++ sprintf (debugfile, "%s%s%s", FEDORA_LIB_DEBUG_DIR, dir, base);
++ if (separate_debug_file_exists (debugfile, crc32))
++ {
++ free (base);
++ free (dir);
++ free (canon_dir);
++ return debugfile;
++ }
++
++ /* Then try in the usr subdirectory of the global debug dir for Fedora libraries. */
++ sprintf (debugfile, "%s/usr%s%s", FEDORA_LIB_DEBUG_DIR, dir, base);
++ if (separate_debug_file_exists (debugfile, crc32))
++ {
++ free (base);
++ free (dir);
++ free (canon_dir);
++ return debugfile;
++ }
++
+ /* Then try in the global debugfile directory. */
+ strcpy (debugfile, debug_file_directory);
+ dirlen = strlen (debug_file_directory) - 1;
+--- ./bfd/dwarf2.c.orig 2013-02-27 14:28:03.000000000 -0600
++++ ./bfd/dwarf2.c 2013-04-02 15:56:55.704204116 -0500
+@@ -3339,8 +3339,11 @@
+ struct dwarf2_debug *stash;
+ /* What address are we looking for? */
+ bfd_vma addr;
++ /* What is the address without relocation ? */
++ bfd_vma unrelocated_addr;
+ struct comp_unit* each;
+ bfd_vma found = FALSE;
++ bfd_vma possible_find = FALSE;
+ bfd_boolean do_line;
+
+ *filename_ptr = NULL;
+@@ -3380,6 +3383,12 @@
+ else
+ abort ();
+
++ /* If we are dealing with PIC code then the debug information
++ will be based on unrelocated addresses. Since we cannot be
++ sure if this is a PIC address we test both with and without
++ relocation. */
++ unrelocated_addr = addr;
++
+ if (section->output_section)
+ addr += section->output_section->vma + section->output_offset;
+ else
+@@ -3442,6 +3451,16 @@
+ stash));
+ if (found)
+ goto done;
++
++ if (! possible_find)
++ possible_find = ((each->arange.high == 0
++ || comp_unit_contains_address (each, unrelocated_addr))
++ && comp_unit_find_nearest_line (each, unrelocated_addr,
++ filename_ptr,
++ functionname_ptr,
++ linenumber_ptr,
++ discriminator_ptr,
++ stash));
+ }
+ }
+
+@@ -3535,6 +3554,16 @@
+ discriminator_ptr,
+ stash));
+
++ if (! found && ! do_line && ! possible_find)
++ possible_find = ((each->arange.high == 0
++ || comp_unit_contains_address (each, unrelocated_addr))
++ && comp_unit_find_nearest_line (each, unrelocated_addr,
++ filename_ptr,
++ functionname_ptr,
++ linenumber_ptr,
++ discriminator_ptr,
++ stash));
++
+ if ((bfd_vma) (stash->info_ptr - stash->sec_info_ptr)
+ == stash->sec->size)
+ {
+@@ -3552,6 +3581,8 @@
+ if ((abfd->flags & (EXEC_P | DYNAMIC)) == 0)
+ unset_sections (stash);
+
++ if (! found)
++ return possible_find;
+ return found;
+ }
+
+--- ./binutils/addr2line.c.orig 2013-02-27 14:28:03.000000000 -0600
++++ ./binutils/addr2line.c 2013-04-02 15:56:55.703204116 -0500
+@@ -130,6 +130,17 @@
+ symcount = bfd_canonicalize_symtab (abfd, syms);
+ if (symcount < 0)
+ bfd_fatal (bfd_get_filename (abfd));
++
++ /* If there are no symbols left after canonicalization and
++ we have not tried the dynamic symbols then give them a go. */
++ if (symcount == 0
++ && ! dynamic
++ && (storage = bfd_get_dynamic_symtab_upper_bound (abfd)) > 0)
++ {
++ free (syms);
++ syms = xmalloc (storage);
++ symcount = bfd_canonicalize_dynamic_symtab (abfd, syms);
++ }
+ }
+
+ /* These global variables are used to pass information between
diff --git a/source/d/binutils/binutils.export.demangle.h.diff b/source/d/binutils/binutils.export.demangle.h.diff
new file mode 100644
index 00000000..1f31cd11
--- /dev/null
+++ b/source/d/binutils/binutils.export.demangle.h.diff
@@ -0,0 +1,33 @@
+--- ./bfd/Makefile.in.orig 2013-02-27 14:28:03.000000000 -0600
++++ ./bfd/Makefile.in 2013-04-02 15:54:59.559209068 -0500
+@@ -156,7 +156,8 @@
+ installcheck-recursive installdirs-recursive pdf-recursive \
+ ps-recursive uninstall-recursive
+ am__bfdinclude_HEADERS_DIST = $(INCDIR)/plugin-api.h bfd.h \
+- $(INCDIR)/ansidecl.h $(INCDIR)/symcat.h $(INCDIR)/bfdlink.h
++ $(INCDIR)/ansidecl.h $(INCDIR)/symcat.h $(INCDIR)/bfdlink.h \
++ $(INCDIR)/demangle.h
+ HEADERS = $(bfdinclude_HEADERS)
+ RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \
+ distclean-recursive maintainer-clean-recursive
+@@ -350,7 +351,8 @@
+ @INSTALL_LIBBFD_FALSE@bfdinclude_HEADERS = $(am__append_2)
+ @INSTALL_LIBBFD_TRUE@bfdinclude_HEADERS = $(BFD_H) \
+ @INSTALL_LIBBFD_TRUE@ $(INCDIR)/ansidecl.h $(INCDIR)/symcat.h \
+-@INSTALL_LIBBFD_TRUE@ $(INCDIR)/bfdlink.h $(am__append_2)
++@INSTALL_LIBBFD_TRUE@ $(INCDIR)/bfdlink.h $(INCDIR)/demangle.h \
++@INSTALL_LIBBFD_TRUE@ $(am__append_2)
+ @INSTALL_LIBBFD_FALSE@rpath_bfdlibdir = @bfdlibdir@
+ @INSTALL_LIBBFD_FALSE@noinst_LTLIBRARIES = libbfd.la
+ AM_CFLAGS = $(WARN_CFLAGS)
+--- ./bfd/Makefile.am.orig 2013-02-27 14:28:03.000000000 -0600
++++ ./bfd/Makefile.am 2013-04-02 15:54:59.558209068 -0500
+@@ -35,7 +35,7 @@
+ bfdlibdir = @bfdlibdir@
+ bfdincludedir = @bfdincludedir@
+ bfdlib_LTLIBRARIES = libbfd.la
+-bfdinclude_HEADERS = $(BFD_H) $(INCDIR)/ansidecl.h $(INCDIR)/symcat.h $(INCDIR)/bfdlink.h
++bfdinclude_HEADERS = $(BFD_H) $(INCDIR)/ansidecl.h $(INCDIR)/symcat.h $(INCDIR)/bfdlink.h $(INCDIR)/demangle.h
+ else !INSTALL_LIBBFD
+ # Empty these so that the respective installation directories will not be created.
+ bfdlibdir =
diff --git a/source/d/binutils/binutils.no-config-h-check.diff b/source/d/binutils/binutils.no-config-h-check.diff
new file mode 100644
index 00000000..55cba7fb
--- /dev/null
+++ b/source/d/binutils/binutils.no-config-h-check.diff
@@ -0,0 +1,28 @@
+--- ./bfd/bfd-in2.h.orig 2013-02-27 14:28:03.000000000 -0600
++++ ./bfd/bfd-in2.h 2013-04-02 15:57:44.847202021 -0500
+@@ -32,11 +32,6 @@
+ #ifndef __BFD_H_SEEN__
+ #define __BFD_H_SEEN__
+
+-/* PR 14072: Ensure that config.h is included first. */
+-#if !defined PACKAGE && !defined PACKAGE_VERSION
+-#error config.h must be included before this header
+-#endif
+-
+ #ifdef __cplusplus
+ extern "C" {
+ #endif
+--- ./bfd/bfd-in.h.orig 2013-02-27 14:28:03.000000000 -0600
++++ ./bfd/bfd-in.h 2013-04-02 15:57:44.846202021 -0500
+@@ -25,11 +25,6 @@
+ #ifndef __BFD_H_SEEN__
+ #define __BFD_H_SEEN__
+
+-/* PR 14072: Ensure that config.h is included first. */
+-#if !defined PACKAGE && !defined PACKAGE_VERSION
+-#error config.h must be included before this header
+-#endif
+-
+ #ifdef __cplusplus
+ extern "C" {
+ #endif
diff --git a/source/d/binutils/binutils.revert.pr15149.diff b/source/d/binutils/binutils.revert.pr15149.diff
new file mode 100644
index 00000000..f1fe6279
--- /dev/null
+++ b/source/d/binutils/binutils.revert.pr15149.diff
@@ -0,0 +1,22 @@
+--- ./bfd/elflink.c.orig 2013-02-27 14:28:03.000000000 -0600
++++ ./bfd/elflink.c 2013-04-02 15:54:06.072211349 -0500
+@@ -4080,8 +4080,7 @@
+ FALSE, FALSE, FALSE);
+
+ if (h != NULL
+- && (h->root.type == bfd_link_hash_undefined
+- || h->root.type == bfd_link_hash_undefweak)
++ && h->root.type == bfd_link_hash_undefined
+ && h->root.u.undef.abfd)
+ undef_bfd = h->root.u.undef.abfd;
+ }
+@@ -4201,8 +4200,7 @@
+ FALSE, FALSE, FALSE);
+
+ if (h != NULL
+- && (h->root.type == bfd_link_hash_undefined
+- || h->root.type == bfd_link_hash_undefweak)
++ && h->root.type == bfd_link_hash_undefined
+ && h->root.u.undef.abfd)
+ undef_bfd = h->root.u.undef.abfd;
+ }
diff --git a/source/d/binutils/binutils.texinfo5.diff b/source/d/binutils/binutils.texinfo5.diff
new file mode 100644
index 00000000..b81529e0
--- /dev/null
+++ b/source/d/binutils/binutils.texinfo5.diff
@@ -0,0 +1,201 @@
+--- ./gas/doc/c-cr16.texi.orig 2013-02-27 14:28:03.000000000 -0600
++++ ./gas/doc/c-cr16.texi 2013-04-02 15:56:15.582205827 -0500
+@@ -44,26 +44,33 @@
+ CR16 target operand qualifiers and its size (in bits):
+
+ @table @samp
+-@item Immediate Operand
+-- s ---- 4 bits
+-@item
+-- m ---- 16 bits, for movb and movw instructions.
+-@item
+-- m ---- 20 bits, movd instructions.
+-@item
+-- l ---- 32 bits
+-
+-@item Absolute Operand
+-- s ---- Illegal specifier for this operand.
+-@item
+-- m ---- 20 bits, movd instructions.
+-
+-@item Displacement Operand
+-- s ---- 8 bits
+-@item
+-- m ---- 16 bits
+-@item
+-- l ---- 24 bits
++@item Immediate Operand: s
++4 bits.
++
++@item Immediate Operand: m
++16 bits, for movb and movw instructions.
++
++@item Immediate Operand: m
++20 bits, movd instructions.
++
++@item Immediate Operand: l
++32 bits.
++
++@item Absolute Operand: s
++Illegal specifier for this operand.
++
++@item Absolute Operand: m
++20 bits, movd instructions.
++
++@item Displacement Operand: s
++8 bits.
++
++@item Displacement Operand: m
++16 bits.
++
++@item Displacement Operand: l
++24 bits.
++
+ @end table
+
+ For example:
+--- ./gas/doc/c-arm.texi.orig 2013-02-27 14:28:03.000000000 -0600
++++ ./gas/doc/c-arm.texi 2013-04-02 15:56:15.582205827 -0500
+@@ -390,29 +390,29 @@
+ @code{unified} syntax, which can be selected via the @code{.syntax}
+ directive, and has the following main features:
+
+-@table @bullet
+-@item
++@table @code
++@item 1
+ Immediate operands do not require a @code{#} prefix.
+
+-@item
++@item 2
+ The @code{IT} instruction may appear, and if it does it is validated
+ against subsequent conditional affixes. In ARM mode it does not
+ generate machine code, in THUMB mode it does.
+
+-@item
++@item 3
+ For ARM instructions the conditional affixes always appear at the end
+ of the instruction. For THUMB instructions conditional affixes can be
+ used, but only inside the scope of an @code{IT} instruction.
+
+-@item
++@item 4
+ All of the instructions new to the V6T2 architecture (and later) are
+ available. (Only a few such instructions can be written in the
+ @code{divided} syntax).
+
+-@item
++@item 5
+ The @code{.N} and @code{.W} suffixes are recognized and honored.
+
+-@item
++@item 6
+ All instructions set the flags if and only if they have an @code{s}
+ affix.
+ @end table
+@@ -451,28 +451,6 @@
+ @cindex register names, ARM
+ *TODO* Explain about ARM register naming, and the predefined names.
+
+-@node ARM-Neon-Alignment
+-@subsection NEON Alignment Specifiers
+-
+-@cindex alignment for NEON instructions
+-Some NEON load/store instructions allow an optional address
+-alignment qualifier.
+-The ARM documentation specifies that this is indicated by
+-@samp{@@ @var{align}}. However GAS already interprets
+-the @samp{@@} character as a "line comment" start,
+-so @samp{: @var{align}} is used instead. For example:
+-
+-@smallexample
+- vld1.8 @{q0@}, [r0, :128]
+-@end smallexample
+-
+-@node ARM Floating Point
+-@section Floating Point
+-
+-@cindex floating point, ARM (@sc{ieee})
+-@cindex ARM floating point (@sc{ieee})
+-The ARM family uses @sc{ieee} floating-point numbers.
+-
+ @node ARM-Relocations
+ @subsection ARM relocation generation
+
+@@ -519,6 +497,28 @@
+ MOVT r0, #:upper16:foo
+ @end smallexample
+
++@node ARM-Neon-Alignment
++@subsection NEON Alignment Specifiers
++
++@cindex alignment for NEON instructions
++Some NEON load/store instructions allow an optional address
++alignment qualifier.
++The ARM documentation specifies that this is indicated by
++@samp{@@ @var{align}}. However GAS already interprets
++the @samp{@@} character as a "line comment" start,
++so @samp{: @var{align}} is used instead. For example:
++
++@smallexample
++ vld1.8 @{q0@}, [r0, :128]
++@end smallexample
++
++@node ARM Floating Point
++@section Floating Point
++
++@cindex floating point, ARM (@sc{ieee})
++@cindex ARM floating point (@sc{ieee})
++The ARM family uses @sc{ieee} floating-point numbers.
++
+ @node ARM Directives
+ @section ARM Machine Directives
+
+--- ./gas/doc/c-tic54x.texi.orig 2013-02-27 14:28:03.000000000 -0600
++++ ./gas/doc/c-tic54x.texi 2013-04-02 15:56:15.583205827 -0500
+@@ -109,7 +109,7 @@
+ is replaced with x. At this point, x has already been encountered
+ and the substitution stops.
+
+-@smallexample @code
++@smallexample
+ .asg "x",SYM1
+ .asg "SYM1",SYM2
+ .asg "SYM2",x
+@@ -126,14 +126,14 @@
+ ambiguous by placing colons on either side of the subsym. The following
+ code:
+
+-@smallexample @code
++@smallexample
+ .eval "10",x
+ LAB:X: add #x, a
+ @end smallexample
+
+ When assembled becomes:
+
+-@smallexample @code
++@smallexample
+ LAB10 add #10, a
+ @end smallexample
+
+@@ -309,7 +309,7 @@
+ of a label or address. For example, if an address @code{_label} resides
+ in extended program memory, the value of @code{_label} may be loaded as
+ follows:
+-@smallexample @code
++@smallexample
+ ldx #_label,16,a ; loads extended bits of _label
+ or #_label,a ; loads lower 16 bits of _label
+ bacc a ; full address is in accumulator A
+--- ./gas/doc/c-arc.texi.orig 2013-02-27 14:28:03.000000000 -0600
++++ ./gas/doc/c-arc.texi 2013-04-02 15:56:15.582205827 -0500
+@@ -220,7 +220,7 @@
+ encodings for use of these instructions according to the specification
+ by the user. The parameters are:
+
+-@table @bullet
++@table @code
+ @item @var{name}
+ Name of the extension instruction
+
diff --git a/source/d/binutils/release.binutils-2.22.52.0.2 b/source/d/binutils/release.binutils-2.23.52.0.1
index a02ee03e..192948f3 100644
--- a/source/d/binutils/release.binutils-2.22.52.0.2
+++ b/source/d/binutils/release.binutils-2.23.52.0.1
@@ -1,11 +1,16 @@
-This is the beta release of binutils 2.22.52.0.2 for Linux, which is
-based on binutils 2012 0424 in CVS on sourceware.org plus various
+This is the beta release of binutils 2.23.52.0.1 for Linux, which is
+based on binutils 2013 0226 in CVS on sourceware.org plus various
changes. It is purely for Linux.
All relevant patches in patches have been applied to the source tree.
You can take a look at patches/README to see what have been applied and
in what order they have been applied.
+Starting from the 2.23.52.0.1 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:
@@ -115,13 +120,275 @@ endif
to arch/ia64/Makefile in your kernel source tree.
-Please report any bugs related to binutils 2.22.52.0.2 to
+Please report any bugs related to binutils 2.23.52.0.1 to
hjl.tools@gmail.com
and
http://www.sourceware.org/bugzilla/
+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.
@@ -490,13 +757,13 @@ already been defined. PR 12001.
The file list:
-1. binutils-2.22.52.0.2.tar.bz2. Source code.
+1. binutils-2.23.52.0.1.tar.bz2. Source code.
The primary sites for the beta Linux binutils are:
1. http://www.kernel.org/pub/linux/devel/binutils/
-It is also available on linux/release/2.22.52.0.2 branch at
+It is also available on linux/release/2.23.52.0.1 branch at
http://git.kernel.org/?p=linux/kernel/git/hjl/binutils.git;a=summary
@@ -505,4 +772,4 @@ Thanks.
H.J. Lu
hjl.tools@gmail.com
-04/25/2012
+02/27/2013