Yocto 2.4

Move OpenBMC to Yocto 2.4(rocko)

Tested: Built and verified Witherspoon and Palmetto images
Change-Id: I12057b18610d6fb0e6903c60213690301e9b0c67
Signed-off-by: Brad Bishop <bradleyb@fuzziesquirrel.com>
diff --git a/import-layers/yocto-poky/meta/recipes-devtools/binutils/binutils-2.28.inc b/import-layers/yocto-poky/meta/recipes-devtools/binutils/binutils-2.28.inc
deleted file mode 100644
index 1784c52..0000000
--- a/import-layers/yocto-poky/meta/recipes-devtools/binutils/binutils-2.28.inc
+++ /dev/null
@@ -1,85 +0,0 @@
-LIC_FILES_CHKSUM="\
-    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\
-    "
-
-def binutils_branch_version(d):
-    pvsplit = d.getVar('PV').split('.')
-    return pvsplit[0] + "_" + pvsplit[1]
-
-BINUPV = "${@binutils_branch_version(d)}"
-
-UPSTREAM_CHECK_GITTAGREGEX = "binutils-(?P<pver>\d+_(\d_?)*)"
-
-SRCREV = "354199c7692c1bed53a2a15f0e4d531457e95f17"
-SRC_URI = "\
-     git://sourceware.org/git/binutils-gdb.git;branch=binutils-${BINUPV}-branch;protocol=git \
-     file://0003-gprof-add-uclibc-support-to-configure.patch \
-     file://0004-Point-scripts-location-to-libdir.patch \
-     file://0005-Only-generate-an-RPATH-entry-if-LD_RUN_PATH-is-not-e.patch \
-     file://0006-Explicitly-link-with-libm-on-uclibc.patch \
-     file://0007-Use-libtool-2.4.patch \
-     file://0008-Add-the-armv5e-architecture-to-binutils.patch \
-     file://0009-don-t-let-the-distro-compiler-point-to-the-wrong-ins.patch \
-     file://0010-warn-for-uses-of-system-directories-when-cross-linki.patch \
-     file://0011-Fix-rpath-in-libtool-when-sysroot-is-enabled.patch \
-     file://0012-Change-default-emulation-for-mips64-linux.patch \
-     file://0013-Add-support-for-Netlogic-XLP.patch \
-     file://0014-fix-the-incorrect-assembling-for-ppc-wait-mnemonic.patch \
-     file://0015-sync-with-OE-libtool-changes.patch \
-     file://0016-Detect-64-bit-MIPS-targets.patch \
-     file://CVE-2017-6965.patch \
-     file://CVE-2017-6966.patch \
-     file://0017-bfd-Improve-lookup-of-file-line-information-for-erro.patch \
-     file://0018-PR-21409-segfault-in-_bfd_dwarf2_find_nearest_line.patch \
-     file://CVE-2017-6969.patch \
-     file://CVE-2017-6969_2.patch \
-     file://CVE-2017-7209.patch \
-     file://CVE-2017-7210.patch \
-     file://CVE-2017-7223.patch \
-     file://CVE-2017-7614.patch \
-     file://CVE-2017-8393.patch \
-     file://CVE-2017-8394.patch \
-     file://CVE-2017-8395.patch \
-     file://CVE-2017-8396_8397.patch \
-     file://CVE-2017-8398.patch \
-     file://CVE-2017-8421.patch \
-     file://CVE-2017-9038_9044.patch \
-     file://CVE-2017-9039.patch \
-     file://CVE-2017-9040_9042.patch \
-     file://CVE-2017-9742.patch \
-     file://CVE-2017-9744.patch \
-     file://CVE-2017-9745.patch \
-     file://CVE-2017-9746.patch \
-     file://CVE-2017-9747.patch \
-     file://CVE-2017-9748.patch \
-     file://CVE-2017-9749.patch \
-     file://CVE-2017-9750.patch \
-     file://CVE-2017-9751.patch \
-     file://CVE-2017-9752.patch \
-     file://CVE-2017-9753.patch \
-     file://CVE-2017-9755.patch \
-     file://CVE-2017-9756.patch \
-     file://CVE-2017-9954.patch \
-     file://CVE-2017-9955_1.patch \
-     file://CVE-2017-9955_2.patch \
-     file://CVE-2017-9955_3.patch \
-     file://CVE-2017-9955_4.patch \
-     file://CVE-2017-9955_5.patch \
-     file://CVE-2017-9955_6.patch \
-     file://CVE-2017-9955_7.patch \
-     file://CVE-2017-9955_8.patch \
-     file://CVE-2017-9955_9.patch \
-"
-S  = "${WORKDIR}/git"
-
-do_configure_prepend () {
-        rm -rf ${S}/gdb ${S}/libdecnumber ${S}/readline ${S}/sim
-}
diff --git a/import-layers/yocto-poky/meta/recipes-devtools/binutils/binutils-2.29.1.inc b/import-layers/yocto-poky/meta/recipes-devtools/binutils/binutils-2.29.1.inc
new file mode 100644
index 0000000..07a72e2
--- /dev/null
+++ b/import-layers/yocto-poky/meta/recipes-devtools/binutils/binutils-2.29.1.inc
@@ -0,0 +1,43 @@
+LIC_FILES_CHKSUM="\
+    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\
+    "
+
+def binutils_branch_version(d):
+    pvsplit = d.getVar('PV').split('.')
+    return pvsplit[0] + "_" + pvsplit[1]
+
+BINUPV = "${@binutils_branch_version(d)}"
+
+UPSTREAM_CHECK_GITTAGREGEX = "binutils-(?P<pver>\d+_(\d_?)*)"
+
+SRCREV ?= "90276f15379d380761fc499da2ba24cfb3c12a94"
+BINUTILS_GIT_URI ?= "git://sourceware.org/git/binutils-gdb.git;branch=binutils-${BINUPV}-branch;protocol=git"
+SRC_URI = "\
+     ${BINUTILS_GIT_URI} \
+     file://0003-configure-widen-the-regexp-for-SH-architectures.patch \
+     file://0004-Point-scripts-location-to-libdir.patch \
+     file://0005-Only-generate-an-RPATH-entry-if-LD_RUN_PATH-is-not-e.patch \
+     file://0006-Use-libtool-2.4.patch \
+     file://0007-Add-the-armv5e-architecture-to-binutils.patch \
+     file://0008-don-t-let-the-distro-compiler-point-to-the-wrong-ins.patch \
+     file://0009-warn-for-uses-of-system-directories-when-cross-linki.patch \
+     file://0010-Fix-rpath-in-libtool-when-sysroot-is-enabled.patch \
+     file://0011-Change-default-emulation-for-mips64-linux.patch \
+     file://0012-Add-support-for-Netlogic-XLP.patch \
+     file://0013-fix-the-incorrect-assembling-for-ppc-wait-mnemonic.patch \
+     file://0014-Detect-64-bit-MIPS-targets.patch \
+     file://0015-sync-with-OE-libtool-changes.patch \
+"
+S  = "${WORKDIR}/git"
+
+do_configure_prepend () {
+        rm -rf ${S}/gdb ${S}/libdecnumber ${S}/readline ${S}/sim
+}
diff --git a/import-layers/yocto-poky/meta/recipes-devtools/binutils/binutils-cross-canadian_2.28.bb b/import-layers/yocto-poky/meta/recipes-devtools/binutils/binutils-cross-canadian_2.29.1.bb
similarity index 100%
rename from import-layers/yocto-poky/meta/recipes-devtools/binutils/binutils-cross-canadian_2.28.bb
rename to import-layers/yocto-poky/meta/recipes-devtools/binutils/binutils-cross-canadian_2.29.1.bb
diff --git a/import-layers/yocto-poky/meta/recipes-devtools/binutils/binutils-cross_2.28.bb b/import-layers/yocto-poky/meta/recipes-devtools/binutils/binutils-cross_2.29.1.bb
similarity index 100%
rename from import-layers/yocto-poky/meta/recipes-devtools/binutils/binutils-cross_2.28.bb
rename to import-layers/yocto-poky/meta/recipes-devtools/binutils/binutils-cross_2.29.1.bb
diff --git a/import-layers/yocto-poky/meta/recipes-devtools/binutils/binutils-crosssdk_2.28.bb b/import-layers/yocto-poky/meta/recipes-devtools/binutils/binutils-crosssdk_2.29.1.bb
similarity index 100%
rename from import-layers/yocto-poky/meta/recipes-devtools/binutils/binutils-crosssdk_2.28.bb
rename to import-layers/yocto-poky/meta/recipes-devtools/binutils/binutils-crosssdk_2.29.1.bb
diff --git a/import-layers/yocto-poky/meta/recipes-devtools/binutils/binutils/0001-binutils-crosssdk-Generate-relocatable-SDKs.patch b/import-layers/yocto-poky/meta/recipes-devtools/binutils/binutils/0001-binutils-crosssdk-Generate-relocatable-SDKs.patch
index 8fb1b4e..0b515d8 100644
--- a/import-layers/yocto-poky/meta/recipes-devtools/binutils/binutils/0001-binutils-crosssdk-Generate-relocatable-SDKs.patch
+++ b/import-layers/yocto-poky/meta/recipes-devtools/binutils/binutils/0001-binutils-crosssdk-Generate-relocatable-SDKs.patch
@@ -1,4 +1,4 @@
-From 689d011688b5ff9481d4367bef3dea7a7b2867fb Mon Sep 17 00:00:00 2001
+From 58ac9f95a3d83c29efaf7a8906fb6aefea8c8e79 Mon Sep 17 00:00:00 2001
 From: Khem Raj <raj.khem@gmail.com>
 Date: Mon, 2 Mar 2015 01:58:54 +0000
 Subject: [PATCH 01/15] binutils-crosssdk: Generate relocatable SDKs
@@ -43,7 +43,7 @@
  LD_FLAG=
  DATA_ALIGNMENT=${DATA_ALIGNMENT_}
 diff --git a/ld/scripttempl/elf.sc b/ld/scripttempl/elf.sc
-index e65f9a3ccf..d99d2c1d2a 100644
+index d9138bc059..e48faeca43 100644
 --- a/ld/scripttempl/elf.sc
 +++ b/ld/scripttempl/elf.sc
 @@ -138,8 +138,8 @@ if test -z "$DATA_SEGMENT_ALIGN"; then
@@ -58,5 +58,5 @@
  if test -z "$PLT"; then
    IPLT=".iplt         ${RELOCATING-0} : { *(.iplt) }"
 -- 
-2.12.0
+2.14.0
 
diff --git a/import-layers/yocto-poky/meta/recipes-devtools/binutils/binutils/0002-binutils-cross-Do-not-generate-linker-script-directo.patch b/import-layers/yocto-poky/meta/recipes-devtools/binutils/binutils/0002-binutils-cross-Do-not-generate-linker-script-directo.patch
index 14299fd..370333d 100644
--- a/import-layers/yocto-poky/meta/recipes-devtools/binutils/binutils/0002-binutils-cross-Do-not-generate-linker-script-directo.patch
+++ b/import-layers/yocto-poky/meta/recipes-devtools/binutils/binutils/0002-binutils-cross-Do-not-generate-linker-script-directo.patch
@@ -1,4 +1,4 @@
-From 7c7de107b4b0a507d2aeca3e3a86d01cb4b51360 Mon Sep 17 00:00:00 2001
+From 8f929c616208351d0971d7dfd7574d48d3144603 Mon Sep 17 00:00:00 2001
 From: Khem Raj <raj.khem@gmail.com>
 Date: Mon, 6 Mar 2017 23:37:05 -0800
 Subject: [PATCH 02/15] binutils-cross: Do not generate linker script
@@ -57,5 +57,5 @@
    libs=${NATIVE_LIB_DIRS}
    if [ "x${NATIVE}" = "xyes" ] ; then
 -- 
-2.12.0
+2.14.0
 
diff --git a/import-layers/yocto-poky/meta/recipes-devtools/binutils/binutils/0003-configure-widen-the-regexp-for-SH-architectures.patch b/import-layers/yocto-poky/meta/recipes-devtools/binutils/binutils/0003-configure-widen-the-regexp-for-SH-architectures.patch
new file mode 100644
index 0000000..b6c09cc
--- /dev/null
+++ b/import-layers/yocto-poky/meta/recipes-devtools/binutils/binutils/0003-configure-widen-the-regexp-for-SH-architectures.patch
@@ -0,0 +1,47 @@
+From e5a806aae02a10290c71deb72f6294c98068368d Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Mon, 2 Mar 2015 01:07:33 +0000
+Subject: [PATCH 03/15] configure: widen the regexp for SH architectures
+
+gprof needs to know about uclibc
+
+Upstream-Status: Pending
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ configure       | 2 +-
+ gprof/configure | 5 +++++
+ 2 files changed, 6 insertions(+), 1 deletion(-)
+
+diff --git a/configure b/configure
+index be9dd89d9b..d8af155ab5 100755
+--- a/configure
++++ b/configure
+@@ -3844,7 +3844,7 @@ case "${target}" in
+   or1k*-*-*)
+     noconfigdirs="$noconfigdirs gdb"
+     ;;
+-  sh-*-*)
++  sh*-*-* | sh64-*-*)
+     case "${target}" in
+       sh*-*-elf)
+          ;;
+diff --git a/gprof/configure b/gprof/configure
+index e71fe8b9e4..679e0dce77 100755
+--- a/gprof/configure
++++ b/gprof/configure
+@@ -5874,6 +5874,11 @@ linux* | k*bsd*-gnu | kopensolaris*-gnu)
+   lt_cv_deplibs_check_method=pass_all
+   ;;
+ 
++linux-uclibc*)
++  lt_cv_deplibs_check_method=pass_all
++  lt_cv_file_magic_test_file=`echo /lib/libuClibc-*.so`
++  ;;
++
+ netbsd*)
+   if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then
+     lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|_pic\.a)$'
+-- 
+2.14.0
+
diff --git a/import-layers/yocto-poky/meta/recipes-devtools/binutils/binutils/0003-gprof-add-uclibc-support-to-configure.patch b/import-layers/yocto-poky/meta/recipes-devtools/binutils/binutils/0003-gprof-add-uclibc-support-to-configure.patch
deleted file mode 100644
index eddb42b..0000000
--- a/import-layers/yocto-poky/meta/recipes-devtools/binutils/binutils/0003-gprof-add-uclibc-support-to-configure.patch
+++ /dev/null
@@ -1,31 +0,0 @@
-From 7893d2b24d0303bda3a0049846489619ffd1387b Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Mon, 2 Mar 2015 01:07:33 +0000
-Subject: [PATCH 03/15] gprof: add uclibc support to configure
-
-Upstream-Status: Pending
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- gprof/configure | 5 +++++
- 1 file changed, 5 insertions(+)
-
-diff --git a/gprof/configure b/gprof/configure
-index 9e6b8f3525..38a4c0b0e5 100755
---- a/gprof/configure
-+++ b/gprof/configure
-@@ -5874,6 +5874,11 @@ linux* | k*bsd*-gnu | kopensolaris*-gnu)
-   lt_cv_deplibs_check_method=pass_all
-   ;;
- 
-+linux-uclibc*)
-+  lt_cv_deplibs_check_method=pass_all
-+  lt_cv_file_magic_test_file=`echo /lib/libuClibc-*.so`
-+  ;;
-+
- netbsd*)
-   if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then
-     lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|_pic\.a)$'
--- 
-2.12.0
-
diff --git a/import-layers/yocto-poky/meta/recipes-devtools/binutils/binutils/0004-Point-scripts-location-to-libdir.patch b/import-layers/yocto-poky/meta/recipes-devtools/binutils/binutils/0004-Point-scripts-location-to-libdir.patch
index c6b9de7..38eee30 100644
--- a/import-layers/yocto-poky/meta/recipes-devtools/binutils/binutils/0004-Point-scripts-location-to-libdir.patch
+++ b/import-layers/yocto-poky/meta/recipes-devtools/binutils/binutils/0004-Point-scripts-location-to-libdir.patch
@@ -1,4 +1,4 @@
-From e34650c50574a8a39d694567ed607a63006b6f99 Mon Sep 17 00:00:00 2001
+From 3634ec3547bc0f8a5d1b8ad15365e2f836cda642 Mon Sep 17 00:00:00 2001
 From: Khem Raj <raj.khem@gmail.com>
 Date: Mon, 2 Mar 2015 01:09:58 +0000
 Subject: [PATCH 04/15] Point scripts location to libdir
@@ -12,7 +12,7 @@
  2 files changed, 2 insertions(+), 2 deletions(-)
 
 diff --git a/ld/Makefile.am b/ld/Makefile.am
-index 15beaa7021..bbf9c671d8 100644
+index 625347ff62..d5334d2681 100644
 --- a/ld/Makefile.am
 +++ b/ld/Makefile.am
 @@ -57,7 +57,7 @@ endif
@@ -25,10 +25,10 @@
  EMUL = @EMUL@
  EMULATION_OFILES = @EMULATION_OFILES@
 diff --git a/ld/Makefile.in b/ld/Makefile.in
-index 042b690ed6..37e7b25e9a 100644
+index ba251777b0..a2cf2282b5 100644
 --- a/ld/Makefile.in
 +++ b/ld/Makefile.in
-@@ -452,7 +452,7 @@ AM_CFLAGS = $(WARN_CFLAGS) $(ELF_CLFAGS)
+@@ -446,7 +446,7 @@ AM_CFLAGS = $(WARN_CFLAGS) $(ELF_CLFAGS)
  # We put the scripts in the directory $(scriptdir)/ldscripts.
  # We can't put the scripts in $(datadir) because the SEARCH_DIR
  # directives need to be different for native and cross linkers.
@@ -38,5 +38,5 @@
  BFDDIR = $(BASEDIR)/bfd
  INCDIR = $(BASEDIR)/include
 -- 
-2.12.0
+2.14.0
 
diff --git a/import-layers/yocto-poky/meta/recipes-devtools/binutils/binutils/0005-Only-generate-an-RPATH-entry-if-LD_RUN_PATH-is-not-e.patch b/import-layers/yocto-poky/meta/recipes-devtools/binutils/binutils/0005-Only-generate-an-RPATH-entry-if-LD_RUN_PATH-is-not-e.patch
index 726f702..59150a2 100644
--- a/import-layers/yocto-poky/meta/recipes-devtools/binutils/binutils/0005-Only-generate-an-RPATH-entry-if-LD_RUN_PATH-is-not-e.patch
+++ b/import-layers/yocto-poky/meta/recipes-devtools/binutils/binutils/0005-Only-generate-an-RPATH-entry-if-LD_RUN_PATH-is-not-e.patch
@@ -1,4 +1,4 @@
-From 42292f5533bca904f230a8e03ceee1f84ef0c4ec Mon Sep 17 00:00:00 2001
+From 9d37c8f68c07da63186cb993f1221f6c11eca422 Mon Sep 17 00:00:00 2001
 From: Khem Raj <raj.khem@gmail.com>
 Date: Mon, 2 Mar 2015 01:27:17 +0000
 Subject: [PATCH 05/15] Only generate an RPATH entry if LD_RUN_PATH is not
@@ -15,19 +15,19 @@
  1 file changed, 4 insertions(+)
 
 diff --git a/ld/emultempl/elf32.em b/ld/emultempl/elf32.em
-index 84adaef6df..ab8c74257e 100644
+index 9ac1840316..9dc4c149bc 100644
 --- a/ld/emultempl/elf32.em
 +++ b/ld/emultempl/elf32.em
-@@ -1411,6 +1411,8 @@ fragment <<EOF
+@@ -1463,6 +1463,8 @@ fragment <<EOF
  	      && command_line.rpath == NULL)
  	    {
- 	      lib_path = (const char *) getenv ("LD_RUN_PATH");
-+	      if ((lib_path) && (strlen (lib_path) == 0))
-+		  lib_path = NULL;
- 	      if (gld${EMULATION_NAME}_search_needed (lib_path, &n,
- 						      force))
+ 	      path = (const char *) getenv ("LD_RUN_PATH");
++	      if ((path) && (strlen (path) == 0))
++		  path = NULL;
+ 	      if (path
+ 		  && gld${EMULATION_NAME}_search_needed (path, &n, force))
  		break;
-@@ -1692,6 +1694,8 @@ gld${EMULATION_NAME}_before_allocation (void)
+@@ -1740,6 +1742,8 @@ gld${EMULATION_NAME}_before_allocation (void)
    rpath = command_line.rpath;
    if (rpath == NULL)
      rpath = (const char *) getenv ("LD_RUN_PATH");
@@ -37,5 +37,5 @@
    for (abfd = link_info.input_bfds; abfd; abfd = abfd->link.next)
      if (bfd_get_flavour (abfd) == bfd_target_elf_flavour)
 -- 
-2.12.0
+2.14.0
 
diff --git a/import-layers/yocto-poky/meta/recipes-devtools/binutils/binutils/0006-Explicitly-link-with-libm-on-uclibc.patch b/import-layers/yocto-poky/meta/recipes-devtools/binutils/binutils/0006-Explicitly-link-with-libm-on-uclibc.patch
deleted file mode 100644
index 9770ca7..0000000
--- a/import-layers/yocto-poky/meta/recipes-devtools/binutils/binutils/0006-Explicitly-link-with-libm-on-uclibc.patch
+++ /dev/null
@@ -1,52 +0,0 @@
-From 6a46bf151d7e53df8b5e7645a2d241967688368a Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Mon, 2 Mar 2015 01:32:49 +0000
-Subject: [PATCH 06/15] Explicitly link with libm on uclibc
-
-Description:
-
-We do not need to have the libtool patch anymore for binutils after
-libtool has been updated upstream it include support for it. However
-for building gas natively on uclibc systems we have to link it with
--lm so that it picks up missing symbols.
-
-/local/build_area/BUILD/arm_v5t_le_uclibc/binutils-2.17.50/objdir/libiberty/pic/libiberty.a(floatformat.o):
-In function `floatformat_from_double':
-floatformat.c:(.text+0x1ec): undefined reference to `frexp'
-floatformat.c:(.text+0x2f8): undefined reference to `ldexp'
-/local/build_area/BUILD/arm_v5t_le_uclibc/binutils-2.17.50/objdir/libiberty/pic/libiberty.a(floatformat.o):
-In function `floatformat_to_double':
-floatformat.c:(.text+0x38a): undefined reference to `ldexp'
-floatformat.c:(.text+0x3d2): undefined reference to `ldexp'
-floatformat.c:(.text+0x43e): undefined reference to `ldexp'
-floatformat.c:(.text+0x4e2): undefined reference to `ldexp'
-collect2: ld returned 1 exit status
-make[4]: *** [as-new] Error 1
-
-Upstream-Status: Pending
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- gas/configure.tgt | 6 ++++++
- 1 file changed, 6 insertions(+)
-
-diff --git a/gas/configure.tgt b/gas/configure.tgt
-index 711d537e95..7cd2dc176a 100644
---- a/gas/configure.tgt
-+++ b/gas/configure.tgt
-@@ -494,6 +494,12 @@ case ${generic_target} in
-   *-*-netware)				fmt=elf em=netware ;;
- esac
- 
-+case ${generic_target} in
-+  arm-*-*uclibc*)
-+    need_libm=yes
-+    ;;
-+esac
-+
- case ${cpu_type} in
-   aarch64 | alpha | arm | i386 | ia64 | microblaze | mips | ns32k | or1k | or1knd | pdp11 | ppc | riscv | sparc | z80 | z8k)
-     bfd_gas=yes
--- 
-2.12.0
-
diff --git a/import-layers/yocto-poky/meta/recipes-devtools/binutils/binutils/0007-Use-libtool-2.4.patch b/import-layers/yocto-poky/meta/recipes-devtools/binutils/binutils/0006-Use-libtool-2.4.patch
similarity index 98%
rename from import-layers/yocto-poky/meta/recipes-devtools/binutils/binutils/0007-Use-libtool-2.4.patch
rename to import-layers/yocto-poky/meta/recipes-devtools/binutils/binutils/0006-Use-libtool-2.4.patch
index 6b7f753..e87efe6 100644
--- a/import-layers/yocto-poky/meta/recipes-devtools/binutils/binutils/0007-Use-libtool-2.4.patch
+++ b/import-layers/yocto-poky/meta/recipes-devtools/binutils/binutils/0006-Use-libtool-2.4.patch
@@ -1,17 +1,18 @@
-From 9a3651e120261c72090689ad770ad048b0baf506 Mon Sep 17 00:00:00 2001
+From 71c734bb3754319029dcfc898cedbade42274dcb Mon Sep 17 00:00:00 2001
 From: Khem Raj <raj.khem@gmail.com>
-Date: Mon, 6 Mar 2017 23:28:33 -0800
-Subject: [PATCH 07/15] Use libtool 2.4
+Date: Sun, 14 Feb 2016 17:04:07 +0000
+Subject: [PATCH 06/15] Use libtool 2.4
 
 get libtool sysroot support
 
+Upstream-Status: Pending
+
 Signed-off-by: Khem Raj <raj.khem@gmail.com>
 ---
-Upstream-Status: Inappropriate [ OE configuration Specific]
-
  bfd/configure        | 1318 +++++++++++++++++------
  bfd/configure.ac     |    2 +-
  binutils/configure   | 1316 +++++++++++++++++------
+ configure            |    2 +-
  gas/configure        | 1314 +++++++++++++++++------
  gprof/configure      | 1321 +++++++++++++++++------
  ld/configure         | 1691 +++++++++++++++++++++--------
@@ -23,10 +24,10 @@
  opcodes/configure    | 1318 +++++++++++++++++------
  opcodes/configure.ac |    2 +-
  zlib/configure       | 1316 +++++++++++++++++------
- 14 files changed, 9926 insertions(+), 3693 deletions(-)
+ 15 files changed, 9927 insertions(+), 3694 deletions(-)
 
 diff --git a/bfd/configure b/bfd/configure
-index f30bfabef3..fa1a545e9d 100755
+index 48276594ed..3ece8943f3 100755
 --- a/bfd/configure
 +++ b/bfd/configure
 @@ -672,6 +672,9 @@ OTOOL
@@ -212,7 +213,7 @@
  file_magic_cmd=$lt_cv_file_magic_cmd
  deplibs_check_method=$lt_cv_deplibs_check_method
  test -z "$deplibs_check_method" && deplibs_check_method=unknown
-@@ -6523,9 +6624,162 @@ test -z "$deplibs_check_method" && deplibs_check_method=unknown
+@@ -6521,11 +6622,164 @@ test -z "$deplibs_check_method" && deplibs_check_method=unknown
  
  
  
@@ -226,6 +227,8 @@
 +
 +
 +
+ 
+ 
  if test -n "$ac_tool_prefix"; then
 -  # Extract the first word of "${ac_tool_prefix}ar", so it can be a program name with args.
 -set dummy ${ac_tool_prefix}ar; ac_word=$2
@@ -588,12 +591,17 @@
  
  
  
-@@ -7147,6 +7488,45 @@ fi
+@@ -7142,6 +7483,45 @@ fi
  
  
  
 +
 +
++
++
++
++
++
 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for sysroot" >&5
 +$as_echo_n "checking for sysroot... " >&6; }
 +
@@ -626,14 +634,9 @@
 +
 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: ${lt_sysroot:-no}" >&5
 +$as_echo "${lt_sysroot:-no}" >&6; }
-+
-+
-+
-+
-+
- # Check whether --enable-libtool-lock was given.
- if test "${enable_libtool_lock+set}" = set; then :
-   enableval=$enable_libtool_lock;
+ 
+ 
+ 
 @@ -7353,6 +7733,123 @@ esac
  
  need_locks="$enable_libtool_lock"
@@ -1331,7 +1334,7 @@
  int main ()
  {
    void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW);
-@@ -14122,7 +14777,7 @@ SHARED_LDFLAGS=
+@@ -14172,7 +14827,7 @@ SHARED_LDFLAGS=
  if test "$enable_shared" = "yes"; then
    x=`sed -n -e 's/^[ 	]*PICFLAG[ 	]*=[ 	]*//p' < ../libiberty/Makefile | sed -n '$p'`
    if test -n "$x"; then
@@ -1340,7 +1343,7 @@
    fi
  
  # More hacks to build DLLs on Windows.
-@@ -16826,13 +17481,20 @@ exeext='`$ECHO "$exeext" | $SED "$delay_single_quote_subst"`'
+@@ -16879,13 +17534,20 @@ exeext='`$ECHO "$exeext" | $SED "$delay_single_quote_subst"`'
  lt_unset='`$ECHO "$lt_unset" | $SED "$delay_single_quote_subst"`'
  lt_SP2NL='`$ECHO "$lt_SP2NL" | $SED "$delay_single_quote_subst"`'
  lt_NL2SP='`$ECHO "$lt_NL2SP" | $SED "$delay_single_quote_subst"`'
@@ -1361,7 +1364,7 @@
  STRIP='`$ECHO "$STRIP" | $SED "$delay_single_quote_subst"`'
  RANLIB='`$ECHO "$RANLIB" | $SED "$delay_single_quote_subst"`'
  old_postinstall_cmds='`$ECHO "$old_postinstall_cmds" | $SED "$delay_single_quote_subst"`'
-@@ -16847,14 +17509,17 @@ lt_cv_sys_global_symbol_pipe='`$ECHO "$lt_cv_sys_global_symbol_pipe" | $SED "$de
+@@ -16900,14 +17562,17 @@ lt_cv_sys_global_symbol_pipe='`$ECHO "$lt_cv_sys_global_symbol_pipe" | $SED "$de
  lt_cv_sys_global_symbol_to_cdecl='`$ECHO "$lt_cv_sys_global_symbol_to_cdecl" | $SED "$delay_single_quote_subst"`'
  lt_cv_sys_global_symbol_to_c_name_address='`$ECHO "$lt_cv_sys_global_symbol_to_c_name_address" | $SED "$delay_single_quote_subst"`'
  lt_cv_sys_global_symbol_to_c_name_address_lib_prefix='`$ECHO "$lt_cv_sys_global_symbol_to_c_name_address_lib_prefix" | $SED "$delay_single_quote_subst"`'
@@ -1380,7 +1383,7 @@
  DSYMUTIL='`$ECHO "$DSYMUTIL" | $SED "$delay_single_quote_subst"`'
  NMEDIT='`$ECHO "$NMEDIT" | $SED "$delay_single_quote_subst"`'
  LIPO='`$ECHO "$LIPO" | $SED "$delay_single_quote_subst"`'
-@@ -16887,12 +17552,12 @@ hardcode_shlibpath_var='`$ECHO "$hardcode_shlibpath_var" | $SED "$delay_single_q
+@@ -16940,12 +17605,12 @@ hardcode_shlibpath_var='`$ECHO "$hardcode_shlibpath_var" | $SED "$delay_single_q
  hardcode_automatic='`$ECHO "$hardcode_automatic" | $SED "$delay_single_quote_subst"`'
  inherit_rpath='`$ECHO "$inherit_rpath" | $SED "$delay_single_quote_subst"`'
  link_all_deplibs='`$ECHO "$link_all_deplibs" | $SED "$delay_single_quote_subst"`'
@@ -1394,7 +1397,7 @@
  file_list_spec='`$ECHO "$file_list_spec" | $SED "$delay_single_quote_subst"`'
  variables_saved_for_relink='`$ECHO "$variables_saved_for_relink" | $SED "$delay_single_quote_subst"`'
  need_lib_prefix='`$ECHO "$need_lib_prefix" | $SED "$delay_single_quote_subst"`'
-@@ -16947,8 +17612,13 @@ reload_flag \
+@@ -17000,8 +17665,13 @@ reload_flag \
  OBJDUMP \
  deplibs_check_method \
  file_magic_cmd \
@@ -1408,7 +1411,7 @@
  STRIP \
  RANLIB \
  CC \
-@@ -16958,12 +17628,14 @@ lt_cv_sys_global_symbol_pipe \
+@@ -17011,12 +17681,14 @@ lt_cv_sys_global_symbol_pipe \
  lt_cv_sys_global_symbol_to_cdecl \
  lt_cv_sys_global_symbol_to_c_name_address \
  lt_cv_sys_global_symbol_to_c_name_address_lib_prefix \
@@ -1424,7 +1427,7 @@
  DSYMUTIL \
  NMEDIT \
  LIPO \
-@@ -16979,7 +17651,6 @@ no_undefined_flag \
+@@ -17032,7 +17704,6 @@ no_undefined_flag \
  hardcode_libdir_flag_spec \
  hardcode_libdir_flag_spec_ld \
  hardcode_libdir_separator \
@@ -1432,7 +1435,7 @@
  exclude_expsyms \
  include_expsyms \
  file_list_spec \
-@@ -17015,6 +17686,7 @@ module_cmds \
+@@ -17068,6 +17739,7 @@ module_cmds \
  module_expsym_cmds \
  export_symbols_cmds \
  prelink_cmds \
@@ -1440,7 +1443,7 @@
  postinstall_cmds \
  postuninstall_cmds \
  finish_cmds \
-@@ -17794,7 +18466,8 @@ $as_echo X"$file" |
+@@ -17847,7 +18519,8 @@ $as_echo X"$file" |
  # NOTE: Changes made to this file will be lost: look at ltmain.sh.
  #
  #   Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005,
@@ -1450,7 +1453,7 @@
  #   Written by Gordon Matzigkeit, 1996
  #
  #   This file is part of GNU Libtool.
-@@ -17897,19 +18570,42 @@ SP2NL=$lt_lt_SP2NL
+@@ -17950,19 +18623,42 @@ SP2NL=$lt_lt_SP2NL
  # turn newlines into spaces.
  NL2SP=$lt_lt_NL2SP
  
@@ -1494,7 +1497,7 @@
  # A symbol stripping program.
  STRIP=$lt_STRIP
  
-@@ -17939,6 +18635,12 @@ global_symbol_to_c_name_address=$lt_lt_cv_sys_global_symbol_to_c_name_address
+@@ -17992,6 +18688,12 @@ global_symbol_to_c_name_address=$lt_lt_cv_sys_global_symbol_to_c_name_address
  # Transform the output of nm in a C name address pair when lib prefix is needed.
  global_symbol_to_c_name_address_lib_prefix=$lt_lt_cv_sys_global_symbol_to_c_name_address_lib_prefix
  
@@ -1507,7 +1510,7 @@
  # The name of the directory that contains temporary libtool files.
  objdir=$objdir
  
-@@ -17948,6 +18650,9 @@ MAGIC_CMD=$MAGIC_CMD
+@@ -18001,6 +18703,9 @@ MAGIC_CMD=$MAGIC_CMD
  # Must we lock files when doing compilation?
  need_locks=$lt_need_locks
  
@@ -1517,7 +1520,7 @@
  # Tool to manipulate archived DWARF debug symbol files on Mac OS X.
  DSYMUTIL=$lt_DSYMUTIL
  
-@@ -18062,12 +18767,12 @@ with_gcc=$GCC
+@@ -18115,12 +18820,12 @@ with_gcc=$GCC
  # Compiler flag to turn off builtin functions.
  no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag
  
@@ -1533,7 +1536,7 @@
  # Compiler flag to prevent dynamic linking.
  link_static_flag=$lt_lt_prog_compiler_static
  
-@@ -18154,9 +18859,6 @@ inherit_rpath=$inherit_rpath
+@@ -18207,9 +18912,6 @@ inherit_rpath=$inherit_rpath
  # Whether libtool must link a program against all its dependency libraries.
  link_all_deplibs=$link_all_deplibs
  
@@ -1543,7 +1546,7 @@
  # Set to "yes" if exported symbols are required.
  always_export_symbols=$always_export_symbols
  
-@@ -18172,6 +18874,9 @@ include_expsyms=$lt_include_expsyms
+@@ -18225,6 +18927,9 @@ include_expsyms=$lt_include_expsyms
  # Commands necessary for linking programs (against libraries) with templates.
  prelink_cmds=$lt_prelink_cmds
  
@@ -1553,7 +1556,7 @@
  # Specify filename containing input files.
  file_list_spec=$lt_file_list_spec
  
-@@ -18204,210 +18909,169 @@ ltmain="$ac_aux_dir/ltmain.sh"
+@@ -18257,210 +18962,169 @@ ltmain="$ac_aux_dir/ltmain.sh"
    # if finds mixed CR/LF and LF-only lines.  Since sed operates in
    # text mode, it properly converts lines to CR/LF.  This bash problem
    # is reportedly fixed, but why not run on old versions too?
@@ -1928,10 +1931,10 @@
    chmod +x "$ofile"
  
 diff --git a/bfd/configure.ac b/bfd/configure.ac
-index 9a183c1628..3d8ea07836 100644
+index 8fd03a7ea8..8816c3286c 100644
 --- a/bfd/configure.ac
 +++ b/bfd/configure.ac
-@@ -253,7 +253,7 @@ changequote(,)dnl
+@@ -254,7 +254,7 @@ changequote(,)dnl
    x=`sed -n -e 's/^[ 	]*PICFLAG[ 	]*=[ 	]*//p' < ../libiberty/Makefile | sed -n '$p'`
  changequote([,])dnl
    if test -n "$x"; then
@@ -1941,7 +1944,7 @@
  
  # More hacks to build DLLs on Windows.
 diff --git a/binutils/configure b/binutils/configure
-index 82119efe72..4a98918ce1 100755
+index 22e1b1736e..321b63535b 100755
 --- a/binutils/configure
 +++ b/binutils/configure
 @@ -659,8 +659,11 @@ OTOOL
@@ -2513,10 +2516,12 @@
  
  
  
-@@ -6910,6 +7256,40 @@ fi
+@@ -6908,6 +7254,40 @@ fi
  
  
  
++
++
 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for sysroot" >&5
 +$as_echo_n "checking for sysroot... " >&6; }
 +
@@ -2549,8 +2554,6 @@
 +
 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: ${lt_sysroot:-no}" >&5
 +$as_echo "${lt_sysroot:-no}" >&6; }
-+
-+
  
  
  
@@ -3251,7 +3254,7 @@
  int main ()
  {
    void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW);
-@@ -15436,13 +16091,20 @@ exeext='`$ECHO "$exeext" | $SED "$delay_single_quote_subst"`'
+@@ -15446,13 +16101,20 @@ exeext='`$ECHO "$exeext" | $SED "$delay_single_quote_subst"`'
  lt_unset='`$ECHO "$lt_unset" | $SED "$delay_single_quote_subst"`'
  lt_SP2NL='`$ECHO "$lt_SP2NL" | $SED "$delay_single_quote_subst"`'
  lt_NL2SP='`$ECHO "$lt_NL2SP" | $SED "$delay_single_quote_subst"`'
@@ -3272,7 +3275,7 @@
  STRIP='`$ECHO "$STRIP" | $SED "$delay_single_quote_subst"`'
  RANLIB='`$ECHO "$RANLIB" | $SED "$delay_single_quote_subst"`'
  old_postinstall_cmds='`$ECHO "$old_postinstall_cmds" | $SED "$delay_single_quote_subst"`'
-@@ -15457,14 +16119,17 @@ lt_cv_sys_global_symbol_pipe='`$ECHO "$lt_cv_sys_global_symbol_pipe" | $SED "$de
+@@ -15467,14 +16129,17 @@ lt_cv_sys_global_symbol_pipe='`$ECHO "$lt_cv_sys_global_symbol_pipe" | $SED "$de
  lt_cv_sys_global_symbol_to_cdecl='`$ECHO "$lt_cv_sys_global_symbol_to_cdecl" | $SED "$delay_single_quote_subst"`'
  lt_cv_sys_global_symbol_to_c_name_address='`$ECHO "$lt_cv_sys_global_symbol_to_c_name_address" | $SED "$delay_single_quote_subst"`'
  lt_cv_sys_global_symbol_to_c_name_address_lib_prefix='`$ECHO "$lt_cv_sys_global_symbol_to_c_name_address_lib_prefix" | $SED "$delay_single_quote_subst"`'
@@ -3291,7 +3294,7 @@
  DSYMUTIL='`$ECHO "$DSYMUTIL" | $SED "$delay_single_quote_subst"`'
  NMEDIT='`$ECHO "$NMEDIT" | $SED "$delay_single_quote_subst"`'
  LIPO='`$ECHO "$LIPO" | $SED "$delay_single_quote_subst"`'
-@@ -15497,12 +16162,12 @@ hardcode_shlibpath_var='`$ECHO "$hardcode_shlibpath_var" | $SED "$delay_single_q
+@@ -15507,12 +16172,12 @@ hardcode_shlibpath_var='`$ECHO "$hardcode_shlibpath_var" | $SED "$delay_single_q
  hardcode_automatic='`$ECHO "$hardcode_automatic" | $SED "$delay_single_quote_subst"`'
  inherit_rpath='`$ECHO "$inherit_rpath" | $SED "$delay_single_quote_subst"`'
  link_all_deplibs='`$ECHO "$link_all_deplibs" | $SED "$delay_single_quote_subst"`'
@@ -3305,7 +3308,7 @@
  file_list_spec='`$ECHO "$file_list_spec" | $SED "$delay_single_quote_subst"`'
  variables_saved_for_relink='`$ECHO "$variables_saved_for_relink" | $SED "$delay_single_quote_subst"`'
  need_lib_prefix='`$ECHO "$need_lib_prefix" | $SED "$delay_single_quote_subst"`'
-@@ -15557,8 +16222,13 @@ reload_flag \
+@@ -15567,8 +16232,13 @@ reload_flag \
  OBJDUMP \
  deplibs_check_method \
  file_magic_cmd \
@@ -3319,7 +3322,7 @@
  STRIP \
  RANLIB \
  CC \
-@@ -15568,12 +16238,14 @@ lt_cv_sys_global_symbol_pipe \
+@@ -15578,12 +16248,14 @@ lt_cv_sys_global_symbol_pipe \
  lt_cv_sys_global_symbol_to_cdecl \
  lt_cv_sys_global_symbol_to_c_name_address \
  lt_cv_sys_global_symbol_to_c_name_address_lib_prefix \
@@ -3335,7 +3338,7 @@
  DSYMUTIL \
  NMEDIT \
  LIPO \
-@@ -15589,7 +16261,6 @@ no_undefined_flag \
+@@ -15599,7 +16271,6 @@ no_undefined_flag \
  hardcode_libdir_flag_spec \
  hardcode_libdir_flag_spec_ld \
  hardcode_libdir_separator \
@@ -3343,7 +3346,7 @@
  exclude_expsyms \
  include_expsyms \
  file_list_spec \
-@@ -15625,6 +16296,7 @@ module_cmds \
+@@ -15635,6 +16306,7 @@ module_cmds \
  module_expsym_cmds \
  export_symbols_cmds \
  prelink_cmds \
@@ -3351,7 +3354,7 @@
  postinstall_cmds \
  postuninstall_cmds \
  finish_cmds \
-@@ -16382,7 +17054,8 @@ $as_echo X"$file" |
+@@ -16392,7 +17064,8 @@ $as_echo X"$file" |
  # NOTE: Changes made to this file will be lost: look at ltmain.sh.
  #
  #   Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005,
@@ -3361,7 +3364,7 @@
  #   Written by Gordon Matzigkeit, 1996
  #
  #   This file is part of GNU Libtool.
-@@ -16485,19 +17158,42 @@ SP2NL=$lt_lt_SP2NL
+@@ -16495,19 +17168,42 @@ SP2NL=$lt_lt_SP2NL
  # turn newlines into spaces.
  NL2SP=$lt_lt_NL2SP
  
@@ -3405,7 +3408,7 @@
  # A symbol stripping program.
  STRIP=$lt_STRIP
  
-@@ -16527,6 +17223,12 @@ global_symbol_to_c_name_address=$lt_lt_cv_sys_global_symbol_to_c_name_address
+@@ -16537,6 +17233,12 @@ global_symbol_to_c_name_address=$lt_lt_cv_sys_global_symbol_to_c_name_address
  # Transform the output of nm in a C name address pair when lib prefix is needed.
  global_symbol_to_c_name_address_lib_prefix=$lt_lt_cv_sys_global_symbol_to_c_name_address_lib_prefix
  
@@ -3418,7 +3421,7 @@
  # The name of the directory that contains temporary libtool files.
  objdir=$objdir
  
-@@ -16536,6 +17238,9 @@ MAGIC_CMD=$MAGIC_CMD
+@@ -16546,6 +17248,9 @@ MAGIC_CMD=$MAGIC_CMD
  # Must we lock files when doing compilation?
  need_locks=$lt_need_locks
  
@@ -3428,7 +3431,7 @@
  # Tool to manipulate archived DWARF debug symbol files on Mac OS X.
  DSYMUTIL=$lt_DSYMUTIL
  
-@@ -16650,12 +17355,12 @@ with_gcc=$GCC
+@@ -16660,12 +17365,12 @@ with_gcc=$GCC
  # Compiler flag to turn off builtin functions.
  no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag
  
@@ -3444,7 +3447,7 @@
  # Compiler flag to prevent dynamic linking.
  link_static_flag=$lt_lt_prog_compiler_static
  
-@@ -16742,9 +17447,6 @@ inherit_rpath=$inherit_rpath
+@@ -16752,9 +17457,6 @@ inherit_rpath=$inherit_rpath
  # Whether libtool must link a program against all its dependency libraries.
  link_all_deplibs=$link_all_deplibs
  
@@ -3454,7 +3457,7 @@
  # Set to "yes" if exported symbols are required.
  always_export_symbols=$always_export_symbols
  
-@@ -16760,6 +17462,9 @@ include_expsyms=$lt_include_expsyms
+@@ -16770,6 +17472,9 @@ include_expsyms=$lt_include_expsyms
  # Commands necessary for linking programs (against libraries) with templates.
  prelink_cmds=$lt_prelink_cmds
  
@@ -3464,7 +3467,7 @@
  # Specify filename containing input files.
  file_list_spec=$lt_file_list_spec
  
-@@ -16792,210 +17497,169 @@ ltmain="$ac_aux_dir/ltmain.sh"
+@@ -16802,210 +17507,169 @@ ltmain="$ac_aux_dir/ltmain.sh"
    # if finds mixed CR/LF and LF-only lines.  Since sed operates in
    # text mode, it properly converts lines to CR/LF.  This bash problem
    # is reportedly fixed, but why not run on old versions too?
@@ -3838,8 +3841,21 @@
      (rm -f "$ofile" && cp "$cfgfile" "$ofile" && rm -f "$cfgfile")
    chmod +x "$ofile"
  
+diff --git a/configure b/configure
+index d8af155ab5..005ed827ab 100755
+--- a/configure
++++ b/configure
+@@ -3844,7 +3844,7 @@ case "${target}" in
+   or1k*-*-*)
+     noconfigdirs="$noconfigdirs gdb"
+     ;;
+-  sh*-*-* | sh64-*-*)
++  sh-*-* | sh64-*-*)
+     case "${target}" in
+       sh*-*-elf)
+          ;;
 diff --git a/gas/configure b/gas/configure
-index e574cb8514..a36f1ae161 100755
+index 93afb20c8f..81dd4cbd97 100755
 --- a/gas/configure
 +++ b/gas/configure
 @@ -650,8 +650,11 @@ OTOOL
@@ -4402,10 +4418,12 @@
  
  
  
-@@ -6671,6 +7015,40 @@ fi
+@@ -6669,6 +7013,40 @@ fi
  
  
  
++
++
 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for sysroot" >&5
 +$as_echo_n "checking for sysroot... " >&6; }
 +
@@ -4438,8 +4456,6 @@
 +
 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: ${lt_sysroot:-no}" >&5
 +$as_echo "${lt_sysroot:-no}" >&6; }
-+
-+
  
  
  
@@ -5140,7 +5156,7 @@
  int main ()
  {
    void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW);
-@@ -15425,13 +16078,20 @@ exeext='`$ECHO "$exeext" | $SED "$delay_single_quote_subst"`'
+@@ -15436,13 +16089,20 @@ exeext='`$ECHO "$exeext" | $SED "$delay_single_quote_subst"`'
  lt_unset='`$ECHO "$lt_unset" | $SED "$delay_single_quote_subst"`'
  lt_SP2NL='`$ECHO "$lt_SP2NL" | $SED "$delay_single_quote_subst"`'
  lt_NL2SP='`$ECHO "$lt_NL2SP" | $SED "$delay_single_quote_subst"`'
@@ -5161,7 +5177,7 @@
  STRIP='`$ECHO "$STRIP" | $SED "$delay_single_quote_subst"`'
  RANLIB='`$ECHO "$RANLIB" | $SED "$delay_single_quote_subst"`'
  old_postinstall_cmds='`$ECHO "$old_postinstall_cmds" | $SED "$delay_single_quote_subst"`'
-@@ -15446,14 +16106,17 @@ lt_cv_sys_global_symbol_pipe='`$ECHO "$lt_cv_sys_global_symbol_pipe" | $SED "$de
+@@ -15457,14 +16117,17 @@ lt_cv_sys_global_symbol_pipe='`$ECHO "$lt_cv_sys_global_symbol_pipe" | $SED "$de
  lt_cv_sys_global_symbol_to_cdecl='`$ECHO "$lt_cv_sys_global_symbol_to_cdecl" | $SED "$delay_single_quote_subst"`'
  lt_cv_sys_global_symbol_to_c_name_address='`$ECHO "$lt_cv_sys_global_symbol_to_c_name_address" | $SED "$delay_single_quote_subst"`'
  lt_cv_sys_global_symbol_to_c_name_address_lib_prefix='`$ECHO "$lt_cv_sys_global_symbol_to_c_name_address_lib_prefix" | $SED "$delay_single_quote_subst"`'
@@ -5180,7 +5196,7 @@
  DSYMUTIL='`$ECHO "$DSYMUTIL" | $SED "$delay_single_quote_subst"`'
  NMEDIT='`$ECHO "$NMEDIT" | $SED "$delay_single_quote_subst"`'
  LIPO='`$ECHO "$LIPO" | $SED "$delay_single_quote_subst"`'
-@@ -15486,12 +16149,12 @@ hardcode_shlibpath_var='`$ECHO "$hardcode_shlibpath_var" | $SED "$delay_single_q
+@@ -15497,12 +16160,12 @@ hardcode_shlibpath_var='`$ECHO "$hardcode_shlibpath_var" | $SED "$delay_single_q
  hardcode_automatic='`$ECHO "$hardcode_automatic" | $SED "$delay_single_quote_subst"`'
  inherit_rpath='`$ECHO "$inherit_rpath" | $SED "$delay_single_quote_subst"`'
  link_all_deplibs='`$ECHO "$link_all_deplibs" | $SED "$delay_single_quote_subst"`'
@@ -5194,7 +5210,7 @@
  file_list_spec='`$ECHO "$file_list_spec" | $SED "$delay_single_quote_subst"`'
  variables_saved_for_relink='`$ECHO "$variables_saved_for_relink" | $SED "$delay_single_quote_subst"`'
  need_lib_prefix='`$ECHO "$need_lib_prefix" | $SED "$delay_single_quote_subst"`'
-@@ -15546,8 +16209,13 @@ reload_flag \
+@@ -15557,8 +16220,13 @@ reload_flag \
  OBJDUMP \
  deplibs_check_method \
  file_magic_cmd \
@@ -5208,7 +5224,7 @@
  STRIP \
  RANLIB \
  CC \
-@@ -15557,12 +16225,14 @@ lt_cv_sys_global_symbol_pipe \
+@@ -15568,12 +16236,14 @@ lt_cv_sys_global_symbol_pipe \
  lt_cv_sys_global_symbol_to_cdecl \
  lt_cv_sys_global_symbol_to_c_name_address \
  lt_cv_sys_global_symbol_to_c_name_address_lib_prefix \
@@ -5224,7 +5240,7 @@
  DSYMUTIL \
  NMEDIT \
  LIPO \
-@@ -15578,7 +16248,6 @@ no_undefined_flag \
+@@ -15589,7 +16259,6 @@ no_undefined_flag \
  hardcode_libdir_flag_spec \
  hardcode_libdir_flag_spec_ld \
  hardcode_libdir_separator \
@@ -5232,7 +5248,7 @@
  exclude_expsyms \
  include_expsyms \
  file_list_spec \
-@@ -15614,6 +16283,7 @@ module_cmds \
+@@ -15625,6 +16294,7 @@ module_cmds \
  module_expsym_cmds \
  export_symbols_cmds \
  prelink_cmds \
@@ -5240,7 +5256,7 @@
  postinstall_cmds \
  postuninstall_cmds \
  finish_cmds \
-@@ -16378,7 +17048,8 @@ $as_echo X"$file" |
+@@ -16389,7 +17059,8 @@ $as_echo X"$file" |
  # NOTE: Changes made to this file will be lost: look at ltmain.sh.
  #
  #   Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005,
@@ -5250,7 +5266,7 @@
  #   Written by Gordon Matzigkeit, 1996
  #
  #   This file is part of GNU Libtool.
-@@ -16481,19 +17152,42 @@ SP2NL=$lt_lt_SP2NL
+@@ -16492,19 +17163,42 @@ SP2NL=$lt_lt_SP2NL
  # turn newlines into spaces.
  NL2SP=$lt_lt_NL2SP
  
@@ -5294,7 +5310,7 @@
  # A symbol stripping program.
  STRIP=$lt_STRIP
  
-@@ -16523,6 +17217,12 @@ global_symbol_to_c_name_address=$lt_lt_cv_sys_global_symbol_to_c_name_address
+@@ -16534,6 +17228,12 @@ global_symbol_to_c_name_address=$lt_lt_cv_sys_global_symbol_to_c_name_address
  # Transform the output of nm in a C name address pair when lib prefix is needed.
  global_symbol_to_c_name_address_lib_prefix=$lt_lt_cv_sys_global_symbol_to_c_name_address_lib_prefix
  
@@ -5307,7 +5323,7 @@
  # The name of the directory that contains temporary libtool files.
  objdir=$objdir
  
-@@ -16532,6 +17232,9 @@ MAGIC_CMD=$MAGIC_CMD
+@@ -16543,6 +17243,9 @@ MAGIC_CMD=$MAGIC_CMD
  # Must we lock files when doing compilation?
  need_locks=$lt_need_locks
  
@@ -5317,7 +5333,7 @@
  # Tool to manipulate archived DWARF debug symbol files on Mac OS X.
  DSYMUTIL=$lt_DSYMUTIL
  
-@@ -16646,12 +17349,12 @@ with_gcc=$GCC
+@@ -16657,12 +17360,12 @@ with_gcc=$GCC
  # Compiler flag to turn off builtin functions.
  no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag
  
@@ -5333,7 +5349,7 @@
  # Compiler flag to prevent dynamic linking.
  link_static_flag=$lt_lt_prog_compiler_static
  
-@@ -16738,9 +17441,6 @@ inherit_rpath=$inherit_rpath
+@@ -16749,9 +17452,6 @@ inherit_rpath=$inherit_rpath
  # Whether libtool must link a program against all its dependency libraries.
  link_all_deplibs=$link_all_deplibs
  
@@ -5343,7 +5359,7 @@
  # Set to "yes" if exported symbols are required.
  always_export_symbols=$always_export_symbols
  
-@@ -16756,6 +17456,9 @@ include_expsyms=$lt_include_expsyms
+@@ -16767,6 +17467,9 @@ include_expsyms=$lt_include_expsyms
  # Commands necessary for linking programs (against libraries) with templates.
  prelink_cmds=$lt_prelink_cmds
  
@@ -5353,7 +5369,7 @@
  # Specify filename containing input files.
  file_list_spec=$lt_file_list_spec
  
-@@ -16788,210 +17491,169 @@ ltmain="$ac_aux_dir/ltmain.sh"
+@@ -16799,210 +17502,169 @@ ltmain="$ac_aux_dir/ltmain.sh"
    # if finds mixed CR/LF and LF-only lines.  Since sed operates in
    # text mode, it properly converts lines to CR/LF.  This bash problem
    # is reportedly fixed, but why not run on old versions too?
@@ -5728,7 +5744,7 @@
    chmod +x "$ofile"
  
 diff --git a/gprof/configure b/gprof/configure
-index 38a4c0b0e5..38d1f699c7 100755
+index 679e0dce77..ac4c016a63 100755
 --- a/gprof/configure
 +++ b/gprof/configure
 @@ -631,8 +631,11 @@ OTOOL
@@ -6309,10 +6325,15 @@
  
  
  
-@@ -6595,6 +6933,43 @@ fi
+@@ -6590,6 +6928,43 @@ fi
  
  
  
++
++
++
++
++
 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for sysroot" >&5
 +$as_echo_n "checking for sysroot... " >&6; }
 +
@@ -6345,14 +6366,9 @@
 +
 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: ${lt_sysroot:-no}" >&5
 +$as_echo "${lt_sysroot:-no}" >&6; }
-+
-+
-+
-+
-+
- # Check whether --enable-libtool-lock was given.
- if test "${enable_libtool_lock+set}" = set; then :
-   enableval=$enable_libtool_lock;
+ 
+ 
+ 
 @@ -6801,6 +7176,123 @@ esac
  
  need_locks="$enable_libtool_lock"
@@ -7638,10 +7654,10 @@
    chmod +x "$ofile"
  
 diff --git a/ld/configure b/ld/configure
-index a16c6db059..4277b74bad 100755
+index d7f66f8cdc..4e71511bd1 100755
 --- a/ld/configure
 +++ b/ld/configure
-@@ -659,8 +659,11 @@ OTOOL
+@@ -655,8 +655,11 @@ OTOOL
  LIPO
  NMEDIT
  DSYMUTIL
@@ -7653,7 +7669,7 @@
  OBJDUMP
  LN_S
  NM
-@@ -782,6 +785,7 @@ enable_static
+@@ -778,6 +781,7 @@ enable_static
  with_pic
  enable_fast_install
  with_gnu_ld
@@ -7661,7 +7677,7 @@
  enable_libtool_lock
  enable_plugins
  enable_largefile
-@@ -1463,6 +1467,8 @@ Optional Packages:
+@@ -1464,6 +1468,8 @@ Optional Packages:
    --with-pic              try to use only PIC/non-PIC objects [default=use
                            both]
    --with-gnu-ld           assume the C compiler uses GNU ld [default=no]
@@ -7670,7 +7686,7 @@
    --with-lib-path=dir1:dir2...  set default LIB_PATH
    --with-sysroot=DIR Search for usr/lib et al within DIR.
  
-@@ -5657,8 +5663,8 @@ esac
+@@ -5658,8 +5664,8 @@ esac
  
  
  
@@ -7681,7 +7697,7 @@
  
  
  
-@@ -5698,7 +5704,7 @@ ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO$ECHO
+@@ -5699,7 +5705,7 @@ ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO$ECHO
  { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to print strings" >&5
  $as_echo_n "checking how to print strings... " >&6; }
  # Test print first, because it will be a builtin if present.
@@ -7690,7 +7706,7 @@
     test "X`print -r -- $ECHO 2>/dev/null`" = "X$ECHO"; then
    ECHO='print -r --'
  elif test "X`printf %s $ECHO 2>/dev/null`" = "X$ECHO"; then
-@@ -6384,8 +6390,8 @@ $as_echo_n "checking whether the shell understands some XSI constructs... " >&6;
+@@ -6385,8 +6391,8 @@ $as_echo_n "checking whether the shell understands some XSI constructs... " >&6;
  # Try some XSI features
  xsi_shell=no
  ( _lt_dummy="a/b/c"
@@ -7701,7 +7717,7 @@
      && eval 'test $(( 1 + 1 )) -eq 2 \
      && test "${#_lt_dummy}" -eq 5' ) >/dev/null 2>&1 \
    && xsi_shell=yes
-@@ -6434,6 +6440,80 @@ esac
+@@ -6435,6 +6441,80 @@ esac
  
  
  
@@ -7782,7 +7798,7 @@
  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $LD option to reload object files" >&5
  $as_echo_n "checking for $LD option to reload object files... " >&6; }
  if test "${lt_cv_ld_reload_flag+set}" = set; then :
-@@ -6450,6 +6530,11 @@ case $reload_flag in
+@@ -6451,6 +6531,11 @@ case $reload_flag in
  esac
  reload_cmds='$LD$reload_flag -o $output$reload_objs'
  case $host_os in
@@ -7794,7 +7810,7 @@
    darwin*)
      if test "$GCC" = yes; then
        reload_cmds='$LTCC $LTCFLAGS -nostdlib ${wl}-r -o $output$reload_objs'
-@@ -6618,7 +6703,8 @@ mingw* | pw32*)
+@@ -6619,7 +6704,8 @@ mingw* | pw32*)
      lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL'
      lt_cv_file_magic_cmd='func_win32_libid'
    else
@@ -7804,7 +7820,7 @@
      lt_cv_file_magic_cmd='$OBJDUMP -f'
    fi
    ;;
-@@ -6772,6 +6858,21 @@ esac
+@@ -6773,6 +6859,21 @@ esac
  fi
  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_deplibs_check_method" >&5
  $as_echo "$lt_cv_deplibs_check_method" >&6; }
@@ -7826,7 +7842,7 @@
  file_magic_cmd=$lt_cv_file_magic_cmd
  deplibs_check_method=$lt_cv_deplibs_check_method
  test -z "$deplibs_check_method" && deplibs_check_method=unknown
-@@ -6787,9 +6888,162 @@ test -z "$deplibs_check_method" && deplibs_check_method=unknown
+@@ -6788,9 +6889,162 @@ test -z "$deplibs_check_method" && deplibs_check_method=unknown
  
  
  
@@ -7991,7 +8007,7 @@
  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
  $as_echo_n "checking for $ac_word... " >&6; }
  if test "${ac_cv_prog_AR+set}" = set; then :
-@@ -6805,7 +7059,7 @@ do
+@@ -6806,7 +7060,7 @@ do
    test -z "$as_dir" && as_dir=.
      for ac_exec_ext in '' $ac_executable_extensions; do
    if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
@@ -8000,7 +8016,7 @@
      $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
      break 2
    fi
-@@ -6825,11 +7079,15 @@ $as_echo "no" >&6; }
+@@ -6826,11 +7080,15 @@ $as_echo "no" >&6; }
  fi
  
  
@@ -8019,7 +8035,7 @@
  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
  $as_echo_n "checking for $ac_word... " >&6; }
  if test "${ac_cv_prog_ac_ct_AR+set}" = set; then :
-@@ -6845,7 +7103,7 @@ do
+@@ -6846,7 +7104,7 @@ do
    test -z "$as_dir" && as_dir=.
      for ac_exec_ext in '' $ac_executable_extensions; do
    if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
@@ -8028,7 +8044,7 @@
      $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
      break 2
    fi
-@@ -6864,6 +7122,10 @@ else
+@@ -6865,6 +7123,10 @@ else
  $as_echo "no" >&6; }
  fi
  
@@ -8039,7 +8055,7 @@
    if test "x$ac_ct_AR" = x; then
      AR="false"
    else
-@@ -6875,12 +7137,12 @@ ac_tool_warned=yes ;;
+@@ -6876,12 +7138,12 @@ ac_tool_warned=yes ;;
  esac
      AR=$ac_ct_AR
    fi
@@ -8056,7 +8072,7 @@
  
  
  
-@@ -6890,6 +7152,62 @@ test -z "$AR_FLAGS" && AR_FLAGS=cru
+@@ -6891,6 +7153,62 @@ test -z "$AR_FLAGS" && AR_FLAGS=cru
  
  
  
@@ -8119,7 +8135,7 @@
  
  
  if test -n "$ac_tool_prefix"; then
-@@ -7226,8 +7544,8 @@ esac
+@@ -7227,8 +7545,8 @@ esac
  lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern int \1();/p' -e 's/^$symcode* .* \(.*\)$/extern char \1;/p'"
  
  # Transform an extracted symbol line into symbol name and symbol address
@@ -8130,7 +8146,7 @@
  
  # Handle CRLF in mingw tool chain
  opt_cr=
-@@ -7263,6 +7581,7 @@ for ac_symprfx in "" "_"; do
+@@ -7264,6 +7582,7 @@ for ac_symprfx in "" "_"; do
    else
      lt_cv_sys_global_symbol_pipe="sed -n -e 's/^.*[	 ]\($symcode$symcode*\)[	 ][	 ]*$ac_symprfx$sympat$opt_cr$/$symxfrm/p'"
    fi
@@ -8138,7 +8154,7 @@
  
    # Check to see that the pipe works correctly.
    pipe_works=no
-@@ -7304,6 +7623,18 @@ _LT_EOF
+@@ -7305,6 +7624,18 @@ _LT_EOF
        if $GREP ' nm_test_var$' "$nlist" >/dev/null; then
  	if $GREP ' nm_test_func$' "$nlist" >/dev/null; then
  	  cat <<_LT_EOF > conftest.$ac_ext
@@ -8157,7 +8173,7 @@
  #ifdef __cplusplus
  extern "C" {
  #endif
-@@ -7315,7 +7646,7 @@ _LT_EOF
+@@ -7316,7 +7647,7 @@ _LT_EOF
  	  cat <<_LT_EOF >> conftest.$ac_ext
  
  /* The mapping between symbol names and symbols.  */
@@ -8166,7 +8182,7 @@
    const char *name;
    void       *address;
  }
-@@ -7341,8 +7672,8 @@ static const void *lt_preloaded_setup() {
+@@ -7342,8 +7673,8 @@ static const void *lt_preloaded_setup() {
  _LT_EOF
  	  # Now try linking the two files.
  	  mv conftest.$ac_objext conftstm.$ac_objext
@@ -8177,7 +8193,7 @@
  	  LIBS="conftstm.$ac_objext"
  	  CFLAGS="$CFLAGS$lt_prog_compiler_no_builtin_flag"
  	  if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5
-@@ -7352,8 +7683,8 @@ _LT_EOF
+@@ -7353,8 +7684,8 @@ _LT_EOF
    test $ac_status = 0; } && test -s conftest${ac_exeext}; then
  	    pipe_works=yes
  	  fi
@@ -8188,7 +8204,7 @@
  	else
  	  echo "cannot find nm_test_func in $nlist" >&5
  	fi
-@@ -7390,6 +7721,19 @@ else
+@@ -7391,6 +7722,19 @@ else
  $as_echo "ok" >&6; }
  fi
  
@@ -8208,10 +8224,14 @@
  
  
  
-@@ -7410,6 +7754,42 @@ fi
+@@ -7404,6 +7748,42 @@ fi
  
  
  
++
++
++
++
 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for sysroot" >&5
 +$as_echo_n "checking for sysroot... " >&6; }
 +
@@ -8244,14 +8264,10 @@
 +
 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: ${lt_sysroot:-no}" >&5
 +$as_echo "${lt_sysroot:-no}" >&6; }
-+
-+
-+
-+
  
- # Check whether --enable-libtool-lock was given.
- if test "${enable_libtool_lock+set}" = set; then :
-@@ -7617,6 +7997,123 @@ esac
+ 
+ 
+@@ -7618,6 +7998,123 @@ esac
  
  need_locks="$enable_libtool_lock"
  
@@ -8375,7 +8391,7 @@
  
    case $host_os in
      rhapsody* | darwin*)
-@@ -8180,6 +8677,8 @@ _LT_EOF
+@@ -8181,6 +8678,8 @@ _LT_EOF
        $LTCC $LTCFLAGS -c -o conftest.o conftest.c 2>&5
        echo "$AR cru libconftest.a conftest.o" >&5
        $AR cru libconftest.a conftest.o 2>&5
@@ -8384,7 +8400,7 @@
        cat > conftest.c << _LT_EOF
  int main() { return 0;}
  _LT_EOF
-@@ -8248,6 +8747,16 @@ done
+@@ -8249,6 +8748,16 @@ done
  
  
  
@@ -8401,7 +8417,7 @@
  
  
  # Set options
-@@ -8376,7 +8885,8 @@ fi
+@@ -8377,7 +8886,8 @@ fi
  LIBTOOL_DEPS="$ltmain"
  
  # Always use our own libtool.
@@ -8411,7 +8427,7 @@
  
  
  
-@@ -8465,7 +8975,7 @@ aix3*)
+@@ -8466,7 +8976,7 @@ aix3*)
  esac
  
  # Global variables:
@@ -8420,7 +8436,7 @@
  can_build_shared=yes
  
  # All known linkers require a `.a' archive for static linking (except MSVC,
-@@ -8763,8 +9273,6 @@ fi
+@@ -8764,8 +9274,6 @@ fi
  lt_prog_compiler_pic=
  lt_prog_compiler_static=
  
@@ -8429,7 +8445,7 @@
  
    if test "$GCC" = yes; then
      lt_prog_compiler_wl='-Wl,'
-@@ -8930,6 +9438,12 @@ $as_echo_n "checking for $compiler option to produce PIC... " >&6; }
+@@ -8931,6 +9439,12 @@ $as_echo_n "checking for $compiler option to produce PIC... " >&6; }
  	lt_prog_compiler_pic='--shared'
  	lt_prog_compiler_static='--static'
  	;;
@@ -8442,7 +8458,7 @@
        pgcc* | pgf77* | pgf90* | pgf95* | pgfortran*)
          # Portland Group compilers (*not* the Pentium gcc compiler,
  	# which looks to be a dead project)
-@@ -8992,7 +9506,7 @@ $as_echo_n "checking for $compiler option to produce PIC... " >&6; }
+@@ -8993,7 +9507,7 @@ $as_echo_n "checking for $compiler option to produce PIC... " >&6; }
        lt_prog_compiler_pic='-KPIC'
        lt_prog_compiler_static='-Bstatic'
        case $cc_basename in
@@ -8451,7 +8467,7 @@
  	lt_prog_compiler_wl='-Qoption ld ';;
        *)
  	lt_prog_compiler_wl='-Wl,';;
-@@ -9049,13 +9563,17 @@ case $host_os in
+@@ -9050,13 +9564,17 @@ case $host_os in
      lt_prog_compiler_pic="$lt_prog_compiler_pic -DPIC"
      ;;
  esac
@@ -8475,7 +8491,7 @@
  
  #
  # Check to make sure the PIC flag actually works.
-@@ -9116,6 +9634,11 @@ fi
+@@ -9117,6 +9635,11 @@ fi
  
  
  
@@ -8487,7 +8503,7 @@
  #
  # Check to make sure the static flag actually works.
  #
-@@ -9466,7 +9989,8 @@ _LT_EOF
+@@ -9467,7 +9990,8 @@ _LT_EOF
        allow_undefined_flag=unsupported
        always_export_symbols=no
        enable_shared_with_static_runtimes=yes
@@ -8497,7 +8513,7 @@
  
        if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then
          archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
-@@ -9565,12 +10089,12 @@ _LT_EOF
+@@ -9566,12 +10090,12 @@ _LT_EOF
  	  whole_archive_flag_spec='--whole-archive$convenience --no-whole-archive'
  	  hardcode_libdir_flag_spec=
  	  hardcode_libdir_flag_spec_ld='-rpath $libdir'
@@ -8512,7 +8528,7 @@
  	  fi
  	  ;;
  	esac
-@@ -9584,8 +10108,8 @@ _LT_EOF
+@@ -9585,8 +10109,8 @@ _LT_EOF
  	archive_cmds='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib'
  	wlarc=
        else
@@ -8523,7 +8539,7 @@
        fi
        ;;
  
-@@ -9603,8 +10127,8 @@ _LT_EOF
+@@ -9604,8 +10128,8 @@ _LT_EOF
  
  _LT_EOF
        elif $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
@@ -8534,7 +8550,7 @@
        else
  	ld_shlibs=no
        fi
-@@ -9650,8 +10174,8 @@ _LT_EOF
+@@ -9651,8 +10175,8 @@ _LT_EOF
  
      *)
        if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
@@ -8545,7 +8561,7 @@
        else
  	ld_shlibs=no
        fi
-@@ -9781,7 +10305,13 @@ _LT_EOF
+@@ -9782,7 +10306,13 @@ _LT_EOF
  	allow_undefined_flag='-berok'
          # Determine the default libpath from the value encoded in an
          # empty executable.
@@ -8560,7 +8576,7 @@
  /* end confdefs.h.  */
  
  int
-@@ -9794,22 +10324,29 @@ main ()
+@@ -9795,22 +10325,29 @@ main ()
  _ACEOF
  if ac_fn_c_try_link "$LINENO"; then :
  
@@ -8603,7 +8619,7 @@
  
          hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath"
          archive_expsym_cmds='$CC -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then func_echo_all "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag"
-@@ -9821,7 +10358,13 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
+@@ -9822,7 +10359,13 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
  	else
  	 # Determine the default libpath from the value encoded in an
  	 # empty executable.
@@ -8618,7 +8634,7 @@
  /* end confdefs.h.  */
  
  int
-@@ -9834,22 +10377,29 @@ main ()
+@@ -9835,22 +10378,29 @@ main ()
  _ACEOF
  if ac_fn_c_try_link "$LINENO"; then :
  
@@ -8661,7 +8677,7 @@
  
  	 hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath"
  	  # Warning - without using the other run time loading flags,
-@@ -9893,21 +10443,64 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
+@@ -9894,21 +10444,64 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
        # When not using gcc, we currently assume that we are using
        # Microsoft Visual C++.
        # hardcode_libdir_flag_spec is actually meaningless, as there is
@@ -8741,7 +8757,7 @@
        ;;
  
      darwin* | rhapsody*)
-@@ -9968,7 +10561,7 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
+@@ -9969,7 +10562,7 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
  
      # FreeBSD 3 and greater uses gcc -shared to do shared libraries.
      freebsd* | dragonfly*)
@@ -8750,7 +8766,7 @@
        hardcode_libdir_flag_spec='-R$libdir'
        hardcode_direct=yes
        hardcode_shlibpath_var=no
-@@ -9976,7 +10569,7 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
+@@ -9977,7 +10570,7 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
  
      hpux9*)
        if test "$GCC" = yes; then
@@ -8759,7 +8775,7 @@
        else
  	archive_cmds='$RM $output_objdir/$soname~$LD -b +b $install_libdir -o $output_objdir/$soname $libobjs $deplibs $linker_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
        fi
-@@ -9992,7 +10585,7 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
+@@ -9993,7 +10586,7 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
  
      hpux10*)
        if test "$GCC" = yes && test "$with_gnu_ld" = no; then
@@ -8768,7 +8784,7 @@
        else
  	archive_cmds='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags'
        fi
-@@ -10016,10 +10609,10 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
+@@ -10017,10 +10610,10 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
  	  archive_cmds='$CC -shared ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
  	  ;;
  	ia64*)
@@ -8781,7 +8797,7 @@
  	  ;;
  	esac
        else
-@@ -10098,23 +10691,36 @@ fi
+@@ -10099,23 +10692,36 @@ fi
  
      irix5* | irix6* | nonstopux*)
        if test "$GCC" = yes; then
@@ -8826,7 +8842,7 @@
        else
  	archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib'
  	archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -exports_file $export_symbols -o $lib'
-@@ -10199,7 +10805,7 @@ rm -f core conftest.err conftest.$ac_objext \
+@@ -10200,7 +10806,7 @@ rm -f core conftest.err conftest.$ac_objext \
      osf4* | osf5*)	# as osf3* with the addition of -msym flag
        if test "$GCC" = yes; then
  	allow_undefined_flag=' ${wl}-expect_unresolved ${wl}\*'
@@ -8835,7 +8851,7 @@
  	hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
        else
  	allow_undefined_flag=' -expect_unresolved \*'
-@@ -10218,9 +10824,9 @@ rm -f core conftest.err conftest.$ac_objext \
+@@ -10219,9 +10825,9 @@ rm -f core conftest.err conftest.$ac_objext \
        no_undefined_flag=' -z defs'
        if test "$GCC" = yes; then
  	wlarc='${wl}'
@@ -8847,7 +8863,7 @@
        else
  	case `$CC -V 2>&1` in
  	*"Compilers 5.0"*)
-@@ -10796,8 +11402,9 @@ cygwin* | mingw* | pw32* | cegcc*)
+@@ -10797,8 +11403,9 @@ cygwin* | mingw* | pw32* | cegcc*)
    need_version=no
    need_lib_prefix=no
  
@@ -8859,7 +8875,7 @@
      library_names_spec='$libname.dll.a'
      # DLL is installed to $(libdir)/../bin by postinstall_cmds
      postinstall_cmds='base_file=`basename \${file}`~
-@@ -10830,13 +11437,71 @@ cygwin* | mingw* | pw32* | cegcc*)
+@@ -10831,13 +11438,71 @@ cygwin* | mingw* | pw32* | cegcc*)
        library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}'
        ;;
      esac
@@ -8932,7 +8948,7 @@
    # FIXME: first we should search . and the directory the executable is in
    shlibpath_var=PATH
    ;;
-@@ -10928,7 +11593,7 @@ haiku*)
+@@ -10929,7 +11594,7 @@ haiku*)
    soname_spec='${libname}${release}${shared_ext}$major'
    shlibpath_var=LIBRARY_PATH
    shlibpath_overrides_runpath=yes
@@ -8941,7 +8957,7 @@
    hardcode_into_libs=yes
    ;;
  
-@@ -11768,10 +12433,10 @@ else
+@@ -11769,10 +12434,10 @@ else
  /* When -fvisbility=hidden is used, assume the code has been annotated
     correspondingly for the symbols needed.  */
  #if defined(__GNUC__) && (((__GNUC__ == 3) && (__GNUC_MINOR__ >= 3)) || (__GNUC__ > 3))
@@ -8954,7 +8970,7 @@
  int main ()
  {
    void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW);
-@@ -11874,10 +12539,10 @@ else
+@@ -11875,10 +12540,10 @@ else
  /* When -fvisbility=hidden is used, assume the code has been annotated
     correspondingly for the symbols needed.  */
  #if defined(__GNUC__) && (((__GNUC__ == 3) && (__GNUC_MINOR__ >= 3)) || (__GNUC__ > 3))
@@ -8967,7 +8983,7 @@
  int main ()
  {
    void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW);
-@@ -12269,6 +12934,7 @@ $RM -r conftest*
+@@ -12270,6 +12935,7 @@ $RM -r conftest*
  
    # Allow CC to be a program name with arguments.
    lt_save_CC=$CC
@@ -8975,7 +8991,7 @@
    lt_save_LD=$LD
    lt_save_GCC=$GCC
    GCC=$GXX
-@@ -12286,6 +12952,7 @@ $RM -r conftest*
+@@ -12287,6 +12953,7 @@ $RM -r conftest*
    fi
    test -z "${LDCXX+set}" || LD=$LDCXX
    CC=${CXX-"c++"}
@@ -8983,7 +8999,7 @@
    compiler=$CC
    compiler_CXX=$CC
    for cc_temp in $compiler""; do
-@@ -12568,7 +13235,13 @@ $as_echo_n "checking whether the $compiler linker ($LD) supports shared librarie
+@@ -12569,7 +13236,13 @@ $as_echo_n "checking whether the $compiler linker ($LD) supports shared librarie
            allow_undefined_flag_CXX='-berok'
            # Determine the default libpath from the value encoded in an empty
            # executable.
@@ -8998,7 +9014,7 @@
  /* end confdefs.h.  */
  
  int
-@@ -12581,22 +13254,29 @@ main ()
+@@ -12582,22 +13255,29 @@ main ()
  _ACEOF
  if ac_fn_cxx_try_link "$LINENO"; then :
  
@@ -9041,7 +9057,7 @@
  
            hardcode_libdir_flag_spec_CXX='${wl}-blibpath:$libdir:'"$aix_libpath"
  
-@@ -12609,7 +13289,13 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
+@@ -12610,7 +13290,13 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
            else
  	    # Determine the default libpath from the value encoded in an
  	    # empty executable.
@@ -9056,7 +9072,7 @@
  /* end confdefs.h.  */
  
  int
-@@ -12622,22 +13308,29 @@ main ()
+@@ -12623,22 +13309,29 @@ main ()
  _ACEOF
  if ac_fn_cxx_try_link "$LINENO"; then :
  
@@ -9099,7 +9115,7 @@
  
  	    hardcode_libdir_flag_spec_CXX='${wl}-blibpath:$libdir:'"$aix_libpath"
  	    # Warning - without using the other run time loading flags,
-@@ -12680,29 +13373,75 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
+@@ -12681,29 +13374,75 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
          ;;
  
        cygwin* | mingw* | pw32* | cegcc*)
@@ -9198,7 +9214,7 @@
        darwin* | rhapsody*)
  
  
-@@ -12808,7 +13547,7 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
+@@ -12809,7 +13548,7 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
              ;;
            *)
              if test "$GXX" = yes; then
@@ -9207,7 +9223,7 @@
              else
                # FIXME: insert proper C++ library support
                ld_shlibs_CXX=no
-@@ -12879,10 +13618,10 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
+@@ -12880,10 +13619,10 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
  	            archive_cmds_CXX='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
  	            ;;
  	          ia64*)
@@ -9220,7 +9236,7 @@
  	            ;;
  	        esac
  	      fi
-@@ -12923,9 +13662,9 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
+@@ -12924,9 +13663,9 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
            *)
  	    if test "$GXX" = yes; then
  	      if test "$with_gnu_ld" = no; then
@@ -9232,7 +9248,7 @@
  	      fi
  	    fi
  	    link_all_deplibs_CXX=yes
-@@ -12995,20 +13734,20 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
+@@ -12996,20 +13735,20 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
  	      prelink_cmds_CXX='tpldir=Template.dir~
  		rm -rf $tpldir~
  		$CC --prelink_objects --instantiation_dir $tpldir $objs $libobjs $compile_deplibs~
@@ -9257,7 +9273,7 @@
  	      ;;
  	    *) # Version 6 and above use weak symbols
  	      archive_cmds_CXX='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname -o $lib'
-@@ -13203,7 +13942,7 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
+@@ -13204,7 +13943,7 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
  	          archive_cmds_CXX='$CC -shared -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
  		  ;;
  	        *)
@@ -9266,7 +9282,7 @@
  		  ;;
  	      esac
  
-@@ -13249,7 +13988,7 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
+@@ -13250,7 +13989,7 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
  
        solaris*)
          case $cc_basename in
@@ -9275,7 +9291,7 @@
  	    # Sun C++ 4.2, 5.x and Centerline C++
              archive_cmds_need_lc_CXX=yes
  	    no_undefined_flag_CXX=' -zdefs'
-@@ -13290,9 +14029,9 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
+@@ -13291,9 +14030,9 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
  	    if test "$GXX" = yes && test "$with_gnu_ld" = no; then
  	      no_undefined_flag_CXX=' ${wl}-z ${wl}defs'
  	      if $CC --version | $GREP -v '^2\.7' > /dev/null; then
@@ -9287,7 +9303,7 @@
  
  	        # Commands to make compiler produce verbose output that lists
  	        # what "hidden" libraries, object files and flags are used when
-@@ -13427,6 +14166,13 @@ private:
+@@ -13428,6 +14167,13 @@ private:
  };
  _LT_EOF
  
@@ -9301,7 +9317,7 @@
  if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
    (eval $ac_compile) 2>&5
    ac_status=$?
-@@ -13440,7 +14186,7 @@ if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
+@@ -13441,7 +14187,7 @@ if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
    pre_test_object_deps_done=no
  
    for p in `eval "$output_verbose_link_cmd"`; do
@@ -9310,7 +9326,7 @@
  
      -L* | -R* | -l*)
         # Some compilers place space between "-{L,R}" and the path.
-@@ -13449,13 +14195,22 @@ if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
+@@ -13450,13 +14196,22 @@ if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
            test $p = "-R"; then
  	 prev=$p
  	 continue
@@ -9337,7 +9353,7 @@
  	   # Internal compiler library paths should come after those
  	   # provided the user.  The postdeps already come after the
  	   # user supplied libs so there is no need to process them.
-@@ -13475,8 +14230,10 @@ if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
+@@ -13476,8 +14231,10 @@ if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
  	   postdeps_CXX="${postdeps_CXX} ${prev}${p}"
  	 fi
         fi
@@ -9348,7 +9364,7 @@
      *.$objext)
         # This assumes that the test object file only shows up
         # once in the compiler output.
-@@ -13512,6 +14269,7 @@ else
+@@ -13513,6 +14270,7 @@ else
  fi
  
  $RM -f confest.$objext
@@ -9356,7 +9372,7 @@
  
  # PORTME: override above test on systems where it is broken
  case $host_os in
-@@ -13547,7 +14305,7 @@ linux*)
+@@ -13548,7 +14306,7 @@ linux*)
  
  solaris*)
    case $cc_basename in
@@ -9365,7 +9381,7 @@
      # The more standards-conforming stlport4 library is
      # incompatible with the Cstd library. Avoid specifying
      # it if it's in CXXFLAGS. Ignore libCrun as
-@@ -13612,8 +14370,6 @@ fi
+@@ -13613,8 +14371,6 @@ fi
  lt_prog_compiler_pic_CXX=
  lt_prog_compiler_static_CXX=
  
@@ -9374,7 +9390,7 @@
  
    # C++ specific cases for pic, static, wl, etc.
    if test "$GXX" = yes; then
-@@ -13718,6 +14474,11 @@ $as_echo_n "checking for $compiler option to produce PIC... " >&6; }
+@@ -13719,6 +14475,11 @@ $as_echo_n "checking for $compiler option to produce PIC... " >&6; }
  	  ;;
  	esac
  	;;
@@ -9386,7 +9402,7 @@
        dgux*)
  	case $cc_basename in
  	  ec++*)
-@@ -13870,7 +14631,7 @@ $as_echo_n "checking for $compiler option to produce PIC... " >&6; }
+@@ -13871,7 +14632,7 @@ $as_echo_n "checking for $compiler option to produce PIC... " >&6; }
  	;;
        solaris*)
  	case $cc_basename in
@@ -9395,7 +9411,7 @@
  	    # Sun C++ 4.2, 5.x and Centerline C++
  	    lt_prog_compiler_pic_CXX='-KPIC'
  	    lt_prog_compiler_static_CXX='-Bstatic'
-@@ -13935,10 +14696,17 @@ case $host_os in
+@@ -13936,10 +14697,17 @@ case $host_os in
      lt_prog_compiler_pic_CXX="$lt_prog_compiler_pic_CXX -DPIC"
      ;;
  esac
@@ -9416,7 +9432,7 @@
  
  #
  # Check to make sure the PIC flag actually works.
-@@ -13996,6 +14764,8 @@ fi
+@@ -13997,6 +14765,8 @@ fi
  
  
  
@@ -9425,7 +9441,7 @@
  #
  # Check to make sure the static flag actually works.
  #
-@@ -14173,6 +14943,7 @@ fi
+@@ -14174,6 +14944,7 @@ fi
  $as_echo_n "checking whether the $compiler linker ($LD) supports shared libraries... " >&6; }
  
    export_symbols_cmds_CXX='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
@@ -9433,7 +9449,7 @@
    case $host_os in
    aix[4-9]*)
      # If we're using GNU nm, then we don't want the "-C" option.
-@@ -14187,15 +14958,20 @@ $as_echo_n "checking whether the $compiler linker ($LD) supports shared librarie
+@@ -14188,15 +14959,20 @@ $as_echo_n "checking whether the $compiler linker ($LD) supports shared librarie
      ;;
    pw32*)
      export_symbols_cmds_CXX="$ltdll_cmds"
@@ -9459,7 +9475,7 @@
  
  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ld_shlibs_CXX" >&5
  $as_echo "$ld_shlibs_CXX" >&6; }
-@@ -14458,8 +15234,9 @@ cygwin* | mingw* | pw32* | cegcc*)
+@@ -14459,8 +15235,9 @@ cygwin* | mingw* | pw32* | cegcc*)
    need_version=no
    need_lib_prefix=no
  
@@ -9471,7 +9487,7 @@
      library_names_spec='$libname.dll.a'
      # DLL is installed to $(libdir)/../bin by postinstall_cmds
      postinstall_cmds='base_file=`basename \${file}`~
-@@ -14491,13 +15268,71 @@ cygwin* | mingw* | pw32* | cegcc*)
+@@ -14492,13 +15269,71 @@ cygwin* | mingw* | pw32* | cegcc*)
        library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}'
        ;;
      esac
@@ -9544,7 +9560,7 @@
    # FIXME: first we should search . and the directory the executable is in
    shlibpath_var=PATH
    ;;
-@@ -14588,7 +15423,7 @@ haiku*)
+@@ -14589,7 +15424,7 @@ haiku*)
    soname_spec='${libname}${release}${shared_ext}$major'
    shlibpath_var=LIBRARY_PATH
    shlibpath_overrides_runpath=yes
@@ -9553,7 +9569,7 @@
    hardcode_into_libs=yes
    ;;
  
-@@ -15047,6 +15882,7 @@ fi
+@@ -15048,6 +15883,7 @@ fi
    fi # test -n "$compiler"
  
    CC=$lt_save_CC
@@ -9561,7 +9577,7 @@
    LDCXX=$LD
    LD=$lt_save_LD
    GCC=$lt_save_GCC
-@@ -18026,13 +18862,20 @@ exeext='`$ECHO "$exeext" | $SED "$delay_single_quote_subst"`'
+@@ -18083,13 +18919,20 @@ exeext='`$ECHO "$exeext" | $SED "$delay_single_quote_subst"`'
  lt_unset='`$ECHO "$lt_unset" | $SED "$delay_single_quote_subst"`'
  lt_SP2NL='`$ECHO "$lt_SP2NL" | $SED "$delay_single_quote_subst"`'
  lt_NL2SP='`$ECHO "$lt_NL2SP" | $SED "$delay_single_quote_subst"`'
@@ -9582,7 +9598,7 @@
  STRIP='`$ECHO "$STRIP" | $SED "$delay_single_quote_subst"`'
  RANLIB='`$ECHO "$RANLIB" | $SED "$delay_single_quote_subst"`'
  old_postinstall_cmds='`$ECHO "$old_postinstall_cmds" | $SED "$delay_single_quote_subst"`'
-@@ -18047,14 +18890,17 @@ lt_cv_sys_global_symbol_pipe='`$ECHO "$lt_cv_sys_global_symbol_pipe" | $SED "$de
+@@ -18104,14 +18947,17 @@ lt_cv_sys_global_symbol_pipe='`$ECHO "$lt_cv_sys_global_symbol_pipe" | $SED "$de
  lt_cv_sys_global_symbol_to_cdecl='`$ECHO "$lt_cv_sys_global_symbol_to_cdecl" | $SED "$delay_single_quote_subst"`'
  lt_cv_sys_global_symbol_to_c_name_address='`$ECHO "$lt_cv_sys_global_symbol_to_c_name_address" | $SED "$delay_single_quote_subst"`'
  lt_cv_sys_global_symbol_to_c_name_address_lib_prefix='`$ECHO "$lt_cv_sys_global_symbol_to_c_name_address_lib_prefix" | $SED "$delay_single_quote_subst"`'
@@ -9601,7 +9617,7 @@
  DSYMUTIL='`$ECHO "$DSYMUTIL" | $SED "$delay_single_quote_subst"`'
  NMEDIT='`$ECHO "$NMEDIT" | $SED "$delay_single_quote_subst"`'
  LIPO='`$ECHO "$LIPO" | $SED "$delay_single_quote_subst"`'
-@@ -18087,12 +18933,12 @@ hardcode_shlibpath_var='`$ECHO "$hardcode_shlibpath_var" | $SED "$delay_single_q
+@@ -18144,12 +18990,12 @@ hardcode_shlibpath_var='`$ECHO "$hardcode_shlibpath_var" | $SED "$delay_single_q
  hardcode_automatic='`$ECHO "$hardcode_automatic" | $SED "$delay_single_quote_subst"`'
  inherit_rpath='`$ECHO "$inherit_rpath" | $SED "$delay_single_quote_subst"`'
  link_all_deplibs='`$ECHO "$link_all_deplibs" | $SED "$delay_single_quote_subst"`'
@@ -9615,7 +9631,7 @@
  file_list_spec='`$ECHO "$file_list_spec" | $SED "$delay_single_quote_subst"`'
  variables_saved_for_relink='`$ECHO "$variables_saved_for_relink" | $SED "$delay_single_quote_subst"`'
  need_lib_prefix='`$ECHO "$need_lib_prefix" | $SED "$delay_single_quote_subst"`'
-@@ -18131,8 +18977,8 @@ old_archive_cmds_CXX='`$ECHO "$old_archive_cmds_CXX" | $SED "$delay_single_quote
+@@ -18188,8 +19034,8 @@ old_archive_cmds_CXX='`$ECHO "$old_archive_cmds_CXX" | $SED "$delay_single_quote
  compiler_CXX='`$ECHO "$compiler_CXX" | $SED "$delay_single_quote_subst"`'
  GCC_CXX='`$ECHO "$GCC_CXX" | $SED "$delay_single_quote_subst"`'
  lt_prog_compiler_no_builtin_flag_CXX='`$ECHO "$lt_prog_compiler_no_builtin_flag_CXX" | $SED "$delay_single_quote_subst"`'
@@ -9625,7 +9641,7 @@
  lt_prog_compiler_static_CXX='`$ECHO "$lt_prog_compiler_static_CXX" | $SED "$delay_single_quote_subst"`'
  lt_cv_prog_compiler_c_o_CXX='`$ECHO "$lt_cv_prog_compiler_c_o_CXX" | $SED "$delay_single_quote_subst"`'
  archive_cmds_need_lc_CXX='`$ECHO "$archive_cmds_need_lc_CXX" | $SED "$delay_single_quote_subst"`'
-@@ -18159,12 +19005,12 @@ hardcode_shlibpath_var_CXX='`$ECHO "$hardcode_shlibpath_var_CXX" | $SED "$delay_
+@@ -18216,12 +19062,12 @@ hardcode_shlibpath_var_CXX='`$ECHO "$hardcode_shlibpath_var_CXX" | $SED "$delay_
  hardcode_automatic_CXX='`$ECHO "$hardcode_automatic_CXX" | $SED "$delay_single_quote_subst"`'
  inherit_rpath_CXX='`$ECHO "$inherit_rpath_CXX" | $SED "$delay_single_quote_subst"`'
  link_all_deplibs_CXX='`$ECHO "$link_all_deplibs_CXX" | $SED "$delay_single_quote_subst"`'
@@ -9639,7 +9655,7 @@
  file_list_spec_CXX='`$ECHO "$file_list_spec_CXX" | $SED "$delay_single_quote_subst"`'
  hardcode_action_CXX='`$ECHO "$hardcode_action_CXX" | $SED "$delay_single_quote_subst"`'
  compiler_lib_search_dirs_CXX='`$ECHO "$compiler_lib_search_dirs_CXX" | $SED "$delay_single_quote_subst"`'
-@@ -18202,8 +19048,13 @@ reload_flag \
+@@ -18259,8 +19105,13 @@ reload_flag \
  OBJDUMP \
  deplibs_check_method \
  file_magic_cmd \
@@ -9653,7 +9669,7 @@
  STRIP \
  RANLIB \
  CC \
-@@ -18213,12 +19064,14 @@ lt_cv_sys_global_symbol_pipe \
+@@ -18270,12 +19121,14 @@ lt_cv_sys_global_symbol_pipe \
  lt_cv_sys_global_symbol_to_cdecl \
  lt_cv_sys_global_symbol_to_c_name_address \
  lt_cv_sys_global_symbol_to_c_name_address_lib_prefix \
@@ -9669,7 +9685,7 @@
  DSYMUTIL \
  NMEDIT \
  LIPO \
-@@ -18234,7 +19087,6 @@ no_undefined_flag \
+@@ -18291,7 +19144,6 @@ no_undefined_flag \
  hardcode_libdir_flag_spec \
  hardcode_libdir_flag_spec_ld \
  hardcode_libdir_separator \
@@ -9677,7 +9693,7 @@
  exclude_expsyms \
  include_expsyms \
  file_list_spec \
-@@ -18256,8 +19108,8 @@ LD_CXX \
+@@ -18313,8 +19165,8 @@ LD_CXX \
  reload_flag_CXX \
  compiler_CXX \
  lt_prog_compiler_no_builtin_flag_CXX \
@@ -9687,7 +9703,7 @@
  lt_prog_compiler_static_CXX \
  lt_cv_prog_compiler_c_o_CXX \
  export_dynamic_flag_spec_CXX \
-@@ -18269,7 +19121,6 @@ no_undefined_flag_CXX \
+@@ -18326,7 +19178,6 @@ no_undefined_flag_CXX \
  hardcode_libdir_flag_spec_CXX \
  hardcode_libdir_flag_spec_ld_CXX \
  hardcode_libdir_separator_CXX \
@@ -9695,7 +9711,7 @@
  exclude_expsyms_CXX \
  include_expsyms_CXX \
  file_list_spec_CXX \
-@@ -18303,6 +19154,7 @@ module_cmds \
+@@ -18360,6 +19211,7 @@ module_cmds \
  module_expsym_cmds \
  export_symbols_cmds \
  prelink_cmds \
@@ -9703,7 +9719,7 @@
  postinstall_cmds \
  postuninstall_cmds \
  finish_cmds \
-@@ -18317,7 +19169,8 @@ archive_expsym_cmds_CXX \
+@@ -18374,7 +19226,8 @@ archive_expsym_cmds_CXX \
  module_cmds_CXX \
  module_expsym_cmds_CXX \
  export_symbols_cmds_CXX \
@@ -9713,7 +9729,7 @@
      case \`eval \\\\\$ECHO \\\\""\\\\\$\$var"\\\\"\` in
      *[\\\\\\\`\\"\\\$]*)
        eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"\\\$\$var\\" | \\\$SED -e \\"\\\$double_quote_subst\\" -e \\"\\\$sed_quote_subst\\" -e \\"\\\$delay_variable_subst\\"\\\`\\\\\\""
-@@ -19110,7 +19963,8 @@ $as_echo X"$file" |
+@@ -19167,7 +20020,8 @@ $as_echo X"$file" |
  # NOTE: Changes made to this file will be lost: look at ltmain.sh.
  #
  #   Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005,
@@ -9723,7 +9739,7 @@
  #   Written by Gordon Matzigkeit, 1996
  #
  #   This file is part of GNU Libtool.
-@@ -19213,19 +20067,42 @@ SP2NL=$lt_lt_SP2NL
+@@ -19270,19 +20124,42 @@ SP2NL=$lt_lt_SP2NL
  # turn newlines into spaces.
  NL2SP=$lt_lt_NL2SP
  
@@ -9767,7 +9783,7 @@
  # A symbol stripping program.
  STRIP=$lt_STRIP
  
-@@ -19255,6 +20132,12 @@ global_symbol_to_c_name_address=$lt_lt_cv_sys_global_symbol_to_c_name_address
+@@ -19312,6 +20189,12 @@ global_symbol_to_c_name_address=$lt_lt_cv_sys_global_symbol_to_c_name_address
  # Transform the output of nm in a C name address pair when lib prefix is needed.
  global_symbol_to_c_name_address_lib_prefix=$lt_lt_cv_sys_global_symbol_to_c_name_address_lib_prefix
  
@@ -9780,7 +9796,7 @@
  # The name of the directory that contains temporary libtool files.
  objdir=$objdir
  
-@@ -19264,6 +20147,9 @@ MAGIC_CMD=$MAGIC_CMD
+@@ -19321,6 +20204,9 @@ MAGIC_CMD=$MAGIC_CMD
  # Must we lock files when doing compilation?
  need_locks=$lt_need_locks
  
@@ -9790,7 +9806,7 @@
  # Tool to manipulate archived DWARF debug symbol files on Mac OS X.
  DSYMUTIL=$lt_DSYMUTIL
  
-@@ -19378,12 +20264,12 @@ with_gcc=$GCC
+@@ -19435,12 +20321,12 @@ with_gcc=$GCC
  # Compiler flag to turn off builtin functions.
  no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag
  
@@ -9806,7 +9822,7 @@
  # Compiler flag to prevent dynamic linking.
  link_static_flag=$lt_lt_prog_compiler_static
  
-@@ -19470,9 +20356,6 @@ inherit_rpath=$inherit_rpath
+@@ -19527,9 +20413,6 @@ inherit_rpath=$inherit_rpath
  # Whether libtool must link a program against all its dependency libraries.
  link_all_deplibs=$link_all_deplibs
  
@@ -9816,7 +9832,7 @@
  # Set to "yes" if exported symbols are required.
  always_export_symbols=$always_export_symbols
  
-@@ -19488,6 +20371,9 @@ include_expsyms=$lt_include_expsyms
+@@ -19545,6 +20428,9 @@ include_expsyms=$lt_include_expsyms
  # Commands necessary for linking programs (against libraries) with templates.
  prelink_cmds=$lt_prelink_cmds
  
@@ -9826,7 +9842,7 @@
  # Specify filename containing input files.
  file_list_spec=$lt_file_list_spec
  
-@@ -19534,210 +20420,169 @@ ltmain="$ac_aux_dir/ltmain.sh"
+@@ -19591,210 +20477,169 @@ ltmain="$ac_aux_dir/ltmain.sh"
    # if finds mixed CR/LF and LF-only lines.  Since sed operates in
    # text mode, it properly converts lines to CR/LF.  This bash problem
    # is reportedly fixed, but why not run on old versions too?
@@ -10200,7 +10216,7 @@
      (rm -f "$ofile" && cp "$cfgfile" "$ofile" && rm -f "$cfgfile")
    chmod +x "$ofile"
  
-@@ -19765,12 +20610,12 @@ with_gcc=$GCC_CXX
+@@ -19822,12 +20667,12 @@ with_gcc=$GCC_CXX
  # Compiler flag to turn off builtin functions.
  no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag_CXX
  
@@ -10216,7 +10232,7 @@
  # Compiler flag to prevent dynamic linking.
  link_static_flag=$lt_lt_prog_compiler_static_CXX
  
-@@ -19857,9 +20702,6 @@ inherit_rpath=$inherit_rpath_CXX
+@@ -19914,9 +20759,6 @@ inherit_rpath=$inherit_rpath_CXX
  # Whether libtool must link a program against all its dependency libraries.
  link_all_deplibs=$link_all_deplibs_CXX
  
@@ -10226,7 +10242,7 @@
  # Set to "yes" if exported symbols are required.
  always_export_symbols=$always_export_symbols_CXX
  
-@@ -19875,6 +20717,9 @@ include_expsyms=$lt_include_expsyms_CXX
+@@ -19932,6 +20774,9 @@ include_expsyms=$lt_include_expsyms_CXX
  # Commands necessary for linking programs (against libraries) with templates.
  prelink_cmds=$lt_prelink_cmds_CXX
  
@@ -17320,7 +17336,7 @@
  # These exist entirely to fool aclocal when bootstrapping libtool.
  #
 diff --git a/opcodes/configure b/opcodes/configure
-index 0b352a454d..7eaea7db73 100755
+index 17530f54b9..79b39611c2 100755
 --- a/opcodes/configure
 +++ b/opcodes/configure
 @@ -650,6 +650,9 @@ OTOOL
@@ -17506,7 +17522,7 @@
  file_magic_cmd=$lt_cv_file_magic_cmd
  deplibs_check_method=$lt_cv_deplibs_check_method
  test -z "$deplibs_check_method" && deplibs_check_method=unknown
-@@ -6245,9 +6346,162 @@ test -z "$deplibs_check_method" && deplibs_check_method=unknown
+@@ -6243,11 +6344,164 @@ test -z "$deplibs_check_method" && deplibs_check_method=unknown
  
  
  
@@ -17520,6 +17536,8 @@
 +
 +
 +
+ 
+ 
  if test -n "$ac_tool_prefix"; then
 -  # Extract the first word of "${ac_tool_prefix}ar", so it can be a program name with args.
 -set dummy ${ac_tool_prefix}ar; ac_word=$2
@@ -17882,12 +17900,17 @@
  
  
  
-@@ -6869,6 +7210,45 @@ fi
+@@ -6864,6 +7205,45 @@ fi
  
  
  
 +
 +
++
++
++
++
++
 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for sysroot" >&5
 +$as_echo_n "checking for sysroot... " >&6; }
 +
@@ -17920,14 +17943,9 @@
 +
 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: ${lt_sysroot:-no}" >&5
 +$as_echo "${lt_sysroot:-no}" >&6; }
-+
-+
-+
-+
-+
- # Check whether --enable-libtool-lock was given.
- if test "${enable_libtool_lock+set}" = set; then :
-   enableval=$enable_libtool_lock;
+ 
+ 
+ 
 @@ -7075,6 +7455,123 @@ esac
  
  need_locks="$enable_libtool_lock"
@@ -18634,7 +18652,7 @@
    fi
  
    case "${host}" in
-@@ -13518,13 +14173,20 @@ exeext='`$ECHO "$exeext" | $SED "$delay_single_quote_subst"`'
+@@ -13520,13 +14175,20 @@ exeext='`$ECHO "$exeext" | $SED "$delay_single_quote_subst"`'
  lt_unset='`$ECHO "$lt_unset" | $SED "$delay_single_quote_subst"`'
  lt_SP2NL='`$ECHO "$lt_SP2NL" | $SED "$delay_single_quote_subst"`'
  lt_NL2SP='`$ECHO "$lt_NL2SP" | $SED "$delay_single_quote_subst"`'
@@ -18655,7 +18673,7 @@
  STRIP='`$ECHO "$STRIP" | $SED "$delay_single_quote_subst"`'
  RANLIB='`$ECHO "$RANLIB" | $SED "$delay_single_quote_subst"`'
  old_postinstall_cmds='`$ECHO "$old_postinstall_cmds" | $SED "$delay_single_quote_subst"`'
-@@ -13539,14 +14201,17 @@ lt_cv_sys_global_symbol_pipe='`$ECHO "$lt_cv_sys_global_symbol_pipe" | $SED "$de
+@@ -13541,14 +14203,17 @@ lt_cv_sys_global_symbol_pipe='`$ECHO "$lt_cv_sys_global_symbol_pipe" | $SED "$de
  lt_cv_sys_global_symbol_to_cdecl='`$ECHO "$lt_cv_sys_global_symbol_to_cdecl" | $SED "$delay_single_quote_subst"`'
  lt_cv_sys_global_symbol_to_c_name_address='`$ECHO "$lt_cv_sys_global_symbol_to_c_name_address" | $SED "$delay_single_quote_subst"`'
  lt_cv_sys_global_symbol_to_c_name_address_lib_prefix='`$ECHO "$lt_cv_sys_global_symbol_to_c_name_address_lib_prefix" | $SED "$delay_single_quote_subst"`'
@@ -18674,7 +18692,7 @@
  DSYMUTIL='`$ECHO "$DSYMUTIL" | $SED "$delay_single_quote_subst"`'
  NMEDIT='`$ECHO "$NMEDIT" | $SED "$delay_single_quote_subst"`'
  LIPO='`$ECHO "$LIPO" | $SED "$delay_single_quote_subst"`'
-@@ -13579,12 +14244,12 @@ hardcode_shlibpath_var='`$ECHO "$hardcode_shlibpath_var" | $SED "$delay_single_q
+@@ -13581,12 +14246,12 @@ hardcode_shlibpath_var='`$ECHO "$hardcode_shlibpath_var" | $SED "$delay_single_q
  hardcode_automatic='`$ECHO "$hardcode_automatic" | $SED "$delay_single_quote_subst"`'
  inherit_rpath='`$ECHO "$inherit_rpath" | $SED "$delay_single_quote_subst"`'
  link_all_deplibs='`$ECHO "$link_all_deplibs" | $SED "$delay_single_quote_subst"`'
@@ -18688,7 +18706,7 @@
  file_list_spec='`$ECHO "$file_list_spec" | $SED "$delay_single_quote_subst"`'
  variables_saved_for_relink='`$ECHO "$variables_saved_for_relink" | $SED "$delay_single_quote_subst"`'
  need_lib_prefix='`$ECHO "$need_lib_prefix" | $SED "$delay_single_quote_subst"`'
-@@ -13639,8 +14304,13 @@ reload_flag \
+@@ -13641,8 +14306,13 @@ reload_flag \
  OBJDUMP \
  deplibs_check_method \
  file_magic_cmd \
@@ -18702,7 +18720,7 @@
  STRIP \
  RANLIB \
  CC \
-@@ -13650,12 +14320,14 @@ lt_cv_sys_global_symbol_pipe \
+@@ -13652,12 +14322,14 @@ lt_cv_sys_global_symbol_pipe \
  lt_cv_sys_global_symbol_to_cdecl \
  lt_cv_sys_global_symbol_to_c_name_address \
  lt_cv_sys_global_symbol_to_c_name_address_lib_prefix \
@@ -18718,7 +18736,7 @@
  DSYMUTIL \
  NMEDIT \
  LIPO \
-@@ -13671,7 +14343,6 @@ no_undefined_flag \
+@@ -13673,7 +14345,6 @@ no_undefined_flag \
  hardcode_libdir_flag_spec \
  hardcode_libdir_flag_spec_ld \
  hardcode_libdir_separator \
@@ -18726,7 +18744,7 @@
  exclude_expsyms \
  include_expsyms \
  file_list_spec \
-@@ -13707,6 +14378,7 @@ module_cmds \
+@@ -13709,6 +14380,7 @@ module_cmds \
  module_expsym_cmds \
  export_symbols_cmds \
  prelink_cmds \
@@ -18734,7 +18752,7 @@
  postinstall_cmds \
  postuninstall_cmds \
  finish_cmds \
-@@ -14463,7 +15135,8 @@ $as_echo X"$file" |
+@@ -14465,7 +15137,8 @@ $as_echo X"$file" |
  # NOTE: Changes made to this file will be lost: look at ltmain.sh.
  #
  #   Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005,
@@ -18744,7 +18762,7 @@
  #   Written by Gordon Matzigkeit, 1996
  #
  #   This file is part of GNU Libtool.
-@@ -14566,19 +15239,42 @@ SP2NL=$lt_lt_SP2NL
+@@ -14568,19 +15241,42 @@ SP2NL=$lt_lt_SP2NL
  # turn newlines into spaces.
  NL2SP=$lt_lt_NL2SP
  
@@ -18788,7 +18806,7 @@
  # A symbol stripping program.
  STRIP=$lt_STRIP
  
-@@ -14608,6 +15304,12 @@ global_symbol_to_c_name_address=$lt_lt_cv_sys_global_symbol_to_c_name_address
+@@ -14610,6 +15306,12 @@ global_symbol_to_c_name_address=$lt_lt_cv_sys_global_symbol_to_c_name_address
  # Transform the output of nm in a C name address pair when lib prefix is needed.
  global_symbol_to_c_name_address_lib_prefix=$lt_lt_cv_sys_global_symbol_to_c_name_address_lib_prefix
  
@@ -18801,7 +18819,7 @@
  # The name of the directory that contains temporary libtool files.
  objdir=$objdir
  
-@@ -14617,6 +15319,9 @@ MAGIC_CMD=$MAGIC_CMD
+@@ -14619,6 +15321,9 @@ MAGIC_CMD=$MAGIC_CMD
  # Must we lock files when doing compilation?
  need_locks=$lt_need_locks
  
@@ -18811,7 +18829,7 @@
  # Tool to manipulate archived DWARF debug symbol files on Mac OS X.
  DSYMUTIL=$lt_DSYMUTIL
  
-@@ -14731,12 +15436,12 @@ with_gcc=$GCC
+@@ -14733,12 +15438,12 @@ with_gcc=$GCC
  # Compiler flag to turn off builtin functions.
  no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag
  
@@ -18827,7 +18845,7 @@
  # Compiler flag to prevent dynamic linking.
  link_static_flag=$lt_lt_prog_compiler_static
  
-@@ -14823,9 +15528,6 @@ inherit_rpath=$inherit_rpath
+@@ -14825,9 +15530,6 @@ inherit_rpath=$inherit_rpath
  # Whether libtool must link a program against all its dependency libraries.
  link_all_deplibs=$link_all_deplibs
  
@@ -18837,7 +18855,7 @@
  # Set to "yes" if exported symbols are required.
  always_export_symbols=$always_export_symbols
  
-@@ -14841,6 +15543,9 @@ include_expsyms=$lt_include_expsyms
+@@ -14843,6 +15545,9 @@ include_expsyms=$lt_include_expsyms
  # Commands necessary for linking programs (against libraries) with templates.
  prelink_cmds=$lt_prelink_cmds
  
@@ -18847,7 +18865,7 @@
  # Specify filename containing input files.
  file_list_spec=$lt_file_list_spec
  
-@@ -14873,210 +15578,169 @@ ltmain="$ac_aux_dir/ltmain.sh"
+@@ -14875,210 +15580,169 @@ ltmain="$ac_aux_dir/ltmain.sh"
    # if finds mixed CR/LF and LF-only lines.  Since sed operates in
    # text mode, it properly converts lines to CR/LF.  This bash problem
    # is reportedly fixed, but why not run on old versions too?
@@ -19222,7 +19240,7 @@
    chmod +x "$ofile"
  
 diff --git a/opcodes/configure.ac b/opcodes/configure.ac
-index b9f5eb8a4f..a31b66a2f0 100644
+index a9fbfd61f1..c43780f64d 100644
 --- a/opcodes/configure.ac
 +++ b/opcodes/configure.ac
 @@ -167,7 +167,7 @@ changequote(,)dnl
@@ -19235,7 +19253,7 @@
  
    case "${host}" in
 diff --git a/zlib/configure b/zlib/configure
-index bed9e3ea2b..caef0b674e 100755
+index dc2d9ed383..ed9a492f5c 100755
 --- a/zlib/configure
 +++ b/zlib/configure
 @@ -614,8 +614,11 @@ OTOOL
@@ -19423,7 +19441,7 @@
  file_magic_cmd=$lt_cv_file_magic_cmd
  deplibs_check_method=$lt_cv_deplibs_check_method
  test -z "$deplibs_check_method" && deplibs_check_method=unknown
-@@ -5170,9 +5271,163 @@ test -z "$deplibs_check_method" && deplibs_check_method=unknown
+@@ -5168,11 +5269,165 @@ test -z "$deplibs_check_method" && deplibs_check_method=unknown
  
  
  
@@ -19437,6 +19455,8 @@
 +
 +
 +
+ 
+ 
  if test -n "$ac_tool_prefix"; then
 -  # Extract the first word of "${ac_tool_prefix}ar", so it can be a program name with args.
 -set dummy ${ac_tool_prefix}ar; ac_word=$2
@@ -19803,10 +19823,13 @@
  
  
  
-@@ -5793,6 +6138,41 @@ fi
+@@ -5790,6 +6135,41 @@ fi
  
  
  
++
++
++
 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for sysroot" >&5
 +$as_echo_n "checking for sysroot... " >&6; }
 +
@@ -19839,12 +19862,9 @@
 +
 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: ${lt_sysroot:-no}" >&5
 +$as_echo "${lt_sysroot:-no}" >&6; }
-+
-+
-+
  
  
- # Check whether --enable-libtool-lock was given.
+ 
 @@ -6004,6 +6384,123 @@ esac
  
  need_locks="$enable_libtool_lock"
@@ -21133,5 +21153,5 @@
    chmod +x "$ofile"
  
 -- 
-2.12.0
+2.14.0
 
diff --git a/import-layers/yocto-poky/meta/recipes-devtools/binutils/binutils/0008-Add-the-armv5e-architecture-to-binutils.patch b/import-layers/yocto-poky/meta/recipes-devtools/binutils/binutils/0007-Add-the-armv5e-architecture-to-binutils.patch
similarity index 83%
rename from import-layers/yocto-poky/meta/recipes-devtools/binutils/binutils/0008-Add-the-armv5e-architecture-to-binutils.patch
rename to import-layers/yocto-poky/meta/recipes-devtools/binutils/binutils/0007-Add-the-armv5e-architecture-to-binutils.patch
index 449225a..8801960 100644
--- a/import-layers/yocto-poky/meta/recipes-devtools/binutils/binutils/0008-Add-the-armv5e-architecture-to-binutils.patch
+++ b/import-layers/yocto-poky/meta/recipes-devtools/binutils/binutils/0007-Add-the-armv5e-architecture-to-binutils.patch
@@ -1,7 +1,7 @@
-From 9c313e8a15a7e7c5c0f2906e3218ed211563ac2a Mon Sep 17 00:00:00 2001
+From 2b87aad1741bc481dd0982f100ad5ea7f937bb61 Mon Sep 17 00:00:00 2001
 From: Khem Raj <raj.khem@gmail.com>
 Date: Mon, 2 Mar 2015 01:37:10 +0000
-Subject: [PATCH 08/15] Add the armv5e architecture to binutils
+Subject: [PATCH 07/15] Add the armv5e architecture to binutils
 
 Binutils has a comment that indicates it is supposed to match gcc for
 all of the support "-march=" settings, but it was lacking the armv5e setting.
@@ -19,10 +19,10 @@
  1 file changed, 1 insertion(+)
 
 diff --git a/gas/config/tc-arm.c b/gas/config/tc-arm.c
-index 60bda51070..eb6d0afd6e 100644
+index a885efe4fc..735eaa7447 100644
 --- a/gas/config/tc-arm.c
 +++ b/gas/config/tc-arm.c
-@@ -25633,6 +25633,7 @@ static const struct arm_arch_option_table arm_archs[] =
+@@ -25990,6 +25990,7 @@ static const struct arm_arch_option_table arm_archs[] =
    ARM_ARCH_OPT ("armv4t",	ARM_ARCH_V4T,	 FPU_ARCH_FPA),
    ARM_ARCH_OPT ("armv4txm",	ARM_ARCH_V4TxM,	 FPU_ARCH_FPA),
    ARM_ARCH_OPT ("armv5",	ARM_ARCH_V5,	 FPU_ARCH_VFP),
@@ -31,5 +31,5 @@
    ARM_ARCH_OPT ("armv5txm",	ARM_ARCH_V5TxM,	 FPU_ARCH_VFP),
    ARM_ARCH_OPT ("armv5te",	ARM_ARCH_V5TE,	 FPU_ARCH_VFP),
 -- 
-2.12.0
+2.14.0
 
diff --git a/import-layers/yocto-poky/meta/recipes-devtools/binutils/binutils/0009-don-t-let-the-distro-compiler-point-to-the-wrong-ins.patch b/import-layers/yocto-poky/meta/recipes-devtools/binutils/binutils/0008-don-t-let-the-distro-compiler-point-to-the-wrong-ins.patch
similarity index 82%
rename from import-layers/yocto-poky/meta/recipes-devtools/binutils/binutils/0009-don-t-let-the-distro-compiler-point-to-the-wrong-ins.patch
rename to import-layers/yocto-poky/meta/recipes-devtools/binutils/binutils/0008-don-t-let-the-distro-compiler-point-to-the-wrong-ins.patch
index 1c40593..30a22b5 100644
--- a/import-layers/yocto-poky/meta/recipes-devtools/binutils/binutils/0009-don-t-let-the-distro-compiler-point-to-the-wrong-ins.patch
+++ b/import-layers/yocto-poky/meta/recipes-devtools/binutils/binutils/0008-don-t-let-the-distro-compiler-point-to-the-wrong-ins.patch
@@ -1,7 +1,7 @@
-From 2be9b44a4a308e3ea42a027c4c3211170f10c9c0 Mon Sep 17 00:00:00 2001
+From 331443a87a31ec504e5652fc099d9129a9a4deb8 Mon Sep 17 00:00:00 2001
 From: Khem Raj <raj.khem@gmail.com>
 Date: Mon, 2 Mar 2015 01:39:01 +0000
-Subject: [PATCH 09/15] don't let the distro compiler point to the wrong
+Subject: [PATCH 08/15] don't let the distro compiler point to the wrong
  installation location
 
 Thanks to RP for helping find the source code causing the issue.
@@ -17,10 +17,10 @@
  1 file changed, 2 insertions(+), 1 deletion(-)
 
 diff --git a/libiberty/Makefile.in b/libiberty/Makefile.in
-index 0ff9e45e45..42c32642b2 100644
+index 25cfa29ad5..ce67a710e3 100644
 --- a/libiberty/Makefile.in
 +++ b/libiberty/Makefile.in
-@@ -366,7 +366,8 @@ install-strip: install
+@@ -364,7 +364,8 @@ install-strip: install
  # multilib-specific flags, it's overridden by FLAGS_TO_PASS from the
  # default multilib, so we have to take CFLAGS into account as well,
  # since it will be passed the multilib flags.
@@ -31,5 +31,5 @@
  	if test -n "${target_header_dir}"; then \
  		${mkinstalldirs} $(DESTDIR)$(libdir)/$(MULTIOSDIR); \
 -- 
-2.12.0
+2.14.0
 
diff --git a/import-layers/yocto-poky/meta/recipes-devtools/binutils/binutils/0010-warn-for-uses-of-system-directories-when-cross-linki.patch b/import-layers/yocto-poky/meta/recipes-devtools/binutils/binutils/0009-warn-for-uses-of-system-directories-when-cross-linki.patch
similarity index 87%
rename from import-layers/yocto-poky/meta/recipes-devtools/binutils/binutils/0010-warn-for-uses-of-system-directories-when-cross-linki.patch
rename to import-layers/yocto-poky/meta/recipes-devtools/binutils/binutils/0009-warn-for-uses-of-system-directories-when-cross-linki.patch
index 0774ad6..e0e2578 100644
--- a/import-layers/yocto-poky/meta/recipes-devtools/binutils/binutils/0010-warn-for-uses-of-system-directories-when-cross-linki.patch
+++ b/import-layers/yocto-poky/meta/recipes-devtools/binutils/binutils/0009-warn-for-uses-of-system-directories-when-cross-linki.patch
@@ -1,7 +1,7 @@
-From b1ab17abe4128684f19775448545176fb2a5e27e Mon Sep 17 00:00:00 2001
+From 0a4afdcf0700efd45963568e2d0049127cdf4434 Mon Sep 17 00:00:00 2001
 From: Khem Raj <raj.khem@gmail.com>
 Date: Fri, 15 Jan 2016 06:31:09 +0000
-Subject: [PATCH 10/15] warn for uses of system directories when cross linking
+Subject: [PATCH 09/15] warn for uses of system directories when cross linking
 
 2008-07-02  Joseph Myers  <joseph@codesourcery.com>
 
@@ -45,12 +45,12 @@
     ENABLE_POISON_SYSTEM_DIRECTORIES defined, warn for use of /lib,
     /usr/lib, /usr/local/lib or /usr/X11R6/lib.
 
+Upstream-Status: Pending
+
 Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
 Signed-off-by: Scott Garman <scott.a.garman@intel.com>
 Signed-off-by: Khem Raj <raj.khem@gmail.com>
 ---
-Upstream-Status: Pending
-
  ld/config.in    |  3 +++
  ld/configure    | 16 ++++++++++++++++
  ld/configure.ac | 10 ++++++++++
@@ -63,10 +63,10 @@
  9 files changed, 86 insertions(+)
 
 diff --git a/ld/config.in b/ld/config.in
-index 2c6d698b6c..d3cb7e882d 100644
+index a846743da6..df3cd5fb60 100644
 --- a/ld/config.in
 +++ b/ld/config.in
-@@ -17,6 +17,9 @@
+@@ -27,6 +27,9 @@
     language is requested. */
  #undef ENABLE_NLS
  
@@ -77,10 +77,10 @@
  #undef EXTRA_SHLIB_EXTENSION
  
 diff --git a/ld/configure b/ld/configure
-index 4277b74bad..63109644b6 100755
+index 4e71511bd1..71c6ad1fd1 100755
 --- a/ld/configure
 +++ b/ld/configure
-@@ -793,6 +793,7 @@ with_lib_path
+@@ -789,6 +789,7 @@ with_lib_path
  enable_targets
  enable_64_bit_bfd
  with_sysroot
@@ -88,7 +88,7 @@
  enable_gold
  enable_got
  enable_compressed_debug_sections
-@@ -1450,6 +1451,8 @@ Optional Features:
+@@ -1448,6 +1449,8 @@ Optional Features:
    --disable-largefile     omit support for large files
    --enable-targets        alternative target configurations
    --enable-64-bit-bfd     64-bit support (on hosts with narrower word sizes)
@@ -97,7 +97,7 @@
    --enable-gold[=ARG]     build gold [ARG={default,yes,no}]
    --enable-got=<type>     GOT handling scheme (target, single, negative,
                            multigot)
-@@ -16314,6 +16317,19 @@ fi
+@@ -16315,6 +16318,19 @@ fi
  
  
  
@@ -118,7 +118,7 @@
  if test "${enable_gold+set}" = set; then :
    enableval=$enable_gold; case "${enableval}" in
 diff --git a/ld/configure.ac b/ld/configure.ac
-index 36a9f5083a..47f1d33fa5 100644
+index 00080f85fd..3aa98e37fb 100644
 --- a/ld/configure.ac
 +++ b/ld/configure.ac
 @@ -95,6 +95,16 @@ AC_SUBST(use_sysroot)
@@ -139,12 +139,12 @@
  dnl "install_as_default" is set to false if gold is the default linker.
  dnl "installed_linker" is the installed BFD linker name.
 diff --git a/ld/ld.h b/ld/ld.h
-index 104bb8e237..74c914bdd5 100644
+index c6fa1247f0..01c373498f 100644
 --- a/ld/ld.h
 +++ b/ld/ld.h
-@@ -172,6 +172,14 @@ typedef struct
-   /* If set, display the target memory usage (per memory region).  */
-   bfd_boolean print_memory_usage;
+@@ -174,6 +174,14 @@ typedef struct
+      in the linker script.  */
+   bfd_boolean force_group_allocation;
  
 +  /* If TRUE (the default) warn for uses of system directories when
 +     cross linking.  */
@@ -158,10 +158,10 @@
    enum endian_enum endian;
  
 diff --git a/ld/ld.texinfo b/ld/ld.texinfo
-index d393acdd94..ba995b1e3a 100644
+index ebe7e7b7bd..33aa2c62fa 100644
 --- a/ld/ld.texinfo
 +++ b/ld/ld.texinfo
-@@ -2403,6 +2403,18 @@ string identifying the original linked file does not change.
+@@ -2480,6 +2480,18 @@ string identifying the original linked file does not change.
  
  Passing @code{none} for @var{style} disables the setting from any
  @code{--build-id} options earlier on the command line.
@@ -181,11 +181,11 @@
  
  @c man end
 diff --git a/ld/ldfile.c b/ld/ldfile.c
-index 0943bb2dfa..95874c75de 100644
+index 3b37a0a3e2..5c85b01849 100644
 --- a/ld/ldfile.c
 +++ b/ld/ldfile.c
-@@ -114,6 +114,23 @@ ldfile_add_library_path (const char *name, bfd_boolean cmdline)
-     new_dirs->name = concat (ld_sysroot, name + 1, (const char *) NULL);
+@@ -116,6 +116,23 @@ ldfile_add_library_path (const char *name, bfd_boolean cmdline)
+     new_dirs->name = concat (ld_sysroot, name + strlen ("$SYSROOT"), (const char *) NULL);
    else
      new_dirs->name = xstrdup (name);
 +
@@ -209,23 +209,23 @@
  
  /* Try to open a BFD for a lang_input_statement.  */
 diff --git a/ld/ldlex.h b/ld/ldlex.h
-index 3ecac2bc86..34117f43a5 100644
+index 5aa7f6bc3e..cb655e0399 100644
 --- a/ld/ldlex.h
 +++ b/ld/ldlex.h
-@@ -146,6 +146,8 @@ enum option_values
-   OPTION_PRINT_MEMORY_USAGE,
+@@ -147,6 +147,8 @@ enum option_values
    OPTION_REQUIRE_DEFINED_SYMBOL,
    OPTION_ORPHAN_HANDLING,
+   OPTION_FORCE_GROUP_ALLOCATION,
 +  OPTION_NO_POISON_SYSTEM_DIRECTORIES,
 +  OPTION_ERROR_POISON_SYSTEM_DIRECTORIES,
  };
  
  /* The initial parser states.  */
 diff --git a/ld/ldmain.c b/ld/ldmain.c
-index 1e48b1a2db..21f27bacf1 100644
+index 2b09f20413..89e2a3a805 100644
 --- a/ld/ldmain.c
 +++ b/ld/ldmain.c
-@@ -270,6 +270,8 @@ main (int argc, char **argv)
+@@ -261,6 +261,8 @@ main (int argc, char **argv)
    command_line.warn_mismatch = TRUE;
    command_line.warn_search_mismatch = TRUE;
    command_line.check_section_addresses = -1;
@@ -235,10 +235,10 @@
    /* We initialize DEMANGLING based on the environment variable
       COLLECT_NO_DEMANGLE.  The gcc collect2 program will demangle the
 diff --git a/ld/lexsup.c b/ld/lexsup.c
-index 0b7d4976ac..dedc07a143 100644
+index effa277b16..e4929607e9 100644
 --- a/ld/lexsup.c
 +++ b/ld/lexsup.c
-@@ -535,6 +535,14 @@ static const struct ld_option ld_options[] =
+@@ -538,6 +538,14 @@ static const struct ld_option ld_options[] =
    { {"orphan-handling", required_argument, NULL, OPTION_ORPHAN_HANDLING},
      '\0', N_("=MODE"), N_("Control how orphan sections are handled."),
      TWO_DASHES },
@@ -253,7 +253,7 @@
  };
  
  #define OPTION_COUNT ARRAY_SIZE (ld_options)
-@@ -1562,6 +1570,14 @@ parse_args (unsigned argc, char **argv)
+@@ -1568,6 +1576,14 @@ parse_args (unsigned argc, char **argv)
  	    einfo (_("%P%F: invalid argument to option"
  		     " \"--orphan-handling\"\n"));
  	  break;
@@ -269,5 +269,5 @@
      }
  
 -- 
-2.12.0
+2.14.0
 
diff --git a/import-layers/yocto-poky/meta/recipes-devtools/binutils/binutils/0011-Fix-rpath-in-libtool-when-sysroot-is-enabled.patch b/import-layers/yocto-poky/meta/recipes-devtools/binutils/binutils/0010-Fix-rpath-in-libtool-when-sysroot-is-enabled.patch
similarity index 92%
rename from import-layers/yocto-poky/meta/recipes-devtools/binutils/binutils/0011-Fix-rpath-in-libtool-when-sysroot-is-enabled.patch
rename to import-layers/yocto-poky/meta/recipes-devtools/binutils/binutils/0010-Fix-rpath-in-libtool-when-sysroot-is-enabled.patch
index 949ef51..496242e 100644
--- a/import-layers/yocto-poky/meta/recipes-devtools/binutils/binutils/0011-Fix-rpath-in-libtool-when-sysroot-is-enabled.patch
+++ b/import-layers/yocto-poky/meta/recipes-devtools/binutils/binutils/0010-Fix-rpath-in-libtool-when-sysroot-is-enabled.patch
@@ -1,7 +1,7 @@
-From 4fe13a36997253a5c91bcb086aeb392ab2095f67 Mon Sep 17 00:00:00 2001
+From 88fac08f1c472c612f381cbb9408756f2f58b4ff Mon Sep 17 00:00:00 2001
 From: Khem Raj <raj.khem@gmail.com>
 Date: Mon, 2 Mar 2015 01:42:38 +0000
-Subject: [PATCH 11/15] Fix rpath in libtool when sysroot is enabled
+Subject: [PATCH 10/15] Fix rpath in libtool when sysroot is enabled
 
 Enabling sysroot support in libtool exposed a bug where the final
 library had an RPATH encoded into it which still pointed to the
@@ -48,5 +48,5 @@
  	    if test -z "$hardcode_libdirs"; then
  	      hardcode_libdirs="$libdir"
 -- 
-2.12.0
+2.14.0
 
diff --git a/import-layers/yocto-poky/meta/recipes-devtools/binutils/binutils/0012-Change-default-emulation-for-mips64-linux.patch b/import-layers/yocto-poky/meta/recipes-devtools/binutils/binutils/0011-Change-default-emulation-for-mips64-linux.patch
similarity index 88%
rename from import-layers/yocto-poky/meta/recipes-devtools/binutils/binutils/0012-Change-default-emulation-for-mips64-linux.patch
rename to import-layers/yocto-poky/meta/recipes-devtools/binutils/binutils/0011-Change-default-emulation-for-mips64-linux.patch
index 2ac101c..ac87a2d 100644
--- a/import-layers/yocto-poky/meta/recipes-devtools/binutils/binutils/0012-Change-default-emulation-for-mips64-linux.patch
+++ b/import-layers/yocto-poky/meta/recipes-devtools/binutils/binutils/0011-Change-default-emulation-for-mips64-linux.patch
@@ -1,7 +1,7 @@
-From f43f832e0009caea6a3d5bcaa8f0a64d943072ea Mon Sep 17 00:00:00 2001
+From 497660bdbeb6788786553a5d733105f7f898dc62 Mon Sep 17 00:00:00 2001
 From: Khem Raj <raj.khem@gmail.com>
 Date: Mon, 2 Mar 2015 01:44:14 +0000
-Subject: [PATCH 12/15] Change default emulation for mips64*-*-linux
+Subject: [PATCH 11/15] Change default emulation for mips64*-*-linux
 
 we change the default emulations to be N64 instead of N32
 
@@ -14,10 +14,10 @@
  2 files changed, 8 insertions(+), 8 deletions(-)
 
 diff --git a/bfd/config.bfd b/bfd/config.bfd
-index 1b28016b91..63596c2ebc 100644
+index dc24aabad5..4511024f22 100644
 --- a/bfd/config.bfd
 +++ b/bfd/config.bfd
-@@ -1183,12 +1183,12 @@ case "${targ}" in
+@@ -1186,12 +1186,12 @@ case "${targ}" in
      targ_selvecs="mips_elf32_le_vec mips_elf64_be_vec mips_elf64_le_vec mips_ecoff_be_vec mips_ecoff_le_vec"
      ;;
    mips64*el-*-linux*)
@@ -35,10 +35,10 @@
    mips*el-*-linux*)
      targ_defvec=mips_elf32_trad_le_vec
 diff --git a/ld/configure.tgt b/ld/configure.tgt
-index b85c6bb35a..4e77383a19 100644
+index 47c719cd05..fe7b9238b2 100644
 --- a/ld/configure.tgt
 +++ b/ld/configure.tgt
-@@ -518,11 +518,11 @@ mips*el-*-vxworks*)	targ_emul=elf32elmipvxworks
+@@ -530,11 +530,11 @@ mips*el-*-vxworks*)	targ_emul=elf32elmipvxworks
  mips*-*-vxworks*)	targ_emul=elf32ebmipvxworks
  		        targ_extra_emuls="elf32elmipvxworks" ;;
  mips*-*-windiss)	targ_emul=elf32mipswindiss ;;
@@ -55,5 +55,5 @@
  mips*el-*-linux-*)	targ_emul=elf32ltsmip
  			targ_extra_emuls="elf32btsmip elf32ltsmipn32 elf64ltsmip elf32btsmipn32 elf64btsmip"
 -- 
-2.12.0
+2.14.0
 
diff --git a/import-layers/yocto-poky/meta/recipes-devtools/binutils/binutils/0013-Add-support-for-Netlogic-XLP.patch b/import-layers/yocto-poky/meta/recipes-devtools/binutils/binutils/0012-Add-support-for-Netlogic-XLP.patch
similarity index 82%
rename from import-layers/yocto-poky/meta/recipes-devtools/binutils/binutils/0013-Add-support-for-Netlogic-XLP.patch
rename to import-layers/yocto-poky/meta/recipes-devtools/binutils/binutils/0012-Add-support-for-Netlogic-XLP.patch
index b03e046..dc5e580 100644
--- a/import-layers/yocto-poky/meta/recipes-devtools/binutils/binutils/0013-Add-support-for-Netlogic-XLP.patch
+++ b/import-layers/yocto-poky/meta/recipes-devtools/binutils/binutils/0012-Add-support-for-Netlogic-XLP.patch
@@ -1,7 +1,7 @@
-From fc6fa6a6e6e9e6e5ad7080785af31b4ea68f60c4 Mon Sep 17 00:00:00 2001
+From 8c60a55d3678589d93739bd27fec216911d80968 Mon Sep 17 00:00:00 2001
 From: Khem Raj <raj.khem@gmail.com>
 Date: Sun, 14 Feb 2016 17:06:19 +0000
-Subject: [PATCH 13/15] Add support for Netlogic XLP
+Subject: [PATCH 12/15] Add support for Netlogic XLP
 
 Patch From: Nebu Philips <nphilips@netlogicmicro.com>
 
@@ -11,12 +11,12 @@
 Use 0x00000080 for INSN_XLP, the value 0x00000040 has already been
 assigned to INSN_OCTEON3
 
+Upstream-Status: Pending
+
 Signed-off-by: Khem Raj <raj.khem@gmail.com>
 Signed-off-by: Baoshan Pang <baoshan.pang@windriver.com>
 Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
 ---
-Upstream-Status: Pending
-
  bfd/aoutx.h           |  1 +
  bfd/archures.c        |  1 +
  bfd/bfd-in2.h         |  1 +
@@ -27,17 +27,17 @@
  gas/config/tc-mips.c  |  4 +++-
  gas/configure         |  3 +++
  include/elf/mips.h    |  1 +
- include/opcode/mips.h | 10 ++++++++--
+ include/opcode/mips.h |  6 ++++++
  ld/configure.tgt      |  2 ++
  opcodes/mips-dis.c    | 12 +++++-------
- opcodes/mips-opc.c    | 33 +++++++++++++++++++++------------
- 14 files changed, 64 insertions(+), 24 deletions(-)
+ opcodes/mips-opc.c    | 31 ++++++++++++++++++++-----------
+ 14 files changed, 61 insertions(+), 21 deletions(-)
 
 diff --git a/bfd/aoutx.h b/bfd/aoutx.h
-index d30e8b8fbc..913b499744 100644
+index 3d38fda14b..0aec49bbb3 100644
 --- a/bfd/aoutx.h
 +++ b/bfd/aoutx.h
-@@ -812,6 +812,7 @@ NAME (aout, machine_type) (enum bfd_architecture arch,
+@@ -814,6 +814,7 @@ NAME (aout, machine_type) (enum bfd_architecture arch,
  	case bfd_mach_mipsisa64r6:
  	case bfd_mach_mips_sb1:
  	case bfd_mach_mips_xlr:
@@ -46,34 +46,34 @@
  	  arch_flags = M_MIPS2;
  	  break;
 diff --git a/bfd/archures.c b/bfd/archures.c
-index 6f35a5b2a7..d12cdf609a 100644
+index 433b95fa08..063b7943a1 100644
 --- a/bfd/archures.c
 +++ b/bfd/archures.c
-@@ -197,6 +197,7 @@ DESCRIPTION
- .#define bfd_mach_mips_octeon2		6502
+@@ -201,6 +201,7 @@ DESCRIPTION
  .#define bfd_mach_mips_octeon3          6503
  .#define bfd_mach_mips_xlr              887682   {* decimal 'XLR'  *}
+ .#define bfd_mach_mips_interaptiv_mr2   736550   {* decimal 'IA2'  *}
 +.#define bfd_mach_mips_xlp              887680   {* decimal 'XLP'  *}
  .#define bfd_mach_mipsisa32             32
  .#define bfd_mach_mipsisa32r2           33
  .#define bfd_mach_mipsisa32r3           34
 diff --git a/bfd/bfd-in2.h b/bfd/bfd-in2.h
-index 6288c3bb4a..e9f9859a7b 100644
+index d126aed086..2b753b3a93 100644
 --- a/bfd/bfd-in2.h
 +++ b/bfd/bfd-in2.h
-@@ -2041,6 +2041,7 @@ enum bfd_architecture
- #define bfd_mach_mips_octeon2          6502
+@@ -2060,6 +2060,7 @@ enum bfd_architecture
  #define bfd_mach_mips_octeon3          6503
  #define bfd_mach_mips_xlr              887682   /* decimal 'XLR'  */
+ #define bfd_mach_mips_interaptiv_mr2   736550   /* decimal 'IA2'  */
 +#define bfd_mach_mips_xlp              887680   /* decimal 'XLP'  */
  #define bfd_mach_mipsisa32             32
  #define bfd_mach_mipsisa32r2           33
  #define bfd_mach_mipsisa32r3           34
 diff --git a/bfd/config.bfd b/bfd/config.bfd
-index 63596c2ebc..6e923fb0ed 100644
+index 4511024f22..f0f9072f10 100644
 --- a/bfd/config.bfd
 +++ b/bfd/config.bfd
-@@ -1166,6 +1166,11 @@ case "${targ}" in
+@@ -1169,6 +1169,11 @@ case "${targ}" in
      targ_defvec=mips_elf32_le_vec
      targ_selvecs="mips_elf32_be_vec mips_elf64_be_vec mips_elf64_le_vec"
      ;;
@@ -86,23 +86,23 @@
      targ_defvec=mips_elf32_be_vec
      targ_selvecs="mips_elf32_le_vec mips_elf64_be_vec mips_elf64_le_vec"
 diff --git a/bfd/cpu-mips.c b/bfd/cpu-mips.c
-index b9ecdd6e55..df1bffc25b 100644
+index 2493094bef..8375d1ae96 100644
 --- a/bfd/cpu-mips.c
 +++ b/bfd/cpu-mips.c
-@@ -104,7 +104,8 @@ enum
-   I_mipsocteon2,
+@@ -105,7 +105,8 @@ enum
    I_mipsocteon3,
    I_xlr,
+   I_interaptiv_mr2,
 -  I_micromips
 +  I_micromips,
 +  I_xlp
  };
  
  #define NN(index) (&arch_info_struct[(index) + 1])
-@@ -155,7 +156,8 @@ static const bfd_arch_info_type arch_info_struct[] =
-   N (64, 64, bfd_mach_mips_octeon2,"mips:octeon2",  FALSE, NN(I_mipsocteon2)),
-   N (64, 64, bfd_mach_mips_octeon3, "mips:octeon3",  FALSE, NN(I_mipsocteon3)),
+@@ -158,7 +159,8 @@ static const bfd_arch_info_type arch_info_struct[] =
    N (64, 64, bfd_mach_mips_xlr, "mips:xlr",       FALSE, NN(I_xlr)),
+   N (32, 32, bfd_mach_mips_interaptiv_mr2, "mips:interaptiv-mr2", FALSE,
+      NN(I_interaptiv_mr2)),
 -  N (64, 64, bfd_mach_mips_micromips,"mips:micromips",FALSE,0)
 +  N (64, 64, bfd_mach_mips_micromips,"mips:micromips",FALSE,NN(I_micromips)),
 +  N (64, 64, bfd_mach_mips_xlp, "mips:xlp",      FALSE, 0)
@@ -110,20 +110,20 @@
  
  /* The default architecture is mips:3000, but with a machine number of
 diff --git a/bfd/elfxx-mips.c b/bfd/elfxx-mips.c
-index 723853f821..7b464211c3 100644
+index fddf68c816..354c85d00b 100644
 --- a/bfd/elfxx-mips.c
 +++ b/bfd/elfxx-mips.c
-@@ -6787,6 +6787,9 @@ _bfd_elf_mips_mach (flagword flags)
-     case E_MIPS_MACH_XLR:
-       return bfd_mach_mips_xlr;
+@@ -6796,6 +6796,9 @@ _bfd_elf_mips_mach (flagword flags)
+     case E_MIPS_MACH_IAMR2:
+       return bfd_mach_mips_interaptiv_mr2;
  
-+	case E_MIPS_MACH_XLP:
++    case E_MIPS_MACH_XLP:
 +      return bfd_mach_mips_xlp;
 +
      default:
        switch (flags & EF_MIPS_ARCH)
  	{
-@@ -12106,6 +12109,10 @@ mips_set_isa_flags (bfd *abfd)
+@@ -11956,6 +11959,10 @@ mips_set_isa_flags (bfd *abfd)
        val = E_MIPS_ARCH_64R2 | E_MIPS_MACH_OCTEON2;
        break;
  
@@ -134,7 +134,7 @@
      case bfd_mach_mipsisa32:
        val = E_MIPS_ARCH_32;
        break;
-@@ -14135,6 +14142,7 @@ static const struct mips_mach_extension mips_mach_extensions[] =
+@@ -13989,6 +13996,7 @@ static const struct mips_mach_extension mips_mach_extensions[] =
    { bfd_mach_mips_octeonp, bfd_mach_mips_octeon },
    { bfd_mach_mips_octeon, bfd_mach_mipsisa64r2 },
    { bfd_mach_mips_loongson_3a, bfd_mach_mipsisa64r2 },
@@ -143,19 +143,19 @@
    /* MIPS64 extensions.  */
    { bfd_mach_mipsisa64r2, bfd_mach_mipsisa64 },
 diff --git a/binutils/readelf.c b/binutils/readelf.c
-index 8dca490226..b5f577f5a1 100644
+index 2b15f0f2cb..092744708e 100644
 --- a/binutils/readelf.c
 +++ b/binutils/readelf.c
-@@ -3261,6 +3261,7 @@ get_machine_flags (unsigned e_flags, unsigned e_machine)
- 	    case E_MIPS_MACH_OCTEON2: strcat (buf, ", octeon2"); break;
+@@ -3335,6 +3335,7 @@ get_machine_flags (unsigned e_flags, unsigned e_machine)
  	    case E_MIPS_MACH_OCTEON3: strcat (buf, ", octeon3"); break;
  	    case E_MIPS_MACH_XLR:  strcat (buf, ", xlr"); break;
-+		case E_MIPS_MACH_XLP:  strcat (buf, ", xlp"); break;
+ 	    case E_MIPS_MACH_IAMR2:  strcat (buf, ", interaptiv-mr2"); break;
++	    case E_MIPS_MACH_XLP:  strcat (buf, ", xlp"); break;
  	    case 0:
  	    /* We simply ignore the field in this case to avoid confusion:
  	       MIPS ELF does not specify EF_MIPS_MACH, it is a GNU
 diff --git a/gas/config/tc-mips.c b/gas/config/tc-mips.c
-index e24e84df54..baf84e419d 100644
+index 3804df2958..9576c986db 100644
 --- a/gas/config/tc-mips.c
 +++ b/gas/config/tc-mips.c
 @@ -552,6 +552,7 @@ static int mips_32bitmode = 0;
@@ -174,7 +174,7 @@
     )
  
  /* Whether the processor uses hardware interlocks to protect reads
-@@ -19409,7 +19411,7 @@ static const struct mips_cpu_info mips_cpu_info_table[] =
+@@ -19738,7 +19740,7 @@ static const struct mips_cpu_info mips_cpu_info_table[] =
    /* Broadcom XLP.
       XLP is mostly like XLR, with the prominent exception that it is
       MIPS64R2 rather than MIPS64.  */
@@ -184,7 +184,7 @@
    /* MIPS 64 Release 6 */
    { "i6400",	      0, ASE_MSA,		ISA_MIPS64R6, CPU_MIPS64R6},
 diff --git a/gas/configure b/gas/configure
-index a36f1ae161..99f0a94e20 100755
+index 81dd4cbd97..95bdf3b19b 100755
 --- a/gas/configure
 +++ b/gas/configure
 @@ -12989,6 +12989,9 @@ _ACEOF
@@ -198,7 +198,7 @@
  	    mips_cpu=r3900
  	    ;;
 diff --git a/include/elf/mips.h b/include/elf/mips.h
-index 3e27b05122..81ea78a817 100644
+index a4bea43ff8..73d904e25f 100644
 --- a/include/elf/mips.h
 +++ b/include/elf/mips.h
 @@ -290,6 +290,7 @@ END_RELOC_NUMBERS (R_MIPS_maxext)
@@ -210,31 +210,27 @@
  #define E_MIPS_MACH_OCTEON3	0x008e0000
  #define E_MIPS_MACH_5400	0x00910000
 diff --git a/include/opcode/mips.h b/include/opcode/mips.h
-index 0d043d9520..450e9c2d67 100644
+index ceae9ec50a..276ee3c6c1 100644
 --- a/include/opcode/mips.h
 +++ b/include/opcode/mips.h
-@@ -1244,8 +1244,10 @@ static const unsigned int mips_isa_table[] = {
- #define INSN_LOONGSON_2F          0x80000000
- /* Loongson 3A.  */
- #define INSN_LOONGSON_3A          0x00000400
--/* RMI Xlr instruction */
--#define INSN_XLR                 0x00000020
-+/* Netlogic Xlr instruction */
-+#define INSN_XLR		0x00000020
+@@ -1259,6 +1259,8 @@ static const unsigned int mips_isa_table[] = {
+ #define INSN_XLR                 0x00000020
+ /* Imagination interAptiv MR2.  */
+ #define INSN_INTERAPTIV_MR2	  0x04000000
 +/* Netlogic XlP instruction */
 +#define INSN_XLP		0x00000080
  
  /* DSP ASE */
  #define ASE_DSP			0x00000001
-@@ -1344,6 +1346,7 @@ static const unsigned int mips_isa_table[] = {
- #define CPU_OCTEON2	6502
+@@ -1365,6 +1367,7 @@ static const unsigned int mips_isa_table[] = {
  #define CPU_OCTEON3	6503
  #define CPU_XLR     	887682   	/* decimal 'XLR'   */
+ #define CPU_INTERAPTIV_MR2 736550	/* decimal 'IA2'  */
 +#define CPU_XLP         887680      /* decimal 'XLP'   */
  
  /* Return true if the given CPU is included in INSN_* mask MASK.  */
  
-@@ -1421,6 +1424,9 @@ cpu_is_member (int cpu, unsigned int mask)
+@@ -1445,6 +1448,9 @@ cpu_is_member (int cpu, unsigned int mask)
        return ((mask & INSN_ISA_MASK) == INSN_ISA32R6)
  	     || ((mask & INSN_ISA_MASK) == INSN_ISA64R6);
  
@@ -245,10 +241,10 @@
        return FALSE;
      }
 diff --git a/ld/configure.tgt b/ld/configure.tgt
-index 4e77383a19..8a81f7ac39 100644
+index fe7b9238b2..2adf108b17 100644
 --- a/ld/configure.tgt
 +++ b/ld/configure.tgt
-@@ -504,6 +504,8 @@ mips*el-sde-elf* | mips*el-mti-elf* | mips*el-img-elf*)
+@@ -516,6 +516,8 @@ mips*el-sde-elf* | mips*el-mti-elf* | mips*el-img-elf*)
  mips*-sde-elf* | mips*-mti-elf* | mips*-img-elf*)
  			targ_emul=elf32btsmip
  			targ_extra_emuls="elf32ltsmip elf32btsmipn32 elf64btsmip elf32ltsmipn32 elf64ltsmip" ;;
@@ -258,10 +254,10 @@
  			targ_extra_emuls="elf32lr5900"
  			targ_extra_libpath=$targ_extra_emuls ;;
 diff --git a/opcodes/mips-dis.c b/opcodes/mips-dis.c
-index bb9912e462..70ecc51717 100644
+index 45195007c1..4a80a05d19 100644
 --- a/opcodes/mips-dis.c
 +++ b/opcodes/mips-dis.c
-@@ -648,13 +648,11 @@ const struct mips_arch_choice mips_arch_choices[] =
+@@ -655,13 +655,11 @@ const struct mips_arch_choice mips_arch_choices[] =
      mips_cp0sel_names_xlr, ARRAY_SIZE (mips_cp0sel_names_xlr),
      mips_cp1_names_mips3264, mips_hwr_names_numeric },
  
@@ -281,20 +277,18 @@
    /* This entry, mips16, is here only for ISA/processor selection; do
       not print its name.  */
 diff --git a/opcodes/mips-opc.c b/opcodes/mips-opc.c
-index 5cb8e7365f..f2074856a2 100644
+index 19fca408c9..d02069c528 100644
 --- a/opcodes/mips-opc.c
 +++ b/opcodes/mips-opc.c
-@@ -320,7 +320,8 @@ decode_mips_operand (const char *p)
- #define IOCTP	(INSN_OCTEONP | INSN_OCTEON2 | INSN_OCTEON3)
- #define IOCT2	(INSN_OCTEON2 | INSN_OCTEON3)
+@@ -328,6 +328,7 @@ decode_mips_operand (const char *p)
  #define IOCT3	INSN_OCTEON3
--#define XLR     INSN_XLR
-+#define XLR	INSN_XLR
+ #define XLR     INSN_XLR
+ #define IAMR2	INSN_INTERAPTIV_MR2
 +#define XLP	INSN_XLP
  #define IVIRT	ASE_VIRT
  #define IVIRT64	ASE_VIRT64
  
-@@ -958,6 +959,7 @@ const struct mips_opcode mips_builtin_opcodes[] =
+@@ -966,6 +967,7 @@ const struct mips_opcode mips_builtin_opcodes[] =
  {"clo",			"U,s",		0x70000021, 0xfc0007ff, WR_1|RD_2,		0,		I32|N55,	0,	I37 },
  {"clz",			"d,s",		0x00000050, 0xfc1f07ff, WR_1|RD_2,		0,		I37,		0,	0 },
  {"clz",			"U,s",		0x70000020, 0xfc0007ff, WR_1|RD_2,		0,		I32|N55,	0,	I37 },
@@ -302,7 +296,7 @@
  /* ctc0 is at the bottom of the table.  */
  {"ctc1",		"t,G",		0x44c00000, 0xffe007ff,	RD_1|WR_CC|CM,		0,		I1,		0,	0 },
  {"ctc1",		"t,S",		0x44c00000, 0xffe007ff,	RD_1|WR_CC|CM,		0,		I1,		0,	0 },
-@@ -990,12 +992,13 @@ const struct mips_opcode mips_builtin_opcodes[] =
+@@ -998,12 +1000,13 @@ const struct mips_opcode mips_builtin_opcodes[] =
  {"daddiu",		"t,r,j",	0x64000000, 0xfc000000, WR_1|RD_2,		0,		I3,		0,	0 },
  {"daddu",		"d,v,t",	0x0000002d, 0xfc0007ff, WR_1|RD_2|RD_3,		0,		I3,		0,	0 },
  {"daddu",		"t,r,I",	0,    (int) M_DADDU_I,	INSN_MACRO,		0,		I3,		0,	0 },
@@ -317,7 +311,7 @@
  /* dctr and dctw are used on the r5000.  */
  {"dctr",		"o(b)",	 	0xbc050000, 0xfc1f0000, RD_2,			0,		I3,		0,	0 },
  {"dctw",		"o(b)",		0xbc090000, 0xfc1f0000, RD_2,			0,		I3,		0,	0 },
-@@ -1067,6 +1070,7 @@ const struct mips_opcode mips_builtin_opcodes[] =
+@@ -1075,6 +1078,7 @@ const struct mips_opcode mips_builtin_opcodes[] =
  {"dmfc0",		"t,G,H",	0x40200000, 0xffe007f8,	WR_1|RD_C0|LC,		0,		I64,		0,	0 },
  {"dmfgc0",		"t,G",		0x40600100, 0xffe007ff, WR_1|RD_C0|LC,		0,		0,		IVIRT64, 0 },
  {"dmfgc0",		"t,G,H",	0x40600100, 0xffe007f8, WR_1|RD_C0|LC,		0,		0,		IVIRT64, 0 },
@@ -325,7 +319,7 @@
  {"dmt",			"",		0x41600bc1, 0xffffffff, TRAP,			0,		0,		MT32,	0 },
  {"dmt",			"t",		0x41600bc1, 0xffe0ffff, WR_1|TRAP,		0,		0,		MT32,	0 },
  {"dmtc0",		"t,G",		0x40a00000, 0xffe007ff,	RD_1|WR_C0|WR_CC|CM,	0,		I3,		0,	EE },
-@@ -1082,6 +1086,8 @@ const struct mips_opcode mips_builtin_opcodes[] =
+@@ -1090,6 +1094,8 @@ const struct mips_opcode mips_builtin_opcodes[] =
  /* dmfc3 is at the bottom of the table.  */
  /* dmtc3 is at the bottom of the table.  */
  {"dmuh",		"d,s,t",	0x000000dc, 0xfc0007ff, WR_1|RD_2|RD_3,		0,		I69,		0,	0 },
@@ -334,7 +328,7 @@
  {"dmul",		"d,s,t",	0x0000009c, 0xfc0007ff, WR_1|RD_2|RD_3,		0,		I69,		0,	0 },
  {"dmul",		"d,v,t",	0x70000003, 0xfc0007ff, WR_1|RD_2|RD_3|WR_HILO,	0,		IOCT,		0,	0 },
  {"dmul",		"d,v,t",	0,    (int) M_DMUL,	INSN_MACRO,		0,		I3,		0,	M32|I69 },
-@@ -1235,9 +1241,9 @@ const struct mips_opcode mips_builtin_opcodes[] =
+@@ -1243,9 +1249,9 @@ const struct mips_opcode mips_builtin_opcodes[] =
  {"ld",			"s,-b(+R)",	0xec180000, 0xfc1c0000, WR_1,			RD_pc,		I69,		0,	0 },
  {"ld",			"t,A(b)",	0,    (int) M_LD_AB,	INSN_MACRO,		0,		I1,		0,	0 },
  {"ld",			"t,o(b)",	0xdc000000, 0xfc000000, WR_1|RD_3|LM,		0,		I3,		0,	0 },
@@ -347,7 +341,7 @@
  {"ldc1",		"T,o(b)",	0xd4000000, 0xfc000000, WR_1|RD_3|CLD|FP_D,	0,		I2,		0,	SF },
  {"ldc1",		"E,o(b)",	0xd4000000, 0xfc000000, WR_1|RD_3|CLD|FP_D,	0,		I2,		0,	SF },
  {"ldc1",		"T,A(b)",	0,    (int) M_LDC1_AB,	INSN_MACRO,		INSN2_M_FP_D,	I2,		0,	SF },
-@@ -1402,7 +1408,7 @@ const struct mips_opcode mips_builtin_opcodes[] =
+@@ -1410,7 +1416,7 @@ const struct mips_opcode mips_builtin_opcodes[] =
  {"mflo",		"d,9",		0x00000012, 0xff9f07ff, WR_1|RD_LO,		0,		0,		D32,	0 },
  {"mflo1",		"d",		0x70000012, 0xffff07ff,	WR_1|RD_LO,		0,		EE,		0,	0 },
  {"mflhxu",		"d",		0x00000052, 0xffff07ff,	WR_1|MOD_HILO,		0,		0,		SMT,	0 },
@@ -356,7 +350,7 @@
  {"mfsa",		"d",		0x00000028, 0xffff07ff,	WR_1,			0,		EE,		0,	0 },
  {"min.ob",		"X,Y,Q",	0x78000006, 0xfc20003f,	WR_1|RD_2|RD_3|FP_D,	0,		SB1,		MX,	0 },
  {"min.ob",		"D,S,Q",	0x48000006, 0xfc20003f,	WR_1|RD_2|RD_3|FP_D,	0,		N54,		0,	0 },
-@@ -1447,10 +1453,13 @@ const struct mips_opcode mips_builtin_opcodes[] =
+@@ -1455,10 +1461,13 @@ const struct mips_opcode mips_builtin_opcodes[] =
  /* move is at the top of the table.  */
  {"msgn.qh",		"X,Y,Q",	0x78200000, 0xfc20003f,	WR_1|RD_2|RD_3|FP_D,	0,		0,		MX,	0 },
  {"msgsnd",		"t",		0,    (int) M_MSGSND,	INSN_MACRO,		0,		XLR,		0,	0 },
@@ -372,7 +366,7 @@
  {"msub.d",		"D,R,S,T",	0x4c000029, 0xfc00003f, WR_1|RD_2|RD_3|RD_4|FP_D, 0,		I4_33,		0,	I37 },
  {"msub.d",		"D,S,T",	0x46200019, 0xffe0003f,	WR_1|RD_2|RD_3|FP_D,	0,		IL2E,		0,	0 },
  {"msub.d",		"D,S,T",	0x72200019, 0xffe0003f,	WR_1|RD_2|RD_3|FP_D,	0,		IL2F,		0,	0 },
-@@ -1500,7 +1509,7 @@ const struct mips_opcode mips_builtin_opcodes[] =
+@@ -1508,7 +1517,7 @@ const struct mips_opcode mips_builtin_opcodes[] =
  {"mtlo",		"s,7",		0x00000013, 0xfc1fe7ff, RD_1|WR_LO,		0,		0,		D32,	0 },
  {"mtlo1",		"s",		0x70000013, 0xfc1fffff,	RD_1|WR_LO,		0,		EE,		0,	0 },
  {"mtlhx",		"s",		0x00000053, 0xfc1fffff,	RD_1|MOD_HILO,		0,		0,		SMT,	0 },
@@ -381,7 +375,7 @@
  {"mtm0",		"s",		0x70000008, 0xfc1fffff, RD_1,			0,		IOCT,		0,	0 },
  {"mtm0",    		"s,t",		0x70000008, 0xfc00ffff, RD_1|RD_2,		0,		IOCT3,		0,	0 },
  {"mtm1",		"s",		0x7000000c, 0xfc1fffff, RD_1,			0,		IOCT,		0,	0 },
-@@ -1937,9 +1946,9 @@ const struct mips_opcode mips_builtin_opcodes[] =
+@@ -1945,9 +1954,9 @@ const struct mips_opcode mips_builtin_opcodes[] =
  {"suxc1",		"S,t(b)",	0x4c00000d, 0xfc0007ff, RD_1|RD_2|RD_3|SM|FP_D,	0,		I5_33|N55,	0,	I37},
  {"sw",			"t,o(b)",	0xac000000, 0xfc000000,	RD_1|RD_3|SM,		0,		I1,		0,	0 },
  {"sw",			"t,A(b)",	0,    (int) M_SW_AB,	INSN_MACRO,		0,		I1,		0,	0 },
@@ -395,5 +389,5 @@
  {"swc0",		"E,A(b)",	0,    (int) M_SWC0_AB,	INSN_MACRO,		0,		I1,		0,	IOCT|IOCTP|IOCT2|I37 },
  {"swc1",		"T,o(b)",	0xe4000000, 0xfc000000,	RD_1|RD_3|SM|FP_S,	0,		I1,		0,	0 },
 -- 
-2.12.0
+2.14.0
 
diff --git a/import-layers/yocto-poky/meta/recipes-devtools/binutils/binutils/0014-fix-the-incorrect-assembling-for-ppc-wait-mnemonic.patch b/import-layers/yocto-poky/meta/recipes-devtools/binutils/binutils/0013-fix-the-incorrect-assembling-for-ppc-wait-mnemonic.patch
similarity index 76%
rename from import-layers/yocto-poky/meta/recipes-devtools/binutils/binutils/0014-fix-the-incorrect-assembling-for-ppc-wait-mnemonic.patch
rename to import-layers/yocto-poky/meta/recipes-devtools/binutils/binutils/0013-fix-the-incorrect-assembling-for-ppc-wait-mnemonic.patch
index bb95a0c..247376b 100644
--- a/import-layers/yocto-poky/meta/recipes-devtools/binutils/binutils/0014-fix-the-incorrect-assembling-for-ppc-wait-mnemonic.patch
+++ b/import-layers/yocto-poky/meta/recipes-devtools/binutils/binutils/0013-fix-the-incorrect-assembling-for-ppc-wait-mnemonic.patch
@@ -1,7 +1,7 @@
-From a9177150f808d7e6285e1011c85d0ce89037b553 Mon Sep 17 00:00:00 2001
+From e46202becab625c6c08caf91e08ccbbc1bf799c4 Mon Sep 17 00:00:00 2001
 From: Zhenhua Luo <zhenhua.luo@nxp.com>
 Date: Sat, 11 Jun 2016 22:08:29 -0500
-Subject: [PATCH 14/15] fix the incorrect assembling for ppc wait mnemonic
+Subject: [PATCH 13/15] fix the incorrect assembling for ppc wait mnemonic
 
 Signed-off-by: Zhenhua Luo <zhenhua.luo@nxp.com>
 
@@ -11,10 +11,10 @@
  1 file changed, 1 insertion(+), 2 deletions(-)
 
 diff --git a/opcodes/ppc-opc.c b/opcodes/ppc-opc.c
-index 30fd789182..f2708e2276 100644
+index 426261ab21..0d35916cdd 100644
 --- a/opcodes/ppc-opc.c
 +++ b/opcodes/ppc-opc.c
-@@ -4876,7 +4876,6 @@ const struct powerpc_opcode powerpc_opcodes[] = {
+@@ -4881,7 +4881,6 @@ const struct powerpc_opcode powerpc_opcodes[] = {
  {"ldepx",	X(31,29),	X_MASK,	  E500MC|PPCA2, 0,		{RT, RA0, RB}},
  
  {"waitasec",	X(31,30),      XRTRARB_MASK, POWER8,	POWER9,		{0}},
@@ -22,7 +22,7 @@
  
  {"lwepx",	X(31,31),	X_MASK,	  E500MC|PPCA2, 0,		{RT, RA0, RB}},
  
-@@ -4930,7 +4929,7 @@ const struct powerpc_opcode powerpc_opcodes[] = {
+@@ -4935,7 +4934,7 @@ const struct powerpc_opcode powerpc_opcodes[] = {
  
  {"waitrsv",	X(31,62)|(1<<21), 0xffffffff, E500MC|PPCA2, 0,		{0}},
  {"waitimpl",	X(31,62)|(2<<21), 0xffffffff, E500MC|PPCA2, 0,		{0}},
@@ -32,5 +32,5 @@
  {"dcbstep",	XRT(31,63,0),	XRT_MASK,    E500MC|PPCA2, 0,		{RA0, RB}},
  
 -- 
-2.12.0
+2.14.0
 
diff --git a/import-layers/yocto-poky/meta/recipes-devtools/binutils/binutils/0016-Detect-64-bit-MIPS-targets.patch b/import-layers/yocto-poky/meta/recipes-devtools/binutils/binutils/0014-Detect-64-bit-MIPS-targets.patch
similarity index 89%
rename from import-layers/yocto-poky/meta/recipes-devtools/binutils/binutils/0016-Detect-64-bit-MIPS-targets.patch
rename to import-layers/yocto-poky/meta/recipes-devtools/binutils/binutils/0014-Detect-64-bit-MIPS-targets.patch
index 1b2eb84..42b1065 100644
--- a/import-layers/yocto-poky/meta/recipes-devtools/binutils/binutils/0016-Detect-64-bit-MIPS-targets.patch
+++ b/import-layers/yocto-poky/meta/recipes-devtools/binutils/binutils/0014-Detect-64-bit-MIPS-targets.patch
@@ -1,7 +1,7 @@
-From c3ebde5d8cc3b0092966b4d725cad7cfd074fd8d Mon Sep 17 00:00:00 2001
+From bf20d5823662d1f2eb47de2cdfd173627a205b17 Mon Sep 17 00:00:00 2001
 From: Khem Raj <raj.khem@gmail.com>
 Date: Fri, 31 Mar 2017 11:42:03 -0700
-Subject: [PATCH 16/16] Detect 64-bit MIPS targets
+Subject: [PATCH 14/15] Detect 64-bit MIPS targets
 
 Add mips64 target triplets and default to N64
 
@@ -46,5 +46,5 @@
   targ_obj=mips
   targ_machine=EM_MIPS
 -- 
-2.12.1
+2.14.0
 
diff --git a/import-layers/yocto-poky/meta/recipes-devtools/binutils/binutils/0015-sync-with-OE-libtool-changes.patch b/import-layers/yocto-poky/meta/recipes-devtools/binutils/binutils/0015-sync-with-OE-libtool-changes.patch
index 1559038..2c8900c 100644
--- a/import-layers/yocto-poky/meta/recipes-devtools/binutils/binutils/0015-sync-with-OE-libtool-changes.patch
+++ b/import-layers/yocto-poky/meta/recipes-devtools/binutils/binutils/0015-sync-with-OE-libtool-changes.patch
@@ -1,4 +1,4 @@
-From 58cdb28ed71cb57b4a0ea1b412a708fdb0f84c27 Mon Sep 17 00:00:00 2001
+From 9b456a0e4f284fd41ac36595144ed44dc82410ee Mon Sep 17 00:00:00 2001
 From: Ross Burton <ross.burton@intel.com>
 Date: Mon, 6 Mar 2017 23:33:27 -0800
 Subject: [PATCH 15/15] sync with OE libtool changes
@@ -85,5 +85,5 @@
  	elif test -n "$runpath_var"; then
  	  case "$finalize_perm_rpath " in
 -- 
-2.12.0
+2.14.0
 
diff --git a/import-layers/yocto-poky/meta/recipes-devtools/binutils/binutils/0017-bfd-Improve-lookup-of-file-line-information-for-erro.patch b/import-layers/yocto-poky/meta/recipes-devtools/binutils/binutils/0017-bfd-Improve-lookup-of-file-line-information-for-erro.patch
deleted file mode 100644
index 23ad10a..0000000
--- a/import-layers/yocto-poky/meta/recipes-devtools/binutils/binutils/0017-bfd-Improve-lookup-of-file-line-information-for-erro.patch
+++ /dev/null
@@ -1,75 +0,0 @@
-From 3239a4231ff79bf8b67b8faaf414b1667486167c Mon Sep 17 00:00:00 2001
-From: Andrew Burgess <andrew.burgess@embecosm.com>
-Date: Mon, 19 Dec 2016 15:27:59 +0000
-Subject: [PATCH] bfd: Improve lookup of file / line information for errors
-
-When looking up file and line information (used from the linker to
-report error messages) if no symbol is passed in, then use the symbol
-list to look for a matching symbol.
-
-If a matching symbol is found then use this to look up the file / line
-information.
-
-This should improve errors when looking up file / line information for
-data sections.  Hopefully we should find a matching data symbol, which
-should, in turn (we hope) match a DW_TAG_variable in the DWARF, this
-should allow us to give accurate file / line errors for data symbols.
-
-As the hope is to find a matching DW_TAG_variable in the DWARF then we
-ignore section symbols, and prefer global symbols to locals.
-
-CVE: CVE-2017-8392
-Upstream-Status: Accepted
-
-Signed-off-by: Fan Xin <fan.xin@jp.fujitsu.com>
----
- bfd/dwarf2.c                   | 32 ++++++++++++++++++++++++++++++++
- 1 files changed, 32 insertions(+)
-
-
-diff --git a/bfd/dwarf2.c b/bfd/dwarf2.c
-index 03447a9..9bb8126 100644
---- a/bfd/dwarf2.c
-+++ b/bfd/dwarf2.c
-@@ -4155,6 +4155,38 @@ _bfd_dwarf2_find_nearest_line (bfd *abfd,
-     {
-       BFD_ASSERT (section != NULL && functionname_ptr != NULL);
-       addr = offset;
-+
-+      /* If we have no SYMBOL but the section we're looking at is not a
-+         code section, then take a look through the list of symbols to see
-+         if we have a symbol at the address we're looking for.  If we do
-+         then use this to look up line information.  This will allow us to
-+         give file and line results for data symbols.  We exclude code
-+         symbols here, if we look up a function symbol and then look up the
-+         line information we'll actually return the line number for the
-+         opening '{' rather than the function definition line.  This is
-+         because looking up by symbol uses the line table, in which the
-+         first line for a function is usually the opening '{', while
-+         looking up the function by section + offset uses the
-+         DW_AT_decl_line from the function DW_TAG_subprogram for the line,
-+         which will be the line of the function name.  */
-+      if ((section->flags & SEC_CODE) == 0)
-+	{
-+	  asymbol **tmp;
-+
-+	  for (tmp = symbols; (*tmp) != NULL; ++tmp)
-+	    if ((*tmp)->the_bfd == abfd
-+		&& (*tmp)->section == section
-+		&& (*tmp)->value == offset
-+		&& ((*tmp)->flags & BSF_SECTION_SYM) == 0)
-+	      {
-+		symbol = *tmp;
-+		do_line = TRUE;
-+                /* For local symbols, keep going in the hope we find a
-+                   global.  */
-+                if ((symbol->flags & BSF_GLOBAL) != 0)
-+                  break;
-+	      }
-+	}
-     }
- 
-   if (section->output_section)
--- 
-1.9.1
-
diff --git a/import-layers/yocto-poky/meta/recipes-devtools/binutils/binutils/0018-PR-21409-segfault-in-_bfd_dwarf2_find_nearest_line.patch b/import-layers/yocto-poky/meta/recipes-devtools/binutils/binutils/0018-PR-21409-segfault-in-_bfd_dwarf2_find_nearest_line.patch
deleted file mode 100644
index acb37df..0000000
--- a/import-layers/yocto-poky/meta/recipes-devtools/binutils/binutils/0018-PR-21409-segfault-in-_bfd_dwarf2_find_nearest_line.patch
+++ /dev/null
@@ -1,33 +0,0 @@
-From 97e83a100aa8250be783304bfe0429761c6e6b6b Mon Sep 17 00:00:00 2001
-From: Alan Modra <amodra@gmail.com>
-Date: Sun, 23 Apr 2017 13:55:49 +0930
-Subject: [PATCH] PR 21409, segfault in _bfd_dwarf2_find_nearest_line
-
-	PR 21409
-	* dwarf2.c (_bfd_dwarf2_find_nearest_line): Don't segfault when
-	no symbols.
-
-CVE: CVE-2017-8392
-Upstream-Status: Accepted
-
-Signed-off-by: Fan Xin <fan.xin@jp.fujitsu.com>
----
- bfd/dwarf2.c  | 2 +-
- 1 files changed, 1 insertions(+), 1 deletion(-)
-
-diff --git a/bfd/dwarf2.c b/bfd/dwarf2.c
-index 132a674..0ef3e1f 100644
---- a/bfd/dwarf2.c
-+++ b/bfd/dwarf2.c
-@@ -4205,7 +4205,7 @@ _bfd_dwarf2_find_nearest_line (bfd *abfd,
-          looking up the function by section + offset uses the
-          DW_AT_decl_line from the function DW_TAG_subprogram for the line,
-          which will be the line of the function name.  */
--      if ((section->flags & SEC_CODE) == 0)
-+      if (symbols != NULL && (section->flags & SEC_CODE) == 0)
- 	{
- 	  asymbol **tmp;
- 
--- 
-1.9.1
-
diff --git a/import-layers/yocto-poky/meta/recipes-devtools/binutils/binutils/CVE-2017-6965.patch b/import-layers/yocto-poky/meta/recipes-devtools/binutils/binutils/CVE-2017-6965.patch
deleted file mode 100644
index 1334c94..0000000
--- a/import-layers/yocto-poky/meta/recipes-devtools/binutils/binutils/CVE-2017-6965.patch
+++ /dev/null
@@ -1,124 +0,0 @@
-From bdc5166c274b842f83f8328e7cfaaf80fd29934e Mon Sep 17 00:00:00 2001
-From: Nick Clifton <nickc@redhat.com>
-Date: Mon, 13 Feb 2017 13:08:32 +0000
-Subject: [PATCH 1/2] Fix readelf writing to illegal addresses whilst
- processing corrupt input files containing symbol-difference relocations.
-
-	PR binutils/21137
-	* readelf.c (target_specific_reloc_handling): Add end parameter.
-	Check for buffer overflow before writing relocated values.
-	(apply_relocations): Pass end to target_specific_reloc_handling.
-
-(cherry pick from commit 03f7786e2f440b9892b1c34a58fb26222ce1b493)
-Upstream-Status: Backport [master]
-CVE: CVE-2017-6965
-
-Signed-off-by: Yuanjie Huang <yuanjie.huang@windriver.com>
----
- binutils/ChangeLog |  7 +++++++
- binutils/readelf.c | 30 +++++++++++++++++++++++++-----
- 2 files changed, 32 insertions(+), 5 deletions(-)
-
-diff --git a/binutils/ChangeLog b/binutils/ChangeLog
-index f21867f98c..e789a3b99b 100644
---- a/binutils/ChangeLog
-+++ b/binutils/ChangeLog
-@@ -1,3 +1,10 @@
-+2017-02-13  Nick Clifton  <nickc@redhat.com>
-+
-+	PR binutils/21137
-+	* readelf.c (target_specific_reloc_handling): Add end parameter.
-+	Check for buffer overflow before writing relocated values.
-+	(apply_relocations): Pass end to target_specific_reloc_handling.
-+
- 2017-03-02  Tristan Gingold  <gingold@adacore.com>
- 
- 	* configure: Regenerate.
-diff --git a/binutils/readelf.c b/binutils/readelf.c
-index b5f577f5a1..8cdaae3b8c 100644
---- a/binutils/readelf.c
-+++ b/binutils/readelf.c
-@@ -11585,6 +11585,7 @@ process_syminfo (FILE * file ATTRIBUTE_UNUSED)
- static bfd_boolean
- target_specific_reloc_handling (Elf_Internal_Rela * reloc,
- 				unsigned char *     start,
-+				unsigned char *     end,
- 				Elf_Internal_Sym *  symtab)
- {
-   unsigned int reloc_type = get_reloc_type (reloc->r_info);
-@@ -11625,13 +11626,19 @@ target_specific_reloc_handling (Elf_Internal_Rela * reloc,
- 	  handle_sym_diff:
- 	    if (saved_sym != NULL)
- 	      {
-+		int reloc_size = reloc_type == 1 ? 4 : 2;
- 		bfd_vma value;
- 
- 		value = reloc->r_addend
- 		  + (symtab[get_reloc_symindex (reloc->r_info)].st_value
- 		     - saved_sym->st_value);
- 
--		byte_put (start + reloc->r_offset, value, reloc_type == 1 ? 4 : 2);
-+		if (start + reloc->r_offset + reloc_size >= end)
-+		  /* PR 21137 */
-+		  error (_("MSP430 sym diff reloc writes past end of section (%p vs %p)\n"),
-+			 start + reloc->r_offset + reloc_size, end);
-+		else
-+		  byte_put (start + reloc->r_offset, value, reloc_size);
- 
- 		saved_sym = NULL;
- 		return TRUE;
-@@ -11662,13 +11669,18 @@ target_specific_reloc_handling (Elf_Internal_Rela * reloc,
- 	  case 2: /* R_MN10300_16 */
- 	    if (saved_sym != NULL)
- 	      {
-+		int reloc_size = reloc_type == 1 ? 4 : 2;
- 		bfd_vma value;
- 
- 		value = reloc->r_addend
- 		  + (symtab[get_reloc_symindex (reloc->r_info)].st_value
- 		     - saved_sym->st_value);
- 
--		byte_put (start + reloc->r_offset, value, reloc_type == 1 ? 4 : 2);
-+		if (start + reloc->r_offset + reloc_size >= end)
-+		  error (_("MN10300 sym diff reloc writes past end of section (%p vs %p)\n"),
-+			 start + reloc->r_offset + reloc_size, end);
-+		else
-+		  byte_put (start + reloc->r_offset, value, reloc_size);
- 
- 		saved_sym = NULL;
- 		return TRUE;
-@@ -11703,12 +11715,20 @@ target_specific_reloc_handling (Elf_Internal_Rela * reloc,
- 	    break;
- 
- 	  case 0x41: /* R_RL78_ABS32.  */
--	    byte_put (start + reloc->r_offset, value, 4);
-+	    if (start + reloc->r_offset + 4 >= end)
-+	      error (_("RL78 sym diff reloc writes past end of section (%p vs %p)\n"),
-+		     start + reloc->r_offset + 2, end);
-+	    else
-+	      byte_put (start + reloc->r_offset, value, 4);
- 	    value = 0;
- 	    return TRUE;
- 
- 	  case 0x43: /* R_RL78_ABS16.  */
--	    byte_put (start + reloc->r_offset, value, 2);
-+	    if (start + reloc->r_offset + 2 >= end)
-+	      error (_("RL78 sym diff reloc writes past end of section (%p vs %p)\n"),
-+		     start + reloc->r_offset + 2, end);
-+	    else
-+	      byte_put (start + reloc->r_offset, value, 2);
- 	    value = 0;
- 	    return TRUE;
- 
-@@ -12325,7 +12345,7 @@ apply_relocations (void *                     file,
- 
- 	  reloc_type = get_reloc_type (rp->r_info);
- 
--	  if (target_specific_reloc_handling (rp, start, symtab))
-+	  if (target_specific_reloc_handling (rp, start, end, symtab))
- 	    continue;
- 	  else if (is_none_reloc (reloc_type))
- 	    continue;
--- 
-2.11.0
-
diff --git a/import-layers/yocto-poky/meta/recipes-devtools/binutils/binutils/CVE-2017-6966.patch b/import-layers/yocto-poky/meta/recipes-devtools/binutils/binutils/CVE-2017-6966.patch
deleted file mode 100644
index dd58df5..0000000
--- a/import-layers/yocto-poky/meta/recipes-devtools/binutils/binutils/CVE-2017-6966.patch
+++ /dev/null
@@ -1,241 +0,0 @@
-From 383ec757d27652448d1511169e1133f486abf54f Mon Sep 17 00:00:00 2001
-From: Nick Clifton <nickc@redhat.com>
-Date: Mon, 13 Feb 2017 14:03:22 +0000
-Subject: [PATCH] Fix read-after-free error in readelf when processing
- multiple, relocated sections in an MSP430 binary.
-
-	PR binutils/21139
-	* readelf.c (target_specific_reloc_handling): Add num_syms
-	parameter.  Check for symbol table overflow before accessing
-	symbol value.  If reloc pointer is NULL, discard all saved state.
-	(apply_relocations): Pass num_syms to target_specific_reloc_handling.
-	Call target_specific_reloc_handling with a NULL reloc pointer
-	after processing all of the relocs.
-
-(cherry pick from commit f84ce13b6708801ca1d6289b7c4003e2f5a6d7f9)
-Upstream-Status: Backport [master]
-CVE: CVE-2017-6966
-
-Signed-off-by: Yuanjie Huang <yuanjie.huang@windriver.com>
----
- binutils/ChangeLog |  10 +++++
- binutils/readelf.c | 109 +++++++++++++++++++++++++++++++++++++++++------------
- 2 files changed, 94 insertions(+), 25 deletions(-)
-
-diff --git a/binutils/ChangeLog b/binutils/ChangeLog
-index e789a3b99b..bd63c8a0d8 100644
---- a/binutils/ChangeLog
-+++ b/binutils/ChangeLog
-@@ -1,5 +1,15 @@
- 2017-02-13  Nick Clifton  <nickc@redhat.com>
- 
-+	PR binutils/21139
-+	* readelf.c (target_specific_reloc_handling): Add num_syms
-+	parameter.  Check for symbol table overflow before accessing
-+	symbol value.  If reloc pointer is NULL, discard all saved state.
-+	(apply_relocations): Pass num_syms to target_specific_reloc_handling.
-+	Call target_specific_reloc_handling with a NULL reloc pointer
-+	after processing all of the relocs.
-+
-+2017-02-13  Nick Clifton  <nickc@redhat.com>
-+
- 	PR binutils/21137
- 	* readelf.c (target_specific_reloc_handling): Add end parameter.
- 	Check for buffer overflow before writing relocated values.
-diff --git a/binutils/readelf.c b/binutils/readelf.c
-index 8cdaae3b8c..7c158c6342 100644
---- a/binutils/readelf.c
-+++ b/binutils/readelf.c
-@@ -11580,15 +11580,27 @@ process_syminfo (FILE * file ATTRIBUTE_UNUSED)
- 
- /* Check to see if the given reloc needs to be handled in a target specific
-    manner.  If so then process the reloc and return TRUE otherwise return
--   FALSE.  */
-+   FALSE.
-+
-+   If called with reloc == NULL, then this is a signal that reloc processing
-+   for the current section has finished, and any saved state should be
-+   discarded.  */
- 
- static bfd_boolean
- target_specific_reloc_handling (Elf_Internal_Rela * reloc,
- 				unsigned char *     start,
- 				unsigned char *     end,
--				Elf_Internal_Sym *  symtab)
-+				Elf_Internal_Sym *  symtab,
-+				unsigned long       num_syms)
- {
--  unsigned int reloc_type = get_reloc_type (reloc->r_info);
-+  unsigned int reloc_type = 0;
-+  unsigned long sym_index = 0;
-+
-+  if (reloc)
-+    {
-+      reloc_type = get_reloc_type (reloc->r_info);
-+      sym_index = get_reloc_symindex (reloc->r_info);
-+    }
- 
-   switch (elf_header.e_machine)
-     {
-@@ -11597,6 +11609,12 @@ target_specific_reloc_handling (Elf_Internal_Rela * reloc,
-       {
- 	static Elf_Internal_Sym * saved_sym = NULL;
- 
-+	if (reloc == NULL)
-+	  {
-+	    saved_sym = NULL;
-+	    return TRUE;
-+	  }
-+
- 	switch (reloc_type)
- 	  {
- 	  case 10: /* R_MSP430_SYM_DIFF */
-@@ -11604,7 +11622,12 @@ target_specific_reloc_handling (Elf_Internal_Rela * reloc,
- 	      break;
- 	    /* Fall through.  */
- 	  case 21: /* R_MSP430X_SYM_DIFF */
--	    saved_sym = symtab + get_reloc_symindex (reloc->r_info);
-+	    /* PR 21139.  */
-+	    if (sym_index >= num_syms)
-+	      error (_("MSP430 SYM_DIFF reloc contains invalid symbol index %lu\n"),
-+		     sym_index);
-+	    else
-+	      saved_sym = symtab + sym_index;
- 	    return TRUE;
- 
- 	  case 1: /* R_MSP430_32 or R_MSP430_ABS32 */
-@@ -11629,16 +11652,21 @@ target_specific_reloc_handling (Elf_Internal_Rela * reloc,
- 		int reloc_size = reloc_type == 1 ? 4 : 2;
- 		bfd_vma value;
- 
--		value = reloc->r_addend
--		  + (symtab[get_reloc_symindex (reloc->r_info)].st_value
--		     - saved_sym->st_value);
--
--		if (start + reloc->r_offset + reloc_size >= end)
--		  /* PR 21137 */
--		  error (_("MSP430 sym diff reloc writes past end of section (%p vs %p)\n"),
--			 start + reloc->r_offset + reloc_size, end);
-+		if (sym_index >= num_syms)
-+		  error (_("MSP430 reloc contains invalid symbol index %lu\n"),
-+			 sym_index);
- 		else
--		  byte_put (start + reloc->r_offset, value, reloc_size);
-+		  {
-+		    value = reloc->r_addend + (symtab[sym_index].st_value
-+					       - saved_sym->st_value);
-+
-+		    if (start + reloc->r_offset + reloc_size >= end)
-+		      /* PR 21137 */
-+		      error (_("MSP430 sym diff reloc writes past end of section (%p vs %p)\n"),
-+			     start + reloc->r_offset + reloc_size, end);
-+		    else
-+		      byte_put (start + reloc->r_offset, value, reloc_size);
-+		  }
- 
- 		saved_sym = NULL;
- 		return TRUE;
-@@ -11658,13 +11686,24 @@ target_specific_reloc_handling (Elf_Internal_Rela * reloc,
-       {
- 	static Elf_Internal_Sym * saved_sym = NULL;
- 
-+	if (reloc == NULL)
-+	  {
-+	    saved_sym = NULL;
-+	    return TRUE;
-+	  }
-+
- 	switch (reloc_type)
- 	  {
- 	  case 34: /* R_MN10300_ALIGN */
- 	    return TRUE;
- 	  case 33: /* R_MN10300_SYM_DIFF */
--	    saved_sym = symtab + get_reloc_symindex (reloc->r_info);
-+	    if (sym_index >= num_syms)
-+	      error (_("MN10300_SYM_DIFF reloc contains invalid symbol index %lu\n"),
-+		     sym_index);
-+	    else
-+	      saved_sym = symtab + sym_index;
- 	    return TRUE;
-+
- 	  case 1: /* R_MN10300_32 */
- 	  case 2: /* R_MN10300_16 */
- 	    if (saved_sym != NULL)
-@@ -11672,15 +11711,20 @@ target_specific_reloc_handling (Elf_Internal_Rela * reloc,
- 		int reloc_size = reloc_type == 1 ? 4 : 2;
- 		bfd_vma value;
- 
--		value = reloc->r_addend
--		  + (symtab[get_reloc_symindex (reloc->r_info)].st_value
--		     - saved_sym->st_value);
--
--		if (start + reloc->r_offset + reloc_size >= end)
--		  error (_("MN10300 sym diff reloc writes past end of section (%p vs %p)\n"),
--			 start + reloc->r_offset + reloc_size, end);
-+		if (sym_index >= num_syms)
-+		  error (_("MN10300 reloc contains invalid symbol index %lu\n"),
-+			 sym_index);
- 		else
--		  byte_put (start + reloc->r_offset, value, reloc_size);
-+		  {
-+		    value = reloc->r_addend + (symtab[sym_index].st_value
-+					       - saved_sym->st_value);
-+
-+		    if (start + reloc->r_offset + reloc_size >= end)
-+		      error (_("MN10300 sym diff reloc writes past end of section (%p vs %p)\n"),
-+			     start + reloc->r_offset + reloc_size, end);
-+		    else
-+		      byte_put (start + reloc->r_offset, value, reloc_size);
-+		  }
- 
- 		saved_sym = NULL;
- 		return TRUE;
-@@ -11700,12 +11744,24 @@ target_specific_reloc_handling (Elf_Internal_Rela * reloc,
- 	static bfd_vma saved_sym2 = 0;
- 	static bfd_vma value;
- 
-+	if (reloc == NULL)
-+	  {
-+	    saved_sym1 = saved_sym2 = 0;
-+	    return TRUE;
-+	  }
-+
- 	switch (reloc_type)
- 	  {
- 	  case 0x80: /* R_RL78_SYM.  */
- 	    saved_sym1 = saved_sym2;
--	    saved_sym2 = symtab[get_reloc_symindex (reloc->r_info)].st_value;
--	    saved_sym2 += reloc->r_addend;
-+	    if (sym_index >= num_syms)
-+	      error (_("RL78_SYM reloc contains invalid symbol index %lu\n"),
-+		     sym_index);
-+	    else
-+	      {
-+		saved_sym2 = symtab[sym_index].st_value;
-+		saved_sym2 += reloc->r_addend;
-+	      }
- 	    return TRUE;
- 
- 	  case 0x83: /* R_RL78_OPsub.  */
-@@ -12345,7 +12401,7 @@ apply_relocations (void *                     file,
- 
- 	  reloc_type = get_reloc_type (rp->r_info);
- 
--	  if (target_specific_reloc_handling (rp, start, end, symtab))
-+	  if (target_specific_reloc_handling (rp, start, end, symtab, num_syms))
- 	    continue;
- 	  else if (is_none_reloc (reloc_type))
- 	    continue;
-@@ -12441,6 +12497,9 @@ apply_relocations (void *                     file,
- 	}
- 
-       free (symtab);
-+      /* Let the target specific reloc processing code know that
-+	 we have finished with these relocs.  */
-+      target_specific_reloc_handling (NULL, NULL, NULL, NULL, 0);
- 
-       if (relocs_return)
- 	{
--- 
-2.11.0
-
diff --git a/import-layers/yocto-poky/meta/recipes-devtools/binutils/binutils/CVE-2017-6969.patch b/import-layers/yocto-poky/meta/recipes-devtools/binutils/binutils/CVE-2017-6969.patch
deleted file mode 100644
index ed54034..0000000
--- a/import-layers/yocto-poky/meta/recipes-devtools/binutils/binutils/CVE-2017-6969.patch
+++ /dev/null
@@ -1,57 +0,0 @@
-From 1d9a2696903fc59d6a936f4ab4e4407ef329d066 Mon Sep 17 00:00:00 2001
-From: Nick Clifton <nickc@redhat.com>
-Date: Fri, 17 Feb 2017 15:59:45 +0000
-Subject: Fix illegal memory accesses in readelf when parsing
- a corrupt binary.
-
-	PR binutils/21156
-	* readelf.c (find_section_in_set): Test for invalid section
-	indicies.
-
-CVE: CVE-2017-6969
-Upstream-Status: Backport [master]
-
-Signed-off-by: Yuanjie Huang <yuanjie.huang@windriver.com>
----
- binutils/ChangeLog |  6 ++++++
- binutils/readelf.c | 10 ++++++++--
- 2 files changed, 14 insertions(+), 2 deletions(-)
-
-diff --git a/binutils/ChangeLog b/binutils/ChangeLog
-index bd63c8a0d8..1d840b42f9 100644
---- a/binutils/ChangeLog
-+++ b/binutils/ChangeLog
-@@ -1,3 +1,9 @@
-+2017-02-17  Nick Clifton  <nickc@redhat.com>
-+
-+	PR binutils/21156
-+	* readelf.c (find_section_in_set): Test for invalid section
-+	indicies.
-+
- 2017-02-13  Nick Clifton  <nickc@redhat.com>
- 
- 	PR binutils/21139
-diff --git a/binutils/readelf.c b/binutils/readelf.c
-index 7c158c6342..4960491c5c 100644
---- a/binutils/readelf.c
-+++ b/binutils/readelf.c
-@@ -675,8 +675,14 @@ find_section_in_set (const char * name, unsigned int * set)
-   if (set != NULL)
-     {
-       while ((i = *set++) > 0)
--	if (streq (SECTION_NAME (section_headers + i), name))
--	  return section_headers + i;
-+	{
-+	  /* See PR 21156 for a reproducer.  */
-+	  if (i >= elf_header.e_shnum)
-+	    continue; /* FIXME: Should we issue an error message ?  */
-+
-+	  if (streq (SECTION_NAME (section_headers + i), name))
-+	    return section_headers + i;
-+	}
-     }
- 
-   return find_section (name);
--- 
-2.11.0
-
diff --git a/import-layers/yocto-poky/meta/recipes-devtools/binutils/binutils/CVE-2017-6969_2.patch b/import-layers/yocto-poky/meta/recipes-devtools/binutils/binutils/CVE-2017-6969_2.patch
deleted file mode 100644
index 59a5dec..0000000
--- a/import-layers/yocto-poky/meta/recipes-devtools/binutils/binutils/CVE-2017-6969_2.patch
+++ /dev/null
@@ -1,122 +0,0 @@
-From ef81126314f67472a46db9581530fbf5ccb6b3f2 Mon Sep 17 00:00:00 2001
-From: Nick Clifton <nickc@redhat.com>
-Date: Mon, 20 Feb 2017 14:40:39 +0000
-Subject: Fix another memory access error in readelf when
- parsing a corrupt binary.
-
-	PR binutils/21156
-	* dwarf.c (cu_tu_indexes_read): Move into...
-	(load_cu_tu_indexes): ... here.  Change the variable into
-	tri-state.  Change the function into boolean, returning
-	false if the indicies could not be loaded.
-	(find_cu_tu_set): Return NULL if the indicies could not be
-	loaded.
-
-CVE: CVE-2017-6969
-Upstream-Status: Backport [master]
-
-Signed-off-by: Yuanjie Huang <yuanjie.huang@windriver.com>
----
- binutils/ChangeLog | 10 ++++++++++
- binutils/dwarf.c   | 34 ++++++++++++++++++++--------------
- 2 files changed, 30 insertions(+), 14 deletions(-)
-
-diff --git a/binutils/ChangeLog b/binutils/ChangeLog
-index 1d840b42f9..53352c1801 100644
---- a/binutils/ChangeLog
-+++ b/binutils/ChangeLog
-@@ -1,3 +1,13 @@
-+2017-02-20  Nick Clifton  <nickc@redhat.com>
-+
-+	PR binutils/21156
-+	* dwarf.c (cu_tu_indexes_read): Move into...
-+	(load_cu_tu_indexes): ... here.  Change the variable into
-+	tri-state.  Change the function into boolean, returning
-+	false if the indicies could not be loaded.
-+	(find_cu_tu_set): Return NULL if the indicies could not be
-+	loaded.
-+
- 2017-02-17  Nick Clifton  <nickc@redhat.com>
- 
- 	PR binutils/21156
-diff --git a/binutils/dwarf.c b/binutils/dwarf.c
-index 0184a7ab2e..6d879c9b61 100644
---- a/binutils/dwarf.c
-+++ b/binutils/dwarf.c
-@@ -76,7 +76,6 @@ int dwarf_check = 0;
-    as a zero-terminated list of section indexes comprising one set of debug
-    sections from a .dwo file.  */
- 
--static int cu_tu_indexes_read = 0;
- static unsigned int *shndx_pool = NULL;
- static unsigned int shndx_pool_size = 0;
- static unsigned int shndx_pool_used = 0;
-@@ -99,7 +98,7 @@ static int tu_count = 0;
- static struct cu_tu_set *cu_sets = NULL;
- static struct cu_tu_set *tu_sets = NULL;
- 
--static void load_cu_tu_indexes (void *file);
-+static bfd_boolean load_cu_tu_indexes (void *);
- 
- /* Values for do_debug_lines.  */
- #define FLAG_DEBUG_LINES_RAW	 1
-@@ -2715,7 +2714,7 @@ load_debug_info (void * file)
-     return num_debug_info_entries;
- 
-   /* If this is a DWARF package file, load the CU and TU indexes.  */
--  load_cu_tu_indexes (file);
-+  (void) load_cu_tu_indexes (file);
- 
-   if (load_debug_section (info, file)
-       && process_debug_info (&debug_displays [info].section, file, abbrev, 1, 0))
-@@ -7378,21 +7377,27 @@ process_cu_tu_index (struct dwarf_section *section, int do_display)
-    section sets that we can use to associate a .debug_info.dwo section
-    with its associated .debug_abbrev.dwo section in a .dwp file.  */
- 
--static void
-+static bfd_boolean
- load_cu_tu_indexes (void *file)
- {
-+  static int cu_tu_indexes_read = -1; /* Tri-state variable.  */
-+
-   /* If we have already loaded (or tried to load) the CU and TU indexes
-      then do not bother to repeat the task.  */
--  if (cu_tu_indexes_read)
--    return;
--
--  if (load_debug_section (dwp_cu_index, file))
--    process_cu_tu_index (&debug_displays [dwp_cu_index].section, 0);
--
--  if (load_debug_section (dwp_tu_index, file))
--    process_cu_tu_index (&debug_displays [dwp_tu_index].section, 0);
-+  if (cu_tu_indexes_read == -1)
-+    {
-+      cu_tu_indexes_read = TRUE;
-+  
-+      if (load_debug_section (dwp_cu_index, file))
-+	if (! process_cu_tu_index (&debug_displays [dwp_cu_index].section, 0))
-+	  cu_tu_indexes_read = FALSE;
-+
-+      if (load_debug_section (dwp_tu_index, file))
-+	if (! process_cu_tu_index (&debug_displays [dwp_tu_index].section, 0))
-+	  cu_tu_indexes_read = FALSE;
-+    }
- 
--  cu_tu_indexes_read = 1;
-+  return (bfd_boolean) cu_tu_indexes_read;
- }
- 
- /* Find the set of sections that includes section SHNDX.  */
-@@ -7402,7 +7407,8 @@ find_cu_tu_set (void *file, unsigned int shndx)
- {
-   unsigned int i;
- 
--  load_cu_tu_indexes (file);
-+  if (! load_cu_tu_indexes (file))
-+    return NULL;
- 
-   /* Find SHNDX in the shndx pool.  */
-   for (i = 0; i < shndx_pool_used; i++)
--- 
-2.11.0
-
diff --git a/import-layers/yocto-poky/meta/recipes-devtools/binutils/binutils/CVE-2017-7209.patch b/import-layers/yocto-poky/meta/recipes-devtools/binutils/binutils/CVE-2017-7209.patch
deleted file mode 100644
index 2357a12..0000000
--- a/import-layers/yocto-poky/meta/recipes-devtools/binutils/binutils/CVE-2017-7209.patch
+++ /dev/null
@@ -1,62 +0,0 @@
-From b2706ceadac7239e7b02d43f05100fc6538b0d65 Mon Sep 17 00:00:00 2001
-From: Nick Clifton <nickc@redhat.com>
-Date: Mon, 13 Feb 2017 15:04:37 +0000
-Subject: Fix invalid read of section contents whilst processing a corrupt binary.
-
-	PR binutils/21135
-	* readelf.c (dump_section_as_bytes): Handle the case where
-	uncompress_section_contents returns false.
-
-CVE: CVE-2017-7209
-Upstream-Status: Backport[master]
-
-Signed-off-by: Yuanjie Huang <yuanjie.huang@windriver.com>
----
- binutils/ChangeLog |  6 ++++++
- binutils/readelf.c | 16 ++++++++++++----
- 2 files changed, 18 insertions(+), 4 deletions(-)
-
-diff --git a/binutils/ChangeLog b/binutils/ChangeLog
-index 53352c1801..cf92744c12 100644
---- a/binutils/ChangeLog
-+++ b/binutils/ChangeLog
-@@ -1,3 +1,9 @@
-+2017-02-13  Nick Clifton  <nickc@redhat.com>
-+
-+	PR binutils/21135
-+	* readelf.c (dump_section_as_bytes): Handle the case where
-+	uncompress_section_contents returns false.
-+
- 2017-02-20  Nick Clifton  <nickc@redhat.com>
- 
- 	PR binutils/21156
-diff --git a/binutils/readelf.c b/binutils/readelf.c
-index 4960491c5c..f0e7b080e8 100644
---- a/binutils/readelf.c
-+++ b/binutils/readelf.c
-@@ -12803,10 +12803,18 @@ dump_section_as_bytes (Elf_Internal_Shdr * section,
- 	  new_size -= 12;
- 	}
- 
--      if (uncompressed_size
--	  && uncompress_section_contents (& start, uncompressed_size,
--					  & new_size))
--	section_size = new_size;
-+      if (uncompressed_size)
-+	{
-+	  if (uncompress_section_contents (& start, uncompressed_size,
-+					   & new_size))
-+	    section_size = new_size;
-+	  else
-+	    {
-+	      error (_("Unable to decompress section %s\n"),
-+		     printable_section_name (section));
-+	      return;
-+	    }
-+	}
-     }
- 
-   if (relocate)
--- 
-2.11.0
-
diff --git a/import-layers/yocto-poky/meta/recipes-devtools/binutils/binutils/CVE-2017-7210.patch b/import-layers/yocto-poky/meta/recipes-devtools/binutils/binutils/CVE-2017-7210.patch
deleted file mode 100644
index 8791792..0000000
--- a/import-layers/yocto-poky/meta/recipes-devtools/binutils/binutils/CVE-2017-7210.patch
+++ /dev/null
@@ -1,71 +0,0 @@
-From 4da598a472e1d298825035e452e3bc68f714311c Mon Sep 17 00:00:00 2001
-From: Nick Clifton <nickc@redhat.com>
-Date: Tue, 14 Feb 2017 14:07:29 +0000
-Subject: Fix handling of corrupt STABS enum type strings.
-
-	PR binutils/21157
-	* stabs.c (parse_stab_enum_type): Check for corrupt NAME:VALUE
-	pairs.
-	(parse_number): Exit early if passed an empty string.
-
-CVE: CVE-2017-7210
-Upstream-Status: Backport [master]
-
-Signed-off-by: Yuanjie Huang <yuanjie.huang@windriver.com>
----
- binutils/ChangeLog |  7 +++++++
- binutils/stabs.c   | 14 +++++++++++++-
- 2 files changed, 20 insertions(+), 1 deletion(-)
-
-diff --git a/binutils/ChangeLog b/binutils/ChangeLog
-index cf92744c12..0045fbaaa6 100644
---- a/binutils/ChangeLog
-+++ b/binutils/ChangeLog
-@@ -1,3 +1,10 @@
-+2017-02-14  Nick Clifton  <nickc@redhat.com>
-+
-+	PR binutils/21157
-+	* stabs.c (parse_stab_enum_type): Check for corrupt NAME:VALUE
-+	pairs.
-+	(parse_number): Exit early if passed an empty string.
-+
- 2017-02-13  Nick Clifton  <nickc@redhat.com>
- 
- 	PR binutils/21135
-diff --git a/binutils/stabs.c b/binutils/stabs.c
-index f5c5d2d8e0..5d013cc361 100644
---- a/binutils/stabs.c
-+++ b/binutils/stabs.c
-@@ -232,6 +232,10 @@ parse_number (const char **pp, bfd_boolean *poverflow)
- 
-   orig = *pp;
- 
-+  /* Stop early if we are passed an empty string.  */
-+  if (*orig == 0)
-+    return (bfd_vma) 0;
-+
-   errno = 0;
-   ul = strtoul (*pp, (char **) pp, 0);
-   if (ul + 1 != 0 || errno == 0)
-@@ -1975,9 +1979,17 @@ parse_stab_enum_type (void *dhandle, const char **pp)
-       bfd_signed_vma val;
- 
-       p = *pp;
--      while (*p != ':')
-+      while (*p != ':' && *p != 0)
- 	++p;
- 
-+      if (*p == 0)
-+	{
-+	  bad_stab (orig);
-+	  free (names);
-+	  free (values);
-+	  return DEBUG_TYPE_NULL;
-+	}
-+
-       name = savestring (*pp, p - *pp);
- 
-       *pp = p + 1;
--- 
-2.11.0
-
diff --git a/import-layers/yocto-poky/meta/recipes-devtools/binutils/binutils/CVE-2017-7223.patch b/import-layers/yocto-poky/meta/recipes-devtools/binutils/binutils/CVE-2017-7223.patch
deleted file mode 100644
index c78c8bf..0000000
--- a/import-layers/yocto-poky/meta/recipes-devtools/binutils/binutils/CVE-2017-7223.patch
+++ /dev/null
@@ -1,52 +0,0 @@
-From 69ace2200106348a1b00d509a6a234337c104c17 Mon Sep 17 00:00:00 2001
-From: Nick Clifton <nickc@redhat.com>
-Date: Thu, 1 Dec 2016 15:20:19 +0000
-Subject: [PATCH] Fix seg fault attempting to unget an EOF character.
-
-	PR gas/20898
-	* app.c (do_scrub_chars): Do not attempt to unget EOF.
-
-Affects: <= 2.28
-Upstream-Status: Backport
-CVE: CVE-2017-7223
-Signed-off-by: Armin Kuster <akuster@mvista.com>
-
----
- gas/ChangeLog | 3 +++
- gas/app.c     | 2 +-
- 2 files changed, 4 insertions(+), 1 deletion(-)
-
-Index: git/gas/ChangeLog
-===================================================================
---- git.orig/gas/ChangeLog
-+++ git/gas/ChangeLog
-@@ -1,3 +1,8 @@
-+2016-12-01  Nick Clifton  <nickc@redhat.com>
-+ 
-+       PR gas/20898
-+       * app.c (do_scrub_chars): Do not attempt to unget EOF.
-+
- 2017-03-02  Tristan Gingold  <gingold@adacore.com>
- 
- 	* configure: Regenerate.
-@@ -198,7 +203,6 @@
- 	* config/tc-pru.c (md_number_to_chars): Fix parameter to be
- 	valueT, as declared in tc.h.
- 	(md_apply_fix): Fix to work on 32-bit hosts.
-->>>>>>> 0115611... RISC-V/GAS: Correct branch relaxation for weak symbols.
- 
- 2017-01-02  Alan Modra  <amodra@gmail.com>
- 
-Index: git/gas/app.c
-===================================================================
---- git.orig/gas/app.c
-+++ git/gas/app.c
-@@ -1350,7 +1350,7 @@ do_scrub_chars (size_t (*get) (char *, s
- 		  PUT (ch);
- 		  break;
- 		}
--	      else
-+	      else if (ch2 != EOF)
- 		{
- 		  state = 9;
- 		  if (ch == EOF || !IS_SYMBOL_COMPONENT (ch))
diff --git a/import-layers/yocto-poky/meta/recipes-devtools/binutils/binutils/CVE-2017-7614.patch b/import-layers/yocto-poky/meta/recipes-devtools/binutils/binutils/CVE-2017-7614.patch
deleted file mode 100644
index be8631a..0000000
--- a/import-layers/yocto-poky/meta/recipes-devtools/binutils/binutils/CVE-2017-7614.patch
+++ /dev/null
@@ -1,103 +0,0 @@
-From ad32986fdf9da1c8748e47b8b45100398223dba8 Mon Sep 17 00:00:00 2001
-From: Nick Clifton <nickc@redhat.com>
-Date: Tue, 4 Apr 2017 11:23:36 +0100
-Subject: [PATCH] Fix null pointer dereferences when using a link built with
- clang.
-
-	PR binutils/21342
-	* elflink.c (_bfd_elf_define_linkage_sym): Prevent null pointer
-	dereference.
-	(bfd_elf_final_link): Only initialize the extended symbol index
-	section if there are extended symbol tables to list.
-
-Upstream-Status: Backport
-CVE: CVE-2017-7614
-Signed-off-by: Armin Kuster <akuster@mvista.com>
-
----
- bfd/ChangeLog |  8 ++++++++
- bfd/elflink.c | 35 +++++++++++++++++++++--------------
- 2 files changed, 29 insertions(+), 14 deletions(-)
-
-Index: git/bfd/elflink.c
-===================================================================
---- git.orig/bfd/elflink.c
-+++ git/bfd/elflink.c
-@@ -119,15 +119,18 @@ _bfd_elf_define_linkage_sym (bfd *abfd,
- 	 defined in shared libraries can't be overridden, because we
- 	 lose the link to the bfd which is via the symbol section.  */
-       h->root.type = bfd_link_hash_new;
-+      bh = &h->root;
-     }
-+  else
-+    bh = NULL;
- 
--  bh = &h->root;
-   bed = get_elf_backend_data (abfd);
-   if (!_bfd_generic_link_add_one_symbol (info, abfd, name, BSF_GLOBAL,
- 					 sec, 0, NULL, FALSE, bed->collect,
- 					 &bh))
-     return NULL;
-   h = (struct elf_link_hash_entry *) bh;
-+  BFD_ASSERT (h != NULL);
-   h->def_regular = 1;
-   h->non_elf = 0;
-   h->root.linker_def = 1;
-@@ -11973,24 +11976,28 @@ bfd_elf_final_link (bfd *abfd, struct bf
-     {
-       /* Finish up and write out the symbol string table (.strtab)
- 	 section.  */
--      Elf_Internal_Shdr *symstrtab_hdr;
-+      Elf_Internal_Shdr *symstrtab_hdr = NULL;
-       file_ptr off = symtab_hdr->sh_offset + symtab_hdr->sh_size;
- 
--      symtab_shndx_hdr = & elf_symtab_shndx_list (abfd)->hdr;
--      if (symtab_shndx_hdr != NULL && symtab_shndx_hdr->sh_name != 0)
-+      if (elf_symtab_shndx_list (abfd))
- 	{
--	  symtab_shndx_hdr->sh_type = SHT_SYMTAB_SHNDX;
--	  symtab_shndx_hdr->sh_entsize = sizeof (Elf_External_Sym_Shndx);
--	  symtab_shndx_hdr->sh_addralign = sizeof (Elf_External_Sym_Shndx);
--	  amt = bfd_get_symcount (abfd) * sizeof (Elf_External_Sym_Shndx);
--	  symtab_shndx_hdr->sh_size = amt;
-+	  symtab_shndx_hdr = & elf_symtab_shndx_list (abfd)->hdr;
- 
--	  off = _bfd_elf_assign_file_position_for_section (symtab_shndx_hdr,
--							   off, TRUE);
-+	  if (symtab_shndx_hdr != NULL && symtab_shndx_hdr->sh_name != 0)
-+	    {
-+	      symtab_shndx_hdr->sh_type = SHT_SYMTAB_SHNDX;
-+	      symtab_shndx_hdr->sh_entsize = sizeof (Elf_External_Sym_Shndx);
-+	      symtab_shndx_hdr->sh_addralign = sizeof (Elf_External_Sym_Shndx);
-+	      amt = bfd_get_symcount (abfd) * sizeof (Elf_External_Sym_Shndx);
-+	      symtab_shndx_hdr->sh_size = amt;
- 
--	  if (bfd_seek (abfd, symtab_shndx_hdr->sh_offset, SEEK_SET) != 0
--	      || (bfd_bwrite (flinfo.symshndxbuf, amt, abfd) != amt))
--	    return FALSE;
-+	      off = _bfd_elf_assign_file_position_for_section (symtab_shndx_hdr,
-+							       off, TRUE);
-+
-+	      if (bfd_seek (abfd, symtab_shndx_hdr->sh_offset, SEEK_SET) != 0
-+		  || (bfd_bwrite (flinfo.symshndxbuf, amt, abfd) != amt))
-+		return FALSE;
-+	    }
- 	}
- 
-       symstrtab_hdr = &elf_tdata (abfd)->strtab_hdr;
-Index: git/bfd/ChangeLog
-===================================================================
---- git.orig/bfd/ChangeLog
-+++ git/bfd/ChangeLog
-@@ -1,3 +1,11 @@
-+2017-04-04  Nick Clifton  <nickc@redhat.com>
-+
-+       PR binutils/21342
-+       * elflink.c (_bfd_elf_define_linkage_sym): Prevent null pointer
-+       dereference.
-+       (bfd_elf_final_link): Only initialize the extended symbol index
-+       section if there are extended symbol tables to list.
-+
- 2017-03-07  Alan Modra  <amodra@gmail.com>
- 
- 	PR 21224
diff --git a/import-layers/yocto-poky/meta/recipes-devtools/binutils/binutils/CVE-2017-8393.patch b/import-layers/yocto-poky/meta/recipes-devtools/binutils/binutils/CVE-2017-8393.patch
deleted file mode 100644
index 8500a03..0000000
--- a/import-layers/yocto-poky/meta/recipes-devtools/binutils/binutils/CVE-2017-8393.patch
+++ /dev/null
@@ -1,205 +0,0 @@
-From bce964aa6c777d236fbd641f2bc7bb931cfe4bf3 Mon Sep 17 00:00:00 2001
-From: Alan Modra <amodra@gmail.com>
-Date: Sun, 23 Apr 2017 11:03:34 +0930
-Subject: [PATCH] PR 21412, get_reloc_section assumes .rel/.rela name for
- SHT_REL/RELA.
-
-This patch fixes an assumption made by code that runs for objcopy and
-strip, that SHT_REL/SHR_RELA sections are always named starting with a
-.rel/.rela prefix.  I'm also modifying the interface for
-elf_backend_get_reloc_section, so any backend function just needs to
-handle name mapping.
-
-	PR 21412
-	* elf-bfd.h (struct elf_backend_data <get_reloc_section>): Change
-	parameters and comment.
-	(_bfd_elf_get_reloc_section): Delete.
-	(_bfd_elf_plt_get_reloc_section): Declare.
-	* elf.c (_bfd_elf_plt_get_reloc_section, elf_get_reloc_section):
-	New functions.  Don't blindly skip over assumed .rel/.rela prefix.
-	Extracted from..
-	(_bfd_elf_get_reloc_section): ..here.  Delete.
-	(assign_section_numbers): Call elf_get_reloc_section.
-	* elf64-ppc.c (elf_backend_get_reloc_section): Define.
-	* elfxx-target.h (elf_backend_get_reloc_section): Update.
-
-Upstream-Status: Backport
-CVE: CVE-2017-8393
-Signed-off-by: Armin Kuster <akuster@mvista.com>
-
----
- bfd/ChangeLog      | 15 ++++++++++++++
- bfd/elf-bfd.h      |  8 ++++---
- bfd/elf.c          | 61 +++++++++++++++++++++++++++++++-----------------------
- bfd/elf64-ppc.c    |  1 +
- bfd/elfxx-target.h |  2 +-
- 5 files changed, 57 insertions(+), 30 deletions(-)
-
-Index: git/bfd/elf-bfd.h
-===================================================================
---- git.orig/bfd/elf-bfd.h
-+++ git/bfd/elf-bfd.h
-@@ -1322,8 +1322,10 @@ struct elf_backend_data
-   bfd_size_type (*maybe_function_sym) (const asymbol *sym, asection *sec,
- 				       bfd_vma *code_off);
- 
--  /* Return the section which RELOC_SEC applies to.  */
--  asection *(*get_reloc_section) (asection *reloc_sec);
-+  /* Given NAME, the name of a relocation section stripped of its
-+     .rel/.rela prefix, return the section in ABFD to which the
-+     relocations apply.  */
-+  asection *(*get_reloc_section) (bfd *abfd, const char *name);
- 
-   /* Called to set the sh_flags, sh_link and sh_info fields of OSECTION which
-      has a type >= SHT_LOOS.  Returns TRUE if the fields were initialised,
-@@ -2392,7 +2394,7 @@ extern bfd_boolean _bfd_elf_is_function_
- extern bfd_size_type _bfd_elf_maybe_function_sym (const asymbol *, asection *,
- 						  bfd_vma *);
- 
--extern asection *_bfd_elf_get_reloc_section (asection *);
-+extern asection *_bfd_elf_plt_get_reloc_section (bfd *, const char *);
- 
- extern int bfd_elf_get_default_section_type (flagword);
- 
-Index: git/bfd/elf.c
-===================================================================
---- git.orig/bfd/elf.c
-+++ git/bfd/elf.c
-@@ -3532,17 +3532,39 @@ bfd_elf_set_group_contents (bfd *abfd, a
-   H_PUT_32 (abfd, sec->flags & SEC_LINK_ONCE ? GRP_COMDAT : 0, loc);
- }
- 
--/* Return the section which RELOC_SEC applies to.  */
-+/* Given NAME, the name of a relocation section stripped of its
-+   .rel/.rela prefix, return the section in ABFD to which the
-+   relocations apply.  */
- 
- asection *
--_bfd_elf_get_reloc_section (asection *reloc_sec)
-+_bfd_elf_plt_get_reloc_section (bfd *abfd, const char *name)
-+{
-+  /* If a target needs .got.plt section, relocations in rela.plt/rel.plt
-+     section likely apply to .got.plt or .got section.  */
-+  if (get_elf_backend_data (abfd)->want_got_plt
-+      && strcmp (name, ".plt") == 0)
-+    {
-+      asection *sec;
-+
-+      name = ".got.plt";
-+      sec = bfd_get_section_by_name (abfd, name);
-+      if (sec != NULL)
-+	return sec;
-+      name = ".got";
-+    }
-+
-+  return bfd_get_section_by_name (abfd, name);
-+}
-+
-+/* Return the section to which RELOC_SEC applies.  */
-+
-+static asection *
-+elf_get_reloc_section (asection *reloc_sec)
- {
-   const char *name;
-   unsigned int type;
-   bfd *abfd;
--
--  if (reloc_sec == NULL)
--    return NULL;
-+  const struct elf_backend_data *bed;
- 
-   type = elf_section_data (reloc_sec)->this_hdr.sh_type;
-   if (type != SHT_REL && type != SHT_RELA)
-@@ -3550,28 +3572,15 @@ _bfd_elf_get_reloc_section (asection *re
- 
-   /* We look up the section the relocs apply to by name.  */
-   name = reloc_sec->name;
--  if (type == SHT_REL)
--    name += 4;
--  else
--    name += 5;
-+  if (strncmp (name, ".rel", 4) != 0)
-+    return NULL;
-+  name += 4;
-+  if (type == SHT_RELA && *name++ != 'a')
-+    return NULL;
- 
--  /* If a target needs .got.plt section, relocations in rela.plt/rel.plt
--     section apply to .got.plt section.  */
-   abfd = reloc_sec->owner;
--  if (get_elf_backend_data (abfd)->want_got_plt
--      && strcmp (name, ".plt") == 0)
--    {
--      /* .got.plt is a linker created input section.  It may be mapped
--	 to some other output section.  Try two likely sections.  */
--      name = ".got.plt";
--      reloc_sec = bfd_get_section_by_name (abfd, name);
--      if (reloc_sec != NULL)
--	return reloc_sec;
--      name = ".got";
--    }
--
--  reloc_sec = bfd_get_section_by_name (abfd, name);
--  return reloc_sec;
-+  bed = get_elf_backend_data (abfd);
-+  return bed->get_reloc_section (abfd, name);
- }
- 
- /* Assign all ELF section numbers.  The dummy first section is handled here
-@@ -3833,7 +3842,7 @@ assign_section_numbers (bfd *abfd, struc
- 	  if (s != NULL)
- 	    d->this_hdr.sh_link = elf_section_data (s)->this_idx;
- 
--	  s = get_elf_backend_data (abfd)->get_reloc_section (sec);
-+	  s = elf_get_reloc_section (sec);
- 	  if (s != NULL)
- 	    {
- 	      d->this_hdr.sh_info = elf_section_data (s)->this_idx;
-Index: git/bfd/elf64-ppc.c
-===================================================================
---- git.orig/bfd/elf64-ppc.c
-+++ git/bfd/elf64-ppc.c
-@@ -121,6 +121,7 @@ static bfd_vma opd_entry_value
- #define elf_backend_special_sections	      ppc64_elf_special_sections
- #define elf_backend_merge_symbol_attribute    ppc64_elf_merge_symbol_attribute
- #define elf_backend_merge_symbol	      ppc64_elf_merge_symbol
-+#define elf_backend_get_reloc_section	      bfd_get_section_by_name
- 
- /* The name of the dynamic interpreter.  This is put in the .interp
-    section.  */
-Index: git/bfd/elfxx-target.h
-===================================================================
---- git.orig/bfd/elfxx-target.h
-+++ git/bfd/elfxx-target.h
-@@ -706,7 +706,7 @@
- #endif
- 
- #ifndef elf_backend_get_reloc_section
--#define elf_backend_get_reloc_section _bfd_elf_get_reloc_section
-+#define elf_backend_get_reloc_section _bfd_elf_plt_get_reloc_section
- #endif
- 
- #ifndef elf_backend_copy_special_section_fields
-Index: git/bfd/ChangeLog
-===================================================================
---- git.orig/bfd/ChangeLog
-+++ git/bfd/ChangeLog
-@@ -1,3 +1,18 @@
-+2017-04-23  Alan Modra  <amodra@gmail.com>
-+ 
-+       PR 21412
-+       * elf-bfd.h (struct elf_backend_data <get_reloc_section>): Change
-+       parameters and comment.
-+       (_bfd_elf_get_reloc_section): Delete.
-+       (_bfd_elf_plt_get_reloc_section): Declare.
-+       * elf.c (_bfd_elf_plt_get_reloc_section, elf_get_reloc_section):
-+       New functions.  Don't blindly skip over assumed .rel/.rela prefix.
-+       Extracted from..
-+       (_bfd_elf_get_reloc_section): ..here.  Delete.
-+       (assign_section_numbers): Call elf_get_reloc_section.
-+       * elf64-ppc.c (elf_backend_get_reloc_section): Define.
-+       * elfxx-target.h (elf_backend_get_reloc_section): Update.
-+
- 2017-04-04  Nick Clifton  <nickc@redhat.com>
- 
-        PR binutils/21342
diff --git a/import-layers/yocto-poky/meta/recipes-devtools/binutils/binutils/CVE-2017-8394.patch b/import-layers/yocto-poky/meta/recipes-devtools/binutils/binutils/CVE-2017-8394.patch
deleted file mode 100644
index e6c6b17..0000000
--- a/import-layers/yocto-poky/meta/recipes-devtools/binutils/binutils/CVE-2017-8394.patch
+++ /dev/null
@@ -1,118 +0,0 @@
-From 7eacd66b086cabb1daab20890d5481894d4f56b2 Mon Sep 17 00:00:00 2001
-From: Alan Modra <amodra@gmail.com>
-Date: Sun, 23 Apr 2017 15:21:11 +0930
-Subject: [PATCH] PR 21414, null pointer deref of _bfd_elf_large_com_section
- sym
-
-	PR 21414
-	* section.c (GLOBAL_SYM_INIT): Make available in bfd.h.
-	* elf.c (lcomm_sym): New.
-	(_bfd_elf_large_com_section): Use lcomm_sym section symbol.
-	* bfd-in2.h: Regenerate.
-
-Upstream-Status: Backport
-CVE: CVE-2017-8394
-Signed-off-by: Armin Kuster <akuster@mvista.com>
-
----
- bfd/ChangeLog |  8 ++++++++
- bfd/bfd-in2.h | 12 ++++++++++++
- bfd/elf.c     |  6 ++++--
- bfd/section.c | 24 ++++++++++++------------
- 4 files changed, 36 insertions(+), 14 deletions(-)
-
-Index: git/bfd/bfd-in2.h
-===================================================================
---- git.orig/bfd/bfd-in2.h
-+++ git/bfd/bfd-in2.h
-@@ -1838,6 +1838,18 @@ extern asection _bfd_std_section[4];
-      { NULL }, { NULL }                                                \
-     }
- 
-+/* We use a macro to initialize the static asymbol structures because
-+   traditional C does not permit us to initialize a union member while
-+   gcc warns if we don't initialize it.
-+   the_bfd, name, value, attr, section [, udata]  */
-+#ifdef __STDC__
-+#define GLOBAL_SYM_INIT(NAME, SECTION) \
-+  { 0, NAME, 0, BSF_SECTION_SYM, SECTION, { 0 }}
-+#else
-+#define GLOBAL_SYM_INIT(NAME, SECTION) \
-+  { 0, NAME, 0, BSF_SECTION_SYM, SECTION }
-+#endif
-+
- void bfd_section_list_clear (bfd *);
- 
- asection *bfd_get_section_by_name (bfd *abfd, const char *name);
-Index: git/bfd/elf.c
-===================================================================
---- git.orig/bfd/elf.c
-+++ git/bfd/elf.c
-@@ -11164,9 +11164,11 @@ _bfd_elf_get_synthetic_symtab (bfd *abfd
- 
- /* It is only used by x86-64 so far.
-    ??? This repeats *COM* id of zero.  sec->id is supposed to be unique,
--   but current usage would allow all of _bfd_std_section to be zero.  t*/
-+   but current usage would allow all of _bfd_std_section to be zero.  */
-+static const asymbol lcomm_sym
-+  = GLOBAL_SYM_INIT ("LARGE_COMMON", &_bfd_elf_large_com_section);
- asection _bfd_elf_large_com_section
--  = BFD_FAKE_SECTION (_bfd_elf_large_com_section, NULL,
-+  = BFD_FAKE_SECTION (_bfd_elf_large_com_section, &lcomm_sym,
- 		      "LARGE_COMMON", 0, SEC_IS_COMMON);
- 
- void
-Index: git/bfd/section.c
-===================================================================
---- git.orig/bfd/section.c
-+++ git/bfd/section.c
-@@ -738,20 +738,20 @@ CODE_FRAGMENT
- .     { NULL }, { NULL }						\
- .    }
- .
-+.{* We use a macro to initialize the static asymbol structures because
-+.   traditional C does not permit us to initialize a union member while
-+.   gcc warns if we don't initialize it.
-+.   the_bfd, name, value, attr, section [, udata]  *}
-+.#ifdef __STDC__
-+.#define GLOBAL_SYM_INIT(NAME, SECTION) \
-+.  { 0, NAME, 0, BSF_SECTION_SYM, SECTION, { 0 }}
-+.#else
-+.#define GLOBAL_SYM_INIT(NAME, SECTION) \
-+.  { 0, NAME, 0, BSF_SECTION_SYM, SECTION }
-+.#endif
-+.
- */
- 
--/* We use a macro to initialize the static asymbol structures because
--   traditional C does not permit us to initialize a union member while
--   gcc warns if we don't initialize it.  */
-- /* the_bfd, name, value, attr, section [, udata] */
--#ifdef __STDC__
--#define GLOBAL_SYM_INIT(NAME, SECTION) \
--  { 0, NAME, 0, BSF_SECTION_SYM, SECTION, { 0 }}
--#else
--#define GLOBAL_SYM_INIT(NAME, SECTION) \
--  { 0, NAME, 0, BSF_SECTION_SYM, SECTION }
--#endif
--
- /* These symbols are global, not specific to any BFD.  Therefore, anything
-    that tries to change them is broken, and should be repaired.  */
- 
-Index: git/bfd/ChangeLog
-===================================================================
---- git.orig/bfd/ChangeLog
-+++ git/bfd/ChangeLog
-@@ -1,4 +1,12 @@
-+
- 2017-04-23  Alan Modra  <amodra@gmail.com>
-+       PR 21414
-+       * section.c (GLOBAL_SYM_INIT): Make available in bfd.h.
-+       * elf.c (lcomm_sym): New.
-+       (_bfd_elf_large_com_section): Use lcomm_sym section symbol.
-+       * bfd-in2.h: Regenerate.
-+
-++2017-04-23  Alan Modra  <amodra@gmail.com>
-  
-        PR 21412
-        * elf-bfd.h (struct elf_backend_data <get_reloc_section>): Change
diff --git a/import-layers/yocto-poky/meta/recipes-devtools/binutils/binutils/CVE-2017-8395.patch b/import-layers/yocto-poky/meta/recipes-devtools/binutils/binutils/CVE-2017-8395.patch
deleted file mode 100644
index 0a9bce3..0000000
--- a/import-layers/yocto-poky/meta/recipes-devtools/binutils/binutils/CVE-2017-8395.patch
+++ /dev/null
@@ -1,72 +0,0 @@
-From e63d123268f23a4cbc45ee55fb6dbc7d84729da3 Mon Sep 17 00:00:00 2001
-From: Nick Clifton <nickc@redhat.com>
-Date: Wed, 26 Apr 2017 13:07:49 +0100
-Subject: [PATCH] Fix seg-fault attempting to compress a debug section in a
- corrupt binary.
-
-	PR binutils/21431
-	* compress.c (bfd_init_section_compress_status): Check the return
-	value from bfd_malloc.
-
-Upstream-Status: Backport
-CVE: CVE-2017-8395
-Signed-off-by: Armin Kuster <akuster@mvista.com>
-
----
- bfd/ChangeLog  |  6 ++++++
- bfd/compress.c | 19 +++++++++----------
- 2 files changed, 15 insertions(+), 10 deletions(-)
-
-Index: git/bfd/compress.c
-===================================================================
---- git.orig/bfd/compress.c
-+++ git/bfd/compress.c
-@@ -542,7 +542,6 @@ bfd_init_section_compress_status (bfd *a
- {
-   bfd_size_type uncompressed_size;
-   bfd_byte *uncompressed_buffer;
--  bfd_boolean ret;
- 
-   /* Error if not opened for read.  */
-   if (abfd->direction != read_direction
-@@ -558,18 +557,18 @@ bfd_init_section_compress_status (bfd *a
-   /* Read in the full section contents and compress it.  */
-   uncompressed_size = sec->size;
-   uncompressed_buffer = (bfd_byte *) bfd_malloc (uncompressed_size);
-+  /* PR 21431 */
-+  if (uncompressed_buffer == NULL)
-+    return FALSE;
-+
-   if (!bfd_get_section_contents (abfd, sec, uncompressed_buffer,
- 				 0, uncompressed_size))
--    ret = FALSE;
--  else
--    {
--      uncompressed_size = bfd_compress_section_contents (abfd, sec,
--							 uncompressed_buffer,
--							 uncompressed_size);
--      ret = uncompressed_size != 0;
--    }
-+    return FALSE;
- 
--  return ret;
-+  uncompressed_size = bfd_compress_section_contents (abfd, sec,
-+						     uncompressed_buffer,
-+						     uncompressed_size);
-+  return uncompressed_size != 0;
- }
- 
- /*
-Index: git/bfd/ChangeLog
-===================================================================
---- git.orig/bfd/ChangeLog
-+++ git/bfd/ChangeLog
-@@ -1,3 +1,8 @@
-+2017-04-26  Nick Clifton  <nickc@redhat.com>
-+
-+       PR binutils/21431
-+       * compress.c (bfd_init_section_compress_status): Check the return
-+       value from bfd_malloc.
- 
- 2017-04-23  Alan Modra  <amodra@gmail.com>
-        PR 21414
diff --git a/import-layers/yocto-poky/meta/recipes-devtools/binutils/binutils/CVE-2017-8396_8397.patch b/import-layers/yocto-poky/meta/recipes-devtools/binutils/binutils/CVE-2017-8396_8397.patch
deleted file mode 100644
index 14f4282..0000000
--- a/import-layers/yocto-poky/meta/recipes-devtools/binutils/binutils/CVE-2017-8396_8397.patch
+++ /dev/null
@@ -1,102 +0,0 @@
-From a941291cab71b9ac356e1c03968c177c03e602ab Mon Sep 17 00:00:00 2001
-From: Alan Modra <amodra@gmail.com>
-Date: Sat, 29 Apr 2017 14:48:16 +0930
-Subject: [PATCH] PR21432, buffer overflow in perform_relocation
-
-The existing reloc offset range tests didn't catch small negative
-offsets less than the size of the reloc field.
-
-	PR 21432
-	* reloc.c (reloc_offset_in_range): New function.
-	(bfd_perform_relocation, bfd_install_relocation): Use it.
-	(_bfd_final_link_relocate): Likewise.
-
-Upstream-Status: Backport
-CVE: CVE-2017-8396
-CVE: CVE-2017-8397
-Signed-off-by: Armin Kuster <akuster@mvista.com>
-
----
- bfd/ChangeLog |  7 +++++++
- bfd/reloc.c   | 32 ++++++++++++++++++++------------
- 2 files changed, 27 insertions(+), 12 deletions(-)
-
-Index: git/bfd/reloc.c
-===================================================================
---- git.orig/bfd/reloc.c
-+++ git/bfd/reloc.c
-@@ -538,6 +538,22 @@ bfd_check_overflow (enum complain_overfl
-   return flag;
- }
- 
-+/* HOWTO describes a relocation, at offset OCTET.  Return whether the
-+   relocation field is within SECTION of ABFD.  */
-+
-+static bfd_boolean
-+reloc_offset_in_range (reloc_howto_type *howto, bfd *abfd,
-+		       asection *section, bfd_size_type octet)
-+{
-+  bfd_size_type octet_end = bfd_get_section_limit_octets (abfd, section);
-+  bfd_size_type reloc_size = bfd_get_reloc_size (howto);
-+
-+  /* The reloc field must be contained entirely within the section.
-+     Allow zero length fields (marker relocs or NONE relocs where no
-+     relocation will be performed) at the end of the section.  */
-+  return octet <= octet_end && octet + reloc_size <= octet_end;
-+}
-+
- /*
- FUNCTION
- 	bfd_perform_relocation
-@@ -618,13 +634,10 @@ bfd_perform_relocation (bfd *abfd,
-   /* PR 17512: file: 0f67f69d.  */
-   if (howto == NULL)
-     return bfd_reloc_undefined;
--
--  /* Is the address of the relocation really within the section?
--     Include the size of the reloc in the test for out of range addresses.
--     PR 17512: file: c146ab8b, 46dff27f, 38e53ebf.  */
-+  
-+  /* Is the address of the relocation really within the section?  */
-   octets = reloc_entry->address * bfd_octets_per_byte (abfd);
--  if (octets + bfd_get_reloc_size (howto)
--      > bfd_get_section_limit_octets (abfd, input_section))
-+  if (!reloc_offset_in_range (howto, abfd, input_section, octets))
-     return bfd_reloc_outofrange;
- 
-   /* Work out which section the relocation is targeted at and the
-@@ -1012,8 +1025,7 @@ bfd_install_relocation (bfd *abfd,
- 
-   /* Is the address of the relocation really within the section?  */
-   octets = reloc_entry->address * bfd_octets_per_byte (abfd);
--  if (octets + bfd_get_reloc_size (howto)
--      > bfd_get_section_limit_octets (abfd, input_section))
-+  if (!reloc_offset_in_range (howto, abfd, input_section, octets))
-     return bfd_reloc_outofrange;
- 
-   /* Work out which section the relocation is targeted at and the
-@@ -1351,8 +1363,7 @@ _bfd_final_link_relocate (reloc_howto_ty
-   bfd_size_type octets = address * bfd_octets_per_byte (input_bfd);
- 
-   /* Sanity check the address.  */
--  if (octets + bfd_get_reloc_size (howto)
--      > bfd_get_section_limit_octets (input_bfd, input_section))
-+  if (!reloc_offset_in_range (howto, input_bfd, input_section, octets))
-     return bfd_reloc_outofrange;
- 
-   /* This function assumes that we are dealing with a basic relocation
-Index: git/bfd/ChangeLog
-===================================================================
---- git.orig/bfd/ChangeLog
-+++ git/bfd/ChangeLog
-@@ -1,3 +1,10 @@
-+2017-04-29  Alan Modra  <amodra@gmail.com>
-+
-+       PR 21432
-+       * reloc.c (reloc_offset_in_range): New function.
-+       (bfd_perform_relocation, bfd_install_relocation): Use it.
-+       (_bfd_final_link_relocate): Likewise.
-+
- 2017-04-26  Nick Clifton  <nickc@redhat.com>
- 
-        PR binutils/21431
diff --git a/import-layers/yocto-poky/meta/recipes-devtools/binutils/binutils/CVE-2017-8398.patch b/import-layers/yocto-poky/meta/recipes-devtools/binutils/binutils/CVE-2017-8398.patch
deleted file mode 100644
index 5b9acc8..0000000
--- a/import-layers/yocto-poky/meta/recipes-devtools/binutils/binutils/CVE-2017-8398.patch
+++ /dev/null
@@ -1,147 +0,0 @@
-From d949ff5607b9f595e0eed2ff15fbe5eb84eb3a34 Mon Sep 17 00:00:00 2001
-From: Nick Clifton <nickc@redhat.com>
-Date: Fri, 28 Apr 2017 10:28:04 +0100
-Subject: [PATCH] Fix heap-buffer overflow bugs caused when dumping debug
- information from a corrupt binary.
-
-	PR binutils/21438
-	* dwarf.c (process_extended_line_op): Do not assume that the
-	string extracted from the section is NUL terminated.
-	(fetch_indirect_string): If the string retrieved from the section
-	is not NUL terminated, return an error message.
-	(fetch_indirect_line_string): Likewise.
-	(fetch_indexed_string): Likewise.
-
-Upstream-Status: Backport
-CVE: CVE-2017-8398
-Signed-off-by: Armin Kuster <akuster@mvista.com>
-
----
- binutils/ChangeLog | 10 +++++++++
- binutils/dwarf.c   | 66 +++++++++++++++++++++++++++++++++++++++++-------------
- 2 files changed, 60 insertions(+), 16 deletions(-)
-
-Index: git/binutils/dwarf.c
-===================================================================
---- git.orig/binutils/dwarf.c
-+++ git/binutils/dwarf.c
-@@ -472,15 +472,20 @@ process_extended_line_op (unsigned char
-       printf (_("  Entry\tDir\tTime\tSize\tName\n"));
-       printf ("   %d\t", ++state_machine_regs.last_file_entry);
- 
--      name = data;
--      data += strnlen ((char *) data, end - data) + 1;
--      printf ("%s\t", dwarf_vmatoa ("u", read_uleb128 (data, & bytes_read, end)));
--      data += bytes_read;
--      printf ("%s\t", dwarf_vmatoa ("u", read_uleb128 (data, & bytes_read, end)));
--      data += bytes_read;
--      printf ("%s\t", dwarf_vmatoa ("u", read_uleb128 (data, & bytes_read, end)));
--      data += bytes_read;
--      printf ("%s\n\n", name);
-+      {
-+	size_t l;
-+
-+	name = data;
-+	l = strnlen ((char *) data, end - data);
-+	data += len + 1;
-+	printf ("%s\t", dwarf_vmatoa ("u", read_uleb128 (data, & bytes_read, end)));
-+	data += bytes_read;
-+	printf ("%s\t", dwarf_vmatoa ("u", read_uleb128 (data, & bytes_read, end)));
-+	data += bytes_read;
-+	printf ("%s\t", dwarf_vmatoa ("u", read_uleb128 (data, & bytes_read, end)));
-+	data += bytes_read;
-+	printf ("%.*s\n\n", (int) l, name);
-+      }
- 
-       if (((unsigned int) (data - orig_data) != len) || data == end)
- 	warn (_("DW_LNE_define_file: Bad opcode length\n"));
-@@ -597,18 +602,27 @@ static const unsigned char *
- fetch_indirect_string (dwarf_vma offset)
- {
-   struct dwarf_section *section = &debug_displays [str].section;
-+  const unsigned char * ret;
- 
-   if (section->start == NULL)
-     return (const unsigned char *) _("<no .debug_str section>");
- 
--  if (offset > section->size)
-+  if (offset >= section->size)
-     {
-       warn (_("DW_FORM_strp offset too big: %s\n"),
- 	    dwarf_vmatoa ("x", offset));
-       return (const unsigned char *) _("<offset is too big>");
-     }
-+  ret = section->start + offset;
-+  /* Unfortunately we cannot rely upon the .debug_str section ending with a
-+     NUL byte.  Since our caller is expecting to receive a well formed C
-+     string we test for the lack of a terminating byte here.  */
-+  if (strnlen ((const char *) ret, section->size - offset)
-+      == section->size - offset)
-+    ret = (const unsigned char *)
-+      _("<no NUL byte at end of .debug_str section>");
- 
--  return (const unsigned char *) section->start + offset;
-+  return ret; 
- }
- 
- static const char *
-@@ -621,6 +635,7 @@ fetch_indexed_string (dwarf_vma idx, str
-   struct dwarf_section *str_section = &debug_displays [str_sec_idx].section;
-   dwarf_vma index_offset = idx * offset_size;
-   dwarf_vma str_offset;
-+  const char * ret;
- 
-   if (index_section->start == NULL)
-     return (dwo ? _("<no .debug_str_offsets.dwo section>")
-@@ -628,7 +643,7 @@ fetch_indexed_string (dwarf_vma idx, str
- 
-   if (this_set != NULL)
-     index_offset += this_set->section_offsets [DW_SECT_STR_OFFSETS];
--  if (index_offset > index_section->size)
-+  if (index_offset >= index_section->size)
-     {
-       warn (_("DW_FORM_GNU_str_index offset too big: %s\n"),
- 	    dwarf_vmatoa ("x", index_offset));
-@@ -641,14 +656,22 @@ fetch_indexed_string (dwarf_vma idx, str
- 
-   str_offset = byte_get (index_section->start + index_offset, offset_size);
-   str_offset -= str_section->address;
--  if (str_offset > str_section->size)
-+  if (str_offset >= str_section->size)
-     {
-       warn (_("DW_FORM_GNU_str_index indirect offset too big: %s\n"),
- 	    dwarf_vmatoa ("x", str_offset));
-       return _("<indirect index offset is too big>");
-     }
- 
--  return (const char *) str_section->start + str_offset;
-+  ret = (const char *) str_section->start + str_offset;
-+  /* Unfortunately we cannot rely upon str_section ending with a NUL byte.
-+     Since our caller is expecting to receive a well formed C string we test
-+     for the lack of a terminating byte here.  */
-+  if (strnlen (ret, str_section->size - str_offset)
-+      == str_section->size - str_offset)
-+    ret = (const char *) _("<no NUL byte at end of section>");
-+
-+  return ret;
- }
- 
- static const char *
-Index: git/binutils/ChangeLog
-===================================================================
---- git.orig/binutils/ChangeLog
-+++ git/binutils/ChangeLog
-@@ -1,3 +1,13 @@
-+2017-04-28  Nick Clifton  <nickc@redhat.com>
-+
-+       PR binutils/21438
-+       * dwarf.c (process_extended_line_op): Do not assume that the
-+       string extracted from the section is NUL terminated.
-+       (fetch_indirect_string): If the string retrieved from the section
-+       is not NUL terminated, return an error message.
-+       (fetch_indirect_line_string): Likewise.
-+       (fetch_indexed_string): Likewise.
-+
- 2017-02-14  Nick Clifton  <nickc@redhat.com>
- 
- 	PR binutils/21157
diff --git a/import-layers/yocto-poky/meta/recipes-devtools/binutils/binutils/CVE-2017-8421.patch b/import-layers/yocto-poky/meta/recipes-devtools/binutils/binutils/CVE-2017-8421.patch
deleted file mode 100644
index 7969c66..0000000
--- a/import-layers/yocto-poky/meta/recipes-devtools/binutils/binutils/CVE-2017-8421.patch
+++ /dev/null
@@ -1,52 +0,0 @@
-From 39ff1b79f687b65f4144ddb379f22587003443fb Mon Sep 17 00:00:00 2001
-From: Nick Clifton <nickc@redhat.com>
-Date: Tue, 2 May 2017 11:54:53 +0100
-Subject: [PATCH] Prevent memory exhaustion from a corrupt PE binary with an
- overlarge number of relocs.
-
-	PR 21440
-	* objdump.c (dump_relocs_in_section): Check for an excessive
-	number of relocs before attempting to dump them.
-
-Upstream-Status: Backport
-CVE: CVE-2017-8421
-Signed-off-by: Armin Kuster <akuster@mvista.com>
-
----
- binutils/ChangeLog | 6 ++++++
- binutils/objdump.c | 8 ++++++++
- 2 files changed, 14 insertions(+)
-
-Index: git/binutils/objdump.c
-===================================================================
---- git.orig/binutils/objdump.c
-+++ git/binutils/objdump.c
-@@ -3311,6 +3311,14 @@ dump_relocs_in_section (bfd *abfd,
-       return;
-     }
- 
-+  if ((bfd_get_file_flags (abfd) & (BFD_IN_MEMORY | BFD_LINKER_CREATED)) == 0
-+      && relsize > get_file_size (bfd_get_filename (abfd)))
-+    {
-+      printf (" (too many: 0x%x)\n", section->reloc_count);
-+      bfd_set_error (bfd_error_file_truncated);
-+      bfd_fatal (bfd_get_filename (abfd));
-+    }
-+
-   relpp = (arelent **) xmalloc (relsize);
-   relcount = bfd_canonicalize_reloc (abfd, section, relpp, syms);
- 
-Index: git/binutils/ChangeLog
-===================================================================
---- git.orig/binutils/ChangeLog
-+++ git/binutils/ChangeLog
-@@ -1,3 +1,9 @@
-+2017-05-02  Nick Clifton  <nickc@redhat.com>
-+
-+       PR 21440
-+       * objdump.c (dump_relocs_in_section): Check for an excessive
-+       number of relocs before attempting to dump them.
-+
- 2017-04-28  Nick Clifton  <nickc@redhat.com>
- 
-        PR binutils/21438
diff --git a/import-layers/yocto-poky/meta/recipes-devtools/binutils/binutils/CVE-2017-9038_9044.patch b/import-layers/yocto-poky/meta/recipes-devtools/binutils/binutils/CVE-2017-9038_9044.patch
deleted file mode 100644
index 535efc3..0000000
--- a/import-layers/yocto-poky/meta/recipes-devtools/binutils/binutils/CVE-2017-9038_9044.patch
+++ /dev/null
@@ -1,51 +0,0 @@
-From f32ba72991d2406b21ab17edc234a2f3fa7fb23d Mon Sep 17 00:00:00 2001
-From: Nick Clifton <nickc@redhat.com>
-Date: Mon, 3 Apr 2017 11:01:45 +0100
-Subject: [PATCH] readelf: Update check for invalid word offsets in ARM unwind
- information.
-
-	PR binutils/21343
-	* readelf.c (get_unwind_section_word): Fix snafu checking for
-	invalid word offsets in ARM unwind information.
-
-Upstream-Status: Backport
-CVE: CVE-2017-9038
-CVE: CVE-2017-9044
-Signed-off-by: Armin Kuster <akuster@mvista.com>
-
----
- binutils/ChangeLog | 6 ++++++
- binutils/readelf.c | 6 +++---
- 2 files changed, 9 insertions(+), 3 deletions(-)
-
-Index: git/binutils/readelf.c
-===================================================================
---- git.orig/binutils/readelf.c
-+++ git/binutils/readelf.c
-@@ -7972,9 +7972,9 @@ get_unwind_section_word (struct arm_unw_
-     return FALSE;
- 
-   /* If the offset is invalid then fail.  */
--  if (word_offset > (sec->sh_size - 4)
--      /* PR 18879 */
--      || (sec->sh_size < 5 && word_offset >= sec->sh_size)
-+  if (/* PR 21343 *//* PR 18879 */
-+      sec->sh_size < 4
-+      || word_offset > (sec->sh_size - 4)
-       || ((bfd_signed_vma) word_offset) < 0)
-     return FALSE;
- 
-Index: git/binutils/ChangeLog
-===================================================================
---- git.orig/binutils/ChangeLog
-+++ git/binutils/ChangeLog
-@@ -1,3 +1,9 @@
-+2017-04-03  Nick Clifton  <nickc@redhat.com>
-+
-+       PR binutils/21343
-+       * readelf.c (get_unwind_section_word): Fix snafu checking for
-+       invalid word offsets in ARM unwind information.
-+
- 2017-05-02  Nick Clifton  <nickc@redhat.com>
- 
-        PR 21440
diff --git a/import-layers/yocto-poky/meta/recipes-devtools/binutils/binutils/CVE-2017-9039.patch b/import-layers/yocto-poky/meta/recipes-devtools/binutils/binutils/CVE-2017-9039.patch
deleted file mode 100644
index aed8f7f..0000000
--- a/import-layers/yocto-poky/meta/recipes-devtools/binutils/binutils/CVE-2017-9039.patch
+++ /dev/null
@@ -1,61 +0,0 @@
-From 82156ab704b08b124d319c0decdbd48b3ca2dac5 Mon Sep 17 00:00:00 2001
-From: Nick Clifton <nickc@redhat.com>
-Date: Mon, 3 Apr 2017 12:14:06 +0100
-Subject: [PATCH] readelf: Fix overlarge memory allocation when reading a
- binary with an excessive number of program headers.
-
-	PR binutils/21345
-	* readelf.c (get_program_headers): Check for there being too many
-	program headers before attempting to allocate space for them.
-
-Upstream-Status: Backport
-CVE: CVE-2017-9039
-Signed-off-by: Armin Kuster <akuster@mvista.com>
-
----
- binutils/ChangeLog |  6 ++++++
- binutils/readelf.c | 17 ++++++++++++++---
- 2 files changed, 20 insertions(+), 3 deletions(-)
-
-Index: git/binutils/readelf.c
-===================================================================
---- git.orig/binutils/readelf.c
-+++ git/binutils/readelf.c
-@@ -4765,9 +4765,19 @@ get_program_headers (FILE * file)
-   if (program_headers != NULL)
-     return 1;
- 
--  phdrs = (Elf_Internal_Phdr *) cmalloc (elf_header.e_phnum,
--                                         sizeof (Elf_Internal_Phdr));
-+  /* Be kind to memory checkers by looking for
-+     e_phnum values which we know must be invalid.  */
-+  if (elf_header.e_phnum
-+      * (is_32bit_elf ? sizeof (Elf32_External_Phdr) : sizeof (Elf64_External_Phdr))
-+      >= current_file_size)
-+    {
-+      error (_("Too many program headers - %#x - the file is not that big\n"),
-+	     elf_header.e_phnum);
-+      return FALSE;
-+    }
- 
-+  phdrs = (Elf_Internal_Phdr *) cmalloc (elf_header.e_phnum,
-+					 sizeof (Elf_Internal_Phdr));
-   if (phdrs == NULL)
-     {
-       error (_("Out of memory reading %u program headers\n"),
-Index: git/binutils/ChangeLog
-===================================================================
---- git.orig/binutils/ChangeLog
-+++ git/binutils/ChangeLog
-@@ -1,5 +1,11 @@
- 2017-04-03  Nick Clifton  <nickc@redhat.com>
- 
-+       PR binutils/21345
-+       * readelf.c (get_program_headers): Check for there being too many
-+       program headers before attempting to allocate space for them.
-+
-+2017-04-03  Nick Clifton  <nickc@redhat.com>
-+
-        PR binutils/21343
-        * readelf.c (get_unwind_section_word): Fix snafu checking for
-        invalid word offsets in ARM unwind information.
diff --git a/import-layers/yocto-poky/meta/recipes-devtools/binutils/binutils/CVE-2017-9040_9042.patch b/import-layers/yocto-poky/meta/recipes-devtools/binutils/binutils/CVE-2017-9040_9042.patch
deleted file mode 100644
index 79c6a7d..0000000
--- a/import-layers/yocto-poky/meta/recipes-devtools/binutils/binutils/CVE-2017-9040_9042.patch
+++ /dev/null
@@ -1,57 +0,0 @@
-From 7296a62a2a237f6b1ad8db8c38b090e9f592c8cf Mon Sep 17 00:00:00 2001
-From: Nick Clifton <nickc@redhat.com>
-Date: Thu, 13 Apr 2017 16:06:30 +0100
-Subject: [PATCH] readelf: fix out of range subtraction, seg fault from a NULL
- pointer and memory exhaustion, all from parsing corrupt binaries.
-
-	PR binutils/21379
-	* readelf.c (process_dynamic_section): Detect over large section
-	offsets in the DT_SYMTAB entry.
-
-	PR binutils/21345
-	* readelf.c (process_mips_specific): Catch an unfeasible memory
-	allocation before it happens and print a suitable error message.
-
-Upstream-Status: Backport
-CVE: CVE-2017-9040
-CVE: CVE-2017-9042
-Signed-off-by: Armin Kuster <akuster@mvista.com>
-
----
- binutils/ChangeLog | 12 ++++++++++++
- binutils/readelf.c | 26 +++++++++++++++++++++-----
- 2 files changed, 33 insertions(+), 5 deletions(-)
-
-Index: git/binutils/readelf.c
-===================================================================
---- git.orig/binutils/readelf.c
-+++ git/binutils/readelf.c
-@@ -9306,6 +9306,12 @@ process_dynamic_section (FILE * file)
- 	     processing that.  This is overkill, I know, but it
- 	     should work.  */
- 	  section.sh_offset = offset_from_vma (file, entry->d_un.d_val, 0);
-+	  if ((bfd_size_type) section.sh_offset > current_file_size)
-+	    {
-+	      /* See PR 21379 for a reproducer.  */
-+	      error (_("Invalid DT_SYMTAB entry: %lx"), (long) section.sh_offset);
-+	      return FALSE;
-+	    }
- 
- 	  if (archive_file_offset != 0)
- 	    section.sh_size = archive_file_size - section.sh_offset;
-@@ -15175,6 +15181,15 @@ process_mips_specific (FILE * file)
- 	  return 0;
- 	}
- 
-+      /* PR 21345 - print a slightly more helpful error message
-+	 if we are sure that the cmalloc will fail.  */
-+      if (conflictsno * sizeof (* iconf) > current_file_size)
-+	{
-+	  error (_("Overlarge number of conflicts detected: %lx\n"),
-+		 (long) conflictsno);
-+	  return FALSE;
-+	}
-+
-       iconf = (Elf32_Conflict *) cmalloc (conflictsno, sizeof (* iconf));
-       if (iconf == NULL)
- 	{
diff --git a/import-layers/yocto-poky/meta/recipes-devtools/binutils/binutils/CVE-2017-9742.patch b/import-layers/yocto-poky/meta/recipes-devtools/binutils/binutils/CVE-2017-9742.patch
deleted file mode 100644
index 0c9ed0d..0000000
--- a/import-layers/yocto-poky/meta/recipes-devtools/binutils/binutils/CVE-2017-9742.patch
+++ /dev/null
@@ -1,45 +0,0 @@
-From e64519d1ed7fd8f990f05a5562d5b5c0c44b7d7e Mon Sep 17 00:00:00 2001
-From: Nick Clifton <nickc@redhat.com>
-Date: Wed, 14 Jun 2017 17:10:28 +0100
-Subject: [PATCH] Fix seg-fault when trying to disassemble a corrupt score
- binary.
-
-	PR binutils/21576
-	* score7-dis.c (score_opcodes): Add sentinel.
-
-Upstream-Status: Backport
-CVE: CVE-2017-9742
-Signed-off-by: Armin Kuster <akuster@mvista.com>
-
----
- opcodes/ChangeLog    | 5 +++++
- opcodes/score7-dis.c | 3 ++-
- 2 files changed, 7 insertions(+), 1 deletion(-)
-
-Index: git/opcodes/score7-dis.c
-===================================================================
---- git.orig/opcodes/score7-dis.c
-+++ git/opcodes/score7-dis.c
-@@ -513,7 +513,8 @@ static struct score_opcode score_opcodes
-   {0x00000d05, 0x00007f0f, "tvc!"},
-   {0x00000026, 0x3e0003ff, "xor\t\t%20-24r, %15-19r, %10-14r"},
-   {0x00000027, 0x3e0003ff, "xor.c\t\t%20-24r, %15-19r, %10-14r"},
--  {0x00002007, 0x0000700f, "xor!\t\t%8-11r, %4-7r"}
-+  {0x00002007, 0x0000700f, "xor!\t\t%8-11r, %4-7r"},
-+  { 0, 0, NULL }
- };
- 
- typedef struct
-Index: git/opcodes/ChangeLog
-===================================================================
---- git.orig/opcodes/ChangeLog
-+++ git/opcodes/ChangeLog
-@@ -1,3 +1,8 @@
-+2017-06-14  Nick Clifton  <nickc@redhat.com>
-+
-+       PR binutils/21576
-+       * score7-dis.c (score_opcodes): Add sentinel.
-+
- 2017-03-07  Alan Modra  <amodra@gmail.com>
- 
- 	Apply from master
diff --git a/import-layers/yocto-poky/meta/recipes-devtools/binutils/binutils/CVE-2017-9744.patch b/import-layers/yocto-poky/meta/recipes-devtools/binutils/binutils/CVE-2017-9744.patch
deleted file mode 100644
index c34a5a6..0000000
--- a/import-layers/yocto-poky/meta/recipes-devtools/binutils/binutils/CVE-2017-9744.patch
+++ /dev/null
@@ -1,46 +0,0 @@
-From f461bbd847f15657f3dd2f317c30c75a7520da1f Mon Sep 17 00:00:00 2001
-From: Nick Clifton <nickc@redhat.com>
-Date: Wed, 14 Jun 2017 17:01:54 +0100
-Subject: [PATCH] Fix address violation bug when disassembling a corrupt SH
- binary.
-
-	PR binutils/21578
-	* elf32-sh.c (sh_elf_set_mach_from_flags): Fix check for invalid
-	flag value.
-
-Upstream-Status: Backport
-CVE: CVE-2017-9744
-Signed-off-by: Armin Kuster <akuster@mvista.com>
-
----
- bfd/ChangeLog  | 6 ++++++
- bfd/elf32-sh.c | 2 +-
- 2 files changed, 7 insertions(+), 1 deletion(-)
-
-Index: git/bfd/elf32-sh.c
-===================================================================
---- git.orig/bfd/elf32-sh.c
-+++ git/bfd/elf32-sh.c
-@@ -6344,7 +6344,7 @@ sh_elf_set_mach_from_flags (bfd *abfd)
- {
-   flagword flags = elf_elfheader (abfd)->e_flags & EF_SH_MACH_MASK;
- 
--  if (flags >= sizeof(sh_ef_bfd_table))
-+  if (flags >= ARRAY_SIZE (sh_ef_bfd_table))
-     return FALSE;
- 
-   if (sh_ef_bfd_table[flags] == 0)
-Index: git/bfd/ChangeLog
-===================================================================
---- git.orig/bfd/ChangeLog
-+++ git/bfd/ChangeLog
-@@ -1,3 +1,9 @@
-+2017-06-14  Nick Clifton  <nickc@redhat.com>
-+ 
-+       PR binutils/21578
-+       * elf32-sh.c (sh_elf_set_mach_from_flags): Fix check for invalid
-+       flag value.
-+
- 2017-04-29  Alan Modra  <amodra@gmail.com>
- 
-        PR 21432
diff --git a/import-layers/yocto-poky/meta/recipes-devtools/binutils/binutils/CVE-2017-9745.patch b/import-layers/yocto-poky/meta/recipes-devtools/binutils/binutils/CVE-2017-9745.patch
deleted file mode 100644
index 0b3885b..0000000
--- a/import-layers/yocto-poky/meta/recipes-devtools/binutils/binutils/CVE-2017-9745.patch
+++ /dev/null
@@ -1,35 +0,0 @@
-From 76800cba595efc3fe95a446c2d664e42ae4ee869 Mon Sep 17 00:00:00 2001
-From: Nick Clifton <nickc@redhat.com>
-Date: Thu, 15 Jun 2017 12:08:57 +0100
-Subject: [PATCH] Handle EITR records in VMS Alpha binaries with overlarge
- command length parameters.
-
-	PR binutils/21579
-	* vms-alpha.c (_bfd_vms_slurp_etir): Extend check of cmd_length.
-
-Upstream-Status: Backport
-CVE: CVE-2017-9745
-Signed-off-by: Armin Kuster <akuster@mvista.com>
-
----
- bfd/ChangeLog   |  5 +++++
- bfd/vms-alpha.c | 16 ++++++++--------
- 2 files changed, 13 insertions(+), 8 deletions(-)
-
-Index: git/bfd/vms-alpha.c
-===================================================================
---- git.orig/bfd/vms-alpha.c
-+++ git/bfd/vms-alpha.c
-@@ -1741,6 +1741,12 @@ _bfd_vms_slurp_etir (bfd *abfd, struct b
-       _bfd_hexdump (8, ptr, cmd_length - 4, 0);
- #endif
- 
-+#if VMS_DEBUG
-+      _bfd_vms_debug (4, "etir: %s(%d)\n",
-+                      _bfd_vms_etir_name (cmd), cmd);
-+      _bfd_hexdump (8, ptr, cmd_length - 4, 0);
-+#endif
-+
-       switch (cmd)
-         {
-           /* Stack global
diff --git a/import-layers/yocto-poky/meta/recipes-devtools/binutils/binutils/CVE-2017-9746.patch b/import-layers/yocto-poky/meta/recipes-devtools/binutils/binutils/CVE-2017-9746.patch
deleted file mode 100644
index bd4a40c..0000000
--- a/import-layers/yocto-poky/meta/recipes-devtools/binutils/binutils/CVE-2017-9746.patch
+++ /dev/null
@@ -1,91 +0,0 @@
-From ae87f7e73eba29bd38b3a9684a10b948ed715612 Mon Sep 17 00:00:00 2001
-From: Nick Clifton <nickc@redhat.com>
-Date: Wed, 14 Jun 2017 16:50:03 +0100
-Subject: [PATCH] Fix address violation when disassembling a corrupt binary.
-
-	PR binutils/21580
-binutils * objdump.c (disassemble_bytes): Check for buffer overrun when
-	printing out rae insns.
-
-ld	* testsuite/ld-nds32/diff.d: Adjust expected output.
-
-Upstream-Status: Backport
-CVE: CVE-2017-9746
-Signed-off-by: Armin Kuster <akuster@mvista.com>
-
----
- binutils/objdump.c           | 27 +++++++++++++++------------
- ld/ChangeLog                 |  5 +++++
- ld/testsuite/ld-nds32/diff.d |  6 +++---
- 3 files changed, 23 insertions(+), 15 deletions(-)
-
-Index: git/binutils/objdump.c
-===================================================================
---- git.orig/binutils/objdump.c
-+++ git/binutils/objdump.c
-@@ -1855,20 +1855,23 @@ disassemble_bytes (struct disassemble_in
- 
- 	      for (j = addr_offset * opb; j < addr_offset * opb + pb; j += bpc)
- 		{
--		  int k;
--
--		  if (bpc > 1 && inf->display_endian == BFD_ENDIAN_LITTLE)
--		    {
--		      for (k = bpc - 1; k >= 0; k--)
--			printf ("%02x", (unsigned) data[j + k]);
--		      putchar (' ');
--		    }
--		  else
-+		  /* PR 21580: Check for a buffer ending early.  */
-+		  if (j + bpc <= stop_offset * opb)
- 		    {
--		      for (k = 0; k < bpc; k++)
--			printf ("%02x", (unsigned) data[j + k]);
--		      putchar (' ');
-+		      int k;
-+
-+		      if (inf->display_endian == BFD_ENDIAN_LITTLE)
-+			{
-+			  for (k = bpc - 1; k >= 0; k--)
-+			    printf ("%02x", (unsigned) data[j + k]);
-+			}
-+		      else
-+			{
-+			  for (k = 0; k < bpc; k++)
-+			    printf ("%02x", (unsigned) data[j + k]);
-+			}
- 		    }
-+		  putchar (' ');
- 		}
- 
- 	      for (; pb < octets_per_line; pb += bpc)
-Index: git/ld/testsuite/ld-nds32/diff.d
-===================================================================
---- git.orig/ld/testsuite/ld-nds32/diff.d
-+++ git/ld/testsuite/ld-nds32/diff.d
-@@ -7,9 +7,9 @@
- 
- Disassembly of section .data:
- 00008000 <WORD> (7e 00 00 00|00 00 00 7e).*
--00008004 <HALF> (7e 00 7e fe|00 7e 7e fe).*
--00008006 <BYTE> 7e fe 00 fe.*
--00008007 <ULEB128> fe 00.*
-+00008004 <HALF> (7e 00|00 7e).*
-+00008006 <BYTE> 7e.*
-+00008007 <ULEB128> fe.*
- 	...
- 00008009 <ULEB128_2> fe 00.*
- .*
-Index: git/ld/ChangeLog
-===================================================================
---- git.orig/ld/ChangeLog
-+++ git/ld/ChangeLog
-@@ -1,3 +1,8 @@
-+2017-06-14  Nick Clifton  <nickc@redhat.com>
-+
-+       PR binutils/21580
-+       * testsuite/ld-nds32/diff.d: Adjust expected output.
-+
- 2017-03-07  Alan Modra  <amodra@gmail.com>
- 
- 	* ldlang.c (open_input_bfds): Check that lang_assignment_statement
diff --git a/import-layers/yocto-poky/meta/recipes-devtools/binutils/binutils/CVE-2017-9747.patch b/import-layers/yocto-poky/meta/recipes-devtools/binutils/binutils/CVE-2017-9747.patch
deleted file mode 100644
index 41ead54..0000000
--- a/import-layers/yocto-poky/meta/recipes-devtools/binutils/binutils/CVE-2017-9747.patch
+++ /dev/null
@@ -1,43 +0,0 @@
-From 62b76e4b6e0b4cb5b3e0053d1de4097b32577049 Mon Sep 17 00:00:00 2001
-From: Nick Clifton <nickc@redhat.com>
-Date: Thu, 15 Jun 2017 13:08:47 +0100
-Subject: [PATCH] Fix address violation parsing a corrupt ieee binary.
-
-	PR binutils/21581
-	(ieee_archive_p): Use a static buffer to avoid compiler bugs.
-
-Upstream-Status: Backport
-CVE: CVE-2017-9747
-Signed-off-by: Armin Kuster <akuster@mvista.com>
-
----
- bfd/ChangeLog | 2 ++
- bfd/ieee.c    | 2 +-
- 2 files changed, 3 insertions(+), 1 deletion(-)
-
-Index: git/bfd/ieee.c
-===================================================================
---- git.orig/bfd/ieee.c
-+++ git/bfd/ieee.c
-@@ -1357,7 +1357,7 @@ ieee_archive_p (bfd *abfd)
- {
-   char *library;
-   unsigned int i;
--  unsigned char buffer[512];
-+  static unsigned char buffer[512];
-   file_ptr buffer_offset = 0;
-   ieee_ar_data_type *save = abfd->tdata.ieee_ar_data;
-   ieee_ar_data_type *ieee;
-Index: git/bfd/ChangeLog
-===================================================================
---- git.orig/bfd/ChangeLog
-+++ git/bfd/ChangeLog
-@@ -1,3 +1,8 @@
-+2017-06-15  Nick Clifton  <nickc@redhat.com>
-+
-+       PR binutils/21581
-+       (ieee_archive_p): Likewise.
-+
- 2017-06-14  Nick Clifton  <nickc@redhat.com>
-  
-        PR binutils/21578
diff --git a/import-layers/yocto-poky/meta/recipes-devtools/binutils/binutils/CVE-2017-9748.patch b/import-layers/yocto-poky/meta/recipes-devtools/binutils/binutils/CVE-2017-9748.patch
deleted file mode 100644
index 0207023..0000000
--- a/import-layers/yocto-poky/meta/recipes-devtools/binutils/binutils/CVE-2017-9748.patch
+++ /dev/null
@@ -1,46 +0,0 @@
-From 63634bb4a107877dd08b6282e28e11cfd1a1649e Mon Sep 17 00:00:00 2001
-From: Nick Clifton <nickc@redhat.com>
-Date: Thu, 15 Jun 2017 12:44:23 +0100
-Subject: [PATCH] Avoid a possible compiler bug by using a static buffer
- instead of a stack local buffer.
-
-	PR binutils/21582
-	* ieee.c (ieee_object_p): Use a static buffer to avoid compiler
-	bugs.
-
-Upstream-Status: Backport
-CVE: CVE-2017-9748
-Signed-off-by: Armin Kuster <akuster@mvista.com>
-
----
- bfd/ChangeLog | 6 ++++++
- bfd/ieee.c    | 2 +-
- 2 files changed, 7 insertions(+), 1 deletion(-)
-
-Index: git/bfd/ieee.c
-===================================================================
---- git.orig/bfd/ieee.c
-+++ git/bfd/ieee.c
-@@ -1875,7 +1875,7 @@ ieee_object_p (bfd *abfd)
-   char *processor;
-   unsigned int part;
-   ieee_data_type *ieee;
--  unsigned char buffer[300];
-+  static unsigned char buffer[300];
-   ieee_data_type *save = IEEE_DATA (abfd);
-   bfd_size_type amt;
- 
-Index: git/bfd/ChangeLog
-===================================================================
---- git.orig/bfd/ChangeLog
-+++ git/bfd/ChangeLog
-@@ -1,5 +1,9 @@
- 2017-06-15  Nick Clifton  <nickc@redhat.com>
- 
-+       PR binutils/21582
-+       * ieee.c (ieee_object_p): Use a static buffer to avoid compiler
-+       bugs.
-+
-        PR binutils/21581
-        (ieee_archive_p): Likewise.
- 
diff --git a/import-layers/yocto-poky/meta/recipes-devtools/binutils/binutils/CVE-2017-9749.patch b/import-layers/yocto-poky/meta/recipes-devtools/binutils/binutils/CVE-2017-9749.patch
deleted file mode 100644
index 3cc2afc..0000000
--- a/import-layers/yocto-poky/meta/recipes-devtools/binutils/binutils/CVE-2017-9749.patch
+++ /dev/null
@@ -1,77 +0,0 @@
-From 08c7881b814c546efc3996fd1decdf0877f7a779 Mon Sep 17 00:00:00 2001
-From: Nick Clifton <nickc@redhat.com>
-Date: Thu, 15 Jun 2017 11:52:02 +0100
-Subject: [PATCH] Prevent invalid array accesses when disassembling a corrupt
- bfin binary.
-
-	PR binutils/21586
-	* bfin-dis.c (gregs): Clip index to prevent overflow.
-	(regs): Likewise.
-	(regs_lo): Likewise.
-	(regs_hi): Likewise.
-
-Upstream-Status: Backport
-CVE: CVE-2017-9749
-Signed-off-by: Armin Kuster <akuster@mvista.com>
-
----
- opcodes/ChangeLog  | 8 ++++++++
- opcodes/bfin-dis.c | 8 ++++----
- 2 files changed, 12 insertions(+), 4 deletions(-)
-
-Index: git/opcodes/ChangeLog
-===================================================================
---- git.orig/opcodes/ChangeLog
-+++ git/opcodes/ChangeLog
-@@ -1,3 +1,11 @@
-+2017-06-15  Nick Clifton  <nickc@redhat.com>
-+
-+	PR binutils/21586
-+	* bfin-dis.c (gregs): Clip index to prevent overflow.
-+	(regs): Likewise.
-+	(regs_lo): Likewise.
-+	(regs_hi): Likewise.
-+
- 2017-06-14  Nick Clifton  <nickc@redhat.com>
- 
-        PR binutils/21576
-Index: git/opcodes/bfin-dis.c
-===================================================================
---- git.orig/opcodes/bfin-dis.c
-+++ git/opcodes/bfin-dis.c
-@@ -350,7 +350,7 @@ static const enum machine_registers deco
-   REG_P0, REG_P1, REG_P2, REG_P3, REG_P4, REG_P5, REG_SP, REG_FP,
- };
- 
--#define gregs(x, i) REGNAME (decode_gregs[((i) << 3) | (x)])
-+#define gregs(x, i) REGNAME (decode_gregs[(((i) << 3) | (x)) & 15])
- 
- /* [dregs pregs (iregs mregs) (bregs lregs)].  */
- static const enum machine_registers decode_regs[] =
-@@ -361,7 +361,7 @@ static const enum machine_registers deco
-   REG_B0, REG_B1, REG_B2, REG_B3, REG_L0, REG_L1, REG_L2, REG_L3,
- };
- 
--#define regs(x, i) REGNAME (decode_regs[((i) << 3) | (x)])
-+#define regs(x, i) REGNAME (decode_regs[(((i) << 3) | (x)) & 31])
- 
- /* [dregs pregs (iregs mregs) (bregs lregs) Low Half].  */
- static const enum machine_registers decode_regs_lo[] =
-@@ -372,7 +372,7 @@ static const enum machine_registers deco
-   REG_BL0, REG_BL1, REG_BL2, REG_BL3, REG_LL0, REG_LL1, REG_LL2, REG_LL3,
- };
- 
--#define regs_lo(x, i) REGNAME (decode_regs_lo[((i) << 3) | (x)])
-+#define regs_lo(x, i) REGNAME (decode_regs_lo[(((i) << 3) | (x)) & 31])
- 
- /* [dregs pregs (iregs mregs) (bregs lregs) High Half].  */
- static const enum machine_registers decode_regs_hi[] =
-@@ -383,7 +383,7 @@ static const enum machine_registers deco
-   REG_BH0, REG_BH1, REG_BH2, REG_BH3, REG_LH0, REG_LH1, REG_LH2, REG_LH3,
- };
- 
--#define regs_hi(x, i) REGNAME (decode_regs_hi[((i) << 3) | (x)])
-+#define regs_hi(x, i) REGNAME (decode_regs_hi[(((i) << 3) | (x)) & 31])
- 
- static const enum machine_registers decode_statbits[] =
- {
diff --git a/import-layers/yocto-poky/meta/recipes-devtools/binutils/binutils/CVE-2017-9750.patch b/import-layers/yocto-poky/meta/recipes-devtools/binutils/binutils/CVE-2017-9750.patch
deleted file mode 100644
index fe8fa69..0000000
--- a/import-layers/yocto-poky/meta/recipes-devtools/binutils/binutils/CVE-2017-9750.patch
+++ /dev/null
@@ -1,247 +0,0 @@
-From db5fa770268baf8cc82cf9b141d69799fd485fe2 Mon Sep 17 00:00:00 2001
-From: Nick Clifton <nickc@redhat.com>
-Date: Wed, 14 Jun 2017 13:35:06 +0100
-Subject: [PATCH] Fix address violation problems when disassembling a corrupt
- RX binary.
-
-	PR binutils/21587
-	* rx-decode.opc: Include libiberty.h
-	(GET_SCALE): New macro - validates access to SCALE array.
-	(GET_PSCALE): New macro - validates access to PSCALE array.
-	(DIs, SIs, S2Is, rx_disp): Use new macros.
-	* rx-decode.c: Regenerate.
-
-Upstream-Status: Backport
-CVE: CVE-2017-9750
-Signed-off-by: Armin Kuster <akuster@mvista.com>
-
----
- opcodes/ChangeLog     |  9 +++++++++
- opcodes/rx-decode.c   | 24 ++++++++++++++----------
- opcodes/rx-decode.opc | 24 ++++++++++++++----------
- 3 files changed, 37 insertions(+), 20 deletions(-)
-
-Index: git/opcodes/rx-decode.c
-===================================================================
---- git.orig/opcodes/rx-decode.c
-+++ git/opcodes/rx-decode.c
-@@ -27,6 +27,7 @@
- #include <string.h>
- #include "ansidecl.h"
- #include "opcode/rx.h"
-+#include "libiberty.h"
- 
- #define RX_OPCODE_BIG_ENDIAN 0
- 
-@@ -45,7 +46,7 @@ static int trace = 0;
- #define LSIZE 2
- 
- /* These are for when the upper bits are "don't care" or "undefined".  */
--static int bwl[] =
-+static int bwl[4] =
- {
-   RX_Byte,
-   RX_Word,
-@@ -53,7 +54,7 @@ static int bwl[] =
-   RX_Bad_Size /* Bogus instructions can have a size field set to 3.  */
- };
- 
--static int sbwl[] =
-+static int sbwl[4] =
- {
-   RX_SByte,
-   RX_SWord,
-@@ -61,7 +62,7 @@ static int sbwl[] =
-   RX_Bad_Size /* Bogus instructions can have a size field set to 3.  */
- };
- 
--static int ubw[] =
-+static int ubw[4] =
- {
-   RX_UByte,
-   RX_UWord,
-@@ -69,7 +70,7 @@ static int ubw[] =
-   RX_Bad_Size /* Bogus instructions can have a size field set to 3.  */
- };
- 
--static int memex[] =
-+static int memex[4] =
- {
-   RX_SByte,
-   RX_SWord,
-@@ -89,6 +90,9 @@ static int SCALE[] = { 1, 2, 4, 0 };
- /* This is for the prefix size enum.  */
- static int PSCALE[] = { 4, 1, 1, 1, 2, 2, 2, 3, 4 };
- 
-+#define GET_SCALE(_indx)  ((unsigned)(_indx) < ARRAY_SIZE (SCALE) ? SCALE[(_indx)] : 0)
-+#define GET_PSCALE(_indx) ((unsigned)(_indx) < ARRAY_SIZE (PSCALE) ? PSCALE[(_indx)] : 0)
-+
- static int flagmap[] = {0, 1, 2, 3, 0, 0, 0, 0,
- 		       16, 17, 0, 0, 0, 0, 0, 0 };
- 
-@@ -107,7 +111,7 @@ static int dsp3map[] = { 8, 9, 10, 3, 4,
- #define DC(c)       OP (0, RX_Operand_Immediate, 0, c)
- #define DR(r)       OP (0, RX_Operand_Register,  r, 0)
- #define DI(r,a)     OP (0, RX_Operand_Indirect,  r, a)
--#define DIs(r,a,s)  OP (0, RX_Operand_Indirect,  r, (a) * SCALE[s])
-+#define DIs(r,a,s)  OP (0, RX_Operand_Indirect,  r, (a) * GET_SCALE (s))
- #define DD(t,r,s)   rx_disp (0, t, r, bwl[s], ld);
- #define DF(r)       OP (0, RX_Operand_Flag,  flagmap[r], 0)
- 
-@@ -115,7 +119,7 @@ static int dsp3map[] = { 8, 9, 10, 3, 4,
- #define SR(r)       OP (1, RX_Operand_Register,  r, 0)
- #define SRR(r)      OP (1, RX_Operand_TwoReg,  r, 0)
- #define SI(r,a)     OP (1, RX_Operand_Indirect,  r, a)
--#define SIs(r,a,s)  OP (1, RX_Operand_Indirect,  r, (a) * SCALE[s])
-+#define SIs(r,a,s)  OP (1, RX_Operand_Indirect,  r, (a) * GET_SCALE (s))
- #define SD(t,r,s)   rx_disp (1, t, r, bwl[s], ld);
- #define SP(t,r)     rx_disp (1, t, r, (t!=3) ? RX_UByte : RX_Long, ld); P(t, 1);
- #define SPm(t,r,m)  rx_disp (1, t, r, memex[m], ld); rx->op[1].size = memex[m];
-@@ -124,7 +128,7 @@ static int dsp3map[] = { 8, 9, 10, 3, 4,
- #define S2C(i)      OP (2, RX_Operand_Immediate, 0, i)
- #define S2R(r)      OP (2, RX_Operand_Register,  r, 0)
- #define S2I(r,a)    OP (2, RX_Operand_Indirect,  r, a)
--#define S2Is(r,a,s) OP (2, RX_Operand_Indirect,  r, (a) * SCALE[s])
-+#define S2Is(r,a,s) OP (2, RX_Operand_Indirect,  r, (a) * GET_SCALE (s))
- #define S2D(t,r,s)  rx_disp (2, t, r, bwl[s], ld);
- #define S2P(t,r)    rx_disp (2, t, r, (t!=3) ? RX_UByte : RX_Long, ld); P(t, 2);
- #define S2Pm(t,r,m) rx_disp (2, t, r, memex[m], ld); rx->op[2].size = memex[m];
-@@ -211,7 +215,7 @@ immediate (int sfield, int ex, LocalData
- }
- 
- static void
--rx_disp (int n, int type, int reg, int size, LocalData * ld)
-+rx_disp (int n, int type, int reg, unsigned int size, LocalData * ld)
- {
-   int disp;
- 
-@@ -228,7 +232,7 @@ rx_disp (int n, int type, int reg, int s
-     case 1:
-       ld->rx->op[n].type = RX_Operand_Indirect;
-       disp = GETBYTE ();
--      ld->rx->op[n].addend = disp * PSCALE[size];
-+      ld->rx->op[n].addend = disp * GET_PSCALE (size);
-       break;
-     case 2:
-       ld->rx->op[n].type = RX_Operand_Indirect;
-@@ -238,7 +242,7 @@ rx_disp (int n, int type, int reg, int s
- #else
-       disp = disp + GETBYTE () * 256;
- #endif
--      ld->rx->op[n].addend = disp * PSCALE[size];
-+      ld->rx->op[n].addend = disp * GET_PSCALE (size);
-       break;
-     default:
-       abort ();
-Index: git/opcodes/rx-decode.opc
-===================================================================
---- git.orig/opcodes/rx-decode.opc
-+++ git/opcodes/rx-decode.opc
-@@ -26,6 +26,7 @@
- #include <string.h>
- #include "ansidecl.h"
- #include "opcode/rx.h"
-+#include "libiberty.h"
- 
- #define RX_OPCODE_BIG_ENDIAN 0
- 
-@@ -44,7 +45,7 @@ static int trace = 0;
- #define LSIZE 2
- 
- /* These are for when the upper bits are "don't care" or "undefined".  */
--static int bwl[] =
-+static int bwl[4] =
- {
-   RX_Byte,
-   RX_Word,
-@@ -52,7 +53,7 @@ static int bwl[] =
-   RX_Bad_Size /* Bogus instructions can have a size field set to 3.  */
- };
- 
--static int sbwl[] =
-+static int sbwl[4] =
- {
-   RX_SByte,
-   RX_SWord,
-@@ -60,7 +61,7 @@ static int sbwl[] =
-   RX_Bad_Size /* Bogus instructions can have a size field set to 3.  */
- };
- 
--static int ubw[] =
-+static int ubw[4] =
- {
-   RX_UByte,
-   RX_UWord,
-@@ -68,7 +69,7 @@ static int ubw[] =
-   RX_Bad_Size /* Bogus instructions can have a size field set to 3.  */
- };
- 
--static int memex[] =
-+static int memex[4] =
- {
-   RX_SByte,
-   RX_SWord,
-@@ -88,6 +89,9 @@ static int SCALE[] = { 1, 2, 4, 0 };
- /* This is for the prefix size enum.  */
- static int PSCALE[] = { 4, 1, 1, 1, 2, 2, 2, 3, 4 };
- 
-+#define GET_SCALE(_indx)  ((unsigned)(_indx) < ARRAY_SIZE (SCALE) ? SCALE[(_indx)] : 0)
-+#define GET_PSCALE(_indx) ((unsigned)(_indx) < ARRAY_SIZE (PSCALE) ? PSCALE[(_indx)] : 0)
-+
- static int flagmap[] = {0, 1, 2, 3, 0, 0, 0, 0,
- 		       16, 17, 0, 0, 0, 0, 0, 0 };
- 
-@@ -106,7 +110,7 @@ static int dsp3map[] = { 8, 9, 10, 3, 4,
- #define DC(c)       OP (0, RX_Operand_Immediate, 0, c)
- #define DR(r)       OP (0, RX_Operand_Register,  r, 0)
- #define DI(r,a)     OP (0, RX_Operand_Indirect,  r, a)
--#define DIs(r,a,s)  OP (0, RX_Operand_Indirect,  r, (a) * SCALE[s])
-+#define DIs(r,a,s)  OP (0, RX_Operand_Indirect,  r, (a) * GET_SCALE (s))
- #define DD(t,r,s)   rx_disp (0, t, r, bwl[s], ld);
- #define DF(r)       OP (0, RX_Operand_Flag,  flagmap[r], 0)
- 
-@@ -114,7 +118,7 @@ static int dsp3map[] = { 8, 9, 10, 3, 4,
- #define SR(r)       OP (1, RX_Operand_Register,  r, 0)
- #define SRR(r)      OP (1, RX_Operand_TwoReg,  r, 0)
- #define SI(r,a)     OP (1, RX_Operand_Indirect,  r, a)
--#define SIs(r,a,s)  OP (1, RX_Operand_Indirect,  r, (a) * SCALE[s])
-+#define SIs(r,a,s)  OP (1, RX_Operand_Indirect,  r, (a) * GET_SCALE (s))
- #define SD(t,r,s)   rx_disp (1, t, r, bwl[s], ld);
- #define SP(t,r)     rx_disp (1, t, r, (t!=3) ? RX_UByte : RX_Long, ld); P(t, 1);
- #define SPm(t,r,m)  rx_disp (1, t, r, memex[m], ld); rx->op[1].size = memex[m];
-@@ -123,7 +127,7 @@ static int dsp3map[] = { 8, 9, 10, 3, 4,
- #define S2C(i)      OP (2, RX_Operand_Immediate, 0, i)
- #define S2R(r)      OP (2, RX_Operand_Register,  r, 0)
- #define S2I(r,a)    OP (2, RX_Operand_Indirect,  r, a)
--#define S2Is(r,a,s) OP (2, RX_Operand_Indirect,  r, (a) * SCALE[s])
-+#define S2Is(r,a,s) OP (2, RX_Operand_Indirect,  r, (a) * GET_SCALE (s))
- #define S2D(t,r,s)  rx_disp (2, t, r, bwl[s], ld);
- #define S2P(t,r)    rx_disp (2, t, r, (t!=3) ? RX_UByte : RX_Long, ld); P(t, 2);
- #define S2Pm(t,r,m) rx_disp (2, t, r, memex[m], ld); rx->op[2].size = memex[m];
-@@ -210,7 +214,7 @@ immediate (int sfield, int ex, LocalData
- }
- 
- static void
--rx_disp (int n, int type, int reg, int size, LocalData * ld)
-+rx_disp (int n, int type, int reg, unsigned int size, LocalData * ld)
- {
-   int disp;
- 
-@@ -227,7 +231,7 @@ rx_disp (int n, int type, int reg, int s
-     case 1:
-       ld->rx->op[n].type = RX_Operand_Indirect;
-       disp = GETBYTE ();
--      ld->rx->op[n].addend = disp * PSCALE[size];
-+      ld->rx->op[n].addend = disp * GET_PSCALE (size);
-       break;
-     case 2:
-       ld->rx->op[n].type = RX_Operand_Indirect;
-@@ -237,7 +241,7 @@ rx_disp (int n, int type, int reg, int s
- #else
-       disp = disp + GETBYTE () * 256;
- #endif
--      ld->rx->op[n].addend = disp * PSCALE[size];
-+      ld->rx->op[n].addend = disp * GET_PSCALE (size);
-       break;
-     default:
-       abort ();
diff --git a/import-layers/yocto-poky/meta/recipes-devtools/binutils/binutils/CVE-2017-9751.patch b/import-layers/yocto-poky/meta/recipes-devtools/binutils/binutils/CVE-2017-9751.patch
deleted file mode 100644
index d7c18cf..0000000
--- a/import-layers/yocto-poky/meta/recipes-devtools/binutils/binutils/CVE-2017-9751.patch
+++ /dev/null
@@ -1,3748 +0,0 @@
-From 63323b5b23bd83fa7b04ea00dff593c933e9b0e3 Mon Sep 17 00:00:00 2001
-From: Nick Clifton <nickc@redhat.com>
-Date: Thu, 15 Jun 2017 12:37:01 +0100
-Subject: [PATCH] Fix address violation when disassembling a corrupt RL78
- binary.
-
-	PR binutils/21588
-	* rl78-decode.opc (OP_BUF_LEN): Define.
-	(GETBYTE): Check for the index exceeding OP_BUF_LEN.
-	(rl78_decode_opcode): Use OP_BUF_LEN as the length of the op_buf
-	array.
-	* rl78-decode.c: Regenerate.
-
-Upstream-Status: Backport
-CVE: CVE-2017-9751
-Signed-off-by: Armin Kuster <akuster@mvista.com>
-
----
- opcodes/ChangeLog       |   9 +
- opcodes/rl78-decode.c   | 820 ++++++++++++++++++++++++------------------------
- opcodes/rl78-decode.opc |   6 +-
- 3 files changed, 424 insertions(+), 411 deletions(-)
-
-diff --git a/opcodes/ChangeLog b/opcodes/ChangeLog
-index 34b1844..c77f00a 100644
---- a/opcodes/ChangeLog
-+++ b/opcodes/ChangeLog
-@@ -1,5 +1,14 @@
- 2017-06-15  Nick Clifton  <nickc@redhat.com>
- 
-+	PR binutils/21588
-+	* rl78-decode.opc (OP_BUF_LEN): Define.
-+	(GETBYTE): Check for the index exceeding OP_BUF_LEN.
-+	(rl78_decode_opcode): Use OP_BUF_LEN as the length of the op_buf
-+	array.
-+	* rl78-decode.c: Regenerate.
-+
-+2017-06-15  Nick Clifton  <nickc@redhat.com>
-+
- 	PR binutils/21586
- 	* bfin-dis.c (gregs): Clip index to prevent overflow.
- 	(regs): Likewise.
-diff --git a/opcodes/rl78-decode.c b/opcodes/rl78-decode.c
-index d0566ea..b2d4bd6 100644
---- a/opcodes/rl78-decode.c
-+++ b/opcodes/rl78-decode.c
-@@ -51,7 +51,9 @@ typedef struct
- #define W() rl78->size = RL78_Word
- 
- #define AU ATTRIBUTE_UNUSED
--#define GETBYTE() (ld->op [ld->rl78->n_bytes++] = ld->getbyte (ld->ptr))
-+
-+#define OP_BUF_LEN 20
-+#define GETBYTE() (ld->rl78->n_bytes < (OP_BUF_LEN - 1) ? ld->op [ld->rl78->n_bytes++] = ld->getbyte (ld->ptr): 0)
- #define B ((unsigned long) GETBYTE())
- 
- #define SYNTAX(x) rl78->syntax = x
-@@ -169,7 +171,7 @@ rl78_decode_opcode (unsigned long pc AU,
- 		  RL78_Dis_Isa isa)
- {
-   LocalData lds, * ld = &lds;
--  unsigned char op_buf[20] = {0};
-+  unsigned char op_buf[OP_BUF_LEN] = {0};
-   unsigned char *op = op_buf;
-   int op0, op1;
- 
-@@ -201,7 +203,7 @@ rl78_decode_opcode (unsigned long pc AU,
-                      op[0]);
-             }
-           SYNTAX("nop");
--#line 911 "rl78-decode.opc"
-+#line 913 "rl78-decode.opc"
-           ID(nop);
- 
-         /*----------------------------------------------------------------------*/
-@@ -214,7 +216,7 @@ rl78_decode_opcode (unsigned long pc AU,
-     case 0x07:
-         {
-           /** 0000 0rw1			addw	%0, %1				*/
--#line 274 "rl78-decode.opc"
-+#line 276 "rl78-decode.opc"
-           int rw AU = (op[0] >> 1) & 0x03;
-           if (trace)
-             {
-@@ -224,7 +226,7 @@ rl78_decode_opcode (unsigned long pc AU,
-               printf ("  rw = 0x%x\n", rw);
-             }
-           SYNTAX("addw	%0, %1");
--#line 274 "rl78-decode.opc"
-+#line 276 "rl78-decode.opc"
-           ID(add); W(); DR(AX); SRW(rw); Fzac;
- 
-         }
-@@ -239,7 +241,7 @@ rl78_decode_opcode (unsigned long pc AU,
-                      op[0]);
-             }
-           SYNTAX("addw	%0, %e!1");
--#line 265 "rl78-decode.opc"
-+#line 267 "rl78-decode.opc"
-           ID(add); W(); DR(AX); SM(None, IMMU(2)); Fzac;
- 
-         }
-@@ -254,7 +256,7 @@ rl78_decode_opcode (unsigned long pc AU,
-                      op[0]);
-             }
-           SYNTAX("addw	%0, #%1");
--#line 271 "rl78-decode.opc"
-+#line 273 "rl78-decode.opc"
-           ID(add); W(); DR(AX); SC(IMMU(2)); Fzac;
- 
-         }
-@@ -269,7 +271,7 @@ rl78_decode_opcode (unsigned long pc AU,
-                      op[0]);
-             }
-           SYNTAX("addw	%0, %1");
--#line 277 "rl78-decode.opc"
-+#line 279 "rl78-decode.opc"
-           ID(add); W(); DR(AX); SM(None, SADDR); Fzac;
- 
-         }
-@@ -284,7 +286,7 @@ rl78_decode_opcode (unsigned long pc AU,
-                      op[0]);
-             }
-           SYNTAX("xch	a, x");
--#line 1234 "rl78-decode.opc"
-+#line 1236 "rl78-decode.opc"
-           ID(xch); DR(A); SR(X);
- 
-         /*----------------------------------------------------------------------*/
-@@ -301,7 +303,7 @@ rl78_decode_opcode (unsigned long pc AU,
-                      op[0]);
-             }
-           SYNTAX("mov	%0, %e1");
--#line 678 "rl78-decode.opc"
-+#line 680 "rl78-decode.opc"
-           ID(mov); DR(A); SM(B, IMMU(2));
- 
-         }
-@@ -316,7 +318,7 @@ rl78_decode_opcode (unsigned long pc AU,
-                      op[0]);
-             }
-           SYNTAX("add	%0, #%1");
--#line 228 "rl78-decode.opc"
-+#line 230 "rl78-decode.opc"
-           ID(add); DM(None, SADDR); SC(IMMU(1)); Fzac;
- 
-         /*----------------------------------------------------------------------*/
-@@ -333,7 +335,7 @@ rl78_decode_opcode (unsigned long pc AU,
-                      op[0]);
-             }
-           SYNTAX("add	%0, %1");
--#line 222 "rl78-decode.opc"
-+#line 224 "rl78-decode.opc"
-           ID(add); DR(A); SM(None, SADDR); Fzac;
- 
-         }
-@@ -348,7 +350,7 @@ rl78_decode_opcode (unsigned long pc AU,
-                      op[0]);
-             }
-           SYNTAX("add	%0, #%1");
--#line 216 "rl78-decode.opc"
-+#line 218 "rl78-decode.opc"
-           ID(add); DR(A); SC(IMMU(1)); Fzac;
- 
-         }
-@@ -363,7 +365,7 @@ rl78_decode_opcode (unsigned long pc AU,
-                      op[0]);
-             }
-           SYNTAX("add	%0, %e1");
--#line 204 "rl78-decode.opc"
-+#line 206 "rl78-decode.opc"
-           ID(add); DR(A); SM(HL, 0); Fzac;
- 
-         }
-@@ -378,7 +380,7 @@ rl78_decode_opcode (unsigned long pc AU,
-                      op[0]);
-             }
-           SYNTAX("add	%0, %ea1");
--#line 210 "rl78-decode.opc"
-+#line 212 "rl78-decode.opc"
-           ID(add); DR(A); SM(HL, IMMU(1)); Fzac;
- 
-         }
-@@ -393,7 +395,7 @@ rl78_decode_opcode (unsigned long pc AU,
-                      op[0]);
-             }
-           SYNTAX("add	%0, %e!1");
--#line 201 "rl78-decode.opc"
-+#line 203 "rl78-decode.opc"
-           ID(add); DR(A); SM(None, IMMU(2)); Fzac;
- 
-         }
-@@ -408,7 +410,7 @@ rl78_decode_opcode (unsigned long pc AU,
-                      op[0]);
-             }
-           SYNTAX("addw	%0, #%1");
--#line 280 "rl78-decode.opc"
-+#line 282 "rl78-decode.opc"
-           ID(add); W(); DR(SP); SC(IMMU(1)); Fzac;
- 
-         /*----------------------------------------------------------------------*/
-@@ -425,7 +427,7 @@ rl78_decode_opcode (unsigned long pc AU,
-                      op[0]);
-             }
-           SYNTAX("es:");
--#line 193 "rl78-decode.opc"
-+#line 195 "rl78-decode.opc"
-           DE(); SE();
-           op ++;
-           pc ++;
-@@ -440,7 +442,7 @@ rl78_decode_opcode (unsigned long pc AU,
-     case 0x16:
-         {
-           /** 0001 0ra0			movw	%0, %1				*/
--#line 859 "rl78-decode.opc"
-+#line 861 "rl78-decode.opc"
-           int ra AU = (op[0] >> 1) & 0x03;
-           if (trace)
-             {
-@@ -450,7 +452,7 @@ rl78_decode_opcode (unsigned long pc AU,
-               printf ("  ra = 0x%x\n", ra);
-             }
-           SYNTAX("movw	%0, %1");
--#line 859 "rl78-decode.opc"
-+#line 861 "rl78-decode.opc"
-           ID(mov); W(); DRW(ra); SR(AX);
- 
-         }
-@@ -460,7 +462,7 @@ rl78_decode_opcode (unsigned long pc AU,
-     case 0x17:
-         {
-           /** 0001 0ra1			movw	%0, %1				*/
--#line 856 "rl78-decode.opc"
-+#line 858 "rl78-decode.opc"
-           int ra AU = (op[0] >> 1) & 0x03;
-           if (trace)
-             {
-@@ -470,7 +472,7 @@ rl78_decode_opcode (unsigned long pc AU,
-               printf ("  ra = 0x%x\n", ra);
-             }
-           SYNTAX("movw	%0, %1");
--#line 856 "rl78-decode.opc"
-+#line 858 "rl78-decode.opc"
-           ID(mov); W(); DR(AX); SRW(ra);
- 
-         }
-@@ -485,7 +487,7 @@ rl78_decode_opcode (unsigned long pc AU,
-                      op[0]);
-             }
-           SYNTAX("mov	%e0, %1");
--#line 729 "rl78-decode.opc"
-+#line 731 "rl78-decode.opc"
-           ID(mov); DM(B, IMMU(2)); SR(A);
- 
-         }
-@@ -500,7 +502,7 @@ rl78_decode_opcode (unsigned long pc AU,
-                      op[0]);
-             }
-           SYNTAX("mov	%e0, #%1");
--#line 726 "rl78-decode.opc"
-+#line 728 "rl78-decode.opc"
-           ID(mov); DM(B, IMMU(2)); SC(IMMU(1));
- 
-         }
-@@ -515,7 +517,7 @@ rl78_decode_opcode (unsigned long pc AU,
-                      op[0]);
-             }
-           SYNTAX("addc	%0, #%1");
--#line 260 "rl78-decode.opc"
-+#line 262 "rl78-decode.opc"
-           ID(addc); DM(None, SADDR); SC(IMMU(1)); Fzac;
- 
-         /*----------------------------------------------------------------------*/
-@@ -532,7 +534,7 @@ rl78_decode_opcode (unsigned long pc AU,
-                      op[0]);
-             }
-           SYNTAX("addc	%0, %1");
--#line 257 "rl78-decode.opc"
-+#line 259 "rl78-decode.opc"
-           ID(addc); DR(A); SM(None, SADDR); Fzac;
- 
-         }
-@@ -547,7 +549,7 @@ rl78_decode_opcode (unsigned long pc AU,
-                      op[0]);
-             }
-           SYNTAX("addc	%0, #%1");
--#line 248 "rl78-decode.opc"
-+#line 250 "rl78-decode.opc"
-           ID(addc); DR(A); SC(IMMU(1)); Fzac;
- 
-         }
-@@ -562,7 +564,7 @@ rl78_decode_opcode (unsigned long pc AU,
-                      op[0]);
-             }
-           SYNTAX("addc	%0, %e1");
--#line 236 "rl78-decode.opc"
-+#line 238 "rl78-decode.opc"
-           ID(addc); DR(A); SM(HL, 0); Fzac;
- 
-         }
-@@ -577,7 +579,7 @@ rl78_decode_opcode (unsigned long pc AU,
-                      op[0]);
-             }
-           SYNTAX("addc	%0, %ea1");
--#line 245 "rl78-decode.opc"
-+#line 247 "rl78-decode.opc"
-           ID(addc); DR(A); SM(HL, IMMU(1)); Fzac;
- 
-         }
-@@ -592,7 +594,7 @@ rl78_decode_opcode (unsigned long pc AU,
-                      op[0]);
-             }
-           SYNTAX("addc	%0, %e!1");
--#line 233 "rl78-decode.opc"
-+#line 235 "rl78-decode.opc"
-           ID(addc); DR(A); SM(None, IMMU(2)); Fzac;
- 
-         }
-@@ -607,7 +609,7 @@ rl78_decode_opcode (unsigned long pc AU,
-                      op[0]);
-             }
-           SYNTAX("subw	%0, #%1");
--#line 1198 "rl78-decode.opc"
-+#line 1200 "rl78-decode.opc"
-           ID(sub); W(); DR(SP); SC(IMMU(1)); Fzac;
- 
-         /*----------------------------------------------------------------------*/
-@@ -620,7 +622,7 @@ rl78_decode_opcode (unsigned long pc AU,
-     case 0x27:
-         {
-           /** 0010 0rw1			subw	%0, %1				*/
--#line 1192 "rl78-decode.opc"
-+#line 1194 "rl78-decode.opc"
-           int rw AU = (op[0] >> 1) & 0x03;
-           if (trace)
-             {
-@@ -630,7 +632,7 @@ rl78_decode_opcode (unsigned long pc AU,
-               printf ("  rw = 0x%x\n", rw);
-             }
-           SYNTAX("subw	%0, %1");
--#line 1192 "rl78-decode.opc"
-+#line 1194 "rl78-decode.opc"
-           ID(sub); W(); DR(AX); SRW(rw); Fzac;
- 
-         }
-@@ -645,7 +647,7 @@ rl78_decode_opcode (unsigned long pc AU,
-                      op[0]);
-             }
-           SYNTAX("subw	%0, %e!1");
--#line 1183 "rl78-decode.opc"
-+#line 1185 "rl78-decode.opc"
-           ID(sub); W(); DR(AX); SM(None, IMMU(2)); Fzac;
- 
-         }
-@@ -660,7 +662,7 @@ rl78_decode_opcode (unsigned long pc AU,
-                      op[0]);
-             }
-           SYNTAX("subw	%0, #%1");
--#line 1189 "rl78-decode.opc"
-+#line 1191 "rl78-decode.opc"
-           ID(sub); W(); DR(AX); SC(IMMU(2)); Fzac;
- 
-         }
-@@ -675,7 +677,7 @@ rl78_decode_opcode (unsigned long pc AU,
-                      op[0]);
-             }
-           SYNTAX("subw	%0, %1");
--#line 1195 "rl78-decode.opc"
-+#line 1197 "rl78-decode.opc"
-           ID(sub); W(); DR(AX); SM(None, SADDR); Fzac;
- 
-         }
-@@ -690,7 +692,7 @@ rl78_decode_opcode (unsigned long pc AU,
-                      op[0]);
-             }
-           SYNTAX("mov	%e0, %1");
--#line 741 "rl78-decode.opc"
-+#line 743 "rl78-decode.opc"
-           ID(mov); DM(C, IMMU(2)); SR(A);
- 
-         }
-@@ -705,7 +707,7 @@ rl78_decode_opcode (unsigned long pc AU,
-                      op[0]);
-             }
-           SYNTAX("mov	%0, %e1");
--#line 684 "rl78-decode.opc"
-+#line 686 "rl78-decode.opc"
-           ID(mov); DR(A); SM(C, IMMU(2));
- 
-         }
-@@ -720,7 +722,7 @@ rl78_decode_opcode (unsigned long pc AU,
-                      op[0]);
-             }
-           SYNTAX("sub	%0, #%1");
--#line 1146 "rl78-decode.opc"
-+#line 1148 "rl78-decode.opc"
-           ID(sub); DM(None, SADDR); SC(IMMU(1)); Fzac;
- 
-         /*----------------------------------------------------------------------*/
-@@ -737,7 +739,7 @@ rl78_decode_opcode (unsigned long pc AU,
-                      op[0]);
-             }
-           SYNTAX("sub	%0, %1");
--#line 1140 "rl78-decode.opc"
-+#line 1142 "rl78-decode.opc"
-           ID(sub); DR(A); SM(None, SADDR); Fzac;
- 
-         }
-@@ -752,7 +754,7 @@ rl78_decode_opcode (unsigned long pc AU,
-                      op[0]);
-             }
-           SYNTAX("sub	%0, #%1");
--#line 1134 "rl78-decode.opc"
-+#line 1136 "rl78-decode.opc"
-           ID(sub); DR(A); SC(IMMU(1)); Fzac;
- 
-         }
-@@ -767,7 +769,7 @@ rl78_decode_opcode (unsigned long pc AU,
-                      op[0]);
-             }
-           SYNTAX("sub	%0, %e1");
--#line 1122 "rl78-decode.opc"
-+#line 1124 "rl78-decode.opc"
-           ID(sub); DR(A); SM(HL, 0); Fzac;
- 
-         }
-@@ -782,7 +784,7 @@ rl78_decode_opcode (unsigned long pc AU,
-                      op[0]);
-             }
-           SYNTAX("sub	%0, %ea1");
--#line 1128 "rl78-decode.opc"
-+#line 1130 "rl78-decode.opc"
-           ID(sub); DR(A); SM(HL, IMMU(1)); Fzac;
- 
-         }
-@@ -797,7 +799,7 @@ rl78_decode_opcode (unsigned long pc AU,
-                      op[0]);
-             }
-           SYNTAX("sub	%0, %e!1");
--#line 1119 "rl78-decode.opc"
-+#line 1121 "rl78-decode.opc"
-           ID(sub); DR(A); SM(None, IMMU(2)); Fzac;
- 
-         }
-@@ -808,7 +810,7 @@ rl78_decode_opcode (unsigned long pc AU,
-     case 0x36:
-         {
-           /** 0011 0rg0			movw	%0, #%1				*/
--#line 853 "rl78-decode.opc"
-+#line 855 "rl78-decode.opc"
-           int rg AU = (op[0] >> 1) & 0x03;
-           if (trace)
-             {
-@@ -818,7 +820,7 @@ rl78_decode_opcode (unsigned long pc AU,
-               printf ("  rg = 0x%x\n", rg);
-             }
-           SYNTAX("movw	%0, #%1");
--#line 853 "rl78-decode.opc"
-+#line 855 "rl78-decode.opc"
-           ID(mov); W(); DRW(rg); SC(IMMU(2));
- 
-         }
-@@ -830,7 +832,7 @@ rl78_decode_opcode (unsigned long pc AU,
-           case 0x00:
-               {
-                 /** 0011 0001 0bit 0000		btclr	%s1, $%a0			*/
--#line 416 "rl78-decode.opc"
-+#line 418 "rl78-decode.opc"
-                 int bit AU = (op[1] >> 4) & 0x07;
-                 if (trace)
-                   {
-@@ -840,7 +842,7 @@ rl78_decode_opcode (unsigned long pc AU,
-                     printf ("  bit = 0x%x\n", bit);
-                   }
-                 SYNTAX("btclr	%s1, $%a0");
--#line 416 "rl78-decode.opc"
-+#line 418 "rl78-decode.opc"
-                 ID(branch_cond_clear); SM(None, SADDR); SB(bit); DC(pc+IMMS(1)+4); COND(T);
- 
-               /*----------------------------------------------------------------------*/
-@@ -850,7 +852,7 @@ rl78_decode_opcode (unsigned long pc AU,
-           case 0x01:
-               {
-                 /** 0011 0001 0bit 0001		btclr	%1, $%a0			*/
--#line 410 "rl78-decode.opc"
-+#line 412 "rl78-decode.opc"
-                 int bit AU = (op[1] >> 4) & 0x07;
-                 if (trace)
-                   {
-@@ -860,7 +862,7 @@ rl78_decode_opcode (unsigned long pc AU,
-                     printf ("  bit = 0x%x\n", bit);
-                   }
-                 SYNTAX("btclr	%1, $%a0");
--#line 410 "rl78-decode.opc"
-+#line 412 "rl78-decode.opc"
-                 ID(branch_cond_clear); DC(pc+IMMS(1)+3); SR(A); SB(bit); COND(T);
- 
-               }
-@@ -868,7 +870,7 @@ rl78_decode_opcode (unsigned long pc AU,
-           case 0x02:
-               {
-                 /** 0011 0001 0bit 0010		bt	%s1, $%a0			*/
--#line 402 "rl78-decode.opc"
-+#line 404 "rl78-decode.opc"
-                 int bit AU = (op[1] >> 4) & 0x07;
-                 if (trace)
-                   {
-@@ -878,7 +880,7 @@ rl78_decode_opcode (unsigned long pc AU,
-                     printf ("  bit = 0x%x\n", bit);
-                   }
-                 SYNTAX("bt	%s1, $%a0");
--#line 402 "rl78-decode.opc"
-+#line 404 "rl78-decode.opc"
-                 ID(branch_cond); SM(None, SADDR); SB(bit); DC(pc+IMMS(1)+4); COND(T);
- 
-               /*----------------------------------------------------------------------*/
-@@ -888,7 +890,7 @@ rl78_decode_opcode (unsigned long pc AU,
-           case 0x03:
-               {
-                 /** 0011 0001 0bit 0011		bt	%1, $%a0			*/
--#line 396 "rl78-decode.opc"
-+#line 398 "rl78-decode.opc"
-                 int bit AU = (op[1] >> 4) & 0x07;
-                 if (trace)
-                   {
-@@ -898,7 +900,7 @@ rl78_decode_opcode (unsigned long pc AU,
-                     printf ("  bit = 0x%x\n", bit);
-                   }
-                 SYNTAX("bt	%1, $%a0");
--#line 396 "rl78-decode.opc"
-+#line 398 "rl78-decode.opc"
-                 ID(branch_cond); DC(pc+IMMS(1)+3); SR(A); SB(bit); COND(T);
- 
-               }
-@@ -906,7 +908,7 @@ rl78_decode_opcode (unsigned long pc AU,
-           case 0x04:
-               {
-                 /** 0011 0001 0bit 0100		bf	%s1, $%a0			*/
--#line 363 "rl78-decode.opc"
-+#line 365 "rl78-decode.opc"
-                 int bit AU = (op[1] >> 4) & 0x07;
-                 if (trace)
-                   {
-@@ -916,7 +918,7 @@ rl78_decode_opcode (unsigned long pc AU,
-                     printf ("  bit = 0x%x\n", bit);
-                   }
-                 SYNTAX("bf	%s1, $%a0");
--#line 363 "rl78-decode.opc"
-+#line 365 "rl78-decode.opc"
-                 ID(branch_cond); SM(None, SADDR); SB(bit); DC(pc+IMMS(1)+4); COND(F);
- 
-               /*----------------------------------------------------------------------*/
-@@ -926,7 +928,7 @@ rl78_decode_opcode (unsigned long pc AU,
-           case 0x05:
-               {
-                 /** 0011 0001 0bit 0101		bf	%1, $%a0			*/
--#line 357 "rl78-decode.opc"
-+#line 359 "rl78-decode.opc"
-                 int bit AU = (op[1] >> 4) & 0x07;
-                 if (trace)
-                   {
-@@ -936,7 +938,7 @@ rl78_decode_opcode (unsigned long pc AU,
-                     printf ("  bit = 0x%x\n", bit);
-                   }
-                 SYNTAX("bf	%1, $%a0");
--#line 357 "rl78-decode.opc"
-+#line 359 "rl78-decode.opc"
-                 ID(branch_cond); DC(pc+IMMS(1)+3); SR(A); SB(bit); COND(F);
- 
-               }
-@@ -944,7 +946,7 @@ rl78_decode_opcode (unsigned long pc AU,
-           case 0x07:
-               {
-                 /** 0011 0001 0cnt 0111		shl	%0, %1				*/
--#line 1075 "rl78-decode.opc"
-+#line 1077 "rl78-decode.opc"
-                 int cnt AU = (op[1] >> 4) & 0x07;
-                 if (trace)
-                   {
-@@ -954,7 +956,7 @@ rl78_decode_opcode (unsigned long pc AU,
-                     printf ("  cnt = 0x%x\n", cnt);
-                   }
-                 SYNTAX("shl	%0, %1");
--#line 1075 "rl78-decode.opc"
-+#line 1077 "rl78-decode.opc"
-                 ID(shl); DR(C); SC(cnt);
- 
-               }
-@@ -962,7 +964,7 @@ rl78_decode_opcode (unsigned long pc AU,
-           case 0x08:
-               {
-                 /** 0011 0001 0cnt 1000		shl	%0, %1				*/
--#line 1072 "rl78-decode.opc"
-+#line 1074 "rl78-decode.opc"
-                 int cnt AU = (op[1] >> 4) & 0x07;
-                 if (trace)
-                   {
-@@ -972,7 +974,7 @@ rl78_decode_opcode (unsigned long pc AU,
-                     printf ("  cnt = 0x%x\n", cnt);
-                   }
-                 SYNTAX("shl	%0, %1");
--#line 1072 "rl78-decode.opc"
-+#line 1074 "rl78-decode.opc"
-                 ID(shl); DR(B); SC(cnt);
- 
-               }
-@@ -980,7 +982,7 @@ rl78_decode_opcode (unsigned long pc AU,
-           case 0x09:
-               {
-                 /** 0011 0001 0cnt 1001		shl	%0, %1				*/
--#line 1069 "rl78-decode.opc"
-+#line 1071 "rl78-decode.opc"
-                 int cnt AU = (op[1] >> 4) & 0x07;
-                 if (trace)
-                   {
-@@ -990,7 +992,7 @@ rl78_decode_opcode (unsigned long pc AU,
-                     printf ("  cnt = 0x%x\n", cnt);
-                   }
-                 SYNTAX("shl	%0, %1");
--#line 1069 "rl78-decode.opc"
-+#line 1071 "rl78-decode.opc"
-                 ID(shl); DR(A); SC(cnt);
- 
-               }
-@@ -998,7 +1000,7 @@ rl78_decode_opcode (unsigned long pc AU,
-           case 0x0a:
-               {
-                 /** 0011 0001 0cnt 1010		shr	%0, %1				*/
--#line 1086 "rl78-decode.opc"
-+#line 1088 "rl78-decode.opc"
-                 int cnt AU = (op[1] >> 4) & 0x07;
-                 if (trace)
-                   {
-@@ -1008,7 +1010,7 @@ rl78_decode_opcode (unsigned long pc AU,
-                     printf ("  cnt = 0x%x\n", cnt);
-                   }
-                 SYNTAX("shr	%0, %1");
--#line 1086 "rl78-decode.opc"
-+#line 1088 "rl78-decode.opc"
-                 ID(shr); DR(A); SC(cnt);
- 
-               }
-@@ -1016,7 +1018,7 @@ rl78_decode_opcode (unsigned long pc AU,
-           case 0x0b:
-               {
-                 /** 0011 0001 0cnt 1011		sar	%0, %1				*/
--#line 1033 "rl78-decode.opc"
-+#line 1035 "rl78-decode.opc"
-                 int cnt AU = (op[1] >> 4) & 0x07;
-                 if (trace)
-                   {
-@@ -1026,7 +1028,7 @@ rl78_decode_opcode (unsigned long pc AU,
-                     printf ("  cnt = 0x%x\n", cnt);
-                   }
-                 SYNTAX("sar	%0, %1");
--#line 1033 "rl78-decode.opc"
-+#line 1035 "rl78-decode.opc"
-                 ID(sar); DR(A); SC(cnt);
- 
-               }
-@@ -1035,7 +1037,7 @@ rl78_decode_opcode (unsigned long pc AU,
-           case 0x8c:
-               {
-                 /** 0011 0001 wcnt 1100		shlw	%0, %1				*/
--#line 1081 "rl78-decode.opc"
-+#line 1083 "rl78-decode.opc"
-                 int wcnt AU = (op[1] >> 4) & 0x0f;
-                 if (trace)
-                   {
-@@ -1045,7 +1047,7 @@ rl78_decode_opcode (unsigned long pc AU,
-                     printf ("  wcnt = 0x%x\n", wcnt);
-                   }
-                 SYNTAX("shlw	%0, %1");
--#line 1081 "rl78-decode.opc"
-+#line 1083 "rl78-decode.opc"
-                 ID(shl); W(); DR(BC); SC(wcnt);
- 
-               /*----------------------------------------------------------------------*/
-@@ -1056,7 +1058,7 @@ rl78_decode_opcode (unsigned long pc AU,
-           case 0x8d:
-               {
-                 /** 0011 0001 wcnt 1101		shlw	%0, %1				*/
--#line 1078 "rl78-decode.opc"
-+#line 1080 "rl78-decode.opc"
-                 int wcnt AU = (op[1] >> 4) & 0x0f;
-                 if (trace)
-                   {
-@@ -1066,7 +1068,7 @@ rl78_decode_opcode (unsigned long pc AU,
-                     printf ("  wcnt = 0x%x\n", wcnt);
-                   }
-                 SYNTAX("shlw	%0, %1");
--#line 1078 "rl78-decode.opc"
-+#line 1080 "rl78-decode.opc"
-                 ID(shl); W(); DR(AX); SC(wcnt);
- 
-               }
-@@ -1075,7 +1077,7 @@ rl78_decode_opcode (unsigned long pc AU,
-           case 0x8e:
-               {
-                 /** 0011 0001 wcnt 1110		shrw	%0, %1				*/
--#line 1089 "rl78-decode.opc"
-+#line 1091 "rl78-decode.opc"
-                 int wcnt AU = (op[1] >> 4) & 0x0f;
-                 if (trace)
-                   {
-@@ -1085,7 +1087,7 @@ rl78_decode_opcode (unsigned long pc AU,
-                     printf ("  wcnt = 0x%x\n", wcnt);
-                   }
-                 SYNTAX("shrw	%0, %1");
--#line 1089 "rl78-decode.opc"
-+#line 1091 "rl78-decode.opc"
-                 ID(shr); W(); DR(AX); SC(wcnt);
- 
-               /*----------------------------------------------------------------------*/
-@@ -1096,7 +1098,7 @@ rl78_decode_opcode (unsigned long pc AU,
-           case 0x8f:
-               {
-                 /** 0011 0001 wcnt 1111		sarw	%0, %1				*/
--#line 1036 "rl78-decode.opc"
-+#line 1038 "rl78-decode.opc"
-                 int wcnt AU = (op[1] >> 4) & 0x0f;
-                 if (trace)
-                   {
-@@ -1106,7 +1108,7 @@ rl78_decode_opcode (unsigned long pc AU,
-                     printf ("  wcnt = 0x%x\n", wcnt);
-                   }
-                 SYNTAX("sarw	%0, %1");
--#line 1036 "rl78-decode.opc"
-+#line 1038 "rl78-decode.opc"
-                 ID(sar); W(); DR(AX); SC(wcnt);
- 
-               /*----------------------------------------------------------------------*/
-@@ -1116,7 +1118,7 @@ rl78_decode_opcode (unsigned long pc AU,
-           case 0x80:
-               {
-                 /** 0011 0001 1bit 0000		btclr	%s1, $%a0			*/
--#line 413 "rl78-decode.opc"
-+#line 415 "rl78-decode.opc"
-                 int bit AU = (op[1] >> 4) & 0x07;
-                 if (trace)
-                   {
-@@ -1126,7 +1128,7 @@ rl78_decode_opcode (unsigned long pc AU,
-                     printf ("  bit = 0x%x\n", bit);
-                   }
-                 SYNTAX("btclr	%s1, $%a0");
--#line 413 "rl78-decode.opc"
-+#line 415 "rl78-decode.opc"
-                 ID(branch_cond_clear); SM(None, SFR); SB(bit); DC(pc+IMMS(1)+4); COND(T);
- 
-               }
-@@ -1134,7 +1136,7 @@ rl78_decode_opcode (unsigned long pc AU,
-           case 0x81:
-               {
-                 /** 0011 0001 1bit 0001		btclr	%e1, $%a0			*/
--#line 407 "rl78-decode.opc"
-+#line 409 "rl78-decode.opc"
-                 int bit AU = (op[1] >> 4) & 0x07;
-                 if (trace)
-                   {
-@@ -1144,7 +1146,7 @@ rl78_decode_opcode (unsigned long pc AU,
-                     printf ("  bit = 0x%x\n", bit);
-                   }
-                 SYNTAX("btclr	%e1, $%a0");
--#line 407 "rl78-decode.opc"
-+#line 409 "rl78-decode.opc"
-                 ID(branch_cond_clear); DC(pc+IMMS(1)+3); SM(HL,0); SB(bit); COND(T);
- 
-               }
-@@ -1152,7 +1154,7 @@ rl78_decode_opcode (unsigned long pc AU,
-           case 0x82:
-               {
-                 /** 0011 0001 1bit 0010		bt	%s1, $%a0			*/
--#line 399 "rl78-decode.opc"
-+#line 401 "rl78-decode.opc"
-                 int bit AU = (op[1] >> 4) & 0x07;
-                 if (trace)
-                   {
-@@ -1162,7 +1164,7 @@ rl78_decode_opcode (unsigned long pc AU,
-                     printf ("  bit = 0x%x\n", bit);
-                   }
-                 SYNTAX("bt	%s1, $%a0");
--#line 399 "rl78-decode.opc"
-+#line 401 "rl78-decode.opc"
-                 ID(branch_cond); SM(None, SFR); SB(bit); DC(pc+IMMS(1)+4); COND(T);
- 
-               }
-@@ -1170,7 +1172,7 @@ rl78_decode_opcode (unsigned long pc AU,
-           case 0x83:
-               {
-                 /** 0011 0001 1bit 0011		bt	%e1, $%a0			*/
--#line 393 "rl78-decode.opc"
-+#line 395 "rl78-decode.opc"
-                 int bit AU = (op[1] >> 4) & 0x07;
-                 if (trace)
-                   {
-@@ -1180,7 +1182,7 @@ rl78_decode_opcode (unsigned long pc AU,
-                     printf ("  bit = 0x%x\n", bit);
-                   }
-                 SYNTAX("bt	%e1, $%a0");
--#line 393 "rl78-decode.opc"
-+#line 395 "rl78-decode.opc"
-                 ID(branch_cond); DC(pc+IMMS(1)+3); SM(HL,0); SB(bit); COND(T);
- 
-               }
-@@ -1188,7 +1190,7 @@ rl78_decode_opcode (unsigned long pc AU,
-           case 0x84:
-               {
-                 /** 0011 0001 1bit 0100		bf	%s1, $%a0			*/
--#line 360 "rl78-decode.opc"
-+#line 362 "rl78-decode.opc"
-                 int bit AU = (op[1] >> 4) & 0x07;
-                 if (trace)
-                   {
-@@ -1198,7 +1200,7 @@ rl78_decode_opcode (unsigned long pc AU,
-                     printf ("  bit = 0x%x\n", bit);
-                   }
-                 SYNTAX("bf	%s1, $%a0");
--#line 360 "rl78-decode.opc"
-+#line 362 "rl78-decode.opc"
-                 ID(branch_cond); SM(None, SFR); SB(bit); DC(pc+IMMS(1)+4); COND(F);
- 
-               }
-@@ -1206,7 +1208,7 @@ rl78_decode_opcode (unsigned long pc AU,
-           case 0x85:
-               {
-                 /** 0011 0001 1bit 0101		bf	%e1, $%a0			*/
--#line 354 "rl78-decode.opc"
-+#line 356 "rl78-decode.opc"
-                 int bit AU = (op[1] >> 4) & 0x07;
-                 if (trace)
-                   {
-@@ -1216,7 +1218,7 @@ rl78_decode_opcode (unsigned long pc AU,
-                     printf ("  bit = 0x%x\n", bit);
-                   }
-                 SYNTAX("bf	%e1, $%a0");
--#line 354 "rl78-decode.opc"
-+#line 356 "rl78-decode.opc"
-                 ID(branch_cond); DC(pc+IMMS(1)+3); SM(HL,0); SB(bit); COND(F);
- 
-               }
-@@ -1229,7 +1231,7 @@ rl78_decode_opcode (unsigned long pc AU,
-     case 0x37:
-         {
-           /** 0011 0ra1			xchw	%0, %1				*/
--#line 1239 "rl78-decode.opc"
-+#line 1241 "rl78-decode.opc"
-           int ra AU = (op[0] >> 1) & 0x03;
-           if (trace)
-             {
-@@ -1239,7 +1241,7 @@ rl78_decode_opcode (unsigned long pc AU,
-               printf ("  ra = 0x%x\n", ra);
-             }
-           SYNTAX("xchw	%0, %1");
--#line 1239 "rl78-decode.opc"
-+#line 1241 "rl78-decode.opc"
-           ID(xch); W(); DR(AX); SRW(ra);
- 
-         /*----------------------------------------------------------------------*/
-@@ -1256,7 +1258,7 @@ rl78_decode_opcode (unsigned long pc AU,
-                      op[0]);
-             }
-           SYNTAX("mov	%e0, #%1");
--#line 738 "rl78-decode.opc"
-+#line 740 "rl78-decode.opc"
-           ID(mov); DM(C, IMMU(2)); SC(IMMU(1));
- 
-         }
-@@ -1271,7 +1273,7 @@ rl78_decode_opcode (unsigned long pc AU,
-                      op[0]);
-             }
-           SYNTAX("mov	%e0, #%1");
--#line 732 "rl78-decode.opc"
-+#line 734 "rl78-decode.opc"
-           ID(mov); DM(BC, IMMU(2)); SC(IMMU(1));
- 
-         }
-@@ -1286,7 +1288,7 @@ rl78_decode_opcode (unsigned long pc AU,
-                      op[0]);
-             }
-           SYNTAX("subc	%0, #%1");
--#line 1178 "rl78-decode.opc"
-+#line 1180 "rl78-decode.opc"
-           ID(subc); DM(None, SADDR); SC(IMMU(1)); Fzac;
- 
-         /*----------------------------------------------------------------------*/
-@@ -1303,7 +1305,7 @@ rl78_decode_opcode (unsigned long pc AU,
-                      op[0]);
-             }
-           SYNTAX("subc	%0, %1");
--#line 1175 "rl78-decode.opc"
-+#line 1177 "rl78-decode.opc"
-           ID(subc); DR(A); SM(None, SADDR); Fzac;
- 
-         }
-@@ -1318,7 +1320,7 @@ rl78_decode_opcode (unsigned long pc AU,
-                      op[0]);
-             }
-           SYNTAX("subc	%0, #%1");
--#line 1166 "rl78-decode.opc"
-+#line 1168 "rl78-decode.opc"
-           ID(subc); DR(A); SC(IMMU(1)); Fzac;
- 
-         }
-@@ -1333,7 +1335,7 @@ rl78_decode_opcode (unsigned long pc AU,
-                      op[0]);
-             }
-           SYNTAX("subc	%0, %e1");
--#line 1154 "rl78-decode.opc"
-+#line 1156 "rl78-decode.opc"
-           ID(subc); DR(A); SM(HL, 0); Fzac;
- 
-         }
-@@ -1348,7 +1350,7 @@ rl78_decode_opcode (unsigned long pc AU,
-                      op[0]);
-             }
-           SYNTAX("subc	%0, %ea1");
--#line 1163 "rl78-decode.opc"
-+#line 1165 "rl78-decode.opc"
-           ID(subc); DR(A); SM(HL, IMMU(1)); Fzac;
- 
-         }
-@@ -1363,7 +1365,7 @@ rl78_decode_opcode (unsigned long pc AU,
-                      op[0]);
-             }
-           SYNTAX("subc	%0, %e!1");
--#line 1151 "rl78-decode.opc"
-+#line 1153 "rl78-decode.opc"
-           ID(subc); DR(A); SM(None, IMMU(2)); Fzac;
- 
-         }
-@@ -1378,7 +1380,7 @@ rl78_decode_opcode (unsigned long pc AU,
-                      op[0]);
-             }
-           SYNTAX("cmp	%e!0, #%1");
--#line 480 "rl78-decode.opc"
-+#line 482 "rl78-decode.opc"
-           ID(cmp); DM(None, IMMU(2)); SC(IMMU(1)); Fzac;
- 
-         }
-@@ -1393,7 +1395,7 @@ rl78_decode_opcode (unsigned long pc AU,
-                      op[0]);
-             }
-           SYNTAX("mov	%0, #%1");
--#line 717 "rl78-decode.opc"
-+#line 719 "rl78-decode.opc"
-           ID(mov); DR(ES); SC(IMMU(1));
- 
-         }
-@@ -1408,7 +1410,7 @@ rl78_decode_opcode (unsigned long pc AU,
-                      op[0]);
-             }
-           SYNTAX("cmpw	%0, %e!1");
--#line 531 "rl78-decode.opc"
-+#line 533 "rl78-decode.opc"
-           ID(cmp); W(); DR(AX); SM(None, IMMU(2)); Fzac;
- 
-         }
-@@ -1418,7 +1420,7 @@ rl78_decode_opcode (unsigned long pc AU,
-     case 0x47:
-         {
-           /** 0100 0ra1			cmpw	%0, %1				*/
--#line 540 "rl78-decode.opc"
-+#line 542 "rl78-decode.opc"
-           int ra AU = (op[0] >> 1) & 0x03;
-           if (trace)
-             {
-@@ -1428,7 +1430,7 @@ rl78_decode_opcode (unsigned long pc AU,
-               printf ("  ra = 0x%x\n", ra);
-             }
-           SYNTAX("cmpw	%0, %1");
--#line 540 "rl78-decode.opc"
-+#line 542 "rl78-decode.opc"
-           ID(cmp); W(); DR(AX); SRW(ra); Fzac;
- 
-         }
-@@ -1443,7 +1445,7 @@ rl78_decode_opcode (unsigned long pc AU,
-                      op[0]);
-             }
-           SYNTAX("cmpw	%0, #%1");
--#line 537 "rl78-decode.opc"
-+#line 539 "rl78-decode.opc"
-           ID(cmp); W(); DR(AX); SC(IMMU(2)); Fzac;
- 
-         }
-@@ -1458,7 +1460,7 @@ rl78_decode_opcode (unsigned long pc AU,
-                      op[0]);
-             }
-           SYNTAX("cmpw	%0, %1");
--#line 543 "rl78-decode.opc"
-+#line 545 "rl78-decode.opc"
-           ID(cmp); W(); DR(AX); SM(None, SADDR); Fzac;
- 
-         /*----------------------------------------------------------------------*/
-@@ -1475,7 +1477,7 @@ rl78_decode_opcode (unsigned long pc AU,
-                      op[0]);
-             }
-           SYNTAX("mov	%e0, %1");
--#line 735 "rl78-decode.opc"
-+#line 737 "rl78-decode.opc"
-           ID(mov); DM(BC, IMMU(2)); SR(A);
- 
-         }
-@@ -1490,7 +1492,7 @@ rl78_decode_opcode (unsigned long pc AU,
-                      op[0]);
-             }
-           SYNTAX("mov	%0, %e1");
--#line 681 "rl78-decode.opc"
-+#line 683 "rl78-decode.opc"
-           ID(mov); DR(A); SM(BC, IMMU(2));
- 
-         }
-@@ -1505,7 +1507,7 @@ rl78_decode_opcode (unsigned long pc AU,
-                      op[0]);
-             }
-           SYNTAX("cmp	%0, #%1");
--#line 483 "rl78-decode.opc"
-+#line 485 "rl78-decode.opc"
-           ID(cmp); DM(None, SADDR); SC(IMMU(1)); Fzac;
- 
-         }
-@@ -1520,7 +1522,7 @@ rl78_decode_opcode (unsigned long pc AU,
-                      op[0]);
-             }
-           SYNTAX("cmp	%0, %1");
--#line 510 "rl78-decode.opc"
-+#line 512 "rl78-decode.opc"
-           ID(cmp); DR(A); SM(None, SADDR); Fzac;
- 
-         /*----------------------------------------------------------------------*/
-@@ -1537,7 +1539,7 @@ rl78_decode_opcode (unsigned long pc AU,
-                      op[0]);
-             }
-           SYNTAX("cmp	%0, #%1");
--#line 501 "rl78-decode.opc"
-+#line 503 "rl78-decode.opc"
-           ID(cmp); DR(A); SC(IMMU(1)); Fzac;
- 
-         }
-@@ -1552,7 +1554,7 @@ rl78_decode_opcode (unsigned long pc AU,
-                      op[0]);
-             }
-           SYNTAX("cmp	%0, %e1");
--#line 489 "rl78-decode.opc"
-+#line 491 "rl78-decode.opc"
-           ID(cmp); DR(A); SM(HL, 0); Fzac;
- 
-         }
-@@ -1567,7 +1569,7 @@ rl78_decode_opcode (unsigned long pc AU,
-                      op[0]);
-             }
-           SYNTAX("cmp	%0, %ea1");
--#line 498 "rl78-decode.opc"
-+#line 500 "rl78-decode.opc"
-           ID(cmp); DR(A); SM(HL, IMMU(1)); Fzac;
- 
-         }
-@@ -1582,7 +1584,7 @@ rl78_decode_opcode (unsigned long pc AU,
-                      op[0]);
-             }
-           SYNTAX("cmp	%0, %e!1");
--#line 486 "rl78-decode.opc"
-+#line 488 "rl78-decode.opc"
-           ID(cmp); DR(A); SM(None, IMMU(2)); Fzac;
- 
-         }
-@@ -1597,7 +1599,7 @@ rl78_decode_opcode (unsigned long pc AU,
-     case 0x57:
-         {
-           /** 0101 0reg			mov	%0, #%1				*/
--#line 669 "rl78-decode.opc"
-+#line 671 "rl78-decode.opc"
-           int reg AU = op[0] & 0x07;
-           if (trace)
-             {
-@@ -1607,7 +1609,7 @@ rl78_decode_opcode (unsigned long pc AU,
-               printf ("  reg = 0x%x\n", reg);
-             }
-           SYNTAX("mov	%0, #%1");
--#line 669 "rl78-decode.opc"
-+#line 671 "rl78-decode.opc"
-           ID(mov); DRB(reg); SC(IMMU(1));
- 
-         }
-@@ -1622,7 +1624,7 @@ rl78_decode_opcode (unsigned long pc AU,
-                      op[0]);
-             }
-           SYNTAX("movw	%e0, %1");
--#line 871 "rl78-decode.opc"
-+#line 873 "rl78-decode.opc"
-           ID(mov); W(); DM(B, IMMU(2)); SR(AX);
- 
-         }
-@@ -1637,7 +1639,7 @@ rl78_decode_opcode (unsigned long pc AU,
-                      op[0]);
-             }
-           SYNTAX("movw	%0, %e1");
--#line 862 "rl78-decode.opc"
-+#line 864 "rl78-decode.opc"
-           ID(mov); W(); DR(AX); SM(B, IMMU(2));
- 
-         }
-@@ -1652,7 +1654,7 @@ rl78_decode_opcode (unsigned long pc AU,
-                      op[0]);
-             }
-           SYNTAX("and	%0, #%1");
--#line 312 "rl78-decode.opc"
-+#line 314 "rl78-decode.opc"
-           ID(and); DM(None, SADDR); SC(IMMU(1)); Fz;
- 
-         /*----------------------------------------------------------------------*/
-@@ -1669,7 +1671,7 @@ rl78_decode_opcode (unsigned long pc AU,
-                      op[0]);
-             }
-           SYNTAX("and	%0, %1");
--#line 309 "rl78-decode.opc"
-+#line 311 "rl78-decode.opc"
-           ID(and); DR(A); SM(None, SADDR); Fz;
- 
-         }
-@@ -1684,7 +1686,7 @@ rl78_decode_opcode (unsigned long pc AU,
-                      op[0]);
-             }
-           SYNTAX("and	%0, #%1");
--#line 300 "rl78-decode.opc"
-+#line 302 "rl78-decode.opc"
-           ID(and); DR(A); SC(IMMU(1)); Fz;
- 
-         }
-@@ -1699,7 +1701,7 @@ rl78_decode_opcode (unsigned long pc AU,
-                      op[0]);
-             }
-           SYNTAX("and	%0, %e1");
--#line 288 "rl78-decode.opc"
-+#line 290 "rl78-decode.opc"
-           ID(and); DR(A); SM(HL, 0); Fz;
- 
-         }
-@@ -1714,7 +1716,7 @@ rl78_decode_opcode (unsigned long pc AU,
-                      op[0]);
-             }
-           SYNTAX("and	%0, %ea1");
--#line 294 "rl78-decode.opc"
-+#line 296 "rl78-decode.opc"
-           ID(and); DR(A); SM(HL, IMMU(1)); Fz;
- 
-         }
-@@ -1729,7 +1731,7 @@ rl78_decode_opcode (unsigned long pc AU,
-                      op[0]);
-             }
-           SYNTAX("and	%0, %e!1");
--#line 285 "rl78-decode.opc"
-+#line 287 "rl78-decode.opc"
-           ID(and); DR(A); SM(None, IMMU(2)); Fz;
- 
-         }
-@@ -1743,7 +1745,7 @@ rl78_decode_opcode (unsigned long pc AU,
-     case 0x67:
-         {
-           /** 0110 0rba			mov	%0, %1				*/
--#line 672 "rl78-decode.opc"
-+#line 674 "rl78-decode.opc"
-           int rba AU = op[0] & 0x07;
-           if (trace)
-             {
-@@ -1753,7 +1755,7 @@ rl78_decode_opcode (unsigned long pc AU,
-               printf ("  rba = 0x%x\n", rba);
-             }
-           SYNTAX("mov	%0, %1");
--#line 672 "rl78-decode.opc"
-+#line 674 "rl78-decode.opc"
-           ID(mov); DR(A); SRB(rba);
- 
-         }
-@@ -1772,7 +1774,7 @@ rl78_decode_opcode (unsigned long pc AU,
-           case 0x07:
-               {
-                 /** 0110 0001 0000 0reg		add	%0, %1				*/
--#line 225 "rl78-decode.opc"
-+#line 227 "rl78-decode.opc"
-                 int reg AU = op[1] & 0x07;
-                 if (trace)
-                   {
-@@ -1782,7 +1784,7 @@ rl78_decode_opcode (unsigned long pc AU,
-                     printf ("  reg = 0x%x\n", reg);
-                   }
-                 SYNTAX("add	%0, %1");
--#line 225 "rl78-decode.opc"
-+#line 227 "rl78-decode.opc"
-                 ID(add); DRB(reg); SR(A); Fzac;
- 
-               }
-@@ -1796,7 +1798,7 @@ rl78_decode_opcode (unsigned long pc AU,
-           case 0x0f:
-               {
-                 /** 0110 0001 0000 1rba		add	%0, %1				*/
--#line 219 "rl78-decode.opc"
-+#line 221 "rl78-decode.opc"
-                 int rba AU = op[1] & 0x07;
-                 if (trace)
-                   {
-@@ -1806,7 +1808,7 @@ rl78_decode_opcode (unsigned long pc AU,
-                     printf ("  rba = 0x%x\n", rba);
-                   }
-                 SYNTAX("add	%0, %1");
--#line 219 "rl78-decode.opc"
-+#line 221 "rl78-decode.opc"
-                 ID(add); DR(A); SRB(rba); Fzac;
- 
-               }
-@@ -1821,7 +1823,7 @@ rl78_decode_opcode (unsigned long pc AU,
-                            op[0], op[1]);
-                   }
-                 SYNTAX("addw	%0, %ea1");
--#line 268 "rl78-decode.opc"
-+#line 270 "rl78-decode.opc"
-                 ID(add); W(); DR(AX); SM(HL, IMMU(1)); Fzac;
- 
-               }
-@@ -1836,7 +1838,7 @@ rl78_decode_opcode (unsigned long pc AU,
-           case 0x17:
-               {
-                 /** 0110 0001 0001 0reg		addc	%0, %1				*/
--#line 254 "rl78-decode.opc"
-+#line 256 "rl78-decode.opc"
-                 int reg AU = op[1] & 0x07;
-                 if (trace)
-                   {
-@@ -1846,7 +1848,7 @@ rl78_decode_opcode (unsigned long pc AU,
-                     printf ("  reg = 0x%x\n", reg);
-                   }
-                 SYNTAX("addc	%0, %1");
--#line 254 "rl78-decode.opc"
-+#line 256 "rl78-decode.opc"
-                 ID(addc); DRB(reg); SR(A); Fzac;
- 
-               }
-@@ -1860,7 +1862,7 @@ rl78_decode_opcode (unsigned long pc AU,
-           case 0x1f:
-               {
-                 /** 0110 0001 0001 1rba		addc	%0, %1				*/
--#line 251 "rl78-decode.opc"
-+#line 253 "rl78-decode.opc"
-                 int rba AU = op[1] & 0x07;
-                 if (trace)
-                   {
-@@ -1870,7 +1872,7 @@ rl78_decode_opcode (unsigned long pc AU,
-                     printf ("  rba = 0x%x\n", rba);
-                   }
-                 SYNTAX("addc	%0, %1");
--#line 251 "rl78-decode.opc"
-+#line 253 "rl78-decode.opc"
-                 ID(addc); DR(A); SRB(rba); Fzac;
- 
-               }
-@@ -1885,7 +1887,7 @@ rl78_decode_opcode (unsigned long pc AU,
-           case 0x27:
-               {
-                 /** 0110 0001 0010 0reg		sub	%0, %1				*/
--#line 1143 "rl78-decode.opc"
-+#line 1145 "rl78-decode.opc"
-                 int reg AU = op[1] & 0x07;
-                 if (trace)
-                   {
-@@ -1895,7 +1897,7 @@ rl78_decode_opcode (unsigned long pc AU,
-                     printf ("  reg = 0x%x\n", reg);
-                   }
-                 SYNTAX("sub	%0, %1");
--#line 1143 "rl78-decode.opc"
-+#line 1145 "rl78-decode.opc"
-                 ID(sub); DRB(reg); SR(A); Fzac;
- 
-               }
-@@ -1909,7 +1911,7 @@ rl78_decode_opcode (unsigned long pc AU,
-           case 0x2f:
-               {
-                 /** 0110 0001 0010 1rba		sub	%0, %1				*/
--#line 1137 "rl78-decode.opc"
-+#line 1139 "rl78-decode.opc"
-                 int rba AU = op[1] & 0x07;
-                 if (trace)
-                   {
-@@ -1919,7 +1921,7 @@ rl78_decode_opcode (unsigned long pc AU,
-                     printf ("  rba = 0x%x\n", rba);
-                   }
-                 SYNTAX("sub	%0, %1");
--#line 1137 "rl78-decode.opc"
-+#line 1139 "rl78-decode.opc"
-                 ID(sub); DR(A); SRB(rba); Fzac;
- 
-               }
-@@ -1934,7 +1936,7 @@ rl78_decode_opcode (unsigned long pc AU,
-                            op[0], op[1]);
-                   }
-                 SYNTAX("subw	%0, %ea1");
--#line 1186 "rl78-decode.opc"
-+#line 1188 "rl78-decode.opc"
-                 ID(sub); W(); DR(AX); SM(HL, IMMU(1)); Fzac;
- 
-               }
-@@ -1949,7 +1951,7 @@ rl78_decode_opcode (unsigned long pc AU,
-           case 0x37:
-               {
-                 /** 0110 0001 0011 0reg		subc	%0, %1				*/
--#line 1172 "rl78-decode.opc"
-+#line 1174 "rl78-decode.opc"
-                 int reg AU = op[1] & 0x07;
-                 if (trace)
-                   {
-@@ -1959,7 +1961,7 @@ rl78_decode_opcode (unsigned long pc AU,
-                     printf ("  reg = 0x%x\n", reg);
-                   }
-                 SYNTAX("subc	%0, %1");
--#line 1172 "rl78-decode.opc"
-+#line 1174 "rl78-decode.opc"
-                 ID(subc); DRB(reg); SR(A); Fzac;
- 
-               }
-@@ -1973,7 +1975,7 @@ rl78_decode_opcode (unsigned long pc AU,
-           case 0x3f:
-               {
-                 /** 0110 0001 0011 1rba		subc	%0, %1				*/
--#line 1169 "rl78-decode.opc"
-+#line 1171 "rl78-decode.opc"
-                 int rba AU = op[1] & 0x07;
-                 if (trace)
-                   {
-@@ -1983,7 +1985,7 @@ rl78_decode_opcode (unsigned long pc AU,
-                     printf ("  rba = 0x%x\n", rba);
-                   }
-                 SYNTAX("subc	%0, %1");
--#line 1169 "rl78-decode.opc"
-+#line 1171 "rl78-decode.opc"
-                 ID(subc); DR(A); SRB(rba); Fzac;
- 
-               }
-@@ -1998,7 +2000,7 @@ rl78_decode_opcode (unsigned long pc AU,
-           case 0x47:
-               {
-                 /** 0110 0001 0100 0reg		cmp	%0, %1				*/
--#line 507 "rl78-decode.opc"
-+#line 509 "rl78-decode.opc"
-                 int reg AU = op[1] & 0x07;
-                 if (trace)
-                   {
-@@ -2008,7 +2010,7 @@ rl78_decode_opcode (unsigned long pc AU,
-                     printf ("  reg = 0x%x\n", reg);
-                   }
-                 SYNTAX("cmp	%0, %1");
--#line 507 "rl78-decode.opc"
-+#line 509 "rl78-decode.opc"
-                 ID(cmp); DRB(reg); SR(A); Fzac;
- 
-               }
-@@ -2022,7 +2024,7 @@ rl78_decode_opcode (unsigned long pc AU,
-           case 0x4f:
-               {
-                 /** 0110 0001 0100 1rba		cmp	%0, %1				*/
--#line 504 "rl78-decode.opc"
-+#line 506 "rl78-decode.opc"
-                 int rba AU = op[1] & 0x07;
-                 if (trace)
-                   {
-@@ -2032,7 +2034,7 @@ rl78_decode_opcode (unsigned long pc AU,
-                     printf ("  rba = 0x%x\n", rba);
-                   }
-                 SYNTAX("cmp	%0, %1");
--#line 504 "rl78-decode.opc"
-+#line 506 "rl78-decode.opc"
-                 ID(cmp); DR(A); SRB(rba); Fzac;
- 
-               }
-@@ -2047,7 +2049,7 @@ rl78_decode_opcode (unsigned long pc AU,
-                            op[0], op[1]);
-                   }
-                 SYNTAX("cmpw	%0, %ea1");
--#line 534 "rl78-decode.opc"
-+#line 536 "rl78-decode.opc"
-                 ID(cmp); W(); DR(AX); SM(HL, IMMU(1)); Fzac;
- 
-               }
-@@ -2062,7 +2064,7 @@ rl78_decode_opcode (unsigned long pc AU,
-           case 0x57:
-               {
-                 /** 0110 0001 0101 0reg		and	%0, %1				*/
--#line 306 "rl78-decode.opc"
-+#line 308 "rl78-decode.opc"
-                 int reg AU = op[1] & 0x07;
-                 if (trace)
-                   {
-@@ -2072,7 +2074,7 @@ rl78_decode_opcode (unsigned long pc AU,
-                     printf ("  reg = 0x%x\n", reg);
-                   }
-                 SYNTAX("and	%0, %1");
--#line 306 "rl78-decode.opc"
-+#line 308 "rl78-decode.opc"
-                 ID(and); DRB(reg); SR(A); Fz;
- 
-               }
-@@ -2086,7 +2088,7 @@ rl78_decode_opcode (unsigned long pc AU,
-           case 0x5f:
-               {
-                 /** 0110 0001 0101 1rba		and	%0, %1				*/
--#line 303 "rl78-decode.opc"
-+#line 305 "rl78-decode.opc"
-                 int rba AU = op[1] & 0x07;
-                 if (trace)
-                   {
-@@ -2096,7 +2098,7 @@ rl78_decode_opcode (unsigned long pc AU,
-                     printf ("  rba = 0x%x\n", rba);
-                   }
-                 SYNTAX("and	%0, %1");
--#line 303 "rl78-decode.opc"
-+#line 305 "rl78-decode.opc"
-                 ID(and); DR(A); SRB(rba); Fz;
- 
-               }
-@@ -2111,7 +2113,7 @@ rl78_decode_opcode (unsigned long pc AU,
-                            op[0], op[1]);
-                   }
-                 SYNTAX("inc	%ea0");
--#line 584 "rl78-decode.opc"
-+#line 586 "rl78-decode.opc"
-                 ID(add); DM(HL, IMMU(1)); SC(1); Fza;
- 
-               }
-@@ -2126,7 +2128,7 @@ rl78_decode_opcode (unsigned long pc AU,
-           case 0x67:
-               {
-                 /** 0110 0001 0110 0reg		or	%0, %1				*/
--#line 961 "rl78-decode.opc"
-+#line 963 "rl78-decode.opc"
-                 int reg AU = op[1] & 0x07;
-                 if (trace)
-                   {
-@@ -2136,7 +2138,7 @@ rl78_decode_opcode (unsigned long pc AU,
-                     printf ("  reg = 0x%x\n", reg);
-                   }
-                 SYNTAX("or	%0, %1");
--#line 961 "rl78-decode.opc"
-+#line 963 "rl78-decode.opc"
-                 ID(or); DRB(reg); SR(A); Fz;
- 
-               }
-@@ -2150,7 +2152,7 @@ rl78_decode_opcode (unsigned long pc AU,
-           case 0x6f:
-               {
-                 /** 0110 0001 0110 1rba		or	%0, %1				*/
--#line 958 "rl78-decode.opc"
-+#line 960 "rl78-decode.opc"
-                 int rba AU = op[1] & 0x07;
-                 if (trace)
-                   {
-@@ -2160,7 +2162,7 @@ rl78_decode_opcode (unsigned long pc AU,
-                     printf ("  rba = 0x%x\n", rba);
-                   }
-                 SYNTAX("or	%0, %1");
--#line 958 "rl78-decode.opc"
-+#line 960 "rl78-decode.opc"
-                 ID(or); DR(A); SRB(rba); Fz;
- 
-               }
-@@ -2175,7 +2177,7 @@ rl78_decode_opcode (unsigned long pc AU,
-                            op[0], op[1]);
-                   }
-                 SYNTAX("dec	%ea0");
--#line 551 "rl78-decode.opc"
-+#line 553 "rl78-decode.opc"
-                 ID(sub); DM(HL, IMMU(1)); SC(1); Fza;
- 
-               }
-@@ -2190,7 +2192,7 @@ rl78_decode_opcode (unsigned long pc AU,
-           case 0x77:
-               {
-                 /** 0110 0001 0111 0reg		xor	%0, %1				*/
--#line 1265 "rl78-decode.opc"
-+#line 1267 "rl78-decode.opc"
-                 int reg AU = op[1] & 0x07;
-                 if (trace)
-                   {
-@@ -2200,7 +2202,7 @@ rl78_decode_opcode (unsigned long pc AU,
-                     printf ("  reg = 0x%x\n", reg);
-                   }
-                 SYNTAX("xor	%0, %1");
--#line 1265 "rl78-decode.opc"
-+#line 1267 "rl78-decode.opc"
-                 ID(xor); DRB(reg); SR(A); Fz;
- 
-               }
-@@ -2214,7 +2216,7 @@ rl78_decode_opcode (unsigned long pc AU,
-           case 0x7f:
-               {
-                 /** 0110 0001 0111 1rba		xor	%0, %1				*/
--#line 1262 "rl78-decode.opc"
-+#line 1264 "rl78-decode.opc"
-                 int rba AU = op[1] & 0x07;
-                 if (trace)
-                   {
-@@ -2224,7 +2226,7 @@ rl78_decode_opcode (unsigned long pc AU,
-                     printf ("  rba = 0x%x\n", rba);
-                   }
-                 SYNTAX("xor	%0, %1");
--#line 1262 "rl78-decode.opc"
-+#line 1264 "rl78-decode.opc"
-                 ID(xor); DR(A); SRB(rba); Fz;
- 
-               }
-@@ -2239,7 +2241,7 @@ rl78_decode_opcode (unsigned long pc AU,
-                            op[0], op[1]);
-                   }
-                 SYNTAX("incw	%ea0");
--#line 598 "rl78-decode.opc"
-+#line 600 "rl78-decode.opc"
-                 ID(add); W(); DM(HL, IMMU(1)); SC(1);
- 
-               }
-@@ -2255,7 +2257,7 @@ rl78_decode_opcode (unsigned long pc AU,
-                            op[0], op[1]);
-                   }
-                 SYNTAX("add	%0, %e1");
--#line 207 "rl78-decode.opc"
-+#line 209 "rl78-decode.opc"
-                 ID(add); DR(A); SM2(HL, B, 0); Fzac;
- 
-               }
-@@ -2270,7 +2272,7 @@ rl78_decode_opcode (unsigned long pc AU,
-                            op[0], op[1]);
-                   }
-                 SYNTAX("add	%0, %e1");
--#line 213 "rl78-decode.opc"
-+#line 215 "rl78-decode.opc"
-                 ID(add); DR(A); SM2(HL, C, 0); Fzac;
- 
-               }
-@@ -2309,9 +2311,9 @@ rl78_decode_opcode (unsigned long pc AU,
-           case 0xf7:
-               {
-                 /** 0110 0001 1nnn 01mm		callt	[%x0]				*/
--#line 433 "rl78-decode.opc"
-+#line 435 "rl78-decode.opc"
-                 int nnn AU = (op[1] >> 4) & 0x07;
--#line 433 "rl78-decode.opc"
-+#line 435 "rl78-decode.opc"
-                 int mm AU = op[1] & 0x03;
-                 if (trace)
-                   {
-@@ -2322,7 +2324,7 @@ rl78_decode_opcode (unsigned long pc AU,
-                     printf ("  mm = 0x%x\n", mm);
-                   }
-                 SYNTAX("callt	[%x0]");
--#line 433 "rl78-decode.opc"
-+#line 435 "rl78-decode.opc"
-                 ID(call); DM(None, 0x80 + mm*16 + nnn*2);
- 
-               /*----------------------------------------------------------------------*/
-@@ -2338,7 +2340,7 @@ rl78_decode_opcode (unsigned long pc AU,
-           case 0x8f:
-               {
-                 /** 0110 0001 1000 1reg		xch	%0, %1				*/
--#line 1224 "rl78-decode.opc"
-+#line 1226 "rl78-decode.opc"
-                 int reg AU = op[1] & 0x07;
-                 if (trace)
-                   {
-@@ -2348,7 +2350,7 @@ rl78_decode_opcode (unsigned long pc AU,
-                     printf ("  reg = 0x%x\n", reg);
-                   }
-                 SYNTAX("xch	%0, %1");
--#line 1224 "rl78-decode.opc"
-+#line 1226 "rl78-decode.opc"
-                 /* Note: DECW uses reg == X, so this must follow DECW */
-                 ID(xch); DR(A); SRB(reg);
- 
-@@ -2364,7 +2366,7 @@ rl78_decode_opcode (unsigned long pc AU,
-                            op[0], op[1]);
-                   }
-                 SYNTAX("decw	%ea0");
--#line 565 "rl78-decode.opc"
-+#line 567 "rl78-decode.opc"
-                 ID(sub); W(); DM(HL, IMMU(1)); SC(1);
- 
-               }
-@@ -2379,7 +2381,7 @@ rl78_decode_opcode (unsigned long pc AU,
-                            op[0], op[1]);
-                   }
-                 SYNTAX("addc	%0, %e1");
--#line 239 "rl78-decode.opc"
-+#line 241 "rl78-decode.opc"
-                 ID(addc); DR(A); SM2(HL, B, 0); Fzac;
- 
-               }
-@@ -2394,7 +2396,7 @@ rl78_decode_opcode (unsigned long pc AU,
-                            op[0], op[1]);
-                   }
-                 SYNTAX("addc	%0, %e1");
--#line 242 "rl78-decode.opc"
-+#line 244 "rl78-decode.opc"
-                 ID(addc); DR(A); SM2(HL, C, 0); Fzac;
- 
-               }
-@@ -2410,7 +2412,7 @@ rl78_decode_opcode (unsigned long pc AU,
-                            op[0], op[1]);
-                   }
-                 SYNTAX("sub	%0, %e1");
--#line 1125 "rl78-decode.opc"
-+#line 1127 "rl78-decode.opc"
-                 ID(sub); DR(A); SM2(HL, B, 0); Fzac;
- 
-               }
-@@ -2425,7 +2427,7 @@ rl78_decode_opcode (unsigned long pc AU,
-                            op[0], op[1]);
-                   }
-                 SYNTAX("sub	%0, %e1");
--#line 1131 "rl78-decode.opc"
-+#line 1133 "rl78-decode.opc"
-                 ID(sub); DR(A); SM2(HL, C, 0); Fzac;
- 
-               }
-@@ -2440,7 +2442,7 @@ rl78_decode_opcode (unsigned long pc AU,
-                            op[0], op[1]);
-                   }
-                 SYNTAX("xch	%0, %1");
--#line 1228 "rl78-decode.opc"
-+#line 1230 "rl78-decode.opc"
-                 ID(xch); DR(A); SM(None, SADDR);
- 
-               }
-@@ -2455,7 +2457,7 @@ rl78_decode_opcode (unsigned long pc AU,
-                            op[0], op[1]);
-                   }
-                 SYNTAX("xch	%0, %e1");
--#line 1221 "rl78-decode.opc"
-+#line 1223 "rl78-decode.opc"
-                 ID(xch); DR(A); SM2(HL, C, 0);
- 
-               }
-@@ -2470,7 +2472,7 @@ rl78_decode_opcode (unsigned long pc AU,
-                            op[0], op[1]);
-                   }
-                 SYNTAX("xch	%0, %e!1");
--#line 1203 "rl78-decode.opc"
-+#line 1205 "rl78-decode.opc"
-                 ID(xch); DR(A); SM(None, IMMU(2));
- 
-               }
-@@ -2485,7 +2487,7 @@ rl78_decode_opcode (unsigned long pc AU,
-                            op[0], op[1]);
-                   }
-                 SYNTAX("xch	%0, %s1");
--#line 1231 "rl78-decode.opc"
-+#line 1233 "rl78-decode.opc"
-                 ID(xch); DR(A); SM(None, SFR);
- 
-               }
-@@ -2500,7 +2502,7 @@ rl78_decode_opcode (unsigned long pc AU,
-                            op[0], op[1]);
-                   }
-                 SYNTAX("xch	%0, %e1");
--#line 1212 "rl78-decode.opc"
-+#line 1214 "rl78-decode.opc"
-                 ID(xch); DR(A); SM(HL, 0);
- 
-               }
-@@ -2515,7 +2517,7 @@ rl78_decode_opcode (unsigned long pc AU,
-                            op[0], op[1]);
-                   }
-                 SYNTAX("xch	%0, %ea1");
--#line 1218 "rl78-decode.opc"
-+#line 1220 "rl78-decode.opc"
-                 ID(xch); DR(A); SM(HL, IMMU(1));
- 
-               }
-@@ -2530,7 +2532,7 @@ rl78_decode_opcode (unsigned long pc AU,
-                            op[0], op[1]);
-                   }
-                 SYNTAX("xch	%0, %e1");
--#line 1206 "rl78-decode.opc"
-+#line 1208 "rl78-decode.opc"
-                 ID(xch); DR(A); SM(DE, 0);
- 
-               }
-@@ -2545,7 +2547,7 @@ rl78_decode_opcode (unsigned long pc AU,
-                            op[0], op[1]);
-                   }
-                 SYNTAX("xch	%0, %ea1");
--#line 1209 "rl78-decode.opc"
-+#line 1211 "rl78-decode.opc"
-                 ID(xch); DR(A); SM(DE, IMMU(1));
- 
-               }
-@@ -2560,7 +2562,7 @@ rl78_decode_opcode (unsigned long pc AU,
-                            op[0], op[1]);
-                   }
-                 SYNTAX("subc	%0, %e1");
--#line 1157 "rl78-decode.opc"
-+#line 1159 "rl78-decode.opc"
-                 ID(subc); DR(A); SM2(HL, B, 0); Fzac;
- 
-               }
-@@ -2575,7 +2577,7 @@ rl78_decode_opcode (unsigned long pc AU,
-                            op[0], op[1]);
-                   }
-                 SYNTAX("subc	%0, %e1");
--#line 1160 "rl78-decode.opc"
-+#line 1162 "rl78-decode.opc"
-                 ID(subc); DR(A); SM2(HL, C, 0); Fzac;
- 
-               }
-@@ -2590,7 +2592,7 @@ rl78_decode_opcode (unsigned long pc AU,
-                            op[0], op[1]);
-                   }
-                 SYNTAX("mov	%0, %1");
--#line 723 "rl78-decode.opc"
-+#line 725 "rl78-decode.opc"
-                 ID(mov); DR(ES); SM(None, SADDR);
- 
-               }
-@@ -2605,7 +2607,7 @@ rl78_decode_opcode (unsigned long pc AU,
-                            op[0], op[1]);
-                   }
-                 SYNTAX("xch	%0, %e1");
--#line 1215 "rl78-decode.opc"
-+#line 1217 "rl78-decode.opc"
-                 ID(xch); DR(A); SM2(HL, B, 0);
- 
-               }
-@@ -2620,7 +2622,7 @@ rl78_decode_opcode (unsigned long pc AU,
-                            op[0], op[1]);
-                   }
-                 SYNTAX("cmp	%0, %e1");
--#line 492 "rl78-decode.opc"
-+#line 494 "rl78-decode.opc"
-                 ID(cmp); DR(A); SM2(HL, B, 0); Fzac;
- 
-               }
-@@ -2635,7 +2637,7 @@ rl78_decode_opcode (unsigned long pc AU,
-                            op[0], op[1]);
-                   }
-                 SYNTAX("cmp	%0, %e1");
--#line 495 "rl78-decode.opc"
-+#line 497 "rl78-decode.opc"
-                 ID(cmp); DR(A); SM2(HL, C, 0); Fzac;
- 
-               }
-@@ -2650,7 +2652,7 @@ rl78_decode_opcode (unsigned long pc AU,
-                            op[0], op[1]);
-                   }
-                 SYNTAX("bh	$%a0");
--#line 340 "rl78-decode.opc"
-+#line 342 "rl78-decode.opc"
-                 ID(branch_cond); DC(pc+IMMS(1)+3); SR(None); COND(H);
- 
-               }
-@@ -2665,7 +2667,7 @@ rl78_decode_opcode (unsigned long pc AU,
-                            op[0], op[1]);
-                   }
-                 SYNTAX("sk%c1");
--#line 1094 "rl78-decode.opc"
-+#line 1096 "rl78-decode.opc"
-                 ID(skip); COND(C);
- 
-               }
-@@ -2680,7 +2682,7 @@ rl78_decode_opcode (unsigned long pc AU,
-                            op[0], op[1]);
-                   }
-                 SYNTAX("mov	%0, %e1");
--#line 660 "rl78-decode.opc"
-+#line 662 "rl78-decode.opc"
-                 ID(mov); DR(A); SM2(HL, B, 0);
- 
-               }
-@@ -2691,7 +2693,7 @@ rl78_decode_opcode (unsigned long pc AU,
-           case 0xfa:
-               {
-                 /** 0110 0001 11rg 1010		call	%0				*/
--#line 430 "rl78-decode.opc"
-+#line 432 "rl78-decode.opc"
-                 int rg AU = (op[1] >> 4) & 0x03;
-                 if (trace)
-                   {
-@@ -2701,7 +2703,7 @@ rl78_decode_opcode (unsigned long pc AU,
-                     printf ("  rg = 0x%x\n", rg);
-                   }
-                 SYNTAX("call	%0");
--#line 430 "rl78-decode.opc"
-+#line 432 "rl78-decode.opc"
-                 ID(call); DRW(rg);
- 
-               }
-@@ -2716,7 +2718,7 @@ rl78_decode_opcode (unsigned long pc AU,
-                            op[0], op[1]);
-                   }
-                 SYNTAX("br	ax");
--#line 380 "rl78-decode.opc"
-+#line 382 "rl78-decode.opc"
-                 ID(branch); DR(AX);
- 
-               /*----------------------------------------------------------------------*/
-@@ -2733,7 +2735,7 @@ rl78_decode_opcode (unsigned long pc AU,
-                            op[0], op[1]);
-                   }
-                 SYNTAX("brk");
--#line 388 "rl78-decode.opc"
-+#line 390 "rl78-decode.opc"
-                 ID(break);
- 
-               /*----------------------------------------------------------------------*/
-@@ -2750,7 +2752,7 @@ rl78_decode_opcode (unsigned long pc AU,
-                            op[0], op[1]);
-                   }
-                 SYNTAX("pop	%s0");
--#line 989 "rl78-decode.opc"
-+#line 991 "rl78-decode.opc"
-                 ID(mov); W(); DR(PSW); SPOP();
- 
-               /*----------------------------------------------------------------------*/
-@@ -2767,7 +2769,7 @@ rl78_decode_opcode (unsigned long pc AU,
-                            op[0], op[1]);
-                   }
-                 SYNTAX("movs	%ea0, %1");
--#line 811 "rl78-decode.opc"
-+#line 813 "rl78-decode.opc"
-                 ID(mov); DM(HL, IMMU(1)); SR(X); Fzc;
- 
-               /*----------------------------------------------------------------------*/
-@@ -2780,7 +2782,7 @@ rl78_decode_opcode (unsigned long pc AU,
-           case 0xff:
-               {
-                 /** 0110 0001 11rb 1111		sel	rb%1				*/
--#line 1041 "rl78-decode.opc"
-+#line 1043 "rl78-decode.opc"
-                 int rb AU = (op[1] >> 4) & 0x03;
-                 if (trace)
-                   {
-@@ -2790,7 +2792,7 @@ rl78_decode_opcode (unsigned long pc AU,
-                     printf ("  rb = 0x%x\n", rb);
-                   }
-                 SYNTAX("sel	rb%1");
--#line 1041 "rl78-decode.opc"
-+#line 1043 "rl78-decode.opc"
-                 ID(sel); SC(rb);
- 
-               /*----------------------------------------------------------------------*/
-@@ -2807,7 +2809,7 @@ rl78_decode_opcode (unsigned long pc AU,
-                            op[0], op[1]);
-                   }
-                 SYNTAX("and	%0, %e1");
--#line 291 "rl78-decode.opc"
-+#line 293 "rl78-decode.opc"
-                 ID(and); DR(A); SM2(HL, B, 0); Fz;
- 
-               }
-@@ -2822,7 +2824,7 @@ rl78_decode_opcode (unsigned long pc AU,
-                            op[0], op[1]);
-                   }
-                 SYNTAX("and	%0, %e1");
--#line 297 "rl78-decode.opc"
-+#line 299 "rl78-decode.opc"
-                 ID(and); DR(A); SM2(HL, C, 0); Fz;
- 
-               }
-@@ -2837,7 +2839,7 @@ rl78_decode_opcode (unsigned long pc AU,
-                            op[0], op[1]);
-                   }
-                 SYNTAX("bnh	$%a0");
--#line 343 "rl78-decode.opc"
-+#line 345 "rl78-decode.opc"
-                 ID(branch_cond); DC(pc+IMMS(1)+3); SR(None); COND(NH);
- 
-               }
-@@ -2852,7 +2854,7 @@ rl78_decode_opcode (unsigned long pc AU,
-                            op[0], op[1]);
-                   }
-                 SYNTAX("sk%c1");
--#line 1100 "rl78-decode.opc"
-+#line 1102 "rl78-decode.opc"
-                 ID(skip); COND(NC);
- 
-               }
-@@ -2867,7 +2869,7 @@ rl78_decode_opcode (unsigned long pc AU,
-                            op[0], op[1]);
-                   }
-                 SYNTAX("mov	%e0, %1");
--#line 627 "rl78-decode.opc"
-+#line 629 "rl78-decode.opc"
-                 ID(mov); DM2(HL, B, 0); SR(A);
- 
-               }
-@@ -2882,7 +2884,7 @@ rl78_decode_opcode (unsigned long pc AU,
-                            op[0], op[1]);
-                   }
-                 SYNTAX("ror	%0, %1");
--#line 1022 "rl78-decode.opc"
-+#line 1024 "rl78-decode.opc"
-                 ID(ror); DR(A); SC(1);
- 
-               }
-@@ -2897,7 +2899,7 @@ rl78_decode_opcode (unsigned long pc AU,
-                            op[0], op[1]);
-                   }
-                 SYNTAX("rolc	%0, %1");
--#line 1016 "rl78-decode.opc"
-+#line 1018 "rl78-decode.opc"
-                 ID(rolc); DR(A); SC(1);
- 
-               }
-@@ -2912,7 +2914,7 @@ rl78_decode_opcode (unsigned long pc AU,
-                            op[0], op[1]);
-                   }
-                 SYNTAX("push	%s1");
--#line 997 "rl78-decode.opc"
-+#line 999 "rl78-decode.opc"
-                 ID(mov); W(); DPUSH(); SR(PSW);
- 
-               /*----------------------------------------------------------------------*/
-@@ -2929,7 +2931,7 @@ rl78_decode_opcode (unsigned long pc AU,
-                            op[0], op[1]);
-                   }
-                 SYNTAX("cmps	%0, %ea1");
--#line 526 "rl78-decode.opc"
-+#line 528 "rl78-decode.opc"
-                 ID(cmp); DR(X); SM(HL, IMMU(1)); Fzac;
- 
-               /*----------------------------------------------------------------------*/
-@@ -2946,7 +2948,7 @@ rl78_decode_opcode (unsigned long pc AU,
-                            op[0], op[1]);
-                   }
-                 SYNTAX("or	%0, %e1");
--#line 946 "rl78-decode.opc"
-+#line 948 "rl78-decode.opc"
-                 ID(or); DR(A); SM2(HL, B, 0); Fz;
- 
-               }
-@@ -2961,7 +2963,7 @@ rl78_decode_opcode (unsigned long pc AU,
-                            op[0], op[1]);
-                   }
-                 SYNTAX("or	%0, %e1");
--#line 952 "rl78-decode.opc"
-+#line 954 "rl78-decode.opc"
-                 ID(or); DR(A); SM2(HL, C, 0); Fz;
- 
-               }
-@@ -2976,7 +2978,7 @@ rl78_decode_opcode (unsigned long pc AU,
-                            op[0], op[1]);
-                   }
-                 SYNTAX("sk%c1");
--#line 1097 "rl78-decode.opc"
-+#line 1099 "rl78-decode.opc"
-                 ID(skip); COND(H);
- 
-               }
-@@ -2991,7 +2993,7 @@ rl78_decode_opcode (unsigned long pc AU,
-                            op[0], op[1]);
-                   }
-                 SYNTAX("sk%c1");
--#line 1109 "rl78-decode.opc"
-+#line 1111 "rl78-decode.opc"
-                 ID(skip); COND(Z);
- 
-               /*----------------------------------------------------------------------*/
-@@ -3008,7 +3010,7 @@ rl78_decode_opcode (unsigned long pc AU,
-                            op[0], op[1]);
-                   }
-                 SYNTAX("mov	%0, %e1");
--#line 663 "rl78-decode.opc"
-+#line 665 "rl78-decode.opc"
-                 ID(mov); DR(A); SM2(HL, C, 0);
- 
-               }
-@@ -3023,7 +3025,7 @@ rl78_decode_opcode (unsigned long pc AU,
-                            op[0], op[1]);
-                   }
-                 SYNTAX("rol	%0, %1");
--#line 1013 "rl78-decode.opc"
-+#line 1015 "rl78-decode.opc"
-                 ID(rol); DR(A); SC(1);
- 
-               }
-@@ -3038,7 +3040,7 @@ rl78_decode_opcode (unsigned long pc AU,
-                            op[0], op[1]);
-                   }
-                 SYNTAX("retb");
--#line 1008 "rl78-decode.opc"
-+#line 1010 "rl78-decode.opc"
-                 ID(reti);
- 
-               /*----------------------------------------------------------------------*/
-@@ -3055,7 +3057,7 @@ rl78_decode_opcode (unsigned long pc AU,
-                            op[0], op[1]);
-                   }
-                 SYNTAX("halt");
--#line 576 "rl78-decode.opc"
-+#line 578 "rl78-decode.opc"
-                 ID(halt);
- 
-               /*----------------------------------------------------------------------*/
-@@ -3066,7 +3068,7 @@ rl78_decode_opcode (unsigned long pc AU,
-           case 0xfe:
-               {
-                 /** 0110 0001 111r 1110		rolwc	%0, %1				*/
--#line 1019 "rl78-decode.opc"
-+#line 1021 "rl78-decode.opc"
-                 int r AU = (op[1] >> 4) & 0x01;
-                 if (trace)
-                   {
-@@ -3076,7 +3078,7 @@ rl78_decode_opcode (unsigned long pc AU,
-                     printf ("  r = 0x%x\n", r);
-                   }
-                 SYNTAX("rolwc	%0, %1");
--#line 1019 "rl78-decode.opc"
-+#line 1021 "rl78-decode.opc"
-                 ID(rolc); W(); DRW(r); SC(1);
- 
-               }
-@@ -3091,7 +3093,7 @@ rl78_decode_opcode (unsigned long pc AU,
-                            op[0], op[1]);
-                   }
-                 SYNTAX("xor	%0, %e1");
--#line 1250 "rl78-decode.opc"
-+#line 1252 "rl78-decode.opc"
-                 ID(xor); DR(A); SM2(HL, B, 0); Fz;
- 
-               }
-@@ -3106,7 +3108,7 @@ rl78_decode_opcode (unsigned long pc AU,
-                            op[0], op[1]);
-                   }
-                 SYNTAX("xor	%0, %e1");
--#line 1256 "rl78-decode.opc"
-+#line 1258 "rl78-decode.opc"
-                 ID(xor); DR(A); SM2(HL, C, 0); Fz;
- 
-               }
-@@ -3121,7 +3123,7 @@ rl78_decode_opcode (unsigned long pc AU,
-                            op[0], op[1]);
-                   }
-                 SYNTAX("sk%c1");
--#line 1103 "rl78-decode.opc"
-+#line 1105 "rl78-decode.opc"
-                 ID(skip); COND(NH);
- 
-               }
-@@ -3136,7 +3138,7 @@ rl78_decode_opcode (unsigned long pc AU,
-                            op[0], op[1]);
-                   }
-                 SYNTAX("sk%c1");
--#line 1106 "rl78-decode.opc"
-+#line 1108 "rl78-decode.opc"
-                 ID(skip); COND(NZ);
- 
-               }
-@@ -3151,7 +3153,7 @@ rl78_decode_opcode (unsigned long pc AU,
-                            op[0], op[1]);
-                   }
-                 SYNTAX("mov	%e0, %1");
--#line 636 "rl78-decode.opc"
-+#line 638 "rl78-decode.opc"
-                 ID(mov); DM2(HL, C, 0); SR(A);
- 
-               }
-@@ -3166,7 +3168,7 @@ rl78_decode_opcode (unsigned long pc AU,
-                            op[0], op[1]);
-                   }
-                 SYNTAX("rorc	%0, %1");
--#line 1025 "rl78-decode.opc"
-+#line 1027 "rl78-decode.opc"
-                 ID(rorc); DR(A); SC(1);
- 
-               /*----------------------------------------------------------------------*/
-@@ -3186,7 +3188,7 @@ rl78_decode_opcode (unsigned long pc AU,
-                            op[0], op[1]);
-                   }
-                 SYNTAX("reti");
--#line 1005 "rl78-decode.opc"
-+#line 1007 "rl78-decode.opc"
-                 ID(reti);
- 
-               }
-@@ -3201,7 +3203,7 @@ rl78_decode_opcode (unsigned long pc AU,
-                            op[0], op[1]);
-                   }
-                 SYNTAX("stop");
--#line 1114 "rl78-decode.opc"
-+#line 1116 "rl78-decode.opc"
-                 ID(stop);
- 
-               /*----------------------------------------------------------------------*/
-@@ -3221,7 +3223,7 @@ rl78_decode_opcode (unsigned long pc AU,
-                      op[0]);
-             }
-           SYNTAX("movw	%e0, %1");
--#line 874 "rl78-decode.opc"
-+#line 876 "rl78-decode.opc"
-           ID(mov); W(); DM(C, IMMU(2)); SR(AX);
- 
-         }
-@@ -3236,7 +3238,7 @@ rl78_decode_opcode (unsigned long pc AU,
-                      op[0]);
-             }
-           SYNTAX("movw	%0, %e1");
--#line 865 "rl78-decode.opc"
-+#line 867 "rl78-decode.opc"
-           ID(mov); W(); DR(AX); SM(C, IMMU(2));
- 
-         }
-@@ -3251,7 +3253,7 @@ rl78_decode_opcode (unsigned long pc AU,
-                      op[0]);
-             }
-           SYNTAX("or	%0, #%1");
--#line 967 "rl78-decode.opc"
-+#line 969 "rl78-decode.opc"
-           ID(or); DM(None, SADDR); SC(IMMU(1)); Fz;
- 
-         /*----------------------------------------------------------------------*/
-@@ -3268,7 +3270,7 @@ rl78_decode_opcode (unsigned long pc AU,
-                      op[0]);
-             }
-           SYNTAX("or	%0, %1");
--#line 964 "rl78-decode.opc"
-+#line 966 "rl78-decode.opc"
-           ID(or); DR(A); SM(None, SADDR); Fz;
- 
-         }
-@@ -3283,7 +3285,7 @@ rl78_decode_opcode (unsigned long pc AU,
-                      op[0]);
-             }
-           SYNTAX("or	%0, #%1");
--#line 955 "rl78-decode.opc"
-+#line 957 "rl78-decode.opc"
-           ID(or); DR(A); SC(IMMU(1)); Fz;
- 
-         }
-@@ -3298,7 +3300,7 @@ rl78_decode_opcode (unsigned long pc AU,
-                      op[0]);
-             }
-           SYNTAX("or	%0, %e1");
--#line 943 "rl78-decode.opc"
-+#line 945 "rl78-decode.opc"
-           ID(or); DR(A); SM(HL, 0); Fz;
- 
-         }
-@@ -3313,7 +3315,7 @@ rl78_decode_opcode (unsigned long pc AU,
-                      op[0]);
-             }
-           SYNTAX("or	%0, %ea1");
--#line 949 "rl78-decode.opc"
-+#line 951 "rl78-decode.opc"
-           ID(or); DR(A); SM(HL, IMMU(1)); Fz;
- 
-         }
-@@ -3328,7 +3330,7 @@ rl78_decode_opcode (unsigned long pc AU,
-                      op[0]);
-             }
-           SYNTAX("or	%0, %e!1");
--#line 940 "rl78-decode.opc"
-+#line 942 "rl78-decode.opc"
-           ID(or); DR(A); SM(None, IMMU(2)); Fz;
- 
-         }
-@@ -3342,7 +3344,7 @@ rl78_decode_opcode (unsigned long pc AU,
-     case 0x77:
-         {
-           /** 0111 0rba			mov	%0, %1				*/
--#line 696 "rl78-decode.opc"
-+#line 698 "rl78-decode.opc"
-           int rba AU = op[0] & 0x07;
-           if (trace)
-             {
-@@ -3352,7 +3354,7 @@ rl78_decode_opcode (unsigned long pc AU,
-               printf ("  rba = 0x%x\n", rba);
-             }
-           SYNTAX("mov	%0, %1");
--#line 696 "rl78-decode.opc"
-+#line 698 "rl78-decode.opc"
-           ID(mov); DRB(rba); SR(A);
- 
-         }
-@@ -3371,7 +3373,7 @@ rl78_decode_opcode (unsigned long pc AU,
-           case 0x70:
-               {
-                 /** 0111 0001 0bit 0000		set1	%e!0				*/
--#line 1046 "rl78-decode.opc"
-+#line 1048 "rl78-decode.opc"
-                 int bit AU = (op[1] >> 4) & 0x07;
-                 if (trace)
-                   {
-@@ -3381,7 +3383,7 @@ rl78_decode_opcode (unsigned long pc AU,
-                     printf ("  bit = 0x%x\n", bit);
-                   }
-                 SYNTAX("set1	%e!0");
--#line 1046 "rl78-decode.opc"
-+#line 1048 "rl78-decode.opc"
-                 ID(mov); DM(None, IMMU(2)); DB(bit); SC(1);
- 
-               }
-@@ -3396,7 +3398,7 @@ rl78_decode_opcode (unsigned long pc AU,
-           case 0x71:
-               {
-                 /** 0111 0001 0bit 0001		mov1	%0, cy				*/
--#line 803 "rl78-decode.opc"
-+#line 805 "rl78-decode.opc"
-                 int bit AU = (op[1] >> 4) & 0x07;
-                 if (trace)
-                   {
-@@ -3406,7 +3408,7 @@ rl78_decode_opcode (unsigned long pc AU,
-                     printf ("  bit = 0x%x\n", bit);
-                   }
-                 SYNTAX("mov1	%0, cy");
--#line 803 "rl78-decode.opc"
-+#line 805 "rl78-decode.opc"
-                 ID(mov); DM(None, SADDR); DB(bit); SCY();
- 
-               }
-@@ -3421,7 +3423,7 @@ rl78_decode_opcode (unsigned long pc AU,
-           case 0x72:
-               {
-                 /** 0111 0001 0bit 0010		set1	%0				*/
--#line 1064 "rl78-decode.opc"
-+#line 1066 "rl78-decode.opc"
-                 int bit AU = (op[1] >> 4) & 0x07;
-                 if (trace)
-                   {
-@@ -3431,7 +3433,7 @@ rl78_decode_opcode (unsigned long pc AU,
-                     printf ("  bit = 0x%x\n", bit);
-                   }
-                 SYNTAX("set1	%0");
--#line 1064 "rl78-decode.opc"
-+#line 1066 "rl78-decode.opc"
-                 ID(mov); DM(None, SADDR); DB(bit); SC(1);
- 
-               /*----------------------------------------------------------------------*/
-@@ -3448,7 +3450,7 @@ rl78_decode_opcode (unsigned long pc AU,
-           case 0x73:
-               {
-                 /** 0111 0001 0bit 0011		clr1	%0				*/
--#line 456 "rl78-decode.opc"
-+#line 458 "rl78-decode.opc"
-                 int bit AU = (op[1] >> 4) & 0x07;
-                 if (trace)
-                   {
-@@ -3458,7 +3460,7 @@ rl78_decode_opcode (unsigned long pc AU,
-                     printf ("  bit = 0x%x\n", bit);
-                   }
-                 SYNTAX("clr1	%0");
--#line 456 "rl78-decode.opc"
-+#line 458 "rl78-decode.opc"
-                 ID(mov); DM(None, SADDR); DB(bit); SC(0);
- 
-               /*----------------------------------------------------------------------*/
-@@ -3475,7 +3477,7 @@ rl78_decode_opcode (unsigned long pc AU,
-           case 0x74:
-               {
-                 /** 0111 0001 0bit 0100		mov1	cy, %1				*/
--#line 797 "rl78-decode.opc"
-+#line 799 "rl78-decode.opc"
-                 int bit AU = (op[1] >> 4) & 0x07;
-                 if (trace)
-                   {
-@@ -3485,7 +3487,7 @@ rl78_decode_opcode (unsigned long pc AU,
-                     printf ("  bit = 0x%x\n", bit);
-                   }
-                 SYNTAX("mov1	cy, %1");
--#line 797 "rl78-decode.opc"
-+#line 799 "rl78-decode.opc"
-                 ID(mov); DCY(); SM(None, SADDR); SB(bit);
- 
-               }
-@@ -3500,7 +3502,7 @@ rl78_decode_opcode (unsigned long pc AU,
-           case 0x75:
-               {
-                 /** 0111 0001 0bit 0101		and1	cy, %s1				*/
--#line 326 "rl78-decode.opc"
-+#line 328 "rl78-decode.opc"
-                 int bit AU = (op[1] >> 4) & 0x07;
-                 if (trace)
-                   {
-@@ -3510,7 +3512,7 @@ rl78_decode_opcode (unsigned long pc AU,
-                     printf ("  bit = 0x%x\n", bit);
-                   }
-                 SYNTAX("and1	cy, %s1");
--#line 326 "rl78-decode.opc"
-+#line 328 "rl78-decode.opc"
-                 ID(and); DCY(); SM(None, SADDR); SB(bit);
- 
-               /*----------------------------------------------------------------------*/
-@@ -3530,7 +3532,7 @@ rl78_decode_opcode (unsigned long pc AU,
-           case 0x76:
-               {
-                 /** 0111 0001 0bit 0110		or1	cy, %s1				*/
--#line 981 "rl78-decode.opc"
-+#line 983 "rl78-decode.opc"
-                 int bit AU = (op[1] >> 4) & 0x07;
-                 if (trace)
-                   {
-@@ -3540,7 +3542,7 @@ rl78_decode_opcode (unsigned long pc AU,
-                     printf ("  bit = 0x%x\n", bit);
-                   }
-                 SYNTAX("or1	cy, %s1");
--#line 981 "rl78-decode.opc"
-+#line 983 "rl78-decode.opc"
-                 ID(or); DCY(); SM(None, SADDR); SB(bit);
- 
-               /*----------------------------------------------------------------------*/
-@@ -3557,7 +3559,7 @@ rl78_decode_opcode (unsigned long pc AU,
-           case 0x77:
-               {
-                 /** 0111 0001 0bit 0111		xor1	cy, %s1				*/
--#line 1285 "rl78-decode.opc"
-+#line 1287 "rl78-decode.opc"
-                 int bit AU = (op[1] >> 4) & 0x07;
-                 if (trace)
-                   {
-@@ -3567,7 +3569,7 @@ rl78_decode_opcode (unsigned long pc AU,
-                     printf ("  bit = 0x%x\n", bit);
-                   }
-                 SYNTAX("xor1	cy, %s1");
--#line 1285 "rl78-decode.opc"
-+#line 1287 "rl78-decode.opc"
-                 ID(xor); DCY(); SM(None, SADDR); SB(bit);
- 
-               /*----------------------------------------------------------------------*/
-@@ -3584,7 +3586,7 @@ rl78_decode_opcode (unsigned long pc AU,
-           case 0x78:
-               {
-                 /** 0111 0001 0bit 1000		clr1	%e!0				*/
--#line 438 "rl78-decode.opc"
-+#line 440 "rl78-decode.opc"
-                 int bit AU = (op[1] >> 4) & 0x07;
-                 if (trace)
-                   {
-@@ -3594,7 +3596,7 @@ rl78_decode_opcode (unsigned long pc AU,
-                     printf ("  bit = 0x%x\n", bit);
-                   }
-                 SYNTAX("clr1	%e!0");
--#line 438 "rl78-decode.opc"
-+#line 440 "rl78-decode.opc"
-                 ID(mov); DM(None, IMMU(2)); DB(bit); SC(0);
- 
-               }
-@@ -3609,7 +3611,7 @@ rl78_decode_opcode (unsigned long pc AU,
-           case 0x79:
-               {
-                 /** 0111 0001 0bit 1001		mov1	%s0, cy				*/
--#line 806 "rl78-decode.opc"
-+#line 808 "rl78-decode.opc"
-                 int bit AU = (op[1] >> 4) & 0x07;
-                 if (trace)
-                   {
-@@ -3619,7 +3621,7 @@ rl78_decode_opcode (unsigned long pc AU,
-                     printf ("  bit = 0x%x\n", bit);
-                   }
-                 SYNTAX("mov1	%s0, cy");
--#line 806 "rl78-decode.opc"
-+#line 808 "rl78-decode.opc"
-                 ID(mov); DM(None, SFR); DB(bit); SCY();
- 
-               /*----------------------------------------------------------------------*/
-@@ -3636,7 +3638,7 @@ rl78_decode_opcode (unsigned long pc AU,
-           case 0x7a:
-               {
-                 /** 0111 0001 0bit 1010		set1	%s0				*/
--#line 1058 "rl78-decode.opc"
-+#line 1060 "rl78-decode.opc"
-                 int bit AU = (op[1] >> 4) & 0x07;
-                 if (trace)
-                   {
-@@ -3646,7 +3648,7 @@ rl78_decode_opcode (unsigned long pc AU,
-                     printf ("  bit = 0x%x\n", bit);
-                   }
-                 SYNTAX("set1	%s0");
--#line 1058 "rl78-decode.opc"
-+#line 1060 "rl78-decode.opc"
-                 op0 = SFR;
-                 ID(mov); DM(None, op0); DB(bit); SC(1);
-                 if (op0 == RL78_SFR_PSW && bit == 7)
-@@ -3664,7 +3666,7 @@ rl78_decode_opcode (unsigned long pc AU,
-           case 0x7b:
-               {
-                 /** 0111 0001 0bit 1011		clr1	%s0				*/
--#line 450 "rl78-decode.opc"
-+#line 452 "rl78-decode.opc"
-                 int bit AU = (op[1] >> 4) & 0x07;
-                 if (trace)
-                   {
-@@ -3674,7 +3676,7 @@ rl78_decode_opcode (unsigned long pc AU,
-                     printf ("  bit = 0x%x\n", bit);
-                   }
-                 SYNTAX("clr1	%s0");
--#line 450 "rl78-decode.opc"
-+#line 452 "rl78-decode.opc"
-                 op0 = SFR;
-                 ID(mov); DM(None, op0); DB(bit); SC(0);
-                 if (op0 == RL78_SFR_PSW && bit == 7)
-@@ -3692,7 +3694,7 @@ rl78_decode_opcode (unsigned long pc AU,
-           case 0x7c:
-               {
-                 /** 0111 0001 0bit 1100		mov1	cy, %s1				*/
--#line 800 "rl78-decode.opc"
-+#line 802 "rl78-decode.opc"
-                 int bit AU = (op[1] >> 4) & 0x07;
-                 if (trace)
-                   {
-@@ -3702,7 +3704,7 @@ rl78_decode_opcode (unsigned long pc AU,
-                     printf ("  bit = 0x%x\n", bit);
-                   }
-                 SYNTAX("mov1	cy, %s1");
--#line 800 "rl78-decode.opc"
-+#line 802 "rl78-decode.opc"
-                 ID(mov); DCY(); SM(None, SFR); SB(bit);
- 
-               }
-@@ -3717,7 +3719,7 @@ rl78_decode_opcode (unsigned long pc AU,
-           case 0x7d:
-               {
-                 /** 0111 0001 0bit 1101		and1	cy, %s1				*/
--#line 323 "rl78-decode.opc"
-+#line 325 "rl78-decode.opc"
-                 int bit AU = (op[1] >> 4) & 0x07;
-                 if (trace)
-                   {
-@@ -3727,7 +3729,7 @@ rl78_decode_opcode (unsigned long pc AU,
-                     printf ("  bit = 0x%x\n", bit);
-                   }
-                 SYNTAX("and1	cy, %s1");
--#line 323 "rl78-decode.opc"
-+#line 325 "rl78-decode.opc"
-                 ID(and); DCY(); SM(None, SFR); SB(bit);
- 
-               }
-@@ -3742,7 +3744,7 @@ rl78_decode_opcode (unsigned long pc AU,
-           case 0x7e:
-               {
-                 /** 0111 0001 0bit 1110		or1	cy, %s1				*/
--#line 978 "rl78-decode.opc"
-+#line 980 "rl78-decode.opc"
-                 int bit AU = (op[1] >> 4) & 0x07;
-                 if (trace)
-                   {
-@@ -3752,7 +3754,7 @@ rl78_decode_opcode (unsigned long pc AU,
-                     printf ("  bit = 0x%x\n", bit);
-                   }
-                 SYNTAX("or1	cy, %s1");
--#line 978 "rl78-decode.opc"
-+#line 980 "rl78-decode.opc"
-                 ID(or); DCY(); SM(None, SFR); SB(bit);
- 
-               }
-@@ -3767,7 +3769,7 @@ rl78_decode_opcode (unsigned long pc AU,
-           case 0x7f:
-               {
-                 /** 0111 0001 0bit 1111		xor1	cy, %s1				*/
--#line 1282 "rl78-decode.opc"
-+#line 1284 "rl78-decode.opc"
-                 int bit AU = (op[1] >> 4) & 0x07;
-                 if (trace)
-                   {
-@@ -3777,7 +3779,7 @@ rl78_decode_opcode (unsigned long pc AU,
-                     printf ("  bit = 0x%x\n", bit);
-                   }
-                 SYNTAX("xor1	cy, %s1");
--#line 1282 "rl78-decode.opc"
-+#line 1284 "rl78-decode.opc"
-                 ID(xor); DCY(); SM(None, SFR); SB(bit);
- 
-               }
-@@ -3792,7 +3794,7 @@ rl78_decode_opcode (unsigned long pc AU,
-                            op[0], op[1]);
-                   }
-                 SYNTAX("set1	cy");
--#line 1055 "rl78-decode.opc"
-+#line 1057 "rl78-decode.opc"
-                 ID(mov); DCY(); SC(1);
- 
-               }
-@@ -3807,7 +3809,7 @@ rl78_decode_opcode (unsigned long pc AU,
-           case 0xf1:
-               {
-                 /** 0111 0001 1bit 0001		mov1	%e0, cy				*/
--#line 785 "rl78-decode.opc"
-+#line 787 "rl78-decode.opc"
-                 int bit AU = (op[1] >> 4) & 0x07;
-                 if (trace)
-                   {
-@@ -3817,7 +3819,7 @@ rl78_decode_opcode (unsigned long pc AU,
-                     printf ("  bit = 0x%x\n", bit);
-                   }
-                 SYNTAX("mov1	%e0, cy");
--#line 785 "rl78-decode.opc"
-+#line 787 "rl78-decode.opc"
-                 ID(mov); DM(HL, 0); DB(bit); SCY();
- 
-               }
-@@ -3832,7 +3834,7 @@ rl78_decode_opcode (unsigned long pc AU,
-           case 0xf2:
-               {
-                 /** 0111 0001 1bit 0010		set1	%e0				*/
--#line 1049 "rl78-decode.opc"
-+#line 1051 "rl78-decode.opc"
-                 int bit AU = (op[1] >> 4) & 0x07;
-                 if (trace)
-                   {
-@@ -3842,7 +3844,7 @@ rl78_decode_opcode (unsigned long pc AU,
-                     printf ("  bit = 0x%x\n", bit);
-                   }
-                 SYNTAX("set1	%e0");
--#line 1049 "rl78-decode.opc"
-+#line 1051 "rl78-decode.opc"
-                 ID(mov); DM(HL, 0); DB(bit); SC(1);
- 
-               }
-@@ -3857,7 +3859,7 @@ rl78_decode_opcode (unsigned long pc AU,
-           case 0xf3:
-               {
-                 /** 0111 0001 1bit 0011		clr1	%e0				*/
--#line 441 "rl78-decode.opc"
-+#line 443 "rl78-decode.opc"
-                 int bit AU = (op[1] >> 4) & 0x07;
-                 if (trace)
-                   {
-@@ -3867,7 +3869,7 @@ rl78_decode_opcode (unsigned long pc AU,
-                     printf ("  bit = 0x%x\n", bit);
-                   }
-                 SYNTAX("clr1	%e0");
--#line 441 "rl78-decode.opc"
-+#line 443 "rl78-decode.opc"
-                 ID(mov); DM(HL, 0); DB(bit); SC(0);
- 
-               }
-@@ -3882,7 +3884,7 @@ rl78_decode_opcode (unsigned long pc AU,
-           case 0xf4:
-               {
-                 /** 0111 0001 1bit 0100		mov1	cy, %e1				*/
--#line 791 "rl78-decode.opc"
-+#line 793 "rl78-decode.opc"
-                 int bit AU = (op[1] >> 4) & 0x07;
-                 if (trace)
-                   {
-@@ -3892,7 +3894,7 @@ rl78_decode_opcode (unsigned long pc AU,
-                     printf ("  bit = 0x%x\n", bit);
-                   }
-                 SYNTAX("mov1	cy, %e1");
--#line 791 "rl78-decode.opc"
-+#line 793 "rl78-decode.opc"
-                 ID(mov); DCY(); SM(HL, 0); SB(bit);
- 
-               }
-@@ -3907,7 +3909,7 @@ rl78_decode_opcode (unsigned long pc AU,
-           case 0xf5:
-               {
-                 /** 0111 0001 1bit 0101		and1	cy, %e1			*/
--#line 317 "rl78-decode.opc"
-+#line 319 "rl78-decode.opc"
-                 int bit AU = (op[1] >> 4) & 0x07;
-                 if (trace)
-                   {
-@@ -3917,7 +3919,7 @@ rl78_decode_opcode (unsigned long pc AU,
-                     printf ("  bit = 0x%x\n", bit);
-                   }
-                 SYNTAX("and1	cy, %e1");
--#line 317 "rl78-decode.opc"
-+#line 319 "rl78-decode.opc"
-                 ID(and); DCY(); SM(HL, 0); SB(bit);
- 
-               }
-@@ -3932,7 +3934,7 @@ rl78_decode_opcode (unsigned long pc AU,
-           case 0xf6:
-               {
-                 /** 0111 0001 1bit 0110		or1	cy, %e1				*/
--#line 972 "rl78-decode.opc"
-+#line 974 "rl78-decode.opc"
-                 int bit AU = (op[1] >> 4) & 0x07;
-                 if (trace)
-                   {
-@@ -3942,7 +3944,7 @@ rl78_decode_opcode (unsigned long pc AU,
-                     printf ("  bit = 0x%x\n", bit);
-                   }
-                 SYNTAX("or1	cy, %e1");
--#line 972 "rl78-decode.opc"
-+#line 974 "rl78-decode.opc"
-                 ID(or); DCY(); SM(HL, 0); SB(bit);
- 
-               }
-@@ -3957,7 +3959,7 @@ rl78_decode_opcode (unsigned long pc AU,
-           case 0xf7:
-               {
-                 /** 0111 0001 1bit 0111		xor1	cy, %e1				*/
--#line 1276 "rl78-decode.opc"
-+#line 1278 "rl78-decode.opc"
-                 int bit AU = (op[1] >> 4) & 0x07;
-                 if (trace)
-                   {
-@@ -3967,7 +3969,7 @@ rl78_decode_opcode (unsigned long pc AU,
-                     printf ("  bit = 0x%x\n", bit);
-                   }
-                 SYNTAX("xor1	cy, %e1");
--#line 1276 "rl78-decode.opc"
-+#line 1278 "rl78-decode.opc"
-                 ID(xor); DCY(); SM(HL, 0); SB(bit);
- 
-               }
-@@ -3982,7 +3984,7 @@ rl78_decode_opcode (unsigned long pc AU,
-                            op[0], op[1]);
-                   }
-                 SYNTAX("clr1	cy");
--#line 447 "rl78-decode.opc"
-+#line 449 "rl78-decode.opc"
-                 ID(mov); DCY(); SC(0);
- 
-               }
-@@ -3997,7 +3999,7 @@ rl78_decode_opcode (unsigned long pc AU,
-           case 0xf9:
-               {
-                 /** 0111 0001 1bit 1001		mov1	%e0, cy				*/
--#line 788 "rl78-decode.opc"
-+#line 790 "rl78-decode.opc"
-                 int bit AU = (op[1] >> 4) & 0x07;
-                 if (trace)
-                   {
-@@ -4007,7 +4009,7 @@ rl78_decode_opcode (unsigned long pc AU,
-                     printf ("  bit = 0x%x\n", bit);
-                   }
-                 SYNTAX("mov1	%e0, cy");
--#line 788 "rl78-decode.opc"
-+#line 790 "rl78-decode.opc"
-                 ID(mov); DR(A); DB(bit); SCY();
- 
-               }
-@@ -4022,7 +4024,7 @@ rl78_decode_opcode (unsigned long pc AU,
-           case 0xfa:
-               {
-                 /** 0111 0001 1bit 1010		set1	%0				*/
--#line 1052 "rl78-decode.opc"
-+#line 1054 "rl78-decode.opc"
-                 int bit AU = (op[1] >> 4) & 0x07;
-                 if (trace)
-                   {
-@@ -4032,7 +4034,7 @@ rl78_decode_opcode (unsigned long pc AU,
-                     printf ("  bit = 0x%x\n", bit);
-                   }
-                 SYNTAX("set1	%0");
--#line 1052 "rl78-decode.opc"
-+#line 1054 "rl78-decode.opc"
-                 ID(mov); DR(A); DB(bit); SC(1);
- 
-               }
-@@ -4047,7 +4049,7 @@ rl78_decode_opcode (unsigned long pc AU,
-           case 0xfb:
-               {
-                 /** 0111 0001 1bit 1011		clr1	%0				*/
--#line 444 "rl78-decode.opc"
-+#line 446 "rl78-decode.opc"
-                 int bit AU = (op[1] >> 4) & 0x07;
-                 if (trace)
-                   {
-@@ -4057,7 +4059,7 @@ rl78_decode_opcode (unsigned long pc AU,
-                     printf ("  bit = 0x%x\n", bit);
-                   }
-                 SYNTAX("clr1	%0");
--#line 444 "rl78-decode.opc"
-+#line 446 "rl78-decode.opc"
-                 ID(mov); DR(A); DB(bit); SC(0);
- 
-               }
-@@ -4072,7 +4074,7 @@ rl78_decode_opcode (unsigned long pc AU,
-           case 0xfc:
-               {
-                 /** 0111 0001 1bit 1100		mov1	cy, %e1				*/
--#line 794 "rl78-decode.opc"
-+#line 796 "rl78-decode.opc"
-                 int bit AU = (op[1] >> 4) & 0x07;
-                 if (trace)
-                   {
-@@ -4082,7 +4084,7 @@ rl78_decode_opcode (unsigned long pc AU,
-                     printf ("  bit = 0x%x\n", bit);
-                   }
-                 SYNTAX("mov1	cy, %e1");
--#line 794 "rl78-decode.opc"
-+#line 796 "rl78-decode.opc"
-                 ID(mov); DCY(); SR(A); SB(bit);
- 
-               }
-@@ -4097,7 +4099,7 @@ rl78_decode_opcode (unsigned long pc AU,
-           case 0xfd:
-               {
-                 /** 0111 0001 1bit 1101		and1	cy, %1				*/
--#line 320 "rl78-decode.opc"
-+#line 322 "rl78-decode.opc"
-                 int bit AU = (op[1] >> 4) & 0x07;
-                 if (trace)
-                   {
-@@ -4107,7 +4109,7 @@ rl78_decode_opcode (unsigned long pc AU,
-                     printf ("  bit = 0x%x\n", bit);
-                   }
-                 SYNTAX("and1	cy, %1");
--#line 320 "rl78-decode.opc"
-+#line 322 "rl78-decode.opc"
-                 ID(and); DCY(); SR(A); SB(bit);
- 
-               }
-@@ -4122,7 +4124,7 @@ rl78_decode_opcode (unsigned long pc AU,
-           case 0xfe:
-               {
-                 /** 0111 0001 1bit 1110		or1	cy, %1				*/
--#line 975 "rl78-decode.opc"
-+#line 977 "rl78-decode.opc"
-                 int bit AU = (op[1] >> 4) & 0x07;
-                 if (trace)
-                   {
-@@ -4132,7 +4134,7 @@ rl78_decode_opcode (unsigned long pc AU,
-                     printf ("  bit = 0x%x\n", bit);
-                   }
-                 SYNTAX("or1	cy, %1");
--#line 975 "rl78-decode.opc"
-+#line 977 "rl78-decode.opc"
-                 ID(or); DCY(); SR(A); SB(bit);
- 
-               }
-@@ -4147,7 +4149,7 @@ rl78_decode_opcode (unsigned long pc AU,
-           case 0xff:
-               {
-                 /** 0111 0001 1bit 1111		xor1	cy, %1				*/
--#line 1279 "rl78-decode.opc"
-+#line 1281 "rl78-decode.opc"
-                 int bit AU = (op[1] >> 4) & 0x07;
-                 if (trace)
-                   {
-@@ -4157,7 +4159,7 @@ rl78_decode_opcode (unsigned long pc AU,
-                     printf ("  bit = 0x%x\n", bit);
-                   }
-                 SYNTAX("xor1	cy, %1");
--#line 1279 "rl78-decode.opc"
-+#line 1281 "rl78-decode.opc"
-                 ID(xor); DCY(); SR(A); SB(bit);
- 
-               }
-@@ -4172,7 +4174,7 @@ rl78_decode_opcode (unsigned long pc AU,
-                            op[0], op[1]);
-                   }
-                 SYNTAX("not1	cy");
--#line 916 "rl78-decode.opc"
-+#line 918 "rl78-decode.opc"
-                 ID(xor); DCY(); SC(1);
- 
-               /*----------------------------------------------------------------------*/
-@@ -4192,7 +4194,7 @@ rl78_decode_opcode (unsigned long pc AU,
-                      op[0]);
-             }
-           SYNTAX("movw	%e0, %1");
--#line 877 "rl78-decode.opc"
-+#line 879 "rl78-decode.opc"
-           ID(mov); W(); DM(BC, IMMU(2)); SR(AX);
- 
-         }
-@@ -4207,7 +4209,7 @@ rl78_decode_opcode (unsigned long pc AU,
-                      op[0]);
-             }
-           SYNTAX("movw	%0, %e1");
--#line 868 "rl78-decode.opc"
-+#line 870 "rl78-decode.opc"
-           ID(mov); W(); DR(AX); SM(BC, IMMU(2));
- 
-         }
-@@ -4222,7 +4224,7 @@ rl78_decode_opcode (unsigned long pc AU,
-                      op[0]);
-             }
-           SYNTAX("xor	%0, #%1");
--#line 1271 "rl78-decode.opc"
-+#line 1273 "rl78-decode.opc"
-           ID(xor); DM(None, SADDR); SC(IMMU(1)); Fz;
- 
-         /*----------------------------------------------------------------------*/
-@@ -4239,7 +4241,7 @@ rl78_decode_opcode (unsigned long pc AU,
-                      op[0]);
-             }
-           SYNTAX("xor	%0, %1");
--#line 1268 "rl78-decode.opc"
-+#line 1270 "rl78-decode.opc"
-           ID(xor); DR(A); SM(None, SADDR); Fz;
- 
-         }
-@@ -4254,7 +4256,7 @@ rl78_decode_opcode (unsigned long pc AU,
-                      op[0]);
-             }
-           SYNTAX("xor	%0, #%1");
--#line 1259 "rl78-decode.opc"
-+#line 1261 "rl78-decode.opc"
-           ID(xor); DR(A); SC(IMMU(1)); Fz;
- 
-         }
-@@ -4269,7 +4271,7 @@ rl78_decode_opcode (unsigned long pc AU,
-                      op[0]);
-             }
-           SYNTAX("xor	%0, %e1");
--#line 1247 "rl78-decode.opc"
-+#line 1249 "rl78-decode.opc"
-           ID(xor); DR(A); SM(HL, 0); Fz;
- 
-         }
-@@ -4284,7 +4286,7 @@ rl78_decode_opcode (unsigned long pc AU,
-                      op[0]);
-             }
-           SYNTAX("xor	%0, %ea1");
--#line 1253 "rl78-decode.opc"
-+#line 1255 "rl78-decode.opc"
-           ID(xor); DR(A); SM(HL, IMMU(1)); Fz;
- 
-         }
-@@ -4299,7 +4301,7 @@ rl78_decode_opcode (unsigned long pc AU,
-                      op[0]);
-             }
-           SYNTAX("xor	%0, %e!1");
--#line 1244 "rl78-decode.opc"
-+#line 1246 "rl78-decode.opc"
-           ID(xor); DR(A); SM(None, IMMU(2)); Fz;
- 
-         }
-@@ -4314,7 +4316,7 @@ rl78_decode_opcode (unsigned long pc AU,
-     case 0x87:
-         {
-           /** 1000 0reg			inc	%0				*/
--#line 587 "rl78-decode.opc"
-+#line 589 "rl78-decode.opc"
-           int reg AU = op[0] & 0x07;
-           if (trace)
-             {
-@@ -4324,7 +4326,7 @@ rl78_decode_opcode (unsigned long pc AU,
-               printf ("  reg = 0x%x\n", reg);
-             }
-           SYNTAX("inc	%0");
--#line 587 "rl78-decode.opc"
-+#line 589 "rl78-decode.opc"
-           ID(add); DRB(reg); SC(1); Fza;
- 
-         }
-@@ -4339,7 +4341,7 @@ rl78_decode_opcode (unsigned long pc AU,
-                      op[0]);
-             }
-           SYNTAX("mov	%0, %ea1");
--#line 666 "rl78-decode.opc"
-+#line 668 "rl78-decode.opc"
-           ID(mov); DR(A); SM(SP, IMMU(1));
- 
-         }
-@@ -4354,7 +4356,7 @@ rl78_decode_opcode (unsigned long pc AU,
-                      op[0]);
-             }
-           SYNTAX("mov	%0, %e1");
--#line 648 "rl78-decode.opc"
-+#line 650 "rl78-decode.opc"
-           ID(mov); DR(A); SM(DE, 0);
- 
-         }
-@@ -4369,7 +4371,7 @@ rl78_decode_opcode (unsigned long pc AU,
-                      op[0]);
-             }
-           SYNTAX("mov	%0, %ea1");
--#line 651 "rl78-decode.opc"
-+#line 653 "rl78-decode.opc"
-           ID(mov); DR(A); SM(DE, IMMU(1));
- 
-         }
-@@ -4384,7 +4386,7 @@ rl78_decode_opcode (unsigned long pc AU,
-                      op[0]);
-             }
-           SYNTAX("mov	%0, %e1");
--#line 654 "rl78-decode.opc"
-+#line 656 "rl78-decode.opc"
-           ID(mov); DR(A); SM(HL, 0);
- 
-         }
-@@ -4399,7 +4401,7 @@ rl78_decode_opcode (unsigned long pc AU,
-                      op[0]);
-             }
-           SYNTAX("mov	%0, %ea1");
--#line 657 "rl78-decode.opc"
-+#line 659 "rl78-decode.opc"
-           ID(mov); DR(A); SM(HL, IMMU(1));
- 
-         }
-@@ -4414,7 +4416,7 @@ rl78_decode_opcode (unsigned long pc AU,
-                      op[0]);
-             }
-           SYNTAX("mov	%0, %1");
--#line 690 "rl78-decode.opc"
-+#line 692 "rl78-decode.opc"
-           ID(mov); DR(A); SM(None, SADDR);
- 
-         }
-@@ -4429,7 +4431,7 @@ rl78_decode_opcode (unsigned long pc AU,
-                      op[0]);
-             }
-           SYNTAX("mov	%0, %s1");
--#line 687 "rl78-decode.opc"
-+#line 689 "rl78-decode.opc"
-           ID(mov); DR(A); SM(None, SFR);
- 
-         }
-@@ -4444,7 +4446,7 @@ rl78_decode_opcode (unsigned long pc AU,
-                      op[0]);
-             }
-           SYNTAX("mov	%0, %e!1");
--#line 645 "rl78-decode.opc"
-+#line 647 "rl78-decode.opc"
-           ID(mov); DR(A); SM(None, IMMU(2));
- 
-         }
-@@ -4459,7 +4461,7 @@ rl78_decode_opcode (unsigned long pc AU,
-     case 0x97:
-         {
-           /** 1001 0reg			dec	%0				*/
--#line 554 "rl78-decode.opc"
-+#line 556 "rl78-decode.opc"
-           int reg AU = op[0] & 0x07;
-           if (trace)
-             {
-@@ -4469,7 +4471,7 @@ rl78_decode_opcode (unsigned long pc AU,
-               printf ("  reg = 0x%x\n", reg);
-             }
-           SYNTAX("dec	%0");
--#line 554 "rl78-decode.opc"
-+#line 556 "rl78-decode.opc"
-           ID(sub); DRB(reg); SC(1); Fza;
- 
-         }
-@@ -4484,7 +4486,7 @@ rl78_decode_opcode (unsigned long pc AU,
-                      op[0]);
-             }
-           SYNTAX("mov	%a0, %1");
--#line 642 "rl78-decode.opc"
-+#line 644 "rl78-decode.opc"
-           ID(mov); DM(SP, IMMU(1)); SR(A);
- 
-         }
-@@ -4499,7 +4501,7 @@ rl78_decode_opcode (unsigned long pc AU,
-                      op[0]);
-             }
-           SYNTAX("mov	%e0, %1");
--#line 615 "rl78-decode.opc"
-+#line 617 "rl78-decode.opc"
-           ID(mov); DM(DE, 0); SR(A);
- 
-         }
-@@ -4514,7 +4516,7 @@ rl78_decode_opcode (unsigned long pc AU,
-                      op[0]);
-             }
-           SYNTAX("mov	%ea0, %1");
--#line 621 "rl78-decode.opc"
-+#line 623 "rl78-decode.opc"
-           ID(mov); DM(DE, IMMU(1)); SR(A);
- 
-         }
-@@ -4529,7 +4531,7 @@ rl78_decode_opcode (unsigned long pc AU,
-                      op[0]);
-             }
-           SYNTAX("mov	%e0, %1");
--#line 624 "rl78-decode.opc"
-+#line 626 "rl78-decode.opc"
-           ID(mov); DM(HL, 0); SR(A);
- 
-         }
-@@ -4544,7 +4546,7 @@ rl78_decode_opcode (unsigned long pc AU,
-                      op[0]);
-             }
-           SYNTAX("mov	%ea0, %1");
--#line 633 "rl78-decode.opc"
-+#line 635 "rl78-decode.opc"
-           ID(mov); DM(HL, IMMU(1)); SR(A);
- 
-         }
-@@ -4559,7 +4561,7 @@ rl78_decode_opcode (unsigned long pc AU,
-                      op[0]);
-             }
-           SYNTAX("mov	%0, %1");
--#line 747 "rl78-decode.opc"
-+#line 749 "rl78-decode.opc"
-           ID(mov); DM(None, SADDR); SR(A);
- 
-         }
-@@ -4574,7 +4576,7 @@ rl78_decode_opcode (unsigned long pc AU,
-                      op[0]);
-             }
-           SYNTAX("mov	%s0, %1");
--#line 780 "rl78-decode.opc"
-+#line 782 "rl78-decode.opc"
-           ID(mov); DM(None, SFR); SR(A);
- 
-         /*----------------------------------------------------------------------*/
-@@ -4591,7 +4593,7 @@ rl78_decode_opcode (unsigned long pc AU,
-                      op[0]);
-             }
-           SYNTAX("mov	%e!0, %1");
--#line 612 "rl78-decode.opc"
-+#line 614 "rl78-decode.opc"
-           ID(mov); DM(None, IMMU(2)); SR(A);
- 
-         }
-@@ -4606,7 +4608,7 @@ rl78_decode_opcode (unsigned long pc AU,
-                      op[0]);
-             }
-           SYNTAX("inc	%e!0");
--#line 581 "rl78-decode.opc"
-+#line 583 "rl78-decode.opc"
-           ID(add); DM(None, IMMU(2)); SC(1); Fza;
- 
-         }
-@@ -4617,7 +4619,7 @@ rl78_decode_opcode (unsigned long pc AU,
-     case 0xa7:
-         {
-           /** 1010 0rg1			incw	%0				*/
--#line 601 "rl78-decode.opc"
-+#line 603 "rl78-decode.opc"
-           int rg AU = (op[0] >> 1) & 0x03;
-           if (trace)
-             {
-@@ -4627,7 +4629,7 @@ rl78_decode_opcode (unsigned long pc AU,
-               printf ("  rg = 0x%x\n", rg);
-             }
-           SYNTAX("incw	%0");
--#line 601 "rl78-decode.opc"
-+#line 603 "rl78-decode.opc"
-           ID(add); W(); DRW(rg); SC(1);
- 
-         }
-@@ -4642,7 +4644,7 @@ rl78_decode_opcode (unsigned long pc AU,
-                      op[0]);
-             }
-           SYNTAX("incw	%e!0");
--#line 595 "rl78-decode.opc"
-+#line 597 "rl78-decode.opc"
-           ID(add); W(); DM(None, IMMU(2)); SC(1);
- 
-         }
-@@ -4657,7 +4659,7 @@ rl78_decode_opcode (unsigned long pc AU,
-                      op[0]);
-             }
-           SYNTAX("inc	%0");
--#line 590 "rl78-decode.opc"
-+#line 592 "rl78-decode.opc"
-           ID(add); DM(None, SADDR); SC(1); Fza;
- 
-         /*----------------------------------------------------------------------*/
-@@ -4674,7 +4676,7 @@ rl78_decode_opcode (unsigned long pc AU,
-                      op[0]);
-             }
-           SYNTAX("incw	%0");
--#line 604 "rl78-decode.opc"
-+#line 606 "rl78-decode.opc"
-           ID(add); W(); DM(None, SADDR); SC(1);
- 
-         /*----------------------------------------------------------------------*/
-@@ -4691,7 +4693,7 @@ rl78_decode_opcode (unsigned long pc AU,
-                      op[0]);
-             }
-           SYNTAX("movw	%0, %a1");
--#line 850 "rl78-decode.opc"
-+#line 852 "rl78-decode.opc"
-           ID(mov); W(); DR(AX); SM(SP, IMMU(1));
- 
-         }
-@@ -4706,7 +4708,7 @@ rl78_decode_opcode (unsigned long pc AU,
-                      op[0]);
-             }
-           SYNTAX("movw	%0, %e1");
--#line 838 "rl78-decode.opc"
-+#line 840 "rl78-decode.opc"
-           ID(mov); W(); DR(AX); SM(DE, 0);
- 
-         }
-@@ -4721,7 +4723,7 @@ rl78_decode_opcode (unsigned long pc AU,
-                      op[0]);
-             }
-           SYNTAX("movw	%0, %ea1");
--#line 841 "rl78-decode.opc"
-+#line 843 "rl78-decode.opc"
-           ID(mov); W(); DR(AX); SM(DE, IMMU(1));
- 
-         }
-@@ -4736,7 +4738,7 @@ rl78_decode_opcode (unsigned long pc AU,
-                      op[0]);
-             }
-           SYNTAX("movw	%0, %e1");
--#line 844 "rl78-decode.opc"
-+#line 846 "rl78-decode.opc"
-           ID(mov); W(); DR(AX); SM(HL, 0);
- 
-         }
-@@ -4751,7 +4753,7 @@ rl78_decode_opcode (unsigned long pc AU,
-                      op[0]);
-             }
-           SYNTAX("movw	%0, %ea1");
--#line 847 "rl78-decode.opc"
-+#line 849 "rl78-decode.opc"
-           ID(mov); W(); DR(AX); SM(HL, IMMU(1));
- 
-         }
-@@ -4766,7 +4768,7 @@ rl78_decode_opcode (unsigned long pc AU,
-                      op[0]);
-             }
-           SYNTAX("movw	%0, %1");
--#line 880 "rl78-decode.opc"
-+#line 882 "rl78-decode.opc"
-           ID(mov); W(); DR(AX); SM(None, SADDR);
- 
-         }
-@@ -4781,7 +4783,7 @@ rl78_decode_opcode (unsigned long pc AU,
-                      op[0]);
-             }
-           SYNTAX("movw	%0, %s1");
--#line 883 "rl78-decode.opc"
-+#line 885 "rl78-decode.opc"
-           ID(mov); W(); DR(AX); SM(None, SFR);
- 
-         }
-@@ -4796,7 +4798,7 @@ rl78_decode_opcode (unsigned long pc AU,
-                      op[0]);
-             }
-           SYNTAX("movw	%0, %e!1");
--#line 834 "rl78-decode.opc"
-+#line 836 "rl78-decode.opc"
-           ID(mov); W(); DR(AX); SM(None, IMMU(2));
- 
- 
-@@ -4812,7 +4814,7 @@ rl78_decode_opcode (unsigned long pc AU,
-                      op[0]);
-             }
-           SYNTAX("dec	%e!0");
--#line 548 "rl78-decode.opc"
-+#line 550 "rl78-decode.opc"
-           ID(sub); DM(None, IMMU(2)); SC(1); Fza;
- 
-         }
-@@ -4823,7 +4825,7 @@ rl78_decode_opcode (unsigned long pc AU,
-     case 0xb7:
-         {
-           /** 1011 0rg1 			decw	%0				*/
--#line 568 "rl78-decode.opc"
-+#line 570 "rl78-decode.opc"
-           int rg AU = (op[0] >> 1) & 0x03;
-           if (trace)
-             {
-@@ -4833,7 +4835,7 @@ rl78_decode_opcode (unsigned long pc AU,
-               printf ("  rg = 0x%x\n", rg);
-             }
-           SYNTAX("decw	%0");
--#line 568 "rl78-decode.opc"
-+#line 570 "rl78-decode.opc"
-           ID(sub); W(); DRW(rg); SC(1);
- 
-         }
-@@ -4848,7 +4850,7 @@ rl78_decode_opcode (unsigned long pc AU,
-                      op[0]);
-             }
-           SYNTAX("decw	%e!0");
--#line 562 "rl78-decode.opc"
-+#line 564 "rl78-decode.opc"
-           ID(sub); W(); DM(None, IMMU(2)); SC(1);
- 
-         }
-@@ -4863,7 +4865,7 @@ rl78_decode_opcode (unsigned long pc AU,
-                      op[0]);
-             }
-           SYNTAX("dec	%0");
--#line 557 "rl78-decode.opc"
-+#line 559 "rl78-decode.opc"
-           ID(sub); DM(None, SADDR); SC(1); Fza;
- 
-         /*----------------------------------------------------------------------*/
-@@ -4880,7 +4882,7 @@ rl78_decode_opcode (unsigned long pc AU,
-                      op[0]);
-             }
-           SYNTAX("decw	%0");
--#line 571 "rl78-decode.opc"
-+#line 573 "rl78-decode.opc"
-           ID(sub); W(); DM(None, SADDR); SC(1);
- 
-         /*----------------------------------------------------------------------*/
-@@ -4897,7 +4899,7 @@ rl78_decode_opcode (unsigned long pc AU,
-                      op[0]);
-             }
-           SYNTAX("movw	%a0, %1");
--#line 831 "rl78-decode.opc"
-+#line 833 "rl78-decode.opc"
-           ID(mov); W(); DM(SP, IMMU(1)); SR(AX);
- 
-         }
-@@ -4912,7 +4914,7 @@ rl78_decode_opcode (unsigned long pc AU,
-                      op[0]);
-             }
-           SYNTAX("movw	%e0, %1");
--#line 819 "rl78-decode.opc"
-+#line 821 "rl78-decode.opc"
-           ID(mov); W(); DM(DE, 0); SR(AX);
- 
-         }
-@@ -4927,7 +4929,7 @@ rl78_decode_opcode (unsigned long pc AU,
-                      op[0]);
-             }
-           SYNTAX("movw	%ea0, %1");
--#line 822 "rl78-decode.opc"
-+#line 824 "rl78-decode.opc"
-           ID(mov); W(); DM(DE, IMMU(1)); SR(AX);
- 
-         }
-@@ -4942,7 +4944,7 @@ rl78_decode_opcode (unsigned long pc AU,
-                      op[0]);
-             }
-           SYNTAX("movw	%e0, %1");
--#line 825 "rl78-decode.opc"
-+#line 827 "rl78-decode.opc"
-           ID(mov); W(); DM(HL, 0); SR(AX);
- 
-         }
-@@ -4957,7 +4959,7 @@ rl78_decode_opcode (unsigned long pc AU,
-                      op[0]);
-             }
-           SYNTAX("movw	%ea0, %1");
--#line 828 "rl78-decode.opc"
-+#line 830 "rl78-decode.opc"
-           ID(mov); W(); DM(HL, IMMU(1)); SR(AX);
- 
-         }
-@@ -4972,7 +4974,7 @@ rl78_decode_opcode (unsigned long pc AU,
-                      op[0]);
-             }
-           SYNTAX("movw	%0, %1");
--#line 895 "rl78-decode.opc"
-+#line 897 "rl78-decode.opc"
-           ID(mov); W(); DM(None, SADDR); SR(AX);
- 
-         }
-@@ -4987,7 +4989,7 @@ rl78_decode_opcode (unsigned long pc AU,
-                      op[0]);
-             }
-           SYNTAX("movw	%s0, %1");
--#line 901 "rl78-decode.opc"
-+#line 903 "rl78-decode.opc"
-           ID(mov); W(); DM(None, SFR); SR(AX);
- 
-         /*----------------------------------------------------------------------*/
-@@ -5004,7 +5006,7 @@ rl78_decode_opcode (unsigned long pc AU,
-                      op[0]);
-             }
-           SYNTAX("movw	%e!0, %1");
--#line 816 "rl78-decode.opc"
-+#line 818 "rl78-decode.opc"
-           ID(mov); W(); DM(None, IMMU(2)); SR(AX);
- 
-         }
-@@ -5015,7 +5017,7 @@ rl78_decode_opcode (unsigned long pc AU,
-     case 0xc6:
-         {
-           /** 1100 0rg0			pop	%0				*/
--#line 986 "rl78-decode.opc"
-+#line 988 "rl78-decode.opc"
-           int rg AU = (op[0] >> 1) & 0x03;
-           if (trace)
-             {
-@@ -5025,7 +5027,7 @@ rl78_decode_opcode (unsigned long pc AU,
-               printf ("  rg = 0x%x\n", rg);
-             }
-           SYNTAX("pop	%0");
--#line 986 "rl78-decode.opc"
-+#line 988 "rl78-decode.opc"
-           ID(mov); W(); DRW(rg); SPOP();
- 
-         }
-@@ -5036,7 +5038,7 @@ rl78_decode_opcode (unsigned long pc AU,
-     case 0xc7:
-         {
-           /** 1100 0rg1			push	%1				*/
--#line 994 "rl78-decode.opc"
-+#line 996 "rl78-decode.opc"
-           int rg AU = (op[0] >> 1) & 0x03;
-           if (trace)
-             {
-@@ -5046,7 +5048,7 @@ rl78_decode_opcode (unsigned long pc AU,
-               printf ("  rg = 0x%x\n", rg);
-             }
-           SYNTAX("push	%1");
--#line 994 "rl78-decode.opc"
-+#line 996 "rl78-decode.opc"
-           ID(mov); W(); DPUSH(); SRW(rg);
- 
-         }
-@@ -5061,7 +5063,7 @@ rl78_decode_opcode (unsigned long pc AU,
-                      op[0]);
-             }
-           SYNTAX("mov	%a0, #%1");
--#line 639 "rl78-decode.opc"
-+#line 641 "rl78-decode.opc"
-           ID(mov); DM(SP, IMMU(1)); SC(IMMU(1));
- 
-         }
-@@ -5076,7 +5078,7 @@ rl78_decode_opcode (unsigned long pc AU,
-                      op[0]);
-             }
-           SYNTAX("movw	%0, #%1");
--#line 892 "rl78-decode.opc"
-+#line 894 "rl78-decode.opc"
-           ID(mov); W(); DM(None, SADDR); SC(IMMU(2));
- 
-         }
-@@ -5091,7 +5093,7 @@ rl78_decode_opcode (unsigned long pc AU,
-                      op[0]);
-             }
-           SYNTAX("mov	%ea0, #%1");
--#line 618 "rl78-decode.opc"
-+#line 620 "rl78-decode.opc"
-           ID(mov); DM(DE, IMMU(1)); SC(IMMU(1));
- 
-         }
-@@ -5106,7 +5108,7 @@ rl78_decode_opcode (unsigned long pc AU,
-                      op[0]);
-             }
-           SYNTAX("movw	%s0, #%1");
--#line 898 "rl78-decode.opc"
-+#line 900 "rl78-decode.opc"
-           ID(mov); W(); DM(None, SFR); SC(IMMU(2));
- 
-         }
-@@ -5121,7 +5123,7 @@ rl78_decode_opcode (unsigned long pc AU,
-                      op[0]);
-             }
-           SYNTAX("mov	%ea0, #%1");
--#line 630 "rl78-decode.opc"
-+#line 632 "rl78-decode.opc"
-           ID(mov); DM(HL, IMMU(1)); SC(IMMU(1));
- 
-         }
-@@ -5136,7 +5138,7 @@ rl78_decode_opcode (unsigned long pc AU,
-                      op[0]);
-             }
-           SYNTAX("mov	%0, #%1");
--#line 744 "rl78-decode.opc"
-+#line 746 "rl78-decode.opc"
-           ID(mov); DM(None, SADDR); SC(IMMU(1));
- 
-         }
-@@ -5151,7 +5153,7 @@ rl78_decode_opcode (unsigned long pc AU,
-                      op[0]);
-             }
-           SYNTAX("mov	%s0, #%1");
--#line 750 "rl78-decode.opc"
-+#line 752 "rl78-decode.opc"
-           op0 = SFR;
-           op1 = IMMU(1);
-           ID(mov); DM(None, op0); SC(op1);
-@@ -5193,7 +5195,7 @@ rl78_decode_opcode (unsigned long pc AU,
-                      op[0]);
-             }
-           SYNTAX("mov	%e!0, #%1");
--#line 609 "rl78-decode.opc"
-+#line 611 "rl78-decode.opc"
-           ID(mov); DM(None, IMMU(2)); SC(IMMU(1));
- 
-         }
-@@ -5204,7 +5206,7 @@ rl78_decode_opcode (unsigned long pc AU,
-     case 0xd3:
-         {
-           /** 1101 00rg			cmp0	%0				*/
--#line 518 "rl78-decode.opc"
-+#line 520 "rl78-decode.opc"
-           int rg AU = op[0] & 0x03;
-           if (trace)
-             {
-@@ -5214,7 +5216,7 @@ rl78_decode_opcode (unsigned long pc AU,
-               printf ("  rg = 0x%x\n", rg);
-             }
-           SYNTAX("cmp0	%0");
--#line 518 "rl78-decode.opc"
-+#line 520 "rl78-decode.opc"
-           ID(cmp); DRB(rg); SC(0); Fzac;
- 
-         }
-@@ -5229,7 +5231,7 @@ rl78_decode_opcode (unsigned long pc AU,
-                      op[0]);
-             }
-           SYNTAX("cmp0	%0");
--#line 521 "rl78-decode.opc"
-+#line 523 "rl78-decode.opc"
-           ID(cmp); DM(None, SADDR); SC(0); Fzac;
- 
-         /*----------------------------------------------------------------------*/
-@@ -5246,7 +5248,7 @@ rl78_decode_opcode (unsigned long pc AU,
-                      op[0]);
-             }
-           SYNTAX("cmp0	%e!0");
--#line 515 "rl78-decode.opc"
-+#line 517 "rl78-decode.opc"
-           ID(cmp); DM(None, IMMU(2)); SC(0); Fzac;
- 
-         }
-@@ -5261,7 +5263,7 @@ rl78_decode_opcode (unsigned long pc AU,
-                      op[0]);
-             }
-           SYNTAX("mulu	x");
--#line 906 "rl78-decode.opc"
-+#line 908 "rl78-decode.opc"
-           ID(mulu);
- 
-         /*----------------------------------------------------------------------*/
-@@ -5278,7 +5280,7 @@ rl78_decode_opcode (unsigned long pc AU,
-                      op[0]);
-             }
-           SYNTAX("ret");
--#line 1002 "rl78-decode.opc"
-+#line 1004 "rl78-decode.opc"
-           ID(ret);
- 
-         }
-@@ -5293,7 +5295,7 @@ rl78_decode_opcode (unsigned long pc AU,
-                      op[0]);
-             }
-           SYNTAX("mov	%0, %1");
--#line 711 "rl78-decode.opc"
-+#line 713 "rl78-decode.opc"
-           ID(mov); DR(X); SM(None, SADDR);
- 
-         }
-@@ -5308,7 +5310,7 @@ rl78_decode_opcode (unsigned long pc AU,
-                      op[0]);
-             }
-           SYNTAX("mov	%0, %e!1");
--#line 708 "rl78-decode.opc"
-+#line 710 "rl78-decode.opc"
-           ID(mov); DR(X); SM(None, IMMU(2));
- 
-         }
-@@ -5318,7 +5320,7 @@ rl78_decode_opcode (unsigned long pc AU,
-     case 0xfa:
-         {
-           /** 11ra 1010			movw	%0, %1				*/
--#line 889 "rl78-decode.opc"
-+#line 891 "rl78-decode.opc"
-           int ra AU = (op[0] >> 4) & 0x03;
-           if (trace)
-             {
-@@ -5328,7 +5330,7 @@ rl78_decode_opcode (unsigned long pc AU,
-               printf ("  ra = 0x%x\n", ra);
-             }
-           SYNTAX("movw	%0, %1");
--#line 889 "rl78-decode.opc"
-+#line 891 "rl78-decode.opc"
-           ID(mov); W(); DRW(ra); SM(None, SADDR);
- 
-         }
-@@ -5338,7 +5340,7 @@ rl78_decode_opcode (unsigned long pc AU,
-     case 0xfb:
-         {
-           /** 11ra 1011			movw	%0, %es!1			*/
--#line 886 "rl78-decode.opc"
-+#line 888 "rl78-decode.opc"
-           int ra AU = (op[0] >> 4) & 0x03;
-           if (trace)
-             {
-@@ -5348,7 +5350,7 @@ rl78_decode_opcode (unsigned long pc AU,
-               printf ("  ra = 0x%x\n", ra);
-             }
-           SYNTAX("movw	%0, %es!1");
--#line 886 "rl78-decode.opc"
-+#line 888 "rl78-decode.opc"
-           ID(mov); W(); DRW(ra); SM(None, IMMU(2));
- 
-         }
-@@ -5363,7 +5365,7 @@ rl78_decode_opcode (unsigned long pc AU,
-                      op[0]);
-             }
-           SYNTAX("bc	$%a0");
--#line 334 "rl78-decode.opc"
-+#line 336 "rl78-decode.opc"
-           ID(branch_cond); DC(pc+IMMS(1)+2); SR(None); COND(C);
- 
-         }
-@@ -5378,7 +5380,7 @@ rl78_decode_opcode (unsigned long pc AU,
-                      op[0]);
-             }
-           SYNTAX("bz	$%a0");
--#line 346 "rl78-decode.opc"
-+#line 348 "rl78-decode.opc"
-           ID(branch_cond); DC(pc+IMMS(1)+2); SR(None); COND(Z);
- 
-         }
-@@ -5393,7 +5395,7 @@ rl78_decode_opcode (unsigned long pc AU,
-                      op[0]);
-             }
-           SYNTAX("bnc	$%a0");
--#line 337 "rl78-decode.opc"
-+#line 339 "rl78-decode.opc"
-           ID(branch_cond); DC(pc+IMMS(1)+2); SR(None); COND(NC);
- 
-         }
-@@ -5408,7 +5410,7 @@ rl78_decode_opcode (unsigned long pc AU,
-                      op[0]);
-             }
-           SYNTAX("bnz	$%a0");
--#line 349 "rl78-decode.opc"
-+#line 351 "rl78-decode.opc"
-           ID(branch_cond); DC(pc+IMMS(1)+2); SR(None); COND(NZ);
- 
-         /*----------------------------------------------------------------------*/
-@@ -5421,7 +5423,7 @@ rl78_decode_opcode (unsigned long pc AU,
-     case 0xe3:
-         {
-           /** 1110 00rg			oneb	%0				*/
--#line 924 "rl78-decode.opc"
-+#line 926 "rl78-decode.opc"
-           int rg AU = op[0] & 0x03;
-           if (trace)
-             {
-@@ -5431,7 +5433,7 @@ rl78_decode_opcode (unsigned long pc AU,
-               printf ("  rg = 0x%x\n", rg);
-             }
-           SYNTAX("oneb	%0");
--#line 924 "rl78-decode.opc"
-+#line 926 "rl78-decode.opc"
-           ID(mov); DRB(rg); SC(1);
- 
-         }
-@@ -5446,7 +5448,7 @@ rl78_decode_opcode (unsigned long pc AU,
-                      op[0]);
-             }
-           SYNTAX("oneb	%0");
--#line 927 "rl78-decode.opc"
-+#line 929 "rl78-decode.opc"
-           ID(mov); DM(None, SADDR); SC(1);
- 
-         /*----------------------------------------------------------------------*/
-@@ -5463,7 +5465,7 @@ rl78_decode_opcode (unsigned long pc AU,
-                      op[0]);
-             }
-           SYNTAX("oneb	%e!0");
--#line 921 "rl78-decode.opc"
-+#line 923 "rl78-decode.opc"
-           ID(mov); DM(None, IMMU(2)); SC(1);
- 
-         }
-@@ -5478,7 +5480,7 @@ rl78_decode_opcode (unsigned long pc AU,
-                      op[0]);
-             }
-           SYNTAX("onew	%0");
--#line 932 "rl78-decode.opc"
-+#line 934 "rl78-decode.opc"
-           ID(mov); DR(AX); SC(1);
- 
-         }
-@@ -5493,7 +5495,7 @@ rl78_decode_opcode (unsigned long pc AU,
-                      op[0]);
-             }
-           SYNTAX("onew	%0");
--#line 935 "rl78-decode.opc"
-+#line 937 "rl78-decode.opc"
-           ID(mov); DR(BC); SC(1);
- 
-         /*----------------------------------------------------------------------*/
-@@ -5510,7 +5512,7 @@ rl78_decode_opcode (unsigned long pc AU,
-                      op[0]);
-             }
-           SYNTAX("mov	%0, %1");
--#line 699 "rl78-decode.opc"
-+#line 701 "rl78-decode.opc"
-           ID(mov); DR(B); SM(None, SADDR);
- 
-         }
-@@ -5525,7 +5527,7 @@ rl78_decode_opcode (unsigned long pc AU,
-                      op[0]);
-             }
-           SYNTAX("mov	%0, %e!1");
--#line 693 "rl78-decode.opc"
-+#line 695 "rl78-decode.opc"
-           ID(mov); DR(B); SM(None, IMMU(2));
- 
-         }
-@@ -5540,7 +5542,7 @@ rl78_decode_opcode (unsigned long pc AU,
-                      op[0]);
-             }
-           SYNTAX("br	!%!a0");
--#line 368 "rl78-decode.opc"
-+#line 370 "rl78-decode.opc"
-           ID(branch); DC(IMMU(3));
- 
-         }
-@@ -5555,7 +5557,7 @@ rl78_decode_opcode (unsigned long pc AU,
-                      op[0]);
-             }
-           SYNTAX("br	%!a0");
--#line 371 "rl78-decode.opc"
-+#line 373 "rl78-decode.opc"
-           ID(branch); DC(IMMU(2));
- 
-         }
-@@ -5570,7 +5572,7 @@ rl78_decode_opcode (unsigned long pc AU,
-                      op[0]);
-             }
-           SYNTAX("br	$%!a0");
--#line 374 "rl78-decode.opc"
-+#line 376 "rl78-decode.opc"
-           ID(branch); DC(pc+IMMS(2)+3);
- 
-         }
-@@ -5585,7 +5587,7 @@ rl78_decode_opcode (unsigned long pc AU,
-                      op[0]);
-             }
-           SYNTAX("br	$%a0");
--#line 377 "rl78-decode.opc"
-+#line 379 "rl78-decode.opc"
-           ID(branch); DC(pc+IMMS(1)+2);
- 
-         }
-@@ -5596,7 +5598,7 @@ rl78_decode_opcode (unsigned long pc AU,
-     case 0xf3:
-         {
-           /** 1111 00rg			clrb	%0				*/
--#line 464 "rl78-decode.opc"
-+#line 466 "rl78-decode.opc"
-           int rg AU = op[0] & 0x03;
-           if (trace)
-             {
-@@ -5606,7 +5608,7 @@ rl78_decode_opcode (unsigned long pc AU,
-               printf ("  rg = 0x%x\n", rg);
-             }
-           SYNTAX("clrb	%0");
--#line 464 "rl78-decode.opc"
-+#line 466 "rl78-decode.opc"
-           ID(mov); DRB(rg); SC(0);
- 
-         }
-@@ -5621,7 +5623,7 @@ rl78_decode_opcode (unsigned long pc AU,
-                      op[0]);
-             }
-           SYNTAX("clrb	%0");
--#line 467 "rl78-decode.opc"
-+#line 469 "rl78-decode.opc"
-           ID(mov); DM(None, SADDR); SC(0);
- 
-         /*----------------------------------------------------------------------*/
-@@ -5638,7 +5640,7 @@ rl78_decode_opcode (unsigned long pc AU,
-                      op[0]);
-             }
-           SYNTAX("clrb	%e!0");
--#line 461 "rl78-decode.opc"
-+#line 463 "rl78-decode.opc"
-           ID(mov); DM(None, IMMU(2)); SC(0);
- 
-         }
-@@ -5653,7 +5655,7 @@ rl78_decode_opcode (unsigned long pc AU,
-                      op[0]);
-             }
-           SYNTAX("clrw	%0");
--#line 472 "rl78-decode.opc"
-+#line 474 "rl78-decode.opc"
-           ID(mov); DR(AX); SC(0);
- 
-         }
-@@ -5668,7 +5670,7 @@ rl78_decode_opcode (unsigned long pc AU,
-                      op[0]);
-             }
-           SYNTAX("clrw	%0");
--#line 475 "rl78-decode.opc"
-+#line 477 "rl78-decode.opc"
-           ID(mov); DR(BC); SC(0);
- 
-         /*----------------------------------------------------------------------*/
-@@ -5685,7 +5687,7 @@ rl78_decode_opcode (unsigned long pc AU,
-                      op[0]);
-             }
-           SYNTAX("mov	%0, %1");
--#line 705 "rl78-decode.opc"
-+#line 707 "rl78-decode.opc"
-           ID(mov); DR(C); SM(None, SADDR);
- 
-         }
-@@ -5700,7 +5702,7 @@ rl78_decode_opcode (unsigned long pc AU,
-                      op[0]);
-             }
-           SYNTAX("mov	%0, %e!1");
--#line 702 "rl78-decode.opc"
-+#line 704 "rl78-decode.opc"
-           ID(mov); DR(C); SM(None, IMMU(2));
- 
-         }
-@@ -5715,7 +5717,7 @@ rl78_decode_opcode (unsigned long pc AU,
-                      op[0]);
-             }
-           SYNTAX("call	!%!a0");
--#line 421 "rl78-decode.opc"
-+#line 423 "rl78-decode.opc"
-           ID(call); DC(IMMU(3));
- 
-         }
-@@ -5730,7 +5732,7 @@ rl78_decode_opcode (unsigned long pc AU,
-                      op[0]);
-             }
-           SYNTAX("call	%!a0");
--#line 424 "rl78-decode.opc"
-+#line 426 "rl78-decode.opc"
-           ID(call); DC(IMMU(2));
- 
-         }
-@@ -5745,7 +5747,7 @@ rl78_decode_opcode (unsigned long pc AU,
-                      op[0]);
-             }
-           SYNTAX("call	$%!a0");
--#line 427 "rl78-decode.opc"
-+#line 429 "rl78-decode.opc"
-           ID(call); DC(pc+IMMS(2)+3);
- 
-         }
-@@ -5760,13 +5762,13 @@ rl78_decode_opcode (unsigned long pc AU,
-                      op[0]);
-             }
-           SYNTAX("brk1");
--#line 385 "rl78-decode.opc"
-+#line 387 "rl78-decode.opc"
-           ID(break);
- 
-         }
-       break;
-   }
--#line 1290 "rl78-decode.opc"
-+#line 1292 "rl78-decode.opc"
- 
-   return rl78->n_bytes;
- }
-diff --git a/opcodes/rl78-decode.opc b/opcodes/rl78-decode.opc
-index 6212f08..b25e441 100644
---- a/opcodes/rl78-decode.opc
-+++ b/opcodes/rl78-decode.opc
-@@ -50,7 +50,9 @@ typedef struct
- #define W() rl78->size = RL78_Word
- 
- #define AU ATTRIBUTE_UNUSED
--#define GETBYTE() (ld->op [ld->rl78->n_bytes++] = ld->getbyte (ld->ptr))
-+
-+#define OP_BUF_LEN 20
-+#define GETBYTE() (ld->rl78->n_bytes < (OP_BUF_LEN - 1) ? ld->op [ld->rl78->n_bytes++] = ld->getbyte (ld->ptr): 0)
- #define B ((unsigned long) GETBYTE())
- 
- #define SYNTAX(x) rl78->syntax = x
-@@ -168,7 +170,7 @@ rl78_decode_opcode (unsigned long pc AU,
- 		  RL78_Dis_Isa isa)
- {
-   LocalData lds, * ld = &lds;
--  unsigned char op_buf[20] = {0};
-+  unsigned char op_buf[OP_BUF_LEN] = {0};
-   unsigned char *op = op_buf;
-   int op0, op1;
- 
--- 
-2.7.4
-
diff --git a/import-layers/yocto-poky/meta/recipes-devtools/binutils/binutils/CVE-2017-9752.patch b/import-layers/yocto-poky/meta/recipes-devtools/binutils/binutils/CVE-2017-9752.patch
deleted file mode 100644
index f63a993..0000000
--- a/import-layers/yocto-poky/meta/recipes-devtools/binutils/binutils/CVE-2017-9752.patch
+++ /dev/null
@@ -1,208 +0,0 @@
-From c53d2e6d744da000aaafe0237bced090aab62818 Mon Sep 17 00:00:00 2001
-From: Nick Clifton <nickc@redhat.com>
-Date: Wed, 14 Jun 2017 11:27:15 +0100
-Subject: [PATCH] Fix potential address violations when processing a corrupt
- Alpha VMA binary.
-
-	PR binutils/21589
-	* vms-alpha.c (_bfd_vms_get_value): Add an extra parameter - the
-	maximum value for the ascic pointer.  Check that name processing
-	does not read beyond this value.
-	(_bfd_vms_slurp_etir): Add checks for attempts to read beyond the
-	end of etir record.
-
-Upstream-Status: Backport
-CVE: CVE-2017-9752
-Signed-off-by: Armin Kuster <akuster@mvista.com>
-
----
- bfd/ChangeLog   |  9 +++++++++
- bfd/vms-alpha.c | 51 +++++++++++++++++++++++++++++++++++++++++----------
- 2 files changed, 50 insertions(+), 10 deletions(-)
-
-Index: git/bfd/ChangeLog
-===================================================================
---- git.orig/bfd/ChangeLog
-+++ git/bfd/ChangeLog
-@@ -9,6 +9,15 @@
- 
- 2017-06-14  Nick Clifton  <nickc@redhat.com>
-  
-+       PR binutils/21589
-+       * vms-alpha.c (_bfd_vms_get_value): Add an extra parameter - the
-+       maximum value for the ascic pointer.  Check that name processing
-+       does not read beyond this value.
-+       (_bfd_vms_slurp_etir): Add checks for attempts to read beyond the
-+       end of etir record.
-+
-+2017-06-14  Nick Clifton  <nickc@redhat.com>
-+ 
-        PR binutils/21578
-        * elf32-sh.c (sh_elf_set_mach_from_flags): Fix check for invalid
-        flag value.
-Index: git/bfd/vms-alpha.c
-===================================================================
---- git.orig/bfd/vms-alpha.c
-+++ git/bfd/vms-alpha.c
-@@ -1456,7 +1456,7 @@ dst_retrieve_location (bfd *abfd, unsign
- /* Write multiple bytes to section image.  */
- 
- static bfd_boolean
--image_write (bfd *abfd, unsigned char *ptr, int size)
-+image_write (bfd *abfd, unsigned char *ptr, unsigned int size)
- {
- #if VMS_DEBUG
-   _bfd_vms_debug (8, "image_write from (%p, %d) to (%ld)\n", ptr, size,
-@@ -1603,14 +1603,16 @@ _bfd_vms_etir_name (int cmd)
- #define HIGHBIT(op) ((op & 0x80000000L) == 0x80000000L)
- 
- static void
--_bfd_vms_get_value (bfd *abfd, const unsigned char *ascic,
-+_bfd_vms_get_value (bfd *abfd,
-+		    const unsigned char *ascic,
-+		    const unsigned char *max_ascic,
-                     struct bfd_link_info *info,
-                     bfd_vma *vma,
-                     struct alpha_vms_link_hash_entry **hp)
- {
-   char name[257];
--  int len;
--  int i;
-+  unsigned int len;
-+  unsigned int i;
-   struct alpha_vms_link_hash_entry *h;
- 
-   /* Not linking.  Do not try to resolve the symbol.  */
-@@ -1622,6 +1624,14 @@ _bfd_vms_get_value (bfd *abfd, const uns
-     }
- 
-   len = *ascic;
-+  if (ascic + len >= max_ascic)
-+    {
-+      _bfd_error_handler (_("Corrupt vms value"));
-+      *vma = 0;
-+      *hp = NULL;
-+      return;
-+    }
-+
-   for (i = 0; i < len; i++)
-     name[i] = ascic[i + 1];
-   name[i] = 0;
-@@ -1741,6 +1751,15 @@ _bfd_vms_slurp_etir (bfd *abfd, struct b
-       _bfd_hexdump (8, ptr, cmd_length - 4, 0);
- #endif
- 
-+      /* PR 21589: Check for a corrupt ETIR record.  */
-+      if (cmd_length < 4)
-+	{
-+	corrupt_etir:
-+	  _bfd_error_handler (_("Corrupt ETIR record encountered"));
-+	  bfd_set_error (bfd_error_bad_value);
-+	  return FALSE;
-+	}
-+
-       switch (cmd)
-         {
-           /* Stack global
-@@ -1748,7 +1767,7 @@ _bfd_vms_slurp_etir (bfd *abfd, struct b
- 
-              stack 32 bit value of symbol (high bits set to 0).  */
-         case ETIR__C_STA_GBL:
--          _bfd_vms_get_value (abfd, ptr, info, &op1, &h);
-+          _bfd_vms_get_value (abfd, ptr, maxptr, info, &op1, &h);
-           _bfd_vms_push (abfd, op1, alpha_vms_sym_to_ctxt (h));
-           break;
- 
-@@ -1757,6 +1776,8 @@ _bfd_vms_slurp_etir (bfd *abfd, struct b
- 
-              stack 32 bit value, sign extend to 64 bit.  */
-         case ETIR__C_STA_LW:
-+	  if (ptr + 4 >= maxptr)
-+	    goto corrupt_etir;
-           _bfd_vms_push (abfd, bfd_getl32 (ptr), RELC_NONE);
-           break;
- 
-@@ -1765,6 +1786,8 @@ _bfd_vms_slurp_etir (bfd *abfd, struct b
- 
-              stack 64 bit value of symbol.  */
-         case ETIR__C_STA_QW:
-+	  if (ptr + 8 >= maxptr)
-+	    goto corrupt_etir;
-           _bfd_vms_push (abfd, bfd_getl64 (ptr), RELC_NONE);
-           break;
- 
-@@ -1778,6 +1801,8 @@ _bfd_vms_slurp_etir (bfd *abfd, struct b
-           {
-             int psect;
- 
-+	    if (ptr + 12 >= maxptr)
-+	      goto corrupt_etir;
-             psect = bfd_getl32 (ptr);
-             if ((unsigned int) psect >= PRIV (section_count))
-               {
-@@ -1867,6 +1892,8 @@ _bfd_vms_slurp_etir (bfd *abfd, struct b
-           {
-             int size;
- 
-+	    if (ptr + 4 >= maxptr)
-+	      goto corrupt_etir;
-             size = bfd_getl32 (ptr);
-             _bfd_vms_pop (abfd, &op1, &rel1);
-             if (rel1 != RELC_NONE)
-@@ -1879,7 +1906,7 @@ _bfd_vms_slurp_etir (bfd *abfd, struct b
-           /* Store global: write symbol value
-              arg: cs	global symbol name.  */
-         case ETIR__C_STO_GBL:
--          _bfd_vms_get_value (abfd, ptr, info, &op1, &h);
-+          _bfd_vms_get_value (abfd, ptr, maxptr, info, &op1, &h);
-           if (h && h->sym)
-             {
-               if (h->sym->typ == EGSD__C_SYMG)
-@@ -1901,7 +1928,7 @@ _bfd_vms_slurp_etir (bfd *abfd, struct b
-           /* Store code address: write address of entry point
-              arg: cs	global symbol name (procedure).  */
-         case ETIR__C_STO_CA:
--          _bfd_vms_get_value (abfd, ptr, info, &op1, &h);
-+          _bfd_vms_get_value (abfd, ptr, maxptr, info, &op1, &h);
-           if (h && h->sym)
-             {
-               if (h->sym->flags & EGSY__V_NORM)
-@@ -1946,8 +1973,10 @@ _bfd_vms_slurp_etir (bfd *abfd, struct b
-              da	data.  */
-         case ETIR__C_STO_IMM:
-           {
--            int size;
-+            unsigned int size;
- 
-+	    if (ptr + 4 >= maxptr)
-+	      goto corrupt_etir;
-             size = bfd_getl32 (ptr);
-             image_write (abfd, ptr + 4, size);
-           }
-@@ -1960,7 +1989,7 @@ _bfd_vms_slurp_etir (bfd *abfd, struct b
-              store global longword: store 32bit value of symbol
-              arg: cs	symbol name.  */
-         case ETIR__C_STO_GBL_LW:
--          _bfd_vms_get_value (abfd, ptr, info, &op1, &h);
-+          _bfd_vms_get_value (abfd, ptr, maxptr, info, &op1, &h);
- #if 0
-           abort ();
- #endif
-@@ -2013,7 +2042,7 @@ _bfd_vms_slurp_etir (bfd *abfd, struct b
-              da	signature.  */
- 
-         case ETIR__C_STC_LP_PSB:
--          _bfd_vms_get_value (abfd, ptr + 4, info, &op1, &h);
-+          _bfd_vms_get_value (abfd, ptr + 4, maxptr, info, &op1, &h);
-           if (h && h->sym)
-             {
-               if (h->sym->typ == EGSD__C_SYMG)
-@@ -2109,6 +2138,8 @@ _bfd_vms_slurp_etir (bfd *abfd, struct b
-           /* Augment relocation base: increment image location counter by offset
-              arg: lw	offset value.  */
-         case ETIR__C_CTL_AUGRB:
-+	  if (ptr + 4 >= maxptr)
-+	    goto corrupt_etir;
-           op1 = bfd_getl32 (ptr);
-           image_inc_ptr (abfd, op1);
-           break;
diff --git a/import-layers/yocto-poky/meta/recipes-devtools/binutils/binutils/CVE-2017-9753.patch b/import-layers/yocto-poky/meta/recipes-devtools/binutils/binutils/CVE-2017-9753.patch
deleted file mode 100644
index 241142b..0000000
--- a/import-layers/yocto-poky/meta/recipes-devtools/binutils/binutils/CVE-2017-9753.patch
+++ /dev/null
@@ -1,79 +0,0 @@
-From 04f963fd489cae724a60140e13984415c205f4ac Mon Sep 17 00:00:00 2001
-From: Nick Clifton <nickc@redhat.com>
-Date: Wed, 14 Jun 2017 10:35:16 +0100
-Subject: [PATCH] Fix seg-faults in objdump when disassembling a corrupt
- versados binary.
-
-	PR binutils/21591
-	* versados.c (versados_mkobject): Zero the allocated tdata structure.
-	(process_otr): Check for an invalid offset in the otr structure.
-
-Upstream-Status: Backport
-CVE: CVE-2017-9753
-CVE: CVE-2017-9754
-Signed-off-by: Armin Kuster <akuster@mvista.com>
-
----
- bfd/ChangeLog  |  6 ++++++
- bfd/versados.c | 12 ++++++++----
- 2 files changed, 14 insertions(+), 4 deletions(-)
-
-Index: git/bfd/versados.c
-===================================================================
---- git.orig/bfd/versados.c
-+++ git/bfd/versados.c
-@@ -149,7 +149,7 @@ versados_mkobject (bfd *abfd)
-   if (abfd->tdata.versados_data == NULL)
-     {
-       bfd_size_type amt = sizeof (tdata_type);
--      tdata_type *tdata = bfd_alloc (abfd, amt);
-+      tdata_type *tdata = bfd_zalloc (abfd, amt);
- 
-       if (tdata == NULL)
- 	return FALSE;
-@@ -345,13 +345,13 @@ reloc_howto_type versados_howto_table[]
- };
- 
- static int
--get_offset (int len, unsigned char *ptr)
-+get_offset (unsigned int len, unsigned char *ptr)
- {
-   int val = 0;
- 
-   if (len)
-     {
--      int i;
-+      unsigned int i;
- 
-       val = *ptr++;
-       if (val & 0x80)
-@@ -394,9 +394,13 @@ process_otr (bfd *abfd, struct ext_otr *
- 	  int flag = *srcp++;
- 	  int esdids = (flag >> 5) & 0x7;
- 	  int sizeinwords = ((flag >> 3) & 1) ? 2 : 1;
--	  int offsetlen = flag & 0x7;
-+	  unsigned int offsetlen = flag & 0x7;
- 	  int j;
- 
-+	  /* PR 21591: Check for invalid lengths.  */
-+	  if (srcp + esdids + offsetlen >= endp)
-+	    return;
-+
- 	  if (esdids == 0)
- 	    {
- 	      /* A zero esdid means the new pc is the offset given.  */
-Index: git/bfd/ChangeLog
-===================================================================
---- git.orig/bfd/ChangeLog
-+++ git/bfd/ChangeLog
-@@ -8,6 +8,10 @@
-        (ieee_archive_p): Likewise.
- 
- 2017-06-14  Nick Clifton  <nickc@redhat.com>
-+
-+       PR binutils/21591
-+       * versados.c (versados_mkobject): Zero the allocated tdata structure.
-+       (process_otr): Check for an invalid offset in the otr structure.
-  
-        PR binutils/21589
-        * vms-alpha.c (_bfd_vms_get_value): Add an extra parameter - the
diff --git a/import-layers/yocto-poky/meta/recipes-devtools/binutils/binutils/CVE-2017-9755.patch b/import-layers/yocto-poky/meta/recipes-devtools/binutils/binutils/CVE-2017-9755.patch
deleted file mode 100644
index 15dc909..0000000
--- a/import-layers/yocto-poky/meta/recipes-devtools/binutils/binutils/CVE-2017-9755.patch
+++ /dev/null
@@ -1,63 +0,0 @@
-From 0d96e4df4812c3bad77c229dfef47a9bc115ac12 Mon Sep 17 00:00:00 2001
-From: "H.J. Lu" <hjl.tools@gmail.com>
-Date: Thu, 15 Jun 2017 06:40:17 -0700
-Subject: [PATCH] i386-dis: Check valid bnd register
-
-Since there are only 4 bnd registers, return "(bad)" for register
-number > 3.
-
-	PR binutils/21594
-	* i386-dis.c (OP_E_register): Check valid bnd register.
-	(OP_G): Likewise.
-
-Upstream-Status: Backport 
-CVE: CVE-2017-9755
-Signed-off-by: Armin Kuster <akuster@mvista.com>
-
----
- opcodes/ChangeLog  |  6 ++++++
- opcodes/i386-dis.c | 10 ++++++++++
- 2 files changed, 16 insertions(+)
-
-Index: git/opcodes/ChangeLog
-===================================================================
---- git.orig/opcodes/ChangeLog
-+++ git/opcodes/ChangeLog
-@@ -1,3 +1,9 @@
-+2017-06-15  H.J. Lu  <hongjiu.lu@intel.com>
-+
-+	PR binutils/21594
-+	* i386-dis.c (OP_E_register): Check valid bnd register.
-+	(OP_G): Likewise.
-+
- 2017-06-15  Nick Clifton  <nickc@redhat.com>
- 
- 	PR binutils/21588
-Index: git/opcodes/i386-dis.c
-===================================================================
---- git.orig/opcodes/i386-dis.c
-+++ git/opcodes/i386-dis.c
-@@ -14939,6 +14939,11 @@ OP_E_register (int bytemode, int sizefla
-       names = address_mode == mode_64bit ? names64 : names32;
-       break;
-     case bnd_mode:
-+      if (reg > 0x3)
-+	{
-+	  oappend ("(bad)");
-+	  return;
-+	}
-       names = names_bnd;
-       break;
-     case indir_v_mode:
-@@ -15483,6 +15488,11 @@ OP_G (int bytemode, int sizeflag)
-       oappend (names64[modrm.reg + add]);
-       break;
-     case bnd_mode:
-+      if (modrm.reg > 0x3)
-+	{
-+	  oappend ("(bad)");
-+	  return;
-+	}
-       oappend (names_bnd[modrm.reg]);
-       break;
-     case v_mode:
diff --git a/import-layers/yocto-poky/meta/recipes-devtools/binutils/binutils/CVE-2017-9756.patch b/import-layers/yocto-poky/meta/recipes-devtools/binutils/binutils/CVE-2017-9756.patch
deleted file mode 100644
index 191d0be..0000000
--- a/import-layers/yocto-poky/meta/recipes-devtools/binutils/binutils/CVE-2017-9756.patch
+++ /dev/null
@@ -1,50 +0,0 @@
-From cd3ea7c69acc5045eb28f9bf80d923116e15e4f5 Mon Sep 17 00:00:00 2001
-From: Nick Clifton <nickc@redhat.com>
-Date: Thu, 15 Jun 2017 13:26:54 +0100
-Subject: [PATCH] Prevent address violation problem when disassembling corrupt
- aarch64 binary.
-
-	PR binutils/21595
-	* aarch64-dis.c (aarch64_ext_ldst_reglist): Check for an out of
-	range value.
-
-Upstream-Status: Backport
-CVE: CVE-2017-9756
-Signed-off-by: Armin Kuster <akuster@mvista.com>
-
----
- opcodes/ChangeLog     | 6 ++++++
- opcodes/aarch64-dis.c | 3 +++
- 2 files changed, 9 insertions(+)
-
-Index: git/opcodes/ChangeLog
-===================================================================
---- git.orig/opcodes/ChangeLog
-+++ git/opcodes/ChangeLog
-@@ -6,6 +6,12 @@
- 
- 2017-06-15  Nick Clifton  <nickc@redhat.com>
- 
-+	PR binutils/21595
-+	* aarch64-dis.c (aarch64_ext_ldst_reglist): Check for an out of
-+	range value.
-+
-+2017-06-15  Nick Clifton  <nickc@redhat.com>
-+
- 	PR binutils/21588
- 	* rl78-decode.opc (OP_BUF_LEN): Define.
- 	(GETBYTE): Check for the index exceeding OP_BUF_LEN.
-Index: git/opcodes/aarch64-dis.c
-===================================================================
---- git.orig/opcodes/aarch64-dis.c
-+++ git/opcodes/aarch64-dis.c
-@@ -409,6 +409,9 @@ aarch64_ext_ldst_reglist (const aarch64_
-   info->reglist.first_regno = extract_field (FLD_Rt, code, 0);
-   /* opcode */
-   value = extract_field (FLD_opcode, code, 0);
-+  /* PR 21595: Check for a bogus value.  */
-+  if (value >= ARRAY_SIZE (data))
-+    return 0;
-   if (expected_num != data[value].num_elements || data[value].is_reserved)
-     return 0;
-   info->reglist.num_regs = data[value].num_regs;
diff --git a/import-layers/yocto-poky/meta/recipes-devtools/binutils/binutils/CVE-2017-9954.patch b/import-layers/yocto-poky/meta/recipes-devtools/binutils/binutils/CVE-2017-9954.patch
deleted file mode 100644
index 8a9d7eb..0000000
--- a/import-layers/yocto-poky/meta/recipes-devtools/binutils/binutils/CVE-2017-9954.patch
+++ /dev/null
@@ -1,58 +0,0 @@
-From 04e15b4a9462cb1ae819e878a6009829aab8020b Mon Sep 17 00:00:00 2001
-From: Nick Clifton <nickc@redhat.com>
-Date: Mon, 26 Jun 2017 15:46:34 +0100
-Subject: [PATCH] Fix address violation parsing a corrupt texhex format file.
-
-	PR binutils/21670
-	* tekhex.c (getvalue): Check for the source pointer exceeding the
-	end pointer before the first byte is read.
-
-Upstream-Status: Backport
-CVE: CVE_2017-9954
-Signed-off-by: Armin Kuster <akuster@mvista.com>
-
----
- bfd/ChangeLog | 6 ++++++
- bfd/tekhex.c  | 6 +++++-
- 2 files changed, 11 insertions(+), 1 deletion(-)
-
-Index: git/bfd/tekhex.c
-===================================================================
---- git.orig/bfd/tekhex.c
-+++ git/bfd/tekhex.c
-@@ -273,6 +273,9 @@ getvalue (char **srcp, bfd_vma *valuep,
-   bfd_vma value = 0;
-   unsigned int len;
- 
-+  if (src >= endp)
-+    return FALSE;
-+
-   if (!ISHEX (*src))
-     return FALSE;
- 
-@@ -514,9 +517,10 @@ pass_over (bfd *abfd, bfd_boolean (*func
-   /* To the front of the file.  */
-   if (bfd_seek (abfd, (file_ptr) 0, SEEK_SET) != 0)
-     return FALSE;
-+
-   while (! is_eof)
-     {
--      char src[MAXCHUNK];
-+      static char src[MAXCHUNK];
-       char type;
- 
-       /* Find first '%'.  */
-Index: git/bfd/ChangeLog
-===================================================================
---- git.orig/bfd/ChangeLog
-+++ git/bfd/ChangeLog
-@@ -1,3 +1,9 @@
-+2017-06-26  Nick Clifton  <nickc@redhat.com>
-+ 
-+       PR binutils/21670
-+       * tekhex.c (getvalue): Check for the source pointer exceeding the
-+       end pointer before the first byte is read.
-+
- 2017-06-15  Nick Clifton  <nickc@redhat.com>
- 
-        PR binutils/21582
diff --git a/import-layers/yocto-poky/meta/recipes-devtools/binutils/binutils/CVE-2017-9955_1.patch b/import-layers/yocto-poky/meta/recipes-devtools/binutils/binutils/CVE-2017-9955_1.patch
deleted file mode 100644
index 774670f..0000000
--- a/import-layers/yocto-poky/meta/recipes-devtools/binutils/binutils/CVE-2017-9955_1.patch
+++ /dev/null
@@ -1,168 +0,0 @@
-From cfd14a500e0485374596234de4db10e88ebc7618 Mon Sep 17 00:00:00 2001
-From: Nick Clifton <nickc@redhat.com>
-Date: Mon, 26 Jun 2017 15:25:08 +0100
-Subject: [PATCH] Fix address violations when atempting to parse fuzzed
- binaries.
-
-	PR binutils/21665
-bfd	* opncls.c (get_build_id): Check that the section is beig enough
-	to contain the whole note.
-	* compress.c (bfd_get_full_section_contents): Check for and reject
-	a section whoes size is greater than the size of the entire file.
-	* elf32-v850.c (v850_elf_copy_notes): Allow for the ouput to not
-	contain a notes section.
-
-binutils* objdump.c (disassemble_section): Skip any section that is bigger
-	than the entire file.
-
-Upstream-Status: Backport 
-CVE: CVE-2017-9955 #1
-Signed-off-by: Armin Kuster <akuster@mvista.com>
-
----
- bfd/ChangeLog      | 10 ++++++++++
- bfd/compress.c     |  6 ++++++
- bfd/elf32-v850.c   |  4 +++-
- bfd/opncls.c       | 18 ++++++++++++++++--
- binutils/ChangeLog |  6 ++++++
- binutils/objdump.c |  4 ++--
- 6 files changed, 43 insertions(+), 5 deletions(-)
-
-Index: git/bfd/compress.c
-===================================================================
---- git.orig/bfd/compress.c
-+++ git/bfd/compress.c
-@@ -239,6 +239,12 @@ bfd_get_full_section_contents (bfd *abfd
-       *ptr = NULL;
-       return TRUE;
-     }
-+  else if (bfd_get_file_size (abfd) > 0
-+	   && sz > (bfd_size_type) bfd_get_file_size (abfd))
-+    {
-+      *ptr = NULL;
-+      return FALSE;
-+    }
- 
-   switch (sec->compress_status)
-     {
-Index: git/bfd/elf32-v850.c
-===================================================================
---- git.orig/bfd/elf32-v850.c
-+++ git/bfd/elf32-v850.c
-@@ -2450,7 +2450,9 @@ v850_elf_copy_notes (bfd *ibfd, bfd *obf
- 	BFD_ASSERT (bfd_malloc_and_get_section (ibfd, inotes, & icont));
- 
-       if ((ocont = elf_section_data (onotes)->this_hdr.contents) == NULL)
--	BFD_ASSERT (bfd_malloc_and_get_section (obfd, onotes, & ocont));
-+	/* If the output is being stripped then it is possible for
-+	   the notes section to disappear.  In this case do nothing.  */
-+	return;
- 
-       /* Copy/overwrite notes from the input to the output.  */
-       memcpy (ocont, icont, bfd_section_size (obfd, onotes));
-Index: git/bfd/opncls.c
-===================================================================
---- git.orig/bfd/opncls.c
-+++ git/bfd/opncls.c
-@@ -1776,6 +1776,7 @@ get_build_id (bfd *abfd)
-   Elf_External_Note *enote;
-   bfd_byte *contents;
-   asection *sect;
-+  bfd_size_type size;
- 
-   BFD_ASSERT (abfd);
- 
-@@ -1790,8 +1791,9 @@ get_build_id (bfd *abfd)
-       return NULL;
-     }
- 
-+  size = bfd_get_section_size (sect);
-   /* FIXME: Should we support smaller build-id notes ?  */
--  if (bfd_get_section_size (sect) < 0x24)
-+  if (size < 0x24)
-     {
-       bfd_set_error (bfd_error_invalid_operation);
-       return NULL;
-@@ -1804,6 +1806,17 @@ get_build_id (bfd *abfd)
-       return NULL;
-     }
- 
-+  /* FIXME: Paranoia - allow for compressed build-id sections.
-+     Maybe we should complain if this size is different from
-+     the one obtained above...  */
-+  size = bfd_get_section_size (sect);
-+  if (size < sizeof (Elf_External_Note))
-+    {
-+      bfd_set_error (bfd_error_invalid_operation);
-+      free (contents);
-+      return NULL;
-+    }
-+
-   enote = (Elf_External_Note *) contents;
-   inote.type = H_GET_32 (abfd, enote->type);
-   inote.namesz = H_GET_32 (abfd, enote->namesz);
-@@ -1815,7 +1828,8 @@ get_build_id (bfd *abfd)
-   if (inote.descsz == 0
-       || inote.type != NT_GNU_BUILD_ID
-       || inote.namesz != 4 /* sizeof "GNU"  */
--      || strcmp (inote.namedata, "GNU") != 0)
-+      || strncmp (inote.namedata, "GNU", 4) != 0
-+      || size < (12 + BFD_ALIGN (inote.namesz, 4) + inote.descsz))
-     {
-       free (contents);
-       bfd_set_error (bfd_error_invalid_operation);
-Index: git/binutils/objdump.c
-===================================================================
---- git.orig/binutils/objdump.c
-+++ git/binutils/objdump.c
-@@ -2048,7 +2048,7 @@ disassemble_section (bfd *abfd, asection
-     return;
- 
-   datasize = bfd_get_section_size (section);
--  if (datasize == 0)
-+  if (datasize == 0 || datasize >= (bfd_size_type) bfd_get_file_size (abfd))
-     return;
- 
-   if (start_address == (bfd_vma) -1
-@@ -2912,7 +2912,7 @@ dump_target_specific (bfd *abfd)
- static void
- dump_section (bfd *abfd, asection *section, void *dummy ATTRIBUTE_UNUSED)
- {
--  bfd_byte *data = 0;
-+  bfd_byte *data = NULL;
-   bfd_size_type datasize;
-   bfd_vma addr_offset;
-   bfd_vma start_offset;
-Index: git/bfd/ChangeLog
-===================================================================
---- git.orig/bfd/ChangeLog
-+++ git/bfd/ChangeLog
-@@ -1,4 +1,14 @@
- 2017-06-26  Nick Clifton  <nickc@redhat.com>
-+
-+       PR binutils/21665
-+       * opncls.c (get_build_id): Check that the section is beig enough
-+       to contain the whole note.
-+       * compress.c (bfd_get_full_section_contents): Check for and reject
-+       a section whoes size is greater than the size of the entire file.
-+       * elf32-v850.c (v850_elf_copy_notes): Allow for the ouput to not
-+       contain a notes section.
-+
-+2017-06-26  Nick Clifton  <nickc@redhat.com>
-  
-        PR binutils/21670
-        * tekhex.c (getvalue): Check for the source pointer exceeding the
-Index: git/binutils/ChangeLog
-===================================================================
---- git.orig/binutils/ChangeLog
-+++ git/binutils/ChangeLog
-@@ -1,3 +1,9 @@
-+2017-06-26  Nick Clifton  <nickc@redhat.com>
-+ 
-+       PR binutils/21665
-+       * objdump.c (disassemble_section): Skip any section that is bigger
-+       than the entire file.
-+
- 2017-04-03  Nick Clifton  <nickc@redhat.com>
- 
-        PR binutils/21345
diff --git a/import-layers/yocto-poky/meta/recipes-devtools/binutils/binutils/CVE-2017-9955_2.patch b/import-layers/yocto-poky/meta/recipes-devtools/binutils/binutils/CVE-2017-9955_2.patch
deleted file mode 100644
index f95295f..0000000
--- a/import-layers/yocto-poky/meta/recipes-devtools/binutils/binutils/CVE-2017-9955_2.patch
+++ /dev/null
@@ -1,122 +0,0 @@
-From 0630b49c470ca2e3c3f74da4c7e4ff63440dd71f Mon Sep 17 00:00:00 2001
-From: "H.J. Lu" <hjl.tools@gmail.com>
-Date: Mon, 26 Jun 2017 09:24:49 -0700
-Subject: [PATCH] Check file size before getting section contents
-
-Don't check the section size in bfd_get_full_section_contents since
-the size of a decompressed section may be larger than the file size.
-Instead, check file size in _bfd_generic_get_section_contents.
-
-	PR binutils/21665
-	* compress.c (bfd_get_full_section_contents): Don't check the
-	file size here.
-	* libbfd.c (_bfd_generic_get_section_contents): Check for and
-	reject a section whoes size + offset is greater than the size
-	of the entire file.
-	(_bfd_generic_get_section_contents_in_window): Likewise.
-
-Upstream-Status: Backport
-CVE: CVE-2017-9955 #2
-Signed-off-by: Armin Kuster <akuster@mvista.com>
-
----
- bfd/ChangeLog  | 10 +++++++++-
- bfd/compress.c |  8 +-------
- bfd/libbfd.c   | 17 ++++++++++++++++-
- 3 files changed, 26 insertions(+), 9 deletions(-)
-
-Index: git/bfd/compress.c
-===================================================================
---- git.orig/bfd/compress.c
-+++ git/bfd/compress.c
-@@ -239,12 +239,6 @@ bfd_get_full_section_contents (bfd *abfd
-       *ptr = NULL;
-       return TRUE;
-     }
--  else if (bfd_get_file_size (abfd) > 0
--	   && sz > (bfd_size_type) bfd_get_file_size (abfd))
--    {
--      *ptr = NULL;
--      return FALSE;
--    }
- 
-   switch (sec->compress_status)
-     {
-@@ -260,7 +254,7 @@ bfd_get_full_section_contents (bfd *abfd
- 		  /* xgettext:c-format */
- 		  (_("error: %B(%A) is too large (%#lx bytes)"),
- 		  abfd, sec, (long) sz);
--	    return FALSE;
-+	      return FALSE;
- 	    }
- 	}
- 
-Index: git/bfd/libbfd.c
-===================================================================
---- git.orig/bfd/libbfd.c
-+++ git/bfd/libbfd.c
-@@ -780,6 +780,7 @@ _bfd_generic_get_section_contents (bfd *
- 				   bfd_size_type count)
- {
-   bfd_size_type sz;
-+  file_ptr filesz;
-   if (count == 0)
-     return TRUE;
- 
-@@ -802,8 +803,15 @@ _bfd_generic_get_section_contents (bfd *
-     sz = section->rawsize;
-   else
-     sz = section->size;
-+  filesz = bfd_get_file_size (abfd);
-+  if (filesz < 0)
-+    {
-+      /* This should never happen.  */
-+      abort ();
-+    }
-   if (offset + count < count
--      || offset + count > sz)
-+      || offset + count > sz
-+      || (section->filepos + offset + sz) > (bfd_size_type) filesz)
-     {
-       bfd_set_error (bfd_error_invalid_operation);
-       return FALSE;
-@@ -826,6 +834,7 @@ _bfd_generic_get_section_contents_in_win
- {
- #ifdef USE_MMAP
-   bfd_size_type sz;
-+  file_ptr filesz;
- 
-   if (count == 0)
-     return TRUE;
-@@ -858,7 +867,13 @@ _bfd_generic_get_section_contents_in_win
-     sz = section->rawsize;
-   else
-     sz = section->size;
-+  filesz = bfd_get_file_size (abfd);
-+    {
-+      /* This should never happen.  */
-+      abort ();
-+    }
-   if (offset + count > sz
-+      || (section->filepos + offset + sz) > (bfd_size_type) filesz
-       || ! bfd_get_file_window (abfd, section->filepos + offset, count, w,
- 				TRUE))
-     return FALSE;
-Index: git/bfd/ChangeLog
-===================================================================
---- git.orig/bfd/ChangeLog
-+++ git/bfd/ChangeLog
-@@ -1,3 +1,13 @@
-+2017-06-26  H.J. Lu  <hongjiu.lu@intel.com>
-+
-+       PR binutils/21665
-+       * compress.c (bfd_get_full_section_contents): Don't check the
-+       file size here.
-+       * libbfd.c (_bfd_generic_get_section_contents): Check for and
-+       reject a section whoes size + offset is greater than the size
-+       of the entire file.
-+       (_bfd_generic_get_section_contents_in_window): Likewise.
-+
- 2017-06-26  Nick Clifton  <nickc@redhat.com>
- 
-        PR binutils/21665
diff --git a/import-layers/yocto-poky/meta/recipes-devtools/binutils/binutils/CVE-2017-9955_3.patch b/import-layers/yocto-poky/meta/recipes-devtools/binutils/binutils/CVE-2017-9955_3.patch
deleted file mode 100644
index 1b67c4e..0000000
--- a/import-layers/yocto-poky/meta/recipes-devtools/binutils/binutils/CVE-2017-9955_3.patch
+++ /dev/null
@@ -1,48 +0,0 @@
-From 1f473e3d0ad285195934e6a077c7ed32afe66437 Mon Sep 17 00:00:00 2001
-From: "H.J. Lu" <hjl.tools@gmail.com>
-Date: Mon, 26 Jun 2017 15:47:16 -0700
-Subject: [PATCH] Add a missing line to
- _bfd_generic_get_section_contents_in_window
-
-	PR binutils/21665
-	* libbfd.c (_bfd_generic_get_section_contents_in_window): Add
-	a missing line.
-
-Upstream-Status: Backport
-CVE: CVE-2017-9955 #3
-Signed-off-by: Armin Kuster <akuster@mvista.com>
-
----
- bfd/ChangeLog | 6 ++++++
- bfd/libbfd.c  | 1 +
- 2 files changed, 7 insertions(+)
-
-Index: git/bfd/libbfd.c
-===================================================================
---- git.orig/bfd/libbfd.c
-+++ git/bfd/libbfd.c
-@@ -868,6 +868,7 @@ _bfd_generic_get_section_contents_in_win
-   else
-     sz = section->size;
-   filesz = bfd_get_file_size (abfd);
-+  if (filesz < 0)
-     {
-       /* This should never happen.  */
-       abort ();
-Index: git/bfd/ChangeLog
-===================================================================
---- git.orig/bfd/ChangeLog
-+++ git/bfd/ChangeLog
-@@ -1,6 +1,12 @@
- 2017-06-26  H.J. Lu  <hongjiu.lu@intel.com>
- 
-        PR binutils/21665
-+       * libbfd.c (_bfd_generic_get_section_contents_in_window): Add
-+       a missing line.
-+
-+2017-06-26  H.J. Lu  <hongjiu.lu@intel.com>
-+
-+       PR binutils/21665
-        * compress.c (bfd_get_full_section_contents): Don't check the
-        file size here.
-        * libbfd.c (_bfd_generic_get_section_contents): Check for and
diff --git a/import-layers/yocto-poky/meta/recipes-devtools/binutils/binutils/CVE-2017-9955_4.patch b/import-layers/yocto-poky/meta/recipes-devtools/binutils/binutils/CVE-2017-9955_4.patch
deleted file mode 100644
index 97d529a..0000000
--- a/import-layers/yocto-poky/meta/recipes-devtools/binutils/binutils/CVE-2017-9955_4.patch
+++ /dev/null
@@ -1,51 +0,0 @@
-From ab27f80c5dceaa23c4ba7f62c0d5d22a5d5dd7a1 Mon Sep 17 00:00:00 2001
-From: Pedro Alves <palves@redhat.com>
-Date: Tue, 27 Jun 2017 00:21:25 +0100
-Subject: [PATCH] Fix GDB regressions caused by previous
- bfd_get_section_contents changes
-
-Ref: https://sourceware.org/ml/binutils/2017-06/msg00343.html
-
-bfd/ChangeLog:
-2017-06-26  Pedro Alves  <palves@redhat.com>
-
-	PR binutils/21665
-	* libbfd.c (_bfd_generic_get_section_contents): Add "count", not
-	"sz".
-
-Upstream-Status: Backport
-CVE: CVE-2017-9955 #4
-Signed-off-by: Armin Kuster <akuster@mvista.com>
-
----
- bfd/ChangeLog | 6 ++++++
- bfd/libbfd.c  | 2 +-
- 2 files changed, 7 insertions(+), 1 deletion(-)
-
-Index: git/bfd/ChangeLog
-===================================================================
---- git.orig/bfd/ChangeLog
-+++ git/bfd/ChangeLog
-@@ -1,3 +1,9 @@
-+2017-06-26  Pedro Alves  <palves@redhat.com>
-+
-+	PR binutils/21665
-+	* libbfd.c (_bfd_generic_get_section_contents): Add "count", not
-+	"sz".
-+
- 2017-06-26  H.J. Lu  <hongjiu.lu@intel.com>
- 
-        PR binutils/21665
-Index: git/bfd/libbfd.c
-===================================================================
---- git.orig/bfd/libbfd.c
-+++ git/bfd/libbfd.c
-@@ -811,7 +811,7 @@ _bfd_generic_get_section_contents (bfd *
-     }
-   if (offset + count < count
-       || offset + count > sz
--      || (section->filepos + offset + sz) > (bfd_size_type) filesz)
-+      || (section->filepos + offset + count) > (bfd_size_type) filesz)
-     {
-       bfd_set_error (bfd_error_invalid_operation);
-       return FALSE;
diff --git a/import-layers/yocto-poky/meta/recipes-devtools/binutils/binutils/CVE-2017-9955_5.patch b/import-layers/yocto-poky/meta/recipes-devtools/binutils/binutils/CVE-2017-9955_5.patch
deleted file mode 100644
index da3bd37..0000000
--- a/import-layers/yocto-poky/meta/recipes-devtools/binutils/binutils/CVE-2017-9955_5.patch
+++ /dev/null
@@ -1,89 +0,0 @@
-From 7211ae501eb0de1044983f2dfb00091a58fbd66c Mon Sep 17 00:00:00 2001
-From: Alan Modra <amodra@gmail.com>
-Date: Tue, 27 Jun 2017 09:45:04 +0930
-Subject: [PATCH] More fixes for bfd_get_section_contents change
-
-	PR binutils/21665
-	* libbfd.c (_bfd_generic_get_section_contents): Delete abort.
-	Use unsigned file pointer type, and remove cast.
-	* libbfd.c (_bfd_generic_get_section_contents_in_window): Likewise.
-	Add "count", not "sz".
-
-Upstream-Status: Backport
-CVE: CVE-2017-9955 #5
-Signed-off-by: Armin Kuster <akuster@mvista.com>
-
----
- bfd/ChangeLog |  8 ++++++++
- bfd/libbfd.c  | 18 ++++--------------
- 2 files changed, 12 insertions(+), 14 deletions(-)
-
-Index: git/bfd/ChangeLog
-===================================================================
---- git.orig/bfd/ChangeLog
-+++ git/bfd/ChangeLog
-@@ -1,3 +1,11 @@
-+2017-06-27  Alan Modra  <amodra@gmail.com>
-+
-+	PR binutils/21665
-+	* libbfd.c (_bfd_generic_get_section_contents): Delete abort.
-+	Use unsigned file pointer type, and remove cast.
-+	* libbfd.c (_bfd_generic_get_section_contents_in_window): Likewise.
-+	Add "count", not "sz".
-+
- 2017-06-26  Pedro Alves  <palves@redhat.com>
- 
- 	PR binutils/21665
-Index: git/bfd/libbfd.c
-===================================================================
---- git.orig/bfd/libbfd.c
-+++ git/bfd/libbfd.c
-@@ -780,7 +780,7 @@ _bfd_generic_get_section_contents (bfd *
- 				   bfd_size_type count)
- {
-   bfd_size_type sz;
--  file_ptr filesz;
-+  ufile_ptr filesz;
-   if (count == 0)
-     return TRUE;
- 
-@@ -804,14 +804,9 @@ _bfd_generic_get_section_contents (bfd *
-   else
-     sz = section->size;
-   filesz = bfd_get_file_size (abfd);
--  if (filesz < 0)
--    {
--      /* This should never happen.  */
--      abort ();
--    }
-   if (offset + count < count
-       || offset + count > sz
--      || (section->filepos + offset + count) > (bfd_size_type) filesz)
-+      || section->filepos + offset + count > filesz)
-     {
-       bfd_set_error (bfd_error_invalid_operation);
-       return FALSE;
-@@ -834,7 +829,7 @@ _bfd_generic_get_section_contents_in_win
- {
- #ifdef USE_MMAP
-   bfd_size_type sz;
--  file_ptr filesz;
-+  ufile_ptr filesz;
- 
-   if (count == 0)
-     return TRUE;
-@@ -868,13 +863,8 @@ _bfd_generic_get_section_contents_in_win
-   else
-     sz = section->size;
-   filesz = bfd_get_file_size (abfd);
--  if (filesz < 0)
--    {
--      /* This should never happen.  */
--      abort ();
--    }
-   if (offset + count > sz
--      || (section->filepos + offset + sz) > (bfd_size_type) filesz
-+      || section->filepos + offset + count > filesz
-       || ! bfd_get_file_window (abfd, section->filepos + offset, count, w,
- 				TRUE))
-     return FALSE;
diff --git a/import-layers/yocto-poky/meta/recipes-devtools/binutils/binutils/CVE-2017-9955_6.patch b/import-layers/yocto-poky/meta/recipes-devtools/binutils/binutils/CVE-2017-9955_6.patch
deleted file mode 100644
index e36429a..0000000
--- a/import-layers/yocto-poky/meta/recipes-devtools/binutils/binutils/CVE-2017-9955_6.patch
+++ /dev/null
@@ -1,56 +0,0 @@
-From ea9aafc41a764e4e2dbb88a7b031e886b481b99a Mon Sep 17 00:00:00 2001
-From: Alan Modra <amodra@gmail.com>
-Date: Tue, 27 Jun 2017 14:43:49 +0930
-Subject: [PATCH] Warning fix
-
-	PR binutils/21665
-	* libbfd.c (_bfd_generic_get_section_contents): Warning fix.
-	(_bfd_generic_get_section_contents_in_window): Likewise.
-
-Upstream-Status: Backport
-CVE: CVE-2017-9955 #6
-Signed-off-by: Armin Kuster <akuster@mvista.com>
-
----
- bfd/ChangeLog | 12 +++++++++---
- bfd/libbfd.c  |  4 ++--
- 2 files changed, 11 insertions(+), 5 deletions(-)
-
-Index: git/bfd/libbfd.c
-===================================================================
---- git.orig/bfd/libbfd.c
-+++ git/bfd/libbfd.c
-@@ -806,7 +806,7 @@ _bfd_generic_get_section_contents (bfd *
-   filesz = bfd_get_file_size (abfd);
-   if (offset + count < count
-       || offset + count > sz
--      || section->filepos + offset + count > filesz)
-+      || (ufile_ptr) section->filepos + offset + count > filesz)
-     {
-       bfd_set_error (bfd_error_invalid_operation);
-       return FALSE;
-@@ -864,7 +864,7 @@ _bfd_generic_get_section_contents_in_win
-     sz = section->size;
-   filesz = bfd_get_file_size (abfd);
-   if (offset + count > sz
--      || section->filepos + offset + count > filesz
-+      || (ufile_ptr) section->filepos + offset + count > filesz
-       || ! bfd_get_file_window (abfd, section->filepos + offset, count, w,
- 				TRUE))
-     return FALSE;
-Index: git/bfd/ChangeLog
-===================================================================
---- git.orig/bfd/ChangeLog
-+++ git/bfd/ChangeLog
-@@ -1,5 +1,11 @@
- 2017-06-27  Alan Modra  <amodra@gmail.com>
- 
-+       PR binutils/21665
-+       * libbfd.c (_bfd_generic_get_section_contents): Warning fix.
-+       (_bfd_generic_get_section_contents_in_window): Likewise.
-+
-+2017-06-27  Alan Modra  <amodra@gmail.com>
-+
- 	PR binutils/21665
- 	* libbfd.c (_bfd_generic_get_section_contents): Delete abort.
- 	Use unsigned file pointer type, and remove cast.
diff --git a/import-layers/yocto-poky/meta/recipes-devtools/binutils/binutils/CVE-2017-9955_7.patch b/import-layers/yocto-poky/meta/recipes-devtools/binutils/binutils/CVE-2017-9955_7.patch
deleted file mode 100644
index 2cae63b..0000000
--- a/import-layers/yocto-poky/meta/recipes-devtools/binutils/binutils/CVE-2017-9955_7.patch
+++ /dev/null
@@ -1,80 +0,0 @@
-From 60a02042bacf8d25814430080adda61ed086bca6 Mon Sep 17 00:00:00 2001
-From: Nick Clifton <nickc@redhat.com>
-Date: Fri, 30 Jun 2017 11:03:37 +0100
-Subject: [PATCH] Fix failures in MMIX linker tests introduced by fix for PR
- 21665.
-
-	PR binutils/21665
-	* objdump.c (disassemble_section): Move check for an overlarge
-	section to just before the allocation of memory.  Do not check
-	section size against file size, but instead use an arbitrary 2Gb
-	limit.  Issue a warning message if the section is too big.
-
-Upstream-Status: Backport
-CVE: CVE-2017-9955 #7
-Signed-off-by: Armin Kuster <akuster@mvista.com>
-
----
- binutils/ChangeLog |  8 ++++++++
- binutils/objdump.c | 25 ++++++++++++++++++++++++-
- 2 files changed, 32 insertions(+), 1 deletion(-)
-
-Index: git/binutils/objdump.c
-===================================================================
---- git.orig/binutils/objdump.c
-+++ git/binutils/objdump.c
-@@ -2048,7 +2048,7 @@ disassemble_section (bfd *abfd, asection
-     return;
- 
-   datasize = bfd_get_section_size (section);
--  if (datasize == 0 || datasize >= (bfd_size_type) bfd_get_file_size (abfd))
-+  if (datasize == 0)
-     return;
- 
-   if (start_address == (bfd_vma) -1
-@@ -2112,6 +2112,29 @@ disassemble_section (bfd *abfd, asection
-     }
-   rel_ppend = rel_pp + rel_count;
- 
-+  /* PR 21665: Check for overlarge datasizes.
-+     Note - we used to check for "datasize > bfd_get_file_size (abfd)" but
-+     this fails when using compressed sections or compressed file formats
-+     (eg MMO, tekhex).
-+
-+     The call to xmalloc below will fail if too much memory is requested,
-+     which will catch the problem in the normal use case.  But if a memory
-+     checker is in use, eg valgrind or sanitize, then an exception will
-+     be still generated, so we try to catch the problem first.
-+
-+     Unfortunately there is no simple way to determine how much memory can
-+     be allocated by calling xmalloc.  So instead we use a simple, arbitrary
-+     limit of 2Gb.  Hopefully this should be enough for most users.  If
-+     someone does start trying to disassemble sections larger then 2Gb in
-+     size they will doubtless complain and we can increase the limit.  */
-+#define MAX_XMALLOC (1024 * 1024 * 1024 * 2UL) /* 2Gb */
-+  if (datasize > MAX_XMALLOC)
-+    {
-+      non_fatal (_("Reading section %s failed because it is too big (%#lx)"),
-+		 section->name, (unsigned long) datasize);
-+      return;
-+    }
-+
-   data = (bfd_byte *) xmalloc (datasize);
- 
-   bfd_get_section_contents (abfd, section, data, 0, datasize);
-Index: git/binutils/ChangeLog
-===================================================================
---- git.orig/binutils/ChangeLog
-+++ git/binutils/ChangeLog
-@@ -1,3 +1,11 @@
-+2017-06-30  Nick Clifton  <nickc@redhat.com>
-+
-+       PR binutils/21665
-+       * objdump.c (disassemble_section): Move check for an overlarge
-+       section to just before the allocation of memory.  Do not check
-+       section size against file size, but instead use an arbitrary 2Gb
-+       limit.  Issue a warning message if the section is too big.
-+
- 2017-06-26  Nick Clifton  <nickc@redhat.com>
-  
-        PR binutils/21665
diff --git a/import-layers/yocto-poky/meta/recipes-devtools/binutils/binutils/CVE-2017-9955_8.patch b/import-layers/yocto-poky/meta/recipes-devtools/binutils/binutils/CVE-2017-9955_8.patch
deleted file mode 100644
index 45dd974..0000000
--- a/import-layers/yocto-poky/meta/recipes-devtools/binutils/binutils/CVE-2017-9955_8.patch
+++ /dev/null
@@ -1,187 +0,0 @@
-From bae7501e87ab614115d9d3213b4dd18d96e604db Mon Sep 17 00:00:00 2001
-From: Alan Modra <amodra@gmail.com>
-Date: Sat, 1 Jul 2017 21:58:10 +0930
-Subject: [PATCH] Use bfd_malloc_and_get_section
-
-It's nicer than xmalloc followed by bfd_get_section_contents, since
-xmalloc exits on failure and needs a check that its size_t arg doesn't
-lose high bits when converted from bfd_size_type.
-
-	PR binutils/21665
-	* objdump.c (strtab): Make var a bfd_byte*.
-	(disassemble_section): Don't limit malloc size.  Instead, use
-	bfd_malloc_and_get_section.
-	(read_section_stabs): Use bfd_malloc_and_get_section.  Return
-	bfd_byte*.
-	(find_stabs_section): Remove now unnecessary cast.
-	* objcopy.c (copy_object): Use bfd_malloc_and_get_section.  Free
-	contents on error return.
-	* nlmconv.c (copy_sections): Use bfd_malloc_and_get_section.
-
-Upstream-Status: Backport
-CVE: CVE-2017-9955 #8
-Signed-off-by: Armin Kuster <akuster@mvista.com>
-
----
- binutils/ChangeLog | 13 +++++++++++++
- binutils/nlmconv.c |  6 ++----
- binutils/objcopy.c |  5 +++--
- binutils/objdump.c | 44 +++++++-------------------------------------
- 4 files changed, 25 insertions(+), 43 deletions(-)
-
-Index: git/binutils/ChangeLog
-===================================================================
---- git.orig/binutils/ChangeLog
-+++ git/binutils/ChangeLog
-@@ -1,3 +1,16 @@
-+2017-07-01  Alan Modra  <amodra@gmail.com>
-+
-+	PR binutils/21665
-+	* objdump.c (strtab): Make var a bfd_byte*.
-+	(disassemble_section): Don't limit malloc size.  Instead, use
-+	bfd_malloc_and_get_section.
-+	(read_section_stabs): Use bfd_malloc_and_get_section.  Return
-+	bfd_byte*.
-+	(find_stabs_section): Remove now unnecessary cast.
-+	* objcopy.c (copy_object): Use bfd_malloc_and_get_section.  Free
-+	contents on error return.
-+	* nlmconv.c (copy_sections): Use bfd_malloc_and_get_section.
-+
- 2017-06-30  Nick Clifton  <nickc@redhat.com>
- 
-        PR binutils/21665
-Index: git/binutils/nlmconv.c
-===================================================================
---- git.orig/binutils/nlmconv.c
-+++ git/binutils/nlmconv.c
-@@ -1224,7 +1224,7 @@ copy_sections (bfd *inbfd, asection *ins
-   const char *inname;
-   asection *outsec;
-   bfd_size_type size;
--  void *contents;
-+  bfd_byte *contents;
-   long reloc_size;
-   bfd_byte buf[4];
-   bfd_size_type add;
-@@ -1240,9 +1240,7 @@ copy_sections (bfd *inbfd, asection *ins
-     contents = NULL;
-   else
-     {
--      contents = xmalloc (size);
--      if (! bfd_get_section_contents (inbfd, insec, contents,
--				      (file_ptr) 0, size))
-+      if (!bfd_malloc_and_get_section (inbfd, insec, &contents))
- 	bfd_fatal (bfd_get_filename (inbfd));
-     }
- 
-Index: git/binutils/objdump.c
-===================================================================
---- git.orig/binutils/objdump.c
-+++ git/binutils/objdump.c
-@@ -180,7 +180,7 @@ static long dynsymcount = 0;
- static bfd_byte *stabs;
- static bfd_size_type stab_size;
- 
--static char *strtab;
-+static bfd_byte *strtab;
- static bfd_size_type stabstr_size;
- 
- static bfd_boolean is_relocatable = FALSE;
-@@ -2112,29 +2112,6 @@ disassemble_section (bfd *abfd, asection
-     }
-   rel_ppend = rel_pp + rel_count;
- 
--  /* PR 21665: Check for overlarge datasizes.
--     Note - we used to check for "datasize > bfd_get_file_size (abfd)" but
--     this fails when using compressed sections or compressed file formats
--     (eg MMO, tekhex).
--
--     The call to xmalloc below will fail if too much memory is requested,
--     which will catch the problem in the normal use case.  But if a memory
--     checker is in use, eg valgrind or sanitize, then an exception will
--     be still generated, so we try to catch the problem first.
--
--     Unfortunately there is no simple way to determine how much memory can
--     be allocated by calling xmalloc.  So instead we use a simple, arbitrary
--     limit of 2Gb.  Hopefully this should be enough for most users.  If
--     someone does start trying to disassemble sections larger then 2Gb in
--     size they will doubtless complain and we can increase the limit.  */
--#define MAX_XMALLOC (1024 * 1024 * 1024 * 2UL) /* 2Gb */
--  if (datasize > MAX_XMALLOC)
--    {
--      non_fatal (_("Reading section %s failed because it is too big (%#lx)"),
--		 section->name, (unsigned long) datasize);
--      return;
--    }
--
-   data = (bfd_byte *) xmalloc (datasize);
- 
-   bfd_get_section_contents (abfd, section, data, 0, datasize);
-@@ -2652,12 +2629,11 @@ dump_dwarf (bfd *abfd)
- /* Read ABFD's stabs section STABSECT_NAME, and return a pointer to
-    it.  Return NULL on failure.   */
- 
--static char *
-+static bfd_byte *
- read_section_stabs (bfd *abfd, const char *sect_name, bfd_size_type *size_ptr)
- {
-   asection *stabsect;
--  bfd_size_type size;
--  char *contents;
-+  bfd_byte *contents;
- 
-   stabsect = bfd_get_section_by_name (abfd, sect_name);
-   if (stabsect == NULL)
-@@ -2666,10 +2642,7 @@ read_section_stabs (bfd *abfd, const cha
-       return FALSE;
-     }
- 
--  size = bfd_section_size (abfd, stabsect);
--  contents  = (char *) xmalloc (size);
--
--  if (! bfd_get_section_contents (abfd, stabsect, contents, 0, size))
-+  if (!bfd_malloc_and_get_section (abfd, stabsect, &contents))
-     {
-       non_fatal (_("reading %s section of %s failed: %s"),
- 		 sect_name, bfd_get_filename (abfd),
-@@ -2679,7 +2652,7 @@ read_section_stabs (bfd *abfd, const cha
-       return NULL;
-     }
- 
--  *size_ptr = size;
-+  *size_ptr = bfd_section_size (abfd, stabsect);
- 
-   return contents;
- }
-@@ -2806,8 +2779,7 @@ find_stabs_section (bfd *abfd, asection
- 
-       if (strtab)
- 	{
--	  stabs = (bfd_byte *) read_section_stabs (abfd, section->name,
--						   &stab_size);
-+	  stabs = read_section_stabs (abfd, section->name, &stab_size);
- 	  if (stabs)
- 	    print_section_stabs (abfd, section->name, &sought->string_offset);
- 	}
-Index: git/binutils/objcopy.c
-===================================================================
---- git.orig/binutils/objcopy.c
-+++ git/binutils/objcopy.c
-@@ -2186,14 +2186,15 @@ copy_object (bfd *ibfd, bfd *obfd, const
- 	      continue;
- 	    }
- 
--	  bfd_byte * contents = xmalloc (size);
--	  if (bfd_get_section_contents (ibfd, sec, contents, 0, size))
-+	  bfd_byte *contents;
-+          if (bfd_malloc_and_get_section (ibfd, sec, &contents))
- 	    {
- 	      if (fwrite (contents, 1, size, f) != size)
- 		{
- 		  non_fatal (_("error writing section contents to %s (error: %s)"),
- 			     pdump->filename,
- 			     strerror (errno));
-+                  free (contents);
- 		  return FALSE;
- 		}
- 	    }
diff --git a/import-layers/yocto-poky/meta/recipes-devtools/binutils/binutils/CVE-2017-9955_9.patch b/import-layers/yocto-poky/meta/recipes-devtools/binutils/binutils/CVE-2017-9955_9.patch
deleted file mode 100644
index c6353d8..0000000
--- a/import-layers/yocto-poky/meta/recipes-devtools/binutils/binutils/CVE-2017-9955_9.patch
+++ /dev/null
@@ -1,361 +0,0 @@
-From 8e2f54bcee7e3e8315d4a39a302eaf8e4389e07d Mon Sep 17 00:00:00 2001
-From: "H.J. Lu" <hjl.tools@gmail.com>
-Date: Tue, 30 May 2017 06:34:05 -0700
-Subject: [PATCH] Add bfd_get_file_size to get archive element size
-
-We can't use stat() to get archive element size.  Add bfd_get_file_size
-to get size for both normal files and archive elements.
-
-bfd/
-
-	PR binutils/21519
-	* bfdio.c (bfd_get_file_size): New function.
-	* bfd-in2.h: Regenerated.
-
-binutils/
-
-	PR binutils/21519
-	* objdump.c (dump_relocs_in_section): Replace get_file_size
-	with bfd_get_file_size to get archive element size.
-	* testsuite/binutils-all/objdump.exp (test_objdump_f): New
-	proc.
-	(test_objdump_h): Likewise.
-	(test_objdump_t): Likewise.
-	(test_objdump_r): Likewise.
-	(test_objdump_s): Likewise.
-	Add objdump tests on archive.
-
-Upstream-Status: Backport
-CVE: CVE-2017-9955
-Signed-off-by: Armin Kuster <akuster@mvista.com>
-
----
- bfd/ChangeLog                               |   6 +
- bfd/bfd-in2.h                               |   2 +
- bfd/bfdio.c                                 |  23 ++++
- binutils/ChangeLog                          |  13 ++
- binutils/objdump.c                          |   2 +-
- binutils/testsuite/binutils-all/objdump.exp | 178 +++++++++++++++++++---------
- 6 files changed, 170 insertions(+), 54 deletions(-)
-
-Index: git/bfd/bfd-in2.h
-===================================================================
---- git.orig/bfd/bfd-in2.h
-+++ git/bfd/bfd-in2.h
-@@ -1241,6 +1241,8 @@ long bfd_get_mtime (bfd *abfd);
- 
- file_ptr bfd_get_size (bfd *abfd);
- 
-+file_ptr bfd_get_file_size (bfd *abfd);
-+
- void *bfd_mmap (bfd *abfd, void *addr, bfd_size_type len,
-     int prot, int flags, file_ptr offset,
-     void **map_addr, bfd_size_type *map_len);
-Index: git/bfd/bfdio.c
-===================================================================
---- git.orig/bfd/bfdio.c
-+++ git/bfd/bfdio.c
-@@ -434,6 +434,29 @@ bfd_get_size (bfd *abfd)
-   return buf.st_size;
- }
- 
-+/*
-+FUNCTION
-+	bfd_get_file_size
-+
-+SYNOPSIS
-+	file_ptr bfd_get_file_size (bfd *abfd);
-+
-+DESCRIPTION
-+	Return the file size (as read from file system) for the file
-+	associated with BFD @var{abfd}.  It supports both normal files
-+	and archive elements.
-+
-+*/
-+
-+file_ptr
-+bfd_get_file_size (bfd *abfd)
-+{
-+  if (abfd->my_archive != NULL
-+      && !bfd_is_thin_archive (abfd->my_archive))
-+    return arelt_size (abfd);
-+
-+  return bfd_get_size (abfd);
-+}
- 
- /*
- FUNCTION
-Index: git/binutils/objdump.c
-===================================================================
---- git.orig/binutils/objdump.c
-+++ git/binutils/objdump.c
-@@ -3310,7 +3310,7 @@ dump_relocs_in_section (bfd *abfd,
-     }
- 
-   if ((bfd_get_file_flags (abfd) & (BFD_IN_MEMORY | BFD_LINKER_CREATED)) == 0
--      && relsize > get_file_size (bfd_get_filename (abfd)))
-+      && relsize > bfd_get_file_size (abfd))
-     {
-       printf (" (too many: 0x%x)\n", section->reloc_count);
-       bfd_set_error (bfd_error_file_truncated);
-Index: git/binutils/testsuite/binutils-all/objdump.exp
-===================================================================
---- git.orig/binutils/testsuite/binutils-all/objdump.exp
-+++ git/binutils/testsuite/binutils-all/objdump.exp
-@@ -64,96 +64,168 @@ if [regexp $want $got] then {
- if {![binutils_assemble $srcdir/$subdir/bintest.s tmpdir/bintest.o]} then {
-     return
- }
-+if {![binutils_assemble $srcdir/$subdir/bintest.s tmpdir/bintest2.o]} then {
-+    return
-+}
- if [is_remote host] {
-     set testfile [remote_download host tmpdir/bintest.o]
-+    set testfile2 [remote_download host tmpdir/bintest2.o]
- } else {
-     set testfile tmpdir/bintest.o
-+    set testfile2 tmpdir/bintest2.o
-+}
-+
-+if { ![istarget "alpha-*-*"] || [is_elf_format] } then {
-+    remote_file host file delete tmpdir/bintest.a
-+    set got [binutils_run $AR "rc tmpdir/bintest.a $testfile2"]
-+    if ![string match "" $got] then {
-+	fail "bintest.a"
-+	remote_file host delete tmpdir/bintest.a
-+    } else {
-+	if [is_remote host] {
-+	    set testarchive [remote_download host tmpdir/bintest.a]
-+	} else {
-+	    set testarchive tmpdir/bintest.a
-+	}
-+    }
-+    remote_file host delete tmpdir/bintest2.o
- }
- 
- # Test objdump -f
- 
--set got [binutils_run $OBJDUMP "$OBJDUMPFLAGS -f $testfile"]
-+proc test_objdump_f { testfile dumpfile } {
-+    global OBJDUMP
-+    global OBJDUMPFLAGS
-+    global cpus_regex
- 
--set want "$testfile:\[ 	\]*file format.*architecture:\[ 	\]*${cpus_regex}.*HAS_RELOC.*HAS_SYMS"
-+    set got [binutils_run $OBJDUMP "$OBJDUMPFLAGS -f $testfile"]
- 
--if ![regexp $want $got] then {
--    fail "objdump -f"
--} else {
--    pass "objdump -f"
-+    set want "$dumpfile:\[ 	\]*file format.*architecture:\[ 	\]*${cpus_regex}.*HAS_RELOC.*HAS_SYMS"
-+
-+    if ![regexp $want $got] then {
-+	fail "objdump -f ($testfile, $dumpfile)"
-+    } else {
-+	pass "objdump -f ($testfile, $dumpfile)"
-+    }
-+}
-+
-+test_objdump_f $testfile $testfile
-+if { [ remote_file host exists $testarchive ] } then {
-+    test_objdump_f $testarchive bintest2.o
- }
- 
- # Test objdump -h
- 
--set got [binutils_run $OBJDUMP "$OBJDUMPFLAGS -h $testfile"]
-+proc test_objdump_h { testfile dumpfile } {
-+    global OBJDUMP
-+    global OBJDUMPFLAGS
- 
--set want "$testfile:\[ 	\]*file format.*Sections.*\[0-9\]+\[ 	\]+\[^ 	\]*(text|TEXT|P|\\\$CODE\\\$)\[^ 	\]*\[ 	\]*(\[0-9a-fA-F\]+).*\[0-9\]+\[ 	\]+\[^ 	\]*(\\.data|DATA|D_1)\[^ 	\]*\[ 	\]*(\[0-9a-fA-F\]+)"
-+    set got [binutils_run $OBJDUMP "$OBJDUMPFLAGS -h $testfile"]
- 
--if ![regexp $want $got all text_name text_size data_name data_size] then {
--    fail "objdump -h"
--} else {
--    verbose "text name is $text_name size is $text_size"
--    verbose "data name is $data_name size is $data_size"
--    set ets 8
--    set eds 4
--    # The [ti]c4x target has the property sizeof(char)=sizeof(long)=1
--    if [istarget *c4x*-*-*] then {
--        set ets 2
--        set eds 1
--    }
--    # c54x section sizes are in bytes, not octets; adjust accordingly
--    if [istarget *c54x*-*-*] then {
--	set ets 4
--	set eds 2
--    }
--    if {[expr "0x$text_size"] < $ets || [expr "0x$data_size"] < $eds} then {
--	send_log "sizes too small\n"
--	fail "objdump -h"
-+    set want "$dumpfile:\[ 	\]*file format.*Sections.*\[0-9\]+\[ 	\]+\[^ 	\]*(text|TEXT|P|\\\$CODE\\\$)\[^ 	\]*\[ 	\]*(\[0-9a-fA-F\]+).*\[0-9\]+\[ 	\]+\[^ 	\]*(\\.data|DATA|D_1)\[^ 	\]*\[ 	\]*(\[0-9a-fA-F\]+)"
-+
-+    if ![regexp $want $got all text_name text_size data_name data_size] then {
-+	fail "objdump -h ($testfile, $dumpfile)"
-     } else {
--	pass "objdump -h"
-+	verbose "text name is $text_name size is $text_size"
-+	verbose "data name is $data_name size is $data_size"
-+	set ets 8
-+	set eds 4
-+	# The [ti]c4x target has the property sizeof(char)=sizeof(long)=1
-+	if [istarget *c4x*-*-*] then {
-+            set ets 2
-+            set eds 1
-+	}
-+	# c54x section sizes are in bytes, not octets; adjust accordingly
-+	if [istarget *c54x*-*-*] then {
-+	    set ets 4
-+	    set eds 2
-+        }
-+	if {[expr "0x$text_size"] < $ets || [expr "0x$data_size"] < $eds} then {
-+	    send_log "sizes too small\n"
-+	    fail "objdump -h ($testfile, $dumpfile)"
-+	} else {
-+	    pass "objdump -h ($testfile, $dumpfile)"
-+	}
-     }
- }
- 
-+test_objdump_h $testfile $testfile
-+if { [ remote_file host exists $testarchive ] } then {
-+    test_objdump_h $testarchive bintest2.o
-+}
-+
- # Test objdump -t
- 
--set got [binutils_run $OBJDUMP "$OBJDUMPFLAGS -t $testfile"]
-+proc test_objdump_t { testfile} {
-+    global OBJDUMP
-+    global OBJDUMPFLAGS
-+
-+    set got [binutils_run $OBJDUMP "$OBJDUMPFLAGS -t $testfile"]
-+
-+    if [info exists vars] then { unset vars }
-+    while {[regexp "(\[a-z\]*_symbol)(.*)" $got all symbol rest]} {
-+	set vars($symbol) 1
-+	set got $rest
-+    }
- 
--if [info exists vars] then { unset vars }
--while {[regexp "(\[a-z\]*_symbol)(.*)" $got all symbol rest]} {
--    set vars($symbol) 1
--    set got $rest
-+    if {![info exists vars(text_symbol)] \
-+	 || ![info exists vars(data_symbol)] \
-+	 || ![info exists vars(common_symbol)] \
-+	 || ![info exists vars(external_symbol)]} then {
-+	fail "objdump -t ($testfile)"
-+    } else {
-+	pass "objdump -t ($testfile)"
-+    }
- }
- 
--if {![info exists vars(text_symbol)] \
--     || ![info exists vars(data_symbol)] \
--     || ![info exists vars(common_symbol)] \
--     || ![info exists vars(external_symbol)]} then {
--    fail "objdump -t"
--} else {
--    pass "objdump -t"
-+test_objdump_t $testfile
-+if { [ remote_file host exists $testarchive ] } then {
-+    test_objdump_t $testarchive
- }
- 
- # Test objdump -r
- 
--set got [binutils_run $OBJDUMP "$OBJDUMPFLAGS -r $testfile"]
-+proc test_objdump_r { testfile dumpfile } {
-+    global OBJDUMP
-+    global OBJDUMPFLAGS
- 
--set want "$testfile:\[ 	\]*file format.*RELOCATION RECORDS FOR \\\[\[^\]\]*(text|TEXT|P|\\\$CODE\\\$)\[^\]\]*\\\].*external_symbol"
-+    set got [binutils_run $OBJDUMP "$OBJDUMPFLAGS -r $testfile"]
- 
--if [regexp $want $got] then {
--    pass "objdump -r"
--} else {
--    fail "objdump -r"
-+    set want "$dumpfile:\[ 	\]*file format.*RELOCATION RECORDS FOR \\\[\[^\]\]*(text|TEXT|P|\\\$CODE\\\$)\[^\]\]*\\\].*external_symbol"
-+
-+    if [regexp $want $got] then {
-+	pass "objdump -r ($testfile, $dumpfile)"
-+    } else {
-+	fail "objdump -r ($testfile, $dumpfile)"
-+    }
-+}
-+
-+test_objdump_r $testfile $testfile
-+if { [ remote_file host exists $testarchive ] } then {
-+    test_objdump_r $testarchive bintest2.o
- }
- 
- # Test objdump -s
- 
--set got [binutils_run $OBJDUMP "$OBJDUMPFLAGS -s $testfile"]
-+proc test_objdump_s { testfile dumpfile } {
-+    global OBJDUMP
-+    global OBJDUMPFLAGS
- 
--set want "$testfile:\[ 	\]*file format.*Contents.*(text|TEXT|P|\\\$CODE\\\$)\[^0-9\]*\[ 	\]*\[0-9a-fA-F\]*\[ 	\]*(00000001|01000000|00000100).*Contents.*(data|DATA|D_1)\[^0-9\]*\[ 	\]*\[0-9a-fA-F\]*\[ 	\]*(00000002|02000000|00000200)"
-+    set got [binutils_run $OBJDUMP "$OBJDUMPFLAGS -s $testfile"]
- 
--if [regexp $want $got] then {
--    pass "objdump -s"
--} else {
--    fail "objdump -s"
-+    set want "$dumpfile:\[ 	\]*file format.*Contents.*(text|TEXT|P|\\\$CODE\\\$)\[^0-9\]*\[ 	\]*\[0-9a-fA-F\]*\[ 	\]*(00000001|01000000|00000100).*Contents.*(data|DATA|D_1)\[^0-9\]*\[ 	\]*\[0-9a-fA-F\]*\[ 	\]*(00000002|02000000|00000200)"
-+
-+    if [regexp $want $got] then {
-+	pass "objdump -s ($testfile, $dumpfile)"
-+    } else {
-+	fail "objdump -s ($testfile, $dumpfile)"
-+    }
-+}
-+
-+test_objdump_s $testfile $testfile
-+if { [ remote_file host exists $testarchive ] } then {
-+    test_objdump_s $testarchive bintest2.o
- }
- 
- # Test objdump -s on a file that contains a compressed .debug section
-Index: git/bfd/ChangeLog
-===================================================================
---- git.orig/bfd/ChangeLog
-+++ git/bfd/ChangeLog
-@@ -1,3 +1,9 @@
-+2017-05-30  H.J. Lu  <hongjiu.lu@intel.com>
-+
-+       PR binutils/21519
-+       * bfdio.c (bfd_get_file_size): New function.
-+       * bfd-in2.h: Regenerated.
-+
- 2017-06-27  Alan Modra  <amodra@gmail.com>
- 
-        PR binutils/21665
-Index: git/binutils/ChangeLog
-===================================================================
---- git.orig/binutils/ChangeLog
-+++ git/binutils/ChangeLog
-@@ -1,3 +1,16 @@
-+2017-05-30  H.J. Lu  <hongjiu.lu@intel.com>
-+
-+       PR binutils/21519
-+       * objdump.c (dump_relocs_in_section): Replace get_file_size
-+       with bfd_get_file_size to get archive element size.
-+       * testsuite/binutils-all/objdump.exp (test_objdump_f): New
-+       proc.
-+       (test_objdump_h): Likewise.
-+       (test_objdump_t): Likewise.
-+       (test_objdump_r): Likewise.
-+       (test_objdump_s): Likewise.
-+       Add objdump tests on archive.
-+
- 2017-07-01  Alan Modra  <amodra@gmail.com>
- 
- 	PR binutils/21665
diff --git a/import-layers/yocto-poky/meta/recipes-devtools/binutils/binutils_2.28.bb b/import-layers/yocto-poky/meta/recipes-devtools/binutils/binutils_2.29.1.bb
similarity index 90%
rename from import-layers/yocto-poky/meta/recipes-devtools/binutils/binutils_2.28.bb
rename to import-layers/yocto-poky/meta/recipes-devtools/binutils/binutils_2.29.1.bb
index b51437b..51a9748 100644
--- a/import-layers/yocto-poky/meta/recipes-devtools/binutils/binutils_2.28.bb
+++ b/import-layers/yocto-poky/meta/recipes-devtools/binutils/binutils_2.29.1.bb
@@ -42,4 +42,8 @@
 	rmdir ${D}/${libdir}64 || :
 }
 
+# Split out libbfd-*.so so including perf doesn't include extra stuff
+PACKAGE_BEFORE_PN += "libbfd"
+FILES_libbfd = "${libdir}/libbfd-*.so"
+
 BBCLASSEXTEND = "native nativesdk"