summaryrefslogtreecommitdiff
path: root/meta/recipes-devtools
diff options
context:
space:
mode:
authorKhem Raj <raj.khem@gmail.com>2012-08-08 07:57:09 -0700
committerSaul Wold <sgw@linux.intel.com>2012-12-05 23:42:33 -0800
commitdf9b304f7a43c798223606eb5f0e13f7250393fe (patch)
tree2a5fed0e83baa1427f1fdae80bd838c8cef3ec9e /meta/recipes-devtools
parentd7fd4b457ee5b5fedd9cf9d739854c2a8cbb480e (diff)
downloadopenembedded-core-df9b304f7a43c798223606eb5f0e13f7250393fe.tar.gz
openembedded-core-df9b304f7a43c798223606eb5f0e13f7250393fe.tar.bz2
openembedded-core-df9b304f7a43c798223606eb5f0e13f7250393fe.zip
binutils-2.23.1: Add recipes
backport non regressing patches from 2.23 branch after 2.23.1 release. Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Saul Wold <sgw@linux.intel.com>
Diffstat (limited to 'meta/recipes-devtools')
-rw-r--r--meta/recipes-devtools/binutils/binutils-2.23.1.inc46
-rw-r--r--meta/recipes-devtools/binutils/binutils-2.23.1/backport/0001-bfd.patch58
-rw-r--r--meta/recipes-devtools/binutils/binutils-2.23.1/backport/0003-Assemble-all-sources-files-in-each-test.patch187
-rw-r--r--meta/recipes-devtools/binutils/binutils-2.23.1/backport/0005-bfd.patch103
-rw-r--r--meta/recipes-devtools/binutils/binutils-2.23.1/backport/0010-bfd-ChangeLog.patch95
-rw-r--r--meta/recipes-devtools/binutils/binutils-2.23.1/backport/0012-Fix-TLS-LD-to-LE-optimization-for-x32.patch57
-rw-r--r--meta/recipes-devtools/binutils/binutils-2.23.1/backport/0013-gas-ChangeLog.patch43
-rw-r--r--meta/recipes-devtools/binutils/binutils-2.23.1/backport/0014-Fix-opcode-for-64-bit-jecxz.patch112
-rw-r--r--meta/recipes-devtools/binutils/binutils-2.23.1/backport/0017-ld-elf-comm-data.exp-Add-XFAIL-for-arm-targets-refer.patch40
-rw-r--r--meta/recipes-devtools/binutils/binutils-2.23.1/backport/0018-bfd.patch78
-rw-r--r--meta/recipes-devtools/binutils/binutils-2.23.1/backport/0024-bfd.patch49
-rw-r--r--meta/recipes-devtools/binutils/binutils-2.23.1/backport/0026-ld-testsuite.patch65
-rw-r--r--meta/recipes-devtools/binutils/binutils-2.23.1/binutils-armv5e.patch25
-rw-r--r--meta/recipes-devtools/binutils/binutils-2.23.1/binutils-poison.patch259
-rw-r--r--meta/recipes-devtools/binutils/binutils-2.23.1/binutils-uclibc-100-uclibc-conf.patch40
-rw-r--r--meta/recipes-devtools/binutils/binutils-2.23.1/binutils-uclibc-300-001_ld_makefile_patch.patch55
-rw-r--r--meta/recipes-devtools/binutils/binutils-2.23.1/binutils-uclibc-300-006_better_file_error.patch45
-rw-r--r--meta/recipes-devtools/binutils/binutils-2.23.1/binutils-uclibc-300-012_check_ldrunpath_length.patch49
-rw-r--r--meta/recipes-devtools/binutils/binutils-2.23.1/binutils-uclibc-gas-needs-libm.patch38
-rw-r--r--meta/recipes-devtools/binutils/binutils-2.23.1/binutils-x86_64_i386_biarch.patch29
-rw-r--r--meta/recipes-devtools/binutils/binutils-2.23.1/libiberty_path_fix.patch22
-rw-r--r--meta/recipes-devtools/binutils/binutils-2.23.1/libtool-2.4-update.patch19407
-rw-r--r--meta/recipes-devtools/binutils/binutils-2.23.1/libtool-rpath-fix.patch39
-rw-r--r--meta/recipes-devtools/binutils/binutils-2.23.1/mips64-default-ld-emulation.patch49
-rw-r--r--meta/recipes-devtools/binutils/binutils-2.23.1/relocatable_sdk.patch49
-rw-r--r--meta/recipes-devtools/binutils/binutils-cross-canadian_2.23.1.bb3
-rw-r--r--meta/recipes-devtools/binutils/binutils-cross_2.23.1.bb3
-rw-r--r--meta/recipes-devtools/binutils/binutils-crosssdk_2.23.1.bb14
-rw-r--r--meta/recipes-devtools/binutils/binutils_2.23.1.bb35
29 files changed, 21094 insertions, 0 deletions
diff --git a/meta/recipes-devtools/binutils/binutils-2.23.1.inc b/meta/recipes-devtools/binutils/binutils-2.23.1.inc
new file mode 100644
index 0000000000..33969813af
--- /dev/null
+++ b/meta/recipes-devtools/binutils/binutils-2.23.1.inc
@@ -0,0 +1,46 @@
+LIC_FILES_CHKSUM="\
+ file://src-release;endline=17;md5=4830a9ef968f3b18dd5e9f2c00db2d35\
+ file://COPYING;md5=59530bdf33659b29e73d4adb9f9f6552\
+ file://COPYING.LIB;md5=9f604d8a4f8e74f4f5140845a21b6674\
+ file://COPYING3;md5=d32239bcb673463ab874e80d47fae504\
+ file://COPYING3.LIB;md5=6a6a8e020838b23406c81b19c1d46df6\
+ file://gas/COPYING;md5=d32239bcb673463ab874e80d47fae504\
+ file://include/COPYING;md5=59530bdf33659b29e73d4adb9f9f6552\
+ file://include/COPYING3;md5=d32239bcb673463ab874e80d47fae504\
+ file://libiberty/COPYING.LIB;md5=a916467b91076e631dd8edb7424769c7\
+ file://bfd/COPYING;md5=d32239bcb673463ab874e80d47fae504\
+ "
+
+SRC_URI = "\
+ ${GNU_MIRROR}/binutils/binutils-${PV}.tar.bz2 \
+ file://binutils-uclibc-100-uclibc-conf.patch \
+ file://binutils-uclibc-300-001_ld_makefile_patch.patch \
+ file://binutils-uclibc-300-006_better_file_error.patch \
+ file://binutils-uclibc-300-012_check_ldrunpath_length.patch \
+ file://binutils-uclibc-gas-needs-libm.patch \
+ file://binutils-x86_64_i386_biarch.patch \
+ file://libtool-2.4-update.patch \
+ file://libiberty_path_fix.patch \
+ file://binutils-poison.patch \
+ file://libtool-rpath-fix.patch \
+ file://binutils-armv5e.patch \
+ file://mips64-default-ld-emulation.patch \
+ ${BACKPORT} \
+ "
+
+BACKPORT = "\
+ file://backport/0001-bfd.patch \
+ file://backport/0003-Assemble-all-sources-files-in-each-test.patch \
+ file://backport/0005-bfd.patch \
+ file://backport/0010-bfd-ChangeLog.patch \
+ file://backport/0012-Fix-TLS-LD-to-LE-optimization-for-x32.patch \
+ file://backport/0013-gas-ChangeLog.patch \
+ file://backport/0014-Fix-opcode-for-64-bit-jecxz.patch \
+ file://backport/0017-ld-elf-comm-data.exp-Add-XFAIL-for-arm-targets-refer.patch \
+ file://backport/0018-bfd.patch \
+ file://backport/0024-bfd.patch \
+ file://backport/0026-ld-testsuite.patch \
+"
+SRC_URI[md5sum] = "33adb18c3048d057ac58d07a3f1adb38"
+SRC_URI[sha256sum] = "2ab2e5b03e086d12c6295f831adad46b3e1410a3a234933a2e8fac66cb2e7a19"
+
diff --git a/meta/recipes-devtools/binutils/binutils-2.23.1/backport/0001-bfd.patch b/meta/recipes-devtools/binutils/binutils-2.23.1/backport/0001-bfd.patch
new file mode 100644
index 0000000000..c04f8d45b3
--- /dev/null
+++ b/meta/recipes-devtools/binutils/binutils-2.23.1/backport/0001-bfd.patch
@@ -0,0 +1,58 @@
+From 7dbb7d8db8003ff73d80956bd3271f9588437aa7 Mon Sep 17 00:00:00 2001
+From: Tristan Gingold <gingold@adacore.com>
+Date: Tue, 13 Nov 2012 15:22:45 +0000
+Subject: [PATCH 01/27] bfd/ 2012-11-13 Tristan Gingold
+ <gingold@adacore.com>
+
+ * Makefile.am (RELEASE): Unset.
+ * Makefile.in: Regenerate.
+---
+ bfd/ChangeLog | 5 +++++
+ bfd/Makefile.am | 2 +-
+ bfd/Makefile.in | 2 +-
+ 3 files changed, 7 insertions(+), 2 deletions(-)
+
+diff --git a/bfd/ChangeLog b/bfd/ChangeLog
+index bed5dca..7aa83bf 100644
+--- a/bfd/ChangeLog
++++ b/bfd/ChangeLog
+@@ -1,5 +1,10 @@
+ 2012-11-13 Tristan Gingold <gingold@adacore.com>
+
++ * Makefile.am (RELEASE): Unset.
++ * Makefile.in: Regenerate.
++
++2012-11-13 Tristan Gingold <gingold@adacore.com>
++
+ * configure.in: Bump version to 2.23.1
+ * Makefile.am (RELEASE): Set.
+ * configure, Makefile.in: Regenerate.
+diff --git a/bfd/Makefile.am b/bfd/Makefile.am
+index 9ab2aa9..49f9662 100644
+--- a/bfd/Makefile.am
++++ b/bfd/Makefile.am
+@@ -4,7 +4,7 @@ AUTOMAKE_OPTIONS = 1.11 no-dist foreign
+ ACLOCAL_AMFLAGS = -I . -I .. -I ../config
+
+ # Uncomment the following line when doing a release.
+-RELEASE=y
++# RELEASE=y
+
+ INCDIR = $(srcdir)/../include
+ CSEARCH = -I. -I$(srcdir) -I$(INCDIR)
+diff --git a/bfd/Makefile.in b/bfd/Makefile.in
+index 9990275..5718fab 100644
+--- a/bfd/Makefile.in
++++ b/bfd/Makefile.in
+@@ -320,7 +320,7 @@ AUTOMAKE_OPTIONS = 1.11 no-dist foreign
+ ACLOCAL_AMFLAGS = -I . -I .. -I ../config
+
+ # Uncomment the following line when doing a release.
+-RELEASE = y
++# RELEASE=y
+ INCDIR = $(srcdir)/../include
+ CSEARCH = -I. -I$(srcdir) -I$(INCDIR)
+ SUBDIRS = doc po
+--
+1.7.9.5
+
diff --git a/meta/recipes-devtools/binutils/binutils-2.23.1/backport/0003-Assemble-all-sources-files-in-each-test.patch b/meta/recipes-devtools/binutils/binutils-2.23.1/backport/0003-Assemble-all-sources-files-in-each-test.patch
new file mode 100644
index 0000000000..be0888590a
--- /dev/null
+++ b/meta/recipes-devtools/binutils/binutils-2.23.1/backport/0003-Assemble-all-sources-files-in-each-test.patch
@@ -0,0 +1,187 @@
+From 80b672d804357f2a1be04ac4e5a4d4c7d0d3b348 Mon Sep 17 00:00:00 2001
+From: "H.J. Lu" <hjl.tools@gmail.com>
+Date: Wed, 14 Nov 2012 15:54:04 +0000
+Subject: [PATCH 03/27] Assemble all sources files in each test
+
+ * ld-elf/shared.exp (build_cxx_tests): Move out the commented out
+ test.
+
+ * lib/ld-lib.exp (run_ld_link_exec_tests): Assemble all sources
+ files in each test.
+---
+ ld/testsuite/ChangeLog | 8 ++++
+ ld/testsuite/ld-elf/shared.exp | 8 ++--
+ ld/testsuite/lib/ld-lib.exp | 97 ++++++++++++++++++++--------------------
+ 3 files changed, 60 insertions(+), 53 deletions(-)
+
+diff --git a/ld/testsuite/ChangeLog b/ld/testsuite/ChangeLog
+index ffcfa7e..e02432f 100644
+--- a/ld/testsuite/ChangeLog
++++ b/ld/testsuite/ChangeLog
+@@ -1,3 +1,11 @@
++2012-11-14 H.J. Lu <hongjiu.lu@intel.com>
++
++ * ld-elf/shared.exp (build_cxx_tests): Move out the commented out
++ test.
++
++ * lib/ld-lib.exp (run_ld_link_exec_tests): Assemble all sources
++ files in each test.
++
+ 2012-10-16 Sofiane Naci <sofiane.naci@arm.com>
+
+ * ld-aarch64/tlsle-symbol-offset.s: New file.
+diff --git a/ld/testsuite/ld-elf/shared.exp b/ld/testsuite/ld-elf/shared.exp
+index c00f3e5..c9f2056 100644
+--- a/ld/testsuite/ld-elf/shared.exp
++++ b/ld/testsuite/ld-elf/shared.exp
+@@ -336,14 +336,14 @@ set build_cxx_tests {
+ {del.cc new.cc} {} "libnew1b.so" "c++"}
+ }
+
+-set run_cxx_tests {
+- {"Run with libdl3a.so"
+- "-Wl,--no-as-needed tmpdir/libdl3a.so" ""
+- {dl3main.cc} "dl3a" "dl3a.out" "" "c++"}
+ # "-shared -Bsymbolic" only works with gcc 4.5.0 and newer.
+ # {"Run with libdl3b.so"
+ # "tmpdir/libdl3b.so" ""
+ # {dl3main.cc} "dl3b" "dl3b.out" "" "c++"}
++set run_cxx_tests {
++ {"Run with libdl3a.so"
++ "-Wl,--no-as-needed tmpdir/libdl3a.so" ""
++ {dl3main.cc} "dl3a" "dl3a.out" "" "c++"}
+ {"Run with libdl3c.so"
+ "-Wl,--no-as-needed tmpdir/libdl3c.so" ""
+ {dl3main.cc} "dl3c" "dl3a.out" "" "c++"}
+diff --git a/ld/testsuite/lib/ld-lib.exp b/ld/testsuite/lib/ld-lib.exp
+index bb4cb0d..49837dd 100644
+--- a/ld/testsuite/lib/ld-lib.exp
++++ b/ld/testsuite/lib/ld-lib.exp
+@@ -1244,7 +1244,6 @@ proc run_ld_link_exec_tests { targets_to_xfail ldtests } {
+ # verbose -log "ld_options is $ld_options"
+ # verbose -log "as_options is $as_options"
+ # verbose -log "src_files is $src_files"
+-# verbose -log "actions is $actions"
+ # verbose -log "binfile is $binfile"
+
+ # Assemble each file in the test.
+@@ -1261,68 +1260,68 @@ proc run_ld_link_exec_tests { targets_to_xfail ldtests } {
+ } else {
+ ld_compile "$CC -c $CFLAGS $cflags" $srcdir/$subdir/$src_file $objfile
+ }
++ }
+
+- # We have to use $CC to build PIE and shared library.
+- if { [ string match "c" $lang ] } {
+- set link_proc ld_simple_link
+- set link_cmd $CC
+- } elseif { [ string match "c++" $lang ] } {
+- set link_proc ld_simple_link
+- set link_cmd $CXX
+- } elseif { [ string match "-shared" $ld_options ] \
+- || [ string match "-pie" $ld_options ] } {
+- set link_proc ld_simple_link
+- set link_cmd $CC
+- } else {
+- set link_proc ld_link
+- set link_cmd $ld
+- }
++ # We have to use $CC to build PIE and shared library.
++ if { [ string match "c" $lang ] } {
++ set link_proc ld_simple_link
++ set link_cmd $CC
++ } elseif { [ string match "c++" $lang ] } {
++ set link_proc ld_simple_link
++ set link_cmd $CXX
++ } elseif { [ string match "-shared" $ld_options ] \
++ || [ string match "-pie" $ld_options ] } {
++ set link_proc ld_simple_link
++ set link_cmd $CC
++ } else {
++ set link_proc ld_link
++ set link_cmd $ld
++ }
+
+- if ![$link_proc $link_cmd $binfile "-L$srcdir/$subdir $ld_options $objfiles"] {
+- set failed 1
+- } else {
++ if ![$link_proc $link_cmd $binfile "-L$srcdir/$subdir $ld_options $objfiles"] {
++ set failed 1
++ } else {
++ set failed 0
++ }
++
++ # Check if exec_output is expected.
++ if { $warning != "" } then {
++ verbose -log "returned with: <$exec_output>, expected: <$warning>"
++ if { [regexp $warning $exec_output] } then {
+ set failed 0
++ } else {
++ set failed 1
+ }
++ }
+
+- # Check if exec_output is expected.
+- if { $warning != "" } then {
+- verbose -log "returned with: <$exec_output>, expected: <$warning>"
+- if { [regexp $warning $exec_output] } then {
+- set failed 0
+- } else {
+- set failed 1
+- }
+- }
++ if { $failed == 0 } {
++ send_log "Running: $binfile > $binfile.out\n"
++ verbose "Running: $binfile > $binfile.out"
++ catch "exec $binfile > $binfile.out" exec_output
+
+- if { $failed == 0 } {
+- send_log "Running: $binfile > $binfile.out\n"
+- verbose "Running: $binfile > $binfile.out"
+- catch "exec $binfile > $binfile.out" exec_output
++ if ![string match "" $exec_output] then {
++ send_log "$exec_output\n"
++ verbose "$exec_output" 1
++ set failed 1
++ } else {
++ send_log "diff $binfile.out $srcdir/$subdir/$expfile\n"
++ verbose "diff $binfile.out $srcdir/$subdir/$expfile"
++ catch "exec diff $binfile.out $srcdir/$subdir/$expfile" exec_output
++ set exec_output [prune_warnings $exec_output]
+
+ if ![string match "" $exec_output] then {
+ send_log "$exec_output\n"
+ verbose "$exec_output" 1
+ set failed 1
+- } else {
+- send_log "diff $binfile.out $srcdir/$subdir/$expfile\n"
+- verbose "diff $binfile.out $srcdir/$subdir/$expfile"
+- catch "exec diff $binfile.out $srcdir/$subdir/$expfile" exec_output
+- set exec_output [prune_warnings $exec_output]
+-
+- if ![string match "" $exec_output] then {
+- send_log "$exec_output\n"
+- verbose "$exec_output" 1
+- set failed 1
+- }
+ }
+ }
++ }
+
+- if { $failed != 0 } {
+- fail $testname
+- } else {
+- set errcnt 0
+- pass $testname
+- }
++ if { $failed != 0 } {
++ fail $testname
++ } else {
++ set errcnt 0
++ pass $testname
+ }
+ }
+ }
+--
+1.7.9.5
+
diff --git a/meta/recipes-devtools/binutils/binutils-2.23.1/backport/0005-bfd.patch b/meta/recipes-devtools/binutils/binutils-2.23.1/backport/0005-bfd.patch
new file mode 100644
index 0000000000..4f970044e3
--- /dev/null
+++ b/meta/recipes-devtools/binutils/binutils-2.23.1/backport/0005-bfd.patch
@@ -0,0 +1,103 @@
+From e4b6d90dbcbf56c959eca8dcdf846fbe21c822e3 Mon Sep 17 00:00:00 2001
+From: Roland McGrath <roland@gnu.org>
+Date: Thu, 15 Nov 2012 00:33:27 +0000
+Subject: [PATCH 05/27] bfd/ * elf32-arm.c (elf32_arm_nacl_plt0_entry): Use
+ bic rather than bfc instruction for data
+ sandboxing.
+
+gold/
+ * arm.cc (Output_data_plt_arm_nacl::first_plt_entry): Use bic rather
+ than bfc instruction for data sandboxing.
+---
+ bfd/ChangeLog | 5 +++++
+ bfd/elf32-arm.c | 18 +++++++++---------
+ gold/ChangeLog | 5 +++++
+ gold/arm.cc | 4 ++--
+ 4 files changed, 21 insertions(+), 11 deletions(-)
+
+diff --git a/bfd/ChangeLog b/bfd/ChangeLog
+index 7aa83bf..981e05a 100644
+--- a/bfd/ChangeLog
++++ b/bfd/ChangeLog
+@@ -1,3 +1,8 @@
++2012-11-14 Roland McGrath <mcgrathr@google.com>
++
++ * elf32-arm.c (elf32_arm_nacl_plt0_entry): Use bic rather than bfc
++ instruction for data sandboxing.
++
+ 2012-11-13 Tristan Gingold <gingold@adacore.com>
+
+ * Makefile.am (RELEASE): Unset.
+diff --git a/bfd/elf32-arm.c b/bfd/elf32-arm.c
+index a287fbb..3c541ca 100644
+--- a/bfd/elf32-arm.c
++++ b/bfd/elf32-arm.c
+@@ -2209,21 +2209,21 @@ static const bfd_vma elf32_arm_nacl_plt0_entry [] =
+ 0xe08cc00f, /* add ip, ip, pc */
+ 0xe52dc008, /* str ip, [sp, #-8]! */
+ /* Second bundle: */
+- 0xe7dfcf1f, /* bfc ip, #30, #2 */
+- 0xe59cc000, /* ldr ip, [ip] */
++ 0xe3ccc103, /* bic ip, ip, #0xc0000000 */
++ 0xe59cc000, /* ldr ip, [ip] */
+ 0xe3ccc13f, /* bic ip, ip, #0xc000000f */
+- 0xe12fff1c, /* bx ip */
++ 0xe12fff1c, /* bx ip */
+ /* Third bundle: */
+- 0xe320f000, /* nop */
+- 0xe320f000, /* nop */
+- 0xe320f000, /* nop */
++ 0xe320f000, /* nop */
++ 0xe320f000, /* nop */
++ 0xe320f000, /* nop */
+ /* .Lplt_tail: */
+ 0xe50dc004, /* str ip, [sp, #-4] */
+ /* Fourth bundle: */
+- 0xe7dfcf1f, /* bfc ip, #30, #2 */
+- 0xe59cc000, /* ldr ip, [ip] */
++ 0xe3ccc103, /* bic ip, ip, #0xc0000000 */
++ 0xe59cc000, /* ldr ip, [ip] */
+ 0xe3ccc13f, /* bic ip, ip, #0xc000000f */
+- 0xe12fff1c, /* bx ip */
++ 0xe12fff1c, /* bx ip */
+ };
+ #define ARM_NACL_PLT_TAIL_OFFSET (11 * 4)
+
+diff --git a/gold/ChangeLog b/gold/ChangeLog
+index 0d3074a..9a1a9d3 100644
+--- a/gold/ChangeLog
++++ b/gold/ChangeLog
+@@ -1,3 +1,8 @@
++2012-11-14 Roland McGrath <mcgrathr@google.com>
++
++ * arm.cc (Output_data_plt_arm_nacl::first_plt_entry): Use bic rather
++ than bfc instruction for data sandboxing.
++
+ 2012-11-07 Roland McGrath <mcgrathr@google.com>
+
+ * i386.cc (Target_i386::relocate_for_relocatable): Remove extraneous
+diff --git a/gold/arm.cc b/gold/arm.cc
+index d434c9d..238cf32 100644
+--- a/gold/arm.cc
++++ b/gold/arm.cc
+@@ -12196,7 +12196,7 @@ const uint32_t Output_data_plt_arm_nacl<big_endian>::first_plt_entry[16] =
+ 0xe08cc00f, // add ip, ip, pc
+ 0xe52dc008, // str ip, [sp, #-8]!
+ // Second bundle:
+- 0xe7dfcf1f, // bfc ip, #30, #2
++ 0xe3ccc103, // bic ip, ip, #0xc0000000
+ 0xe59cc000, // ldr ip, [ip]
+ 0xe3ccc13f, // bic ip, ip, #0xc000000f
+ 0xe12fff1c, // bx ip
+@@ -12207,7 +12207,7 @@ const uint32_t Output_data_plt_arm_nacl<big_endian>::first_plt_entry[16] =
+ // .Lplt_tail:
+ 0xe50dc004, // str ip, [sp, #-4]
+ // Fourth bundle:
+- 0xe7dfcf1f, // bfc ip, #30, #2
++ 0xe3ccc103, // bic ip, ip, #0xc0000000
+ 0xe59cc000, // ldr ip, [ip]
+ 0xe3ccc13f, // bic ip, ip, #0xc000000f
+ 0xe12fff1c, // bx ip
+--
+1.7.9.5
+
diff --git a/meta/recipes-devtools/binutils/binutils-2.23.1/backport/0010-bfd-ChangeLog.patch b/meta/recipes-devtools/binutils/binutils-2.23.1/backport/0010-bfd-ChangeLog.patch
new file mode 100644
index 0000000000..8ade69d3fc
--- /dev/null
+++ b/meta/recipes-devtools/binutils/binutils-2.23.1/backport/0010-bfd-ChangeLog.patch
@@ -0,0 +1,95 @@
+From c49a2d2d8ff625b17699c44a703f217de5b4fa2f Mon Sep 17 00:00:00 2001
+From: Yufeng Zhang <yufeng.zhang@arm.com>
+Date: Mon, 19 Nov 2012 18:46:01 +0000
+Subject: [PATCH 10/27] bfd/ChangeLog
+
+2012-11-19 Joey Ye <joey.ye@arm.com>
+
+ * elf32-arm.c (elf32_arm_final_link_relocate,
+ case R_ARM_THM_ALU_PREL_11_0, case R_ARM_THM_PC12): Align address of
+ the place being relocated.
+ (elf32_arm_final_link_relocate, case R_ARM_THM_PC8): Align address
+ of the place being relocated and truncate addend.
+ (Pa): New macro.
+---
+ bfd/ChangeLog | 9 +++++++++
+ bfd/elf32-arm.c | 23 +++++++++++++----------
+ 2 files changed, 22 insertions(+), 10 deletions(-)
+
+diff --git a/bfd/ChangeLog b/bfd/ChangeLog
+index 981e05a..59c36a7 100644
+--- a/bfd/ChangeLog
++++ b/bfd/ChangeLog
+@@ -1,3 +1,12 @@
++2012-11-19 Joey Ye <joey.ye@arm.com>
++
++ * elf32-arm.c (elf32_arm_final_link_relocate,
++ case R_ARM_THM_ALU_PREL_11_0, case R_ARM_THM_PC12): Align address of
++ the place being relocated.
++ (elf32_arm_final_link_relocate, case R_ARM_THM_PC8): Align address
++ of the place being relocated and truncate addend.
++ (Pa): New macro.
++
+ 2012-11-14 Roland McGrath <mcgrathr@google.com>
+
+ * elf32-arm.c (elf32_arm_nacl_plt0_entry): Use bic rather than bfc
+diff --git a/bfd/elf32-arm.c b/bfd/elf32-arm.c
+index 3c541ca..01ca11b 100644
+--- a/bfd/elf32-arm.c
++++ b/bfd/elf32-arm.c
+@@ -63,6 +63,9 @@
+ #define ARM_ELF_ABI_VERSION 0
+ #define ARM_ELF_OS_ABI_VERSION ELFOSABI_ARM
+
++/* The Adjusted Place, as defined by AAELF. */
++#define Pa(X) ((X) & 0xfffffffc)
++
+ static bfd_boolean elf32_arm_write_section (bfd *output_bfd,
+ struct bfd_link_info *link_info,
+ asection *sec,
+@@ -8619,9 +8622,9 @@ elf32_arm_final_link_relocate (reloc_howto_type * howto,
+ }
+
+ relocation = value + signed_addend;
+- relocation -= (input_section->output_section->vma
+- + input_section->output_offset
+- + rel->r_offset);
++ relocation -= Pa (input_section->output_section->vma
++ + input_section->output_offset
++ + rel->r_offset);
+
+ value = abs (relocation);
+
+@@ -8651,12 +8654,12 @@ elf32_arm_final_link_relocate (reloc_howto_type * howto,
+ insn = bfd_get_16 (input_bfd, hit_data);
+
+ if (globals->use_rel)
+- addend = (insn & 0x00ff) << 2;
++ addend = ((((insn & 0x00ff) << 2) + 4) & 0x3ff) -4;
+
+ relocation = value + addend;
+- relocation -= (input_section->output_section->vma
+- + input_section->output_offset
+- + rel->r_offset);
++ relocation -= Pa (input_section->output_section->vma
++ + input_section->output_offset
++ + rel->r_offset);
+
+ value = abs (relocation);
+
+@@ -8691,9 +8694,9 @@ elf32_arm_final_link_relocate (reloc_howto_type * howto,
+ }
+
+ relocation = value + signed_addend;
+- relocation -= (input_section->output_section->vma
+- + input_section->output_offset
+- + rel->r_offset);
++ relocation -= Pa (input_section->output_section->vma
++ + input_section->output_offset
++ + rel->r_offset);
+
+ value = abs (relocation);
+
+--
+1.7.9.5
+
diff --git a/meta/recipes-devtools/binutils/binutils-2.23.1/backport/0012-Fix-TLS-LD-to-LE-optimization-for-x32.patch b/meta/recipes-devtools/binutils/binutils-2.23.1/backport/0012-Fix-TLS-LD-to-LE-optimization-for-x32.patch
new file mode 100644
index 0000000000..b4bc10f9c5
--- /dev/null
+++ b/meta/recipes-devtools/binutils/binutils-2.23.1/backport/0012-Fix-TLS-LD-to-LE-optimization-for-x32.patch
@@ -0,0 +1,57 @@
+From 0c6a475b99dc06a49549d81059f290b23b86c62d Mon Sep 17 00:00:00 2001
+From: "H.J. Lu" <hjl.tools@gmail.com>
+Date: Tue, 20 Nov 2012 05:57:53 +0000
+Subject: [PATCH 12/27] Fix TLS LD to LE optimization for x32
+
+ PR gold/14858
+ * x86_64.cc (Relocate::tls_ld_to_le): Support x32.
+---
+ gold/ChangeLog | 5 +++++
+ gold/x86_64.cc | 9 ++++++++-
+ 2 files changed, 13 insertions(+), 1 deletion(-)
+
+diff --git a/gold/ChangeLog b/gold/ChangeLog
+index 9a1a9d3..b31d11f 100644
+--- a/gold/ChangeLog
++++ b/gold/ChangeLog
+@@ -1,3 +1,8 @@
++2012-11-19 H.J. Lu <hongjiu.lu@intel.com>
++
++ PR gold/14858
++ * x86_64.cc (Relocate::tls_ld_to_le): Support x32.
++
+ 2012-11-14 Roland McGrath <mcgrathr@google.com>
+
+ * arm.cc (Output_data_plt_arm_nacl::first_plt_entry): Use bic rather
+diff --git a/gold/x86_64.cc b/gold/x86_64.cc
+index b5b616f..8ddf4f2 100644
+--- a/gold/x86_64.cc
++++ b/gold/x86_64.cc
+@@ -3959,8 +3959,12 @@ Target_x86_64<size>::Relocate::tls_ld_to_le(
+ section_size_type view_size)
+ {
+ // leaq foo@tlsld(%rip),%rdi; call __tls_get_addr@plt;
++ // For SIZE == 64:
+ // ... leq foo@dtpoff(%rax),%reg
+ // ==> .word 0x6666; .byte 0x66; movq %fs:0,%rax ... leaq x@tpoff(%rax),%rdx
++ // For SIZE == 32:
++ // ... leq foo@dtpoff(%rax),%reg
++ // ==> nopl 0x0(%rax); movl %fs:0,%eax ... leaq x@tpoff(%rax),%rdx
+
+ tls::check_range(relinfo, relnum, rela.get_r_offset(), view_size, -3);
+ tls::check_range(relinfo, relnum, rela.get_r_offset(), view_size, 9);
+@@ -3970,7 +3974,10 @@ Target_x86_64<size>::Relocate::tls_ld_to_le(
+
+ tls::check_tls(relinfo, relnum, rela.get_r_offset(), view[4] == 0xe8);
+
+- memcpy(view - 3, "\x66\x66\x66\x64\x48\x8b\x04\x25\0\0\0\0", 12);
++ if (size == 64)
++ memcpy(view - 3, "\x66\x66\x66\x64\x48\x8b\x04\x25\0\0\0\0", 12);
++ else
++ memcpy(view - 3, "\x0f\x1f\x40\x00\x64\x8b\x04\x25\0\0\0\0", 12);
+
+ // The next reloc should be a PLT32 reloc against __tls_get_addr.
+ // We can skip it.
+--
+1.7.9.5
+
diff --git a/meta/recipes-devtools/binutils/binutils-2.23.1/backport/0013-gas-ChangeLog.patch b/meta/recipes-devtools/binutils/binutils-2.23.1/backport/0013-gas-ChangeLog.patch
new file mode 100644
index 0000000000..f4314201e9
--- /dev/null
+++ b/meta/recipes-devtools/binutils/binutils-2.23.1/backport/0013-gas-ChangeLog.patch
@@ -0,0 +1,43 @@
+From d4d8d22c6d0a859f617cf7d0a2e31056893c1d98 Mon Sep 17 00:00:00 2001
+From: Yufeng Zhang <yufeng.zhang@arm.com>
+Date: Tue, 20 Nov 2012 10:41:54 +0000
+Subject: [PATCH 13/27] gas/ChangeLog
+
+2012-11-20 Yufeng Zhang <yufeng.zhang@arm.com>
+
+ * config/tc-aarch64.c (first_error_fmt): Add ATTRIBUTE_UNUSED to the
+ local variable "ret".
+---
+ gas/ChangeLog | 5 +++++
+ gas/config/tc-aarch64.c | 2 +-
+ 2 files changed, 6 insertions(+), 1 deletion(-)
+
+diff --git a/gas/ChangeLog b/gas/ChangeLog
+index 219c27e..bb9ef1c 100644
+--- a/gas/ChangeLog
++++ b/gas/ChangeLog
+@@ -1,3 +1,8 @@
++2012-11-20 Yufeng Zhang <yufeng.zhang@arm.com>
++
++ * config/tc-aarch64.c (first_error_fmt): Add ATTRIBUTE_UNUSED to the
++ local variable "ret".
++
+ 2012-11-07 James Murray <jsm@jsm-net.demon.co.uk>
+
+ * config/tc-m68hc11.c: Fix R_M68HC12_16B relocation for movb/w
+diff --git a/gas/config/tc-aarch64.c b/gas/config/tc-aarch64.c
+index 843923b..a83a62e 100644
+--- a/gas/config/tc-aarch64.c
++++ b/gas/config/tc-aarch64.c
+@@ -643,7 +643,7 @@ first_error_fmt (const char *format, ...)
+
+ if (! error_p ())
+ {
+- int ret;
++ int ret ATTRIBUTE_UNUSED;
+ va_start (args, format);
+ ret = vsnprintf (buffer, size, format, args);
+ know (ret <= size - 1 && ret >= 0);
+--
+1.7.9.5
+
diff --git a/meta/recipes-devtools/binutils/binutils-2.23.1/backport/0014-Fix-opcode-for-64-bit-jecxz.patch b/meta/recipes-devtools/binutils/binutils-2.23.1/backport/0014-Fix-opcode-for-64-bit-jecxz.patch
new file mode 100644
index 0000000000..b230e330c5
--- /dev/null
+++ b/meta/recipes-devtools/binutils/binutils-2.23.1/backport/0014-Fix-opcode-for-64-bit-jecxz.patch
@@ -0,0 +1,112 @@
+From adef1e82d241e22139c5edbba1efe9734cfdcace Mon Sep 17 00:00:00 2001
+From: "H.J. Lu" <hjl.tools@gmail.com>
+Date: Tue, 20 Nov 2012 14:30:48 +0000
+Subject: [PATCH 14/27] Fix opcode for 64-bit jecxz
+
+gas/testsuite/
+
+ PR gas/14859
+ * gas/i386/x86-64-opcode.s: Add jecxz.
+ * gas/i386/x86-64-opcode.d: Updated.
+
+opcodes/
+
+ PR gas/14859
+ * i386-opc.tbl: Fix opcode for 64-bit jecxz.
+ * i386-tbl.h: Regenerated.
+---
+ gas/ChangeLog | 6 ++++++
+ gas/testsuite/gas/i386/x86-64-opcode.d | 1 +
+ gas/testsuite/gas/i386/x86-64-opcode.s | 2 ++
+ opcodes/ChangeLog | 9 ++++++++-
+ opcodes/i386-opc.tbl | 2 +-
+ opcodes/i386-tbl.h | 2 +-
+ 6 files changed, 19 insertions(+), 3 deletions(-)
+
+diff --git a/gas/ChangeLog b/gas/ChangeLog
+index bb9ef1c..8a950ec 100644
+--- a/gas/ChangeLog
++++ b/gas/ChangeLog
+@@ -1,3 +1,9 @@
++2012-11-20 H.J. Lu <hongjiu.lu@intel.com>
++
++ PR gas/14859
++ * gas/i386/x86-64-opcode.s: Add jecxz.
++ * gas/i386/x86-64-opcode.d: Updated.
++
+ 2012-11-20 Yufeng Zhang <yufeng.zhang@arm.com>
+
+ * config/tc-aarch64.c (first_error_fmt): Add ATTRIBUTE_UNUSED to the
+diff --git a/gas/testsuite/gas/i386/x86-64-opcode.d b/gas/testsuite/gas/i386/x86-64-opcode.d
+index 7c6dd03..4b3003a 100644
+--- a/gas/testsuite/gas/i386/x86-64-opcode.d
++++ b/gas/testsuite/gas/i386/x86-64-opcode.d
+@@ -296,4 +296,5 @@ Disassembly of section .text:
+ [ ]*[a-f0-9]+: 0f 07 sysret
+ [ ]*[a-f0-9]+: 0f 01 f8 swapgs
+ [ ]*[a-f0-9]+: 66 68 22 22 pushw \$0x2222
++[ ]*[a-f0-9]+: 67 e3 ff jecxz 0x49d
+ #pass
+diff --git a/gas/testsuite/gas/i386/x86-64-opcode.s b/gas/testsuite/gas/i386/x86-64-opcode.s
+index cb9bbc1..96f624d 100644
+--- a/gas/testsuite/gas/i386/x86-64-opcode.s
++++ b/gas/testsuite/gas/i386/x86-64-opcode.s
+@@ -424,3 +424,5 @@
+ swapgs # -- -- -- -- 0F 01 f8
+
+ pushw $0x2222
++
++ jecxz .+2
+diff --git a/opcodes/ChangeLog b/opcodes/ChangeLog
+index ca0f49b..98450f9 100644
+--- a/opcodes/ChangeLog
++++ b/opcodes/ChangeLog
+@@ -1,3 +1,10 @@
++2012-11-20 Kirill Yukhin <kirill.yukhin@intel.com>
++ H.J. Lu <hongjiu.lu@intel.com>
++
++ PR gas/14859
++ * i386-opc.tbl: Fix opcode for 64-bit jecxz.
++ * i386-tbl.h: Regenerated.
++
+ 2012-10-09 Nagajyothi Eggone <nagajyothi.eggone@amd.com>
+
+ * i386-gen.c (cpu_flag_init): Add CPU_BDVER3_FLAGS.
+@@ -9,7 +16,7 @@
+