Patchwork [2/2] binutils: Delete recipes for 2.22

login
register
mail settings
Submitter Khem Raj
Date Feb. 26, 2013, 8:55 p.m.
Message ID <1361912124-14261-2-git-send-email-raj.khem@gmail.com>
Download mbox | patch
Permalink /patch/45153/
State Accepted
Commit 0d2b60e2d657c17beb1242893a18707465843e01
Headers show

Comments

Khem Raj - Feb. 26, 2013, 8:55 p.m.
We have 2.23.1 as default now.

Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
 meta/recipes-devtools/binutils/binutils-2.22.inc   |   51 -
 .../binutils/binutils-cross-canadian_2.22.bb       |    3 -
 .../binutils/binutils-cross_2.22.bb                |    3 -
 .../binutils/binutils-crosssdk_2.22.bb             |   14 -
 .../binutils/binutils/0001-PR-ld-13470.patch       |   82 -
 ...print_insn_micromips-Rename-local-variabl.patch |  634 -
 .../binutils/binutils/0019-PR-ld-13468.patch       |   46 -
 .../binutils/0028-Backport-from-mainline.patch     |  139 -
 ...19-Chung-Lin-Tang-cltang-codesourcery.com.patch |   47 -
 ...19-Chung-Lin-Tang-cltang-codesourcery.com.patch |  214 -
 ...19-Chung-Lin-Tang-cltang-codesourcery.com.patch | 1068 --
 ...elf32bmip.sh-OTHER_SECTIONS-Put-.mdebug.-.patch |   49 -
 .../binutils/binutils/0052-gas.patch               |   83 -
 ...55-Remove-ABI_64_P-check-on-R_X86_64_PCXX.patch |  176 -
 .../binutils/binutils/0078-PR-binutils-13622.patch |   48 -
 .../binutils/0144-timer.cc-include-unistd.h.patch  |   32 -
 ...-2012-04-27-Doug-Kwan-dougkwan-google.com.patch |  169 -
 .../binutils/binutils/0182-PR-ld-13991.patch       | 1617 --
 .../binutils/binutils-2.19.1-ld-sysroot.patch      |   39 -
 .../binutils/binutils/binutils-armv5e.patch        |   24 -
 .../binutils/binutils/binutils-poison.patch        |  255 -
 .../binutils/binutils/binutils-powerpc-e5500.patch |  936 -
 .../binutils/binutils/binutils-pr12366.patch       |  428 -
 .../binutils/binutils-uclibc-100-uclibc-conf.patch |   40 -
 ...binutils-uclibc-300-001_ld_makefile_patch.patch |   55 -
 ...binutils-uclibc-300-006_better_file_error.patch |   45 -
 ...ils-uclibc-300-012_check_ldrunpath_length.patch |   49 -
 .../binutils/binutils-uclibc-gas-needs-libm.patch  |   38 -
 .../binutils/binutils-x86_64_i386_biarch.patch     |   29 -
 .../binutils/binutils/clone-shadow.patch           |   79 -
 .../binutils/binutils/libiberty_path_fix.patch     |   22 -
 .../binutils/binutils/libtool-2.4-update.patch     |18705 --------------------
 .../binutils/binutils/libtool-rpath-fix.patch      |   39 -
 .../binutils/mips64-default-ld-emulation.patch     |   49 -
 .../binutils/binutils/relocatable_sdk.patch        |   49 -
 .../binutils/binutils/rpath-sysroot.patch          |   38 -
 meta/recipes-devtools/binutils/binutils_2.22.bb    |   35 -
 37 files changed, 25429 deletions(-)
 delete mode 100644 meta/recipes-devtools/binutils/binutils-2.22.inc
 delete mode 100644 meta/recipes-devtools/binutils/binutils-cross-canadian_2.22.bb
 delete mode 100644 meta/recipes-devtools/binutils/binutils-cross_2.22.bb
 delete mode 100644 meta/recipes-devtools/binutils/binutils-crosssdk_2.22.bb
 delete mode 100644 meta/recipes-devtools/binutils/binutils/0001-PR-ld-13470.patch
 delete mode 100644 meta/recipes-devtools/binutils/binutils/0006-mips-dis.c-print_insn_micromips-Rename-local-variabl.patch
 delete mode 100644 meta/recipes-devtools/binutils/binutils/0019-PR-ld-13468.patch
 delete mode 100644 meta/recipes-devtools/binutils/binutils/0028-Backport-from-mainline.patch
 delete mode 100644 meta/recipes-devtools/binutils/binutils/0035-2011-12-19-Chung-Lin-Tang-cltang-codesourcery.com.patch
 delete mode 100644 meta/recipes-devtools/binutils/binutils/0036-2011-12-19-Chung-Lin-Tang-cltang-codesourcery.com.patch
 delete mode 100644 meta/recipes-devtools/binutils/binutils/0037-2011-12-19-Chung-Lin-Tang-cltang-codesourcery.com.patch
 delete mode 100644 meta/recipes-devtools/binutils/binutils/0039-emulparams-elf32bmip.sh-OTHER_SECTIONS-Put-.mdebug.-.patch
 delete mode 100644 meta/recipes-devtools/binutils/binutils/0052-gas.patch
 delete mode 100644 meta/recipes-devtools/binutils/binutils/0055-Remove-ABI_64_P-check-on-R_X86_64_PCXX.patch
 delete mode 100644 meta/recipes-devtools/binutils/binutils/0078-PR-binutils-13622.patch
 delete mode 100644 meta/recipes-devtools/binutils/binutils/0144-timer.cc-include-unistd.h.patch
 delete mode 100644 meta/recipes-devtools/binutils/binutils/0166-2012-04-27-Doug-Kwan-dougkwan-google.com.patch
 delete mode 100644 meta/recipes-devtools/binutils/binutils/0182-PR-ld-13991.patch
 delete mode 100644 meta/recipes-devtools/binutils/binutils/binutils-2.19.1-ld-sysroot.patch
 delete mode 100644 meta/recipes-devtools/binutils/binutils/binutils-armv5e.patch
 delete mode 100644 meta/recipes-devtools/binutils/binutils/binutils-poison.patch
 delete mode 100644 meta/recipes-devtools/binutils/binutils/binutils-powerpc-e5500.patch
 delete mode 100644 meta/recipes-devtools/binutils/binutils/binutils-pr12366.patch
 delete mode 100644 meta/recipes-devtools/binutils/binutils/binutils-uclibc-100-uclibc-conf.patch
 delete mode 100644 meta/recipes-devtools/binutils/binutils/binutils-uclibc-300-001_ld_makefile_patch.patch
 delete mode 100644 meta/recipes-devtools/binutils/binutils/binutils-uclibc-300-006_better_file_error.patch
 delete mode 100644 meta/recipes-devtools/binutils/binutils/binutils-uclibc-300-012_check_ldrunpath_length.patch
 delete mode 100644 meta/recipes-devtools/binutils/binutils/binutils-uclibc-gas-needs-libm.patch
 delete mode 100644 meta/recipes-devtools/binutils/binutils/binutils-x86_64_i386_biarch.patch
 delete mode 100644 meta/recipes-devtools/binutils/binutils/clone-shadow.patch
 delete mode 100644 meta/recipes-devtools/binutils/binutils/libiberty_path_fix.patch
 delete mode 100644 meta/recipes-devtools/binutils/binutils/libtool-2.4-update.patch
 delete mode 100644 meta/recipes-devtools/binutils/binutils/libtool-rpath-fix.patch
 delete mode 100644 meta/recipes-devtools/binutils/binutils/mips64-default-ld-emulation.patch
 delete mode 100644 meta/recipes-devtools/binutils/binutils/relocatable_sdk.patch
 delete mode 100644 meta/recipes-devtools/binutils/binutils/rpath-sysroot.patch
 delete mode 100644 meta/recipes-devtools/binutils/binutils_2.22.bb

Patch

diff --git a/meta/recipes-devtools/binutils/binutils-2.22.inc b/meta/recipes-devtools/binutils/binutils-2.22.inc
deleted file mode 100644
index 9697242..0000000
--- a/meta/recipes-devtools/binutils/binutils-2.22.inc
+++ /dev/null
@@ -1,51 +0,0 @@ 
-PR = "r17"
-
-LIC_FILES_CHKSUM="\
-    file://src-release;endline=17;md5=4830a9ef968f3b18dd5e9f2c00db2d35\
-    file://COPYING;md5=59530bdf33659b29e73d4adb9f9f6552\
-    file://COPYING.LIB;md5=9f604d8a4f8e74f4f5140845a21b6674\
-    file://COPYING3;md5=d32239bcb673463ab874e80d47fae504\
-    file://COPYING3.LIB;md5=6a6a8e020838b23406c81b19c1d46df6\
-    file://gas/COPYING;md5=d32239bcb673463ab874e80d47fae504\
-    file://include/COPYING;md5=59530bdf33659b29e73d4adb9f9f6552\
-    file://include/COPYING3;md5=d32239bcb673463ab874e80d47fae504\
-    file://libiberty/COPYING.LIB;md5=a916467b91076e631dd8edb7424769c7\
-    file://bfd/COPYING;md5=d32239bcb673463ab874e80d47fae504\
-    "
-
-SRC_URI = "\
-     ${GNU_MIRROR}/binutils/binutils-${PV}.tar.bz2 \
-     file://binutils-uclibc-100-uclibc-conf.patch \
-     file://binutils-uclibc-300-001_ld_makefile_patch.patch \
-     file://binutils-uclibc-300-006_better_file_error.patch \
-     file://binutils-uclibc-300-012_check_ldrunpath_length.patch \
-     file://binutils-uclibc-gas-needs-libm.patch \
-     file://binutils-x86_64_i386_biarch.patch \
-     file://libtool-2.4-update.patch \
-     file://binutils-2.19.1-ld-sysroot.patch \
-     file://libiberty_path_fix.patch \
-     file://binutils-poison.patch \
-     file://libtool-rpath-fix.patch \
-     file://clone-shadow.patch \
-     file://binutils-powerpc-e5500.patch \
-     file://binutils-armv5e.patch \
-     file://mips64-default-ld-emulation.patch \
-     file://0001-PR-ld-13470.patch \
-     file://rpath-sysroot.patch \
-     file://0006-mips-dis.c-print_insn_micromips-Rename-local-variabl.patch \
-     file://0019-PR-ld-13468.patch \
-     file://0028-Backport-from-mainline.patch \
-     file://0035-2011-12-19-Chung-Lin-Tang-cltang-codesourcery.com.patch \
-     file://0036-2011-12-19-Chung-Lin-Tang-cltang-codesourcery.com.patch \
-     file://0037-2011-12-19-Chung-Lin-Tang-cltang-codesourcery.com.patch \
-     file://0039-emulparams-elf32bmip.sh-OTHER_SECTIONS-Put-.mdebug.-.patch \
-     file://0052-gas.patch \
-     file://0055-Remove-ABI_64_P-check-on-R_X86_64_PCXX.patch \
-     file://0078-PR-binutils-13622.patch \
-     file://0144-timer.cc-include-unistd.h.patch \
-     file://0166-2012-04-27-Doug-Kwan-dougkwan-google.com.patch \
-     file://0182-PR-ld-13991.patch \
-     "
-
-SRC_URI[md5sum] = "ee0f10756c84979622b992a4a61ea3f5"
-SRC_URI[sha256sum] = "6c7af8ed1c8cf9b4b9d6e6fe09a3e1d3d479fe63984ba8b9b26bf356b6313ca9"
diff --git a/meta/recipes-devtools/binutils/binutils-cross-canadian_2.22.bb b/meta/recipes-devtools/binutils/binutils-cross-canadian_2.22.bb
deleted file mode 100644
index 5dbaa03..0000000
--- a/meta/recipes-devtools/binutils/binutils-cross-canadian_2.22.bb
+++ /dev/null
@@ -1,3 +0,0 @@ 
-require binutils.inc
-require binutils-${PV}.inc
-require binutils-cross-canadian.inc
diff --git a/meta/recipes-devtools/binutils/binutils-cross_2.22.bb b/meta/recipes-devtools/binutils/binutils-cross_2.22.bb
deleted file mode 100644
index fbd1f7d..0000000
--- a/meta/recipes-devtools/binutils/binutils-cross_2.22.bb
+++ /dev/null
@@ -1,3 +0,0 @@ 
-require binutils.inc
-require binutils-${PV}.inc
-require binutils-cross.inc
diff --git a/meta/recipes-devtools/binutils/binutils-crosssdk_2.22.bb b/meta/recipes-devtools/binutils/binutils-crosssdk_2.22.bb
deleted file mode 100644
index c936549..0000000
--- a/meta/recipes-devtools/binutils/binutils-crosssdk_2.22.bb
+++ /dev/null
@@ -1,14 +0,0 @@ 
-require binutils-cross_${PV}.bb
-
-inherit crosssdk
-
-PR = "r1"
-
-PROVIDES = "virtual/${TARGET_PREFIX}binutils-crosssdk"
-
-
-SRC_URI += "file://relocatable_sdk.patch"
-
-do_configure_prepend () {
-	sed -i 's#/usr/local/lib /lib /usr/lib#${SDKPATHNATIVE}/lib ${SDKPATHNATIVE}/usr/lib /usr/local/lib /lib /usr/lib#' ${S}/ld/configure.tgt
-}
diff --git a/meta/recipes-devtools/binutils/binutils/0001-PR-ld-13470.patch b/meta/recipes-devtools/binutils/binutils/0001-PR-ld-13470.patch
deleted file mode 100644
index 0a0e064..0000000
--- a/meta/recipes-devtools/binutils/binutils/0001-PR-ld-13470.patch
+++ /dev/null
@@ -1,82 +0,0 @@ 
-From 82fdddd1c4e37881db9b4c6a944261521c6f10ac Mon Sep 17 00:00:00 2001
-From: Alan Modra <amodra@bigpond.net.au>
-Date: Sat, 3 Dec 2011 00:57:59 +0000
-Subject: [PATCH] 	PR ld/13470 	* elf32-ppc.c
- (ppc_elf_copy_indirect_symbol): Revert substantive 
- change in 2011-07-01 commit.  Comment. 	*
- elf64-ppc.c (ppc64_elf_copy_indirect_symbol): Likewise.
-
----
- bfd/ChangeLog   |    7 +++++++
- bfd/elf32-ppc.c |   14 ++++++++++----
- bfd/elf64-ppc.c |   14 ++++++++++----
- 3 files changed, 27 insertions(+), 8 deletions(-)
-
-
-Upstream-Status: Backport
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
-Index: binutils-2.22/bfd/elf32-ppc.c
-===================================================================
---- binutils-2.22.orig/bfd/elf32-ppc.c	2011-11-21 01:29:21.000000000 -0800
-+++ binutils-2.22/bfd/elf32-ppc.c	2012-05-31 14:28:48.273784929 -0700
-@@ -2987,10 +2987,6 @@
-   edir->elf.needs_plt |= eind->elf.needs_plt;
-   edir->elf.pointer_equality_needed |= eind->elf.pointer_equality_needed;
- 
--  /* If we were called to copy over info for a weak sym, that's all.  */
--  if (eind->elf.root.type != bfd_link_hash_indirect)
--    return;
--
-   if (eind->dyn_relocs != NULL)
-     {
-       if (edir->dyn_relocs != NULL)
-@@ -3022,6 +3018,16 @@
-       eind->dyn_relocs = NULL;
-     }
- 
-+  /* If we were called to copy over info for a weak sym, that's all.
-+     You might think dyn_relocs need not be copied over;  After all,
-+     both syms will be dynamic or both non-dynamic so we're just
-+     moving reloc accounting around.  However, ELIMINATE_COPY_RELOCS 
-+     code in ppc_elf_adjust_dynamic_symbol needs to check for
-+     dyn_relocs in read-only sections, and it does so on what is the
-+     DIR sym here.  */
-+  if (eind->elf.root.type != bfd_link_hash_indirect)
-+    return;
-+
-   /* Copy over the GOT refcount entries that we may have already seen to
-      the symbol which just became indirect.  */
-   edir->elf.got.refcount += eind->elf.got.refcount;
-Index: binutils-2.22/bfd/elf64-ppc.c
-===================================================================
---- binutils-2.22.orig/bfd/elf64-ppc.c	2011-11-21 01:29:24.000000000 -0800
-+++ binutils-2.22/bfd/elf64-ppc.c	2012-05-31 14:28:48.285784951 -0700
-@@ -4435,10 +4435,6 @@
-   edir->elf.ref_regular_nonweak |= eind->elf.ref_regular_nonweak;
-   edir->elf.needs_plt |= eind->elf.needs_plt;
- 
--  /* If we were called to copy over info for a weak sym, that's all.  */
--  if (eind->elf.root.type != bfd_link_hash_indirect)
--    return;
--
-   /* Copy over any dynamic relocs we may have on the indirect sym.  */
-   if (eind->dyn_relocs != NULL)
-     {
-@@ -4471,6 +4467,16 @@
-       eind->dyn_relocs = NULL;
-     }
- 
-+  /* If we were called to copy over info for a weak sym, that's all.
-+     You might think dyn_relocs need not be copied over;  After all,
-+     both syms will be dynamic or both non-dynamic so we're just
-+     moving reloc accounting around.  However, ELIMINATE_COPY_RELOCS 
-+     code in ppc64_elf_adjust_dynamic_symbol needs to check for
-+     dyn_relocs in read-only sections, and it does so on what is the
-+     DIR sym here.  */
-+  if (eind->elf.root.type != bfd_link_hash_indirect)
-+    return;
-+
-   /* Copy over got entries that we may have already seen to the
-      symbol which just became indirect.  */
-   if (eind->elf.got.glist != NULL)
diff --git a/meta/recipes-devtools/binutils/binutils/0006-mips-dis.c-print_insn_micromips-Rename-local-variabl.patch b/meta/recipes-devtools/binutils/binutils/0006-mips-dis.c-print_insn_micromips-Rename-local-variabl.patch
deleted file mode 100644
index 1baf1e8..0000000
--- a/meta/recipes-devtools/binutils/binutils/0006-mips-dis.c-print_insn_micromips-Rename-local-variabl.patch
+++ /dev/null
@@ -1,634 +0,0 @@ 
-Upstream-Status: Backport
-
-From f72b2c498bc98f42048a3bf7f7d7891db9cabcfc Mon Sep 17 00:00:00 2001
-From: Pierre Muller <muller@ics.u-strasbg.fr>
-Date: Fri, 25 Nov 2011 16:57:32 +0000
-Subject: [PATCH 006/262] 	* mips-dis.c (print_insn_micromips): Rename
- local variable iprintf 	to infprintf to
- avoid shadow warning.
-
----
- opcodes/ChangeLog  |    5 ++
- opcodes/mips-dis.c |  188 ++++++++++++++++++++++++++--------------------------
- 2 files changed, 99 insertions(+), 94 deletions(-)
-
-2011-11-25  Pierre Muller  <muller@ics.u-strasbg.fr>
-
-	* mips-dis.c (print_insn_micromips): Rename local variable iprintf
-	to infprintf to avoid shadow warning.
-
-diff --git a/opcodes/mips-dis.c b/opcodes/mips-dis.c
-index 4e18d8a..72285de 100644
---- a/opcodes/mips-dis.c
-+++ b/opcodes/mips-dis.c
-@@ -2260,7 +2260,7 @@ print_insn_mips16 (bfd_vma memaddr, struct disassemble_info *info)
- static int
- print_insn_micromips (bfd_vma memaddr, struct disassemble_info *info)
- {
--  const fprintf_ftype iprintf = info->fprintf_func;
-+  const fprintf_ftype infprintf = info->fprintf_func;
-   const struct mips_opcode *op, *opend;
-   unsigned int lsb, msbd, msb;
-   void *is = info->stream;
-@@ -2307,7 +2307,7 @@ print_insn_micromips (bfd_vma memaddr, struct disassemble_info *info)
-       status = (*info->read_memory_func) (memaddr + 2, buffer, 2, info);
-       if (status != 0)
- 	{
--	  iprintf (is, "micromips 0x%x", higher);
-+	  infprintf (is, "micromips 0x%x", higher);
- 	  (*info->memory_error_func) (status, memaddr + 2, info);
- 	  return -1;
- 	}
-@@ -2320,7 +2320,7 @@ print_insn_micromips (bfd_vma memaddr, struct disassemble_info *info)
-       status = (*info->read_memory_func) (memaddr + 4, buffer, 2, info);
-       if (status != 0)
- 	{
--	  iprintf (is, "micromips 0x%x", higher);
-+	  infprintf (is, "micromips 0x%x", higher);
- 	  (*info->memory_error_func) (status, memaddr + 4, info);
- 	  return -1;
- 	}
-@@ -2328,7 +2328,7 @@ print_insn_micromips (bfd_vma memaddr, struct disassemble_info *info)
- 	insn = bfd_getb16 (buffer);
-       else
- 	insn = bfd_getl16 (buffer);
--      iprintf (is, "0x%x%04x (48-bit insn)", higher, insn);
-+      infprintf (is, "0x%x%04x (48-bit insn)", higher, insn);
- 
-       info->insn_type = dis_noninsn;
-       return 6;
-@@ -2341,7 +2341,7 @@ print_insn_micromips (bfd_vma memaddr, struct disassemble_info *info)
-       status = (*info->read_memory_func) (memaddr + 2, buffer, 2, info);
-       if (status != 0)
- 	{
--	  iprintf (is, "micromips 0x%x", higher);
-+	  infprintf (is, "micromips 0x%x", higher);
- 	  (*info->memory_error_func) (status, memaddr + 2, info);
- 	  return -1;
- 	}
-@@ -2371,9 +2371,9 @@ print_insn_micromips (bfd_vma memaddr, struct disassemble_info *info)
- 	{
- 	  const char *s;
- 
--	  iprintf (is, "%s", op->name);
-+	  infprintf (is, "%s", op->name);
- 	  if (op->args[0] != '\0')
--	    iprintf (is, "\t");
-+	    infprintf (is, "\t");
- 
- 	  for (s = op->args; *s != '\0'; s++)
- 	    {
-@@ -2382,37 +2382,37 @@ print_insn_micromips (bfd_vma memaddr, struct disassemble_info *info)
- 		case ',':
- 		case '(':
- 		case ')':
--		  iprintf (is, "%c", *s);
-+		  infprintf (is, "%c", *s);
- 		  break;
- 
- 		case '.':
- 		  delta = GET_OP (insn, OFFSET10);
- 		  if (delta & 0x200)
- 		    delta |= ~0x3ff;
--		  iprintf (is, "%d", delta);
-+		  infprintf (is, "%d", delta);
- 		  break;
- 
- 		case '1':
--		  iprintf (is, "0x%lx", GET_OP (insn, STYPE));
-+		  infprintf (is, "0x%lx", GET_OP (insn, STYPE));
- 		  break;
- 
- 		case '<':
--		  iprintf (is, "0x%lx", GET_OP (insn, SHAMT));
-+		  infprintf (is, "0x%lx", GET_OP (insn, SHAMT));
- 		  break;
- 
- 		case '\\':
--		  iprintf (is, "0x%lx", GET_OP (insn, 3BITPOS));
-+		  infprintf (is, "0x%lx", GET_OP (insn, 3BITPOS));
- 		  break;
- 
- 		case '|':
--		  iprintf (is, "0x%lx", GET_OP (insn, TRAP));
-+		  infprintf (is, "0x%lx", GET_OP (insn, TRAP));
- 		  break;
- 
- 		case '~':
- 		  delta = GET_OP (insn, OFFSET12);
- 		  if (delta & 0x800)
- 		    delta |= ~0x7ff;
--		  iprintf (is, "%d", delta);
-+		  infprintf (is, "%d", delta);
- 		  break;
- 
- 		case 'a':
-@@ -2433,34 +2433,34 @@ print_insn_micromips (bfd_vma memaddr, struct disassemble_info *info)
- 		case 'r':
- 		case 's':
- 		case 'v':
--		  iprintf (is, "%s", mips_gpr_names[GET_OP (insn, RS)]);
-+		  infprintf (is, "%s", mips_gpr_names[GET_OP (insn, RS)]);
- 		  break;
- 
- 		case 'c':
--		  iprintf (is, "0x%lx", GET_OP (insn, CODE));
-+		  infprintf (is, "0x%lx", GET_OP (insn, CODE));
- 		  break;
- 
- 		case 'd':
--		  iprintf (is, "%s", mips_gpr_names[GET_OP (insn, RD)]);
-+		  infprintf (is, "%s", mips_gpr_names[GET_OP (insn, RD)]);
- 		  break;
- 
- 		case 'h':
--		  iprintf (is, "0x%lx", GET_OP (insn, PREFX));
-+		  infprintf (is, "0x%lx", GET_OP (insn, PREFX));
- 		  break;
- 
- 		case 'i':
- 		case 'u':
--		  iprintf (is, "0x%lx", GET_OP (insn, IMMEDIATE));
-+		  infprintf (is, "0x%lx", GET_OP (insn, IMMEDIATE));
- 		  break;
- 
- 		case 'j': /* Same as i, but sign-extended.  */
- 		case 'o':
- 		  delta = (GET_OP (insn, DELTA) ^ 0x8000) - 0x8000;
--		  iprintf (is, "%d", delta);
-+		  infprintf (is, "%d", delta);
- 		  break;
- 
- 		case 'k':
--		  iprintf (is, "0x%x", GET_OP (insn, CACHE));
-+		  infprintf (is, "0x%x", GET_OP (insn, CACHE));
- 		  break;
- 
- 		case 'n':
-@@ -2472,26 +2472,26 @@ print_insn_micromips (bfd_vma memaddr, struct disassemble_info *info)
- 		    if (s_reg_encode != 0)
- 		      {
- 			if (s_reg_encode == 1)
--			  iprintf (is, "%s", mips_gpr_names[16]);
-+			  infprintf (is, "%s", mips_gpr_names[16]);
- 			else if (s_reg_encode < 9)
--			  iprintf (is, "%s-%s",
-+			  infprintf (is, "%s-%s",
- 				   mips_gpr_names[16],
- 				   mips_gpr_names[15 + s_reg_encode]);
- 			else if (s_reg_encode == 9)
--			  iprintf (is, "%s-%s,%s",
-+			  infprintf (is, "%s-%s,%s",
- 				   mips_gpr_names[16],
- 				   mips_gpr_names[23],
- 				   mips_gpr_names[30]);
- 			else
--			  iprintf (is, "UNKNOWN");
-+			  infprintf (is, "UNKNOWN");
- 		      }
- 
- 		    if (immed & 0x10) /* For ra.  */
- 		      {
- 			if (s_reg_encode == 0)
--			  iprintf (is, "%s", mips_gpr_names[31]);
-+			  infprintf (is, "%s", mips_gpr_names[31]);
- 			else
--			  iprintf (is, ",%s", mips_gpr_names[31]);
-+			  infprintf (is, ",%s", mips_gpr_names[31]);
- 		      }
- 		    break;
- 		  }
-@@ -2504,32 +2504,32 @@ print_insn_micromips (bfd_vma memaddr, struct disassemble_info *info)
- 		  break;
- 
- 		case 'q':
--		  iprintf (is, "0x%lx", GET_OP (insn, CODE2));
-+		  infprintf (is, "0x%lx", GET_OP (insn, CODE2));
- 		  break;
- 
- 		case 't':
- 		case 'w':
--		  iprintf (is, "%s", mips_gpr_names[GET_OP (insn, RT)]);
-+		  infprintf (is, "%s", mips_gpr_names[GET_OP (insn, RT)]);
- 		  break;
- 
- 		case 'y':
--		  iprintf (is, "%s", mips_gpr_names[GET_OP (insn, RS3)]);
-+		  infprintf (is, "%s", mips_gpr_names[GET_OP (insn, RS3)]);
- 		  break;
- 
- 		case 'z':
--		  iprintf (is, "%s", mips_gpr_names[0]);
-+		  infprintf (is, "%s", mips_gpr_names[0]);
- 		  break;
- 
- 		case 'B':
--		  iprintf (is, "0x%lx", GET_OP (insn, CODE10));
-+		  infprintf (is, "0x%lx", GET_OP (insn, CODE10));
- 		  break;
- 
- 		case 'C':
--		  iprintf (is, "0x%lx", GET_OP (insn, COPZ));
-+		  infprintf (is, "0x%lx", GET_OP (insn, COPZ));
- 		  break;
- 
- 		case 'D':
--		  iprintf (is, "%s", mips_fpr_names[GET_OP (insn, FD)]);
-+		  infprintf (is, "%s", mips_fpr_names[GET_OP (insn, FD)]);
- 		  break;
- 
- 		case 'E':
-@@ -2540,7 +2540,7 @@ print_insn_micromips (bfd_vma memaddr, struct disassemble_info *info)
- 		    'T' format.  Therefore, until we gain understanding of
- 		    cp2 register names, we can simply print the register
- 		    numbers.  */
--		  iprintf (is, "$%ld", GET_OP (insn, RT));
-+		  infprintf (is, "$%ld", GET_OP (insn, RT));
- 		  break;
- 
- 		case 'G':
-@@ -2559,44 +2559,44 @@ print_insn_micromips (bfd_vma memaddr, struct disassemble_info *info)
- 		    case 0x000002fc:				/* mtc0  */
- 		    case 0x580000fc:				/* dmfc0 */
- 		    case 0x580002fc:				/* dmtc0 */
--		      iprintf (is, "%s", mips_cp0_names[GET_OP (insn, RS)]);
-+		      infprintf (is, "%s", mips_cp0_names[GET_OP (insn, RS)]);
- 		      break;
- 		    default:
--		      iprintf (is, "$%ld", GET_OP (insn, RS));
-+		      infprintf (is, "$%ld", GET_OP (insn, RS));
- 		      break;
- 		    }
- 		  break;
- 
- 		case 'H':
--		  iprintf (is, "%ld", GET_OP (insn, SEL));
-+		  infprintf (is, "%ld", GET_OP (insn, SEL));
- 		  break;
- 
- 		case 'K':
--		  iprintf (is, "%s", mips_hwr_names[GET_OP (insn, RS)]);
-+		  infprintf (is, "%s", mips_hwr_names[GET_OP (insn, RS)]);
- 		  break;
- 
- 		case 'M':
--		  iprintf (is, "$fcc%ld", GET_OP (insn, CCC));
-+		  infprintf (is, "$fcc%ld", GET_OP (insn, CCC));
- 		  break;
- 
- 		case 'N':
--		  iprintf (is,
-+		  infprintf (is,
- 			   (op->pinfo & (FP_D | FP_S)) != 0
- 			   ? "$fcc%ld" : "$cc%ld",
- 			   GET_OP (insn, BCC));
- 		  break;
- 
- 		case 'R':
--		  iprintf (is, "%s", mips_fpr_names[GET_OP (insn, FR)]);
-+		  infprintf (is, "%s", mips_fpr_names[GET_OP (insn, FR)]);
- 		  break;
- 
- 		case 'S':
- 		case 'V':
--		  iprintf (is, "%s", mips_fpr_names[GET_OP (insn, FS)]);
-+		  infprintf (is, "%s", mips_fpr_names[GET_OP (insn, FS)]);
- 		  break;
- 
- 		case 'T':
--		  iprintf (is, "%s", mips_fpr_names[GET_OP (insn, FT)]);
-+		  infprintf (is, "%s", mips_fpr_names[GET_OP (insn, FT)]);
- 		  break;
- 
- 		case '+':
-@@ -2606,18 +2606,18 @@ print_insn_micromips (bfd_vma memaddr, struct disassemble_info *info)
- 		    {
- 		    case 'A':
- 		      lsb = GET_OP (insn, EXTLSB);
--		      iprintf (is, "0x%x", lsb);
-+		      infprintf (is, "0x%x", lsb);
- 		      break;
- 
- 		    case 'B':
- 		      msb = GET_OP (insn, INSMSB);
--		      iprintf (is, "0x%x", msb - lsb + 1);
-+		      infprintf (is, "0x%x", msb - lsb + 1);
- 		      break;
- 
- 		    case 'C':
- 		    case 'H':
- 		      msbd = GET_OP (insn, EXTMSBD);
--		      iprintf (is, "0x%x", msbd + 1);
-+		      infprintf (is, "0x%x", msbd + 1);
- 		      break;
- 
- 		    case 'D':
-@@ -2637,30 +2637,30 @@ print_insn_micromips (bfd_vma memaddr, struct disassemble_info *info)
- 						     mips_cp0sel_names_len,
- 						     cp0reg, sel);
- 			if (n != NULL)
--			  iprintf (is, "%s", n->name);
-+			  infprintf (is, "%s", n->name);
- 			else
--			  iprintf (is, "$%d,%d", cp0reg, sel);
-+			  infprintf (is, "$%d,%d", cp0reg, sel);
- 			break;
- 		      }
- 
- 		    case 'E':
- 		      lsb = GET_OP (insn, EXTLSB) + 32;
--		      iprintf (is, "0x%x", lsb);
-+		      infprintf (is, "0x%x", lsb);
- 		      break;
- 
- 		    case 'F':
- 		      msb = GET_OP (insn, INSMSB) + 32;
--		      iprintf (is, "0x%x", msb - lsb + 1);
-+		      infprintf (is, "0x%x", msb - lsb + 1);
- 		      break;
- 
- 		    case 'G':
- 		      msbd = GET_OP (insn, EXTMSBD) + 32;
--		      iprintf (is, "0x%x", msbd + 1);
-+		      infprintf (is, "0x%x", msbd + 1);
- 		      break;
- 
- 		    default:
- 		      /* xgettext:c-format */
--		      iprintf (is,
-+		      infprintf (is,
- 			       _("# internal disassembler error, "
- 				 "unrecognized modifier (+%c)"),
- 			       *s);
-@@ -2674,111 +2674,111 @@ print_insn_micromips (bfd_vma memaddr, struct disassemble_info *info)
- 		  switch (*s)
- 		    {
- 		    case 'a':	/* global pointer.  */
--		      iprintf (is, "%s", mips_gpr_names[28]);
-+		      infprintf (is, "%s", mips_gpr_names[28]);
- 		      break;
- 
- 		    case 'b':
- 		      regno = micromips_to_32_reg_b_map[GET_OP (insn, MB)];
--		      iprintf (is, "%s", mips_gpr_names[regno]);
-+		      infprintf (is, "%s", mips_gpr_names[regno]);
- 		      break;
- 
- 		    case 'c':
- 		      regno = micromips_to_32_reg_c_map[GET_OP (insn, MC)];
--		      iprintf (is, "%s", mips_gpr_names[regno]);
-+		      infprintf (is, "%s", mips_gpr_names[regno]);
- 		      break;
- 
- 		    case 'd':
- 		      regno = micromips_to_32_reg_d_map[GET_OP (insn, MD)];
--		      iprintf (is, "%s", mips_gpr_names[regno]);
-+		      infprintf (is, "%s", mips_gpr_names[regno]);
- 		      break;
- 
- 		    case 'e':
- 		      regno = micromips_to_32_reg_e_map[GET_OP (insn, ME)];
--		      iprintf (is, "%s", mips_gpr_names[regno]);
-+		      infprintf (is, "%s", mips_gpr_names[regno]);
- 		      break;
- 
- 		    case 'f':
- 		      /* Save lastregno for "mt" to print out later.  */
- 		      lastregno = micromips_to_32_reg_f_map[GET_OP (insn, MF)];
--		      iprintf (is, "%s", mips_gpr_names[lastregno]);
-+		      infprintf (is, "%s", mips_gpr_names[lastregno]);
- 		      break;
- 
- 		    case 'g':
- 		      regno = micromips_to_32_reg_g_map[GET_OP (insn, MG)];
--		      iprintf (is, "%s", mips_gpr_names[regno]);
-+		      infprintf (is, "%s", mips_gpr_names[regno]);
- 		      break;
- 
- 		    case 'h':
- 		      regno = micromips_to_32_reg_h_map[GET_OP (insn, MH)];
--		      iprintf (is, "%s", mips_gpr_names[regno]);
-+		      infprintf (is, "%s", mips_gpr_names[regno]);
- 		      break;
- 
- 		    case 'i':
- 		      regno = micromips_to_32_reg_i_map[GET_OP (insn, MI)];
--		      iprintf (is, "%s", mips_gpr_names[regno]);
-+		      infprintf (is, "%s", mips_gpr_names[regno]);
- 		      break;
- 
- 		    case 'j':
--		      iprintf (is, "%s", mips_gpr_names[GET_OP (insn, MJ)]);
-+		      infprintf (is, "%s", mips_gpr_names[GET_OP (insn, MJ)]);
- 		      break;
- 
- 		    case 'l':
- 		      regno = micromips_to_32_reg_l_map[GET_OP (insn, ML)];
--		      iprintf (is, "%s", mips_gpr_names[regno]);
-+		      infprintf (is, "%s", mips_gpr_names[regno]);
- 		      break;
- 
- 		    case 'm':
- 		      regno = micromips_to_32_reg_m_map[GET_OP (insn, MM)];
--		      iprintf (is, "%s", mips_gpr_names[regno]);
-+		      infprintf (is, "%s", mips_gpr_names[regno]);
- 		      break;
- 
- 		    case 'n':
- 		      regno = micromips_to_32_reg_n_map[GET_OP (insn, MN)];
--		      iprintf (is, "%s", mips_gpr_names[regno]);
-+		      infprintf (is, "%s", mips_gpr_names[regno]);
- 		      break;
- 
- 		    case 'p':
- 		      /* Save lastregno for "mt" to print out later.  */
- 		      lastregno = GET_OP (insn, MP);
--		      iprintf (is, "%s", mips_gpr_names[lastregno]);
-+		      infprintf (is, "%s", mips_gpr_names[lastregno]);
- 		      break;
- 
- 		    case 'q':
- 		      regno = micromips_to_32_reg_q_map[GET_OP (insn, MQ)];
--		      iprintf (is, "%s", mips_gpr_names[regno]);
-+		      infprintf (is, "%s", mips_gpr_names[regno]);
- 		      break;
- 
- 		    case 'r':	/* program counter.  */
--		      iprintf (is, "$pc");
-+		      infprintf (is, "$pc");
- 		      break;
- 
- 		    case 's':	/* stack pointer.  */
- 		      lastregno = 29;
--		      iprintf (is, "%s", mips_gpr_names[29]);
-+		      infprintf (is, "%s", mips_gpr_names[29]);
- 		      break;
- 
- 		    case 't':
--		      iprintf (is, "%s", mips_gpr_names[lastregno]);
-+		      infprintf (is, "%s", mips_gpr_names[lastregno]);
- 		      break;
- 
- 		    case 'z':	/* $0.  */
--		      iprintf (is, "%s", mips_gpr_names[0]);
-+		      infprintf (is, "%s", mips_gpr_names[0]);
- 		      break;
- 
- 		    case 'A':
- 		      /* Sign-extend the immediate.  */
- 		      immed = ((GET_OP (insn, IMMA) ^ 0x40) - 0x40) << 2;
--		      iprintf (is, "%d", immed);
-+		      infprintf (is, "%d", immed);
- 		      break;
- 
- 		    case 'B':
- 		      immed = micromips_imm_b_map[GET_OP (insn, IMMB)];
--		      iprintf (is, "%d", immed);
-+		      infprintf (is, "%d", immed);
- 		      break;
- 
- 		    case 'C':
- 		      immed = micromips_imm_c_map[GET_OP (insn, IMMC)];
--		      iprintf (is, "0x%lx", immed);
-+		      infprintf (is, "0x%lx", immed);
- 		      break;
- 
- 		    case 'D':
-@@ -2797,50 +2797,50 @@ print_insn_micromips (bfd_vma memaddr, struct disassemble_info *info)
- 
- 		    case 'F':
- 		      immed = GET_OP (insn, IMMF);
--		      iprintf (is, "0x%x", immed);
-+		      infprintf (is, "0x%x", immed);
- 		      break;
- 
- 		    case 'G':
- 		      immed = (insn >> MICROMIPSOP_SH_IMMG) + 1;
- 		      immed = (immed & MICROMIPSOP_MASK_IMMG) - 1;
--		      iprintf (is, "%d", immed);
-+		      infprintf (is, "%d", immed);
- 		      break;
- 
- 		    case 'H':
- 		      immed = GET_OP (insn, IMMH) << 1;
--		      iprintf (is, "%d", immed);
-+		      infprintf (is, "%d", immed);
- 		      break;
- 
- 		    case 'I':
- 		      immed = (insn >> MICROMIPSOP_SH_IMMI) + 1;
- 		      immed = (immed & MICROMIPSOP_MASK_IMMI) - 1;
--		      iprintf (is, "%d", immed);
-+		      infprintf (is, "%d", immed);
- 		      break;
- 
- 		    case 'J':
- 		      immed = GET_OP (insn, IMMJ) << 2;
--		      iprintf (is, "%d", immed);
-+		      infprintf (is, "%d", immed);
- 		      break;
- 
- 		    case 'L':
- 		      immed = GET_OP (insn, IMML);
--		      iprintf (is, "%d", immed);
-+		      infprintf (is, "%d", immed);
- 		      break;
- 
- 		    case 'M':
- 		      immed = (insn >> MICROMIPSOP_SH_IMMM) - 1;
- 		      immed = (immed & MICROMIPSOP_MASK_IMMM) + 1;
--		      iprintf (is, "%d", immed);
-+		      infprintf (is, "%d", immed);
- 		      break;
- 
- 		    case 'N':
- 		      immed = GET_OP (insn, IMMN);
- 		      if (immed == 0)
--			iprintf (is, "%s,%s",
-+			infprintf (is, "%s,%s",
- 				 mips_gpr_names[16],
- 				 mips_gpr_names[31]);
- 		      else
--			iprintf (is, "%s-%s,%s",
-+			infprintf (is, "%s-%s,%s",
- 				 mips_gpr_names[16],
- 				 mips_gpr_names[16 + immed],
- 				 mips_gpr_names[31]);
-@@ -2848,35 +2848,35 @@ print_insn_micromips (bfd_vma memaddr, struct disassemble_info *info)
- 
- 		    case 'O':
- 		      immed = GET_OP (insn, IMMO);
--		      iprintf (is, "0x%x", immed);
-+		      infprintf (is, "0x%x", immed);
- 		      break;
- 
- 		    case 'P':
- 		      immed = GET_OP (insn, IMMP) << 2;
--		      iprintf (is, "%d", immed);
-+		      infprintf (is, "%d", immed);
- 		      break;
- 
- 		    case 'Q':
- 		      /* Sign-extend the immediate.  */
- 		      immed = (GET_OP (insn, IMMQ) ^ 0x400000) - 0x400000;
- 		      immed <<= 2;
--		      iprintf (is, "%d", immed);
-+		      infprintf (is, "%d", immed);
- 		      break;
- 
- 		    case 'U':
- 		      immed = GET_OP (insn, IMMU) << 2;
--		      iprintf (is, "%d", immed);
-+		      infprintf (is, "%d", immed);
- 		      break;
- 
- 		    case 'W':
- 		      immed = GET_OP (insn, IMMW) << 2;
--		      iprintf (is, "%d", immed);
-+		      infprintf (is, "%d", immed);
- 		      break;
- 
- 		    case 'X':
- 		      /* Sign-extend the immediate.  */
- 		      immed = (GET_OP (insn, IMMX) ^ 0x8) - 0x8;
--		      iprintf (is, "%d", immed);
-+		      infprintf (is, "%d", immed);
- 		      break;
- 
- 		    case 'Y':
-@@ -2885,12 +2885,12 @@ print_insn_micromips (bfd_vma memaddr, struct disassemble_info *info)
- 		      if (immed >= -2 && immed <= 1)
- 			immed ^= 0x100;
- 		      immed = immed << 2;
--		      iprintf (is, "%d", immed);
-+		      infprintf (is, "%d", immed);
- 		      break;
- 
- 		    default:
- 		      /* xgettext:c-format */
--		      iprintf (is,
-+		      infprintf (is,
- 			       _("# internal disassembler error, "
- 				 "unrecognized modifier (m%c)"),
- 			       *s);
-@@ -2900,7 +2900,7 @@ print_insn_micromips (bfd_vma memaddr, struct disassemble_info *info)
- 
- 		default:
- 		  /* xgettext:c-format */
--		  iprintf (is,
-+		  infprintf (is,
- 			   _("# internal disassembler error, "
- 			     "unrecognized modifier (%c)"),
- 			   *s);
-@@ -2937,7 +2937,7 @@ print_insn_micromips (bfd_vma memaddr, struct disassemble_info *info)
-     }
- #undef GET_OP
- 
--  iprintf (is, "0x%x", insn);
-+  infprintf (is, "0x%x", insn);
-   info->insn_type = dis_noninsn;
- 
-   return length;
--- 
-1.7.9.5
-
diff --git a/meta/recipes-devtools/binutils/binutils/0019-PR-ld-13468.patch b/meta/recipes-devtools/binutils/binutils/0019-PR-ld-13468.patch
deleted file mode 100644
index 79d9f48..0000000
--- a/meta/recipes-devtools/binutils/binutils/0019-PR-ld-13468.patch
+++ /dev/null
@@ -1,46 +0,0 @@ 
-Upstream-Status: Backport
-
-From 4c362e4511c4046e230fc9e330bf086753f04338 Mon Sep 17 00:00:00 2001
-From: Alan Modra <amodra@bigpond.net.au>
-Date: Sat, 3 Dec 2011 10:29:17 +0000
-Subject: [PATCH 019/262] 	PR ld/13468 	* elflink.c
- (bfd_elf_final_link): Don't segfault when checking 
- for DT_TEXTREL and .dynamic does not exist.
-
----
- bfd/ChangeLog |    6 ++++++
- bfd/elflink.c |    9 +++------
- 2 files changed, 9 insertions(+), 6 deletions(-)
-
- 2011-12-03  Alan Modra  <amodra@gmail.com>
- 
-	PR ld/13468
-	* elflink.c (bfd_elf_final_link): Don't segfault when checking
-	for DT_TEXTREL and .dynamic does not exist.
-
-diff --git a/bfd/elflink.c b/bfd/elflink.c
-index fc4266b..8556cec 100644
---- a/bfd/elflink.c
-+++ b/bfd/elflink.c
-@@ -11188,15 +11188,12 @@ bfd_elf_final_link (bfd *abfd, struct bfd_link_info *info)
- 	goto error_return;
- 
-       /* Check for DT_TEXTREL (late, in case the backend removes it).  */
--      if ((info->warn_shared_textrel && info->shared)
--	  || info->error_textrel)
-+      if (((info->warn_shared_textrel && info->shared)
-+	   || info->error_textrel)
-+	  && (o = bfd_get_section_by_name (dynobj, ".dynamic")) != NULL)
- 	{
- 	  bfd_byte *dyncon, *dynconend;
- 
--	  /* Fix up .dynamic entries.  */
--	  o = bfd_get_section_by_name (dynobj, ".dynamic");
--	  BFD_ASSERT (o != NULL);
--
- 	  dyncon = o->contents;
- 	  dynconend = o->contents + o->size;
- 	  for (; dyncon < dynconend; dyncon += bed->s->sizeof_dyn)
--- 
-1.7.9.5
-
diff --git a/meta/recipes-devtools/binutils/binutils/0028-Backport-from-mainline.patch b/meta/recipes-devtools/binutils/binutils/0028-Backport-from-mainline.patch
deleted file mode 100644
index 2b86b6b..0000000
--- a/meta/recipes-devtools/binutils/binutils/0028-Backport-from-mainline.patch
+++ /dev/null
@@ -1,139 +0,0 @@ 
-Upstream-Status: Backport
-
-From fbd07e4e15de7a81a2de7f9583fa3240302e2867 Mon Sep 17 00:00:00 2001
-From: David Daney <ddaney@avtrex.com>
-Date: Sun, 11 Dec 2011 02:28:10 +0000
-Subject: [PATCH 028/262] Backport from mainline:
-
-	2011-12-10  David Daney  <david.daney@cavium.com>
-
-	* elfxx-mips.c (mips_elf_link_hash_table.rld_value): Remove.
-	(mips_elf_link_hash_table.rld_symbol): New field;
-	(MIPS_ELF_RLD_MAP_SIZE): New macro.
-	(_bfd_mips_elf_add_symbol_hook): Remember __rld_obj_head symbol
-	in rld_symbol.
-	(_bfd_mips_elf_create_dynamic_sections): Remember __rld_map symbol
-	in rld_symbol.
-	(_bfd_mips_elf_size_dynamic_sections): Set correct size for .rld_map.
-	(_bfd_mips_elf_finish_dynamic_symbol): Remove .rld_map handling.
-	(_bfd_mips_elf_finish_dynamic_sections): Use rld_symbol to
-	calculate DT_MIPS_RLD_MAP value.
-	(_bfd_mips_elf_link_hash_table_create): Initialize rld_symbol,
-	quit initializing rld_value.
-
-diff --git a/bfd/elfxx-mips.c b/bfd/elfxx-mips.c
-index 33a454d..6b908ad 100644
---- a/bfd/elfxx-mips.c
-+++ b/bfd/elfxx-mips.c
-@@ -436,8 +436,8 @@ struct mips_elf_link_hash_table
-      entry is set to the address of __rld_obj_head as in IRIX5.  */
-   bfd_boolean use_rld_obj_head;
- 
--  /* This is the value of the __rld_map or __rld_obj_head symbol.  */
--  bfd_vma rld_value;
-+  /* The  __rld_map or __rld_obj_head symbol. */
-+  struct elf_link_hash_entry *rld_symbol;
- 
-   /* This is set if we see any mips16 stub sections.  */
-   bfd_boolean mips16_stubs_seen;
-@@ -768,6 +768,10 @@ static bfd *reldyn_sorting_bfd;
- #define MIPS_ELF_GOT_SIZE(abfd) \
-   (get_elf_backend_data (abfd)->s->arch_size / 8)
- 
-+/* The size of the .rld_map section. */
-+#define MIPS_ELF_RLD_MAP_SIZE(abfd) \
-+  (get_elf_backend_data (abfd)->s->arch_size / 8)
-+
- /* The size of a symbol-table entry.  */
- #define MIPS_ELF_SYM_SIZE(abfd) \
-   (get_elf_backend_data (abfd)->s->sizeof_sym)
-@@ -7081,6 +7085,7 @@ _bfd_mips_elf_add_symbol_hook (bfd *abfd, struct bfd_link_info *info,
- 	return FALSE;
- 
-       mips_elf_hash_table (info)->use_rld_obj_head = TRUE;
-+      mips_elf_hash_table (info)->rld_symbol = h;
-     }
- 
-   /* If this is a mips16 text symbol, add 1 to the value to make it
-@@ -7266,6 +7271,7 @@ _bfd_mips_elf_create_dynamic_sections (bfd *abfd, struct bfd_link_info *info)
- 
- 	  if (! bfd_elf_link_record_dynamic_symbol (info, h))
- 	    return FALSE;
-+	  mips_elf_hash_table (info)->rld_symbol = h;
- 	}
-     }
- 
-@@ -9027,7 +9033,7 @@ _bfd_mips_elf_size_dynamic_sections (bfd *output_bfd,
- 	{
- 	  /* We add a room for __rld_map.  It will be filled in by the
- 	     rtld to contain a pointer to the _r_debug structure.  */
--	  s->size += 4;
-+	  s->size += MIPS_ELF_RLD_MAP_SIZE (output_bfd);
- 	}
-       else if (SGI_COMPAT (output_bfd)
- 	       && CONST_STRNEQ (name, ".compact_rel"))
-@@ -10030,31 +10036,6 @@ _bfd_mips_elf_finish_dynamic_symbol (bfd *output_bfd,
-   if (IRIX_COMPAT (output_bfd) == ict_irix6)
-     mips_elf_irix6_finish_dynamic_symbol (output_bfd, name, sym);
- 
--  if (! info->shared)
--    {
--      if (! mips_elf_hash_table (info)->use_rld_obj_head
--	  && (strcmp (name, "__rld_map") == 0
--	      || strcmp (name, "__RLD_MAP") == 0))
--	{
--	  asection *s = bfd_get_section_by_name (dynobj, ".rld_map");
--	  BFD_ASSERT (s != NULL);
--	  sym->st_value = s->output_section->vma + s->output_offset;
--	  bfd_put_32 (output_bfd, 0, s->contents);
--	  if (mips_elf_hash_table (info)->rld_value == 0)
--	    mips_elf_hash_table (info)->rld_value = sym->st_value;
--	}
--      else if (mips_elf_hash_table (info)->use_rld_obj_head
--	       && strcmp (name, "__rld_obj_head") == 0)
--	{
--	  /* IRIX6 does not use a .rld_map section.  */
--	  if (IRIX_COMPAT (output_bfd) == ict_irix5
--              || IRIX_COMPAT (output_bfd) == ict_none)
--	    BFD_ASSERT (bfd_get_section_by_name (dynobj, ".rld_map")
--			!= NULL);
--	  mips_elf_hash_table (info)->rld_value = sym->st_value;
--	}
--    }
--
-   /* Keep dynamic MIPS16 symbols odd.  This allows the dynamic linker to
-      treat MIPS16 symbols like any other.  */
-   if (ELF_ST_IS_MIPS16 (sym->st_other))
-@@ -10517,7 +10498,19 @@ _bfd_mips_elf_finish_dynamic_sections (bfd *output_bfd,
- 	      break;
- 
- 	    case DT_MIPS_RLD_MAP:
--	      dyn.d_un.d_ptr = mips_elf_hash_table (info)->rld_value;
-+	      {
-+		struct elf_link_hash_entry *h;
-+		h = mips_elf_hash_table (info)->rld_symbol;
-+		if (!h)
-+		  {
-+		    dyn_to_skip = MIPS_ELF_DYN_SIZE (dynobj);
-+		    swap_out_p = FALSE;
-+		    break;
-+		  }
-+		s = h->root.u.def.section;
-+		dyn.d_un.d_ptr = (s->output_section->vma + s->output_offset
-+				  + h->root.u.def.value);
-+	      }
- 	      break;
- 
- 	    case DT_MIPS_OPTIONS:
-@@ -12794,7 +12787,7 @@ _bfd_mips_elf_link_hash_table_create (bfd *abfd)
-   ret->procedure_count = 0;
-   ret->compact_rel_size = 0;
-   ret->use_rld_obj_head = FALSE;
--  ret->rld_value = 0;
-+  ret->rld_symbol = NULL;
-   ret->mips16_stubs_seen = FALSE;
-   ret->use_plts_and_copy_relocs = FALSE;
-   ret->is_vxworks = FALSE;
--- 
-1.7.9.5
-
diff --git a/meta/recipes-devtools/binutils/binutils/0035-2011-12-19-Chung-Lin-Tang-cltang-codesourcery.com.patch b/meta/recipes-devtools/binutils/binutils/0035-2011-12-19-Chung-Lin-Tang-cltang-codesourcery.com.patch
deleted file mode 100644
index a83a597..0000000
--- a/meta/recipes-devtools/binutils/binutils/0035-2011-12-19-Chung-Lin-Tang-cltang-codesourcery.com.patch
+++ /dev/null
@@ -1,47 +0,0 @@ 
-Upstream-Status: Backport
-
-From 97beee82f0e45e65308083a7e4cfaab57623733c Mon Sep 17 00:00:00 2001
-From: cltang <cltang>
-Date: Mon, 19 Dec 2011 10:34:15 +0000
-Subject: [PATCH 035/262] 2011-12-19  Chung-Lin Tang 
- <cltang@codesourcery.com>
-
-	Backport from mainline:
-
-	2011-12-13  Chung-Lin Tang  <cltang@codesourcery.com>
-
-	* elfxx-mips.c (mips_elf_calculate_relocation): Correct
-	R_MIPS16_HI16/R_MIPS16_LO16 handling of two cleared lower bits,
-	update comments.
-
-diff --git a/bfd/elfxx-mips.c b/bfd/elfxx-mips.c
-index 6b908ad..3939183 100644
---- a/bfd/elfxx-mips.c
-+++ b/bfd/elfxx-mips.c
-@@ -5531,10 +5531,11 @@ mips_elf_calculate_relocation (bfd *abfd, bfd *input_bfd,
- 	       12: addu    $v0,$v1
- 	       14: move    $gp,$v0
- 	     So the offsets of hi and lo relocs are the same, but the
--	     $pc is four higher than $t9 would be, so reduce
--	     both reloc addends by 4. */
-+	     base $pc is that used by the ADDIUPC instruction at $t9 + 4.
-+	     ADDIUPC clears the low two bits of the instruction address,
-+	     so the base is ($t9 + 4) & ~3.  */
- 	  if (r_type == R_MIPS16_HI16)
--	    value = mips_elf_high (addend + gp - p - 4);
-+	    value = mips_elf_high (addend + gp - ((p + 4) & ~(bfd_vma) 0x3));
- 	  /* The microMIPS .cpload sequence uses the same assembly
- 	     instructions as the traditional psABI version, but the
- 	     incoming $t9 has the low bit set.  */
-@@ -5557,7 +5558,7 @@ mips_elf_calculate_relocation (bfd *abfd, bfd *input_bfd,
- 	  /* See the comment for R_MIPS16_HI16 above for the reason
- 	     for this conditional.  */
- 	  if (r_type == R_MIPS16_LO16)
--	    value = addend + gp - p;
-+	    value = addend + gp - (p & ~(bfd_vma) 0x3);
- 	  else if (r_type == R_MICROMIPS_LO16
- 		   || r_type == R_MICROMIPS_HI0_LO16)
- 	    value = addend + gp - p + 3;
--- 
-1.7.9.5
-
diff --git a/meta/recipes-devtools/binutils/binutils/0036-2011-12-19-Chung-Lin-Tang-cltang-codesourcery.com.patch b/meta/recipes-devtools/binutils/binutils/0036-2011-12-19-Chung-Lin-Tang-cltang-codesourcery.com.patch
deleted file mode 100644
index 9017c25..0000000
--- a/meta/recipes-devtools/binutils/binutils/0036-2011-12-19-Chung-Lin-Tang-cltang-codesourcery.com.patch
+++ /dev/null
@@ -1,214 +0,0 @@ 
-Upstream-Status: Backport
-
-From 26e802720ccd055d70addadbc39f4119716f8573 Mon Sep 17 00:00:00 2001
-From: cltang <cltang>
-Date: Mon, 19 Dec 2011 10:39:27 +0000
-Subject: [PATCH 036/262] 2011-12-19  Chung-Lin Tang 
- <cltang@codesourcery.com>
-
-	Backport from mainline:
-
-	2011-12-19  Chung-Lin Tang  <cltang@codesourcery.com>
-		    Catherine Moore  <clm@codesourcery.com>
-		    Sandra Loosemore  <sandra@codesourcery.com>
-		    Richard Sandiford  <rdsandiford@googlemail.com>
-
-	* elfxx-mips.c (mips_elf_local_pic_function_p): Return true when
-	H is a MIPS16 function with a kept 32-bit stub. Update comments.
-	(mips_elf_get_la25_target): New function.
-	(mips_elf_add_la25_intro): Change to use mips_elf_get_la25_target().
-	(mips_elf_add_la25_stub): Move compute of use_trampoline_p down,
-	change to use mips_elf_get_la25_target().
-	(mips_elf_relocation_needs_la25_stub): Add target_is_16_bit_code_p
-	parameter, add switch case for R_MIPS16_26.
-	(mips_elf_calculate_relocation): Redirect relocation to point to the
-	LA25 stub if it exists, instead of the MIPS16 stub. Update arguments
-	of call to mips_elf_relocation_needs_la25_stub(), don't use la25 stub
-	for mips16->mips16 calls.
-	(_bfd_mips_elf_check_relocs): Update arguments of call to
-	mips_elf_relocation_needs_la25_stub().
-	(mips_elf_create_la25_stub): Change to use mips_elf_get_la25_target().
-
-diff --git a/bfd/elfxx-mips.c b/bfd/elfxx-mips.c
-index 3939183..9f3833b 100644
---- a/bfd/elfxx-mips.c
-+++ b/bfd/elfxx-mips.c
-@@ -1575,9 +1575,10 @@ _bfd_mips_elf_init_stubs (struct bfd_link_info *info,
- }
- 
- /* Return true if H is a locally-defined PIC function, in the sense
--   that it might need $25 to be valid on entry.  Note that MIPS16
--   functions never need $25 to be valid on entry; they set up $gp
--   using PC-relative instructions instead.  */
-+   that it or its fn_stub might need $25 to be valid on entry.
-+   Note that MIPS16 functions set up $gp using PC-relative instructions,
-+   so they themselves never need $25 to be valid.  Only non-MIPS16
-+   entry points are of interest here.  */
- 
- static bfd_boolean
- mips_elf_local_pic_function_p (struct mips_elf_link_hash_entry *h)
-@@ -1586,11 +1587,32 @@ mips_elf_local_pic_function_p (struct mips_elf_link_hash_entry *h)
- 	   || h->root.root.type == bfd_link_hash_defweak)
- 	  && h->root.def_regular
- 	  && !bfd_is_abs_section (h->root.root.u.def.section)
--	  && !ELF_ST_IS_MIPS16 (h->root.other)
-+	  && (!ELF_ST_IS_MIPS16 (h->root.other)
-+	      || (h->fn_stub && h->need_fn_stub))
- 	  && (PIC_OBJECT_P (h->root.root.u.def.section->owner)
- 	      || ELF_ST_IS_MIPS_PIC (h->root.other)));
- }
- 
-+/* Set *SEC to the input section that contains the target of STUB.
-+   Return the offset of the target from the start of that section.  */
-+
-+static bfd_vma
-+mips_elf_get_la25_target (struct mips_elf_la25_stub *stub,
-+			  asection **sec)
-+{
-+  if (ELF_ST_IS_MIPS16 (stub->h->root.other))
-+    {
-+      BFD_ASSERT (stub->h->need_fn_stub);
-+      *sec = stub->h->fn_stub;
-+      return 0;
-+    }
-+  else
-+    {
-+      *sec = stub->h->root.root.u.def.section;
-+      return stub->h->root.root.u.def.value;
-+    }
-+}
-+
- /* STUB describes an la25 stub that we have decided to implement
-    by inserting an LUI/ADDIU pair before the target function.
-    Create the section and redirect the function symbol to it.  */
-@@ -1615,7 +1637,7 @@ mips_elf_add_la25_intro (struct mips_elf_la25_stub *stub,
-   sprintf (name, ".text.stub.%d", (int) htab_elements (htab->la25_stubs));
- 
-   /* Create the section.  */
--  input_section = stub->h->root.root.u.def.section;
-+  mips_elf_get_la25_target (stub, &input_section);
-   s = htab->add_stub_section (name, input_section,
- 			      input_section->output_section);
-   if (s == NULL)
-@@ -1689,12 +1711,6 @@ mips_elf_add_la25_stub (struct bfd_link_info *info,
-   bfd_vma value;
-   void **slot;
- 
--  /* Prefer to use LUI/ADDIU stubs if the function is at the beginning
--     of the section and if we would need no more than 2 nops.  */
--  s = h->root.root.u.def.section;
--  value = h->root.root.u.def.value;
--  use_trampoline_p = (value != 0 || s->alignment_power > 4);
--
-   /* Describe the stub we want.  */
-   search.stub_section = NULL;
-   search.offset = 0;
-@@ -1724,6 +1740,11 @@ mips_elf_add_la25_stub (struct bfd_link_info *info,
-   *stub = search;
-   *slot = stub;
- 
-+  /* Prefer to use LUI/ADDIU stubs if the function is at the beginning
-+     of the section and if we would need no more than 2 nops.  */
-+  value = mips_elf_get_la25_target (stub, &s);
-+  use_trampoline_p = (value != 0 || s->alignment_power > 4);
-+
-   h->la25_stub = stub;
-   return (use_trampoline_p
- 	  ? mips_elf_add_la25_trampoline (stub, info)
-@@ -4911,7 +4932,8 @@ is_gott_symbol (struct bfd_link_info *info, struct elf_link_hash_entry *h)
-    stub.  */
- 
- static bfd_boolean
--mips_elf_relocation_needs_la25_stub (bfd *input_bfd, int r_type)
-+mips_elf_relocation_needs_la25_stub (bfd *input_bfd, int r_type,
-+				     bfd_boolean target_is_16_bit_code_p)
- {
-   /* We specifically ignore branches and jumps from EF_PIC objects,
-      where the onus is on the compiler or programmer to perform any
-@@ -4925,7 +4947,6 @@ mips_elf_relocation_needs_la25_stub (bfd *input_bfd, int r_type)
-     {
-     case R_MIPS_26:
-     case R_MIPS_PC16:
--    case R_MIPS16_26:
-     case R_MICROMIPS_26_S1:
-     case R_MICROMIPS_PC7_S1:
-     case R_MICROMIPS_PC10_S1:
-@@ -4933,6 +4954,9 @@ mips_elf_relocation_needs_la25_stub (bfd *input_bfd, int r_type)
-     case R_MICROMIPS_PC23_S2:
-       return TRUE;
- 
-+    case R_MIPS16_26:
-+      return !target_is_16_bit_code_p;
-+
-     default:
-       return FALSE;
-     }
-@@ -5193,14 +5217,28 @@ mips_elf_calculate_relocation (bfd *abfd, bfd *input_bfd,
- 	 have already noticed that we were going to need the
- 	 stub.  */
-       if (local_p)
--	sec = elf_tdata (input_bfd)->local_stubs[r_symndx];
-+	{
-+	  sec = elf_tdata (input_bfd)->local_stubs[r_symndx];
-+	  value = 0;
-+	}
-       else
- 	{
- 	  BFD_ASSERT (h->need_fn_stub);
--	  sec = h->fn_stub;
-+	  if (h->la25_stub)
-+	    {
-+	      /* If a LA25 header for the stub itself exists, point to the
-+		 prepended LUI/ADDIU sequence.  */
-+	      sec = h->la25_stub->stub_section;
-+	      value = h->la25_stub->offset;
-+	    }
-+	  else
-+	    {
-+	      sec = h->fn_stub;
-+	      value = 0;
-+	    }
- 	}
- 
--      symbol = sec->output_section->vma + sec->output_offset;
-+      symbol = sec->output_section->vma + sec->output_offset + value;
-       /* The target is 16-bit, but the stub isn't.  */
-       target_is_16_bit_code_p = FALSE;
-     }
-@@ -5250,7 +5288,8 @@ mips_elf_calculate_relocation (bfd *abfd, bfd *input_bfd,
-   /* If this is a direct call to a PIC function, redirect to the
-      non-PIC stub.  */
-   else if (h != NULL && h->la25_stub
--	   && mips_elf_relocation_needs_la25_stub (input_bfd, r_type))
-+	   && mips_elf_relocation_needs_la25_stub (input_bfd, r_type,
-+						   target_is_16_bit_code_p))
-     symbol = (h->la25_stub->stub_section->output_section->vma
- 	      + h->la25_stub->stub_section->output_offset
- 	      + h->la25_stub->offset);
-@@ -7925,7 +7964,9 @@ _bfd_mips_elf_check_relocs (bfd *abfd, struct bfd_link_info *info,
- 	    return FALSE;
- 	}
- 
--      if (h != NULL && mips_elf_relocation_needs_la25_stub (abfd, r_type))
-+      if (h != NULL
-+	  && mips_elf_relocation_needs_la25_stub (abfd, r_type,
-+						  ELF_ST_IS_MIPS16 (h->other)))
- 	((struct mips_elf_link_hash_entry *) h)->has_nonpic_branches = TRUE;
- 
-       switch (r_type)
-@@ -9622,9 +9663,9 @@ mips_elf_create_la25_stub (void **slot, void *data)
-   offset = stub->offset;
- 
-   /* Work out the target address.  */
--  target = (stub->h->root.root.u.def.section->output_section->vma
--	    + stub->h->root.root.u.def.section->output_offset
--	    + stub->h->root.root.u.def.value);
-+  target = mips_elf_get_la25_target (stub, &s);
-+  target += s->output_section->vma + s->output_offset;
-+
-   target_high = ((target + 0x8000) >> 16) & 0xffff;
-   target_low = (target & 0xffff);
- 
--- 
-1.7.9.5
-
diff --git a/meta/recipes-devtools/binutils/binutils/0037-2011-12-19-Chung-Lin-Tang-cltang-codesourcery.com.patch b/meta/recipes-devtools/binutils/binutils/0037-2011-12-19-Chung-Lin-Tang-cltang-codesourcery.com.patch
deleted file mode 100644
index 4b0caaf..0000000
--- a/meta/recipes-devtools/binutils/binutils/0037-2011-12-19-Chung-Lin-Tang-cltang-codesourcery.com.patch
+++ /dev/null
@@ -1,1068 +0,0 @@ 
-Upstream-Status: Backport
-
-From 7e2b7154b03e4c77233171eec5cba8d113e04fea Mon Sep 17 00:00:00 2001
-From: cltang <cltang>
-Date: Mon, 19 Dec 2011 10:49:24 +0000
-Subject: [PATCH 037/262] 2011-12-19  Chung-Lin Tang 
- <cltang@codesourcery.com>
-
-	Backport from mainline:
-
-	2011-12-19  Chung-Lin Tang  <cltang@codesourcery.com>
-
-	gas/
-	* config/tc-mips.c (mips_pseudo_table): Add tprelword/tpreldword
-	entries.
-	(mips16_percent_op): Add MIPS16 TLS relocation ops.
-	(md_apply_fix): Add BFD_RELOC_MIPS16_TLS_* switch cases.
-	(s_tls_rel_directive): Rename from s_dtprel_internal(). Abstract out
-	directive string and reloc type as function parameters. Update
-	comments.
-	(s_dtprelword,s_dtpreldword): Change to use s_tls_rel_directive().
-	(s_tprelword,s_tpreldword): New functions.
-
-	include/
-	* elf/mips.h (elf_mips_reloc_type): Add R_MIPS16_TLS_* entries.
-
-	bfd/
-	* reloc.c (BFD_RELOC_MIPS16_TLS_GD,BFD_RELOC_MIPS16_TLS_LDM,
-	BFD_RELOC_MIPS16_TLS_DTPREL_HI16,BFD_RELOC_MIPS16_TLS_DTPREL_LO16,
-	BFD_RELOC_MIPS16_TLS_GOTTPREL,BFD_RELOC_MIPS16_TLS_TPREL_HI16,
-	BFD_RELOC_MIPS16_TLS_TPREL_LO16): New relocations for MIPS16 TLS.
-	* bfd-in2.h (bfd_reloc_code_real): Regenerate.
-	* libbfd.h (bfd_reloc_code_real_names): Regenerate.
-	* elf32-mips.c (elf_mips16_howto_table_rel): Add R_MIPS16_TLS_*
-	entries.
-	(mips16_reloc_map): Add BFD_RELOC_MIPS16_TLS_* to R_MIPS16_TLS_*
-	mappings.
-	* elfn32-mips.c (elf_mips16_howto_table_rel,
-	elf_mips16_howto_table_rela): Add R_MIPS16_TLS_* entries.
-	(mips16_reloc_map): Add BFD_RELOC_MIPS16_TLS_* to R_MIPS16_TLS_*
-	mappings.
-	* elf64-mips.c (mips16_elf64_howto_table_rel,
-	mips16_elf64_howto_table_rela): Add R_MIPS16_TLS_* entries.
-	(mips16_reloc_map): Add BFD_RELOC_MIPS16_TLS_* to R_MIPS16_TLS_*
-	mappings.
-	* elfxx-mips.c (TLS_RELOC_P,mips16_reloc_p,
-	_bfd_mips_elf_check_relocs): Add cases for R_MIPS16_TLS_* relocations.
-	(tls_gd_reloc_p): Add R_MIPS16_TLS_GD case.
-	(tls_ldm_reloc_p): Add R_MIPS16_TLS_LDM case.
-	(tls_gottprel_reloc_p): Add R_MIPS16_TLS_GOTTPREL case.
-	(mips_elf_calculate_relocation): Add cases for R_MIPS16_TLS_*,
-	R_MIPS_TLS_DTPREL32/64, and R_MIPS_TLS_TPREL32/64 relocations.
----
- bfd/ChangeLog        |   32 ++++++++
- bfd/bfd-in2.h        |    9 +++
- bfd/elf32-mips.c     |  114 ++++++++++++++++++++++++++
- bfd/elf64-mips.c     |  219 ++++++++++++++++++++++++++++++++++++++++++++++++++
- bfd/elfn32-mips.c    |  219 ++++++++++++++++++++++++++++++++++++++++++++++++++
- bfd/elfxx-mips.c     |   48 +++++++++--
- bfd/libbfd.h         |    7 ++
- bfd/reloc.c          |   17 ++++
- gas/ChangeLog        |   16 ++++
- gas/config/tc-mips.c |   62 ++++++++++----
- include/ChangeLog    |    8 ++
- include/elf/mips.h   |    9 ++-
- 12 files changed, 739 insertions(+), 21 deletions(-)
-
-diff --git a/bfd/bfd-in2.h b/bfd/bfd-in2.h
-index 22fcdf6..cd90740 100644
---- a/bfd/bfd-in2.h
-+++ b/bfd/bfd-in2.h
-@@ -2780,6 +2780,15 @@ to compensate for the borrow when the low bits are added.  */
- /* MIPS16 low 16 bits.  */
-   BFD_RELOC_MIPS16_LO16,
- 
-+/* MIPS16 TLS relocations  */
-+  BFD_RELOC_MIPS16_TLS_GD,
-+  BFD_RELOC_MIPS16_TLS_LDM,
-+  BFD_RELOC_MIPS16_TLS_DTPREL_HI16,
-+  BFD_RELOC_MIPS16_TLS_DTPREL_LO16,
-+  BFD_RELOC_MIPS16_TLS_GOTTPREL,
-+  BFD_RELOC_MIPS16_TLS_TPREL_HI16,
-+  BFD_RELOC_MIPS16_TLS_TPREL_LO16,
-+
- /* Relocation against a MIPS literal section.  */
-   BFD_RELOC_MIPS_LITERAL,
-   BFD_RELOC_MICROMIPS_LITERAL,
-diff --git a/bfd/elf32-mips.c b/bfd/elf32-mips.c
-index fd3d4ba..61e8b45 100644
---- a/bfd/elf32-mips.c
-+++ b/bfd/elf32-mips.c
-@@ -830,6 +830,111 @@ static reloc_howto_type elf_mips16_howto_table_rel[] =
- 	 0x0000ffff,		/* src_mask */
- 	 0x0000ffff,	        /* dst_mask */
- 	 FALSE),		/* pcrel_offset */
-+
-+  /* MIPS16 TLS general dynamic variable reference.  */
-+  HOWTO (R_MIPS16_TLS_GD,	/* type */
-+	 0,			/* rightshift */
-+	 2,			/* size (0 = byte, 1 = short, 2 = long) */
-+	 16,			/* bitsize */
-+	 FALSE,			/* pc_relative */
-+	 0,			/* bitpos */
-+	 complain_overflow_signed, /* complain_on_overflow */
-+	 _bfd_mips_elf_generic_reloc, /* special_function */
-+	 "R_MIPS16_TLS_GD",	/* name */
-+	 TRUE,			/* partial_inplace */
-+	 0x0000ffff,		/* src_mask */
-+	 0x0000ffff,		/* dst_mask */
-+	 FALSE),		/* pcrel_offset */
-+
-+  /* MIPS16 TLS local dynamic variable reference.  */
-+  HOWTO (R_MIPS16_TLS_LDM,	/* type */
-+	 0,			/* rightshift */
-+	 2,			/* size (0 = byte, 1 = short, 2 = long) */
-+	 16,			/* bitsize */
-+	 FALSE,			/* pc_relative */
-+	 0,			/* bitpos */
-+	 complain_overflow_signed, /* complain_on_overflow */
-+	 _bfd_mips_elf_generic_reloc, /* special_function */
-+	 "R_MIPS16_TLS_LDM",	/* name */
-+	 TRUE,			/* partial_inplace */
-+	 0x0000ffff,		/* src_mask */
-+	 0x0000ffff,		/* dst_mask */
-+	 FALSE),		/* pcrel_offset */
-+
-+  /* MIPS16 TLS local dynamic offset.  */
-+  HOWTO (R_MIPS16_TLS_DTPREL_HI16,	/* type */
-+	 0,			/* rightshift */
-+	 2,			/* size (0 = byte, 1 = short, 2 = long) */
-+	 16,			/* bitsize */
-+	 FALSE,			/* pc_relative */
-+	 0,			/* bitpos */
-+	 complain_overflow_signed, /* complain_on_overflow */
-+	 _bfd_mips_elf_generic_reloc, /* special_function */
-+	 "R_MIPS16_TLS_DTPREL_HI16",	/* name */
-+	 TRUE,			/* partial_inplace */
-+	 0x0000ffff,		/* src_mask */
-+	 0x0000ffff,		/* dst_mask */
-+	 FALSE),		/* pcrel_offset */
-+
-+  /* MIPS16 TLS local dynamic offset.  */
-+  HOWTO (R_MIPS16_TLS_DTPREL_LO16,	/* type */
-+	 0,			/* rightshift */
-+	 2,			/* size (0 = byte, 1 = short, 2 = long) */
-+	 16,			/* bitsize */
-+	 FALSE,			/* pc_relative */
-+	 0,			/* bitpos */
-+	 complain_overflow_signed, /* complain_on_overflow */
-+	 _bfd_mips_elf_generic_reloc, /* special_function */
-+	 "R_MIPS16_TLS_DTPREL_LO16",	/* name */
-+	 TRUE,			/* partial_inplace */
-+	 0x0000ffff,		/* src_mask */
-+	 0x0000ffff,		/* dst_mask */
-+	 FALSE),		/* pcrel_offset */
-+
-+  /* MIPS16 TLS thread pointer offset.  */
-+  HOWTO (R_MIPS16_TLS_GOTTPREL,	/* type */
-+	 0,			/* rightshift */
-+	 2,			/* size (0 = byte, 1 = short, 2 = long) */
-+	 16,			/* bitsize */
-+	 FALSE,			/* pc_relative */
-+	 0,			/* bitpos */
-+	 complain_overflow_signed, /* complain_on_overflow */
-+	 _bfd_mips_elf_generic_reloc, /* special_function */
-+	 "R_MIPS16_TLS_GOTTPREL",	/* name */
-+	 TRUE,			/* partial_inplace */
-+	 0x0000ffff,		/* src_mask */
-+	 0x0000ffff,		/* dst_mask */
-+	 FALSE),		/* pcrel_offset */
-+
-+  /* MIPS16 TLS thread pointer offset.  */
-+  HOWTO (R_MIPS16_TLS_TPREL_HI16,	/* type */
-+	 0,			/* rightshift */
-+	 2,			/* size (0 = byte, 1 = short, 2 = long) */
-+	 16,			/* bitsize */
-+	 FALSE,			/* pc_relative */
-+	 0,			/* bitpos */
-+	 complain_overflow_signed, /* complain_on_overflow */
-+	 _bfd_mips_elf_generic_reloc, /* special_function */
-+	 "R_MIPS16_TLS_TPREL_HI16", /* name */
-+	 TRUE,			/* partial_inplace */
-+	 0x0000ffff,		/* src_mask */
-+	 0x0000ffff,		/* dst_mask */
-+	 FALSE),		/* pcrel_offset */
-+
-+  /* MIPS16 TLS thread pointer offset.  */
-+  HOWTO (R_MIPS16_TLS_TPREL_LO16,	/* type */
-+	 0,			/* rightshift */
-+	 2,			/* size (0 = byte, 1 = short, 2 = long) */
-+	 16,			/* bitsize */
-+	 FALSE,			/* pc_relative */
-+	 0,			/* bitpos */
-+	 complain_overflow_signed, /* complain_on_overflow */
-+	 _bfd_mips_elf_generic_reloc, /* special_function */
-+	 "R_MIPS16_TLS_TPREL_LO16", /* name */
-+	 TRUE,			/* partial_inplace */
-+	 0x0000ffff,		/* src_mask */
-+	 0x0000ffff,		/* dst_mask */
-+	 FALSE),		/* pcrel_offset */
- };
- 
- static reloc_howto_type elf_micromips_howto_table_rel[] =
-@@ -1796,6 +1901,15 @@ static const struct elf_reloc_map mips16_reloc_map[] =
-   { BFD_RELOC_MIPS16_CALL16, R_MIPS16_CALL16 - R_MIPS16_min },
-   { BFD_RELOC_MIPS16_HI16_S, R_MIPS16_HI16 - R_MIPS16_min },
-   { BFD_RELOC_MIPS16_LO16, R_MIPS16_LO16 - R_MIPS16_min },
-+  { BFD_RELOC_MIPS16_TLS_GD, R_MIPS16_TLS_GD - R_MIPS16_min },
-+  { BFD_RELOC_MIPS16_TLS_LDM, R_MIPS16_TLS_LDM - R_MIPS16_min },
-+  { BFD_RELOC_MIPS16_TLS_DTPREL_HI16,
-+    R_MIPS16_TLS_DTPREL_HI16 - R_MIPS16_min },
-+  { BFD_RELOC_MIPS16_TLS_DTPREL_LO16,
-+    R_MIPS16_TLS_DTPREL_LO16 - R_MIPS16_min },
-+  { BFD_RELOC_MIPS16_TLS_GOTTPREL, R_MIPS16_TLS_GOTTPREL - R_MIPS16_min },
-+  { BFD_RELOC_MIPS16_TLS_TPREL_HI16, R_MIPS16_TLS_TPREL_HI16 - R_MIPS16_min },
-+  { BFD_RELOC_MIPS16_TLS_TPREL_LO16, R_MIPS16_TLS_TPREL_LO16 - R_MIPS16_min }
- };
- 
- static const struct elf_reloc_map micromips_reloc_map[] =
-diff --git a/bfd/elf64-mips.c b/bfd/elf64-mips.c
-index 3feb1bb..bdd0c19 100644
---- a/bfd/elf64-mips.c
-+++ b/bfd/elf64-mips.c
-@@ -1590,6 +1590,111 @@ static reloc_howto_type mips16_elf64_howto_table_rel[] =
- 	 0x0000ffff,		/* src_mask */
- 	 0x0000ffff,		/* dst_mask */
- 	 FALSE),		/* pcrel_offset */
-+
-+  /* MIPS16 TLS general dynamic variable reference.  */
-+  HOWTO (R_MIPS16_TLS_GD,	/* type */
-+	 0,			/* rightshift */
-+	 2,			/* size (0 = byte, 1 = short, 2 = long) */
-+	 16,			/* bitsize */
-+	 FALSE,			/* pc_relative */
-+	 0,			/* bitpos */
-+	 complain_overflow_signed, /* complain_on_overflow */
-+	 _bfd_mips_elf_generic_reloc, /* special_function */
-+	 "R_MIPS16_TLS_GD",	/* name */
-+	 TRUE,			/* partial_inplace */
-+	 0x0000ffff,		/* src_mask */
-+	 0x0000ffff,		/* dst_mask */
-+	 FALSE),		/* pcrel_offset */
-+
-+  /* MIPS16 TLS local dynamic variable reference.  */
-+  HOWTO (R_MIPS16_TLS_LDM,	/* type */
-+	 0,			/* rightshift */
-+	 2,			/* size (0 = byte, 1 = short, 2 = long) */
-+	 16,			/* bitsize */
-+	 FALSE,			/* pc_relative */
-+	 0,			/* bitpos */
-+	 complain_overflow_signed, /* complain_on_overflow */
-+	 _bfd_mips_elf_generic_reloc, /* special_function */
-+	 "R_MIPS16_TLS_LDM",	/* name */
-+	 TRUE,			/* partial_inplace */
-+	 0x0000ffff,		/* src_mask */
-+	 0x0000ffff,		/* dst_mask */
-+	 FALSE),		/* pcrel_offset */
-+
-+  /* MIPS16 TLS local dynamic offset.  */
-+  HOWTO (R_MIPS16_TLS_DTPREL_HI16,	/* type */
-+	 0,			/* rightshift */
-+	 2,			/* size (0 = byte, 1 = short, 2 = long) */
-+	 16,			/* bitsize */
-+	 FALSE,			/* pc_relative */
-+	 0,			/* bitpos */
-+	 complain_overflow_signed, /* complain_on_overflow */
-+	 _bfd_mips_elf_generic_reloc, /* special_function */
-+	 "R_MIPS16_TLS_DTPREL_HI16",	/* name */
-+	 TRUE,			/* partial_inplace */
-+	 0x0000ffff,		/* src_mask */
-+	 0x0000ffff,		/* dst_mask */
-+	 FALSE),		/* pcrel_offset */
-+
-+  /* MIPS16 TLS local dynamic offset.  */
-+  HOWTO (R_MIPS16_TLS_DTPREL_LO16,	/* type */
-+	 0,			/* rightshift */
-+	 2,			/* size (0 = byte, 1 = short, 2 = long) */
-+	 16,			/* bitsize */
-+	 FALSE,			/* pc_relative */
-+	 0,			/* bitpos */
-+	 complain_overflow_signed, /* complain_on_overflow */
-+	 _bfd_mips_elf_generic_reloc, /* special_function */
-+	 "R_MIPS16_TLS_DTPREL_LO16",	/* name */
-+	 TRUE,			/* partial_inplace */
-+	 0x0000ffff,		/* src_mask */
-+	 0x0000ffff,		/* dst_mask */
-+	 FALSE),		/* pcrel_offset */
-+
-+  /* MIPS16 TLS thread pointer offset.  */
-+  HOWTO (R_MIPS16_TLS_GOTTPREL,	/* type */
-+	 0,			/* rightshift */
-+	 2,			/* size (0 = byte, 1 = short, 2 = long) */
-+	 16,			/* bitsize */
-+	 FALSE,			/* pc_relative */
-+	 0,			/* bitpos */
-+	 complain_overflow_signed, /* complain_on_overflow */
-+	 _bfd_mips_elf_generic_reloc, /* special_function */
-+	 "R_MIPS16_TLS_GOTTPREL",	/* name */
-+	 TRUE,			/* partial_inplace */
-+	 0x0000ffff,		/* src_mask */
-+	 0x0000ffff,		/* dst_mask */
-+	 FALSE),		/* pcrel_offset */
-+
-+  /* MIPS16 TLS thread pointer offset.  */
-+  HOWTO (R_MIPS16_TLS_TPREL_HI16,	/* type */
-+	 0,			/* rightshift */
-+	 2,			/* size (0 = byte, 1 = short, 2 = long) */
-+	 16,			/* bitsize */
-+	 FALSE,			/* pc_relative */
-+	 0,			/* bitpos */
-+	 complain_overflow_signed, /* complain_on_overflow */
-+	 _bfd_mips_elf_generic_reloc, /* special_function */
-+	 "R_MIPS16_TLS_TPREL_HI16", /* name */
-+	 TRUE,			/* partial_inplace */
-+	 0x0000ffff,		/* src_mask */
-+	 0x0000ffff,		/* dst_mask */
-+	 FALSE),		/* pcrel_offset */
-+
-+  /* MIPS16 TLS thread pointer offset.  */
-+  HOWTO (R_MIPS16_TLS_TPREL_LO16,	/* type */
-+	 0,			/* rightshift */
-+	 2,			/* size (0 = byte, 1 = short, 2 = long) */
-+	 16,			/* bitsize */
-+	 FALSE,			/* pc_relative */
-+	 0,			/* bitpos */
-+	 complain_overflow_signed, /* complain_on_overflow */
-+	 _bfd_mips_elf_generic_reloc, /* special_function */
-+	 "R_MIPS16_TLS_TPREL_LO16", /* name */
-+	 TRUE,			/* partial_inplace */
-+	 0x0000ffff,		/* src_mask */
-+	 0x0000ffff,		/* dst_mask */
-+	 FALSE),		/* pcrel_offset */
- };
- 
- static reloc_howto_type mips16_elf64_howto_table_rela[] =
-@@ -1686,6 +1791,111 @@ static reloc_howto_type mips16_elf64_howto_table_rela[] =
- 	 0x0000ffff,		/* src_mask */
- 	 0x0000ffff,		/* dst_mask */
- 	 FALSE),		/* pcrel_offset */
-+
-+  /* MIPS16 TLS general dynamic variable reference.  */
-+  HOWTO (R_MIPS16_TLS_GD,	/* type */
-+	 0,			/* rightshift */
-+	 2,			/* size (0 = byte, 1 = short, 2 = long) */
-+	 16,			/* bitsize */
-+	 FALSE,			/* pc_relative */
-+	 0,			/* bitpos */
-+	 complain_overflow_signed, /* complain_on_overflow */
-+	 _bfd_mips_elf_generic_reloc, /* special_function */
-+	 "R_MIPS16_TLS_GD",	/* name */
-+	 FALSE,			/* partial_inplace */
-+	 0x0000ffff,		/* src_mask */
-+	 0x0000ffff,		/* dst_mask */
-+	 FALSE),		/* pcrel_offset */
-+
-+  /* MIPS16 TLS local dynamic variable reference.  */
-+  HOWTO (R_MIPS16_TLS_LDM,	/* type */
-+	 0,			/* rightshift */
-+	 2,			/* size (0 = byte, 1 = short, 2 = long) */
-+	 16,			/* bitsize */
-+	 FALSE,			/* pc_relative */
-+	 0,			/* bitpos */
-+	 complain_overflow_signed, /* complain_on_overflow */
-+	 _bfd_mips_elf_generic_reloc, /* special_function */
-+	 "R_MIPS16_TLS_LDM",	/* name */
-+	 FALSE,			/* partial_inplace */
-+	 0x0000ffff,		/* src_mask */
-+	 0x0000ffff,		/* dst_mask */
-+	 FALSE),		/* pcrel_offset */
-+
-+  /* MIPS16 TLS local dynamic offset.  */
-+  HOWTO (R_MIPS16_TLS_DTPREL_HI16,	/* type */
-+	 0,			/* rightshift */
-+	 2,			/* size (0 = byte, 1 = short, 2 = long) */
-+	 16,			/* bitsize */
-+	 FALSE,			/* pc_relative */
-+	 0,			/* bitpos */
-+	 complain_overflow_signed, /* complain_on_overflow */
-+	 _bfd_mips_elf_generic_reloc, /* special_function */
-+	 "R_MIPS16_TLS_DTPREL_HI16",	/* name */
-+	 FALSE,			/* partial_inplace */
-+	 0x0000ffff,		/* src_mask */
-+	 0x0000ffff,		/* dst_mask */
-+	 FALSE),		/* pcrel_offset */
-+
-+  /* MIPS16 TLS local dynamic offset.  */
-+  HOWTO (R_MIPS16_TLS_DTPREL_LO16,	/* type */
-+	 0,			/* rightshift */
-+	 2,			/* size (0 = byte, 1 = short, 2 = long) */
-+	 16,			/* bitsize */
-+	 FALSE,			/* pc_relative */
-+	 0,			/* bitpos */
-+	 complain_overflow_signed, /* complain_on_overflow */
-+	 _bfd_mips_elf_generic_reloc, /* special_function */
-+	 "R_MIPS16_TLS_DTPREL_LO16",	/* name */
-+	 FALSE,			/* partial_inplace */
-+	 0x0000ffff,		/* src_mask */
-+	 0x0000ffff,		/* dst_mask */
-+	 FALSE),		/* pcrel_offset */
-+
-+  /* MIPS16 TLS thread pointer offset.  */
-+  HOWTO (R_MIPS16_TLS_GOTTPREL,	/* type */
-+	 0,			/* rightshift */
-+	 2,			/* size (0 = byte, 1 = short, 2 = long) */
-+	 16,			/* bitsize */
-+	 FALSE,			/* pc_relative */
-+	 0,			/* bitpos */
-+	 complain_overflow_signed, /* complain_on_overflow */
-+	 _bfd_mips_elf_generic_reloc, /* special_function */
-+	 "R_MIPS16_TLS_GOTTPREL",	/* name */
-+	 FALSE,			/* partial_inplace */
-+	 0x0000ffff,		/* src_mask */
-+	 0x0000ffff,		/* dst_mask */
-+	 FALSE),		/* pcrel_offset */
-+
-+  /* MIPS16 TLS thread pointer offset.  */
-+  HOWTO (R_MIPS16_TLS_TPREL_HI16,	/* type */
-+	 0,			/* rightshift */
-+	 2,			/* size (0 = byte, 1 = short, 2 = long) */
-+	 16,			/* bitsize */
-+	 FALSE,			/* pc_relative */
-+	 0,			/* bitpos */
-+	 complain_overflow_signed, /* complain_on_overflow */
-+	 _bfd_mips_elf_generic_reloc, /* special_function */
-+	 "R_MIPS16_TLS_TPREL_HI16", /* name */
-+	 FALSE,			/* partial_inplace */
-+	 0x0000ffff,		/* src_mask */
-+	 0x0000ffff,		/* dst_mask */
-+	 FALSE),		/* pcrel_offset */
-+
-+  /* MIPS16 TLS thread pointer offset.  */
-+  HOWTO (R_MIPS16_TLS_TPREL_LO16,	/* type */
-+	 0,			/* rightshift */
-+	 2,			/* size (0 = byte, 1 = short, 2 = long) */
-+	 16,			/* bitsize */
-+	 FALSE,			/* pc_relative */
-+	 0,			/* bitpos */
-+	 complain_overflow_signed, /* complain_on_overflow */
-+	 _bfd_mips_elf_generic_reloc, /* special_function */
-+	 "R_MIPS16_TLS_TPREL_LO16", /* name */
-+	 FALSE,			/* partial_inplace */
-+	 0x0000ffff,		/* src_mask */
-+	 0x0000ffff,		/* dst_mask */
-+	 FALSE),		/* pcrel_offset */
- };
- 
- static reloc_howto_type micromips_elf64_howto_table_rel[] =
-@@ -2908,6 +3118,15 @@ static const struct elf_reloc_map mips16_reloc_map[] =
-   { BFD_RELOC_MIPS16_CALL16, R_MIPS16_CALL16 - R_MIPS16_min },
-   { BFD_RELOC_MIPS16_HI16_S, R_MIPS16_HI16 - R_MIPS16_min },
-   { BFD_RELOC_MIPS16_LO16, R_MIPS16_LO16 - R_MIPS16_min },
-+  { BFD_RELOC_MIPS16_TLS_GD, R_MIPS16_TLS_GD - R_MIPS16_min },
-+  { BFD_RELOC_MIPS16_TLS_LDM, R_MIPS16_TLS_LDM - R_MIPS16_min },
-+  { BFD_RELOC_MIPS16_TLS_DTPREL_HI16,
-+    R_MIPS16_TLS_DTPREL_HI16 - R_MIPS16_min },
-+  { BFD_RELOC_MIPS16_TLS_DTPREL_LO16,
-+    R_MIPS16_TLS_DTPREL_LO16 - R_MIPS16_min },
-+  { BFD_RELOC_MIPS16_TLS_GOTTPREL, R_MIPS16_TLS_GOTTPREL - R_MIPS16_min },
-+  { BFD_RELOC_MIPS16_TLS_TPREL_HI16, R_MIPS16_TLS_TPREL_HI16 - R_MIPS16_min },
-+  { BFD_RELOC_MIPS16_TLS_TPREL_LO16, R_MIPS16_TLS_TPREL_LO16 - R_MIPS16_min }
- };
- 
- static const struct elf_reloc_map micromips_reloc_map[] =
-diff --git a/bfd/elfn32-mips.c b/bfd/elfn32-mips.c
-index 00ec8b0..2189566 100644
---- a/bfd/elfn32-mips.c
-+++ b/bfd/elfn32-mips.c
-@@ -1555,6 +1555,111 @@ static reloc_howto_type elf_mips16_howto_table_rel[] =
- 	 0x0000ffff,		/* src_mask */
- 	 0x0000ffff,		/* dst_mask */
- 	 FALSE),		/* pcrel_offset */
-+
-+  /* MIPS16 TLS general dynamic variable reference.  */
-+  HOWTO (R_MIPS16_TLS_GD,	/* type */
-+	 0,			/* rightshift */
-+	 2,			/* size (0 = byte, 1 = short, 2 = long) */
-+	 16,			/* bitsize */
-+	 FALSE,			/* pc_relative */
-+	 0,			/* bitpos */
-+	 complain_overflow_signed, /* complain_on_overflow */
-+	 _bfd_mips_elf_generic_reloc, /* special_function */
-+	 "R_MIPS16_TLS_GD",	/* name */
-+	 TRUE,			/* partial_inplace */
-+	 0x0000ffff,		/* src_mask */
-+	 0x0000ffff,		/* dst_mask */
-+	 FALSE),		/* pcrel_offset */
-+
-+  /* MIPS16 TLS local dynamic variable reference.  */
-+  HOWTO (R_MIPS16_TLS_LDM,	/* type */
-+	 0,			/* rightshift */
-+	 2,			/* size (0 = byte, 1 = short, 2 = long) */
-+	 16,			/* bitsize */
-+	 FALSE,			/* pc_relative */
-+	 0,			/* bitpos */
-+	 complain_overflow_signed, /* complain_on_overflow */
-+	 _bfd_mips_elf_generic_reloc, /* special_function */
-+	 "R_MIPS16_TLS_LDM",	/* name */
-+	 TRUE,			/* partial_inplace */
-+	 0x0000ffff,		/* src_mask */
-+	 0x0000ffff,		/* dst_mask */
-+	 FALSE),		/* pcrel_offset */
-+
-+  /* MIPS16 TLS local dynamic offset.  */
-+  HOWTO (R_MIPS16_TLS_DTPREL_HI16,	/* type */
-+	 0,			/* rightshift */
-+	 2,			/* size (0 = byte, 1 = short, 2 = long) */
-+	 16,			/* bitsize */
-+	 FALSE,			/* pc_relative */
-+	 0,			/* bitpos */
-+	 complain_overflow_signed, /* complain_on_overflow */
-+	 _bfd_mips_elf_generic_reloc, /* special_function */
-+	 "R_MIPS16_TLS_DTPREL_HI16",	/* name */
-+	 TRUE,			/* partial_inplace */
-+	 0x0000ffff,		/* src_mask */
-+	 0x0000ffff,		/* dst_mask */
-+	 FALSE),		/* pcrel_offset */
-+
-+  /* MIPS16 TLS local dynamic offset.  */
-+  HOWTO (R_MIPS16_TLS_DTPREL_LO16,	/* type */
-+	 0,			/* rightshift */
-+	 2,			/* size (0 = byte, 1 = short, 2 = long) */
-+	 16,			/* bitsize */
-+	 FALSE,			/* pc_relative */
-+	 0,			/* bitpos */
-+	 complain_overflow_signed, /* complain_on_overflow */
-+	 _bfd_mips_elf_generic_reloc, /* special_function */
-+	 "R_MIPS16_TLS_DTPREL_LO16",	/* name */
-+	 TRUE,			/* partial_inplace */
-+	 0x0000ffff,		/* src_mask */
-+	 0x0000ffff,		/* dst_mask */
-+	 FALSE),		/* pcrel_offset */
-+
-+  /* MIPS16 TLS thread pointer offset.  */
-+  HOWTO (R_MIPS16_TLS_GOTTPREL,	/* type */
-+	 0,			/* rightshift */
-+	 2,			/* size (0 = byte, 1 = short, 2 = long) */
-+	 16,			/* bitsize */
-+	 FALSE,			/* pc_relative */
-+	 0,			/* bitpos */
-+	 complain_overflow_signed, /* complain_on_overflow */
-+	 _bfd_mips_elf_generic_reloc, /* special_function */
-+	 "R_MIPS16_TLS_GOTTPREL",	/* name */
-+	 TRUE,			/* partial_inplace */
-+	 0x0000ffff,		/* src_mask */
-+	 0x0000ffff,		/* dst_mask */
-+	 FALSE),		/* pcrel_offset */
-+
-+  /* MIPS16 TLS thread pointer offset.  */
-+  HOWTO (R_MIPS16_TLS_TPREL_HI16,	/* type */
-+	 0,			/* rightshift */
-+	 2,			/* size (0 = byte, 1 = short, 2 = long) */
-+	 16,			/* bitsize */
-+	 FALSE,			/* pc_relative */
-+	 0,			/* bitpos */
-+	 complain_overflow_signed, /* complain_on_overflow */
-+	 _bfd_mips_elf_generic_reloc, /* special_function */
-+	 "R_MIPS16_TLS_TPREL_HI16", /* name */
-+	 TRUE,			/* partial_inplace */
-+	 0x0000ffff,		/* src_mask */
-+	 0x0000ffff,		/* dst_mask */
-+	 FALSE),		/* pcrel_offset */
-+
-+  /* MIPS16 TLS thread pointer offset.  */
-+  HOWTO (R_MIPS16_TLS_TPREL_LO16,	/* type */
-+	 0,			/* rightshift */
-+	 2,			/* size (0 = byte, 1 = short, 2 = long) */
-+	 16,			/* bitsize */
-+	 FALSE,			/* pc_relative */
-+	 0,			/* bitpos */
-+	 complain_overflow_signed, /* complain_on_overflow */
-+	 _bfd_mips_elf_generic_reloc, /* special_function */
-+	 "R_MIPS16_TLS_TPREL_LO16", /* name */
-+	 TRUE,			/* partial_inplace */
-+	 0x0000ffff,		/* src_mask */
-+	 0x0000ffff,		/* dst_mask */
-+	 FALSE),		/* pcrel_offset */
- };
- 
- static reloc_howto_type elf_mips16_howto_table_rela[] =
-@@ -1651,6 +1756,111 @@ static reloc_howto_type elf_mips16_howto_table_rela[] =
- 	 0x0000ffff,		/* src_mask */
- 	 0x0000ffff,		/* dst_mask */
- 	 FALSE),		/* pcrel_offset */
-+
-+  /* MIPS16 TLS general dynamic variable reference.  */
-+  HOWTO (R_MIPS16_TLS_GD,	/* type */
-+	 0,			/* rightshift */
-+	 2,			/* size (0 = byte, 1 = short, 2 = long) */
-+	 16,			/* bitsize */
-+	 FALSE,			/* pc_relative */
-+	 0,			/* bitpos */
-+	 complain_overflow_signed, /* complain_on_overflow */
-+	 _bfd_mips_elf_generic_reloc, /* special_function */
-+	 "R_MIPS16_TLS_GD",	/* name */
-+	 FALSE,			/* partial_inplace */
-+	 0x0000ffff,		/* src_mask */
-+	 0x0000ffff,		/* dst_mask */
-+	 FALSE),		/* pcrel_offset */
-+
-+  /* MIPS16 TLS local dynamic variable reference.  */
-+  HOWTO (R_MIPS16_TLS_LDM,	/* type */
-+	 0,			/* rightshift */
-+	 2,			/* size (0 = byte, 1 = short, 2 = long) */
-+	 16,			/* bitsize */
-+	 FALSE,			/* pc_relative */
-+	 0,			/* bitpos */
-+	 complain_overflow_signed, /* complain_on_overflow */
-+	 _bfd_mips_elf_generic_reloc, /* special_function */
-+	 "R_MIPS16_TLS_LDM",	/* name */
-+	 FALSE,			/* partial_inplace */
-+	 0x0000ffff,		/* src_mask */
-+	 0x0000ffff,		/* dst_mask */
-+	 FALSE),		/* pcrel_offset */
-+
-+  /* MIPS16 TLS local dynamic offset.  */
-+  HOWTO (R_MIPS16_TLS_DTPREL_HI16,	/* type */
-+	 0,			/* rightshift */
-+	 2,			/* size (0 = byte, 1 = short, 2 = long) */
-+	 16,			/* bitsize */
-+	 FALSE,			/* pc_relative */
-+	 0,			/* bitpos */
-+	 complain_overflow_signed, /* complain_on_overflow */
-+	 _bfd_mips_elf_generic_reloc, /* special_function */
-+	 "R_MIPS16_TLS_DTPREL_HI16",	/* name */
-+	 FALSE,			/* partial_inplace */
-+	 0x0000ffff,		/* src_mask */
-+	 0x0000ffff,		/* dst_mask */
-+	 FALSE),		/* pcrel_offset */
-+
-+  /* MIPS16 TLS local dynamic offset.  */
-+  HOWTO (R_MIPS16_TLS_DTPREL_LO16,	/* type */
-+	 0,			/* rightshift */
-+	 2,			/* size (0 = byte, 1 = short, 2 = long) */
-+	 16,			/* bitsize */
-+	 FALSE,			/* pc_relative */
-+	 0,			/* bitpos */
-+	 complain_overflow_signed, /* complain_on_overflow */
-+	 _bfd_mips_elf_generic_reloc, /* special_function */
-+	 "R_MIPS16_TLS_DTPREL_LO16",	/* name */
-+	 FALSE,			/* partial_inplace */
-+	 0x0000ffff,		/* src_mask */
-+	 0x0000ffff,		/* dst_mask */
-+	 FALSE),		/* pcrel_offset */
-+
-+  /* MIPS16 TLS thread pointer offset.  */
-+  HOWTO (R_MIPS16_TLS_GOTTPREL,	/* type */
-+	 0,			/* rightshift */
-+	 2,			/* size (0 = byte, 1 = short, 2 = long) */
-+	 16,			/* bitsize */
-+	 FALSE,			/* pc_relative */
-+	 0,			/* bitpos */
-+	 complain_overflow_signed, /* complain_on_overflow */
-+	 _bfd_mips_elf_generic_reloc, /* special_function */
-+	 "R_MIPS16_TLS_GOTTPREL",	/* name */
-+	 FALSE,			/* partial_inplace */
-+	 0x0000ffff,		/* src_mask */
-+	 0x0000ffff,		/* dst_mask */
-+	 FALSE),		/* pcrel_offset */
-+
-+  /* MIPS16 TLS thread pointer offset.  */
-+  HOWTO (R_MIPS16_TLS_TPREL_HI16,	/* type */
-+	 0,			/* rightshift */
-+	 2,			/* size (0 = byte, 1 = short, 2 = long) */
-+	 16,			/* bitsize */
-+	 FALSE,			/* pc_relative */
-+	 0,			/* bitpos */
-+	 complain_overflow_signed, /* complain_on_overflow */
-+	 _bfd_mips_elf_generic_reloc, /* special_function */
-+	 "R_MIPS16_TLS_TPREL_HI16", /* name */
-+	 FALSE,			/* partial_inplace */
-+	 0x0000ffff,		/* src_mask */
-+	 0x0000ffff,		/* dst_mask */
-+	 FALSE),		/* pcrel_offset */
-+
-+  /* MIPS16 TLS thread pointer offset.  */
-+  HOWTO (R_MIPS16_TLS_TPREL_LO16,	/* type */
-+	 0,			/* rightshift */
-+	 2,			/* size (0 = byte, 1 = short, 2 = long) */
-+	 16,			/* bitsize */
-+	 FALSE,			/* pc_relative */
-+	 0,			/* bitpos */
-+	 complain_overflow_signed, /* complain_on_overflow */
-+	 _bfd_mips_elf_generic_reloc, /* special_function */
-+	 "R_MIPS16_TLS_TPREL_LO16", /* name */
-+	 FALSE,			/* partial_inplace */
-+	 0x0000ffff,		/* src_mask */
-+	 0x0000ffff,		/* dst_mask */
-+	 FALSE),		/* pcrel_offset */
- };
- 
- static reloc_howto_type elf_micromips_howto_table_rel[] =
-@@ -2724,6 +2934,15 @@ static const struct elf_reloc_map mips16_reloc_map[] =
-   { BFD_RELOC_MIPS16_CALL16, R_MIPS16_CALL16 - R_MIPS16_min },
-   { BFD_RELOC_MIPS16_HI16_S, R_MIPS16_HI16 - R_MIPS16_min },
-   { BFD_RELOC_MIPS16_LO16, R_MIPS16_LO16 - R_MIPS16_min },
-+  { BFD_RELOC_MIPS16_TLS_GD, R_MIPS16_TLS_GD - R_MIPS16_min },
-+  { BFD_RELOC_MIPS16_TLS_LDM, R_MIPS16_TLS_LDM - R_MIPS16_min },
-+  { BFD_RELOC_MIPS16_TLS_DTPREL_HI16,
-+    R_MIPS16_TLS_DTPREL_HI16 - R_MIPS16_min },
-+  { BFD_RELOC_MIPS16_TLS_DTPREL_LO16,
-+    R_MIPS16_TLS_DTPREL_LO16 - R_MIPS16_min },
-+  { BFD_RELOC_MIPS16_TLS_GOTTPREL, R_MIPS16_TLS_GOTTPREL - R_MIPS16_min },
-+  { BFD_RELOC_MIPS16_TLS_TPREL_HI16, R_MIPS16_TLS_TPREL_HI16 - R_MIPS16_min },
-+  { BFD_RELOC_MIPS16_TLS_TPREL_LO16, R_MIPS16_TLS_TPREL_LO16 - R_MIPS16_min }
- };
- 
- static const struct elf_reloc_map micromips_reloc_map[] =
-diff --git a/bfd/elfxx-mips.c b/bfd/elfxx-mips.c
-index 9f3833b..fa906cd 100644
---- a/bfd/elfxx-mips.c
-+++ b/bfd/elfxx-mips.c
-@@ -529,6 +529,13 @@ struct mips_htab_traverse_info
-    || r_type == R_MIPS_TLS_TPREL64		\
-    || r_type == R_MIPS_TLS_TPREL_HI16		\
-    || r_type == R_MIPS_TLS_TPREL_LO16		\
-+   || r_type == R_MIPS16_TLS_GD			\
-+   || r_type == R_MIPS16_TLS_LDM		\
-+   || r_type == R_MIPS16_TLS_DTPREL_HI16	\
-+   || r_type == R_MIPS16_TLS_DTPREL_LO16	\
-+   || r_type == R_MIPS16_TLS_GOTTPREL		\
-+   || r_type == R_MIPS16_TLS_TPREL_HI16		\
-+   || r_type == R_MIPS16_TLS_TPREL_LO16		\
-    || r_type == R_MICROMIPS_TLS_GD		\
-    || r_type == R_MICROMIPS_TLS_LDM		\
-    || r_type == R_MICROMIPS_TLS_DTPREL_HI16	\
-@@ -1885,6 +1892,13 @@ mips16_reloc_p (int r_type)
-     case R_MIPS16_CALL16:
-     case R_MIPS16_HI16:
-     case R_MIPS16_LO16:
-+    case R_MIPS16_TLS_GD:
-+    case R_MIPS16_TLS_LDM:
-+    case R_MIPS16_TLS_DTPREL_HI16:
-+    case R_MIPS16_TLS_DTPREL_LO16:
-+    case R_MIPS16_TLS_GOTTPREL:
-+    case R_MIPS16_TLS_TPREL_HI16:
-+    case R_MIPS16_TLS_TPREL_LO16:
-       return TRUE;
- 
-     default:
-@@ -2012,19 +2026,25 @@ micromips_branch_reloc_p (int r_type)
- static inline bfd_boolean
- tls_gd_reloc_p (unsigned int r_type)
- {
--  return r_type == R_MIPS_TLS_GD || r_type == R_MICROMIPS_TLS_GD;
-+  return (r_type == R_MIPS_TLS_GD
-+	  || r_type == R_MIPS16_TLS_GD
-+	  || r_type == R_MICROMIPS_TLS_GD);
- }
- 
- static inline bfd_boolean
- tls_ldm_reloc_p (unsigned int r_type)
- {
--  return r_type == R_MIPS_TLS_LDM || r_type == R_MICROMIPS_TLS_LDM;
-+  return (r_type == R_MIPS_TLS_LDM
-+	  || r_type == R_MIPS16_TLS_LDM
-+	  || r_type == R_MICROMIPS_TLS_LDM);
- }
- 
- static inline bfd_boolean
- tls_gottprel_reloc_p (unsigned int r_type)
- {
--  return r_type == R_MIPS_TLS_GOTTPREL || r_type == R_MICROMIPS_TLS_GOTTPREL;
-+  return (r_type == R_MIPS_TLS_GOTTPREL
-+	  || r_type == R_MIPS16_TLS_GOTTPREL
-+	  || r_type == R_MICROMIPS_TLS_GOTTPREL);
- }
- 
- void
-@@ -5361,6 +5381,9 @@ mips_elf_calculate_relocation (bfd *abfd, bfd *input_bfd,
-     case R_MIPS_TLS_GD:
-     case R_MIPS_TLS_GOTTPREL:
-     case R_MIPS_TLS_LDM:
-+    case R_MIPS16_TLS_GD:
-+    case R_MIPS16_TLS_GOTTPREL:
-+    case R_MIPS16_TLS_LDM:
-     case R_MICROMIPS_TLS_GD:
-     case R_MICROMIPS_TLS_GOTTPREL:
-     case R_MICROMIPS_TLS_LDM:
-@@ -5530,6 +5553,7 @@ mips_elf_calculate_relocation (bfd *abfd, bfd *input_bfd,
-       break;
- 
-     case R_MIPS_TLS_DTPREL_HI16:
-+    case R_MIPS16_TLS_DTPREL_HI16:
-     case R_MICROMIPS_TLS_DTPREL_HI16:
-       value = (mips_elf_high (addend + symbol - dtprel_base (info))
- 	       & howto->dst_mask);
-@@ -5538,17 +5562,22 @@ mips_elf_calculate_relocation (bfd *abfd, bfd *input_bfd,
-     case R_MIPS_TLS_DTPREL_LO16:
-     case R_MIPS_TLS_DTPREL32:
-     case R_MIPS_TLS_DTPREL64:
-+    case R_MIPS16_TLS_DTPREL_LO16:
-     case R_MICROMIPS_TLS_DTPREL_LO16:
-       value = (symbol + addend - dtprel_base (info)) & howto->dst_mask;
-       break;
- 
-     case R_MIPS_TLS_TPREL_HI16:
-+    case R_MIPS16_TLS_TPREL_HI16:
-     case R_MICROMIPS_TLS_TPREL_HI16:
-       value = (mips_elf_high (addend + symbol - tprel_base (info))
- 	       & howto->dst_mask);
-       break;
- 
-     case R_MIPS_TLS_TPREL_LO16:
-+    case R_MIPS_TLS_TPREL32:
-+    case R_MIPS_TLS_TPREL64:
-+    case R_MIPS16_TLS_TPREL_LO16:
-     case R_MICROMIPS_TLS_TPREL_LO16:
-       value = (symbol + addend - tprel_base (info)) & howto->dst_mask;
-       break;
-@@ -5681,6 +5710,9 @@ mips_elf_calculate_relocation (bfd *abfd, bfd *input_bfd,
-     case R_MIPS_TLS_GOTTPREL:
-     case R_MIPS_TLS_LDM:
-     case R_MIPS_GOT_DISP:
-+    case R_MIPS16_TLS_GD:
-+    case R_MIPS16_TLS_GOTTPREL:
-+    case R_MIPS16_TLS_LDM:
-     case R_MICROMIPS_TLS_GD:
-     case R_MICROMIPS_TLS_GOTTPREL:
-     case R_MICROMIPS_TLS_LDM:
-@@ -7813,8 +7845,6 @@ _bfd_mips_elf_check_relocs (bfd *abfd, struct bfd_link_info *info,
-       can_make_dynamic_p = FALSE;
-       switch (r_type)
- 	{
--	case R_MIPS16_GOT16:
--	case R_MIPS16_CALL16:
- 	case R_MIPS_GOT16:
- 	case R_MIPS_CALL16:
- 	case R_MIPS_CALL_HI16:
-@@ -7827,6 +7857,11 @@ _bfd_mips_elf_check_relocs (bfd *abfd, struct bfd_link_info *info,
- 	case R_MIPS_TLS_GOTTPREL:
- 	case R_MIPS_TLS_GD:
- 	case R_MIPS_TLS_LDM:
-+	case R_MIPS16_GOT16:
-+	case R_MIPS16_CALL16:
-+	case R_MIPS16_TLS_GOTTPREL:
-+	case R_MIPS16_TLS_GD:
-+	case R_MIPS16_TLS_LDM:
- 	case R_MICROMIPS_GOT16:
- 	case R_MICROMIPS_CALL16:
- 	case R_MICROMIPS_CALL_HI16:
-@@ -8063,12 +8098,14 @@ _bfd_mips_elf_check_relocs (bfd *abfd, struct bfd_link_info *info,
- 	  break;
- 
- 	case R_MIPS_TLS_GOTTPREL:
-+	case R_MIPS16_TLS_GOTTPREL:
- 	case R_MICROMIPS_TLS_GOTTPREL:
- 	  if (info->shared)
- 	    info->flags |= DF_STATIC_TLS;
- 	  /* Fall through */
- 
- 	case R_MIPS_TLS_LDM:
-+	case R_MIPS16_TLS_LDM:
- 	case R_MICROMIPS_TLS_LDM:
- 	  if (tls_ldm_reloc_p (r_type))
- 	    {
-@@ -8078,6 +8115,7 @@ _bfd_mips_elf_check_relocs (bfd *abfd, struct bfd_link_info *info,
- 	  /* Fall through */
- 
- 	case R_MIPS_TLS_GD:
-+	case R_MIPS16_TLS_GD:
- 	case R_MICROMIPS_TLS_GD:
- 	  /* This symbol requires a global offset table entry, or two
- 	     for TLS GD relocations.  */
-diff --git a/bfd/libbfd.h b/bfd/libbfd.h
-index 200a6fa..0395ec2 100644
---- a/bfd/libbfd.h
-+++ b/bfd/libbfd.h
-@@ -1086,6 +1086,13 @@ static const char *const bfd_reloc_code_real_names[] = { "@@uninitialized@@",
-   "BFD_RELOC_MIPS16_HI16",
-   "BFD_RELOC_MIPS16_HI16_S",
-   "BFD_RELOC_MIPS16_LO16",
-+  "BFD_RELOC_MIPS16_TLS_GD",
-+  "BFD_RELOC_MIPS16_TLS_LDM",
-+  "BFD_RELOC_MIPS16_TLS_DTPREL_HI16",
-+  "BFD_RELOC_MIPS16_TLS_DTPREL_LO16",
-+  "BFD_RELOC_MIPS16_TLS_GOTTPREL",
-+  "BFD_RELOC_MIPS16_TLS_TPREL_HI16",
-+  "BFD_RELOC_MIPS16_TLS_TPREL_LO16",
-   "BFD_RELOC_MIPS_LITERAL",
-   "BFD_RELOC_MICROMIPS_LITERAL",
-   "BFD_RELOC_MICROMIPS_7_PCREL_S1",
-diff --git a/bfd/reloc.c b/bfd/reloc.c
-index 6ac7148..ef55cc3 100644
---- a/bfd/reloc.c
-+++ b/bfd/reloc.c
-@@ -2247,6 +2247,23 @@ ENUMDOC
-   MIPS16 low 16 bits.
- 
- ENUM
-+  BFD_RELOC_MIPS16_TLS_GD
-+ENUMX
-+  BFD_RELOC_MIPS16_TLS_LDM
-+ENUMX
-+  BFD_RELOC_MIPS16_TLS_DTPREL_HI16
-+ENUMX
-+  BFD_RELOC_MIPS16_TLS_DTPREL_LO16
-+ENUMX
-+  BFD_RELOC_MIPS16_TLS_GOTTPREL
-+ENUMX
-+  BFD_RELOC_MIPS16_TLS_TPREL_HI16
-+ENUMX
-+  BFD_RELOC_MIPS16_TLS_TPREL_LO16
-+ENUMDOC
-+  MIPS16 TLS relocations
-+
-+ENUM
-   BFD_RELOC_MIPS_LITERAL
- ENUMX
-   BFD_RELOC_MICROMIPS_LITERAL
-diff --git a/gas/config/tc-mips.c b/gas/config/tc-mips.c
-index 0e4c66e..0fb3a6e 100644
---- a/gas/config/tc-mips.c
-+++ b/gas/config/tc-mips.c
-@@ -1352,6 +1352,8 @@ static void s_cprestore (int);
- static void s_cpreturn (int);
- static void s_dtprelword (int);
- static void s_dtpreldword (int);
-+static void s_tprelword (int);
-+static void s_tpreldword (int);
- static void s_gpvalue (int);
- static void s_gpword (int);
- static void s_gpdword (int);
-@@ -1431,6 +1433,8 @@ static const pseudo_typeS mips_pseudo_table[] =
-   {"cpreturn", s_cpreturn, 0},
-   {"dtprelword", s_dtprelword, 0},
-   {"dtpreldword", s_dtpreldword, 0},
-+  {"tprelword", s_tprelword, 0},
-+  {"tpreldword", s_tpreldword, 0},
-   {"gpvalue", s_gpvalue, 0},
-   {"gpword", s_gpword, 0},
-   {"gpdword", s_gpdword, 0},
-@@ -14040,7 +14044,14 @@ static const struct percent_op_match mips16_percent_op[] =
-   {"%gprel", BFD_RELOC_MIPS16_GPREL},
-   {"%got", BFD_RELOC_MIPS16_GOT16},
-   {"%call16", BFD_RELOC_MIPS16_CALL16},
--  {"%hi", BFD_RELOC_MIPS16_HI16_S}
-+  {"%hi", BFD_RELOC_MIPS16_HI16_S},
-+  {"%tlsgd", BFD_RELOC_MIPS16_TLS_GD},
-+  {"%tlsldm", BFD_RELOC_MIPS16_TLS_LDM},
-+  {"%dtprel_hi", BFD_RELOC_MIPS16_TLS_DTPREL_HI16},
-+  {"%dtprel_lo", BFD_RELOC_MIPS16_TLS_DTPREL_LO16},
-+  {"%tprel_hi", BFD_RELOC_MIPS16_TLS_TPREL_HI16},
-+  {"%tprel_lo", BFD_RELOC_MIPS16_TLS_TPREL_LO16},
-+  {"%gottprel", BFD_RELOC_MIPS16_TLS_GOTTPREL}
- };
- 
- 
-@@ -15369,6 +15380,8 @@ md_apply_fix (fixS *fixP, valueT *valP, segT seg ATTRIBUTE_UNUSED)
-     case BFD_RELOC_MIPS_TLS_DTPREL_HI16:
-     case BFD_RELOC_MIPS_TLS_DTPREL_LO16:
-     case BFD_RELOC_MIPS_TLS_GOTTPREL:
-+    case BFD_RELOC_MIPS_TLS_TPREL32:
-+    case BFD_RELOC_MIPS_TLS_TPREL64:
-     case BFD_RELOC_MIPS_TLS_TPREL_HI16:
-     case BFD_RELOC_MIPS_TLS_TPREL_LO16:
-     case BFD_RELOC_MICROMIPS_TLS_GD:
-@@ -15378,6 +15391,13 @@ md_apply_fix (fixS *fixP, valueT *valP, segT seg ATTRIBUTE_UNUSED)
-     case BFD_RELOC_MICROMIPS_TLS_GOTTPREL:
-     case BFD_RELOC_MICROMIPS_TLS_TPREL_HI16:
-     case BFD_RELOC_MICROMIPS_TLS_TPREL_LO16:
-+    case BFD_RELOC_MIPS16_TLS_GD:
-+    case BFD_RELOC_MIPS16_TLS_LDM:
-+    case BFD_RELOC_MIPS16_TLS_DTPREL_HI16:
-+    case BFD_RELOC_MIPS16_TLS_DTPREL_LO16:
-+    case BFD_RELOC_MIPS16_TLS_GOTTPREL:
-+    case BFD_RELOC_MIPS16_TLS_TPREL_HI16:
-+    case BFD_RELOC_MIPS16_TLS_TPREL_LO16:
-       S_SET_THREAD_LOCAL (fixP->fx_addsy);
-       /* fall through */
- 
-@@ -16547,12 +16567,14 @@ s_cpreturn (int ignore ATTRIBUTE_UNUSED)
-   demand_empty_rest_of_line ();
- }
- 
--/* Handle the .dtprelword and .dtpreldword pseudo-ops.  They generate
--   a 32-bit or 64-bit DTP-relative relocation (BYTES says which) for
--   use in DWARF debug information.  */
-+/* Handle a .dtprelword, .dtpreldword, .tprelword, or .tpreldword
-+   pseudo-op; DIRSTR says which. The pseudo-op generates a BYTES-size
-+   DTP- or TP-relative relocation of type RTYPE, for use in either DWARF
-+   debug information or MIPS16 TLS.  */
- 
- static void
--s_dtprel_internal (size_t bytes)
-+s_tls_rel_directive (const size_t bytes, const char *dirstr,
-+		     bfd_reloc_code_real_type rtype)
- {
-   expressionS ex;
-   char *p;
-@@ -16561,19 +16583,13 @@ s_dtprel_internal (size_t bytes)
- 
-   if (ex.X_op != O_symbol)
-     {
--      as_bad (_("Unsupported use of %s"), (bytes == 8
--					   ? ".dtpreldword"
--					   : ".dtprelword"));
-+      as_bad (_("Unsupported use of %s"), dirstr);
-       ignore_rest_of_line ();
-     }
- 
-   p = frag_more (bytes);
-   md_number_to_chars (p, 0, bytes);
--  fix_new_exp (frag_now, p - frag_now->fr_literal, bytes, &ex, FALSE,
--	       (bytes == 8
--		? BFD_RELOC_MIPS_TLS_DTPREL64
--		: BFD_RELOC_MIPS_TLS_DTPREL32));
--
-+  fix_new_exp (frag_now, p - frag_now->fr_literal, bytes, &ex, FALSE, rtype);
-   demand_empty_rest_of_line ();
- }
- 
-@@ -16582,7 +16598,7 @@ s_dtprel_internal (size_t bytes)
- static void
- s_dtprelword (int ignore ATTRIBUTE_UNUSED)
- {
--  s_dtprel_internal (4);
-+  s_tls_rel_directive (4, ".dtprelword", BFD_RELOC_MIPS_TLS_DTPREL32);
- }
- 
- /* Handle .dtpreldword.  */
-@@ -16590,7 +16606,23 @@ s_dtprelword (int ignore ATTRIBUTE_UNUSED)
- static void
- s_dtpreldword (int ignore ATTRIBUTE_UNUSED)
- {
--  s_dtprel_internal (8);
-+  s_tls_rel_directive (8, ".dtpreldword", BFD_RELOC_MIPS_TLS_DTPREL64);
-+}
-+
-+/* Handle .tprelword.  */
-+
-+static void
-+s_tprelword (int ignore ATTRIBUTE_UNUSED)
-+{
-+  s_tls_rel_directive (4, ".tprelword", BFD_RELOC_MIPS_TLS_TPREL32);
-+}
-+
-+/* Handle .tpreldword.  */
-+
-+static void
-+s_tpreldword (int ignore ATTRIBUTE_UNUSED)
-+{
-+  s_tls_rel_directive (8, ".tpreldword", BFD_RELOC_MIPS_TLS_TPREL64);
- }
- 
- /* Handle the .gpvalue pseudo-op.  This is used when generating NewABI PIC
-diff --git a/include/elf/mips.h b/include/elf/mips.h
-index db5fa54..c2c5922 100644
---- a/include/elf/mips.h
-+++ b/include/elf/mips.h
-@@ -98,7 +98,14 @@ START_RELOC_NUMBERS (elf_mips_reloc_type)
-   RELOC_NUMBER (R_MIPS16_CALL16, 103)
-   RELOC_NUMBER (R_MIPS16_HI16, 104)
-   RELOC_NUMBER (R_MIPS16_LO16, 105)
--  FAKE_RELOC (R_MIPS16_max, 106)
-+  RELOC_NUMBER (R_MIPS16_TLS_GD, 106)
-+  RELOC_NUMBER (R_MIPS16_TLS_LDM, 107)
-+  RELOC_NUMBER (R_MIPS16_TLS_DTPREL_HI16, 108)
-+  RELOC_NUMBER (R_MIPS16_TLS_DTPREL_LO16, 109)
-+  RELOC_NUMBER (R_MIPS16_TLS_GOTTPREL, 110)
-+  RELOC_NUMBER (R_MIPS16_TLS_TPREL_HI16, 111)
-+  RELOC_NUMBER (R_MIPS16_TLS_TPREL_LO16, 112)
-+  FAKE_RELOC (R_MIPS16_max, 113)
-   /* These relocations are specific to VxWorks.  */
-   RELOC_NUMBER (R_MIPS_COPY, 126)
-   RELOC_NUMBER (R_MIPS_JUMP_SLOT, 127)
--- 
-1.7.9.5
-
diff --git a/meta/recipes-devtools/binutils/binutils/0039-emulparams-elf32bmip.sh-OTHER_SECTIONS-Put-.mdebug.-.patch b/meta/recipes-devtools/binutils/binutils/0039-emulparams-elf32bmip.sh-OTHER_SECTIONS-Put-.mdebug.-.patch
deleted file mode 100644
index 657d673..0000000
--- a/meta/recipes-devtools/binutils/binutils/0039-emulparams-elf32bmip.sh-OTHER_SECTIONS-Put-.mdebug.-.patch
+++ /dev/null
@@ -1,49 +0,0 @@ 
-Upstream-Status: Backport
-
-From 80041361bf80194da35c5efb842125f3ce1d2bf2 Mon Sep 17 00:00:00 2001
-From: Joseph Myers <joseph@codesourcery.com>
-Date: Tue, 20 Dec 2011 18:00:03 +0000
-Subject: [PATCH 039/262] 	* emulparams/elf32bmip.sh (OTHER_SECTIONS):
- Put .mdebug.* and 	.gcc_compiled_long* sections
- at address 0.
-
----
- ld/ChangeLog               |    5 +++++
- ld/emulparams/elf32bmip.sh |   16 ++++++++--------
- 2 files changed, 13 insertions(+), 8 deletions(-)
-
-2011-12-20  Joseph Myers  <joseph@codesourcery.com>
-
-	* emulparams/elf32bmip.sh (OTHER_SECTIONS): Put .mdebug.* and
-	.gcc_compiled_long* sections at address 0.
-
-diff --git a/ld/emulparams/elf32bmip.sh b/ld/emulparams/elf32bmip.sh
-index 44a0b8a..f0fcd2c 100644
---- a/ld/emulparams/elf32bmip.sh
-+++ b/ld/emulparams/elf32bmip.sh
-@@ -64,14 +64,14 @@ OTHER_BSS_SYMBOLS='_fbss = .;'
- OTHER_SECTIONS='
-   .gptab.sdata : { *(.gptab.data) *(.gptab.sdata) }
-   .gptab.sbss : { *(.gptab.bss) *(.gptab.sbss) }
--  .mdebug.abi32 : { KEEP(*(.mdebug.abi32)) }
--  .mdebug.abiN32 : { KEEP(*(.mdebug.abiN32)) }
--  .mdebug.abi64 : { KEEP(*(.mdebug.abi64)) }
--  .mdebug.abiO64 : { KEEP(*(.mdebug.abiO64)) }
--  .mdebug.eabi32 : { KEEP(*(.mdebug.eabi32)) }
--  .mdebug.eabi64 : { KEEP(*(.mdebug.eabi64)) }
--  .gcc_compiled_long32 : { KEEP(*(.gcc_compiled_long32)) }
--  .gcc_compiled_long64 : { KEEP(*(.gcc_compiled_long64)) }
-+  .mdebug.abi32 0 : { KEEP(*(.mdebug.abi32)) }
-+  .mdebug.abiN32 0 : { KEEP(*(.mdebug.abiN32)) }
-+  .mdebug.abi64 0 : { KEEP(*(.mdebug.abi64)) }
-+  .mdebug.abiO64 0 : { KEEP(*(.mdebug.abiO64)) }
-+  .mdebug.eabi32 0 : { KEEP(*(.mdebug.eabi32)) }
-+  .mdebug.eabi64 0 : { KEEP(*(.mdebug.eabi64)) }
-+  .gcc_compiled_long32 0 : { KEEP(*(.gcc_compiled_long32)) }
-+  .gcc_compiled_long64 0 : { KEEP(*(.gcc_compiled_long64)) }
- '
- ARCH=mips
- MACHINE=
--- 
-1.7.9.5
-
diff --git a/meta/recipes-devtools/binutils/binutils/0052-gas.patch b/meta/recipes-devtools/binutils/binutils/0052-gas.patch
deleted file mode 100644
index a9bb3ac..0000000
--- a/meta/recipes-devtools/binutils/binutils/0052-gas.patch
+++ /dev/null
@@ -1,83 +0,0 @@ 
-Upstream-Status: Backport
-
-From e45a3a5695408d472e8f0ca6c21eb03e5fd42817 Mon Sep 17 00:00:00 2001
-From: Richard Sandiford <rsandifo@nildram.co.uk>
-Date: Sun, 8 Jan 2012 12:34:30 +0000
-Subject: [PATCH 052/262] gas/ 	* config/tc-mips.c (s_tls_rel_directive):
- Call mips_clear_insn_labels.
-
-gas/testsuite/
-	* gas/mips/tls-relw.s, gas/mips/tls-relw.d: New test.
-	* gas/mips/mips.exp: Run it.
----
- gas/ChangeLog                     |    4 ++++
- gas/config/tc-mips.c              |    1 +
- gas/testsuite/ChangeLog           |    5 +++++
- gas/testsuite/gas/mips/mips.exp   |    1 +
- gas/testsuite/gas/mips/tls-relw.d |    8 ++++++++
- gas/testsuite/gas/mips/tls-relw.s |   12 ++++++++++++
- 6 files changed, 31 insertions(+)
- create mode 100644 gas/testsuite/gas/mips/tls-relw.d
- create mode 100644 gas/testsuite/gas/mips/tls-relw.s
-
-2012-01-08  Richard Sandiford  <rdsandiford@googlemail.com>
-
-	* config/tc-mips.c (s_tls_rel_directive): Call mips_clear_insn_labels.
-
-diff --git a/gas/config/tc-mips.c b/gas/config/tc-mips.c
-index 0fb3a6e..5324450 100644
---- a/gas/config/tc-mips.c
-+++ b/gas/config/tc-mips.c
-@@ -16591,6 +16591,7 @@ s_tls_rel_directive (const size_t bytes, const char *dirstr,
-   md_number_to_chars (p, 0, bytes);
-   fix_new_exp (frag_now, p - frag_now->fr_literal, bytes, &ex, FALSE, rtype);
-   demand_empty_rest_of_line ();
-+  mips_clear_insn_labels ();
- }
- 
- /* Handle .dtprelword.  */
---- a/gas/testsuite/gas/mips/mips.exp
-+++ b/gas/testsuite/gas/mips/mips.exp
-@@ -878,6 +878,7 @@ if { [istarget mips*-*-vxworks*] } {
- 
- 	run_list_test "tls-ill" "-32"
- 	run_dump_test "tls-o32"
-+	run_dump_test "tls-relw"
- 	run_dump_test "jalr2"
- 
- 	run_dump_test_arches "aent"	[mips_arch_list_matching mips1]
-diff --git a/gas/testsuite/gas/mips/tls-relw.d b/gas/testsuite/gas/mips/tls-relw.d
-new file mode 100644
-index 0000000..bc13b43
---- /dev/null
-+++ b/gas/testsuite/gas/mips/tls-relw.d
-@@ -0,0 +1,8 @@
-+# as: -EB
-+# objdump: -sj.data
-+
-+.*
-+
-+Contents of section \.data:
-+ 0000 00000001 00000000 00000002 00000004  ................
-+ 0010 00000000 00000003 00000010 00000000  ................
-diff --git a/gas/testsuite/gas/mips/tls-relw.s b/gas/testsuite/gas/mips/tls-relw.s
-new file mode 100644
-index 0000000..6890685
---- /dev/null
-+++ b/gas/testsuite/gas/mips/tls-relw.s
-@@ -0,0 +1,12 @@
-+	.data
-+start:
-+	.word	1
-+a:
-+	.tprelword t1
-+	.word	2
-+	.word	a-start
-+b:
-+	.dtprelword t2
-+	.word	3
-+	.word	b-start
-+	.word	0
--- 
-1.7.9.5
-
diff --git a/meta/recipes-devtools/binutils/binutils/0055-Remove-ABI_64_P-check-on-R_X86_64_PCXX.patch b/meta/recipes-devtools/binutils/binutils/0055-Remove-ABI_64_P-check-on-R_X86_64_PCXX.patch
deleted file mode 100644
index 697d70e..0000000
--- a/meta/recipes-devtools/binutils/binutils/0055-Remove-ABI_64_P-check-on-R_X86_64_PCXX.patch
+++ /dev/null
@@ -1,176 +0,0 @@ 
-Upstream-Status: Backport
-
-From fee27086a7592c1812253e9c1c26f412dd87f3a2 Mon Sep 17 00:00:00 2001
-From: "H.J. Lu" <hjl.tools@gmail.com>
-Date: Tue, 10 Jan 2012 20:34:56 +0000
-Subject: [PATCH 055/262] Remove ABI_64_P check on R_X86_64_PCXX
-
-bfd/
-
-2012-01-10  H.J. Lu  <hongjiu.lu@intel.com>
-
-	PR ld/13581
-	* elf64-x86-64.c (elf_x86_64_relocate_section): Remove ABI_64_P
-	check on R_X86_64_PCXX.
-
-ld/testsuite/
-
-2012-01-10  H.J. Lu  <hongjiu.lu@intel.com>
-
-	PR ld/13581
-	* ld-x86-64/ilp32-4.s: New.
-	* ld-x86-64/ilp32-10.d: Likewise.
-	* ld-x86-64/ilp32-10.s: Likewise.
-
-	* ld-x86-64/ilp32-4.d: Adjusted.
-	* ld-x86-64/ilp32-5.d: Likewise.
-	* ld-x86-64/ilp32-5.s: Likewise.
-
-	* ld-x86-64/x86-64.exp: Run ilp32-10.
----
- bfd/ChangeLog                     |    7 +++++++
- bfd/elf64-x86-64.c                |    1 -
- ld/testsuite/ChangeLog            |   14 ++++++++++++++
- ld/testsuite/ld-x86-64/ilp32-10.d |    3 +++
- ld/testsuite/ld-x86-64/ilp32-10.s |    3 +++
- ld/testsuite/ld-x86-64/ilp32-4.d  |   32 +++++++++++++-------------------
- ld/testsuite/ld-x86-64/ilp32-4.s  |    3 +++
- ld/testsuite/ld-x86-64/ilp32-5.d  |    2 +-
- ld/testsuite/ld-x86-64/ilp32-5.s  |    2 +-
- ld/testsuite/ld-x86-64/x86-64.exp |    1 +
- 10 files changed, 46 insertions(+), 22 deletions(-)
- create mode 100644 ld/testsuite/ld-x86-64/ilp32-10.d
- create mode 100644 ld/testsuite/ld-x86-64/ilp32-10.s
- create mode 100644 ld/testsuite/ld-x86-64/ilp32-4.s
-
-diff --git a/bfd/elf64-x86-64.c b/bfd/elf64-x86-64.c
-index 3a2444b..bdb3ae6 100644
---- a/bfd/elf64-x86-64.c
-+++ b/bfd/elf64-x86-64.c
-@@ -3460,7 +3460,6 @@ elf_x86_64_relocate_section (bfd *output_bfd,
- 	case R_X86_64_PC16:
- 	case R_X86_64_PC32:
- 	  if (info->shared
--	      && ABI_64_P (output_bfd)
- 	      && (input_section->flags & SEC_ALLOC) != 0
- 	      && (input_section->flags & SEC_READONLY) != 0
- 	      && h != NULL)
-diff --git a/ld/testsuite/ld-x86-64/ilp32-10.d b/ld/testsuite/ld-x86-64/ilp32-10.d
-new file mode 100644
-index 0000000..43d9fbd
---- /dev/null
-+++ b/ld/testsuite/ld-x86-64/ilp32-10.d
-@@ -0,0 +1,3 @@
-+#as: --x32
-+#ld: -shared -melf32_x86_64
-+#error: .*relocation R_X86_64_PC32 against undefined symbol `bar' can not be used when making a shared object; recompile with -fPIC
-diff --git a/ld/testsuite/ld-x86-64/ilp32-10.s b/ld/testsuite/ld-x86-64/ilp32-10.s
-new file mode 100644
-index 0000000..70e4a90
---- /dev/null
-+++ b/ld/testsuite/ld-x86-64/ilp32-10.s
-@@ -0,0 +1,3 @@
-+	.globl foo
-+foo:
-+	mov bar(%rip), %rax
-diff --git a/ld/testsuite/ld-x86-64/ilp32-4.d b/ld/testsuite/ld-x86-64/ilp32-4.d
-index 84dc7b2..92d8a67 100644
---- a/ld/testsuite/ld-x86-64/ilp32-4.d
-+++ b/ld/testsuite/ld-x86-64/ilp32-4.d
-@@ -1,36 +1,30 @@
--#source: start.s
- #as: --x32
- #ld: -m elf32_x86_64 -shared --no-ld-generated-unwind-info
- #readelf: -d -S --wide
- 
--There are 10 section headers, starting at offset 0x22c:
-+There are 9 section headers, starting at offset 0x1d8:
- 
- Section Headers:
-   \[Nr\] Name              Type            Addr     Off    Size   ES Flg Lk Inf Al
-   \[ 0\]                   NULL            00000000 000000 000000 00      0   0  0
--  \[ 1\] .hash             HASH            00000094 000094 000030 04   A  2   0  4
--  \[ 2\] .dynsym           DYNSYM          000000c4 0000c4 000070 10   A  3   2  4
--  \[ 3\] .dynstr           STRTAB          00000134 000134 00001d 00   A  0   0  1
--  \[ 4\] .rela.dyn         RELA            00000154 000154 00000c 0c   A  2   0  4
--  \[ 5\] .text             PROGBITS        00000160 000160 000005 00  AX  0   0  4
--  \[ 6\] .dynamic          DYNAMIC         00200168 000168 000078 08  WA  3   0  4
--  \[ 7\] .shstrtab         STRTAB          00000000 0001e0 00004a 00      0   0  1
--  \[ 8\] .symtab           SYMTAB          00000000 0003bc 0000e0 10      9   9  4
--  \[ 9\] .strtab           STRTAB          00000000 00049c 000043 00      0   0  1
-+  \[ 1\] .hash             HASH            00000094 000094 00002c 04   A  2   0  4
-+  \[ 2\] .dynsym           DYNSYM          000000c0 0000c0 000060 10   A  3   2  4
-+  \[ 3\] .dynstr           STRTAB          00000120 000120 000019 00   A  0   0  1
-+  \[ 4\] .text             PROGBITS        0000013c 00013c 000001 00  AX  0   0  4
-+  \[ 5\] .dynamic          DYNAMIC         00200140 000140 000058 08  WA  3   0  4
-+  \[ 6\] .shstrtab         STRTAB          00000000 000198 000040 00      0   0  1
-+  \[ 7\] .symtab           SYMTAB          00000000 000340 0000c0 10      8   8  4
-+  \[ 8\] .strtab           STRTAB          00000000 000400 00003f 00      0   0  1
- Key to Flags:
-   W \(write\), A \(alloc\), X \(execute\), M \(merge\), S \(strings\), l \(large\)
-   I \(info\), L \(link order\), G \(group\), T \(TLS\), E \(exclude\), x \(unknown\)
-   O \(extra OS processing required\) o \(OS specific\), p \(processor specific\)
- 
--Dynamic section at offset 0x168 contains 10 entries:
-+Dynamic section at offset 0x140 contains 6 entries:
-   Tag        Type                         Name/Value
-  0x00000004 \(HASH\)                       0x94
-- 0x00000005 \(STRTAB\)                     0x134
-- 0x00000006 \(SYMTAB\)                     0xc4
-- 0x0000000a \(STRSZ\)                      29 \(bytes\)
-+ 0x00000005 \(STRTAB\)                     0x120
-+ 0x00000006 \(SYMTAB\)                     0xc0
-+ 0x0000000a \(STRSZ\)                      25 \(bytes\)
-  0x0000000b \(SYMENT\)                     16 \(bytes\)
-- 0x00000007 \(RELA\)                       0x154
-- 0x00000008 \(RELASZ\)                     12 \(bytes\)
-- 0x00000009 \(RELAENT\)                    12 \(bytes\)
-- 0x00000016 \(TEXTREL\)                    0x0
-  0x00000000 \(NULL\)                       0x0
-diff --git a/ld/testsuite/ld-x86-64/ilp32-4.s b/ld/testsuite/ld-x86-64/ilp32-4.s
-new file mode 100644
-index 0000000..5f270c7
---- /dev/null
-+++ b/ld/testsuite/ld-x86-64/ilp32-4.s
-@@ -0,0 +1,3 @@
-+	.globl _start
-+_start:
-+	ret
-diff --git a/ld/testsuite/ld-x86-64/ilp32-5.d b/ld/testsuite/ld-x86-64/ilp32-5.d
-index e4673e5..4870c2b 100644
---- a/ld/testsuite/ld-x86-64/ilp32-5.d
-+++ b/ld/testsuite/ld-x86-64/ilp32-5.d
-@@ -4,5 +4,5 @@
- 
- #...
- [0-9a-f]+ +[0-9a-f]+ +R_X86_64_RELATIVE +[0-9a-f]+
--[0-9a-f]+ +[0-9a-f]+ +R_X86_64_PC32 +[0-9a-f]+ +foo - 4
-+[0-9a-f]+ +[0-9a-f]+ +R_X86_64_GLOB_DAT +[0-9a-f]+ +foo \+ 0
- [0-9a-f]+ +[0-9a-f]+ +R_X86_64_32 +[0-9a-f]+ +foo \+ 0
-diff --git a/ld/testsuite/ld-x86-64/ilp32-5.s b/ld/testsuite/ld-x86-64/ilp32-5.s
-index 0d97807..ef0c60e 100644
---- a/ld/testsuite/ld-x86-64/ilp32-5.s
-+++ b/ld/testsuite/ld-x86-64/ilp32-5.s
-@@ -1,6 +1,6 @@
- 	.globl bar
- bar:
--	mov foo(%rip), %rax
-+	mov foo@GOTPCREL(%rip), %rax
- 
- 	.data
- xxx:
-diff --git a/ld/testsuite/ld-x86-64/x86-64.exp b/ld/testsuite/ld-x86-64/x86-64.exp
-index 77b081b..44d3e07 100644
---- a/ld/testsuite/ld-x86-64/x86-64.exp
-+++ b/ld/testsuite/ld-x86-64/x86-64.exp
-@@ -207,6 +207,7 @@ run_dump_test "ilp32-6"
- run_dump_test "ilp32-7"
- run_dump_test "ilp32-8"
- run_dump_test "ilp32-9"
-+run_dump_test "ilp32-10"
- run_dump_test "ia32-1"
- run_dump_test "ia32-2"
- run_dump_test "ia32-3"
--- 
-1.7.9.5
-
diff --git a/meta/recipes-devtools/binutils/binutils/0078-PR-binutils-13622.patch b/meta/recipes-devtools/binutils/binutils/0078-PR-binutils-13622.patch
deleted file mode 100644
index a28fc9d..0000000
--- a/meta/recipes-devtools/binutils/binutils/0078-PR-binutils-13622.patch
+++ /dev/null
@@ -1,48 +0,0 @@ 
-Upstream-Status: Backport
-
-From dcf0cb6bb406708020efe2db44f53af0fe822773 Mon Sep 17 00:00:00 2001
-From: Nick Clifton <nickc@redhat.com>
-Date: Mon, 30 Jan 2012 11:35:37 +0000
-Subject: [PATCH 078/262] 	PR binutils/13622 	* readelf.c
- (process_section_groups): If there are no section 
- headers do not scan for section groups. 
- (process_note_sections): Likewise for note
- sections.
-
----
- binutils/ChangeLog |    7 +++++++
- binutils/readelf.c |    5 +++--
- 2 files changed, 10 insertions(+), 2 deletions(-)
-
-2012-01-26  Nick Clifton  <nickc@redhat.com>
-
-	PR binutils/13622
-	* readelf.c (process_section_groups): If there are no section
-	headers do not scan for section groups.
-	(process_note_sections): Likewise for note sections.
-diff --git a/binutils/readelf.c b/binutils/readelf.c
-index 9e13190..bf053d9 100644
---- a/binutils/readelf.c
-+++ b/binutils/readelf.c
-@@ -4937,7 +4937,8 @@ process_section_groups (FILE * file)
-   if (section_headers == NULL)
-     {
-       error (_("Section headers are not available!\n"));
--      abort ();
-+      /* PR 13622: This can happen with a corrupt ELF header.  */
-+      return 0;
-     }
- 
-   section_headers_groups = (struct group **) calloc (elf_header.e_shnum,
-@@ -12942,7 +12943,7 @@ process_note_sections (FILE * file)
-   int res = 1;
- 
-   for (i = 0, section = section_headers;
--       i < elf_header.e_shnum;
-+       i < elf_header.e_shnum && section != NULL;
-        i++, section++)
-     if (section->sh_type == SHT_NOTE)
-       res &= process_corefile_note_segment (file,
--- 
-1.7.9.5
-
diff --git a/meta/recipes-devtools/binutils/binutils/0144-timer.cc-include-unistd.h.patch b/meta/recipes-devtools/binutils/binutils/0144-timer.cc-include-unistd.h.patch
deleted file mode 100644
index 271c513..0000000
--- a/meta/recipes-devtools/binutils/binutils/0144-timer.cc-include-unistd.h.patch
+++ /dev/null
@@ -1,32 +0,0 @@ 
-Upstream-Status: Backport
-
-From b7578c6b7bd966b63ab1b2682fd90ed4f3a92e71 Mon Sep 17 00:00:00 2001
-From: Ian Lance Taylor <ian@airs.com>
-Date: Fri, 6 Apr 2012 17:23:58 +0000
-Subject: [PATCH 144/262] 	* timer.cc: #include <unistd.h>.
-
----
- gold/ChangeLog |    4 ++++
- gold/timer.cc  |    2 ++
- 2 files changed, 6 insertions(+)
-
-2012-04-06  Ian Lance Taylor  <iant@google.com>
-
-	* timer.cc: #include <unistd.h>.
-
-diff --git a/gold/timer.cc b/gold/timer.cc
-index d9b8874..44e19f5 100644
---- a/gold/timer.cc
-+++ b/gold/timer.cc
-@@ -22,6 +22,8 @@
- 
- #include "gold.h"
- 
-+#include <unistd.h>
-+
- #ifdef HAVE_TIMES
- #include <sys/times.h>
- #endif
--- 
-1.7.9.5
-
diff --git a/meta/recipes-devtools/binutils/binutils/0166-2012-04-27-Doug-Kwan-dougkwan-google.com.patch b/meta/recipes-devtools/binutils/binutils/0166-2012-04-27-Doug-Kwan-dougkwan-google.com.patch
deleted file mode 100644
index bd1ff5b..0000000
--- a/meta/recipes-devtools/binutils/binutils/0166-2012-04-27-Doug-Kwan-dougkwan-google.com.patch
+++ /dev/null
@@ -1,169 +0,0 @@ 
-Upstream-Status: Backport
-
-From b6db4b7975d21ec53da5975ddac021098da13bf3 Mon Sep 17 00:00:00 2001
-From: Doug Kwan <dougkwan@google.com>
-Date: Thu, 26 Apr 2012 18:08:19 +0000
-Subject: [PATCH 166/262] 2012-04-27  Doug Kwan  <dougkwan@google.com>
-
-	Backport from mainline:
-
-	2012-03-16  Doug Kwan  <dougkwan@google.com>
-
-		* testsuite/Makefile.am: Disable test initpri3b.
-		* testsuite/Makefile.in: Regenerate.
-
-	2012-03-14  Doug Kwan  <dougkwan@google.com>
-
-		* gold/arm.cc (Target_arm::Scan::global): Generate
-		 R_ARM_GLOB_DAT dynamic relocations for protected symbols in
-		shared objects.
----
- gold/ChangeLog             |   15 +++++++++++++++
- gold/arm.cc                |    4 +++-
- gold/testsuite/Makefile.am |   15 ++++++++++-----
- gold/testsuite/Makefile.in |   32 +++++++++++++-------------------
- 4 files changed, 41 insertions(+), 25 deletions(-)
-
-diff --git a/gold/arm.cc b/gold/arm.cc
-index 72c3670..a1e8e4c 100644
---- a/gold/arm.cc
-+++ b/gold/arm.cc
-@@ -8374,7 +8374,9 @@ Target_arm<big_endian>::Scan::global(Symbol_table* symtab,
- 	    Reloc_section* rel_dyn = target->rel_dyn_section(layout);
- 	    if (gsym->is_from_dynobj()
- 		|| gsym->is_undefined()
--		|| gsym->is_preemptible())
-+		|| gsym->is_preemptible()
-+		|| (gsym->visibility() == elfcpp::STV_PROTECTED
-+		    && parameters->options().shared()))
- 	      got->add_global_with_rel(gsym, GOT_TYPE_STANDARD,
- 				       rel_dyn, elfcpp::R_ARM_GLOB_DAT);
- 	    else
-diff --git a/gold/testsuite/Makefile.am b/gold/testsuite/Makefile.am
-index 9b8605b..97d6457 100644
---- a/gold/testsuite/Makefile.am
-+++ b/gold/testsuite/Makefile.am
-@@ -870,11 +870,16 @@ initpri3a_DEPENDENCIES = gcctestdir/ld
- initpri3a_LDFLAGS = -Bgcctestdir/
- initpri3a_LDADD =
- 
--check_PROGRAMS += initpri3b
--initpri3b_SOURCES = initpri3.c
--initpri3b_DEPENDENCIES = gcctestdir/ld
--initpri3b_LDFLAGS = -Bgcctestdir/ -Wl,--no-ctors-in-init-array
--initpri3b_LDADD =
-+# This test fails on targets not using .ctors and .dtors sections (e.g. ARM
-+# EABI). Given that gcc is moving towards using .init_array in all cases,
-+# this test is commented out.  A better fix would be checking whether gcc
-+# uses .ctors or .init_array sections in configure.
-+
-+# check_PROGRAMS += initpri3b
-+# initpri3b_SOURCES = initpri3.c
-+# initpri3b_DEPENDENCIES = gcctestdir/ld
-+# initpri3b_LDFLAGS = -Bgcctestdir/ -Wl,--no-ctors-in-init-array
-+# initpri3b_LDADD =
- 
- # Test --detect-odr-violations
- check_SCRIPTS += debug_msg.sh
-diff --git a/gold/testsuite/Makefile.in b/gold/testsuite/Makefile.in
-index 785dcdd..518d32b 100644
---- a/gold/testsuite/Makefile.in
-+++ b/gold/testsuite/Makefile.in
-@@ -56,6 +56,17 @@ check_PROGRAMS = $(am__EXEEXT_1) $(am__EXEEXT_2) $(am__EXEEXT_3) \
- @NATIVE_OR_CROSS_LINKER_TRUE@am__append_1 = object_unittest \
- @NATIVE_OR_CROSS_LINKER_TRUE@	binary_unittest
- 
-+# This test fails on targets not using .ctors and .dtors sections (e.g. ARM
-+# EABI). Given that gcc is moving towards using .init_array in all cases,
-+# this test is commented out.  A better fix would be checking whether gcc
-+# uses .ctors or .init_array sections in configure.
-+
-+# check_PROGRAMS += initpri3b
-+# initpri3b_SOURCES = initpri3.c
-+# initpri3b_DEPENDENCIES = gcctestdir/ld
-+# initpri3b_LDFLAGS = -Bgcctestdir/ -Wl,--no-ctors-in-init-array
-+# initpri3b_LDADD =
-+
- # Test --detect-odr-violations
- 
- # Similar to --detect-odr-violations: check for undefined symbols in .so's
-@@ -189,7 +200,7 @@ check_PROGRAMS = $(am__EXEEXT_1) $(am__EXEEXT_2) $(am__EXEEXT_3) \
- # Test -o when emitting to a special file (such as something in /dev).
- @GCC_TRUE@@NATIVE_LINKER_TRUE@am__append_24 = many_sections_test \
- @GCC_TRUE@@NATIVE_LINKER_TRUE@	many_sections_r_test initpri1 \
--@GCC_TRUE@@NATIVE_LINKER_TRUE@	initpri2 initpri3a initpri3b \
-+@GCC_TRUE@@NATIVE_LINKER_TRUE@	initpri2 initpri3a \
- @GCC_TRUE@@NATIVE_LINKER_TRUE@	flagstest_o_specialfile
- @GCC_FALSE@many_sections_test_DEPENDENCIES =
- @NATIVE_LINKER_FALSE@many_sections_test_DEPENDENCIES =
-@@ -204,8 +215,6 @@ check_PROGRAMS = $(am__EXEEXT_1) $(am__EXEEXT_2) $(am__EXEEXT_3) \
- @NATIVE_LINKER_FALSE@initpri2_DEPENDENCIES =
- @GCC_FALSE@initpri3a_DEPENDENCIES =
- @NATIVE_LINKER_FALSE@initpri3a_DEPENDENCIES =
--@GCC_FALSE@initpri3b_DEPENDENCIES =
--@NATIVE_LINKER_FALSE@initpri3b_DEPENDENCIES =
- 
- # Check that --detect-odr-violations works with compressed debug sections.
- @GCC_TRUE@@HAVE_ZLIB_TRUE@@NATIVE_LINKER_TRUE@am__append_27 = debug_msg_cdebug.err
-@@ -712,7 +721,6 @@ libgoldtest_a_OBJECTS = $(am_libgoldtest_a_OBJECTS)
- @GCC_TRUE@@NATIVE_LINKER_TRUE@	initpri1$(EXEEXT) \
- @GCC_TRUE@@NATIVE_LINKER_TRUE@	initpri2$(EXEEXT) \
- @GCC_TRUE@@NATIVE_LINKER_TRUE@	initpri3a$(EXEEXT) \
--@GCC_TRUE@@NATIVE_LINKER_TRUE@	initpri3b$(EXEEXT) \
- @GCC_TRUE@@NATIVE_LINKER_TRUE@	flagstest_o_specialfile$(EXEEXT)
- @GCC_TRUE@@HAVE_ZLIB_TRUE@@NATIVE_LINKER_TRUE@am__EXEEXT_21 = flagstest_compress_debug_sections$(EXEEXT) \
- @GCC_TRUE@@HAVE_ZLIB_TRUE@@NATIVE_LINKER_TRUE@	flagstest_o_specialfile_and_compress_debug_sections$(EXEEXT)
-@@ -1200,11 +1208,6 @@ initpri2_LINK = $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(initpri2_LDFLAGS) \
- initpri3a_OBJECTS = $(am_initpri3a_OBJECTS)
- initpri3a_LINK = $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(initpri3a_LDFLAGS) \
- 	$(LDFLAGS) -o $@
--@GCC_TRUE@@NATIVE_LINKER_TRUE@am_initpri3b_OBJECTS =  \
--@GCC_TRUE@@NATIVE_LINKER_TRUE@	initpri3.$(OBJEXT)
--initpri3b_OBJECTS = $(am_initpri3b_OBJECTS)
--initpri3b_LINK = $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(initpri3b_LDFLAGS) \
--	$(LDFLAGS) -o $@
- @GCC_TRUE@@NATIVE_LINKER_TRUE@am_justsyms_OBJECTS =  \
- @GCC_TRUE@@NATIVE_LINKER_TRUE@	justsyms_1.$(OBJEXT)
- justsyms_OBJECTS = $(am_justsyms_OBJECTS)
-@@ -1698,7 +1701,7 @@ SOURCES = $(libgoldtest_a_SOURCES) basic_pic_test.c basic_pie_test.c \
- 	incremental_copy_test.c incremental_test_2.c \
- 	incremental_test_3.c incremental_test_4.c incremental_test_5.c \
- 	incremental_test_6.c $(initpri1_SOURCES) $(initpri2_SOURCES) \
--	$(initpri3a_SOURCES) $(initpri3b_SOURCES) $(justsyms_SOURCES) \
-+	$(initpri3a_SOURCES) $(justsyms_SOURCES) \
- 	$(justsyms_exec_SOURCES) $(large_SOURCES) local_labels_test.c \
- 	many_sections_r_test.c $(many_sections_test_SOURCES) \
- 	$(object_unittest_SOURCES) permission_test.c plugin_test_1.c \
-@@ -2281,10 +2284,6 @@ LDADD = libgoldtest.a ../libgold.a ../../libiberty/libiberty.a $(LIBINTL) \
- @GCC_TRUE@@NATIVE_LINKER_TRUE@initpri3a_DEPENDENCIES = gcctestdir/ld
- @GCC_TRUE@@NATIVE_LINKER_TRUE@initpri3a_LDFLAGS = -Bgcctestdir/
- @GCC_TRUE@@NATIVE_LINKER_TRUE@initpri3a_LDADD = 
--@GCC_TRUE@@NATIVE_LINKER_TRUE@initpri3b_SOURCES = initpri3.c
--@GCC_TRUE@@NATIVE_LINKER_TRUE@initpri3b_DEPENDENCIES = gcctestdir/ld
--@GCC_TRUE@@NATIVE_LINKER_TRUE@initpri3b_LDFLAGS = -Bgcctestdir/ -Wl,--no-ctors-in-init-array
--@GCC_TRUE@@NATIVE_LINKER_TRUE@initpri3b_LDADD = 
- @GCC_TRUE@@NATIVE_LINKER_TRUE@ver_test_SOURCES = ver_test_main.cc
- @GCC_TRUE@@NATIVE_LINKER_TRUE@ver_test_DEPENDENCIES = gcctestdir/ld ver_test_1.so ver_test_2.so ver_test_4.so
- @GCC_TRUE@@NATIVE_LINKER_TRUE@ver_test_LDFLAGS = -Bgcctestdir/ -Wl,-R,.
-@@ -2928,9 +2927,6 @@ initpri2$(EXEEXT): $(initpri2_OBJECTS) $(initpri2_DEPENDENCIES)
- initpri3a$(EXEEXT): $(initpri3a_OBJECTS) $(initpri3a_DEPENDENCIES) 
- 	@rm -f initpri3a$(EXEEXT)
- 	$(initpri3a_LINK) $(initpri3a_OBJECTS) $(initpri3a_LDADD) $(LIBS)
--initpri3b$(EXEEXT): $(initpri3b_OBJECTS) $(initpri3b_DEPENDENCIES) 
--	@rm -f initpri3b$(EXEEXT)
--	$(initpri3b_LINK) $(initpri3b_OBJECTS) $(initpri3b_LDADD) $(LIBS)
- justsyms$(EXEEXT): $(justsyms_OBJECTS) $(justsyms_DEPENDENCIES) 
- 	@rm -f justsyms$(EXEEXT)
- 	$(justsyms_LINK) $(justsyms_OBJECTS) $(justsyms_LDADD) $(LIBS)
-@@ -3869,8 +3865,6 @@ initpri2.log: initpri2$(EXEEXT)
- 	@p='initpri2$(EXEEXT)'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post)
- initpri3a.log: initpri3a$(EXEEXT)
- 	@p='initpri3a$(EXEEXT)'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post)
--initpri3b.log: initpri3b$(EXEEXT)
--	@p='initpri3b$(EXEEXT)'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post)
- flagstest_o_specialfile.log: flagstest_o_specialfile$(EXEEXT)
- 	@p='flagstest_o_specialfile$(EXEEXT)'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post)
- flagstest_compress_debug_sections.log: flagstest_compress_debug_sections$(EXEEXT)
--- 
-1.7.9.5
-
diff --git a/meta/recipes-devtools/binutils/binutils/0182-PR-ld-13991.patch b/meta/recipes-devtools/binutils/binutils/0182-PR-ld-13991.patch
deleted file mode 100644
index f4c9438..0000000
--- a/meta/recipes-devtools/binutils/binutils/0182-PR-ld-13991.patch
+++ /dev/null
@@ -1,1617 +0,0 @@ 
-Upstream-Status: Backport
-
-From e827844b6119ff7e0c2de167f2b261c6c06226c8 Mon Sep 17 00:00:00 2001
-From: Nick Clifton <nickc@redhat.com>
-Date: Fri, 11 May 2012 12:24:12 +0000
-Subject: [PATCH 182/262]     PR ld/13991     bfd/     * bfd/elf-bfd.h
- (_bfd_elf_link_just_syms): Define as    
- _bfd_generic_link_just_syms.     * bfd/elflink.c
- (_bfd_elf_link_just_syms): Delete.     *
- bfd/linker.c (_bfd_generic_link_just_syms): Set
- sec_info_type.
-
-    * bfd/bfd-in.h (discarded_section): Renamed from elf_discarded_section.
-    * bfd/section.c (SEC_INFO_TYPE_NONE, SEC_INFO_TYPE_STABS,
-    SEC_INFO_TYPE_MERGE, SEC_INFO_TYPE_EH_FRAME,
-    SEC_INFO_TYPE_JUST_SYMS): Renamed from corresponding ELF_INFO_TYPE.
-    * bfd/elf-eh-frame.c, * bfd/elf-m10200.c, * bfd/elf-m10300.c,
-    * bfd/elf.c, * bfd/elf32-arm.c, * bfd/elf32-avr.c, * bfd/elf32-bfin.c,
-    * bfd/elf32-cr16.c, * bfd/elf32-cr16c.c, * bfd/elf32-cris.c,
-    * bfd/elf32-crx.c, * bfd/elf32-d10v.c, * bfd/elf32-epiphany.c,
-    * bfd/elf32-fr30.c, * bfd/elf32-frv.c, * bfd/elf32-h8300.c,
-    * bfd/elf32-hppa.c, * bfd/elf32-i370.c, * bfd/elf32-i386.c,
-    * bfd/elf32-i860.c, * bfd/elf32-ip2k.c, * bfd/elf32-iq2000.c,
-    * bfd/elf32-lm32.c, * bfd/elf32-m32c.c, * bfd/elf32-m32r.c,
-    * bfd/elf32-m68hc1x.c, * bfd/elf32-m68k.c, * bfd/elf32-mcore.c,
-    * bfd/elf32-mep.c, * bfd/elf32-moxie.c, * bfd/elf32-msp430.c,
-    * bfd/elf32-mt.c, * bfd/elf32-openrisc.c, * bfd/elf32-ppc.c,
-    * bfd/elf32-rl78.c, * bfd/elf32-rx.c, * bfd/elf32-s390.c,
-    * bfd/elf32-score.c, * bfd/elf32-score7.c, * bfd/elf32-sh.c,
-    * bfd/elf32-spu.c, * bfd/elf32-tic6x.c, * bfd/elf32-tilepro.c,
-    * bfd/elf32-v850.c, * bfd/elf32-vax.c, * bfd/elf32-xc16x.c,
-    * bfd/elf32-xstormy16.c, * bfd/elf32-xtensa.c, * bfd/elf64-alpha.c,
-    * bfd/elf64-hppa.c, * bfd/elf64-ia64-vms.c, * bfd/elf64-mmix.c,
-    * bfd/elf64-ppc.c, * bfd/elf64-s390.c, * bfd/elf64-sh64.c,
-    * bfd/elf64-x86-64.c, * bfd/elflink.c, * bfd/elfnn-ia64.c,
-    * bfd/elfxx-mips.c, * bfd/elfxx-sparc.c, * bfd/elfxx-tilegx.c,
-    * bfd/reloc.c: Update all references.
-    * bfd/bfd-in2.h: Regenerate.
-    ld/
-    * ld/ldlang.c (size_input_section): Use sec_info_type rather than
-    usrdata->flags.just_syms.
-    * ld/ldwrite.c (build_link_order): Likewise.
-    * ld/emultempl/hppaelf.em (build_section_lists): Likewise.
-    * ld/emultempl/ppc64elf.em (build_toc_list): Likewise.
-    * ld/emultempl/armelf.em (build_section_lists): Likewise.
-    (after_allocation): Update for renamed sec_info_type value.
-    * ld/emultempl/tic6xdsbt.em: Likewise.
----
- bfd/ChangeLog             |   38 +++++++++++++++++++++++++++++++++
- bfd/bfd-in.h              |    6 +++---
- bfd/bfd-in2.h             |   16 +++++++-------
- bfd/elf-bfd.h             |    3 +--
- bfd/elf-eh-frame.c        |   10 ++++-----
- bfd/elf-m10200.c          |    2 +-
- bfd/elf-m10300.c          |    4 ++--
- bfd/elf.c                 |   10 ++++-----
- bfd/elf32-arm.c           |    6 +++---
- bfd/elf32-avr.c           |    2 +-
- bfd/elf32-bfin.c          |    6 +++---
- bfd/elf32-cr16.c          |    2 +-
- bfd/elf32-cr16c.c         |    2 +-
- bfd/elf32-cris.c          |    2 +-
- bfd/elf32-crx.c           |    2 +-
- bfd/elf32-d10v.c          |    2 +-
- bfd/elf32-fr30.c          |    2 +-
- bfd/elf32-frv.c           |    4 ++--
- bfd/elf32-h8300.c         |    2 +-
- bfd/elf32-hppa.c          |    2 +-
- bfd/elf32-i370.c          |    2 +-
- bfd/elf32-i386.c          |    4 ++--
- bfd/elf32-i860.c          |    2 +-
- bfd/elf32-ip2k.c          |    2 +-
- bfd/elf32-iq2000.c        |    2 +-
- bfd/elf32-lm32.c          |    6 +++---
- bfd/elf32-m32c.c          |    2 +-
- bfd/elf32-m32r.c          |    2 +-
- bfd/elf32-m68hc1x.c       |    2 +-
- bfd/elf32-m68k.c          |    2 +-
- bfd/elf32-mcore.c         |    2 +-
- bfd/elf32-mep.c           |    2 +-
- bfd/elf32-moxie.c         |    2 +-
- bfd/elf32-msp430.c        |    2 +-
- bfd/elf32-mt.c            |    2 +-
- bfd/elf32-openrisc.c      |    2 +-
- bfd/elf32-ppc.c           |    6 +++---
- bfd/elf32-rx.c            |    4 ++--
- bfd/elf32-s390.c          |    2 +-
- bfd/elf32-score.c         |    2 +-
- bfd/elf32-score7.c        |    2 +-
- bfd/elf32-sh.c            |    4 ++--
- bfd/elf32-spu.c           |    2 +-
- bfd/elf32-tic6x.c         |    2 +-
- bfd/elf32-tilepro.c       |    2 +-
- bfd/elf32-v850.c          |    2 +-
- bfd/elf32-vax.c           |    2 +-
- bfd/elf32-xc16x.c         |    2 +-
- bfd/elf32-xstormy16.c     |    2 +-
- bfd/elf32-xtensa.c        |    8 +++----
- bfd/elf64-alpha.c         |    8 +++----
- bfd/elf64-hppa.c          |    2 +-
- bfd/elf64-mmix.c          |    2 +-
- bfd/elf64-ppc.c           |   20 +++++++++---------
- bfd/elf64-s390.c          |    2 +-
- bfd/elf64-sh64.c          |    4 ++--
- bfd/elf64-x86-64.c        |    4 ++--
- bfd/elflink.c             |   51 ++++++++++++++++++---------------------------
- bfd/elfnn-ia64.c          |    6 +++---
- bfd/elfxx-mips.c          |    2 +-
- bfd/elfxx-sparc.c         |    2 +-
- bfd/elfxx-tilegx.c        |    2 +-
- bfd/linker.c              |    3 ++-
- bfd/reloc.c               |    2 +-
- bfd/section.c             |   10 ++++-----
- ld/ChangeLog              |   15 +++++++++++++
- ld/emultempl/armelf.em    |    4 ++--
- ld/emultempl/hppaelf.em   |    2 +-
- ld/emultempl/ppc64elf.em  |    4 ++--
- ld/emultempl/tic6xdsbt.em |    2 +-
- ld/ldlang.c               |    2 +-
- ld/ldwrite.c              |    4 ++--
- 72 files changed, 199 insertions(+), 157 deletions(-)
-
-diff --git a/bfd/bfd-in.h b/bfd/bfd-in.h
-index a477b49..7c5298a 100644
---- a/bfd/bfd-in.h
-+++ b/bfd/bfd-in.h
-@@ -295,11 +295,11 @@ typedef struct bfd_section *sec_ptr;
-     ? (sec)->rawsize : (sec)->size) / bfd_octets_per_byte (bfd))
- 
- /* Return TRUE if input section SEC has been discarded.  */
--#define elf_discarded_section(sec)				\
-+#define discarded_section(sec)					\
-   (!bfd_is_abs_section (sec)					\
-    && bfd_is_abs_section ((sec)->output_section)		\
--   && (sec)->sec_info_type != ELF_INFO_TYPE_MERGE		\
--   && (sec)->sec_info_type != ELF_INFO_TYPE_JUST_SYMS)
-+   && (sec)->sec_info_type != SEC_INFO_TYPE_MERGE		\
-+   && (sec)->sec_info_type != SEC_INFO_TYPE_JUST_SYMS)
- 
- /* Forward define.  */
- struct stat;
-diff --git a/bfd/bfd-in2.h b/bfd/bfd-in2.h
-index cd90740..34f9628 100644
---- a/bfd/bfd-in2.h
-+++ b/bfd/bfd-in2.h
-@@ -302,11 +302,11 @@ typedef struct bfd_section *sec_ptr;
-     ? (sec)->rawsize : (sec)->size) / bfd_octets_per_byte (bfd))
- 
- /* Return TRUE if input section SEC has been discarded.  */
--#define elf_discarded_section(sec)				\
-+#define discarded_section(sec)					\
-   (!bfd_is_abs_section (sec)					\
-    && bfd_is_abs_section ((sec)->output_section)		\
--   && (sec)->sec_info_type != ELF_INFO_TYPE_MERGE		\
--   && (sec)->sec_info_type != ELF_INFO_TYPE_JUST_SYMS)
-+   && (sec)->sec_info_type != SEC_INFO_TYPE_MERGE		\
-+   && (sec)->sec_info_type != SEC_INFO_TYPE_JUST_SYMS)
- 
- /* Forward define.  */
- struct stat;
-@@ -1384,11 +1384,11 @@ typedef struct bfd_section
- 
-   /* Type of sec_info information.  */
-   unsigned int sec_info_type:3;
--#define ELF_INFO_TYPE_NONE      0
--#define ELF_INFO_TYPE_STABS     1
--#define ELF_INFO_TYPE_MERGE     2
--#define ELF_INFO_TYPE_EH_FRAME  3
--#define ELF_INFO_TYPE_JUST_SYMS 4
-+#define SEC_INFO_TYPE_NONE      0
-+#define SEC_INFO_TYPE_STABS     1
-+#define SEC_INFO_TYPE_MERGE     2
-+#define SEC_INFO_TYPE_EH_FRAME  3
-+#define SEC_INFO_TYPE_JUST_SYMS 4
- 
-   /* Nonzero if this section uses RELA relocations, rather than REL.  */
-   unsigned int use_rela_p:1;
-diff --git a/bfd/elf-bfd.h b/bfd/elf-bfd.h
-index d6e2ab2..2cfe2ba 100644
---- a/bfd/elf-bfd.h
-+++ b/bfd/elf-bfd.h
-@@ -1807,8 +1807,7 @@ extern void bfd_elf_set_group_contents
-   (bfd *, asection *, void *);
- extern asection *_bfd_elf_check_kept_section
-   (asection *, struct bfd_link_info *);
--extern void _bfd_elf_link_just_syms
--  (asection *, struct bfd_link_info *);
-+#define _bfd_elf_link_just_syms _bfd_generic_link_just_syms
- extern void _bfd_elf_copy_link_hash_symbol_type
-   (bfd *, struct bfd_link_hash_entry *, struct bfd_link_hash_entry *);
- extern bfd_boolean _bfd_elf_size_group_sections
-diff --git a/bfd/elf-eh-frame.c b/bfd/elf-eh-frame.c
-index 54142b2..7b5cf7a 100644
---- a/bfd/elf-eh-frame.c
-+++ b/bfd/elf-eh-frame.c
-@@ -491,7 +491,7 @@ _bfd_elf_parse_eh_frame (bfd *abfd, struct bfd_link_info *info,
-     return;
- 
-   if (sec->size == 0
--      || sec->sec_info_type != ELF_INFO_TYPE_NONE)
-+      || sec->sec_info_type != SEC_INFO_TYPE_NONE)
-     {
-       /* This file does not contain .eh_frame information.  */
-       return;
-@@ -904,7 +904,7 @@ _bfd_elf_parse_eh_frame (bfd *abfd, struct bfd_link_info *info,
-   BFD_ASSERT (cie_count == num_cies);
- 
-   elf_section_data (sec)->sec_info = sec_info;
--  sec->sec_info_type = ELF_INFO_TYPE_EH_FRAME;
-+  sec->sec_info_type = SEC_INFO_TYPE_EH_FRAME;
-   if (hdr_info->merge_cies)
-     {
-       sec_info->cies = local_cies;
-@@ -1137,7 +1137,7 @@ _bfd_elf_discard_section_eh_frame
-   struct eh_frame_hdr_info *hdr_info;
-   unsigned int ptr_size, offset;
- 
--  if (sec->sec_info_type != ELF_INFO_TYPE_EH_FRAME)
-+  if (sec->sec_info_type != SEC_INFO_TYPE_EH_FRAME)
-     return FALSE;
- 
-   sec_info = (struct eh_frame_sec_info *) elf_section_data (sec)->sec_info;
-@@ -1307,7 +1307,7 @@ _bfd_elf_eh_frame_section_offset (bfd *output_bfd ATTRIBUTE_UNUSED,
-   struct eh_frame_sec_info *sec_info;
-   unsigned int lo, hi, mid;
- 
--  if (sec->sec_info_type != ELF_INFO_TYPE_EH_FRAME)
-+  if (sec->sec_info_type != SEC_INFO_TYPE_EH_FRAME)
-     return offset;
-   sec_info = (struct eh_frame_sec_info *) elf_section_data (sec)->sec_info;
- 
-@@ -1395,7 +1395,7 @@ _bfd_elf_write_section_eh_frame (bfd *abfd,
-   unsigned int ptr_size;
-   struct eh_cie_fde *ent;
- 
--  if (sec->sec_info_type != ELF_INFO_TYPE_EH_FRAME)
-+  if (sec->sec_info_type != SEC_INFO_TYPE_EH_FRAME)
-     /* FIXME: octets_per_byte.  */
-     return bfd_set_section_contents (abfd, sec->output_section, contents,
- 				     sec->output_offset, sec->size);
-diff --git a/bfd/elf-m10200.c b/bfd/elf-m10200.c
-index a38f4db..d58c75c 100644
---- a/bfd/elf-m10200.c
-+++ b/bfd/elf-m10200.c
-@@ -401,7 +401,7 @@ mn10200_elf_relocate_section (output_bfd, info, input_bfd, input_section,
- 				   unresolved_reloc, warned);
- 	}
- 
--      if (sec != NULL && elf_discarded_section (sec))
-+      if (sec != NULL && discarded_section (sec))
- 	RELOC_AGAINST_DISCARDED_SECTION (info, input_bfd, input_section,
- 					 rel, relend, howto, contents);
- 
-diff --git a/bfd/elf-m10300.c b/bfd/elf-m10300.c
-index 8276a2f..876ff4a 100644
---- a/bfd/elf-m10300.c
-+++ b/bfd/elf-m10300.c
-@@ -1509,7 +1509,7 @@ mn10300_elf_relocate_section (bfd *output_bfd,
- 	       h->root.root.root.string);
- 	}
- 
--      if (sec != NULL && elf_discarded_section (sec))
-+      if (sec != NULL && discarded_section (sec))
- 	RELOC_AGAINST_DISCARDED_SECTION (info, input_bfd, input_section,
- 					 rel, relend, howto, contents);
- 
-@@ -2763,7 +2763,7 @@ mn10300_elf_relax_section (bfd *abfd,
- 						      isym->st_name);
- 
- 	  if ((sym_sec->flags & SEC_MERGE)
--	      && sym_sec->sec_info_type == ELF_INFO_TYPE_MERGE)
-+	      && sym_sec->sec_info_type == SEC_INFO_TYPE_MERGE)
- 	    {
- 	      symval = isym->st_value;
- 
-diff --git a/bfd/elf.c b/bfd/elf.c
-index aa40c33..9e23bee 100644
---- a/bfd/elf.c
-+++ b/bfd/elf.c
-@@ -3071,7 +3071,7 @@ assign_section_numbers (bfd *abfd, struct bfd_link_info *link_info)
- 	      if (link_info != NULL)
- 		{
- 		  /* Check discarded linkonce section.  */
--		  if (elf_discarded_section (s))
-+		  if (discarded_section (s))
- 		    {
- 		      asection *kept;
- 		      (*_bfd_error_handler)
-@@ -9390,7 +9390,7 @@ _bfd_elf_rela_local_sym (bfd *abfd,
- 		+ sym->st_value);
-   if ((sec->flags & SEC_MERGE)
-       && ELF_ST_TYPE (sym->st_info) == STT_SECTION
--      && sec->sec_info_type == ELF_INFO_TYPE_MERGE)
-+      && sec->sec_info_type == SEC_INFO_TYPE_MERGE)
-     {
-       rel->r_addend =
- 	_bfd_merged_section_offset (abfd, psec,
-@@ -9421,7 +9421,7 @@ _bfd_elf_rel_local_sym (bfd *abfd,
- {
-   asection *sec = *psec;
- 
--  if (sec->sec_info_type != ELF_INFO_TYPE_MERGE)
-+  if (sec->sec_info_type != SEC_INFO_TYPE_MERGE)
-     return sym->st_value + addend;
- 
-   return _bfd_merged_section_offset (abfd, psec,
-@@ -9437,10 +9437,10 @@ _bfd_elf_section_offset (bfd *abfd,
- {
-   switch (sec->sec_info_type)
-     {
--    case ELF_INFO_TYPE_STABS:
-+    case SEC_INFO_TYPE_STABS:
-       return _bfd_stab_section_offset (sec, elf_section_data (sec)->sec_info,
- 				       offset);
--    case ELF_INFO_TYPE_EH_FRAME:
-+    case SEC_INFO_TYPE_EH_FRAME:
-       return _bfd_elf_eh_frame_section_offset (abfd, info, sec, offset);
-     default:
-       if ((sec->flags & SEC_ELF_REVERSE_COPY) != 0)
-diff --git a/bfd/elf32-arm.c b/bfd/elf32-arm.c
-index 1f6c1a0..9355f66 100644
---- a/bfd/elf32-arm.c
-+++ b/bfd/elf32-arm.c
-@@ -4485,7 +4485,7 @@ cortex_a8_erratum_scan (bfd *input_bfd,
-       if (elf_section_type (section) != SHT_PROGBITS
-           || (elf_section_flags (section) & SHF_EXECINSTR) == 0
-           || (section->flags & SEC_EXCLUDE) != 0
--          || (section->sec_info_type == ELF_INFO_TYPE_JUST_SYMS)
-+          || (section->sec_info_type == SEC_INFO_TYPE_JUST_SYMS)
-           || (section->output_section == bfd_abs_section_ptr))
-         continue;
- 
-@@ -6556,7 +6556,7 @@ bfd_elf32_arm_vfp11_erratum_scan (bfd *abfd, struct bfd_link_info *link_info)
-       if (elf_section_type (sec) != SHT_PROGBITS
-           || (elf_section_flags (sec) & SHF_EXECINSTR) == 0
-           || (sec->flags & SEC_EXCLUDE) != 0
--	  || sec->sec_info_type == ELF_INFO_TYPE_JUST_SYMS
-+	  || sec->sec_info_type == SEC_INFO_TYPE_JUST_SYMS
- 	  || sec->output_section == bfd_abs_section_ptr
-           || strcmp (sec->name, VFP11_ERRATUM_VENEER_SECTION_NAME) == 0)
-         continue;
-@@ -10305,7 +10305,7 @@ elf32_arm_relocate_section (bfd *                  output_bfd,
- 	  sym_type = h->type;
- 	}
- 
--      if (sec != NULL && elf_discarded_section (sec))
-+      if (sec != NULL && discarded_section (sec))
- 	RELOC_AGAINST_DISCARDED_SECTION (info, input_bfd, input_section,
- 					 rel, relend, howto, contents);
- 
-diff --git a/bfd/elf32-avr.c b/bfd/elf32-avr.c
-index a7f9217..97dc268 100644
---- a/bfd/elf32-avr.c
-+++ b/bfd/elf32-avr.c
-@@ -1189,7 +1189,7 @@ elf32_avr_relocate_section (bfd *output_bfd ATTRIBUTE_UNUSED,
- 	  name = h->root.root.string;
- 	}
- 
--      if (sec != NULL && elf_discarded_section (sec))
-+      if (sec != NULL && discarded_section (sec))
- 	RELOC_AGAINST_DISCARDED_SECTION (info, input_bfd, input_section,
- 					 rel, relend, howto, contents);
- 
-diff --git a/bfd/elf32-bfin.c b/bfd/elf32-bfin.c
-index b112dfc..4941f40 100644
---- a/bfd/elf32-bfin.c
-+++ b/bfd/elf32-bfin.c
-@@ -1444,7 +1444,7 @@ bfin_relocate_section (bfd * output_bfd,
- 				   unresolved_reloc, warned);
- 	}
- 
--      if (sec != NULL && elf_discarded_section (sec))
-+      if (sec != NULL && discarded_section (sec))
- 	RELOC_AGAINST_DISCARDED_SECTION (info, input_bfd, input_section,
- 					 rel, relend, howto, contents);
- 
-@@ -2663,7 +2663,7 @@ bfinfdpic_relocate_section (bfd * output_bfd,
- 	  osec = sec;
- 	}
- 
--      if (sec != NULL && elf_discarded_section (sec))
-+      if (sec != NULL && discarded_section (sec))
- 	RELOC_AGAINST_DISCARDED_SECTION (info, input_bfd, input_section,
- 					 rel, relend, howto, contents);
- 
-@@ -4429,7 +4429,7 @@ bfinfdpic_elf_discard_info (bfd *ibfd,
- 
-   /* Account for relaxation of .eh_frame section.  */
-   for (s = ibfd->sections; s; s = s->next)
--    if (s->sec_info_type == ELF_INFO_TYPE_EH_FRAME)
-+    if (s->sec_info_type == SEC_INFO_TYPE_EH_FRAME)
-       {
- 	if (!_bfinfdpic_check_discarded_relocs (ibfd, s, info, &changed))
- 	  return FALSE;
-diff --git a/bfd/elf32-cr16.c b/bfd/elf32-cr16.c
-index 0118131..38af05f 100644
---- a/bfd/elf32-cr16.c
-+++ b/bfd/elf32-cr16.c
-@@ -1431,7 +1431,7 @@ elf32_cr16_relocate_section (bfd *output_bfd, struct bfd_link_info *info,
-                                    unresolved_reloc, warned);
-         }
- 
--      if (sec != NULL && elf_discarded_section (sec))
-+      if (sec != NULL && discarded_section (sec))
- 	RELOC_AGAINST_DISCARDED_SECTION (info, input_bfd, input_section,
- 					 rel, relend, howto, contents);
- 
-diff --git a/bfd/elf32-cr16c.c b/bfd/elf32-cr16c.c
-index ca2d7cb..109936b 100644
---- a/bfd/elf32-cr16c.c
-+++ b/bfd/elf32-cr16c.c
-@@ -723,7 +723,7 @@ elf32_cr16c_relocate_section (bfd *output_bfd,
- 				   unresolved_reloc, warned);
- 	}
- 
--      if (sec != NULL && elf_discarded_section (sec))
-+      if (sec != NULL && discarded_section (sec))
- 	RELOC_AGAINST_DISCARDED_SECTION (info, input_bfd, input_section,
- 					 rel, relend, howto, contents);
- 
-diff --git a/bfd/elf32-cris.c b/bfd/elf32-cris.c
-index 310f6d1..ec23f03 100644
---- a/bfd/elf32-cris.c
-+++ b/bfd/elf32-cris.c
-@@ -1180,7 +1180,7 @@ cris_elf_relocate_section (bfd *output_bfd ATTRIBUTE_UNUSED,
- 	    }
- 	}
- 
--      if (sec != NULL && elf_discarded_section (sec))
-+      if (sec != NULL && discarded_section (sec))
- 	RELOC_AGAINST_DISCARDED_SECTION (info, input_bfd, input_section,
- 					 rel, relend, howto, contents);
- 
-diff --git a/bfd/elf32-crx.c b/bfd/elf32-crx.c
-index d48932d..fd13447 100644
---- a/bfd/elf32-crx.c
-+++ b/bfd/elf32-crx.c
-@@ -873,7 +873,7 @@ elf32_crx_relocate_section (bfd *output_bfd, struct bfd_link_info *info,
- 				   unresolved_reloc, warned);
- 	}
- 
--      if (sec != NULL && elf_discarded_section (sec))
-+      if (sec != NULL && discarded_section (sec))
- 	RELOC_AGAINST_DISCARDED_SECTION (info, input_bfd, input_section,
- 					 rel, relend, howto, contents);
- 
-diff --git a/bfd/elf32-d10v.c b/bfd/elf32-d10v.c
-index 7d65395..e39a9b5 100644
---- a/bfd/elf32-d10v.c
-+++ b/bfd/elf32-d10v.c
-@@ -463,7 +463,7 @@ elf32_d10v_relocate_section (bfd *output_bfd,
- 				   unresolved_reloc, warned);
- 	}
- 
--      if (sec != NULL && elf_discarded_section (sec))
-+      if (sec != NULL && discarded_section (sec))
- 	RELOC_AGAINST_DISCARDED_SECTION (info, input_bfd, input_section,
- 					 rel, relend, howto, contents);
- 
-diff --git a/bfd/elf32-fr30.c b/bfd/elf32-fr30.c
-index 97b0d29..57be6ae 100644
---- a/bfd/elf32-fr30.c
-+++ b/bfd/elf32-fr30.c
-@@ -577,7 +577,7 @@ fr30_elf_relocate_section (output_bfd, info, input_bfd, input_section,
- 	  name = h->root.root.string;
- 	}
- 
--      if (sec != NULL && elf_discarded_section (sec))
-+      if (sec != NULL && discarded_section (sec))
- 	RELOC_AGAINST_DISCARDED_SECTION (info, input_bfd, input_section,
- 					 rel, relend, howto, contents);
- 
-diff --git a/bfd/elf32-frv.c b/bfd/elf32-frv.c
-index 7f3c4dd..513f811 100644
---- a/bfd/elf32-frv.c
-+++ b/bfd/elf32-frv.c
-@@ -2812,7 +2812,7 @@ elf32_frv_relocate_section (output_bfd, info, input_bfd, input_section,
- 	  name = h->root.root.string;
- 	}
- 
--      if (sec != NULL && elf_discarded_section (sec))
-+      if (sec != NULL && discarded_section (sec))
- 	RELOC_AGAINST_DISCARDED_SECTION (info, input_bfd, input_section,
- 					 rel, relend, howto, contents);
- 
-@@ -5678,7 +5678,7 @@ frvfdpic_elf_discard_info (bfd *ibfd,
- 
-   /* Account for relaxation of .eh_frame section.  */
-   for (s = ibfd->sections; s; s = s->next)
--    if (s->sec_info_type == ELF_INFO_TYPE_EH_FRAME)
-+    if (s->sec_info_type == SEC_INFO_TYPE_EH_FRAME)
-       {
- 	if (!_frvfdpic_check_discarded_relocs (ibfd, s, info, &changed))
- 	  return FALSE;
-diff --git a/bfd/elf32-h8300.c b/bfd/elf32-h8300.c
-index 95d3983..ff1ee70 100644
---- a/bfd/elf32-h8300.c
-+++ b/bfd/elf32-h8300.c
-@@ -460,7 +460,7 @@ elf32_h8_relocate_section (bfd *output_bfd, struct bfd_link_info *info,
- 				   unresolved_reloc, warned);
- 	}
- 
--      if (sec != NULL && elf_discarded_section (sec))
-+      if (sec != NULL && discarded_section (sec))
- 	RELOC_AGAINST_DISCARDED_SECTION (info, input_bfd, input_section,
- 					 rel, relend, howto, contents);
- 
-diff --git a/bfd/elf32-hppa.c b/bfd/elf32-hppa.c
-index dcf6df0..044b6fa 100644
---- a/bfd/elf32-hppa.c
-+++ b/bfd/elf32-hppa.c
-@@ -3741,7 +3741,7 @@ elf32_hppa_relocate_section (bfd *output_bfd,
- 	  hh = hppa_elf_hash_entry (eh);
- 	}
- 
--      if (sym_sec != NULL && elf_discarded_section (sym_sec))
-+      if (sym_sec != NULL && discarded_section (sym_sec))
- 	RELOC_AGAINST_DISCARDED_SECTION (info, input_bfd, input_section,
- 					 rela, relend,
- 					 elf_hppa_howto_table + r_type,
-diff --git a/bfd/elf32-i370.c b/bfd/elf32-i370.c
-index 8082927..516511f 100644
---- a/bfd/elf32-i370.c
-+++ b/bfd/elf32-i370.c
-@@ -1138,7 +1138,7 @@ i370_elf_relocate_section (bfd *output_bfd,
- 	    }
- 	}
- 
--      if (sec != NULL && elf_discarded_section (sec))
-+      if (sec != NULL && discarded_section (sec))
- 	RELOC_AGAINST_DISCARDED_SECTION (info, input_bfd, input_section,
- 					 rel, relend, howto, contents);
- 
-diff --git a/bfd/elf32-i386.c b/bfd/elf32-i386.c
-index d518d01..b925ca6 100644
---- a/bfd/elf32-i386.c
-+++ b/bfd/elf32-i386.c
-@@ -3178,7 +3178,7 @@ elf_i386_relocate_section (bfd *output_bfd,
- 				   unresolved_reloc, warned);
- 	}
- 
--      if (sec != NULL && elf_discarded_section (sec))
-+      if (sec != NULL && discarded_section (sec))
- 	RELOC_AGAINST_DISCARDED_SECTION (info, input_bfd, input_section,
- 					 rel, relend, howto, contents);
- 
-@@ -4846,7 +4846,7 @@ elf_i386_finish_dynamic_sections (bfd *output_bfd,
- 			     + PLT_FDE_START_OFFSET);
- 	}
-       if (htab->plt_eh_frame->sec_info_type
--	  == ELF_INFO_TYPE_EH_FRAME)
-+	  == SEC_INFO_TYPE_EH_FRAME)
- 	{
- 	  if (! _bfd_elf_write_section_eh_frame (output_bfd, info,
- 						 htab->plt_eh_frame,
-diff --git a/bfd/elf32-i860.c b/bfd/elf32-i860.c
-index 00c8ca7..88f4265 100644
---- a/bfd/elf32-i860.c
-+++ b/bfd/elf32-i860.c
-@@ -1128,7 +1128,7 @@ elf32_i860_relocate_section (bfd *output_bfd ATTRIBUTE_UNUSED,
- 				   unresolved_reloc, warned);
- 	}
- 
--      if (sec != NULL && elf_discarded_section (sec))
-+      if (sec != NULL && discarded_section (sec))
- 	RELOC_AGAINST_DISCARDED_SECTION (info, input_bfd, input_section,
- 					 rel, relend, howto, contents);
- 
-diff --git a/bfd/elf32-ip2k.c b/bfd/elf32-ip2k.c
-index 0a251b8..43c7b1c 100644
---- a/bfd/elf32-ip2k.c
-+++ b/bfd/elf32-ip2k.c
-@@ -1436,7 +1436,7 @@ ip2k_elf_relocate_section (bfd *output_bfd ATTRIBUTE_UNUSED,
- 	  name = h->root.root.string;
- 	}
- 
--      if (sec != NULL && elf_discarded_section (sec))
-+      if (sec != NULL && discarded_section (sec))
- 	RELOC_AGAINST_DISCARDED_SECTION (info, input_bfd, input_section,
- 					 rel, relend, howto, contents);
- 
-diff --git a/bfd/elf32-iq2000.c b/bfd/elf32-iq2000.c
-index 63ef3dc..3954616 100644
---- a/bfd/elf32-iq2000.c
-+++ b/bfd/elf32-iq2000.c
-@@ -633,7 +633,7 @@ iq2000_elf_relocate_section (bfd *		     output_bfd ATTRIBUTE_UNUSED,
- 	  name = h->root.root.string;
- 	}
- 
--      if (sec != NULL && elf_discarded_section (sec))
-+      if (sec != NULL && discarded_section (sec))
- 	RELOC_AGAINST_DISCARDED_SECTION (info, input_bfd, input_section,
- 					 rel, relend, howto, contents);
- 
-diff --git a/bfd/elf32-lm32.c b/bfd/elf32-lm32.c
-index 07add20..a2b1003 100644
---- a/bfd/elf32-lm32.c
-+++ b/bfd/elf32-lm32.c
-@@ -893,7 +893,7 @@ lm32_elf_relocate_section (bfd *output_bfd,
- 	  name = h->root.root.string;
-         }
- 
--      if (sec != NULL && elf_discarded_section (sec))
-+      if (sec != NULL && discarded_section (sec))
- 	RELOC_AGAINST_DISCARDED_SECTION (info, input_bfd, input_section,
- 					 rel, relend, howto, contents);
- 
-@@ -2372,7 +2372,7 @@ lm32_elf_size_dynamic_sections (bfd *output_bfd,
-                           /* Don't generate entries for weak symbols.  */
-                           if (!h || (h && h->root.type != bfd_link_hash_undefweak))
-                             {
--                              if (!elf_discarded_section (s) && !((bfd_get_section_flags (ibfd, s) & SEC_ALLOC) == 0))
-+                              if (!discarded_section (s) && !((bfd_get_section_flags (ibfd, s) & SEC_ALLOC) == 0))
-                                 {
-                                   switch (ELF32_R_TYPE (internal_relocs->r_info))
-                                     {
-@@ -2394,7 +2394,7 @@ lm32_elf_size_dynamic_sections (bfd *output_bfd,
-                                   if (!strcmp (current->name, h->root.root.string))
-                                     break;
-                                 }
--                              if (!current && !elf_discarded_section (s) && (bfd_get_section_flags (ibfd, s) & SEC_ALLOC))
-+                              if (!current && !discarded_section (s) && (bfd_get_section_flags (ibfd, s) & SEC_ALLOC))
-                                 {
-                                   /* Will this have an entry in the GOT.  */
-                                   if (ELF32_R_TYPE (internal_relocs->r_info) == R_LM32_16_GOT)
-diff --git a/bfd/elf32-m32c.c b/bfd/elf32-m32c.c
-index cf7ad99..bcdb55d 100644
---- a/bfd/elf32-m32c.c
-+++ b/bfd/elf32-m32c.c
-@@ -434,7 +434,7 @@ m32c_elf_relocate_section
- 	    }
- 	}
- 
--      if (sec != NULL && elf_discarded_section (sec))
-+      if (sec != NULL && discarded_section (sec))
- 	RELOC_AGAINST_DISCARDED_SECTION (info, input_bfd, input_section,
- 					 rel, relend, howto, contents);
- 
-diff --git a/bfd/elf32-m32r.c b/bfd/elf32-m32r.c
-index 51ef61e..b151a8a 100644
---- a/bfd/elf32-m32r.c
-+++ b/bfd/elf32-m32r.c
-@@ -2616,7 +2616,7 @@ m32r_elf_relocate_section (bfd *output_bfd ATTRIBUTE_UNUSED,
- 	    }
- 	}
- 
--      if (sec != NULL && elf_discarded_section (sec))
-+      if (sec != NULL && discarded_section (sec))
- 	RELOC_AGAINST_DISCARDED_SECTION (info, input_bfd, input_section,
- 					 rel, relend, howto, contents);
- 
-diff --git a/bfd/elf32-m68hc1x.c b/bfd/elf32-m68hc1x.c
-index 961dce4..4b9a1c0 100644
---- a/bfd/elf32-m68hc1x.c
-+++ b/bfd/elf32-m68hc1x.c
-@@ -970,7 +970,7 @@ elf32_m68hc11_relocate_section (bfd *output_bfd ATTRIBUTE_UNUSED,
- 	  is_far = (h && (h->other & STO_M68HC12_FAR));
- 	}
- 
--      if (sec != NULL && elf_discarded_section (sec))
-+      if (sec != NULL && discarded_section (sec))
- 	RELOC_AGAINST_DISCARDED_SECTION (info, input_bfd, input_section,
- 					 rel, relend, howto, contents);
- 
-diff --git a/bfd/elf32-m68k.c b/bfd/elf32-m68k.c
-index 3e9ada9..518a41a 100644
---- a/bfd/elf32-m68k.c
-+++ b/bfd/elf32-m68k.c
-@@ -3717,7 +3717,7 @@ elf_m68k_relocate_section (output_bfd, info, input_bfd, input_section,
- 				   unresolved_reloc, warned);
- 	}
- 
--      if (sec != NULL && elf_discarded_section (sec))
-+      if (sec != NULL && discarded_section (sec))
- 	RELOC_AGAINST_DISCARDED_SECTION (info, input_bfd, input_section,
- 					 rel, relend, howto, contents);
- 
-diff --git a/bfd/elf32-mcore.c b/bfd/elf32-mcore.c
-index 31cc095..02aef53 100644
---- a/bfd/elf32-mcore.c
-+++ b/bfd/elf32-mcore.c
-@@ -466,7 +466,7 @@ mcore_elf_relocate_section (bfd * output_bfd,
- 				   unresolved_reloc, warned);
- 	}
- 
--      if (sec != NULL && elf_discarded_section (sec))
-+      if (sec != NULL && discarded_section (sec))
- 	RELOC_AGAINST_DISCARDED_SECTION (info, input_bfd, input_section,
- 					 rel, relend, howto, contents);
- 
-diff --git a/bfd/elf32-mep.c b/bfd/elf32-mep.c
-index 6fecb25..e5104b3 100644
---- a/bfd/elf32-mep.c
-+++ b/bfd/elf32-mep.c
-@@ -500,7 +500,7 @@ mep_elf_relocate_section
- 	  name = h->root.root.string;
- 	}
- 
--      if (sec != NULL && elf_discarded_section (sec))
-+      if (sec != NULL && discarded_section (sec))
- 	RELOC_AGAINST_DISCARDED_SECTION (info, input_bfd, input_section,
- 					 rel, relend, howto, contents);
- 
-diff --git a/bfd/elf32-moxie.c b/bfd/elf32-moxie.c
-index 8463599..c340826 100644
---- a/bfd/elf32-moxie.c
-+++ b/bfd/elf32-moxie.c
-@@ -250,7 +250,7 @@ moxie_elf_relocate_section (bfd *output_bfd,
- 	  name = h->root.root.string;
- 	}
- 
--      if (sec != NULL && elf_discarded_section (sec))
-+      if (sec != NULL && discarded_section (sec))
- 	RELOC_AGAINST_DISCARDED_SECTION (info, input_bfd, input_section,
- 					 rel, relend, howto, contents);
- 
-diff --git a/bfd/elf32-msp430.c b/bfd/elf32-msp430.c
-index 9a5fb2a..2fa70d9 100644
---- a/bfd/elf32-msp430.c
-+++ b/bfd/elf32-msp430.c
-@@ -454,7 +454,7 @@ elf32_msp430_relocate_section (bfd * output_bfd ATTRIBUTE_UNUSED,
- 				   unresolved_reloc, warned);
- 	}
- 
--      if (sec != NULL && elf_discarded_section (sec))
-+      if (sec != NULL && discarded_section (sec))
- 	RELOC_AGAINST_DISCARDED_SECTION (info, input_bfd, input_section,
- 					 rel, relend, howto, contents);
- 
-diff --git a/bfd/elf32-mt.c b/bfd/elf32-mt.c
-index 1be5d00..b87995e 100644
---- a/bfd/elf32-mt.c
-+++ b/bfd/elf32-mt.c
-@@ -354,7 +354,7 @@ mt_elf_relocate_section
- 	  name = h->root.root.string;
- 	}
- 
--      if (sec != NULL && elf_discarded_section (sec))
-+      if (sec != NULL && discarded_section (sec))
- 	RELOC_AGAINST_DISCARDED_SECTION (info, input_bfd, input_section,
- 					 rel, relend, howto, contents);
- 
-diff --git a/bfd/elf32-openrisc.c b/bfd/elf32-openrisc.c
-index ada738e..e441f4d 100644
---- a/bfd/elf32-openrisc.c
-+++ b/bfd/elf32-openrisc.c
-@@ -373,7 +373,7 @@ openrisc_elf_relocate_section (bfd *output_bfd,
- 				   unresolved_reloc, warned);
- 	}
- 
--      if (sec != NULL && elf_discarded_section (sec))
-+      if (sec != NULL && discarded_section (sec))
- 	RELOC_AGAINST_DISCARDED_SECTION (info, input_bfd, input_section,
- 					 rel, relend, howto, contents);
- 
-diff --git a/bfd/elf32-ppc.c b/bfd/elf32-ppc.c
-index 574cd98..d3925af 100644
---- a/bfd/elf32-ppc.c
-+++ b/bfd/elf32-ppc.c
-@@ -6231,7 +6231,7 @@ ppc_elf_relax_section (bfd *abfd,
- 	 attribute for a code section, and we are only looking at
- 	 branches.  However, implement it correctly here as a
- 	 reference for other target relax_section functions.  */
--      if (0 && tsec->sec_info_type == ELF_INFO_TYPE_MERGE)
-+      if (0 && tsec->sec_info_type == SEC_INFO_TYPE_MERGE)
- 	{
- 	  /* At this stage in linking, no SEC_MERGE symbol has been
- 	     adjusted, so all references to such symbols need to be
-@@ -6886,7 +6886,7 @@ ppc_elf_relocate_section (bfd *output_bfd,
- 	  sym_name = h->root.root.string;
- 	}
- 
--      if (sec != NULL && elf_discarded_section (sec))
-+      if (sec != NULL && discarded_section (sec))
- 	{
- 	  /* For relocs against symbols from removed linkonce sections,
- 	     or sections discarded by a linker script, we just want the
-@@ -9054,7 +9054,7 @@ ppc_elf_finish_dynamic_sections (bfd *output_bfd,
-       BFD_ASSERT ((bfd_vma) ((p + 3 - htab->glink_eh_frame->contents) & -4)
- 		  == htab->glink_eh_frame->size);
- 
--      if (htab->glink_eh_frame->sec_info_type == ELF_INFO_TYPE_EH_FRAME
-+      if (htab->glink_eh_frame->sec_info_type == SEC_INFO_TYPE_EH_FRAME
- 	  && !_bfd_elf_write_section_eh_frame (output_bfd, info,
- 					       htab->glink_eh_frame,
- 					       htab->glink_eh_frame->contents))
-diff --git a/bfd/elf32-rx.c b/bfd/elf32-rx.c
-index f049f6e..32820b4 100644
---- a/bfd/elf32-rx.c
-+++ b/bfd/elf32-rx.c
-@@ -510,7 +510,7 @@ rx_elf_relocate_section
- 	  name = h->root.root.string;
- 	}
- 
--      if (sec != NULL && elf_discarded_section (sec))
-+      if (sec != NULL && discarded_section (sec))
- 	RELOC_AGAINST_DISCARDED_SECTION (info, input_bfd, input_section,
- 					 rel, relend, howto, contents);
- 
-@@ -1588,7 +1588,7 @@ rx_offset_for_reloc (bfd *                    abfd,
- 	  if (ssec)
- 	    {
- 	      if ((ssec->flags & SEC_MERGE)
--		  && ssec->sec_info_type == ELF_INFO_TYPE_MERGE)
-+		  && ssec->sec_info_type == SEC_INFO_TYPE_MERGE)
- 		symval = _bfd_merged_section_offset (abfd, & ssec,
- 						     elf_section_data (ssec)->sec_info,
- 						     symval);
-diff --git a/bfd/elf32-s390.c b/bfd/elf32-s390.c
-index 98437d0..11fb072 100644
---- a/bfd/elf32-s390.c
-+++ b/bfd/elf32-s390.c
-@@ -2282,7 +2282,7 @@ elf_s390_relocate_section (output_bfd, info, input_bfd, input_section,
- 				   unresolved_reloc, warned);
- 	}
- 
--      if (sec != NULL && elf_discarded_section (sec))
-+      if (sec != NULL && discarded_section (sec))
- 	RELOC_AGAINST_DISCARDED_SECTION (info, input_bfd, input_section,
- 					 rel, relend, howto, contents);
- 
-diff --git a/bfd/elf32-score.c b/bfd/elf32-score.c
-index b437624..ef849aa 100644
---- a/bfd/elf32-score.c
-+++ b/bfd/elf32-score.c
-@@ -2672,7 +2672,7 @@ s3_bfd_score_elf_relocate_section (bfd *output_bfd,
-             }
-         }
- 
--      if (sec != NULL && elf_discarded_section (sec))
-+      if (sec != NULL && discarded_section (sec))
- 	RELOC_AGAINST_DISCARDED_SECTION (info, input_bfd, input_section,
- 					 rel, relend, howto, contents);
- 
-diff --git a/bfd/elf32-score7.c b/bfd/elf32-score7.c
-index 3e98bfc..3d228f3 100644
---- a/bfd/elf32-score7.c
-+++ b/bfd/elf32-score7.c
-@@ -2443,7 +2443,7 @@ s7_bfd_score_elf_relocate_section (bfd *output_bfd,
-             }
-         }
- 
--      if (sec != NULL && elf_discarded_section (sec))
-+      if (sec != NULL && discarded_section (sec))
- 	RELOC_AGAINST_DISCARDED_SECTION (info, input_bfd, input_section,
- 					 rel, relend, howto, contents);
- 
-diff --git a/bfd/elf32-sh.c b/bfd/elf32-sh.c
-index ca2c4af..e56c3b5 100644
---- a/bfd/elf32-sh.c
-+++ b/bfd/elf32-sh.c
-@@ -4048,7 +4048,7 @@ sh_elf_relocate_section (bfd *output_bfd, struct bfd_link_info *info,
- 	      _("Unexpected STO_SH5_ISA32 on local symbol is not handled"),
- 	      input_bfd, input_section, rel->r_offset));
- 
--	  if (sec != NULL && elf_discarded_section (sec))
-+	  if (sec != NULL && discarded_section (sec))
- 	    /* Handled below.  */
- 	    ;
- 	  else if (info->relocatable)
-@@ -4236,7 +4236,7 @@ sh_elf_relocate_section (bfd *output_bfd, struct bfd_link_info *info,
- 	    }
- 	}
- 
--      if (sec != NULL && elf_discarded_section (sec))
-+      if (sec != NULL && discarded_section (sec))
- 	RELOC_AGAINST_DISCARDED_SECTION (info, input_bfd, input_section,
- 					 rel, relend, howto, contents);
- 
-diff --git a/bfd/elf32-spu.c b/bfd/elf32-spu.c
-index ae3ed10..40a9da2 100644
---- a/bfd/elf32-spu.c
-+++ b/bfd/elf32-spu.c
-@@ -4895,7 +4895,7 @@ spu_elf_relocate_section (bfd *output_bfd,
- 	  sym_name = h->root.root.string;
- 	}
- 
--      if (sec != NULL && elf_discarded_section (sec))
-+      if (sec != NULL && discarded_section (sec))
- 	RELOC_AGAINST_DISCARDED_SECTION (info, input_bfd, input_section,
- 					 rel, relend, howto, contents);
- 
-diff --git a/bfd/elf32-tic6x.c b/bfd/elf32-tic6x.c
-index 44042eb..a879d3c 100644
---- a/bfd/elf32-tic6x.c
-+++ b/bfd/elf32-tic6x.c
-@@ -2334,7 +2334,7 @@ elf32_tic6x_relocate_section (bfd *output_bfd,
- 				   unresolved_reloc, warned);
- 	}
- 
--      if (sec != NULL && elf_discarded_section (sec))
-+      if (sec != NULL && discarded_section (sec))
- 	RELOC_AGAINST_DISCARDED_SECTION (info, input_bfd, input_section,
- 					 rel, relend, howto, contents);
- 
-diff --git a/bfd/elf32-tilepro.c b/bfd/elf32-tilepro.c
-index f2aed9c..a4e565d 100644
---- a/bfd/elf32-tilepro.c
-+++ b/bfd/elf32-tilepro.c
-@@ -2594,7 +2594,7 @@ tilepro_elf_relocate_section (bfd *output_bfd, struct bfd_link_info *info,
- 	    }
- 	}
- 
--      if (sec != NULL && elf_discarded_section (sec))
-+      if (sec != NULL && discarded_section (sec))
- 	RELOC_AGAINST_DISCARDED_SECTION (info, input_bfd, input_section,
- 					 rel, relend, howto, contents);
- 
-diff --git a/bfd/elf32-v850.c b/bfd/elf32-v850.c
-index 9e6f77d..0fbe080 100644
---- a/bfd/elf32-v850.c
-+++ b/bfd/elf32-v850.c
-@@ -2093,7 +2093,7 @@ v850_elf_relocate_section (bfd *output_bfd,
- 				   unresolved_reloc, warned);
- 	}
- 
--      if (sec != NULL && elf_discarded_section (sec))
-+      if (sec != NULL && discarded_section (sec))
- 	RELOC_AGAINST_DISCARDED_SECTION (info, input_bfd, input_section,
- 					 rel, relend, howto, contents);
- 
-diff --git a/bfd/elf32-vax.c b/bfd/elf32-vax.c
-index 643381c..fc3cb7c 100644
---- a/bfd/elf32-vax.c
-+++ b/bfd/elf32-vax.c
-@@ -1450,7 +1450,7 @@ elf_vax_relocate_section (bfd *output_bfd,
- 	    relocation = 0;
- 	}
- 
--      if (sec != NULL && elf_discarded_section (sec))
-+      if (sec != NULL && discarded_section (sec))
- 	RELOC_AGAINST_DISCARDED_SECTION (info, input_bfd, input_section,
- 					 rel, relend, howto, contents);
- 
-diff --git a/bfd/elf32-xc16x.c b/bfd/elf32-xc16x.c
-index 11d9840..00c7841 100644
---- a/bfd/elf32-xc16x.c
-+++ b/bfd/elf32-xc16x.c
-@@ -381,7 +381,7 @@ elf32_xc16x_relocate_section (bfd *output_bfd,
- 				   unresolved_reloc, warned);
- 	}
- 
--      if (sec != NULL && elf_discarded_section (sec))
-+      if (sec != NULL && discarded_section (sec))
- 	{
- 	  /* For relocs against symbols from removed linkonce sections,
- 	     or sections discarded by a linker script, we just want the
-diff --git a/bfd/elf32-xstormy16.c b/bfd/elf32-xstormy16.c
-index 6141783..86e1d5b 100644
---- a/bfd/elf32-xstormy16.c
-+++ b/bfd/elf32-xstormy16.c
-@@ -825,7 +825,7 @@ xstormy16_elf_relocate_section (bfd *                   output_bfd ATTRIBUTE_UNU
- 				   unresolved_reloc, warned);
- 	}
- 
--      if (sec != NULL && elf_discarded_section (sec))
-+      if (sec != NULL && discarded_section (sec))
- 	RELOC_AGAINST_DISCARDED_SECTION (info, input_bfd, input_section,
- 					 rel, relend, howto, contents);
- 
-diff --git a/bfd/elf32-xtensa.c b/bfd/elf32-xtensa.c
-index c6e4fb4..5a51eae 100644
---- a/bfd/elf32-xtensa.c
-+++ b/bfd/elf32-xtensa.c
-@@ -1712,7 +1712,7 @@ elf_xtensa_size_dynamic_sections (bfd *output_bfd ATTRIBUTE_UNUSED,
- 	    continue;
- 	  for (s = abfd->sections; s != NULL; s = s->next)
- 	    {
--	      if (! elf_discarded_section (s)
-+	      if (! discarded_section (s)
- 		  && xtensa_is_littable_section (s)
- 		  && s != spltlittbl)
- 		sgotloc->size += s->size;
-@@ -2656,7 +2656,7 @@ elf_xtensa_relocate_section (bfd *output_bfd,
- 	  sym_type = h->type;
- 	}
- 
--      if (sec != NULL && elf_discarded_section (sec))
-+      if (sec != NULL && discarded_section (sec))
- 	RELOC_AGAINST_DISCARDED_SECTION (info, input_bfd, input_section,
- 					 rel, relend, howto, contents);
- 
-@@ -8960,9 +8960,9 @@ relax_section (bfd *abfd, asection *sec, struct bfd_link_info *link_info)
- 	     that here and adjust things accordingly.  */
- 	  if (! elf_xtensa_ignore_discarded_relocs (sec)
- 	      && elf_xtensa_action_discarded (sec) == PRETEND
--	      && sec->sec_info_type != ELF_INFO_TYPE_STABS
-+	      && sec->sec_info_type != SEC_INFO_TYPE_STABS
- 	      && target_sec != NULL
--	      && elf_discarded_section (target_sec))
-+	      && discarded_section (target_sec))
- 	    {
- 	      /* It would be natural to call _bfd_elf_check_kept_section
- 		 here, but it's not exported from elflink.c.  It's also a
-diff --git a/bfd/elf64-alpha.c b/bfd/elf64-alpha.c
-index 6076709..ddb1cd7 100644
---- a/bfd/elf64-alpha.c
-+++ b/bfd/elf64-alpha.c
-@@ -4106,7 +4106,7 @@ elf64_alpha_relocate_section_r (bfd *output_bfd ATTRIBUTE_UNUSED,
- 	  sec = h->root.u.def.section;
- 	}
- 
--      if (sec != NULL && elf_discarded_section (sec))
-+      if (sec != NULL && discarded_section (sec))
- 	RELOC_AGAINST_DISCARDED_SECTION (info, input_bfd, input_section,
- 					 rel, relend,
- 					 elf64_alpha_howto_table + r_type,
-@@ -4263,7 +4263,7 @@ elf64_alpha_relocate_section (bfd *output_bfd, struct bfd_link_info *info,
- 	     unless it has been done already.  */
- 	  if ((sec->flags & SEC_MERGE)
- 	      && ELF_ST_TYPE (sym->st_info) == STT_SECTION
--	      && sec->sec_info_type == ELF_INFO_TYPE_MERGE
-+	      && sec->sec_info_type == SEC_INFO_TYPE_MERGE
- 	      && gotent
- 	      && !gotent->reloc_xlated)
- 	    {
-@@ -4315,7 +4315,7 @@ elf64_alpha_relocate_section (bfd *output_bfd, struct bfd_link_info *info,
- 	  gotent = h->got_entries;
- 	}
- 
--      if (sec != NULL && elf_discarded_section (sec))
-+      if (sec != NULL && discarded_section (sec))
- 	RELOC_AGAINST_DISCARDED_SECTION (info, input_bfd, input_section,
- 					 rel, relend, howto, contents);
- 
-@@ -4717,7 +4717,7 @@ elf64_alpha_relocate_section (bfd *output_bfd, struct bfd_link_info *info,
- 
- 	    if (r_symndx < symtab_hdr->sh_info
- 		&& sec != NULL && howto->pc_relative
--		&& elf_discarded_section (sec))
-+		&& discarded_section (sec))
- 	      break;
- 
- 	    if (h != NULL)
-diff --git a/bfd/elf64-hppa.c b/bfd/elf64-hppa.c
-index 057a92d..9d2dfcf 100644
---- a/bfd/elf64-hppa.c
-+++ b/bfd/elf64-hppa.c
-@@ -3919,7 +3919,7 @@ elf64_hppa_relocate_section (bfd *output_bfd,
-             }
- 	}
- 
--      if (sym_sec != NULL && elf_discarded_section (sym_sec))
-+      if (sym_sec != NULL && discarded_section (sym_sec))
- 	RELOC_AGAINST_DISCARDED_SECTION (info, input_bfd, input_section,
- 					 rel, relend, howto, contents);
- 
-diff --git a/bfd/elf64-mmix.c b/bfd/elf64-mmix.c
-index ecc9ad0..9cc407f 100644
---- a/bfd/elf64-mmix.c
-+++ b/bfd/elf64-mmix.c
-@@ -1475,7 +1475,7 @@ mmix_elf_relocate_section (output_bfd, info, input_bfd, input_section,
- 	  name = h->root.root.string;
- 	}
- 
--      if (sec != NULL && elf_discarded_section (sec))
-+      if (sec != NULL && discarded_section (sec))
- 	RELOC_AGAINST_DISCARDED_SECTION (info, input_bfd, input_section,
- 					 rel, relend, howto, contents);
- 
-diff --git a/bfd/elf64-ppc.c b/bfd/elf64-ppc.c
-index 32a3430..52e9ce9 100644
---- a/bfd/elf64-ppc.c
-+++ b/bfd/elf64-ppc.c
-@@ -6852,7 +6852,7 @@ adjust_opd_syms (struct elf_link_hash_entry *h, void *inf ATTRIBUTE_UNUSED)
- 	  if (dsec == NULL)
- 	    {
- 	      for (dsec = sym_sec->owner->sections; dsec; dsec = dsec->next)
--		if (elf_discarded_section (dsec))
-+		if (discarded_section (dsec))
- 		  {
- 		    ppc64_elf_tdata (sym_sec->owner)->deleted_section = dsec;
- 		    break;
-@@ -7033,7 +7033,7 @@ ppc64_elf_edit_opd (struct bfd_link_info *info, bfd_boolean non_overlapping)
-       if (sec == NULL || sec->size == 0)
- 	continue;
- 
--      if (sec->sec_info_type == ELF_INFO_TYPE_JUST_SYMS)
-+      if (sec->sec_info_type == SEC_INFO_TYPE_JUST_SYMS)
- 	continue;
- 
-       if (sec->output_section == bfd_abs_section_ptr)
-@@ -8077,8 +8077,8 @@ ppc64_elf_edit_toc (struct bfd_link_info *info)
-       toc = bfd_get_section_by_name (ibfd, ".toc");
-       if (toc == NULL
- 	  || toc->size == 0
--	  || toc->sec_info_type == ELF_INFO_TYPE_JUST_SYMS
--	  || elf_discarded_section (toc))
-+	  || toc->sec_info_type == SEC_INFO_TYPE_JUST_SYMS
-+	  || discarded_section (toc))
- 	continue;
- 
-       toc_relocs = NULL;
-@@ -8091,7 +8091,7 @@ ppc64_elf_edit_toc (struct bfd_link_info *info)
-       for (sec = ibfd->sections; sec != NULL; sec = sec->next)
- 	{
- 	  if (sec->reloc_count == 0
--	      || !elf_discarded_section (sec)
-+	      || !discarded_section (sec)
- 	      || get_opd_info (sec)
- 	      || (sec->flags & SEC_ALLOC) == 0
- 	      || (sec->flags & SEC_DEBUGGING) != 0)
-@@ -8201,7 +8201,7 @@ ppc64_elf_edit_toc (struct bfd_link_info *info)
- 		goto error_ret;
- 
- 	      if (sym_sec == NULL
--		  || elf_discarded_section (sym_sec))
-+		  || discarded_section (sym_sec))
- 		continue;
- 
- 	      if (!SYMBOL_CALLS_LOCAL (info, h))
-@@ -8281,7 +8281,7 @@ ppc64_elf_edit_toc (struct bfd_link_info *info)
- 	  int repeat;
- 
- 	  if (sec->reloc_count == 0
--	      || elf_discarded_section (sec)
-+	      || discarded_section (sec)
- 	      || get_opd_info (sec)
- 	      || (sec->flags & SEC_ALLOC) == 0
- 	      || (sec->flags & SEC_DEBUGGING) != 0)
-@@ -8503,7 +8503,7 @@ ppc64_elf_edit_toc (struct bfd_link_info *info)
- 	  for (sec = ibfd->sections; sec != NULL; sec = sec->next)
- 	    {
- 	      if (sec->reloc_count == 0
--		  || elf_discarded_section (sec))
-+		  || discarded_section (sec))
- 		continue;
- 
- 	      relstart = _bfd_elf_link_read_relocs (ibfd, sec, NULL, NULL,
-@@ -12036,7 +12036,7 @@ ppc64_elf_relocate_section (bfd *output_bfd,
- 	}
-       h = (struct ppc_link_hash_entry *) h_elf;
- 
--      if (sec != NULL && elf_discarded_section (sec))
-+      if (sec != NULL && discarded_section (sec))
- 	RELOC_AGAINST_DISCARDED_SECTION (info, input_bfd, input_section,
- 					 rel, relend,
- 					 ppc64_elf_howto_table[r_type],
-@@ -13865,7 +13865,7 @@ ppc64_elf_finish_dynamic_sections (bfd *output_bfd,
- 
- 
-   if (htab->glink_eh_frame != NULL
--      && htab->glink_eh_frame->sec_info_type == ELF_INFO_TYPE_EH_FRAME
-+      && htab->glink_eh_frame->sec_info_type == SEC_INFO_TYPE_EH_FRAME
-       && !_bfd_elf_write_section_eh_frame (output_bfd, info,
- 					   htab->glink_eh_frame,
- 					   htab->glink_eh_frame->contents))
-diff --git a/bfd/elf64-s390.c b/bfd/elf64-s390.c
-index 9884da0..e9138a6 100644
---- a/bfd/elf64-s390.c
-+++ b/bfd/elf64-s390.c
-@@ -2270,7 +2270,7 @@ elf_s390_relocate_section (bfd *output_bfd,
- 				   unresolved_reloc, warned);
- 	}
- 
--      if (sec != NULL && elf_discarded_section (sec))
-+      if (sec != NULL && discarded_section (sec))
- 	RELOC_AGAINST_DISCARDED_SECTION (info, input_bfd, input_section,
- 					 rel, relend, howto, contents);
- 
-diff --git a/bfd/elf64-sh64.c b/bfd/elf64-sh64.c
-index bbef2a2..d8f2120 100644
---- a/bfd/elf64-sh64.c
-+++ b/bfd/elf64-sh64.c
-@@ -1514,7 +1514,7 @@ sh_elf64_relocate_section (bfd *output_bfd ATTRIBUTE_UNUSED,
- 	      _("Unexpected STO_SH5_ISA32 on local symbol is not handled"),
- 	      input_bfd, input_section, rel->r_offset));
- 
--	  if (sec != NULL && elf_discarded_section (sec))
-+	  if (sec != NULL && discarded_section (sec))
- 	    /* Handled below.  */
- 	    ;
- 	  else if (info->relocatable)
-@@ -1657,7 +1657,7 @@ sh_elf64_relocate_section (bfd *output_bfd ATTRIBUTE_UNUSED,
- 	    }
- 	}
- 
--      if (sec != NULL && elf_discarded_section (sec))
-+      if (sec != NULL && discarded_section (sec))
- 	RELOC_AGAINST_DISCARDED_SECTION (info, input_bfd, input_section,
- 					 rel, relend, howto, contents);
- 
-diff --git a/bfd/elf64-x86-64.c b/bfd/elf64-x86-64.c
-index bdb3ae6..9d826e7 100644
---- a/bfd/elf64-x86-64.c
-+++ b/bfd/elf64-x86-64.c
-@@ -3062,7 +3062,7 @@ elf_x86_64_relocate_section (bfd *output_bfd,
- 				   unresolved_reloc, warned);
- 	}
- 
--      if (sec != NULL && elf_discarded_section (sec))
-+      if (sec != NULL && discarded_section (sec))
- 	RELOC_AGAINST_DISCARDED_SECTION (info, input_bfd, input_section,
- 					 rel, relend, howto, contents);
- 
-@@ -4625,7 +4625,7 @@ elf_x86_64_finish_dynamic_sections (bfd *output_bfd,
- 			     + PLT_FDE_START_OFFSET);
- 	}
-       if (htab->plt_eh_frame->sec_info_type
--	  == ELF_INFO_TYPE_EH_FRAME)
-+	  == SEC_INFO_TYPE_EH_FRAME)
- 	{
- 	  if (! _bfd_elf_write_section_eh_frame (output_bfd, info,
- 						 htab->plt_eh_frame,
-diff --git a/bfd/elflink.c b/bfd/elflink.c
-index 8556cec..da6be48 100644
---- a/bfd/elflink.c
-+++ b/bfd/elflink.c
-@@ -1,6 +1,6 @@
- /* ELF linking support for BFD.
-    Copyright 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
--   2005, 2006, 2007, 2008, 2009, 2010, 2011
-+   2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012
-    Free Software Foundation, Inc.
- 
-    This file is part of BFD, the Binary File Descriptor library.
-@@ -937,7 +937,7 @@ _bfd_elf_merge_symbol (bfd *abfd,
-   /* Silently discard TLS symbols from --just-syms.  There's no way to
-      combine a static TLS block with a new TLS block for this executable.  */
-   if (ELF_ST_TYPE (sym->st_info) == STT_TLS
--      && sec->sec_info_type == ELF_INFO_TYPE_JUST_SYMS)
-+      && sec->sec_info_type == SEC_INFO_TYPE_JUST_SYMS)
-     {
-       *skip = TRUE;
-       return TRUE;
-@@ -2708,7 +2708,7 @@ _bfd_elf_link_sec_merge_syms (struct elf_link_hash_entry *h, void *data)
-   if ((h->root.type == bfd_link_hash_defined
-        || h->root.type == bfd_link_hash_defweak)
-       && ((sec = h->root.u.def.section)->flags & SEC_MERGE)
--      && sec->sec_info_type == ELF_INFO_TYPE_MERGE)
-+      && sec->sec_info_type == SEC_INFO_TYPE_MERGE)
-     {
-       bfd *output_bfd = (bfd *) data;
- 
-@@ -3499,7 +3499,7 @@ elf_link_add_object_symbols (bfd *abfd, struct bfd_link_info *info)
-       /* ld --just-symbols and dynamic objects don't mix very well.
- 	 ld shouldn't allow it.  */
-       if ((s = abfd->sections) != NULL
--	  && s->sec_info_type == ELF_INFO_TYPE_JUST_SYMS)
-+	  && s->sec_info_type == SEC_INFO_TYPE_JUST_SYMS)
- 	abort ();
- 
-       /* If this dynamic lib was specified on the command line with
-@@ -3896,7 +3896,7 @@ error_free_dyn:
- 	  sec = bfd_section_from_elf_index (abfd, isym->st_shndx);
- 	  if (sec == NULL)
- 	    sec = bfd_abs_section_ptr;
--	  else if (elf_discarded_section (sec))
-+	  else if (discarded_section (sec))
- 	    {
- 	      /* Symbols from discarded section are undefined.  We keep
- 		 its visibility.  */
-@@ -4861,7 +4861,7 @@ error_free_dyn:
- 					       &string_offset))
- 		  goto error_return;
- 		if (secdata->sec_info)
--		  stab->sec_info_type = ELF_INFO_TYPE_STABS;
-+		  stab->sec_info_type = SEC_INFO_TYPE_STABS;
- 	    }
- 	}
-     }
-@@ -6644,25 +6644,14 @@ bfd_elf_size_dynsym_hash_dynstr (bfd *output_bfd, struct bfd_link_info *info)
-   return TRUE;
- }
- 
--/* Indicate that we are only retrieving symbol values from this
--   section.  */
--
--void
--_bfd_elf_link_just_syms (asection *sec, struct bfd_link_info *info)
--{
--  if (is_elf_hash_table (info->hash))
--    sec->sec_info_type = ELF_INFO_TYPE_JUST_SYMS;
--  _bfd_generic_link_just_syms (sec, info);
--}
--
- /* Make sure sec_info_type is cleared if sec_info is cleared too.  */
- 
- static void
- merge_sections_remove_hook (bfd *abfd ATTRIBUTE_UNUSED,
- 			    asection *sec)
- {
--  BFD_ASSERT (sec->sec_info_type == ELF_INFO_TYPE_MERGE);
--  sec->sec_info_type = ELF_INFO_TYPE_NONE;
-+  BFD_ASSERT (sec->sec_info_type == SEC_INFO_TYPE_MERGE);
-+  sec->sec_info_type = SEC_INFO_TYPE_NONE;
- }
- 
- /* Finish SHF_MERGE section merging.  */
-@@ -6690,7 +6679,7 @@ _bfd_elf_merge_sections (bfd *abfd, struct bfd_link_info *info)
- 					  sec, &secdata->sec_info))
- 	      return FALSE;
- 	    else if (secdata->sec_info)
--	      sec->sec_info_type = ELF_INFO_TYPE_MERGE;
-+	      sec->sec_info_type = SEC_INFO_TYPE_MERGE;
- 	  }
- 
-   if (elf_hash_table (info)->merge_info != NULL)
-@@ -8708,7 +8697,7 @@ elf_link_output_extsym (struct bfd_hash_entry *bh, void *data)
-   else if ((h->root.type == bfd_link_hash_defined
- 	    || h->root.type == bfd_link_hash_defweak)
- 	   && ((finfo->info->strip_discarded
--		&& elf_discarded_section (h->root.u.def.section))
-+		&& discarded_section (h->root.u.def.section))
- 	       || (h->root.u.def.section->owner != NULL
- 		   && (h->root.u.def.section->owner->flags & BFD_PLUGIN) != 0)))
-     strip = TRUE;
-@@ -9007,8 +8996,8 @@ elf_section_ignore_discarded_relocs (asection *sec)
- 
-   switch (sec->sec_info_type)
-     {
--    case ELF_INFO_TYPE_STABS:
--    case ELF_INFO_TYPE_EH_FRAME:
-+    case SEC_INFO_TYPE_STABS:
-+    case SEC_INFO_TYPE_EH_FRAME:
-       return TRUE;
-     default:
-       break;
-@@ -9193,7 +9182,7 @@ elf_link_input_bfd (struct elf_final_link_info *finfo, bfd *input_bfd)
- 	      *ppsection = NULL;
- 	      continue;
- 	    }
--	  else if (isec->sec_info_type == ELF_INFO_TYPE_MERGE
-+	  else if (isec->sec_info_type == SEC_INFO_TYPE_MERGE
- 		   && ELF_ST_TYPE (isym->st_info) != STT_SECTION)
- 	    isym->st_value =
- 	      _bfd_merged_section_offset (output_bfd, &isec,
-@@ -9537,7 +9526,7 @@ elf_link_input_bfd (struct elf_final_link_info *finfo, bfd *input_bfd)
- 		{
- 		  /* Complain if the definition comes from a
- 		     discarded section.  */
--		  if ((sec = *ps) != NULL && elf_discarded_section (sec))
-+		  if ((sec = *ps) != NULL && discarded_section (sec))
- 		    {
- 		      BFD_ASSERT (r_symndx != STN_UNDEF);
- 		      if (action_discarded & COMPLAIN)
-@@ -9874,19 +9863,19 @@ elf_link_input_bfd (struct elf_final_link_info *finfo, bfd *input_bfd)
- 	}
-       else switch (o->sec_info_type)
- 	{
--	case ELF_INFO_TYPE_STABS:
-+	case SEC_INFO_TYPE_STABS:
- 	  if (! (_bfd_write_section_stabs
- 		 (output_bfd,
- 		  &elf_hash_table (finfo->info)->stab_info,
- 		  o, &elf_section_data (o)->sec_info, contents)))
- 	    return FALSE;
- 	  break;
--	case ELF_INFO_TYPE_MERGE:
-+	case SEC_INFO_TYPE_MERGE:
- 	  if (! _bfd_write_merged_section (output_bfd, o,
- 					   elf_section_data (o)->sec_info))
- 	    return FALSE;
- 	  break;
--	case ELF_INFO_TYPE_EH_FRAME:
-+	case SEC_INFO_TYPE_EH_FRAME:
- 	  {
- 	    if (! _bfd_elf_write_section_eh_frame (output_bfd, finfo->info,
- 						   o, contents))
-@@ -12415,7 +12404,7 @@ bfd_elf_reloc_symbol_deleted_p (bfd_vma offset, void *cookie)
- 
- 	  if ((h->root.type == bfd_link_hash_defined
- 	       || h->root.type == bfd_link_hash_defweak)
--	      && elf_discarded_section (h->root.u.def.section))
-+	      && discarded_section (h->root.u.def.section))
- 	    return TRUE;
- 	  else
- 	    return FALSE;
-@@ -12431,7 +12420,7 @@ bfd_elf_reloc_symbol_deleted_p (bfd_vma offset, void *cookie)
- 	  /* Need to: get the symbol; get the section.  */
- 	  isym = &rcookie->locsyms[r_symndx];
- 	  isec = bfd_section_from_elf_index (rcookie->abfd, isym->st_shndx);
--	  if (isec != NULL && elf_discarded_section (isec))
-+	  if (isec != NULL && discarded_section (isec))
- 	    return TRUE;
- 	}
-       return FALSE;
-@@ -12482,7 +12471,7 @@ bfd_elf_discard_info (bfd *output_bfd, struct bfd_link_info *info)
-       if (stab != NULL
- 	  && (stab->size == 0
- 	      || bfd_is_abs_section (stab->output_section)
--	      || stab->sec_info_type != ELF_INFO_TYPE_STABS))
-+	      || stab->sec_info_type != SEC_INFO_TYPE_STABS))
- 	stab = NULL;
- 
-       if (stab == NULL
-diff --git a/bfd/elfnn-ia64.c b/bfd/elfnn-ia64.c
-index 3e2ee0b..0f6b720 100644
---- a/bfd/elfnn-ia64.c
-+++ b/bfd/elfnn-ia64.c
-@@ -530,7 +530,7 @@ elfNN_ia64_relax_section (bfd *abfd, asection *sec,
- 	  symtype = h->type;
- 	}
- 
--      if (tsec->sec_info_type == ELF_INFO_TYPE_MERGE)
-+      if (tsec->sec_info_type == SEC_INFO_TYPE_MERGE)
- 	{
- 	  /* At this stage in linking, no SEC_MERGE symbol has been
- 	     adjusted, so all references to such symbols need to be
-@@ -3861,7 +3861,7 @@ elfNN_ia64_relocate_section (bfd *output_bfd,
- 	  if (!info->relocatable
- 	      && (sym_sec->flags & SEC_MERGE) != 0
- 	      && ELF_ST_TYPE (sym->st_info) == STT_SECTION
--	      && sym_sec->sec_info_type == ELF_INFO_TYPE_MERGE)
-+	      && sym_sec->sec_info_type == SEC_INFO_TYPE_MERGE)
- 	    {
- 	      struct elfNN_ia64_local_hash_entry *loc_h;
- 
-@@ -3919,7 +3919,7 @@ elfNN_ia64_relocate_section (bfd *output_bfd,
- 	    continue;
- 	}
- 
--      if (sym_sec != NULL && elf_discarded_section (sym_sec))
-+      if (sym_sec != NULL && discarded_section (sym_sec))
- 	RELOC_AGAINST_DISCARDED_SECTION (info, input_bfd, input_section,
- 					 rel, relend, howto, contents);
- 
-diff --git a/bfd/elfxx-mips.c b/bfd/elfxx-mips.c
-index fa906cd..7911050 100644
---- a/bfd/elfxx-mips.c
-+++ b/bfd/elfxx-mips.c
-@@ -9385,7 +9385,7 @@ _bfd_mips_elf_relocate_section (bfd *output_bfd, struct bfd_link_info *info,
- 	    sec = h->root.u.def.section;
- 	}
- 
--      if (sec != NULL && elf_discarded_section (sec))
-+      if (sec != NULL && discarded_section (sec))
- 	RELOC_AGAINST_DISCARDED_SECTION (info, input_bfd, input_section,
- 					 rel, relend, howto, contents);
- 
-diff --git a/bfd/elfxx-sparc.c b/bfd/elfxx-sparc.c
-index 9a15124..f3c631e 100644
---- a/bfd/elfxx-sparc.c
-+++ b/bfd/elfxx-sparc.c
-@@ -2970,7 +2970,7 @@ _bfd_sparc_elf_relocate_section (bfd *output_bfd,
- 	    }
- 	}
- 
--      if (sec != NULL && elf_discarded_section (sec))
-+      if (sec != NULL && discarded_section (sec))
- 	RELOC_AGAINST_DISCARDED_SECTION (info, input_bfd, input_section,
- 					 rel, relend, howto, contents);
- 
-diff --git a/bfd/elfxx-tilegx.c b/bfd/elfxx-tilegx.c
-index c484562..e1c8946 100644
---- a/bfd/elfxx-tilegx.c
-+++ b/bfd/elfxx-tilegx.c
-@@ -2908,7 +2908,7 @@ tilegx_elf_relocate_section (bfd *output_bfd, struct bfd_link_info *info,
- 	    }
- 	}
- 
--      if (sec != NULL && elf_discarded_section (sec))
-+      if (sec != NULL && discarded_section (sec))
- 	RELOC_AGAINST_DISCARDED_SECTION (info, input_bfd, input_section,
- 					 rel, relend, howto, contents);
- 
-diff --git a/bfd/linker.c b/bfd/linker.c
-index 7a01e11..e5d20b2 100644
---- a/bfd/linker.c
-+++ b/bfd/linker.c
-@@ -1,6 +1,6 @@
- /* linker.c -- BFD linker routines
-    Copyright 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
--   2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011
-+   2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012
-    Free Software Foundation, Inc.
-    Written by Steve Chamberlain and Ian Lance Taylor, Cygnus Support
- 
-@@ -810,6 +810,7 @@ void
- _bfd_generic_link_just_syms (asection *sec,
- 			     struct bfd_link_info *info ATTRIBUTE_UNUSED)
- {
-+  sec->sec_info_type = SEC_INFO_TYPE_JUST_SYMS;
-   sec->output_section = bfd_abs_section_ptr;
-   sec->output_offset = sec->vma;
- }
-diff --git a/bfd/reloc.c b/bfd/reloc.c
-index ef55cc3..e3f0343 100644
---- a/bfd/reloc.c
-+++ b/bfd/reloc.c
-@@ -6235,7 +6235,7 @@ bfd_generic_get_relocated_section_contents (bfd *abfd,
- 	  bfd_reloc_status_type r;
- 
- 	  symbol = *(*parent)->sym_ptr_ptr;
--	  if (symbol->section && elf_discarded_section (symbol->section))
-+	  if (symbol->section && discarded_section (symbol->section))
- 	    {
- 	      bfd_byte *p;
- 	      static reloc_howto_type none_howto
-diff --git a/bfd/section.c b/bfd/section.c
-index 7c1f750..e60f247 100644
---- a/bfd/section.c
-+++ b/bfd/section.c
-@@ -382,11 +382,11 @@ CODE_FRAGMENT
- .
- .  {* Type of sec_info information.  *}
- .  unsigned int sec_info_type:3;
--.#define ELF_INFO_TYPE_NONE      0
--.#define ELF_INFO_TYPE_STABS     1
--.#define ELF_INFO_TYPE_MERGE     2
--.#define ELF_INFO_TYPE_EH_FRAME  3
--.#define ELF_INFO_TYPE_JUST_SYMS 4
-+.#define SEC_INFO_TYPE_NONE      0
-+.#define SEC_INFO_TYPE_STABS     1
-+.#define SEC_INFO_TYPE_MERGE     2
-+.#define SEC_INFO_TYPE_EH_FRAME  3
-+.#define SEC_INFO_TYPE_JUST_SYMS 4
- .
- .  {* Nonzero if this section uses RELA relocations, rather than REL.  *}
- .  unsigned int use_rela_p:1;
-diff --git a/ld/emultempl/armelf.em b/ld/emultempl/armelf.em
-index d29da59..7631474 100644
---- a/ld/emultempl/armelf.em
-+++ b/ld/emultempl/armelf.em
-@@ -240,7 +240,7 @@ build_section_lists (lang_statement_union_type *statement)
-     {
-       asection *i = statement->input_section.section;
- 
--      if (!((lang_input_statement_type *) i->owner->usrdata)->just_syms_flag
-+      if (i->sec_info_type != SEC_INFO_TYPE_JUST_SYMS
- 	  && (i->flags & SEC_EXCLUDE) == 0
- 	  && i->output_section != NULL
- 	  && i->output_section->owner == link_info.output_bfd)
-@@ -299,7 +299,7 @@ gld${EMULATION_NAME}_after_allocation (void)
- 		  && elf_section_type (sec) == SHT_PROGBITS
- 		  && (elf_section_flags (sec) & SHF_EXECINSTR) != 0
- 		  && (sec->flags & SEC_EXCLUDE) == 0
--		  && sec->sec_info_type != ELF_INFO_TYPE_JUST_SYMS
-+		  && sec->sec_info_type != SEC_INFO_TYPE_JUST_SYMS
- 		  && out_sec != bfd_abs_section_ptr)
- 		{
- 		  if (sec_count == list_size)
-diff --git a/ld/emultempl/hppaelf.em b/ld/emultempl/hppaelf.em
-index 1137ba2..6258bf4 100644
---- a/ld/emultempl/hppaelf.em
-+++ b/ld/emultempl/hppaelf.em
-@@ -229,7 +229,7 @@ build_section_lists (lang_statement_union_type *statement)
-     {
-       asection *i = statement->input_section.section;
- 
--      if (!((lang_input_statement_type *) i->owner->usrdata)->just_syms_flag
-+      if (i->sec_info_type != SEC_INFO_TYPE_JUST_SYMS
- 	  && (i->flags & SEC_EXCLUDE) == 0
- 	  && i->output_section != NULL
- 	  && i->output_section->owner == link_info.output_bfd)
-diff --git a/ld/emultempl/ppc64elf.em b/ld/emultempl/ppc64elf.em
-index 92a468f..52b9f05 100644
---- a/ld/emultempl/ppc64elf.em
-+++ b/ld/emultempl/ppc64elf.em
-@@ -428,7 +428,7 @@ build_toc_list (lang_statement_union_type *statement)
-     {
-       asection *i = statement->input_section.section;
- 
--      if (!((lang_input_statement_type *) i->owner->usrdata)->just_syms_flag
-+      if (i->sec_info_type != SEC_INFO_TYPE_JUST_SYMS
- 	  && (i->flags & SEC_EXCLUDE) == 0
- 	  && i->output_section == toc_section)
- 	{
-@@ -446,7 +446,7 @@ build_section_lists (lang_statement_union_type *statement)
-     {
-       asection *i = statement->input_section.section;
- 
--      if (!((lang_input_statement_type *) i->owner->usrdata)->just_syms_flag
-+      if (i->sec_info_type != SEC_INFO_TYPE_JUST_SYMS
- 	  && (i->flags & SEC_EXCLUDE) == 0
- 	  && i->output_section != NULL
- 	  && i->output_section->owner == link_info.output_bfd)
-diff --git a/ld/emultempl/tic6xdsbt.em b/ld/emultempl/tic6xdsbt.em
-index e287005..fd7a12b 100644
---- a/ld/emultempl/tic6xdsbt.em
-+++ b/ld/emultempl/tic6xdsbt.em
-@@ -122,7 +122,7 @@ gld${EMULATION_NAME}_after_allocation (void)
- 		  && elf_section_type (sec) == SHT_PROGBITS
- 		  && (elf_section_flags (sec) & SHF_EXECINSTR) != 0
- 		  && (sec->flags & SEC_EXCLUDE) == 0
--		  && sec->sec_info_type != ELF_INFO_TYPE_JUST_SYMS
-+		  && sec->sec_info_type != SEC_INFO_TYPE_JUST_SYMS
- 		  && out_sec != bfd_abs_section_ptr)
- 		{
- 		  if (sec_count == list_size)
-diff --git a/ld/ldlang.c b/ld/ldlang.c
-index 2c56b56..7ecbae2 100644
---- a/ld/ldlang.c
-+++ b/ld/ldlang.c
-@@ -4648,7 +4648,7 @@ size_input_section
-   lang_input_section_type *is = &((*this_ptr)->input_section);
-   asection *i = is->section;
- 
--  if (!((lang_input_statement_type *) i->owner->usrdata)->just_syms_flag
-+  if (i->sec_info_type != SEC_INFO_TYPE_JUST_SYMS
-       && (i->flags & SEC_EXCLUDE) == 0)
-     {
-       unsigned int alignment_needed;
-diff --git a/ld/ldwrite.c b/ld/ldwrite.c
-index b7a1469..2503d1f 100644
---- a/ld/ldwrite.c
-+++ b/ld/ldwrite.c
-@@ -1,6 +1,6 @@
- /* ldwrite.c -- write out the linked file
-    Copyright 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 2000, 2002,
--   2003, 2004, 2005, 2006, 2007, 2008, 2010
-+   2003, 2004, 2005, 2006, 2007, 2008, 2010, 2012
-    Free Software Foundation, Inc.
-    Written by Steve Chamberlain sac@cygnus.com
- 
-@@ -240,7 +240,7 @@ build_link_order (lang_statement_union_type *statement)
- 	   attached */
- 	asection *i = statement->input_section.section;
- 
--	if (!((lang_input_statement_type *) i->owner->usrdata)->just_syms_flag
-+	if (i->sec_info_type != SEC_INFO_TYPE_JUST_SYMS
- 	    && (i->flags & SEC_EXCLUDE) == 0)
- 	  {
- 	    asection *output_section = i->output_section;
--- 
-1.7.9.5
-
diff --git a/meta/recipes-devtools/binutils/binutils/binutils-2.19.1-ld-sysroot.patch b/meta/recipes-devtools/binutils/binutils/binutils-2.19.1-ld-sysroot.patch
deleted file mode 100644
index 5e6be3a..0000000
--- a/meta/recipes-devtools/binutils/binutils/binutils-2.19.1-ld-sysroot.patch
+++ /dev/null
@@ -1,39 +0,0 @@ 
-Upstream-Status: Pending
-
-http://sourceware.org/bugzilla/show_bug.cgi?id=10340
-
-Signed-off-by: Sven Rebhan <odinshorse@googlemail.com>
-
-Always try to prepend the sysroot prefix to absolute filenames first.
-
-Index: binutils-2.22/ld/ldfile.c
-===================================================================
---- binutils-2.22.orig/ld/ldfile.c
-+++ binutils-2.22/ld/ldfile.c
-@@ -351,18 +351,24 @@ ldfile_open_file_search (const char *arc
-      directory first.  */
-   if (! entry->maybe_archive)
-     {
--      if (entry->sysrooted && IS_ABSOLUTE_PATH (entry->filename))
-+      /* For absolute pathnames, try to always open the file in the
-+	 sysroot first. If this fails, try to open the file at the
-+	 given location. */
-+      entry->sysrooted = is_sysrooted_pathname(entry->filename, FALSE);
-+      if (IS_ABSOLUTE_PATH (entry->filename) && ld_sysroot && ! entry->sysrooted)
- 	{
- 	  char *name = concat (ld_sysroot, entry->filename,
- 			       (const char *) NULL);
- 	  if (ldfile_try_open_bfd (name, entry))
- 	    {
- 	      entry->filename = name;
-+	      entry->sysrooted = TRUE;
- 	      return TRUE;
- 	    }
- 	  free (name);
- 	}
--      else if (ldfile_try_open_bfd (entry->filename, entry))
-+
-+      if (ldfile_try_open_bfd (entry->filename, entry))
- 	{
- 	  entry->sysrooted = IS_ABSOLUTE_PATH (entry->filename)
- 	    && is_sysrooted_pathname (entry->filename, TRUE);
diff --git a/meta/recipes-devtools/binutils/binutils/binutils-armv5e.patch b/meta/recipes-devtools/binutils/binutils/binutils-armv5e.patch
deleted file mode 100644
index c95eed6..0000000
--- a/meta/recipes-devtools/binutils/binutils/binutils-armv5e.patch
+++ /dev/null
@@ -1,24 +0,0 @@ 
-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.  This
-was a simple way to add it, as thumb instructions shouldn't be generated by
-the compiler anyway.
-
-Upstream-Status: Denied
-Upstream maintainer indicated that we should not be using armv5e, even though
-it is a legal archicture defined by our gcc.
-
-Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
-
-diff -urN binutils-2.22.orig/gas/config/tc-arm.c binutils-2.22/gas/config/tc-arm.c
---- binutils-2.22.orig/gas/config/tc-arm.c	2011-11-21 03:29:31.000000000 -0600
-+++ binutils-2.22/gas/config/tc-arm.c	2012-04-03 12:07:42.230158760 -0500
-@@ -22990,6 +22990,7 @@
-   {"armv4t",		ARM_ARCH_V4T,	 FPU_ARCH_FPA},
-   {"armv4txm",		ARM_ARCH_V4TxM,	 FPU_ARCH_FPA},
-   {"armv5",		ARM_ARCH_V5,	 FPU_ARCH_VFP},
-+  {"armv5e",		ARM_ARCH_V5TE,	 FPU_ARCH_VFP},
-   {"armv5t",		ARM_ARCH_V5T,	 FPU_ARCH_VFP},
-   {"armv5txm",		ARM_ARCH_V5TxM,	 FPU_ARCH_VFP},
-   {"armv5te",		ARM_ARCH_V5TE,	 FPU_ARCH_VFP},
diff --git a/meta/recipes-devtools/binutils/binutils/binutils-poison.patch b/meta/recipes-devtools/binutils/binutils/binutils-poison.patch
deleted file mode 100644
index 7f81838..0000000
--- a/meta/recipes-devtools/binutils/binutils/binutils-poison.patch
+++ /dev/null
@@ -1,255 +0,0 @@ 
-Upstream-Status: Inappropriate [distribution: codesourcery]
-
-Patch originally created by Mark Hatle, forward-ported to
-binutils 2.21 by Scott Garman.
-
-purpose:  warn for uses of system directories when cross linking
-
-Code Merged from Sourcery G++ binutils 2.19 - 4.4-277
-
-2008-07-02  Joseph Myers  <joseph@codesourcery.com>
-
-    ld/
-    * ld.h (args_type): Add error_poison_system_directories.
-    * ld.texinfo (--error-poison-system-directories): Document.
-    * ldfile.c (ldfile_add_library_path): Check
-    command_line.error_poison_system_directories.
-    * ldmain.c (main): Initialize
-    command_line.error_poison_system_directories.
-    * lexsup.c (enum option_values): Add
-    OPTION_ERROR_POISON_SYSTEM_DIRECTORIES.
-    (ld_options): Add --error-poison-system-directories.
-    (parse_args): Handle new option.
-
-2007-06-13  Joseph Myers  <joseph@codesourcery.com>
-
-    ld/
-    * config.in: Regenerate.
-    * ld.h (args_type): Add poison_system_directories.
-    * ld.texinfo (--no-poison-system-directories): Document.
-    * ldfile.c (ldfile_add_library_path): Check
-    command_line.poison_system_directories.
-    * ldmain.c (main): Initialize
-    command_line.poison_system_directories.
-    * lexsup.c (enum option_values): Add
-    OPTION_NO_POISON_SYSTEM_DIRECTORIES.
-    (ld_options): Add --no-poison-system-directories.
-    (parse_args): Handle new option.
-
-2007-04-20  Joseph Myers  <joseph@codesourcery.com>
-
-    Merge from Sourcery G++ binutils 2.17:
-
-    2007-03-20  Joseph Myers  <joseph@codesourcery.com>
-    Based on patch by Mark Hatle <mark.hatle@windriver.com>.
-    ld/
-    * configure.in (--enable-poison-system-directories): New option.
-    * configure, config.in: Regenerate.
-    * ldfile.c (ldfile_add_library_path): If
-    ENABLE_POISON_SYSTEM_DIRECTORIES defined, warn for use of /lib,
-    /usr/lib, /usr/local/lib or /usr/X11R6/lib.
-
-Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
-Signed-off-by: Scott Garman <scott.a.garman@intel.com>
-
-Index: binutils-2.22/ld/config.in
-===================================================================
---- binutils-2.22.orig/ld/config.in
-+++ binutils-2.22/ld/config.in
-@@ -4,6 +4,9 @@
-    language is requested. */
- #undef ENABLE_NLS
- 
-+/* Define to warn for use of native system library directories */
-+#undef ENABLE_POISON_SYSTEM_DIRECTORIES
-+
- /* Additional extension a shared object might have. */
- #undef EXTRA_SHLIB_EXTENSION
- 
-Index: binutils-2.22/ld/configure
-===================================================================
---- binutils-2.22.orig/ld/configure
-+++ binutils-2.22/ld/configure
-@@ -776,6 +776,7 @@ with_lib_path
- enable_targets
- enable_64_bit_bfd
- with_sysroot
-+enable_poison_system_directories
- enable_gold
- enable_got
- enable_werror
-@@ -1431,6 +1432,8 @@ Optional Features:
- 			  (and sometimes confusing) to the casual installer
-   --enable-targets        alternative target configurations
-   --enable-64-bit-bfd     64-bit support (on hosts with narrower word sizes)
-+  --enable-poison-system-directories
-+                          warn for use of native system library directories
-   --enable-gold[=ARG]     build gold [ARG={default,yes,no}]
-   --enable-got=<type>     GOT handling scheme (target, single, negative,
-                           multigot)
-@@ -4342,7 +4345,18 @@ else
- fi
- 
- 
-+# Check whether --enable-poison-system-directories was given.
-+if test "${enable_poison_system_directories+set}" = set; then :
-+  enableval=$enable_poison_system_directories;
-+else
-+  enable_poison_system_directories=no
-+fi
-+
-+if test "x${enable_poison_system_directories}" = "xyes"; then
- 
-+$as_echo "#define ENABLE_POISON_SYSTEM_DIRECTORIES 1" >>confdefs.h
-+
-+fi
- 
- # Check whether --enable-got was given.
- if test "${enable_got+set}" = set; then :
-Index: binutils-2.22/ld/configure.in
-===================================================================
---- binutils-2.22.orig/ld/configure.in
-+++ binutils-2.22/ld/configure.in
-@@ -70,6 +70,16 @@ AC_SUBST(use_sysroot)
- AC_SUBST(TARGET_SYSTEM_ROOT)
- AC_SUBST(TARGET_SYSTEM_ROOT_DEFINE)
- 
-+AC_ARG_ENABLE([poison-system-directories],
-+         AS_HELP_STRING([--enable-poison-system-directories],
-+                [warn for use of native system library directories]),,
-+         [enable_poison_system_directories=no])
-+if test "x${enable_poison_system_directories}" = "xyes"; then
-+  AC_DEFINE([ENABLE_POISON_SYSTEM_DIRECTORIES],
-+       [1],
-+       [Define to warn for use of native system library directories])
-+fi
-+
- dnl Use --enable-gold to decide if this linker should be the default.
- dnl "install_as_default" is set to false if gold is the default linker.
- dnl "installed_linker" is the installed BFD linker name.
-Index: binutils-2.22/ld/ldfile.c
-===================================================================
---- binutils-2.22.orig/ld/ldfile.c
-+++ binutils-2.22/ld/ldfile.c
-@@ -125,6 +125,23 @@ ldfile_add_library_path (const char *nam
-     {
-       new_dirs->name = xstrdup (name);
-       new_dirs->sysrooted = is_sysrooted_pathname (name, FALSE);
-+
-+#ifdef ENABLE_POISON_SYSTEM_DIRECTORIES
-+      if (command_line.poison_system_directories
-+     && ((!strncmp (name, "/lib", 4))
-+         || (!strncmp (name, "/usr/lib", 8))
-+         || (!strncmp (name, "/usr/local/lib", 14))
-+         || (!strncmp (name, "/usr/X11R6/lib", 14))))
-+   {
-+     if (command_line.error_poison_system_directories)
-+       einfo (_("%X%P: error: library search path \"%s\" is unsafe for "
-+            "cross-compilation\n"), name);
-+     else
-+       einfo (_("%P: warning: library search path \"%s\" is unsafe for "
-+            "cross-compilation\n"), name);
-+   }
-+#endif
-+
-     }
- }
- 
-Index: binutils-2.22/ld/ld.h
-===================================================================
---- binutils-2.22.orig/ld/ld.h
-+++ binutils-2.22/ld/ld.h
-@@ -203,6 +203,14 @@ typedef struct {
-   /* If TRUE we'll just print the default output on stdout.  */
-   bfd_boolean print_output_format;
- 
-+  /* If TRUE (the default) warn for uses of system directories when
-+     cross linking.  */
-+  bfd_boolean poison_system_directories;
-+
-+  /* If TRUE (default FALSE) give an error for uses of system
-+     directories when cross linking instead of a warning.  */
-+  bfd_boolean error_poison_system_directories;
-+
-   /* Big or little endian as set on command line.  */
-   enum endian_enum endian;
- 
-Index: binutils-2.22/ld/ldmain.c
-===================================================================
---- binutils-2.22.orig/ld/ldmain.c
-+++ binutils-2.22/ld/ldmain.c
-@@ -259,6 +259,8 @@ main (int argc, char **argv)
-   command_line.warn_search_mismatch = TRUE;
-   command_line.check_section_addresses = -1;
-   command_line.disable_target_specific_optimizations = -1;
-+  command_line.poison_system_directories = TRUE;
-+  command_line.error_poison_system_directories = FALSE;
- 
-   /* We initialize DEMANGLING based on the environment variable
-      COLLECT_NO_DEMANGLE.  The gcc collect2 program will demangle the
-Index: binutils-2.22/ld/ld.texinfo
-===================================================================
---- binutils-2.22.orig/ld/ld.texinfo
-+++ binutils-2.22/ld/ld.texinfo
-@@ -2147,6 +2147,18 @@ string identifying the original linked f
- 
- Passing @code{none} for @var{style} disables the setting from any
- @code{--build-id} options earlier on the command line.
-+
-+@kindex --no-poison-system-directories
-+@item --no-poison-system-directories
-+Do not warn for @option{-L} options using system directories such as
-+@file{/usr/lib} when cross linking.  This option is intended for use
-+in chroot environments when such directories contain the correct
-+libraries for the target system rather than the host.
-+
-+@kindex --error-poison-system-directories
-+@item --error-poison-system-directories
-+Give an error instead of a warning for @option{-L} options using
-+system directories when cross linking.
- @end table
- 
- @c man end
-Index: binutils-2.22/ld/lexsup.c
-===================================================================
---- binutils-2.22.orig/ld/lexsup.c
-+++ binutils-2.22/ld/lexsup.c
-@@ -176,6 +176,8 @@ enum option_values
- #endif /* ENABLE_PLUGINS */
-   OPTION_DEFAULT_SCRIPT,
-   OPTION_PRINT_OUTPUT_FORMAT,
-+  OPTION_NO_POISON_SYSTEM_DIRECTORIES,
-+  OPTION_ERROR_POISON_SYSTEM_DIRECTORIES
- };
- 
- /* The long options.  This structure is used for both the option
-@@ -612,6 +614,14 @@ static const struct ld_option ld_options
-     TWO_DASHES },
-   { {"wrap", required_argument, NULL, OPTION_WRAP},
-     '\0', N_("SYMBOL"), N_("Use wrapper functions for SYMBOL"), TWO_DASHES },
-+  { {"no-poison-system-directories", no_argument, NULL,
-+     OPTION_NO_POISON_SYSTEM_DIRECTORIES},
-+    '\0', NULL, N_("Do not warn for -L options using system directories"),
-+    TWO_DASHES },
-+  { {"error-poison-system-directories", no_argument, NULL,
-+     OPTION_ERROR_POISON_SYSTEM_DIRECTORIES},
-+    '\0', NULL, N_("Give an error for -L options using system directories"),
-+    TWO_DASHES },
- };
- 
- #define OPTION_COUNT ARRAY_SIZE (ld_options)
-@@ -1541,6 +1551,14 @@ parse_args (unsigned argc, char **argv)
-               einfo (_("%P%X: --hash-size needs a numeric argument\n"));
-           }
-           break;
-+
-+   case OPTION_NO_POISON_SYSTEM_DIRECTORIES:
-+     command_line.poison_system_directories = FALSE;
-+     break;
-+
-+   case OPTION_ERROR_POISON_SYSTEM_DIRECTORIES:
-+     command_line.error_poison_system_directories = TRUE;
-+     break;
- 	}
-     }
- 
diff --git a/meta/recipes-devtools/binutils/binutils/binutils-powerpc-e5500.patch b/meta/recipes-devtools/binutils/binutils/binutils-powerpc-e5500.patch
deleted file mode 100644
index 1f146ce..0000000
--- a/meta/recipes-devtools/binutils/binutils/binutils-powerpc-e5500.patch
+++ /dev/null
@@ -1,936 +0,0 @@ 
-Upstream-Status: Backport
-Signed-off- by: Khem Raj <raj.khem@gmail.com>
-
-From 4f017a6dfe0c3e84c21431c85e82ce2af0941ac1 Mon Sep 17 00:00:00 2001
-From: Alan Modra <amodra@bigpond.net.au>
-Date: Fri, 9 Mar 2012 23:39:02 +0000
-Subject: [PATCH] include/opcode/ 	* ppc.h: Add PPC_OPCODE_ALTIVEC2,
- PPC_OPCODE_E6500, PPC_OPCODE_TMR. opcodes/ 	* ppc-dis.c
- (ppc_opts): Add entries for "e5500" and "e6500". 	*
- ppc-opc.c (insert_ls, TMR, ESYNC, XSYNCLE_MASK): New. 
- (PPCVEC2, PPCTMR, E6500): New short names. 
- (powerpc_opcodes): Add vabsdub, vabsduh, vabsduw, dni,
- mvidsplt, 	mviwsplt, icblq., mftmr, mttmr, dcblq.,
- miso, lvexbx, lvexhx, 	lvexwx, stvexbx, stvexhx, stvexwx,
- lvepx, lvepxl, stvepx, stvepxl, 	lvtrx, lvtrxl,
- lvtlx, lvtlxl, stvfrx, stvfrxl, stvflx, stvflxl, 
- lvswx, lvswxl, stvswx, stvswxl, lvsm mnemonics. Accept LS,
- ESYNC 	optional operands on sync instruction for E6500
- target. bfd/ 	* archures.c: Add bfd_mach_ppc_e5500 and
- bfd_mach_ppc_e6500. 	* bfd-in2.h: Regenerate. 	*
- cpu-powerpc.c (bfd_powerpc_archs): Add entryies for 
- bfd_mach_ppc_e5500 and bfd_mach_ppc_e6500. gas/ 	*
- config/tc-ppc.c (md_show_usage): Document -me5500 and
- -me6500. 	(ppc_handle_align): Add termination nop
- opcode for e500mc family. 	* doc/as.texinfo: Document
- options -me5500 and -me6500. 	* doc/c-ppc.texi: Likewise.
- gas/testsuite/ 	* gas/ppc/e500mc64_nop.s: New test
- case for e500mc family 	termination nops. 	*
- gas/ppc/e500mc64_nop.d: Likewise. 	*
- gas/ppc/e5500_nop.s: Likewise. 	*
- gas/ppc/e5500_nop.d: Likewise. 	*
- gas/ppc/e6500_nop.s: Likewise. 	*
- gas/ppc/e6500_nop.d: Likewise. 	* gas/ppc/e6500.s:
- New. 	* gas/ppc/e6500.d: Likewise. 	* gas/ppc/ppc.exp:
- Run e6500, e500mc64_nop, e5500_nop, and e6500_nop.
-
----
- bfd/ChangeLog                        |    7 +++
- bfd/archures.c                       |    6 +-
- bfd/bfd-in2.h                        |    2 +
- bfd/cpu-powerpc.c                    |   34 ++++++++++-
- gas/ChangeLog                        |    7 +++
- gas/config/tc-ppc.c                  |   14 ++++-
- gas/doc/as.texinfo                   |    6 +-
- gas/doc/c-ppc.texi                   |    8 ++-
- gas/testsuite/ChangeLog              |   13 ++++
- gas/testsuite/gas/ppc/e500mc64_nop.d |   13 ++++
- gas/testsuite/gas/ppc/e500mc64_nop.s |    5 ++
- gas/testsuite/gas/ppc/e5500_nop.d    |   13 ++++
- gas/testsuite/gas/ppc/e5500_nop.s    |    5 ++
- gas/testsuite/gas/ppc/e6500.d        |   75 +++++++++++++++++++++++
- gas/testsuite/gas/ppc/e6500.s        |   69 +++++++++++++++++++++
- gas/testsuite/gas/ppc/e6500_nop.d    |   13 ++++
- gas/testsuite/gas/ppc/e6500_nop.s    |    5 ++
- gas/testsuite/gas/ppc/ppc.exp        |    4 ++
- include/opcode/ChangeLog             |    4 ++
- include/opcode/ppc.h                 |   11 +++-
- opcodes/ChangeLog                    |   12 ++++
- opcodes/ppc-dis.c                    |   14 ++++-
- opcodes/ppc-opc.c                    |  112 +++++++++++++++++++++++++++++++---
- 23 files changed, 432 insertions(+), 20 deletions(-)
- create mode 100644 gas/testsuite/gas/ppc/e500mc64_nop.d
- create mode 100644 gas/testsuite/gas/ppc/e500mc64_nop.s
- create mode 100644 gas/testsuite/gas/ppc/e5500_nop.d
- create mode 100644 gas/testsuite/gas/ppc/e5500_nop.s
- create mode 100644 gas/testsuite/gas/ppc/e6500.d
- create mode 100644 gas/testsuite/gas/ppc/e6500.s
- create mode 100644 gas/testsuite/gas/ppc/e6500_nop.d
- create mode 100644 gas/testsuite/gas/ppc/e6500_nop.s
-
-Index: binutils-2.22/bfd/archures.c
-===================================================================
---- binutils-2.22.orig/bfd/archures.c	2012-07-06 20:40:40.000000000 -0700
-+++ binutils-2.22/bfd/archures.c	2012-07-06 20:41:27.822780001 -0700
-@@ -1,7 +1,7 @@
- /* BFD library support routines for architectures.
-    Copyright 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
--   2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011
--   Free Software Foundation, Inc.
-+   2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011,
-+   2012 Free Software Foundation, Inc.
-    Hacked by John Gilmore and Steve Chamberlain of Cygnus Support.
- 
-    This file is part of BFD, the Binary File Descriptor library.
-@@ -239,6 +239,8 @@
- .#define bfd_mach_ppc_e500      500
- .#define bfd_mach_ppc_e500mc    5001
- .#define bfd_mach_ppc_e500mc64  5005
-+.#define bfd_mach_ppc_e5500     5006
-+.#define bfd_mach_ppc_e6500     5007
- .#define bfd_mach_ppc_titan     83
- .  bfd_arch_rs6000,    {* IBM RS/6000 *}
- .#define bfd_mach_rs6k		6000
-Index: binutils-2.22/bfd/bfd-in2.h
-===================================================================
---- binutils-2.22.orig/bfd/bfd-in2.h	2012-07-06 20:40:40.000000000 -0700
-+++ binutils-2.22/bfd/bfd-in2.h	2012-07-06 20:41:27.822780001 -0700
-@@ -1946,6 +1946,8 @@
- #define bfd_mach_ppc_e500      500
- #define bfd_mach_ppc_e500mc    5001
- #define bfd_mach_ppc_e500mc64  5005
-+#define bfd_mach_ppc_e5500     5006
-+#define bfd_mach_ppc_e6500     5007
- #define bfd_mach_ppc_titan     83
-   bfd_arch_rs6000,    /* IBM RS/6000 */
- #define bfd_mach_rs6k          6000
-Index: binutils-2.22/bfd/cpu-powerpc.c
-===================================================================
---- binutils-2.22.orig/bfd/cpu-powerpc.c	2012-07-06 20:40:40.000000000 -0700
-+++ binutils-2.22/bfd/cpu-powerpc.c	2012-07-06 20:41:27.822780001 -0700
-@@ -1,6 +1,6 @@
- /* BFD PowerPC CPU definition
--   Copyright 1994, 1995, 1996, 2000, 2001, 2002, 2003, 2005, 2007, 2008, 2010
--   Free Software Foundation, Inc.
-+   Copyright 1994, 1995, 1996, 2000, 2001, 2002, 2003, 2005, 2007, 2008,
-+   2010, 2012 Free Software Foundation, Inc.
-    Contributed by Ian Lance Taylor, Cygnus Support.
- 
-    This file is part of BFD, the Binary File Descriptor library.
-Index: binutils-2.22/gas/config/tc-ppc.c
-===================================================================
---- binutils-2.22.orig/gas/config/tc-ppc.c	2012-07-06 20:40:40.000000000 -0700
-+++ binutils-2.22/gas/config/tc-ppc.c	2012-07-06 20:41:27.826780001 -0700
-@@ -1,6 +1,6 @@
- /* tc-ppc.c -- Assemble for the PowerPC or POWER (RS/6000)
-    Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003,
--   2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011
-+   2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012
-    Free Software Foundation, Inc.
-    Written by Ian Lance Taylor, Cygnus Support.
- 
-@@ -1265,6 +1265,8 @@
- -me500, -me500x2        generate code for Motorola e500 core complex\n\
- -me500mc,               generate code for Freescale e500mc core complex\n\
- -me500mc64,             generate code for Freescale e500mc64 core complex\n\
-+-me5500,                generate code for Freescale e5500 core complex\n\
-+-me6500,                generate code for Freescale e6500 core complex\n\
- -mspe                   generate code for Motorola SPE instructions\n\
- -mtitan                 generate code for AppliedMicro Titan core complex\n\
- -mregnames              Allow symbolic names for registers\n\
-@@ -6012,8 +6014,14 @@
- 	    }
- 
- 	  if ((ppc_cpu & PPC_OPCODE_POWER7) != 0)
--	    /* power7 group terminating nop: "ori 2,2,0".  */
--	    md_number_to_chars (dest, 0x60420000, 4);
-+	    {
-+	      if (ppc_cpu & PPC_OPCODE_E500MC)
-+		/* e500mc group terminating nop: "ori 0,0,0".  */
-+		md_number_to_chars (dest, 0x60000000, 4);
-+	      else
-+		/* power7 group terminating nop: "ori 2,2,0".  */
-+		md_number_to_chars (dest, 0x60420000, 4);
-+	    }
- 	  else
- 	    /* power6 group terminating nop: "ori 1,1,0".  */
- 	    md_number_to_chars (dest, 0x60210000, 4);
-Index: binutils-2.22/gas/doc/as.texinfo
-===================================================================
---- binutils-2.22.orig/gas/doc/as.texinfo	2012-07-06 20:40:40.000000000 -0700
-+++ binutils-2.22/gas/doc/as.texinfo	2012-07-06 20:41:27.826780001 -0700
-@@ -1,6 +1,6 @@
- \input texinfo @c                               -*-Texinfo-*-
- @c  Copyright 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000,
--@c  2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011
-+@c  2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012
- @c  Free Software Foundation, Inc.
- @c UPDATE!!  On future updates--
- @c   (1)   check for new machine-dep cmdline options in
-@@ -434,8 +434,8 @@
-    [@b{-a32}|@b{-a64}]
-    [@b{-mpwrx}|@b{-mpwr2}|@b{-mpwr}|@b{-m601}|@b{-mppc}|@b{-mppc32}|@b{-m603}|@b{-m604}|@b{-m403}|@b{-m405}|
-     @b{-m440}|@b{-m464}|@b{-m476}|@b{-m7400}|@b{-m7410}|@b{-m7450}|@b{-m7455}|@b{-m750cl}|@b{-mppc64}|
--    @b{-m620}|@b{-me500}|@b{-e500x2}|@b{-me500mc}|@b{-me500mc64}|@b{-mppc64bridge}|@b{-mbooke}|
--    @b{-mpower4}|@b{-mpr4}|@b{-mpower5}|@b{-mpwr5}|@b{-mpwr5x}|@b{-mpower6}|@b{-mpwr6}|
-+    @b{-m620}|@b{-me500}|@b{-e500x2}|@b{-me500mc}|@b{-me500mc64}|@b{-me5500}|@b{-me6500}|@b{-mppc64bridge}|
-+    @b{-mbooke}|@b{-mpower4}|@b{-mpr4}|@b{-mpower5}|@b{-mpwr5}|@b{-mpwr5x}|@b{-mpower6}|@b{-mpwr6}|
-     @b{-mpower7}|@b{-mpw7}|@b{-ma2}|@b{-mcell}|@b{-mspe}|@b{-mtitan}|@b{-me300}|@b{-mcom}]
-    [@b{-many}] [@b{-maltivec}|@b{-mvsx}]
-    [@b{-mregnames}|@b{-mno-regnames}]
-Index: binutils-2.22/gas/doc/c-ppc.texi
-===================================================================
---- binutils-2.22.orig/gas/doc/c-ppc.texi	2012-07-06 20:40:40.000000000 -0700
-+++ binutils-2.22/gas/doc/c-ppc.texi	2012-07-06 20:41:27.826780001 -0700
-@@ -1,5 +1,5 @@
- @c Copyright 2001, 2002, 2003, 2005, 2006, 2007, 2008, 2009, 2010, 2011
--@c Free Software Foundation, Inc.
-+@c 2012 Free Software Foundation, Inc.
- @c This is part of the GAS manual.
- @c For copying conditions, see the file as.texinfo.
- @c man end
-@@ -88,6 +88,12 @@
- @item -me500mc64
- Generate code for Freescale e500mc64 core complex.
- 
-+@item -me5500
-+Generate code for Freescale e5500 core complex.
-+
-+@item -me6500
-+Generate code for Freescale e6500 core complex.
-+
- @item -mspe
- Generate code for Motorola SPE instructions.
- 
-Index: binutils-2.22/gas/testsuite/gas/ppc/e500mc64_nop.d
-===================================================================
---- /dev/null	1970-01-01 00:00:00.000000000 +0000
-+++ binutils-2.22/gas/testsuite/gas/ppc/e500mc64_nop.d	2012-07-06 20:41:27.826780001 -0700
-@@ -0,0 +1,13 @@
-+#as: -mppc -me500mc64
-+#objdump: -dr -Me500mc64
-+#name: Power E500MC64 nop tests
-+
-+.*: +file format elf(32)?(64)?-powerpc.*
-+
-+Disassembly of section \.text:
-+
-+0+00 <start>:
-+   0:	60 00 00 00 	nop
-+   4:	60 00 00 00 	nop
-+   8:	60 00 00 00 	nop
-+   c:	60 00 00 00 	nop
-Index: binutils-2.22/gas/testsuite/gas/ppc/e500mc64_nop.s
-===================================================================
---- /dev/null	1970-01-01 00:00:00.000000000 +0000
-+++ binutils-2.22/gas/testsuite/gas/ppc/e500mc64_nop.s	2012-07-06 20:41:27.826780001 -0700
-@@ -0,0 +1,5 @@
-+# Power E500MC64 nop tests
-+	.section  ".text"
-+start:
-+	nop
-+	.p2align 4,,15
-Index: binutils-2.22/gas/testsuite/gas/ppc/e5500_nop.d
-===================================================================
---- /dev/null	1970-01-01 00:00:00.000000000 +0000
-+++ binutils-2.22/gas/testsuite/gas/ppc/e5500_nop.d	2012-07-06 20:41:27.826780001 -0700
-@@ -0,0 +1,13 @@
-+#as: -mppc -me5500
-+#objdump: -dr -Me5500
-+#name: Power E5500 nop tests
-+
-+.*: +file format elf(32)?(64)?-powerpc.*
-+
-+Disassembly of section \.text:
-+
-+0+00 <start>:
-+   0:	60 00 00 00 	nop
-+   4:	60 00 00 00 	nop
-+   8:	60 00 00 00 	nop
-+   c:	60 00 00 00 	nop
-Index: binutils-2.22/gas/testsuite/gas/ppc/e5500_nop.s
-===================================================================
---- /dev/null	1970-01-01 00:00:00.000000000 +0000
-+++ binutils-2.22/gas/testsuite/gas/ppc/e5500_nop.s	2012-07-06 20:41:27.826780001 -0700
-@@ -0,0 +1,5 @@
-+# Power E5500 nop tests
-+	.section  ".text"
-+start:
-+	nop
-+	.p2align 4,,15
-Index: binutils-2.22/gas/testsuite/gas/ppc/e6500.d
-===================================================================
---- /dev/null	1970-01-01 00:00:00.000000000 +0000
-+++ binutils-2.22/gas/testsuite/gas/ppc/e6500.d	2012-07-06 20:41:27.826780001 -0700
-@@ -0,0 +1,75 @@
-+#as: -mppc -me6500
-+#objdump: -dr -Me6500
-+#name: Power E6500 tests
-+
-+.*: +file format elf(32)?(64)?-powerpc.*
-+
-+Disassembly of section \.text:
-+
-+0+00 <start>:
-+   0:	10 01 10 c0 	vabsdub v0,v1,v2
-+   4:	10 01 11 00 	vabsduh v0,v1,v2
-+   8:	10 01 11 40 	vabsduw v0,v1,v2
-+   c:	7c 01 10 dc 	mvidsplt v0,r1,r2
-+  10:	7c 01 11 1c 	mviwsplt v0,r1,r2
-+  14:	7c 00 12 0a 	lvexbx  v0,0,r2
-+  18:	7c 01 12 0a 	lvexbx  v0,r1,r2
-+  1c:	7c 00 12 4a 	lvexhx  v0,0,r2
-+  20:	7c 01 12 4a 	lvexhx  v0,r1,r2
-+  24:	7c 00 12 8a 	lvexwx  v0,0,r2
-+  28:	7c 01 12 8a 	lvexwx  v0,r1,r2
-+  2c:	7c 00 13 0a 	stvexbx v0,0,r2
-+  30:	7c 01 13 0a 	stvexbx v0,r1,r2
-+  34:	7c 00 13 4a 	stvexhx v0,0,r2
-+  38:	7c 01 13 4a 	stvexhx v0,r1,r2
-+  3c:	7c 00 13 8a 	stvexwx v0,0,r2
-+  40:	7c 01 13 8a 	stvexwx v0,r1,r2
-+  44:	7c 00 12 4e 	lvepx   v0,0,r2
-+  48:	7c 01 12 4e 	lvepx   v0,r1,r2
-+  4c:	7c 00 12 0e 	lvepxl  v0,0,r2
-+  50:	7c 01 12 0e 	lvepxl  v0,r1,r2
-+  54:	7c 00 16 4e 	stvepx  v0,0,r2
-+  58:	7c 01 16 4e 	stvepx  v0,r1,r2
-+  5c:	7c 00 16 0e 	stvepxl v0,0,r2
-+  60:	7c 01 16 0e 	stvepxl v0,r1,r2
-+  64:	7c 00 14 8a 	lvtlx   v0,0,r2
-+  68:	7c 01 14 8a 	lvtlx   v0,r1,r2
-+  6c:	7c 00 16 8a 	lvtlxl  v0,0,r2
-+  70:	7c 01 16 8a 	lvtlxl  v0,r1,r2
-+  74:	7c 00 14 4a 	lvtrx   v0,0,r2
-+  78:	7c 01 14 4a 	lvtrx   v0,r1,r2
-+  7c:	7c 00 16 4a 	lvtrxl  v0,0,r2
-+  80:	7c 01 16 4a 	lvtrxl  v0,r1,r2
-+  84:	7c 00 15 8a 	stvflx  v0,0,r2
-+  88:	7c 01 15 8a 	stvflx  v0,r1,r2
-+  8c:	7c 00 17 8a 	stvflxl v0,0,r2
-+  90:	7c 01 17 8a 	stvflxl v0,r1,r2
-+  94:	7c 00 15 4a 	stvfrx  v0,0,r2
-+  98:	7c 01 15 4a 	stvfrx  v0,r1,r2
-+  9c:	7c 00 17 4a 	stvfrxl v0,0,r2
-+  a0:	7c 01 17 4a 	stvfrxl v0,r1,r2
-+  a4:	7c 00 14 ca 	lvswx   v0,0,r2
-+  a8:	7c 01 14 ca 	lvswx   v0,r1,r2
-+  ac:	7c 00 16 ca 	lvswxl  v0,0,r2
-+  b0:	7c 01 16 ca 	lvswxl  v0,r1,r2
-+  b4:	7c 00 15 ca 	stvswx  v0,0,r2
-+  b8:	7c 01 15 ca 	stvswx  v0,r1,r2
-+  bc:	7c 00 17 ca 	stvswxl v0,0,r2
-+  c0:	7c 01 17 ca 	stvswxl v0,r1,r2
-+  c4:	7c 00 16 0a 	lvsm    v0,0,r2
-+  c8:	7c 01 16 0a 	lvsm    v0,r1,r2
-+  cc:	7f 5a d3 78 	miso
-+  d0:	7c 00 04 ac 	sync    
-+  d4:	7c 00 04 ac 	sync    
-+  d8:	7c 20 04 ac 	lwsync
-+  dc:	7c 00 04 ac 	sync    
-+  e0:	7c 07 04 ac 	sync    0,7
-+  e4:	7c 28 04 ac 	sync    1,8
-+  e8:	7c 00 00 c3 	dni     0,0
-+  ec:	7f ff 00 c3 	dni     31,31
-+  f0:	7c 40 0b 4d 	dcblq.  2,0,r1
-+  f4:	7c 43 0b 4d 	dcblq.  2,r3,r1
-+  f8:	7c 40 09 8d 	icblq.  2,0,r1
-+  fc:	7c 43 09 8d 	icblq.  2,r3,r1
-+ 100:	7c 10 02 dc 	mftmr   r0,16
-+ 104:	7c 10 03 dc 	mttmr   16,r0
-Index: binutils-2.22/gas/testsuite/gas/ppc/e6500.s
-===================================================================
---- /dev/null	1970-01-01 00:00:00.000000000 +0000
-+++ binutils-2.22/gas/testsuite/gas/ppc/e6500.s	2012-07-06 20:41:27.830780001 -0700
-@@ -0,0 +1,69 @@
-+# Power E6500 tests
-+	.section ".text"
-+start:
-+	vabsdub	0, 1, 2
-+	vabsduh	0, 1, 2
-+	vabsduw	0, 1, 2
-+	mvidsplt 0, 1, 2
-+	mviwsplt 0, 1, 2
-+	lvexbx	0, 0, 2
-+	lvexbx	0, 1, 2
-+	lvexhx	0, 0, 2
-+	lvexhx	0, 1, 2
-+	lvexwx	0, 0, 2
-+	lvexwx	0, 1, 2
-+	stvexbx	0, 0, 2
-+	stvexbx	0, 1, 2
-+	stvexhx	0, 0, 2
-+	stvexhx	0, 1, 2
-+	stvexwx	0, 0, 2
-+	stvexwx	0, 1, 2
-+	lvepx	0, 0, 2
-+	lvepx	0, 1, 2
-+	lvepxl	0, 0, 2
-+	lvepxl	0, 1, 2
-+	stvepx	0, 0, 2
-+	stvepx	0, 1, 2
-+	stvepxl	0, 0, 2
-+	stvepxl	0, 1, 2
-+	lvtlx	0, 0, 2
-+	lvtlx	0, 1, 2
-+	lvtlxl	0, 0, 2
-+	lvtlxl	0, 1, 2
-+	lvtrx	0, 0, 2
-+	lvtrx	0, 1, 2
-+	lvtrxl	0, 0, 2
-+	lvtrxl	0, 1, 2
-+	stvflx	0, 0, 2
-+	stvflx	0, 1, 2
-+	stvflxl	0, 0, 2
-+	stvflxl	0, 1, 2
-+	stvfrx	0, 0, 2
-+	stvfrx	0, 1, 2
-+	stvfrxl	0, 0, 2
-+	stvfrxl	0, 1, 2
-+	lvswx	0, 0, 2
-+	lvswx	0, 1, 2
-+	lvswxl	0, 0, 2
-+	lvswxl	0, 1, 2
-+	stvswx	0, 0, 2
-+	stvswx	0, 1, 2
-+	stvswxl	0, 0, 2
-+	stvswxl	0, 1, 2
-+	lvsm	0, 0, 2
-+	lvsm	0, 1, 2
-+	miso
-+	sync
-+	sync	0,0
-+	sync	1,0
-+	sync	2,0
-+	sync	3,7
-+	sync	3,8
-+	dni	0,0
-+	dni	31,31
-+	dcblq.	2,0,1
-+	dcblq.	2,3,1
-+	icblq.	2,0,1
-+	icblq.	2,3,1
-+	mftmr	0,16
-+	mttmr	16,0
-Index: binutils-2.22/gas/testsuite/gas/ppc/e6500_nop.d
-===================================================================
---- /dev/null	1970-01-01 00:00:00.000000000 +0000
-+++ binutils-2.22/gas/testsuite/gas/ppc/e6500_nop.d	2012-07-06 20:41:27.830780001 -0700
-@@ -0,0 +1,13 @@
-+#as: -mppc -me6500
-+#objdump: -dr -Me6500
-+#name: Power E6500 nop tests
-+
-+.*: +file format elf(32)?(64)?-powerpc.*
-+
-+Disassembly of section \.text:
-+
-+0+00 <start>:
-+   0:	60 00 00 00 	nop
-+   4:	60 00 00 00 	nop
-+   8:	60 00 00 00 	nop
-+   c:	60 00 00 00 	nop
-Index: binutils-2.22/gas/testsuite/gas/ppc/e6500_nop.s
-===================================================================
---- /dev/null	1970-01-01 00:00:00.000000000 +0000
-+++ binutils-2.22/gas/testsuite/gas/ppc/e6500_nop.s	2012-07-06 20:41:27.830780001 -0700
-@@ -0,0 +1,5 @@
-+# Power E6500 nop tests
-+	.section  ".text"
-+start:
-+	nop
-+	.p2align 4,,15
-Index: binutils-2.22/gas/testsuite/gas/ppc/ppc.exp
-===================================================================
---- binutils-2.22.orig/gas/testsuite/gas/ppc/ppc.exp	2010-02-07 17:59:38.000000000 -0800
-+++ binutils-2.22/gas/testsuite/gas/ppc/ppc.exp	2012-07-06 20:41:27.830780001 -0700
-@@ -42,6 +42,10 @@
- 	run_list_test "range" "-a32"
- 	run_dump_test "ppc750ps"
- 	run_dump_test "e500mc"
-+	run_dump_test "e6500"
-+	run_dump_test "e500mc64_nop"
-+	run_dump_test "e5500_nop"
-+	run_dump_test "e6500_nop"
- 	run_dump_test "a2"
- 	run_dump_test "cell"
- 	run_dump_test "common"
-Index: binutils-2.22/include/opcode/ppc.h
-===================================================================
---- binutils-2.22.orig/include/opcode/ppc.h	2010-07-02 23:51:53.000000000 -0700
-+++ binutils-2.22/include/opcode/ppc.h	2012-07-06 20:41:27.830780001 -0700
-@@ -1,6 +1,6 @@
- /* ppc.h -- Header file for PowerPC opcode table
-    Copyright 1994, 1995, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006,
--   2007, 2008, 2009, 2010 Free Software Foundation, Inc.
-+   2007, 2008, 2009, 2010, 2012 Free Software Foundation, Inc.
-    Written by Ian Lance Taylor, Cygnus Support
- 
-    This file is part of GDB, GAS, and the GNU binutils.
-@@ -174,6 +174,15 @@
- /* Opcode which is supported by the e500 family */
- #define PPC_OPCODE_E500	       0x100000000ull
- 
-+/* Opcode is supported by Extended Altivec Vector Unit */
-+#define PPC_OPCODE_ALTIVEC2    0x200000000ull
-+
-+/* Opcode is supported by Power E6500 */
-+#define PPC_OPCODE_E6500       0x400000000ull
-+
-+/* Opcode is supported by Thread management APU */
-+#define PPC_OPCODE_TMR         0x800000000ull
-+
- /* A macro to extract the major opcode from an instruction.  */
- #define PPC_OP(i) (((i) >> 26) & 0x3f)
- 
-Index: binutils-2.22/opcodes/ppc-dis.c
-===================================================================
---- binutils-2.22.orig/opcodes/ppc-dis.c	2012-07-06 20:40:40.000000000 -0700
-+++ binutils-2.22/opcodes/ppc-dis.c	2012-07-06 20:41:27.830780001 -0700
-@@ -1,6 +1,6 @@
- /* ppc-dis.c -- Disassemble PowerPC instructions
-    Copyright 1994, 1995, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007,
--   2008, 2009, 2010 Free Software Foundation, Inc.
-+   2008, 2009, 2010, 2011, 2012 Free Software Foundation, Inc.
-    Written by Ian Lance Taylor, Cygnus Support
- 
-    This file is part of the GNU opcodes library.
-@@ -114,6 +114,18 @@
- 		| PPC_OPCODE_E500MC | PPC_OPCODE_64 | PPC_OPCODE_POWER5
- 		| PPC_OPCODE_POWER6 | PPC_OPCODE_POWER7),
-     0 },
-+  { "e5500",    (PPC_OPCODE_PPC | PPC_OPCODE_BOOKE | PPC_OPCODE_ISEL
-+		| PPC_OPCODE_PMR | PPC_OPCODE_CACHELCK | PPC_OPCODE_RFMCI
-+		| PPC_OPCODE_E500MC | PPC_OPCODE_64 | PPC_OPCODE_POWER4
-+		| PPC_OPCODE_POWER5 | PPC_OPCODE_POWER6
-+		| PPC_OPCODE_POWER7),
-+    0 },
-+  { "e6500",   (PPC_OPCODE_PPC | PPC_OPCODE_BOOKE | PPC_OPCODE_ISEL
-+		| PPC_OPCODE_PMR | PPC_OPCODE_CACHELCK | PPC_OPCODE_RFMCI
-+		| PPC_OPCODE_E500MC | PPC_OPCODE_64 | PPC_OPCODE_ALTIVEC
-+		| PPC_OPCODE_ALTIVEC2 | PPC_OPCODE_E6500 | PPC_OPCODE_POWER4
-+		| PPC_OPCODE_POWER5 | PPC_OPCODE_POWER6 | PPC_OPCODE_POWER7),
-+    0 },
-   { "e500x2",  (PPC_OPCODE_PPC | PPC_OPCODE_BOOKE | PPC_OPCODE_SPE
- 		| PPC_OPCODE_ISEL | PPC_OPCODE_EFS | PPC_OPCODE_BRLOCK
- 		| PPC_OPCODE_PMR | PPC_OPCODE_CACHELCK | PPC_OPCODE_RFMCI
-Index: binutils-2.22/opcodes/ppc-opc.c
-===================================================================
---- binutils-2.22.orig/opcodes/ppc-opc.c	2011-11-21 01:29:40.000000000 -0800
-+++ binutils-2.22/opcodes/ppc-opc.c	2012-07-06 20:41:27.834780001 -0700
-@@ -1,6 +1,6 @@
- /* ppc-opc.c -- PowerPC opcode list
-    Copyright 1994, 1995, 1996, 1997, 1998, 2000, 2001, 2002, 2003, 2004,
--   2005, 2006, 2007, 2008, 2009, 2010, 2011
-+   2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012
-    Free Software Foundation, Inc.
-    Written by Ian Lance Taylor, Cygnus Support
- 
-@@ -53,6 +53,7 @@
- static long extract_boe (unsigned long, ppc_cpu_t, int *);
- static unsigned long insert_fxm (unsigned long, long, ppc_cpu_t, const char **);
- static long extract_fxm (unsigned long, ppc_cpu_t, int *);
-+static unsigned long insert_ls (unsigned long, long, ppc_cpu_t, const char **);
- static unsigned long insert_mbe (unsigned long, long, ppc_cpu_t, const char **);
- static long extract_mbe (unsigned long, ppc_cpu_t, int *);
- static unsigned long insert_mb6 (unsigned long, long, ppc_cpu_t, const char **);
-@@ -477,6 +478,7 @@
-      lower 5 bits are stored in the upper 5 and vice- versa.  */
- #define SPR SISIGNOPT + 1
- #define PMR SPR
-+#define TMR SPR
- #define SPR_MASK (0x3ff << 11)
-   { 0x3ff, 11, insert_spr, extract_spr, 0 },
- 
-@@ -499,8 +501,12 @@
- #define T STRM
-   { 0x3, 21, NULL, NULL, 0 },
- 
-+  /* The ESYNC field in an X (sync) form instruction.  */
-+#define ESYNC STRM + 1
-+  { 0xf, 16, insert_ls, NULL, PPC_OPERAND_OPTIONAL },
-+
-   /* The SV field in a POWER SC form instruction.  */
--#define SV STRM + 1
-+#define SV ESYNC + 1
-   { 0x3fff, 2, NULL, NULL, 0 },
- 
-   /* The TBR field in an XFX form instruction.  This is like the SPR
-@@ -542,6 +548,7 @@
- 
-   /* The UIMM field in a VX form instruction.  */
- #define UIMM SIMM + 1
-+#define DCTL UIMM
-   { 0x1f, 16, NULL, NULL, 0 },
- 
-   /* The SHB field in a VA form instruction.  */
-@@ -1027,6 +1034,32 @@
-   return mask;
- }
- 
-+/* The LS field in a sync instruction that accepts 2 operands
-+   Values 2 and 3 are reserved,
-+     must be treated as 0 for future compatibility
-+   Values 0 and 1 can be accepted, if field ESYNC is zero
-+   Otherwise L = complement of ESYNC-bit2 (1<<18) */
-+
-+static unsigned long
-+insert_ls (unsigned long insn,
-+	   long value,
-+	   ppc_cpu_t dialect ATTRIBUTE_UNUSED,
-+	   const char **errmsg ATTRIBUTE_UNUSED)
-+{
-+  unsigned long ls;
-+
-+  ls = (insn >> 21) & 0x03;
-+  if (value == 0)
-+    {
-+      if (ls > 1)
-+	return insn & ~(0x3 << 21);
-+      return insn;
-+    }
-+  if ((value & 0x2) != 0)
-+    return (insn & ~(0x3 << 21)) | ((value & 0xf) << 16);
-+  return (insn & ~(0x3 << 21)) | (0x1 << 21) | ((value & 0xf) << 16);
-+}
-+
- /* The MB and ME fields in an M form instruction expressed as a single
-    operand which is itself a bitmask.  The extraction function always
-    marks it as invalid, since we never want to recognize an
-@@ -1795,6 +1828,9 @@
- /* An X form sync instruction with everything filled in except the LS field.  */
- #define XSYNC_MASK (0xff9fffff)
- 
-+/* An X form sync instruction with everything filled in except the L and E fields.  */
-+#define XSYNCLE_MASK (0xff90ffff)
-+
- /* An X_MASK, but with the EH bit clear.  */
- #define XEH_MASK (X_MASK & ~((unsigned long )1))
- 
-@@ -1989,6 +2025,7 @@
- #define PPC860	PPC
- #define PPCPS	PPC_OPCODE_PPCPS
- #define PPCVEC	PPC_OPCODE_ALTIVEC
-+#define PPCVEC2	PPC_OPCODE_ALTIVEC2
- #define PPCVSX	PPC_OPCODE_VSX
- #define POWER	PPC_OPCODE_POWER
- #define POWER2	PPC_OPCODE_POWER | PPC_OPCODE_POWER2
-@@ -2007,6 +2044,7 @@
- #define PPCEFS	PPC_OPCODE_EFS
- #define PPCBRLK PPC_OPCODE_BRLOCK
- #define PPCPMR	PPC_OPCODE_PMR
-+#define PPCTMR  PPC_OPCODE_TMR
- #define PPCCHLK PPC_OPCODE_CACHELCK
- #define PPCRFMCI	PPC_OPCODE_RFMCI
- #define E500MC  PPC_OPCODE_E500MC
-@@ -2014,6 +2052,7 @@
- #define TITAN   PPC_OPCODE_TITAN  
- #define MULHW   PPC_OPCODE_405 | PPC_OPCODE_440 | TITAN
- #define E500	PPC_OPCODE_E500
-+#define E6500	PPC_OPCODE_E6500
- 
- /* The opcode table.
- 
-@@ -2179,12 +2218,14 @@
- {"machhwsu",	XO (4,	76,0,0),XO_MASK,     MULHW, 	PPCNONE,	{RT, RA, RB}},
- {"machhwsu.",	XO (4,	76,0,1),XO_MASK,     MULHW, 	PPCNONE,	{RT, RA, RB}},
- {"ps_cmpo1",	X  (4,	96), X_MASK|(3<<21), PPCPS,	PPCNONE,	{BF, FRA, FRB}},
-+{"vabsdub",	VX (4, 192),	VX_MASK,     PPCVEC2,	PPCNONE,	{VD, VA, VB}},
- {"vcmpeqfp",	VXR(4, 198,0),	VXR_MASK,    PPCVEC,	PPCNONE,	{VD, VA, VB}},
- {"vpkuwus",	VX (4, 206),	VX_MASK,     PPCVEC,	PPCNONE,	{VD, VA, VB}},
- {"machhws",	XO (4, 108,0,0),XO_MASK,     MULHW, 	PPCNONE,	{RT, RA, RB}},
- {"machhws.",	XO (4, 108,0,1),XO_MASK,     MULHW,	PPCNONE,	{RT, RA, RB}},
- {"nmachhws",	XO (4, 110,0,0),XO_MASK,     MULHW,	PPCNONE,	{RT, RA, RB}},
- {"nmachhws.",	XO (4, 110,0,1),XO_MASK,     MULHW,	PPCNONE,	{RT, RA, RB}},
-+{"vabsduh",	VX (4, 256),	VX_MASK,     PPCVEC2,	PPCNONE,	{VD, VA, VB}},
- {"vmaxsb",	VX (4, 258),	VX_MASK,     PPCVEC,	PPCNONE,	{VD, VA, VB}},
- {"vslb",	VX (4, 260),	VX_MASK,     PPCVEC,	PPCNONE,	{VD, VA, VB}},
- {"vmulosb",	VX (4, 264),	VX_MASK,     PPCVEC,	PPCNONE,	{VD, VA, VB}},
-@@ -2197,6 +2238,7 @@
- {"mulchwu.",	XRC(4, 136,1),	X_MASK,      MULHW,	PPCNONE,	{RT, RA, RB}},
- {"macchwu",	XO (4, 140,0,0),XO_MASK,     MULHW,	PPCNONE,	{RT, RA, RB}},
- {"macchwu.",	XO (4, 140,0,1),XO_MASK,     MULHW,	PPCNONE,	{RT, RA, RB}},
-+{"vabsduw",	VX (4, 320),	VX_MASK,     PPCVEC2,	PPCNONE,	{VD, VA, VB}},
- {"vmaxsh",	VX (4, 322),	VX_MASK,     PPCVEC,	PPCNONE,	{VD, VA, VB}},
- {"vslh",	VX (4, 324),	VX_MASK,     PPCVEC,	PPCNONE,	{VD, VA, VB}},
- {"vmulosh",	VX (4, 328),	VX_MASK,     PPCVEC,	PPCNONE,	{VD, VA, VB}},
-@@ -3680,6 +3722,8 @@
- 
- {"lbepx",	X(31,95),	X_MASK,   E500MC|PPCA2,	PPCNONE,	{RT, RA, RB}},
- 
-+{"dni",		XRC(31,97,1),	XRB_MASK,    E6500,	PPCNONE,	{DUI, DCTL}},
-+
- {"lvx",		X(31,103),	X_MASK,      PPCVEC,	PPCNONE,	{VD, RA, RB}},
- {"lqfcmx",	APU(31,103,0), 	APU_MASK,    PPC405,	PPCNONE,	{FCRT, RA, RB}},
- 
-@@ -3689,6 +3733,8 @@
- {"mul",		XO(31,107,0,0),	XO_MASK,     M601,	PPCNONE,	{RT, RA, RB}},
- {"mul.",	XO(31,107,0,1),	XO_MASK,     M601,	PPCNONE,	{RT, RA, RB}},
- 
-+{"mvidsplt",	X(31,110),	X_MASK,      PPCVEC2,	PPCNONE,	{VD, RA, RB}},
-+
- {"mtsrdin",	X(31,114),	XRA_MASK,    PPC64,	PPCNONE,	{RS, RB}},
- 
- {"lharx",	X(31,116),	XEH_MASK,    POWER7,	PPCNONE,	{RT, RA0, RB, EH}},
-@@ -3723,7 +3769,9 @@
- {"adde.",	XO(31,138,0,1),	XO_MASK,     PPCCOM,	PPCNONE,	{RT, RA, RB}},
- {"ae.",		XO(31,138,0,1),	XO_MASK,     PWRCOM,	PPCNONE,	{RT, RA, RB}},
- 
--{"dcbtstlse",	X(31,142),	X_MASK,      PPCCHLK,	PPCNONE,	{CT, RA, RB}},
-+{"mviwsplt",	X(31,142),	X_MASK,      PPCVEC2,	PPCNONE,	{VD, RA, RB}},
-+
-+{"dcbtstlse",	X(31,142),	X_MASK,      PPCCHLK,	E500MC,		{CT, RA, RB}},
- 
- {"mtcr",	XFXM(31,144,0xff,0), XRARB_MASK, COM,	PPCNONE,	{RS}},
- {"mtcrf",	XFXM(31,144,0,0), XFXFXM_MASK, COM,	PPCNONE,	{FXM, RS}},
-@@ -3760,7 +3808,7 @@
- {"stvehx",	X(31,167),	X_MASK,      PPCVEC,	PPCNONE,	{VS, RA, RB}},
- {"sthfcmx",	APU(31,167,0), 	APU_MASK,    PPC405,	PPCNONE,	{FCRT, RA, RB}},
- 
--{"dcbtlse",	X(31,174),	X_MASK,      PPCCHLK,	PPCNONE,	{CT, RA, RB}},
-+{"dcbtlse",	X(31,174),	X_MASK,      PPCCHLK,	E500MC,		{CT, RA, RB}},
- 
- {"mtmsrd",	X(31,178),	XRLARB_MASK, PPC64,	PPCNONE,	{RS, A_L}},
- 
-@@ -3778,6 +3826,8 @@
- 
- {"prtyd",	X(31,186),	XRB_MASK, POWER6|PPCA2,	PPCNONE,	{RA, RS}},
- 
-+{"icblq.",	XRC(31,198,1),	X_MASK,      E6500,	PPCNONE,	{CT, RA0, RB}},
-+
- {"stvewx",	X(31,199),	X_MASK,      PPCVEC,	PPCNONE,	{VS, RA, RB}},
- {"stwfcmx",	APU(31,199,0), 	APU_MASK,    PPC405,	PPCNONE,	{FCRT, RA, RB}},
- 
-@@ -3855,8 +3905,12 @@
- {"mfdcrx",	X(31,259),	X_MASK, BOOKE|PPCA2|PPC476, TITAN,	{RS, RA}},
- {"mfdcrx.",	XRC(31,259,1),	X_MASK,      PPCA2,	PPCNONE,	{RS, RA}},
- 
-+{"lvexbx",	X(31,261),	X_MASK,      PPCVEC2,	PPCNONE,	{VD, RA0, RB}},
-+
- {"icbt",	X(31,262),	XRT_MASK,    PPC403,	PPCNONE,	{RA, RB}},
- 
-+{"lvepxl",	X(31,263),	X_MASK,      PPCVEC2,   PPCNONE,	{VD, RA0, RB}},
-+
- {"ldfcmx",	APU(31,263,0), 	APU_MASK,    PPC405,	PPCNONE,	{FCRT, RA, RB}},
- {"doz",		XO(31,264,0,0),	XO_MASK,     M601,	PPCNONE,	{RT, RA, RB}},
- {"doz.",	XO(31,264,0,1),	XO_MASK,     M601,	PPCNONE,	{RT, RA, RB}},
-@@ -3890,6 +3944,9 @@
- 
- {"mfdcrux",	X(31,291),	X_MASK,      PPC464,	PPCNONE,	{RS, RA}},
- 
-+{"lvexhx",	X(31,293),	X_MASK,      PPCVEC2,	PPCNONE,	{VD, RA0, RB}},
-+{"lvepx",	X(31,295),	X_MASK,      PPCVEC2,   PPCNONE,	{VD, RA0, RB}},
-+
- {"tlbie",	X(31,306),	XRTLRA_MASK, PPC,	TITAN,  	{RB, L}},
- {"tlbi",	X(31,306),	XRT_MASK,    POWER,	PPCNONE,	{RA0, RB}},
- 
-@@ -3941,6 +3998,8 @@
- {"mfdcr",	X(31,323), X_MASK, PPC403|BOOKE|PPCA2|PPC476, TITAN,	{RT, SPR}},
- {"mfdcr.",	XRC(31,323,1),	X_MASK,      PPCA2,	PPCNONE,	{RT, SPR}},
- 
-+{"lvexwx",	X(31,325),	X_MASK,      PPCVEC2,	PPCNONE,	{VD, RA0, RB}},
-+
- {"dcread",	X(31,326),	X_MASK,  PPC476|TITAN,	PPCNONE,	{RT, RA, RB}},
- 
- {"div",		XO(31,331,0,0),	XO_MASK,     M601,	PPCNONE,	{RT, RA, RB}},
-@@ -3949,6 +4008,7 @@
- {"lxvdsx",	X(31,332),	XX1_MASK,    PPCVSX,	PPCNONE,	{XT6, RA, RB}},
- 
- {"mfpmr",	X(31,334),	X_MASK, PPCPMR|PPCE300,	PPCNONE,	{RT, PMR}},
-+{"mftmr",	X(31,366),	X_MASK,	PPCTMR|E6500,	PPCNONE,	{RT, TMR}},
- 
- {"mfmq",	XSPR(31,339,  0), XSPR_MASK, M601,	PPCNONE,	{RT}},
- {"mfxer",	XSPR(31,339,  1), XSPR_MASK, COM,	PPCNONE,	{RT}},
-@@ -4179,6 +4239,8 @@
- {"mtdcrx",	X(31,387),	X_MASK, BOOKE|PPCA2|PPC476, TITAN,	{RA, RS}},
- {"mtdcrx.",	XRC(31,387,1),	X_MASK,      PPCA2,	PPCNONE,	{RA, RS}},
- 
-+{"stvexbx",	X(31,389),	X_MASK,      PPCVEC2,	PPCNONE,	{VS, RA0, RB}},
-+
- {"dcblc",	X(31,390),	X_MASK, PPCCHLK|PPC476|TITAN, PPCNONE,	{CT, RA, RB}},
- {"stdfcmx",	APU(31,391,0), 	APU_MASK,    PPC405,	PPCNONE,	{FCRT, RA, RB}},
- 
-@@ -4187,7 +4249,7 @@
- {"divweu",	XO(31,395,0,0),	XO_MASK,  POWER7|PPCA2,	PPCNONE,	{RT, RA, RB}},
- {"divweu.",	XO(31,395,0,1),	XO_MASK,  POWER7|PPCA2,	PPCNONE,	{RT, RA, RB}},
- 
--{"dcblce",	X(31,398),	X_MASK,      PPCCHLK,	PPCNONE,	{CT, RA, RB}},
-+{"dcblce",	X(31,398),	X_MASK,      PPCCHLK,	E500MC,		{CT, RA, RB}},
- 
- {"slbmte",	X(31,402),	XRA_MASK,    PPC64,	PPCNONE,	{RS, RB}},
- 
-@@ -4203,6 +4265,10 @@
- 
- {"mtdcrux",	X(31,419),	X_MASK,      PPC464,	PPCNONE,	{RA, RS}},
- 
-+{"stvexhx",	X(31,421),	X_MASK,      PPCVEC2,	PPCNONE,	{VS, RA0, RB}},
-+
-+{"dcblq.",	XRC(31,422,1),	X_MASK,      E6500,	PPCNONE,	{CT, RA0, RB}},
-+
- {"divde",	XO(31,425,0,0),	XO_MASK,  POWER7|PPCA2,	PPCNONE,	{RT, RA, RB}},
- {"divde.",	XO(31,425,0,1),	XO_MASK,  POWER7|PPCA2,	PPCNONE,	{RT, RA, RB}},
- {"divwe",	XO(31,427,0,0),	XO_MASK,  POWER7|PPCA2,	PPCNONE,	{RT, RA, RB}},
-@@ -4216,6 +4282,8 @@
- 
- {"mdors",	0x7f9ce378,	0xffffffff,  E500MC,	PPCNONE,	{0}},
- 
-+{"miso",	0x7f5ad378,	0xffffffff,  E6500,	PPCNONE,	{0}},
-+
- {"mr",		XRC(31,444,0),	X_MASK,      COM,	PPCNONE,	{RA, RS, RBS}},
- {"or",		XRC(31,444,0),	X_MASK,      COM,	PPCNONE,	{RA, RS, RB}},
- {"mr.",		XRC(31,444,1),	X_MASK,      COM,	PPCNONE,	{RA, RS, RBS}},
-@@ -4258,6 +4326,8 @@
- {"mtdcr",	X(31,451), X_MASK, PPC403|BOOKE|PPCA2|PPC476, TITAN,	{SPR, RS}},
- {"mtdcr.",	XRC(31,451,1), X_MASK,       PPCA2,	PPCNONE,	{SPR, RS}},
- 
-+{"stvexwx",	X(31,453),	X_MASK,      PPCVEC2,	PPCNONE,	{VS, RA0, RB}},
-+
- {"dccci",	X(31,454), XRT_MASK, PPC403|PPC440|TITAN|PPCA2, PPCNONE, {RAOPT, RBOPT}},
- {"dci",		X(31,454),	XRARB_MASK, PPCA2|PPC476, PPCNONE,	{CT}},
- 
-@@ -4268,6 +4338,7 @@
- {"divwu.",	XO(31,459,0,1),	XO_MASK,     PPC,	PPCNONE,	{RT, RA, RB}},
- 
- {"mtpmr",	X(31,462),	X_MASK, PPCPMR|PPCE300,	PPCNONE,	{PMR, RS}},
-+{"mttmr",	X(31,494),	X_MASK,	PPCTMR|E6500,	PPCNONE,	{TMR, RS}},
- 
- {"mtmq",	XSPR(31,467,  0), XSPR_MASK, M601,	PPCNONE,	{RS}},
- {"mtxer",	XSPR(31,467,  1), XSPR_MASK, COM,	PPCNONE,	{RS}},
-@@ -4453,7 +4524,7 @@
- {"divw",	XO(31,491,0,0),	XO_MASK,     PPC,	PPCNONE,	{RT, RA, RB}},
- {"divw.",	XO(31,491,0,1),	XO_MASK,     PPC,	PPCNONE,	{RT, RA, RB}},
- 
--{"icbtlse",	X(31,494),	X_MASK,      PPCCHLK,	PPCNONE,	{CT, RA, RB}},
-+{"icbtlse",	X(31,494),	X_MASK,      PPCCHLK,	E500MC,		{CT, RA, RB}},
- 
- {"slbia",	X(31,498),	0xffffffff,  PPC64,	PPCNONE,	{0}},
- 
-@@ -4512,6 +4583,8 @@
- 
- {"lhdx",	X(31,547),	X_MASK,      E500MC,	PPCNONE,	{RT, RA, RB}},
- 
-+{"lvtrx",	X(31,549),	X_MASK,      PPCVEC2,	PPCNONE,	{VD, RA0, RB}},
-+
- {"bbelr",	X(31,550),	X_MASK,      PPCBRLK,	PPCNONE,	{0}},
- 
- {"lvrx",	X(31,551),	X_MASK,      CELL,	PPCNONE,	{VD, RA0, RB}},
-@@ -4528,6 +4601,8 @@
- 
- {"lwdx",	X(31,579),	X_MASK,      E500MC,	PPCNONE,	{RT, RA, RB}},
- 
-+{"lvtlx",	X(31,581),	X_MASK,      PPCVEC2,	PPCNONE,	{VD, RA0, RB}},
-+
- {"lwfcmux",	APU(31,583,0), 	APU_MASK,    PPC405,	PPCNONE,	{FCRT, RA, RB}},
- 
- {"lxsdx",	X(31,588),	XX1_MASK,    PPCVSX,	PPCNONE,	{XT6, RA, RB}},
-@@ -4539,9 +4614,10 @@
- 
- {"lwsync",	XSYNC(31,598,1), 0xffffffff, PPC,	E500,		{0}},
- {"ptesync",	XSYNC(31,598,2), 0xffffffff, PPC64,	PPCNONE,	{0}},
-+{"sync",	X(31,598),	XSYNCLE_MASK,E6500,	PPCNONE,	{LS, ESYNC}},
- {"sync",	X(31,598),	XSYNC_MASK,  PPCCOM,	BOOKE|PPC476,	{LS}},
- {"msync",	X(31,598),	0xffffffff, BOOKE|PPCA2|PPC476, PPCNONE, {0}},
--{"sync",	X(31,598),	0xffffffff, BOOKE|PPC476, PPCNONE, {0}},
-+{"sync",	X(31,598),	0xffffffff, BOOKE|PPC476, E6500,	{0}},
- {"lwsync",	X(31,598),	0xffffffff, E500,	PPCNONE,	{0}},
- {"dcs",		X(31,598),	0xffffffff,  PWRCOM,	PPCNONE,	{0}},
- 
-@@ -4552,6 +4628,8 @@
- 
- {"lddx",	X(31,611),	X_MASK,      E500MC,	PPCNONE,	{RT, RA, RB}},
- 
-+{"lvswx",	X(31,613),	X_MASK,      PPCVEC2,	PPCNONE,	{VD, RA0, RB}},
-+
- {"lqfcmux",	APU(31,615,0), 	APU_MASK,    PPC405,	PPCNONE,	{FCRT, RA, RB}},
- 
- {"nego",	XO(31,104,1,0),	XORB_MASK,   COM,	PPCNONE,	{RT, RA}},
-@@ -4601,6 +4679,8 @@
- 
- {"sthdx",	X(31,675),	X_MASK,      E500MC,	PPCNONE,	{RS, RA, RB}},
- 
-+{"stvfrx",	X(31,677),	X_MASK,      PPCVEC2,	PPCNONE,	{VS, RA0, RB}},
-+
- {"stvrx",	X(31,679),	X_MASK,      CELL,	PPCNONE,	{VS, RA0, RB}},
- {"sthfcmux",	APU(31,679,0), 	APU_MASK,    PPC405,	PPCNONE,	{FCRT, RA, RB}},
- 
-@@ -4613,6 +4693,8 @@
- 
- {"stwdx",	X(31,707),	X_MASK,      E500MC,	PPCNONE,	{RS, RA, RB}},
- 
-+{"stvflx",	X(31,709),	X_MASK,      PPCVEC2,	PPCNONE,	{VS, RA0, RB}},
-+
- {"stwfcmux",	APU(31,711,0), 	APU_MASK,    PPC405,	PPCNONE,	{FCRT, RA, RB}},
- 
- {"stxsdx",	X(31,716),	XX1_MASK,    PPCVSX,	PPCNONE,	{XS6, RA, RB}},
-@@ -4645,6 +4727,8 @@
- 
- {"stddx",	X(31,739),	X_MASK,      E500MC,	PPCNONE,	{RS, RA, RB}},
- 
-+{"stvswx",	X(31,741),	X_MASK,      PPCVEC2,	PPCNONE,	{VS, RA0, RB}},
-+
- {"stqfcmux",	APU(31,743,0), 	APU_MASK,    PPC405,	PPCNONE,	{FCRT, RA, RB}},
- 
- {"subfmeo",	XO(31,232,1,0),	XORB_MASK,   PPCCOM,	PPCNONE,	{RT, RA}},
-@@ -4673,6 +4757,8 @@
- {"srliq",	XRC(31,760,0),	X_MASK,      M601,	PPCNONE,	{RA, RS, SH}},
- {"srliq.",	XRC(31,760,1),	X_MASK,      M601,	PPCNONE,	{RA, RS, SH}},
- 
-+{"lvsm",	X(31,773),	X_MASK,      PPCVEC2,	PPCNONE,	{VD, RA0, RB}},
-+{"stvepxl",	X(31,775),	X_MASK,      PPCVEC2,	PPCNONE,	{VS, RA0, RB}},
- {"lvlxl",	X(31,775),	X_MASK,      CELL,	PPCNONE,	{VD, RA0, RB}},
- {"ldfcmux",	APU(31,775,0), 	APU_MASK,    PPC405,	PPCNONE,	{FCRT, RA, RB}},
- 
-@@ -4705,6 +4791,8 @@
- 
- {"lfddx",	X(31,803),	X_MASK,      E500MC,	PPCNONE,	{FRT, RA, RB}},
- 
-+{"lvtrxl",	X(31,805),	X_MASK,      PPCVEC2,	PPCNONE,	{VD, RA0, RB}},
-+{"stvepx",	X(31,807),	X_MASK,      PPCVEC2,	PPCNONE,	{VS, RA0, RB}},
- {"lvrxl",	X(31,807),	X_MASK,      CELL,	PPCNONE,	{VD, RA0, RB}},
- 
- {"rac",		X(31,818),	X_MASK,      M601,	PPCNONE,	{RT, RA, RB}},
-@@ -4725,6 +4813,8 @@
- {"sradi",	XS(31,413,0),	XS_MASK,     PPC64,	PPCNONE,	{RA, RS, SH6}},
- {"sradi.",	XS(31,413,1),	XS_MASK,     PPC64,	PPCNONE,	{RA, RS, SH6}},
- 
-+{"lvtlxl",	X(31,837),	X_MASK,      PPCVEC2,	PPCNONE,	{VD, RA0, RB}},
-+
- {"divo",	XO(31,331,1,0),	XO_MASK,     M601,	PPCNONE,	{RT, RA, RB}},
- {"divo.",	XO(31,331,1,1),	XO_MASK,     M601,	PPCNONE,	{RT, RA, RB}},
- 
-@@ -4743,6 +4833,8 @@
- 
- {"lfiwax",	X(31,855),	X_MASK, POWER6|PPCA2|PPC476, PPCNONE,	{FRT, RA0, RB}},
- 
-+{"lvswxl",	X(31,869),	X_MASK,      PPCVEC2,	PPCNONE,	{VD, RA0, RB}},
-+
- {"abso",	XO(31,360,1,0),	XORB_MASK,   M601,	PPCNONE,	{RT, RA}},
- {"abso.",	XO(31,360,1,1),	XORB_MASK,   M601,	PPCNONE,	{RT, RA}},
- 
-@@ -4788,6 +4880,8 @@
- 
- {"stfddx",	X(31,931),	X_MASK,      E500MC,	PPCNONE,	{FRS, RA, RB}},
- 
-+{"stvfrxl",	X(31,933),	X_MASK,      PPCVEC2,	PPCNONE,	{VS, RA0, RB}},
-+
- {"wclrone",	XOPL2(31,934,2),XRT_MASK,    PPCA2,	PPCNONE,	{RA0, RB}},
- {"wclrall",	X(31,934),	XRARB_MASK,  PPCA2,	PPCNONE,	{L}},
- {"wclr",	X(31,934),	X_MASK,	     PPCA2,	PPCNONE,	{L, RA0, RB}},
-@@ -4816,6 +4910,8 @@
- {"extsb",	XRC(31,954,0),	XRB_MASK,    PPC,	PPCNONE,	{RA, RS}},
- {"extsb.",	XRC(31,954,1),	XRB_MASK,    PPC,	PPCNONE,	{RA, RS}},
- 
-+{"stvflxl",	X(31,965),	X_MASK,      PPCVEC2,	PPCNONE,	{VS, RA0, RB}},
-+
- {"iccci",	X(31,966), XRT_MASK, PPC403|PPC440|TITAN|PPCA2, PPCNONE, {RAOPT, RBOPT}},
- {"ici",		X(31,966),	XRARB_MASK,  PPCA2|PPC476, PPCNONE,	{CT}},
- 
-@@ -4843,6 +4939,8 @@
- 
- {"icbiep",	XRT(31,991,0),	XRT_MASK, E500MC|PPCA2,	PPCNONE,	{RA, RB}},
- 
-+{"stvswxl",	X(31,997),	X_MASK,      PPCVEC2,	PPCNONE,	{VS, RA0, RB}},
-+
- {"icread",	X(31,998), XRT_MASK, PPC403|PPC440|PPC476|TITAN, PPCNONE, {RA, RB}},
- 
- {"nabso",	XO(31,488,1,0),	XORB_MASK,   M601,	PPCNONE,	{RT, RA}},
diff --git a/meta/recipes-devtools/binutils/binutils/binutils-pr12366.patch b/meta/recipes-devtools/binutils/binutils/binutils-pr12366.patch
deleted file mode 100644
index c11a802..0000000
--- a/meta/recipes-devtools/binutils/binutils/binutils-pr12366.patch
+++ /dev/null
@@ -1,428 +0,0 @@ 
-This is backport from 2.21 branch
-
-Upstream-Status: Backport
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
-
-
-commit 946593d19f203b02efd45b5102dd2787d9418e24
-Author: H.J. Lu <hjl.tools@gmail.com>
-Date:   Wed May 25 17:41:32 2011 +0000
-
-    Handle STT_GNU_IFUNC symols when building shared library.
-    
-    bfd/
-    
-    2012-05-25  H.J. Lu  <hongjiu.lu@intel.com>
-    
-    	Backport from mainline
-    	2012-01-06  H.J. Lu  <hongjiu.lu@intel.com>
-    
-    	PR ld/12366
-    	PR ld/12371
-    	* elf-ifunc.c (_bfd_elf_allocate_ifunc_dyn_relocs): Properly
-    	handle symbols marked with regular reference, but not non-GOT
-    	reference when building shared library.
-    
-    	* elf32-i386.c (elf_i386_gc_sweep_hook): Properly handle
-    	local and global STT_GNU_IFUNC symols when building shared
-    	library.
-    	* elf64-x86-64.c (elf_x86_64_gc_sweep_hook): Likewise.
-    
-    ld/testsuite/
-    
-    2012-05-25  H.J. Lu  <hongjiu.lu@intel.com>
-    
-    	Backport from mainline
-    	2012-01-06  H.J. Lu  <hongjiu.lu@intel.com>
-    
-    	PR ld/12366
-    	PR ld/12371
-    	* ld-ifunc/ifunc-10-i386.s: Add more tests.
-    	* ld-ifunc/ifunc-10-x86-64.s: Likewise.
-    	* ld-ifunc/ifunc-11-i386.s: Likewise.
-    	* ld-ifunc/ifunc-11-x86-64.s: Likewise.
-    
-    	* ld-ifunc/ifunc-12-i386.d: New.
-    	* ld-ifunc/ifunc-12-i386.s: Likewise.
-    	* ld-ifunc/ifunc-12-x86-64.d: Likewise.
-    	* ld-ifunc/ifunc-12-x86-64.s: Likewise.
-    	* ld-ifunc/ifunc-13-i386.d: Likewise.
-    	* ld-ifunc/ifunc-13-x86-64.d: Likewise.
-    	* ld-ifunc/ifunc-13a-i386.s: Likewise.
-    	* ld-ifunc/ifunc-13a-x86-64.s: Likewise.
-    	* ld-ifunc/ifunc-13b-i386.s: Likewise.
-    	* ld-ifunc/ifunc-13b-x86-64.s: Likewise.
-
-Index: binutils-2.21/bfd/elf-ifunc.c
-===================================================================
---- binutils-2.21.orig/bfd/elf-ifunc.c	2010-07-13 09:59:10.000000000 -0700
-+++ binutils-2.21/bfd/elf-ifunc.c	2011-06-21 16:33:40.751884107 -0700
-@@ -190,10 +190,29 @@
-   /* Support garbage collection against STT_GNU_IFUNC symbols.  */
-   if (h->plt.refcount <= 0 && h->got.refcount <= 0)
-     {
--      h->got = htab->init_got_offset;
--      h->plt = htab->init_plt_offset;
--      *head = NULL;
--      return TRUE;
-+      /* When building shared library, we need to handle the case
-+         where it is marked with regular reference, but not non-GOT
-+	 reference.  It may happen if we didn't see STT_GNU_IFUNC
-+	 symbol at the time when checking relocations.  */
-+      bfd_size_type count = 0;
-+
-+      if (info->shared
-+	  && !h->non_got_ref
-+	  && h->ref_regular)
-+	{
-+	  for (p = *head; p != NULL; p = p->next)
-+	    count += p->count;
-+	  if (count != 0)
-+	    h->non_got_ref = 1;
-+	}
-+
-+      if (count == 0)
-+	{
-+	  h->got = htab->init_got_offset;
-+	  h->plt = htab->init_plt_offset;
-+	  *head = NULL;
-+	  return TRUE;
-+	}
-     }
- 
-   /* Return and discard space for dynamic relocations against it if
-Index: binutils-2.21/bfd/elf32-i386.c
-===================================================================
---- binutils-2.21.orig/bfd/elf32-i386.c	2010-10-21 05:29:02.000000000 -0700
-+++ binutils-2.21/bfd/elf32-i386.c	2011-06-21 16:33:40.761884138 -0700
-@@ -1807,23 +1807,10 @@
-       r_symndx = ELF32_R_SYM (rel->r_info);
-       if (r_symndx >= symtab_hdr->sh_info)
- 	{
--	  struct elf_i386_link_hash_entry *eh;
--	  struct elf_dyn_relocs **pp;
--	  struct elf_dyn_relocs *p;
--
- 	  h = sym_hashes[r_symndx - symtab_hdr->sh_info];
- 	  while (h->root.type == bfd_link_hash_indirect
- 		 || h->root.type == bfd_link_hash_warning)
- 	    h = (struct elf_link_hash_entry *) h->root.u.i.link;
--	  eh = (struct elf_i386_link_hash_entry *) h;
--
--	  for (pp = &eh->dyn_relocs; (p = *pp) != NULL; pp = &p->next)
--	    if (p->sec == sec)
--	      {
--		/* Everything must go for SEC.  */
--		*pp = p->next;
--		break;
--	      }
- 	}
-       else
- 	{
-@@ -1843,6 +1830,22 @@
- 	    }
- 	}
- 
-+      if (h)
-+	{
-+	  struct elf_i386_link_hash_entry *eh;
-+	  struct elf_dyn_relocs **pp;
-+	  struct elf_dyn_relocs *p;
-+
-+	  eh = (struct elf_i386_link_hash_entry *) h;
-+	  for (pp = &eh->dyn_relocs; (p = *pp) != NULL; pp = &p->next)
-+	    if (p->sec == sec)
-+	      {
-+		/* Everything must go for SEC.  */
-+		*pp = p->next;
-+		break;
-+	      }
-+	}
-+
-       r_type = ELF32_R_TYPE (rel->r_info);
-       if (! elf_i386_tls_transition (info, abfd, sec, NULL,
- 				     symtab_hdr, sym_hashes,
-@@ -1883,7 +1886,8 @@
- 
- 	case R_386_32:
- 	case R_386_PC32:
--	  if (info->shared)
-+	  if (info->shared
-+	      && (h == NULL || h->type != STT_GNU_IFUNC))
- 	    break;
- 	  /* Fall through */
- 
-Index: binutils-2.21/bfd/elf64-x86-64.c
-===================================================================
---- binutils-2.21.orig/bfd/elf64-x86-64.c	2010-10-21 05:29:02.000000000 -0700
-+++ binutils-2.21/bfd/elf64-x86-64.c	2011-06-21 16:33:40.761884138 -0700
-@@ -1645,23 +1645,10 @@
-       r_symndx = ELF64_R_SYM (rel->r_info);
-       if (r_symndx >= symtab_hdr->sh_info)
- 	{
--	  struct elf64_x86_64_link_hash_entry *eh;
--	  struct elf_dyn_relocs **pp;
--	  struct elf_dyn_relocs *p;
--
- 	  h = sym_hashes[r_symndx - symtab_hdr->sh_info];
- 	  while (h->root.type == bfd_link_hash_indirect
- 		 || h->root.type == bfd_link_hash_warning)
- 	    h = (struct elf_link_hash_entry *) h->root.u.i.link;
--	  eh = (struct elf64_x86_64_link_hash_entry *) h;
--
--	  for (pp = &eh->dyn_relocs; (p = *pp) != NULL; pp = &p->next)
--	    if (p->sec == sec)
--	      {
--		/* Everything must go for SEC.  */
--		*pp = p->next;
--		break;
--	      }
- 	}
-       else
- 	{
-@@ -1682,7 +1669,24 @@
- 	    }
- 	}
- 
--      r_type = ELF64_R_TYPE (rel->r_info);
-+      if (h)
-+	{
-+	  struct elf64_x86_64_link_hash_entry *eh;
-+	  struct elf_dyn_relocs **pp;
-+	  struct elf_dyn_relocs *p;
-+
-+	  eh = (struct elf64_x86_64_link_hash_entry *) h;
-+
-+	  for (pp = &eh->dyn_relocs; (p = *pp) != NULL; pp = &p->next)
-+	    if (p->sec == sec)
-+	      {
-+		/* Everything must go for SEC.  */
-+		*pp = p->next;
-+		break;
-+	      }
-+	}
-+
-+      r_type = ELF32_R_TYPE (rel->r_info);
-       if (! elf64_x86_64_tls_transition (info, abfd, sec, NULL,
- 					 symtab_hdr, sym_hashes,
- 					 &r_type, GOT_UNKNOWN,
-@@ -1733,7 +1737,8 @@
- 	case R_X86_64_PC16:
- 	case R_X86_64_PC32:
- 	case R_X86_64_PC64:
--	  if (info->shared)
-+	  if (info->shared
-+	      && (h == NULL || h->type != STT_GNU_IFUNC))
- 	    break;
- 	  /* Fall thru */
- 
-Index: binutils-2.21/ld/testsuite/ld-ifunc/ifunc-10-i386.s
-===================================================================
---- binutils-2.21.orig/ld/testsuite/ld-ifunc/ifunc-10-i386.s	2010-07-13 09:59:14.000000000 -0700
-+++ binutils-2.21/ld/testsuite/ld-ifunc/ifunc-10-i386.s	2011-06-21 16:36:36.832142380 -0700
-@@ -6,6 +6,8 @@
-         movl ifunc@GOTOFF(%ecx), %eax
- 	call ifunc@PLT
- 	call ifunc
-+        movl xxx@GOT(%ecx), %eax
-+        movl xxx, %eax
-         ret
- 
-         .section .text.bar,"ax",@progbits
-@@ -18,3 +20,7 @@
-         .type ifunc, @gnu_indirect_function
- ifunc:
-         ret
-+
-+        .section .data.foo,"aw",@progbits
-+xxx:
-+	.long ifunc
-Index: binutils-2.21/ld/testsuite/ld-ifunc/ifunc-10-x86-64.s
-===================================================================
---- binutils-2.21.orig/ld/testsuite/ld-ifunc/ifunc-10-x86-64.s	2010-07-13 09:59:14.000000000 -0700
-+++ binutils-2.21/ld/testsuite/ld-ifunc/ifunc-10-x86-64.s	2011-06-21 16:36:36.822142371 -0700
-@@ -6,6 +6,7 @@
-         movl ifunc(%rip), %eax
- 	call ifunc@PLT
- 	call ifunc
-+        movl xxx(%rip), %eax
-         ret
- 
-         .section .text.bar,"ax",@progbits
-@@ -18,3 +19,7 @@
-         .type ifunc, @gnu_indirect_function
- ifunc:
-         ret
-+
-+        .section .data.foo,"aw",@progbits
-+xxx:
-+	.quad ifunc
-Index: binutils-2.21/ld/testsuite/ld-ifunc/ifunc-11-i386.s
-===================================================================
---- binutils-2.21.orig/ld/testsuite/ld-ifunc/ifunc-11-i386.s	2010-07-13 09:59:14.000000000 -0700
-+++ binutils-2.21/ld/testsuite/ld-ifunc/ifunc-11-i386.s	2011-06-21 16:36:36.832142380 -0700
-@@ -3,9 +3,11 @@
- foo:
-         .global foo
-         movl ifunc@GOT(%ecx), %eax
--	movl ifunc@GOTOFF(%ecx), %eax
-+        movl ifunc@GOTOFF(%ecx), %eax
- 	call ifunc@PLT
- 	call ifunc
-+        movl xxx@GOT(%ecx), %eax
-+        movl xxx, %eax
-         ret
- 
-         .section .text.bar,"ax",@progbits
-@@ -16,6 +18,10 @@
- 
-         .section .text.ifunc,"ax",@progbits
-         .type ifunc, @gnu_indirect_function
--        .global ifunc
-+	.global ifunc
- ifunc:
-         ret
-+
-+        .section .data.foo,"aw",@progbits
-+xxx:
-+	.long ifunc
-Index: binutils-2.21/ld/testsuite/ld-ifunc/ifunc-11-x86-64.s
-===================================================================
---- binutils-2.21.orig/ld/testsuite/ld-ifunc/ifunc-11-x86-64.s	2010-07-13 09:59:14.000000000 -0700
-+++ binutils-2.21/ld/testsuite/ld-ifunc/ifunc-11-x86-64.s	2011-06-21 16:36:36.822142371 -0700
-@@ -6,6 +6,7 @@
-         movl ifunc(%rip), %eax
- 	call ifunc@PLT
- 	call ifunc
-+        movl xxx(%rip), %eax
-         ret
- 
-         .section .text.bar,"ax",@progbits
-@@ -19,3 +20,7 @@
-         .global ifunc
- ifunc:
-         ret
-+
-+        .section .data.foo,"aw",@progbits
-+xxx:
-+	.quad ifunc
-Index: binutils-2.21/ld/testsuite/ld-ifunc/ifunc-12-i386.d
-===================================================================
---- /dev/null	1970-01-01 00:00:00.000000000 +0000
-+++ binutils-2.21/ld/testsuite/ld-ifunc/ifunc-12-i386.d	2011-06-21 16:33:40.761884138 -0700
-@@ -0,0 +1,6 @@
-+#ld: -shared -m elf_i386 -e bar --gc-sections
-+#as: --32
-+#readelf: -r --wide
-+#target: x86_64-*-* i?86-*-*
-+
-+There are no relocations in this file.
-Index: binutils-2.21/ld/testsuite/ld-ifunc/ifunc-12-x86-64.d
-===================================================================
---- /dev/null	1970-01-01 00:00:00.000000000 +0000
-+++ binutils-2.21/ld/testsuite/ld-ifunc/ifunc-12-x86-64.d	2011-06-21 16:33:40.761884138 -0700
-@@ -0,0 +1,6 @@
-+#ld: -shared -m elf_x86_64 -e bar --gc-sections
-+#as: --64
-+#readelf: -r --wide
-+#target: x86_64-*-*
-+
-+There are no relocations in this file.
-Index: binutils-2.21/ld/testsuite/ld-ifunc/ifunc-13-i386.d
-===================================================================
---- /dev/null	1970-01-01 00:00:00.000000000 +0000
-+++ binutils-2.21/ld/testsuite/ld-ifunc/ifunc-13-i386.d	2011-06-21 16:33:40.761884138 -0700
-@@ -0,0 +1,19 @@
-+#source: ifunc-13a-i386.s
-+#source: ifunc-13b-i386.s
-+#ld: -shared -m elf_i386 -z nocombreloc
-+#as: --32
-+#readelf: -r --wide
-+#target: x86_64-*-* i?86-*-*
-+
-+Relocation section '.rel.got' at .*
-+[ ]+Offset[ ]+Info[ ]+Type[ ]+.*
-+#...
-+[0-9a-f]+[ ]+[0-9a-f]+[ ]+R_386_GLOB_DAT[ ]+ifunc\(\)[ ]+ifunc
-+#...
-+Relocation section '.rel.ifunc' at .*
-+[ ]+Offset[ ]+Info[ ]+Type[ ]+.*
-+[0-9a-f]+[ ]+[0-9a-f]+[ ]+R_386_32[ ]+ifunc\(\)[ ]+ifunc
-+#...
-+Relocation section '.rel.plt' at .*
-+[ ]+Offset[ ]+Info[ ]+Type[ ]+.*
-+[0-9a-f]+[ ]+[0-9a-f]+[ ]+R_386_JUMP_SLOT[ ]+ifunc\(\)[ ]+ifunc
-Index: binutils-2.21/ld/testsuite/ld-ifunc/ifunc-13-x86-64.d
-===================================================================
---- /dev/null	1970-01-01 00:00:00.000000000 +0000
-+++ binutils-2.21/ld/testsuite/ld-ifunc/ifunc-13-x86-64.d	2011-06-21 16:33:40.761884138 -0700
-@@ -0,0 +1,18 @@
-+#source: ifunc-13a-x86-64.s
-+#source: ifunc-13b-x86-64.s
-+#ld: -shared -m elf_x86_64 -z nocombreloc
-+#as: --64
-+#readelf: -r --wide
-+#target: x86_64-*-*
-+
-+Relocation section '.rela.got' at .*
-+[ ]+Offset[ ]+Info[ ]+Type[ ]+.*
-+[0-9a-f]+[ ]+[0-9a-f]+[ ]+R_X86_64_GLOB_DAT[ ]+ifunc\(\)[ ]+ifunc \+ 0
-+#...
-+Relocation section '.rela.ifunc' at .*
-+[ ]+Offset[ ]+Info[ ]+Type[ ]+.*
-+[0-9a-f]+[ ]+[0-9a-f]+[ ]+R_X86_64_64[ ]+ifunc\(\)[ ]+ifunc \+ 0
-+#...
-+Relocation section '.rela.plt' at .*
-+[ ]+Offset[ ]+Info[ ]+Type[ ]+.*
-+[0-9a-f]+[ ]+[0-9a-f]+[ ]+R_X86_64_JUMP_SLOT[ ]+ifunc\(\)[ ]+ifunc \+ 0
-Index: binutils-2.21/ld/testsuite/ld-ifunc/ifunc-13a-i386.s
-===================================================================
---- /dev/null	1970-01-01 00:00:00.000000000 +0000
-+++ binutils-2.21/ld/testsuite/ld-ifunc/ifunc-13a-i386.s	2011-06-21 16:36:36.822142371 -0700
-@@ -0,0 +1,10 @@
-+	.text
-+        .type foo, @function
-+	.global
-+foo:
-+	movl xxx@GOT(%ebx), %eax
-+        ret
-+
-+	.data
-+xxx:
-+	.long ifunc
-Index: binutils-2.21/ld/testsuite/ld-ifunc/ifunc-13a-x86-64.s
-===================================================================
---- /dev/null	1970-01-01 00:00:00.000000000 +0000
-+++ binutils-2.21/ld/testsuite/ld-ifunc/ifunc-13a-x86-64.s	2011-06-21 16:36:36.822142371 -0700
-@@ -0,0 +1,10 @@
-+	.text
-+        .type foo, @function
-+	.global
-+foo:
-+        movl xxx(%rip), %eax
-+        ret
-+
-+	.data
-+xxx:
-+	.quad ifunc
-Index: binutils-2.21/ld/testsuite/ld-ifunc/ifunc-13b-i386.s
-===================================================================
---- /dev/null	1970-01-01 00:00:00.000000000 +0000
-+++ binutils-2.21/ld/testsuite/ld-ifunc/ifunc-13b-i386.s	2011-06-21 16:33:40.761884138 -0700
-@@ -0,0 +1,5 @@
-+	.text
-+        .type ifunc, @gnu_indirect_function
-+	.globl ifunc
-+ifunc:
-+        ret
-Index: binutils-2.21/ld/testsuite/ld-ifunc/ifunc-13b-x86-64.s
-===================================================================
---- /dev/null	1970-01-01 00:00:00.000000000 +0000
-+++ binutils-2.21/ld/testsuite/ld-ifunc/ifunc-13b-x86-64.s	2011-06-21 16:33:40.761884138 -0700
-@@ -0,0 +1,5 @@
-+	.text
-+        .type ifunc, @gnu_indirect_function
-+	.globl ifunc
-+ifunc:
-+        ret
diff --git a/meta/recipes-devtools/binutils/binutils/binutils-uclibc-100-uclibc-conf.patch b/meta/recipes-devtools/binutils/binutils/binutils-uclibc-100-uclibc-conf.patch
deleted file mode 100644
index b5a25c2..0000000
--- a/meta/recipes-devtools/binutils/binutils/binutils-uclibc-100-uclibc-conf.patch
+++ /dev/null
@@ -1,40 +0,0 @@ 
-Upstream-Status: Pending
-
-Index: binutils-2.22/configure
-===================================================================
---- binutils-2.22.orig/configure
-+++ binutils-2.22/configure
-@@ -3130,7 +3130,7 @@ case "${target}" in
-     ;;
-   s390-*-* | s390x-*-*)
-     ;;
--  sh-*-* | sh[34]*-*-*)
-+  sh*-*-* | sh[34]*-*-*)
-     ;;
-   sh64-*-* | sh5*-*-*)
-     ;;
-@@ -3570,7 +3570,7 @@ case "${target}" in
-   mips*-*-*)
-     noconfigdirs="$noconfigdirs gprof"
-     ;;
--  sh-*-* | sh64-*-*)
-+  sh*-*-* | sh64-*-*)
-     case "${target}" in
-       sh*-*-elf)
-          ;;
-Index: binutils-2.22/gprof/configure
-===================================================================
---- binutils-2.22.orig/gprof/configure
-+++ binutils-2.22/gprof/configure
-@@ -6103,6 +6103,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)$'
diff --git a/meta/recipes-devtools/binutils/binutils/binutils-uclibc-300-001_ld_makefile_patch.patch b/meta/recipes-devtools/binutils/binutils/binutils-uclibc-300-001_ld_makefile_patch.patch
deleted file mode 100644
index c6e1efc..0000000
--- a/meta/recipes-devtools/binutils/binutils/binutils-uclibc-300-001_ld_makefile_patch.patch
+++ /dev/null
@@ -1,55 +0,0 @@ 
-#!/bin/sh -e
-## 001_ld_makefile_patch.dpatch
-##
-## All lines beginning with `## DP:' are a description of the patch.
-## DP: Description: correct where ld scripts are installed
-## DP: Author: Chris Chimelis <chris@debian.org>
-## DP: Upstream status: N/A
-## DP: Date: ??
-
-if [ $# -ne 1 ]; then
-    echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
-    exit 1
-fi
-
-[ -f debian/patches/00patch-opts ] && . debian/patches/00patch-opts
-patch_opts="${patch_opts:--f --no-backup-if-mismatch}"
-
-case "$1" in
-       -patch) patch $patch_opts -p1 < $0;;
-       -unpatch) patch $patch_opts -p1 -R < $0;;
-        *)
-                echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
-                exit 1;;
-esac
-
-exit 0
-Upstream-Status: Inappropriate [debian patch]
-
-@DPATCH@
-Index: binutils-2.22/ld/Makefile.am
-===================================================================
---- binutils-2.22.orig/ld/Makefile.am
-+++ binutils-2.22/ld/Makefile.am
-@@ -37,7 +37,7 @@ endif
- # 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.
--scriptdir = $(tooldir)/lib
-+scriptdir = $(libdir)
- 
- EMUL = @EMUL@
- EMULATION_OFILES = @EMULATION_OFILES@
-Index: binutils-2.22/ld/Makefile.in
-===================================================================
---- binutils-2.22.orig/ld/Makefile.in
-+++ binutils-2.22/ld/Makefile.in
-@@ -366,7 +366,7 @@ AM_CFLAGS = $(WARN_CFLAGS)
- # 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.
--scriptdir = $(tooldir)/lib
-+scriptdir = $(libdir)
- BASEDIR = $(srcdir)/..
- BFDDIR = $(BASEDIR)/bfd
- INCDIR = $(BASEDIR)/include
diff --git a/meta/recipes-devtools/binutils/binutils/binutils-uclibc-300-006_better_file_error.patch b/meta/recipes-devtools/binutils/binutils/binutils-uclibc-300-006_better_file_error.patch
deleted file mode 100644
index 47bd8ff..0000000
--- a/meta/recipes-devtools/binutils/binutils/binutils-uclibc-300-006_better_file_error.patch
+++ /dev/null
@@ -1,45 +0,0 @@ 
-#!/bin/sh -e
-## 006_better_file_error.dpatch by David Kimdon <dwhedon@gordian.com>
-##
-## All lines beginning with `## DP:' are a description of the patch.
-## DP: Specify which filename is causing an error if the filename is a
-## DP: directory. (#45832)
-
-if [ $# -ne 1 ]; then
-    echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
-    exit 1
-fi
-
-[ -f debian/patches/00patch-opts ] && . debian/patches/00patch-opts
-patch_opts="${patch_opts:--f --no-backup-if-mismatch}"
-
-case "$1" in
-       -patch) patch $patch_opts -p1 < $0;;
-       -unpatch) patch $patch_opts -p1 -R < $0;;
-        *)
-                echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
-                exit 1;;
-esac
-
-exit 0
-Upstream-Status: Inappropriate [debian patch]
-
-@DPATCH@
-Index: binutils-2.22/bfd/opncls.c
-===================================================================
---- binutils-2.22.orig/bfd/opncls.c
-+++ binutils-2.22/bfd/opncls.c
-@@ -197,6 +197,13 @@ bfd_fopen (const char *filename, const c
- {
-   bfd *nbfd;
-   const bfd_target *target_vec;
-+  struct stat s;
-+
-+  if (stat (filename, &s) == 0)
-+    if (S_ISDIR(s.st_mode)) {
-+      bfd_set_error (bfd_error_file_not_recognized);
-+      return NULL;
-+    }
- 
-   nbfd = _bfd_new_bfd ();
-   if (nbfd == NULL)
diff --git a/meta/recipes-devtools/binutils/binutils/binutils-uclibc-300-012_check_ldrunpath_length.patch b/meta/recipes-devtools/binutils/binutils/binutils-uclibc-300-012_check_ldrunpath_length.patch
deleted file mode 100644
index d31f80c..0000000
--- a/meta/recipes-devtools/binutils/binutils/binutils-uclibc-300-012_check_ldrunpath_length.patch
+++ /dev/null
@@ -1,49 +0,0 @@ 
-#!/bin/sh -e
-## 012_check_ldrunpath_length.dpatch by Chris Chimelis <chris@debian.org>
-##
-## All lines beginning with `## DP:' are a description of the patch.
-## DP: Only generate an RPATH entry if LD_RUN_PATH is not empty, for
-## DP: cases where -rpath isn't specified. (#151024)
-
-if [ $# -ne 1 ]; then
-    echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
-    exit 1
-fi
-
-[ -f debian/patches/00patch-opts ] && . debian/patches/00patch-opts
-patch_opts="${patch_opts:--f --no-backup-if-mismatch}"
-
-case "$1" in
-       -patch) patch $patch_opts -p1 < $0;;
-       -unpatch) patch $patch_opts -p1 -R < $0;;
-        *)
-                echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
-                exit 1;;
-esac
-
-exit 0
-Upstream-Status: Inappropriate [debian patch]
-
-@DPATCH@
-Index: binutils-2.22/ld/emultempl/elf32.em
-===================================================================
---- binutils-2.22.orig/ld/emultempl/elf32.em
-+++ binutils-2.22/ld/emultempl/elf32.em
-@@ -1273,6 +1273,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))
- 		break;
-@@ -1500,6 +1502,8 @@ gld${EMULATION_NAME}_before_allocation (
-   rpath = command_line.rpath;
-   if (rpath == NULL)
-     rpath = (const char *) getenv ("LD_RUN_PATH");
-+  if ((rpath) && (strlen (rpath) == 0))
-+    rpath = NULL;
- 
-   for (abfd = link_info.input_bfds; abfd; abfd = abfd->link_next)
-     if (bfd_get_flavour (abfd) == bfd_target_elf_flavour)
diff --git a/meta/recipes-devtools/binutils/binutils/binutils-uclibc-gas-needs-libm.patch b/meta/recipes-devtools/binutils/binutils/binutils-uclibc-gas-needs-libm.patch
deleted file mode 100644
index 3869faf..0000000
--- a/meta/recipes-devtools/binutils/binutils/binutils-uclibc-gas-needs-libm.patch
+++ /dev/null
@@ -1,38 +0,0 @@ 
-Source: Khem Raj <raj.khem@gmail.com>
-Disposition: submit upstream.
-Upstream-Status: Pending
-
-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
-
-Index: binutils-2.22/gas/configure.tgt
-===================================================================
---- binutils-2.22.orig/gas/configure.tgt
-+++ binutils-2.22/gas/configure.tgt
-@@ -428,6 +428,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
-   alpha | arm | i386 | ia64 | microblaze | mips | ns32k | pdp11 | ppc | sparc | z80 | z8k)
-     bfd_gas=yes
diff --git a/meta/recipes-devtools/binutils/binutils/binutils-x86_64_i386_biarch.patch b/meta/recipes-devtools/binutils/binutils/binutils-x86_64_i386_biarch.patch
deleted file mode 100644
index c09578a..0000000
--- a/meta/recipes-devtools/binutils/binutils/binutils-x86_64_i386_biarch.patch
+++ /dev/null
@@ -1,29 +0,0 @@ 
-#!/bin/sh -e
-## 127_x86_64_i386_biarch.dpatch
-##
-## DP: Description: Add (/usr)/lib32 to the search paths on x86_64.
-## DP: Author: Aurelien Jarno <aurel32.debian.org>
-## DP: Upstream status: Debian specific
-#
-# Hacked to apply with quilt
-# Adapted to binutils 2.18.50.0.7
-Upstream-Status: Inappropriate [embedded specific]
-
-Index: binutils-2.22/ld/emulparams/elf_i386.sh
-===================================================================
---- binutils-2.22.orig/ld/emulparams/elf_i386.sh
-+++ binutils-2.22/ld/emulparams/elf_i386.sh
-@@ -14,3 +14,13 @@ GENERATE_PIE_SCRIPT=yes
- NO_SMALL_DATA=yes
- SEPARATE_GOTPLT=12
- IREL_IN_PLT=
-+
-+# Linux modify the default library search path to first include
-+# a 32-bit specific directory.
-+case "$target" in
-+  x86_64*-linux* | i[3-7]86*-linux* | x86_64*-kfreebsd*-gnu | i[3-7]86*-kfreebsd*-gnu)
-+    case "$EMULATION_NAME" in
-+      *i386*) LIBPATH_SUFFIX=32 ;;
-+    esac
-+    ;;
-+esac
diff --git a/meta/recipes-devtools/binutils/binutils/clone-shadow.patch b/meta/recipes-devtools/binutils/binutils/clone-shadow.patch
deleted file mode 100644
index 73d9db2..0000000
--- a/meta/recipes-devtools/binutils/binutils/clone-shadow.patch
+++ /dev/null
@@ -1,79 +0,0 @@ 
-This fixes a global shadow warning. The warning is treated as error hence breaks the build of target
-binutils.
-
- /b/openembedded-core/build/tmp-uclibc/work/armv5te-oe-linux-uclibceabi/binutils-2.21.1-r1/binutils-2.21.1/gas/config/obj-elf.c: In function 'obj_elf_parse_section_letters':
-| /b/openembedded-core/build/tmp-uclibc/work/armv5te-oe-linux-uclibceabi/binutils-2.21.1-r1/binutils-2.21.1/gas/config/obj-elf.c:744:68: error: declaration of 'clone' shadows a global declaration [-Werror=shadow]
-| /b/openembedded-core/build/tmp-uclibc/work/armv5te-oe-linux-uclibceabi/binutils-2.21.1-r1/binutils-2.21.1/gas/config/obj-elf.c: In function 'obj_elf_section':
-| /b/openembedded-core/build/tmp-uclibc/work/armv5te-oe-linux-uclibceabi/binutils-2.21.1-r1/binutils-2.21.1/gas/config/obj-elf.c:981:16: error: declaration of 'clone' shadows a global declaration [-Werror=shadow]
-| cc1: all warnings being treated as errors
-|
-
-Upstream-Status: Pending
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
-Index: binutils-2.22/gas/config/obj-elf.c
-===================================================================
---- binutils-2.22.orig/gas/config/obj-elf.c
-+++ binutils-2.22/gas/config/obj-elf.c
-@@ -741,10 +741,10 @@ obj_elf_change_section (const char *name
- }
- 
- static bfd_vma
--obj_elf_parse_section_letters (char *str, size_t len, bfd_boolean *clone)
-+obj_elf_parse_section_letters (char *str, size_t len, bfd_boolean *cloneit)
- {
-   bfd_vma attr = 0;
--  *clone = FALSE;
-+  *cloneit = FALSE;
- 
-   while (len > 0)
-     {
-@@ -775,7 +775,7 @@ obj_elf_parse_section_letters (char *str
- 	  attr |= SHF_TLS;
- 	  break;
- 	case '?':
--	  *clone = TRUE;
-+	  *cloneit = TRUE;
- 	  break;
- 	/* Compatibility.  */
- 	case 'm':
-@@ -978,7 +978,7 @@ obj_elf_section (int push)
- 
-       if (*input_line_pointer == '"')
- 	{
--	  bfd_boolean clone;
-+	  bfd_boolean cloneit;
- 
- 	  beg = demand_copy_C_string (&dummy);
- 	  if (beg == NULL)
-@@ -986,7 +986,7 @@ obj_elf_section (int push)
- 	      ignore_rest_of_line ();
- 	      return;
- 	    }
--	  attr |= obj_elf_parse_section_letters (beg, strlen (beg), &clone);
-+	  attr |= obj_elf_parse_section_letters (beg, strlen (beg), &cloneit);
- 
- 	  SKIP_WHITESPACE ();
- 	  if (*input_line_pointer == ',')
-@@ -1038,10 +1038,10 @@ obj_elf_section (int push)
- 	      attr &= ~SHF_MERGE;
- 	    }
- 
--	  if ((attr & SHF_GROUP) != 0 && clone)
-+	  if ((attr & SHF_GROUP) != 0 && cloneit)
- 	    {
- 	      as_warn (_("? section flag ignored with G present"));
--	      clone = FALSE;
-+	      cloneit = FALSE;
- 	    }
- 	  if ((attr & SHF_GROUP) != 0 && *input_line_pointer == ',')
- 	    {
-@@ -1063,7 +1063,7 @@ obj_elf_section (int push)
- 	      attr &= ~SHF_GROUP;
- 	    }
- 
--	  if (clone)
-+	  if (cloneit)
- 	    {
- 	      const char *now_group = elf_group_name (now_seg);
- 	      if (now_group != NULL)
diff --git a/meta/recipes-devtools/binutils/binutils/libiberty_path_fix.patch b/meta/recipes-devtools/binutils/binutils/libiberty_path_fix.patch
deleted file mode 100644
index 6e732fb..0000000
--- a/meta/recipes-devtools/binutils/binutils/libiberty_path_fix.patch
+++ /dev/null
@@ -1,22 +0,0 @@ 
-Upstream-Status: Inappropriate [embedded specific]
-
-don't let the distro compiler point to the wrong installation location
-
-Thanks to RP for helping find the source code causing the issue.
-
-2010/08/13
-Nitin A Kamble <nitin.a.kamble@intel.com>
-Index: binutils-2.22/libiberty/Makefile.in
-===================================================================
---- binutils-2.22.orig/libiberty/Makefile.in
-+++ binutils-2.22/libiberty/Makefile.in
-@@ -350,7 +350,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.
--MULTIOSDIR = `$(CC) $(CFLAGS) -print-multi-os-directory`
-+#MULTIOSDIR = `$(CC) $(CFLAGS) -print-multi-os-directory`
-+MULTIOSDIR = ""
- install_to_libdir: all
- 	${mkinstalldirs} $(DESTDIR)$(libdir)/$(MULTIOSDIR)
- 	$(INSTALL_DATA) $(TARGETLIB) $(DESTDIR)$(libdir)/$(MULTIOSDIR)/$(TARGETLIB)n
diff --git a/meta/recipes-devtools/binutils/binutils/libtool-2.4-update.patch b/meta/recipes-devtools/binutils/binutils/libtool-2.4-update.patch
deleted file mode 100644
index 0f27361..0000000
--- a/meta/recipes-devtools/binutils/binutils/libtool-2.4-update.patch
+++ /dev/null
@@ -1,18705 +0,0 @@ 
-Upstream-Status: Inappropriate [embedded specific]
-
-Index: binutils-2.22/libtool.m4
-===================================================================
---- binutils-2.22.orig/libtool.m4
-+++ binutils-2.22/libtool.m4
-@@ -1,7 +1,8 @@
- # libtool.m4 - Configure libtool for the host system. -*-Autoconf-*-
- #
- #   Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005,
--#                 2006, 2007, 2008, 2009 Free Software Foundation, Inc.
-+#                 2006, 2007, 2008, 2009, 2010 Free Software Foundation,
-+#                 Inc.
- #   Written by Gordon Matzigkeit, 1996
- #
- # This file is free software; the Free Software Foundation gives
-@@ -10,7 +11,8 @@
- 
- m4_define([_LT_COPYING], [dnl
- #   Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005,
--#                 2006, 2007, 2008, 2009 Free Software Foundation, Inc.
-+#                 2006, 2007, 2008, 2009, 2010 Free Software Foundation,
-+#                 Inc.
- #   Written by Gordon Matzigkeit, 1996
- #
- #   This file is part of GNU Libtool.
-@@ -37,7 +39,7 @@ m4_define([_LT_COPYING], [dnl
- # 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
- ])
- 
--# serial 56 LT_INIT
-+# serial 57 LT_INIT
- 
- 
- # LT_PREREQ(VERSION)
-@@ -92,7 +94,8 @@ _LT_SET_OPTIONS([$0], [$1])
- LIBTOOL_DEPS="$ltmain"
- 
- # Always use our own libtool.
--LIBTOOL='$(SHELL) $(top_builddir)/libtool'
-+LIBTOOL='$(SHELL) $(top_builddir)'
-+LIBTOOL="$LIBTOOL/${host_alias}-libtool"
- AC_SUBST(LIBTOOL)dnl
- 
- _LT_SETUP
-@@ -166,10 +169,13 @@ _LT_DECL([], [exeext], [0], [Executable 
- dnl
- m4_require([_LT_FILEUTILS_DEFAULTS])dnl
- m4_require([_LT_CHECK_SHELL_FEATURES])dnl
-+m4_require([_LT_PATH_CONVERSION_FUNCTIONS])dnl
- m4_require([_LT_CMD_RELOAD])dnl
- m4_require([_LT_CHECK_MAGIC_METHOD])dnl
-+m4_require([_LT_CHECK_SHAREDLIB_FROM_LINKLIB])dnl
- m4_require([_LT_CMD_OLD_ARCHIVE])dnl
- m4_require([_LT_CMD_GLOBAL_SYMBOLS])dnl
-+m4_require([_LT_WITH_SYSROOT])dnl
- 
- _LT_CONFIG_LIBTOOL_INIT([
- # See if we are running on zsh, and set the options which allow our
-@@ -199,7 +205,7 @@ aix3*)
- esac
- 
- # Global variables:
--ofile=libtool
-+ofile=${host_alias}-libtool
- can_build_shared=yes
- 
- # All known linkers require a `.a' archive for static linking (except MSVC,
-@@ -632,7 +638,7 @@ m4_ifset([AC_PACKAGE_NAME], [AC_PACKAGE_
- m4_ifset([AC_PACKAGE_VERSION], [ AC_PACKAGE_VERSION])
- configured by $[0], generated by m4_PACKAGE_STRING.
- 
--Copyright (C) 2009 Free Software Foundation, Inc.
-+Copyright (C) 2010 Free Software Foundation, Inc.
- This config.lt script is free software; the Free Software Foundation
- gives unlimited permision to copy, distribute and modify it."
- 
-@@ -746,15 +752,12 @@ _LT_EOF
-   # 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?
--  sed '/^# Generated shell functions inserted here/q' "$ltmain" >> "$cfgfile" \
--    || (rm -f "$cfgfile"; exit 1)
-+  sed '$q' "$ltmain" >> "$cfgfile" \
-+     || (rm -f "$cfgfile"; exit 1)
- 
--  _LT_PROG_XSI_SHELLFNS
-+  _LT_PROG_REPLACE_SHELLFNS
- 
--  sed -n '/^# Generated shell functions inserted here/,$p' "$ltmain" >> "$cfgfile" \
--    || (rm -f "$cfgfile"; exit 1)
--
--  mv -f "$cfgfile" "$ofile" ||
-+   mv -f "$cfgfile" "$ofile" ||
-     (rm -f "$ofile" && cp "$cfgfile" "$ofile" && rm -f "$cfgfile")
-   chmod +x "$ofile"
- ],
-@@ -980,6 +983,8 @@ _LT_EOF
-       $LTCC $LTCFLAGS -c -o conftest.o conftest.c 2>&AS_MESSAGE_LOG_FD
-       echo "$AR cru libconftest.a conftest.o" >&AS_MESSAGE_LOG_FD
-       $AR cru libconftest.a conftest.o 2>&AS_MESSAGE_LOG_FD
-+      echo "$RANLIB libconftest.a" >&AS_MESSAGE_LOG_FD
-+      $RANLIB libconftest.a 2>&AS_MESSAGE_LOG_FD
-       cat > conftest.c << _LT_EOF
- int main() { return 0;}
- _LT_EOF
-@@ -1069,30 +1074,41 @@ m4_defun([_LT_DARWIN_LINKER_FEATURES],
-   fi
- ])
- 
--# _LT_SYS_MODULE_PATH_AIX
--# -----------------------
-+# _LT_SYS_MODULE_PATH_AIX([TAGNAME])
-+# ----------------------------------
- # Links a minimal program and checks the executable
- # for the system default hardcoded library path. In most cases,
- # this is /usr/lib:/lib, but when the MPI compilers are used
- # the location of the communication and MPI libs are included too.
- # If we don't find anything, use the default library path according
- # to the aix ld manual.
-+# Store the results from the different compilers for each TAGNAME.
-+# Allow to override them for all tags through lt_cv_aix_libpath.
- m4_defun([_LT_SYS_MODULE_PATH_AIX],
- [m4_require([_LT_DECL_SED])dnl
--AC_LINK_IFELSE(AC_LANG_PROGRAM,[
--lt_aix_libpath_sed='
--    /Import File Strings/,/^$/ {
--	/^0/ {
--	    s/^0  *\(.*\)$/\1/
--	    p
--	}
--    }'
--aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
--# Check for a 64-bit object if we didn't find anything.
--if test -z "$aix_libpath"; then
--  aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
--fi],[])
--if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
-+if test "${lt_cv_aix_libpath+set}" = set; then
-+  aix_libpath=$lt_cv_aix_libpath
-+else
-+  AC_CACHE_VAL([_LT_TAGVAR([lt_cv_aix_libpath_], [$1])],
-+  [AC_LINK_IFELSE([AC_LANG_PROGRAM],[
-+  lt_aix_libpath_sed='[
-+      /Import File Strings/,/^$/ {
-+	  /^0/ {
-+	      s/^0  *\([^ ]*\) *$/\1/
-+	      p
-+	  }
-+      }]'
-+  _LT_TAGVAR([lt_cv_aix_libpath_], [$1])=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
-+  # Check for a 64-bit object if we didn't find anything.
-+  if test -z "$_LT_TAGVAR([lt_cv_aix_libpath_], [$1])"; then
-+    _LT_TAGVAR([lt_cv_aix_libpath_], [$1])=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
-+  fi],[])
-+  if test -z "$_LT_TAGVAR([lt_cv_aix_libpath_], [$1])"; then
-+    _LT_TAGVAR([lt_cv_aix_libpath_], [$1])="/usr/lib:/lib"
-+  fi
-+  ])
-+  aix_libpath=$_LT_TAGVAR([lt_cv_aix_libpath_], [$1])
-+fi
- ])# _LT_SYS_MODULE_PATH_AIX
- 
- 
-@@ -1117,7 +1133,7 @@ ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO$ECHO
- 
- AC_MSG_CHECKING([how to print strings])
- # Test print first, because it will be a builtin if present.
--if test "X`print -r -- -n 2>/dev/null`" = X-n && \
-+if test "X`( print -r -- -n ) 2>/dev/null`" = X-n && \
-    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
-@@ -1161,6 +1177,39 @@ _LT_DECL([], [ECHO], [1], [An echo progr
- ])# _LT_PROG_ECHO_BACKSLASH
- 
- 
-+# _LT_WITH_SYSROOT
-+# ----------------
-+AC_DEFUN([_LT_WITH_SYSROOT],
-+[AC_MSG_CHECKING([for sysroot])
-+AC_ARG_WITH([libtool-sysroot],
-+[  --with-libtool-sysroot[=DIR] Search for dependent libraries within DIR
-+                        (or the compiler's sysroot if not specified).],
-+[], [with_libtool_sysroot=no])
-+
-+dnl lt_sysroot will always be passed unquoted.  We quote it here
-+dnl in case the user passed a directory name.
-+lt_sysroot=
-+case ${with_libtool_sysroot} in #(
-+ yes)
-+   if test "$GCC" = yes; then
-+     lt_sysroot=`$CC --print-sysroot 2>/dev/null`
-+   fi
-+   ;; #(
-+ /*)
-+   lt_sysroot=`echo "$with_libtool_sysroot" | sed -e "$sed_quote_subst"`
-+   ;; #(
-+ no|'')
-+   ;; #(
-+ *)
-+   AC_MSG_RESULT([${with_libtool_sysroot}])
-+   AC_MSG_ERROR([The sysroot must be an absolute path.])
-+   ;;
-+esac
-+
-+ AC_MSG_RESULT([${lt_sysroot:-no}])
-+_LT_DECL([], [lt_sysroot], [0], [The root where to search for ]dnl
-+[dependent libraries, and in which our libraries should be installed.])])
-+
- # _LT_ENABLE_LOCK
- # ---------------
- m4_defun([_LT_ENABLE_LOCK],
-@@ -1307,14 +1356,47 @@ need_locks="$enable_libtool_lock"
- ])# _LT_ENABLE_LOCK
- 
- 
-+# _LT_PROG_AR
-+# -----------
-+m4_defun([_LT_PROG_AR],
-+[AC_CHECK_TOOLS(AR, [ar], false)
-+: ${AR=ar}
-+: ${AR_FLAGS=cru}
-+_LT_DECL([], [AR], [1], [The archiver])
-+_LT_DECL([], [AR_FLAGS], [1], [Flags to create an archive])
-+
-+AC_CACHE_CHECK([for archiver @FILE support], [lt_cv_ar_at_file],
-+  [lt_cv_ar_at_file=no
-+   AC_COMPILE_IFELSE([AC_LANG_PROGRAM],
-+     [echo conftest.$ac_objext > conftest.lst
-+      lt_ar_try='$AR $AR_FLAGS libconftest.a @conftest.lst >&AS_MESSAGE_LOG_FD'
-+      AC_TRY_EVAL([lt_ar_try])
-+      if test "$ac_status" -eq 0; then
-+	# Ensure the archiver fails upon bogus file names.
-+	rm -f conftest.$ac_objext libconftest.a
-+	AC_TRY_EVAL([lt_ar_try])
-+	if test "$ac_status" -ne 0; then
-+          lt_cv_ar_at_file=@
-+        fi
-+      fi
-+      rm -f conftest.* libconftest.a
-+     ])
-+  ])
-+
-+if test "x$lt_cv_ar_at_file" = xno; then
-+  archiver_list_spec=
-+else
-+  archiver_list_spec=$lt_cv_ar_at_file
-+fi
-+_LT_DECL([], [archiver_list_spec], [1],
-+  [How to feed a file listing to the archiver])
-+])# _LT_PROG_AR
-+
-+
- # _LT_CMD_OLD_ARCHIVE
- # -------------------
- m4_defun([_LT_CMD_OLD_ARCHIVE],
--[AC_CHECK_TOOL(AR, ar, false)
--test -z "$AR" && AR=ar
--test -z "$AR_FLAGS" && AR_FLAGS=cru
--_LT_DECL([], [AR], [1], [The archiver])
--_LT_DECL([], [AR_FLAGS], [1])
-+[_LT_PROG_AR
- 
- AC_CHECK_TOOL(STRIP, strip, :)
- test -z "$STRIP" && STRIP=:
-@@ -1610,7 +1692,7 @@ else
-   lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
-   lt_status=$lt_dlunknown
-   cat > conftest.$ac_ext <<_LT_EOF
--[#line __oline__ "configure"
-+[#line $LINENO "configure"
- #include "confdefs.h"
- 
- #if HAVE_DLFCN_H
-@@ -1654,10 +1736,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))
--void fnord () __attribute__((visibility("default")));
-+int fnord () __attribute__((visibility("default")));
- #endif
- 
--void fnord () { int i=42; }
-+int fnord () { return 42; }
- int main ()
- {
-   void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW);
-@@ -2197,8 +2279,9 @@ cygwin* | mingw* | pw32* | cegcc*)
-   need_version=no
-   need_lib_prefix=no
- 
--  case $GCC,$host_os in
--  yes,cygwin* | yes,mingw* | yes,pw32* | yes,cegcc*)
-+  case $GCC,$cc_basename in
-+  yes,*)
-+    # gcc
-     library_names_spec='$libname.dll.a'
-     # DLL is installed to $(libdir)/../bin by postinstall_cmds
-     postinstall_cmds='base_file=`basename \${file}`~
-@@ -2231,13 +2314,71 @@ m4_if([$1], [],[
-       library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}'
-       ;;
-     esac
-+    dynamic_linker='Win32 ld.exe'
-+    ;;
-+
-+  *,cl*)
-+    # Native MSVC
-+    libname_spec='$name'
-+    soname_spec='${libname}`echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}'
-+    library_names_spec='${libname}.dll.lib'
-+
-+    case $build_os in
-+    mingw*)
-+      sys_lib_search_path_spec=
-+      lt_save_ifs=$IFS
-+      IFS=';'
-+      for lt_path in $LIB
-+      do
-+        IFS=$lt_save_ifs
-+        # Let DOS variable expansion print the short 8.3 style file name.
-+        lt_path=`cd "$lt_path" 2>/dev/null && cmd //C "for %i in (".") do @echo %~si"`
-+        sys_lib_search_path_spec="$sys_lib_search_path_spec $lt_path"
-+      done
-+      IFS=$lt_save_ifs
-+      # Convert to MSYS style.
-+      sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | sed -e 's|\\\\|/|g' -e 's| \\([[a-zA-Z]]\\):| /\\1|g' -e 's|^ ||'`
-+      ;;
-+    cygwin*)
-+      # Convert to unix form, then to dos form, then back to unix form
-+      # but this time dos style (no spaces!) so that the unix form looks
-+      # like /cygdrive/c/PROGRA~1:/cygdr...
-+      sys_lib_search_path_spec=`cygpath --path --unix "$LIB"`
-+      sys_lib_search_path_spec=`cygpath --path --dos "$sys_lib_search_path_spec" 2>/dev/null`
-+      sys_lib_search_path_spec=`cygpath --path --unix "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"`
-+      ;;
-+    *)
-+      sys_lib_search_path_spec="$LIB"
-+      if $ECHO "$sys_lib_search_path_spec" | [$GREP ';[c-zC-Z]:/' >/dev/null]; then
-+        # It is most probably a Windows format PATH.
-+        sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'`
-+      else
-+        sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"`
-+      fi
-+      # FIXME: find the short name or the path components, as spaces are
-+      # common. (e.g. "Program Files" -> "PROGRA~1")
-+      ;;
-+    esac
-+
-+    # DLL is installed to $(libdir)/../bin by postinstall_cmds
-+    postinstall_cmds='base_file=`basename \${file}`~
-+      dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i; echo \$dlname'\''`~
-+      dldir=$destdir/`dirname \$dlpath`~
-+      test -d \$dldir || mkdir -p \$dldir~
-+      $install_prog $dir/$dlname \$dldir/$dlname'
-+    postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~
-+      dlpath=$dir/\$dldll~
-+       $RM \$dlpath'
-+    shlibpath_overrides_runpath=yes
-+    dynamic_linker='Win32 link.exe'
-     ;;
- 
-   *)
-+    # Assume MSVC wrapper
-     library_names_spec='${libname}`echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext} $libname.lib'
-+    dynamic_linker='Win32 ld.exe'
-     ;;
-   esac
--  dynamic_linker='Win32 ld.exe'
-   # FIXME: first we should search . and the directory the executable is in
-   shlibpath_var=PATH
-   ;;
-@@ -2329,7 +2470,7 @@ haiku*)
-   soname_spec='${libname}${release}${shared_ext}$major'
-   shlibpath_var=LIBRARY_PATH
-   shlibpath_overrides_runpath=yes
--  sys_lib_dlsearch_path_spec='/boot/home/config/lib /boot/common/lib /boot/beos/system/lib'
-+  sys_lib_dlsearch_path_spec='/boot/home/config/lib /boot/common/lib /boot/system/lib'
-   hardcode_into_libs=yes
-   ;;
- 
-@@ -2937,6 +3078,11 @@ case $reload_flag in
- esac
- reload_cmds='$LD$reload_flag -o $output$reload_objs'
- case $host_os in
-+  cygwin* | mingw* | pw32* | cegcc*)
-+    if test "$GCC" != yes; then
-+      reload_cmds=false
-+    fi
-+    ;;
-   darwin*)
-     if test "$GCC" = yes; then
-       reload_cmds='$LTCC $LTCFLAGS -nostdlib ${wl}-r -o $output$reload_objs'
-@@ -3003,7 +3149,8 @@ mingw* | pw32*)
-     lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL'
-     lt_cv_file_magic_cmd='func_win32_libid'
-   else
--    lt_cv_deplibs_check_method='file_magic file format pei*-i386(.*architecture: i386)?'
-+    # Keep this pattern in sync with the one in func_win32_libid.
-+    lt_cv_deplibs_check_method='file_magic file format (pei*-i386(.*architecture: i386)?|pe-arm-wince|pe-x86-64)'
-     lt_cv_file_magic_cmd='$OBJDUMP -f'
-   fi
-   ;;
-@@ -3154,6 +3301,21 @@ tpf*)
-   ;;
- esac
- ])
-+
-+file_magic_glob=
-+want_nocaseglob=no
-+if test "$build" = "$host"; then
-+  case $host_os in
-+  mingw* | pw32*)
-+    if ( shopt | grep nocaseglob ) >/dev/null 2>&1; then
-+      want_nocaseglob=yes
-+    else
-+      file_magic_glob=`echo aAbBcCdDeEfFgGhHiIjJkKlLmMnNoOpPqQrRsStTuUvVwWxXyYzZ | $SED -e "s/\(..\)/s\/[[\1]]\/[[\1]]\/g;/g"`
-+    fi
-+    ;;
-+  esac
-+fi
-+
- 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
-@@ -3161,7 +3323,11 @@ test -z "$deplibs_check_method" && depli
- _LT_DECL([], [deplibs_check_method], [1],
-     [Method to check whether dependent libraries are shared objects])
- _LT_DECL([], [file_magic_cmd], [1],
--    [Command to use when deplibs_check_method == "file_magic"])
-+    [Command to use when deplibs_check_method = "file_magic"])
-+_LT_DECL([], [file_magic_glob], [1],
-+    [How to find potential files when deplibs_check_method = "file_magic"])
-+_LT_DECL([], [want_nocaseglob], [1],
-+    [Find potential files using nocaseglob when deplibs_check_method = "file_magic"])
- ])# _LT_CHECK_MAGIC_METHOD
- 
- 
-@@ -3264,6 +3430,67 @@ dnl aclocal-1.4 backwards compatibility:
- dnl AC_DEFUN([AM_PROG_NM], [])
- dnl AC_DEFUN([AC_PROG_NM], [])
- 
-+# _LT_CHECK_SHAREDLIB_FROM_LINKLIB
-+# --------------------------------
-+# how to determine the name of the shared library
-+# associated with a specific link library.
-+#  -- PORTME fill in with the dynamic library characteristics
-+m4_defun([_LT_CHECK_SHAREDLIB_FROM_LINKLIB],
-+[m4_require([_LT_DECL_EGREP])
-+m4_require([_LT_DECL_OBJDUMP])
-+m4_require([_LT_DECL_DLLTOOL])
-+AC_CACHE_CHECK([how to associate runtime and link libraries],
-+lt_cv_sharedlib_from_linklib_cmd,
-+[lt_cv_sharedlib_from_linklib_cmd='unknown'
-+
-+case $host_os in
-+cygwin* | mingw* | pw32* | cegcc*)
-+  # two different shell functions defined in ltmain.sh
-+  # decide which to use based on capabilities of $DLLTOOL
-+  case `$DLLTOOL --help 2>&1` in
-+  *--identify-strict*)
-+    lt_cv_sharedlib_from_linklib_cmd=func_cygming_dll_for_implib
-+    ;;
-+  *)
-+    lt_cv_sharedlib_from_linklib_cmd=func_cygming_dll_for_implib_fallback
-+    ;;
-+  esac
-+  ;;
-+*)
-+  # fallback: assume linklib IS sharedlib
-+  lt_cv_sharedlib_from_linklib_cmd="$ECHO"
-+  ;;
-+esac
-+])
-+sharedlib_from_linklib_cmd=$lt_cv_sharedlib_from_linklib_cmd
-+test -z "$sharedlib_from_linklib_cmd" && sharedlib_from_linklib_cmd=$ECHO
-+
-+_LT_DECL([], [sharedlib_from_linklib_cmd], [1],
-+    [Command to associate shared and link libraries])
-+])# _LT_CHECK_SHAREDLIB_FROM_LINKLIB
-+
-+
-+# _LT_PATH_MANIFEST_TOOL
-+# ----------------------
-+# locate the manifest tool
-+m4_defun([_LT_PATH_MANIFEST_TOOL],
-+[AC_CHECK_TOOL(MANIFEST_TOOL, mt, :)
-+test -z "$MANIFEST_TOOL" && MANIFEST_TOOL=mt
-+AC_CACHE_CHECK([if $MANIFEST_TOOL is a manifest tool], [lt_cv_path_mainfest_tool],
-+  [lt_cv_path_mainfest_tool=no
-+  echo "$as_me:$LINENO: $MANIFEST_TOOL '-?'" >&AS_MESSAGE_LOG_FD
-+  $MANIFEST_TOOL '-?' 2>conftest.err > conftest.out
-+  cat conftest.err >&AS_MESSAGE_LOG_FD
-+  if $GREP 'Manifest Tool' conftest.out > /dev/null; then
-+    lt_cv_path_mainfest_tool=yes
-+  fi
-+  rm -f conftest*])
-+if test "x$lt_cv_path_mainfest_tool" != xyes; then
-+  MANIFEST_TOOL=:
-+fi
-+_LT_DECL([], [MANIFEST_TOOL], [1], [Manifest tool])dnl
-+])# _LT_PATH_MANIFEST_TOOL
-+
- 
- # LT_LIB_M
- # --------
-@@ -3390,8 +3617,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
--lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([[^ ]]*\) $/  {\\\"\1\\\", (void *) 0},/p' -e 's/^$symcode* \([[^ ]]*\) \([[^ ]]*\)$/  {\"\2\", (void *) \&\2},/p'"
--lt_cv_sys_global_symbol_to_c_name_address_lib_prefix="sed -n -e 's/^: \([[^ ]]*\) $/  {\\\"\1\\\", (void *) 0},/p' -e 's/^$symcode* \([[^ ]]*\) \(lib[[^ ]]*\)$/  {\"\2\", (void *) \&\2},/p' -e 's/^$symcode* \([[^ ]]*\) \([[^ ]]*\)$/  {\"lib\2\", (void *) \&\2},/p'"
-+lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([[^ ]]*\)[[ ]]*$/  {\\\"\1\\\", (void *) 0},/p' -e 's/^$symcode* \([[^ ]]*\) \([[^ ]]*\)$/  {\"\2\", (void *) \&\2},/p'"
-+lt_cv_sys_global_symbol_to_c_name_address_lib_prefix="sed -n -e 's/^: \([[^ ]]*\)[[ ]]*$/  {\\\"\1\\\", (void *) 0},/p' -e 's/^$symcode* \([[^ ]]*\) \(lib[[^ ]]*\)$/  {\"\2\", (void *) \&\2},/p' -e 's/^$symcode* \([[^ ]]*\) \([[^ ]]*\)$/  {\"lib\2\", (void *) \&\2},/p'"
- 
- # Handle CRLF in mingw tool chain
- opt_cr=
-@@ -3427,6 +3654,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
-+  lt_cv_sys_global_symbol_pipe="$lt_cv_sys_global_symbol_pipe | sed '/ __gnu_lto/d'"
- 
-   # Check to see that the pipe works correctly.
-   pipe_works=no
-@@ -3460,6 +3688,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
-+/* Keep this code in sync between libtool.m4, ltmain, lt_system.h, and tests.  */
-+#if defined(_WIN32) || defined(__CYGWIN__) || defined(_WIN32_WCE)
-+/* DATA imports from DLLs on WIN32 con't be const, because runtime
-+   relocations are performed -- see ld's documentation on pseudo-relocs.  */
-+# define LT@&t@_DLSYM_CONST
-+#elif defined(__osf__)
-+/* This system does not cope well with relocations in const data.  */
-+# define LT@&t@_DLSYM_CONST
-+#else
-+# define LT@&t@_DLSYM_CONST const
-+#endif
-+
- #ifdef __cplusplus
- extern "C" {
- #endif
-@@ -3471,7 +3711,7 @@ _LT_EOF
- 	  cat <<_LT_EOF >> conftest.$ac_ext
- 
- /* The mapping between symbol names and symbols.  */
--const struct {
-+LT@&t@_DLSYM_CONST struct {
-   const char *name;
-   void       *address;
- }
-@@ -3497,15 +3737,15 @@ static const void *lt_preloaded_setup() 
- _LT_EOF
- 	  # Now try linking the two files.
- 	  mv conftest.$ac_objext conftstm.$ac_objext
--	  lt_save_LIBS="$LIBS"
--	  lt_save_CFLAGS="$CFLAGS"
-+	  lt_globsym_save_LIBS=$LIBS
-+	  lt_globsym_save_CFLAGS=$CFLAGS
- 	  LIBS="conftstm.$ac_objext"
- 	  CFLAGS="$CFLAGS$_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)"
- 	  if AC_TRY_EVAL(ac_link) && test -s conftest${ac_exeext}; then
- 	    pipe_works=yes
- 	  fi
--	  LIBS="$lt_save_LIBS"
--	  CFLAGS="$lt_save_CFLAGS"
-+	  LIBS=$lt_globsym_save_LIBS
-+	  CFLAGS=$lt_globsym_save_CFLAGS
- 	else
- 	  echo "cannot find nm_test_func in $nlist" >&AS_MESSAGE_LOG_FD
- 	fi
-@@ -3538,6 +3778,13 @@ else
-   AC_MSG_RESULT(ok)
- fi
- 
-+# Response file support.
-+if test "$lt_cv_nm_interface" = "MS dumpbin"; then
-+  nm_file_list_spec='@'
-+elif $NM --help 2>/dev/null | grep '[[@]]FILE' >/dev/null; then
-+  nm_file_list_spec='@'
-+fi
-+
- _LT_DECL([global_symbol_pipe], [lt_cv_sys_global_symbol_pipe], [1],
-     [Take the output of nm and produce a listing of raw symbols and C names])
- _LT_DECL([global_symbol_to_cdecl], [lt_cv_sys_global_symbol_to_cdecl], [1],
-@@ -3548,6 +3795,8 @@ _LT_DECL([global_symbol_to_c_name_addres
- _LT_DECL([global_symbol_to_c_name_address_lib_prefix],
-     [lt_cv_sys_global_symbol_to_c_name_address_lib_prefix], [1],
-     [Transform the output of nm in a C name address pair when lib prefix is needed])
-+_LT_DECL([], [nm_file_list_spec], [1],
-+    [Specify filename containing input files for $NM])
- ]) # _LT_CMD_GLOBAL_SYMBOLS
- 
- 
-@@ -3559,7 +3808,6 @@ _LT_TAGVAR(lt_prog_compiler_wl, $1)=
- _LT_TAGVAR(lt_prog_compiler_pic, $1)=
- _LT_TAGVAR(lt_prog_compiler_static, $1)=
- 
--AC_MSG_CHECKING([for $compiler option to produce PIC])
- m4_if([$1], [CXX], [
-   # C++ specific cases for pic, static, wl, etc.
-   if test "$GXX" = yes; then
-@@ -3664,6 +3912,12 @@ m4_if([$1], [CXX], [
- 	  ;;
- 	esac
- 	;;
-+      mingw* | cygwin* | os2* | pw32* | cegcc*)
-+	# This hack is so that the source file can tell whether it is being
-+	# built for inclusion in a dll (and should export symbols for example).
-+	m4_if([$1], [GCJ], [],
-+	  [_LT_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT'])
-+	;;
-       dgux*)
- 	case $cc_basename in
- 	  ec++*)
-@@ -3816,7 +4070,7 @@ m4_if([$1], [CXX], [
- 	;;
-       solaris*)
- 	case $cc_basename in
--	  CC*)
-+	  CC* | sunCC*)
- 	    # Sun C++ 4.2, 5.x and Centerline C++
- 	    _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
- 	    _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
-@@ -4038,6 +4292,12 @@ m4_if([$1], [CXX], [
- 	_LT_TAGVAR(lt_prog_compiler_pic, $1)='--shared'
- 	_LT_TAGVAR(lt_prog_compiler_static, $1)='--static'
- 	;;
-+      nagfor*)
-+	# NAG Fortran compiler
-+	_LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,-Wl,,'
-+	_LT_TAGVAR(lt_prog_compiler_pic, $1)='-PIC'
-+	_LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
-+	;;
-       pgcc* | pgf77* | pgf90* | pgf95* | pgfortran*)
-         # Portland Group compilers (*not* the Pentium gcc compiler,
- 	# which looks to be a dead project)
-@@ -4100,7 +4360,7 @@ m4_if([$1], [CXX], [
-       _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
-       _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
-       case $cc_basename in
--      f77* | f90* | f95*)
-+      f77* | f90* | f95* | sunf77* | sunf90* | sunf95*)
- 	_LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld ';;
-       *)
- 	_LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,';;
-@@ -4157,9 +4417,11 @@ case $host_os in
-     _LT_TAGVAR(lt_prog_compiler_pic, $1)="$_LT_TAGVAR(lt_prog_compiler_pic, $1)@&t@m4_if([$1],[],[ -DPIC],[m4_if([$1],[CXX],[ -DPIC],[])])"
-     ;;
- esac
--AC_MSG_RESULT([$_LT_TAGVAR(lt_prog_compiler_pic, $1)])
--_LT_TAGDECL([wl], [lt_prog_compiler_wl], [1],
--	[How to pass a linker flag through the compiler])
-+
-+AC_CACHE_CHECK([for $compiler option to produce PIC],
-+  [_LT_TAGVAR(lt_cv_prog_compiler_pic, $1)],
-+  [_LT_TAGVAR(lt_cv_prog_compiler_pic, $1)=$_LT_TAGVAR(lt_prog_compiler_pic, $1)])
-+_LT_TAGVAR(lt_prog_compiler_pic, $1)=$_LT_TAGVAR(lt_cv_prog_compiler_pic, $1)
- 
- #
- # Check to make sure the PIC flag actually works.
-@@ -4178,6 +4440,8 @@ fi
- _LT_TAGDECL([pic_flag], [lt_prog_compiler_pic], [1],
- 	[Additional compiler flags for building library objects])
- 
-+_LT_TAGDECL([wl], [lt_prog_compiler_wl], [1],
-+	[How to pass a linker flag through the compiler])
- #
- # Check to make sure the static flag actually works.
- #
-@@ -4198,6 +4462,7 @@ _LT_TAGDECL([link_static_flag], [lt_prog
- m4_defun([_LT_LINKER_SHLIBS],
- [AC_REQUIRE([LT_PATH_LD])dnl
- AC_REQUIRE([LT_PATH_NM])dnl
-+m4_require([_LT_PATH_MANIFEST_TOOL])dnl
- m4_require([_LT_FILEUTILS_DEFAULTS])dnl
- m4_require([_LT_DECL_EGREP])dnl
- m4_require([_LT_DECL_SED])dnl
-@@ -4206,6 +4471,7 @@ m4_require([_LT_TAG_COMPILER])dnl
- AC_MSG_CHECKING([whether the $compiler linker ($LD) supports shared libraries])
- m4_if([$1], [CXX], [
-   _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
-+  _LT_TAGVAR(exclude_expsyms, $1)=['_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*']
-   case $host_os in
-   aix[[4-9]]*)
-     # If we're using GNU nm, then we don't want the "-C" option.
-@@ -4220,15 +4486,20 @@ m4_if([$1], [CXX], [
-     ;;
-   pw32*)
-     _LT_TAGVAR(export_symbols_cmds, $1)="$ltdll_cmds"
--  ;;
-+    ;;
-   cygwin* | mingw* | cegcc*)
--    _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[[BCDGRS]][[ ]]/s/.*[[ ]]\([[^ ]]*\)/\1 DATA/;/^.*[[ ]]__nm__/s/^.*[[ ]]__nm__\([[^ ]]*\)[[ ]][[^ ]]*/\1 DATA/;/^I[[ ]]/d;/^[[AITW]][[ ]]/s/.* //'\'' | sort | uniq > $export_symbols'
--  ;;
-+    case $cc_basename in
-+    cl*) ;;
-+    *)
-+      _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[[BCDGRS]][[ ]]/s/.*[[ ]]\([[^ ]]*\)/\1 DATA/;s/^.*[[ ]]__nm__\([[^ ]]*\)[[ ]][[^ ]]*/\1 DATA/;/^I[[ ]]/d;/^[[AITW]][[ ]]/s/.* //'\'' | sort | uniq > $export_symbols'
-+      _LT_TAGVAR(exclude_expsyms, $1)=['[_]+GLOBAL_OFFSET_TABLE_|[_]+GLOBAL__[FID]_.*|[_]+head_[A-Za-z0-9_]+_dll|[A-Za-z0-9_]+_dll_iname']
-+      ;;
-+    esac
-+    ;;
-   *)
-     _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
--  ;;
-+    ;;
-   esac
--  _LT_TAGVAR(exclude_expsyms, $1)=['_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*']
- ], [
-   runpath_var=
-   _LT_TAGVAR(allow_undefined_flag, $1)=
-@@ -4396,7 +4667,8 @@ _LT_EOF
-       _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
-       _LT_TAGVAR(always_export_symbols, $1)=no
-       _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
--      _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[[BCDGRS]][[ ]]/s/.*[[ ]]\([[^ ]]*\)/\1 DATA/'\'' | $SED -e '\''/^[[AITW]][[ ]]/s/.*[[ ]]//'\'' | sort | uniq > $export_symbols'
-+      _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[[BCDGRS]][[ ]]/s/.*[[ ]]\([[^ ]]*\)/\1 DATA/;s/^.*[[ ]]__nm__\([[^ ]]*\)[[ ]][[^ ]]*/\1 DATA/;/^I[[ ]]/d;/^[[AITW]][[ ]]/s/.* //'\'' | sort | uniq > $export_symbols'
-+      _LT_TAGVAR(exclude_expsyms, $1)=['[_]+GLOBAL_OFFSET_TABLE_|[_]+GLOBAL__[FID]_.*|[_]+head_[A-Za-z0-9_]+_dll|[A-Za-z0-9_]+_dll_iname']
- 
-       if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then
-         _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
-@@ -4444,7 +4716,7 @@ _LT_EOF
-       if $LD --help 2>&1 | $EGREP ': supported targets:.* elf' > /dev/null \
- 	 && test "$tmp_diet" = no
-       then
--	tmp_addflag=
-+	tmp_addflag=' $pic_flag'
- 	tmp_sharedflag='-shared'
- 	case $cc_basename,$host_cpu in
-         pgcc*)				# Portland Group C compiler
-@@ -4495,12 +4767,12 @@ _LT_EOF
- 	  _LT_TAGVAR(whole_archive_flag_spec, $1)='--whole-archive$convenience --no-whole-archive'
- 	  _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=
- 	  _LT_TAGVAR(hardcode_libdir_flag_spec_ld, $1)='-rpath $libdir'
--	  _LT_TAGVAR(archive_cmds, $1)='$LD -shared $libobjs $deplibs $compiler_flags -soname $soname -o $lib'
-+	  _LT_TAGVAR(archive_cmds, $1)='$LD -shared $libobjs $deplibs $linker_flags -soname $soname -o $lib'
- 	  if test "x$supports_anon_versioning" = xyes; then
- 	    _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $output_objdir/$libname.ver~
- 	      cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
- 	      echo "local: *; };" >> $output_objdir/$libname.ver~
--	      $LD -shared $libobjs $deplibs $compiler_flags -soname $soname -version-script $output_objdir/$libname.ver -o $lib'
-+	      $LD -shared $libobjs $deplibs $linker_flags -soname $soname -version-script $output_objdir/$libname.ver -o $lib'
- 	  fi
- 	  ;;
- 	esac
-@@ -4514,8 +4786,8 @@ _LT_EOF
- 	_LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib'
- 	wlarc=
-       else
--	_LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
--	_LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
-+	_LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
-+	_LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
-       fi
-       ;;
- 
-@@ -4533,8 +4805,8 @@ _LT_EOF
- 
- _LT_EOF
-       elif $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
--	_LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
--	_LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
-+	_LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
-+	_LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
-       else
- 	_LT_TAGVAR(ld_shlibs, $1)=no
-       fi
-@@ -4580,8 +4852,8 @@ _LT_EOF
- 
-     *)
-       if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
--	_LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
--	_LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
-+	_LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
-+	_LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
-       else
- 	_LT_TAGVAR(ld_shlibs, $1)=no
-       fi
-@@ -4711,7 +4983,7 @@ _LT_EOF
- 	_LT_TAGVAR(allow_undefined_flag, $1)='-berok'
-         # Determine the default libpath from the value encoded in an
-         # empty executable.
--        _LT_SYS_MODULE_PATH_AIX
-+        _LT_SYS_MODULE_PATH_AIX([$1])
-         _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath"
-         _LT_TAGVAR(archive_expsym_cmds, $1)='$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"
-       else
-@@ -4722,7 +4994,7 @@ _LT_EOF
- 	else
- 	 # Determine the default libpath from the value encoded in an
- 	 # empty executable.
--	 _LT_SYS_MODULE_PATH_AIX
-+	 _LT_SYS_MODULE_PATH_AIX([$1])
- 	 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath"
- 	  # Warning - without using the other run time loading flags,
- 	  # -berok will link without error, but may produce a broken library.
-@@ -4766,20 +5038,63 @@ _LT_EOF
-       # Microsoft Visual C++.
-       # hardcode_libdir_flag_spec is actually meaningless, as there is
-       # no search path for DLLs.
--      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=' '
--      _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
--      # Tell ltmain to make .lib files, not .a files.
--      libext=lib
--      # Tell ltmain to make .dll files, not .so files.
--      shrext_cmds=".dll"
--      # FIXME: Setting linknames here is a bad hack.
--      _LT_TAGVAR(archive_cmds, $1)='$CC -o $lib $libobjs $compiler_flags `func_echo_all "$deplibs" | $SED '\''s/ -lc$//'\''` -link -dll~linknames='
--      # The linker will automatically build a .lib file if we build a DLL.
--      _LT_TAGVAR(old_archive_from_new_cmds, $1)='true'
--      # FIXME: Should let the user specify the lib program.
--      _LT_TAGVAR(old_archive_cmds, $1)='lib -OUT:$oldlib$oldobjs$old_deplibs'
--      _LT_TAGVAR(fix_srcfile_path, $1)='`cygpath -w "$srcfile"`'
--      _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
-+      case $cc_basename in
-+      cl*)
-+	# Native MSVC
-+	_LT_TAGVAR(hardcode_libdir_flag_spec, $1)=' '
-+	_LT_TAGVAR(allow_undefined_flag, $1)=unsupported
-+	_LT_TAGVAR(always_export_symbols, $1)=yes
-+	_LT_TAGVAR(file_list_spec, $1)='@'
-+	# Tell ltmain to make .lib files, not .a files.
-+	libext=lib
-+	# Tell ltmain to make .dll files, not .so files.
-+	shrext_cmds=".dll"
-+	# FIXME: Setting linknames here is a bad hack.
-+	_LT_TAGVAR(archive_cmds, $1)='$CC -o $output_objdir/$soname $libobjs $compiler_flags $deplibs -Wl,-dll~linknames='
-+	_LT_TAGVAR(archive_expsym_cmds, $1)='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then
-+	    sed -n -e 's/\\\\\\\(.*\\\\\\\)/-link\\\ -EXPORT:\\\\\\\1/' -e '1\\\!p' < $export_symbols > $output_objdir/$soname.exp;
-+	  else
-+	    sed -e 's/\\\\\\\(.*\\\\\\\)/-link\\\ -EXPORT:\\\\\\\1/' < $export_symbols > $output_objdir/$soname.exp;
-+	  fi~
-+	  $CC -o $tool_output_objdir$soname $libobjs $compiler_flags $deplibs "@$tool_output_objdir$soname.exp" -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~
-+	  linknames='
-+	# The linker will not automatically build a static lib if we build a DLL.
-+	# _LT_TAGVAR(old_archive_from_new_cmds, $1)='true'
-+	_LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
-+	_LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[[BCDGRS]][[ ]]/s/.*[[ ]]\([[^ ]]*\)/\1,DATA/'\'' | $SED -e '\''/^[[AITW]][[ ]]/s/.*[[ ]]//'\'' | sort | uniq > $export_symbols'
-+	# Don't use ranlib
-+	_LT_TAGVAR(old_postinstall_cmds, $1)='chmod 644 $oldlib'
-+	_LT_TAGVAR(postlink_cmds, $1)='lt_outputfile="@OUTPUT@"~
-+	  lt_tool_outputfile="@TOOL_OUTPUT@"~
-+	  case $lt_outputfile in
-+	    *.exe|*.EXE) ;;
-+	    *)
-+	      lt_outputfile="$lt_outputfile.exe"
-+	      lt_tool_outputfile="$lt_tool_outputfile.exe"
-+	      ;;
-+	  esac~
-+	  if test "$MANIFEST_TOOL" != ":" && test -f "$lt_outputfile.manifest"; then
-+	    $MANIFEST_TOOL -manifest "$lt_tool_outputfile.manifest" -outputresource:"$lt_tool_outputfile" || exit 1;
-+	    $RM "$lt_outputfile.manifest";
-+	  fi'
-+	;;
-+      *)
-+	# Assume MSVC wrapper
-+	_LT_TAGVAR(hardcode_libdir_flag_spec, $1)=' '
-+	_LT_TAGVAR(allow_undefined_flag, $1)=unsupported
-+	# Tell ltmain to make .lib files, not .a files.
-+	libext=lib
-+	# Tell ltmain to make .dll files, not .so files.
-+	shrext_cmds=".dll"
-+	# FIXME: Setting linknames here is a bad hack.
-+	_LT_TAGVAR(archive_cmds, $1)='$CC -o $lib $libobjs $compiler_flags `func_echo_all "$deplibs" | $SED '\''s/ -lc$//'\''` -link -dll~linknames='
-+	# The linker will automatically build a .lib file if we build a DLL.
-+	_LT_TAGVAR(old_archive_from_new_cmds, $1)='true'
-+	# FIXME: Should let the user specify the lib program.
-+	_LT_TAGVAR(old_archive_cmds, $1)='lib -OUT:$oldlib$oldobjs$old_deplibs'
-+	_LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
-+	;;
-+      esac
-       ;;
- 
-     darwin* | rhapsody*)
-@@ -4813,7 +5128,7 @@ _LT_EOF
- 
-     # FreeBSD 3 and greater uses gcc -shared to do shared libraries.
-     freebsd* | dragonfly*)
--      _LT_TAGVAR(archive_cmds, $1)='$CC -shared -o $lib $libobjs $deplibs $compiler_flags'
-+      _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
-       _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
-       _LT_TAGVAR(hardcode_direct, $1)=yes
-       _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
-@@ -4821,7 +5136,7 @@ _LT_EOF
- 
-     hpux9*)
-       if test "$GCC" = yes; then
--	_LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/$soname~$CC -shared -fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $libobjs $deplibs $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
-+	_LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/$soname~$CC -shared $pic_flag ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $libobjs $deplibs $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
-       else
- 	_LT_TAGVAR(archive_cmds, $1)='$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
-@@ -4837,7 +5152,7 @@ _LT_EOF
- 
-     hpux10*)
-       if test "$GCC" = yes && test "$with_gnu_ld" = no; then
--	_LT_TAGVAR(archive_cmds, $1)='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
-+	_LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
-       else
- 	_LT_TAGVAR(archive_cmds, $1)='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags'
-       fi
-@@ -4861,10 +5176,10 @@ _LT_EOF
- 	  _LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
- 	  ;;
- 	ia64*)
--	  _LT_TAGVAR(archive_cmds, $1)='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags'
-+	  _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags'
- 	  ;;
- 	*)
--	  _LT_TAGVAR(archive_cmds, $1)='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
-+	  _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
- 	  ;;
- 	esac
-       else
-@@ -4911,16 +5226,31 @@ _LT_EOF
- 
-     irix5* | irix6* | nonstopux*)
-       if test "$GCC" = yes; then
--	_LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $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'
-+	_LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $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'
- 	# Try to use the -exported_symbol ld option, if it does not
- 	# work, assume that -exports_file does not work either and
- 	# implicitly export all symbols.
--        save_LDFLAGS="$LDFLAGS"
--        LDFLAGS="$LDFLAGS -shared ${wl}-exported_symbol ${wl}foo ${wl}-update_registry ${wl}/dev/null"
--        AC_LINK_IFELSE(int foo(void) {},
--          _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $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 ${wl}-exports_file ${wl}$export_symbols -o $lib'
--        )
--        LDFLAGS="$save_LDFLAGS"
-+	# This should be the same for all languages, so no per-tag cache variable.
-+	AC_CACHE_CHECK([whether the $host_os linker accepts -exported_symbol],
-+	  [lt_cv_irix_exported_symbol],
-+	  [save_LDFLAGS="$LDFLAGS"
-+	   LDFLAGS="$LDFLAGS -shared ${wl}-exported_symbol ${wl}foo ${wl}-update_registry ${wl}/dev/null"
-+	   AC_LINK_IFELSE(
-+	     [AC_LANG_SOURCE(
-+	        [AC_LANG_CASE([C], [[int foo (void) { return 0; }]],
-+			      [C++], [[int foo (void) { return 0; }]],
-+			      [Fortran 77], [[
-+      subroutine foo
-+      end]],
-+			      [Fortran], [[
-+      subroutine foo
-+      end]])])],
-+	      [lt_cv_irix_exported_symbol=yes],
-+	      [lt_cv_irix_exported_symbol=no])
-+           LDFLAGS="$save_LDFLAGS"])
-+	if test "$lt_cv_irix_exported_symbol" = yes; then
-+          _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $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 ${wl}-exports_file ${wl}$export_symbols -o $lib'
-+	fi
-       else
- 	_LT_TAGVAR(archive_cmds, $1)='$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'
- 	_LT_TAGVAR(archive_expsym_cmds, $1)='$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'
-@@ -5005,7 +5335,7 @@ _LT_EOF
-     osf4* | osf5*)	# as osf3* with the addition of -msym flag
-       if test "$GCC" = yes; then
- 	_LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*'
--	_LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-msym ${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'
-+	_LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $pic_flag $libobjs $deplibs $compiler_flags ${wl}-msym ${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'
- 	_LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
-       else
- 	_LT_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*'
-@@ -5024,9 +5354,9 @@ _LT_EOF
-       _LT_TAGVAR(no_undefined_flag, $1)=' -z defs'
-       if test "$GCC" = yes; then
- 	wlarc='${wl}'
--	_LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-z ${wl}text ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
-+	_LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag ${wl}-z ${wl}text ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
- 	_LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
--	  $CC -shared ${wl}-z ${wl}text ${wl}-M ${wl}$lib.exp ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp'
-+	  $CC -shared $pic_flag ${wl}-z ${wl}text ${wl}-M ${wl}$lib.exp ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp'
-       else
- 	case `$CC -V 2>&1` in
- 	*"Compilers 5.0"*)
-@@ -5298,8 +5628,6 @@ _LT_TAGDECL([], [inherit_rpath], [0],
-     to runtime path list])
- _LT_TAGDECL([], [link_all_deplibs], [0],
-     [Whether libtool must link a program against all its dependency libraries])
--_LT_TAGDECL([], [fix_srcfile_path], [1],
--    [Fix the shell variable $srcfile for the compiler])
- _LT_TAGDECL([], [always_export_symbols], [0],
-     [Set to "yes" if exported symbols are required])
- _LT_TAGDECL([], [export_symbols_cmds], [2],
-@@ -5310,6 +5638,8 @@ _LT_TAGDECL([], [include_expsyms], [1],
-     [Symbols that must always be exported])
- _LT_TAGDECL([], [prelink_cmds], [2],
-     [Commands necessary for linking programs (against libraries) with templates])
-+_LT_TAGDECL([], [postlink_cmds], [2],
-+    [Commands necessary for finishing linking programs])
- _LT_TAGDECL([], [file_list_spec], [1],
-     [Specify filename containing input files])
- dnl FIXME: Not yet implemented
-@@ -5411,6 +5741,7 @@ CC="$lt_save_CC"
- m4_defun([_LT_LANG_CXX_CONFIG],
- [m4_require([_LT_FILEUTILS_DEFAULTS])dnl
- m4_require([_LT_DECL_EGREP])dnl
-+m4_require([_LT_PATH_MANIFEST_TOOL])dnl
- if test -n "$CXX" && ( test "X$CXX" != "Xno" &&
-     ( (test "X$CXX" = "Xg++" && `g++ -v >/dev/null 2>&1` ) ||
-     (test "X$CXX" != "Xg++"))) ; then
-@@ -5472,6 +5803,7 @@ if test "$_lt_caught_CXX_error" != yes; 
- 
-   # Allow CC to be a program name with arguments.
-   lt_save_CC=$CC
-+  lt_save_CFLAGS=$CFLAGS
-   lt_save_LD=$LD
-   lt_save_GCC=$GCC
-   GCC=$GXX
-@@ -5489,6 +5821,7 @@ if test "$_lt_caught_CXX_error" != yes; 
-   fi
-   test -z "${LDCXX+set}" || LD=$LDCXX
-   CC=${CXX-"c++"}
-+  CFLAGS=$CXXFLAGS
-   compiler=$CC
-   _LT_TAGVAR(compiler, $1)=$CC
-   _LT_CC_BASENAME([$compiler])
-@@ -5510,8 +5843,8 @@ if test "$_lt_caught_CXX_error" != yes; 
-       # Check if GNU C++ uses GNU ld as the underlying linker, since the
-       # archiving commands below assume that GNU ld is being used.
-       if test "$with_gnu_ld" = yes; then
--        _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib'
--        _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
-+        _LT_TAGVAR(archive_cmds, $1)='$CC $pic_flag -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib'
-+        _LT_TAGVAR(archive_expsym_cmds, $1)='$CC $pic_flag -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
- 
-         _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
-         _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic'
-@@ -5652,7 +5985,7 @@ if test "$_lt_caught_CXX_error" != yes; 
-           _LT_TAGVAR(allow_undefined_flag, $1)='-berok'
-           # Determine the default libpath from the value encoded in an empty
-           # executable.
--          _LT_SYS_MODULE_PATH_AIX
-+          _LT_SYS_MODULE_PATH_AIX([$1])
-           _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath"
- 
-           _LT_TAGVAR(archive_expsym_cmds, $1)='$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"
-@@ -5664,7 +5997,7 @@ if test "$_lt_caught_CXX_error" != yes; 
-           else
- 	    # Determine the default libpath from the value encoded in an
- 	    # empty executable.
--	    _LT_SYS_MODULE_PATH_AIX
-+	    _LT_SYS_MODULE_PATH_AIX([$1])
- 	    _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath"
- 	    # Warning - without using the other run time loading flags,
- 	    # -berok will link without error, but may produce a broken library.
-@@ -5706,29 +6039,75 @@ if test "$_lt_caught_CXX_error" != yes; 
-         ;;
- 
-       cygwin* | mingw* | pw32* | cegcc*)
--        # _LT_TAGVAR(hardcode_libdir_flag_spec, $1) is actually meaningless,
--        # as there is no search path for DLLs.
--        _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
--        _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-all-symbols'
--        _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
--        _LT_TAGVAR(always_export_symbols, $1)=no
--        _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
--
--        if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then
--          _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
--          # If the export-symbols file already is a .def file (1st line
--          # is EXPORTS), use it as is; otherwise, prepend...
--          _LT_TAGVAR(archive_expsym_cmds, $1)='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then
--	    cp $export_symbols $output_objdir/$soname.def;
--          else
--	    echo EXPORTS > $output_objdir/$soname.def;
--	    cat $export_symbols >> $output_objdir/$soname.def;
--          fi~
--          $CC -shared -nostdlib $output_objdir/$soname.def $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
--        else
--          _LT_TAGVAR(ld_shlibs, $1)=no
--        fi
--        ;;
-+	case $GXX,$cc_basename in
-+	,cl* | no,cl*)
-+	  # Native MSVC
-+	  # hardcode_libdir_flag_spec is actually meaningless, as there is
-+	  # no search path for DLLs.
-+	  _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=' '
-+	  _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
-+	  _LT_TAGVAR(always_export_symbols, $1)=yes
-+	  _LT_TAGVAR(file_list_spec, $1)='@'
-+	  # Tell ltmain to make .lib files, not .a files.
-+	  libext=lib
-+	  # Tell ltmain to make .dll files, not .so files.
-+	  shrext_cmds=".dll"
-+	  # FIXME: Setting linknames here is a bad hack.
-+	  _LT_TAGVAR(archive_cmds, $1)='$CC -o $output_objdir/$soname $libobjs $compiler_flags $deplibs -Wl,-dll~linknames='
-+	  _LT_TAGVAR(archive_expsym_cmds, $1)='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then
-+	      $SED -n -e 's/\\\\\\\(.*\\\\\\\)/-link\\\ -EXPORT:\\\\\\\1/' -e '1\\\!p' < $export_symbols > $output_objdir/$soname.exp;
-+	    else
-+	      $SED -e 's/\\\\\\\(.*\\\\\\\)/-link\\\ -EXPORT:\\\\\\\1/' < $export_symbols > $output_objdir/$soname.exp;
-+	    fi~
-+	    $CC -o $tool_output_objdir$soname $libobjs $compiler_flags $deplibs "@$tool_output_objdir$soname.exp" -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~
-+	    linknames='
-+	  # The linker will not automatically build a static lib if we build a DLL.
-+	  # _LT_TAGVAR(old_archive_from_new_cmds, $1)='true'
-+	  _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
-+	  # Don't use ranlib
-+	  _LT_TAGVAR(old_postinstall_cmds, $1)='chmod 644 $oldlib'
-+	  _LT_TAGVAR(postlink_cmds, $1)='lt_outputfile="@OUTPUT@"~
-+	    lt_tool_outputfile="@TOOL_OUTPUT@"~
-+	    case $lt_outputfile in
-+	      *.exe|*.EXE) ;;
-+	      *)
-+		lt_outputfile="$lt_outputfile.exe"
-+		lt_tool_outputfile="$lt_tool_outputfile.exe"
-+		;;
-+	    esac~
-+	    func_to_tool_file "$lt_outputfile"~
-+	    if test "$MANIFEST_TOOL" != ":" && test -f "$lt_outputfile.manifest"; then
-+	      $MANIFEST_TOOL -manifest "$lt_tool_outputfile.manifest" -outputresource:"$lt_tool_outputfile" || exit 1;
-+	      $RM "$lt_outputfile.manifest";
-+	    fi'
-+	  ;;
-+	*)
-+	  # g++
-+	  # _LT_TAGVAR(hardcode_libdir_flag_spec, $1) is actually meaningless,
-+	  # as there is no search path for DLLs.
-+	  _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
-+	  _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-all-symbols'
-+	  _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
-+	  _LT_TAGVAR(always_export_symbols, $1)=no
-+	  _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
-+
-+	  if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then
-+	    _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
-+	    # If the export-symbols file already is a .def file (1st line
-+	    # is EXPORTS), use it as is; otherwise, prepend...
-+	    _LT_TAGVAR(archive_expsym_cmds, $1)='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then
-+	      cp $export_symbols $output_objdir/$soname.def;
-+	    else
-+	      echo EXPORTS > $output_objdir/$soname.def;
-+	      cat $export_symbols >> $output_objdir/$soname.def;
-+	    fi~
-+	    $CC -shared -nostdlib $output_objdir/$soname.def $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
-+	  else
-+	    _LT_TAGVAR(ld_shlibs, $1)=no
-+	  fi
-+	  ;;
-+	esac
-+	;;
-       darwin* | rhapsody*)
-         _LT_DARWIN_LINKER_FEATURES($1)
- 	;;
-@@ -5803,7 +6182,7 @@ if test "$_lt_caught_CXX_error" != yes; 
-             ;;
-           *)
-             if test "$GXX" = yes; then
--              _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/$soname~$CC -shared -nostdlib -fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
-+              _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/$soname~$CC -shared -nostdlib $pic_flag ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
-             else
-               # FIXME: insert proper C++ library support
-               _LT_TAGVAR(ld_shlibs, $1)=no
-@@ -5874,10 +6253,10 @@ if test "$_lt_caught_CXX_error" != yes; 
- 	            _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
- 	            ;;
- 	          ia64*)
--	            _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
-+	            _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $pic_flag ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
- 	            ;;
- 	          *)
--	            _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
-+	            _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $pic_flag ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
- 	            ;;
- 	        esac
- 	      fi
-@@ -5918,9 +6297,9 @@ if test "$_lt_caught_CXX_error" != yes; 
-           *)
- 	    if test "$GXX" = yes; then
- 	      if test "$with_gnu_ld" = no; then
--	        _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $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'
-+	        _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -nostdlib $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'
- 	      else
--	        _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` -o $lib'
-+	        _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` -o $lib'
- 	      fi
- 	    fi
- 	    _LT_TAGVAR(link_all_deplibs, $1)=yes
-@@ -5990,20 +6369,20 @@ if test "$_lt_caught_CXX_error" != yes; 
- 	      _LT_TAGVAR(prelink_cmds, $1)='tpldir=Template.dir~
- 		rm -rf $tpldir~
- 		$CC --prelink_objects --instantiation_dir $tpldir $objs $libobjs $compile_deplibs~
--		compile_command="$compile_command `find $tpldir -name \*.o | $NL2SP`"'
-+		compile_command="$compile_command `find $tpldir -name \*.o | sort | $NL2SP`"'
- 	      _LT_TAGVAR(old_archive_cmds, $1)='tpldir=Template.dir~
- 		rm -rf $tpldir~
- 		$CC --prelink_objects --instantiation_dir $tpldir $oldobjs$old_deplibs~
--		$AR $AR_FLAGS $oldlib$oldobjs$old_deplibs `find $tpldir -name \*.o | $NL2SP`~
-+		$AR $AR_FLAGS $oldlib$oldobjs$old_deplibs `find $tpldir -name \*.o | sort | $NL2SP`~
- 		$RANLIB $oldlib'
- 	      _LT_TAGVAR(archive_cmds, $1)='tpldir=Template.dir~
- 		rm -rf $tpldir~
- 		$CC --prelink_objects --instantiation_dir $tpldir $predep_objects $libobjs $deplibs $convenience $postdep_objects~
--		$CC -shared $pic_flag $predep_objects $libobjs $deplibs `find $tpldir -name \*.o | $NL2SP` $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname -o $lib'
-+		$CC -shared $pic_flag $predep_objects $libobjs $deplibs `find $tpldir -name \*.o | sort | $NL2SP` $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname -o $lib'
- 	      _LT_TAGVAR(archive_expsym_cmds, $1)='tpldir=Template.dir~
- 		rm -rf $tpldir~
- 		$CC --prelink_objects --instantiation_dir $tpldir $predep_objects $libobjs $deplibs $convenience $postdep_objects~
--		$CC -shared $pic_flag $predep_objects $libobjs $deplibs `find $tpldir -name \*.o | $NL2SP` $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname ${wl}-retain-symbols-file ${wl}$export_symbols -o $lib'
-+		$CC -shared $pic_flag $predep_objects $libobjs $deplibs `find $tpldir -name \*.o | sort | $NL2SP` $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname ${wl}-retain-symbols-file ${wl}$export_symbols -o $lib'
- 	      ;;
- 	    *) # Version 6 and above use weak symbols
- 	      _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname -o $lib'
-@@ -6198,7 +6577,7 @@ if test "$_lt_caught_CXX_error" != yes; 
- 	          _LT_TAGVAR(archive_cmds, $1)='$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'
- 		  ;;
- 	        *)
--	          _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-msym ${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'
-+	          _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-msym ${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'
- 		  ;;
- 	      esac
- 
-@@ -6244,7 +6623,7 @@ if test "$_lt_caught_CXX_error" != yes; 
- 
-       solaris*)
-         case $cc_basename in
--          CC*)
-+          CC* | sunCC*)
- 	    # Sun C++ 4.2, 5.x and Centerline C++
-             _LT_TAGVAR(archive_cmds_need_lc,$1)=yes
- 	    _LT_TAGVAR(no_undefined_flag, $1)=' -zdefs'
-@@ -6285,9 +6664,9 @@ if test "$_lt_caught_CXX_error" != yes; 
- 	    if test "$GXX" = yes && test "$with_gnu_ld" = no; then
- 	      _LT_TAGVAR(no_undefined_flag, $1)=' ${wl}-z ${wl}defs'
- 	      if $CC --version | $GREP -v '^2\.7' > /dev/null; then
--	        _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $LDFLAGS $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib'
-+	        _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -nostdlib $LDFLAGS $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib'
- 	        _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
--		  $CC -shared -nostdlib ${wl}-M $wl$lib.exp -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp'
-+		  $CC -shared $pic_flag -nostdlib ${wl}-M $wl$lib.exp -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp'
- 
- 	        # Commands to make compiler produce verbose output that lists
- 	        # what "hidden" libraries, object files and flags are used when
-@@ -6416,6 +6795,7 @@ if test "$_lt_caught_CXX_error" != yes; 
-   fi # test -n "$compiler"
- 
-   CC=$lt_save_CC
-+  CFLAGS=$lt_save_CFLAGS
-   LDCXX=$LD
-   LD=$lt_save_LD
-   GCC=$lt_save_GCC
-@@ -6430,6 +6810,29 @@ AC_LANG_POP
- ])# _LT_LANG_CXX_CONFIG
- 
- 
-+# _LT_FUNC_STRIPNAME_CNF
-+# ----------------------
-+# func_stripname_cnf prefix suffix name
-+# strip PREFIX and SUFFIX off of NAME.
-+# PREFIX and SUFFIX must not contain globbing or regex special
-+# characters, hashes, percent signs, but SUFFIX may contain a leading
-+# dot (in which case that matches only a dot).
-+#
-+# This function is identical to the (non-XSI) version of func_stripname,
-+# except this one can be used by m4 code that may be executed by configure,
-+# rather than the libtool script.
-+m4_defun([_LT_FUNC_STRIPNAME_CNF],[dnl
-+AC_REQUIRE([_LT_DECL_SED])
-+AC_REQUIRE([_LT_PROG_ECHO_BACKSLASH])
-+func_stripname_cnf ()
-+{
-+  case ${2} in
-+  .*) func_stripname_result=`$ECHO "${3}" | $SED "s%^${1}%%; s%\\\\${2}\$%%"`;;
-+  *)  func_stripname_result=`$ECHO "${3}" | $SED "s%^${1}%%; s%${2}\$%%"`;;
-+  esac
-+} # func_stripname_cnf
-+])# _LT_FUNC_STRIPNAME_CNF
-+
- # _LT_SYS_HIDDEN_LIBDEPS([TAGNAME])
- # ---------------------------------
- # Figure out "hidden" library dependencies from verbose
-@@ -6438,6 +6841,7 @@ AC_LANG_POP
- # objects, libraries and library flags.
- m4_defun([_LT_SYS_HIDDEN_LIBDEPS],
- [m4_require([_LT_FILEUTILS_DEFAULTS])dnl
-+AC_REQUIRE([_LT_FUNC_STRIPNAME_CNF])dnl
- # Dependencies to place before and after the object being linked:
- _LT_TAGVAR(predep_objects, $1)=
- _LT_TAGVAR(postdep_objects, $1)=
-@@ -6488,6 +6892,13 @@ public class foo {
- };
- _LT_EOF
- ])
-+
-+_lt_libdeps_save_CFLAGS=$CFLAGS
-+case "$CC $CFLAGS " in #(
-+*\ -flto*\ *) CFLAGS="$CFLAGS -fno-lto" ;;
-+*\ -fwhopr*\ *) CFLAGS="$CFLAGS -fno-whopr" ;;
-+esac
-+
- dnl Parse the compiler output and extract the necessary
- dnl objects, libraries and library flags.
- if AC_TRY_EVAL(ac_compile); then
-@@ -6499,7 +6910,7 @@ if AC_TRY_EVAL(ac_compile); then
-   pre_test_object_deps_done=no
- 
-   for p in `eval "$output_verbose_link_cmd"`; do
--    case $p in
-+    case ${prev}${p} in
- 
-     -L* | -R* | -l*)
-        # Some compilers place space between "-{L,R}" and the path.
-@@ -6508,13 +6919,22 @@ if AC_TRY_EVAL(ac_compile); then
-           test $p = "-R"; then
- 	 prev=$p
- 	 continue
--       else
--	 prev=
-        fi
- 
-+       # Expand the sysroot to ease extracting the directories later.
-+       if test -z "$prev"; then
-+         case $p in
-+         -L*) func_stripname_cnf '-L' '' "$p"; prev=-L; p=$func_stripname_result ;;
-+         -R*) func_stripname_cnf '-R' '' "$p"; prev=-R; p=$func_stripname_result ;;
-+         -l*) func_stripname_cnf '-l' '' "$p"; prev=-l; p=$func_stripname_result ;;
-+         esac
-+       fi
-+       case $p in
-+       =*) func_stripname_cnf '=' '' "$p"; p=$lt_sysroot$func_stripname_result ;;
-+       esac
-        if test "$pre_test_object_deps_done" = no; then
--	 case $p in
--	 -L* | -R*)
-+	 case ${prev} in
-+	 -L | -R)
- 	   # 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.
-@@ -6534,8 +6954,10 @@ if AC_TRY_EVAL(ac_compile); then
- 	   _LT_TAGVAR(postdeps, $1)="${_LT_TAGVAR(postdeps, $1)} ${prev}${p}"
- 	 fi
-        fi
-+       prev=
-        ;;
- 
-+    *.lto.$objext) ;; # Ignore GCC LTO objects
-     *.$objext)
-        # This assumes that the test object file only shows up
-        # once in the compiler output.
-@@ -6571,6 +6993,7 @@ else
- fi
- 
- $RM -f confest.$objext
-+CFLAGS=$_lt_libdeps_save_CFLAGS
- 
- # PORTME: override above test on systems where it is broken
- m4_if([$1], [CXX],
-@@ -6607,7 +7030,7 @@ linux*)
- 
- solaris*)
-   case $cc_basename in
--  CC*)
-+  CC* | sunCC*)
-     # The more standards-conforming stlport4 library is
-     # incompatible with the Cstd library. Avoid specifying
-     # it if it's in CXXFLAGS. Ignore libCrun as
-@@ -6720,7 +7143,9 @@ if test "$_lt_disable_F77" != yes; then
-   # Allow CC to be a program name with arguments.
-   lt_save_CC="$CC"
-   lt_save_GCC=$GCC
-+  lt_save_CFLAGS=$CFLAGS
-   CC=${F77-"f77"}
-+  CFLAGS=$FFLAGS
-   compiler=$CC
-   _LT_TAGVAR(compiler, $1)=$CC
-   _LT_CC_BASENAME([$compiler])
-@@ -6774,6 +7199,7 @@ if test "$_lt_disable_F77" != yes; then
- 
-   GCC=$lt_save_GCC
-   CC="$lt_save_CC"
-+  CFLAGS="$lt_save_CFLAGS"
- fi # test "$_lt_disable_F77" != yes
- 
- AC_LANG_POP
-@@ -6850,7 +7276,9 @@ if test "$_lt_disable_FC" != yes; then
-   # Allow CC to be a program name with arguments.
-   lt_save_CC="$CC"
-   lt_save_GCC=$GCC
-+  lt_save_CFLAGS=$CFLAGS
-   CC=${FC-"f95"}
-+  CFLAGS=$FCFLAGS
-   compiler=$CC
-   GCC=$ac_cv_fc_compiler_gnu
- 
-@@ -6906,7 +7334,8 @@ if test "$_lt_disable_FC" != yes; then
-   fi # test -n "$compiler"
- 
-   GCC=$lt_save_GCC
--  CC="$lt_save_CC"
-+  CC=$lt_save_CC
-+  CFLAGS=$lt_save_CFLAGS
- fi # test "$_lt_disable_FC" != yes
- 
- AC_LANG_POP
-@@ -6943,10 +7372,12 @@ _LT_COMPILER_BOILERPLATE
- _LT_LINKER_BOILERPLATE
- 
- # Allow CC to be a program name with arguments.
--lt_save_CC="$CC"
-+lt_save_CC=$CC
-+lt_save_CFLAGS=$CFLAGS
- lt_save_GCC=$GCC
- GCC=yes
- CC=${GCJ-"gcj"}
-+CFLAGS=$GCJFLAGS
- compiler=$CC
- _LT_TAGVAR(compiler, $1)=$CC
- _LT_TAGVAR(LD, $1)="$LD"
-@@ -6977,7 +7408,8 @@ fi
- AC_LANG_RESTORE
- 
- GCC=$lt_save_GCC
--CC="$lt_save_CC"
-+CC=$lt_save_CC
-+CFLAGS=$lt_save_CFLAGS
- ])# _LT_LANG_GCJ_CONFIG
- 
- 
-@@ -7012,9 +7444,11 @@ _LT_LINKER_BOILERPLATE
- 
- # Allow CC to be a program name with arguments.
- lt_save_CC="$CC"
-+lt_save_CFLAGS=$CFLAGS
- lt_save_GCC=$GCC
- GCC=
- CC=${RC-"windres"}
-+CFLAGS=
- compiler=$CC
- _LT_TAGVAR(compiler, $1)=$CC
- _LT_CC_BASENAME([$compiler])
-@@ -7027,7 +7461,8 @@ fi
- 
- GCC=$lt_save_GCC
- AC_LANG_RESTORE
--CC="$lt_save_CC"
-+CC=$lt_save_CC
-+CFLAGS=$lt_save_CFLAGS
- ])# _LT_LANG_RC_CONFIG
- 
- 
-@@ -7086,6 +7521,15 @@ _LT_DECL([], [OBJDUMP], [1], [An object 
- AC_SUBST([OBJDUMP])
- ])
- 
-+# _LT_DECL_DLLTOOL
-+# ----------------
-+# Ensure DLLTOOL variable is set.
-+m4_defun([_LT_DECL_DLLTOOL],
-+[AC_CHECK_TOOL(DLLTOOL, dlltool, false)
-+test -z "$DLLTOOL" && DLLTOOL=dlltool
-+_LT_DECL([], [DLLTOOL], [1], [DLL creation program])
-+AC_SUBST([DLLTOOL])
-+])
- 
- # _LT_DECL_SED
- # ------------
-@@ -7179,8 +7623,8 @@ m4_defun([_LT_CHECK_SHELL_FEATURES],
- # Try some XSI features
- xsi_shell=no
- ( _lt_dummy="a/b/c"
--  test "${_lt_dummy##*/},${_lt_dummy%/*},"${_lt_dummy%"$_lt_dummy"}, \
--      = c,a/b,, \
-+  test "${_lt_dummy##*/},${_lt_dummy%/*},${_lt_dummy#??}"${_lt_dummy%"$_lt_dummy"}, \
-+      = c,a/b,b/c, \
-     && eval 'test $(( 1 + 1 )) -eq 2 \
-     && test "${#_lt_dummy}" -eq 5' ) >/dev/null 2>&1 \
-   && xsi_shell=yes
-@@ -7219,206 +7663,162 @@ _LT_DECL([NL2SP], [lt_NL2SP], [1], [turn
- ])# _LT_CHECK_SHELL_FEATURES
- 
- 
--# _LT_PROG_XSI_SHELLFNS
--# ---------------------
--# Bourne and XSI compatible variants of some useful shell functions.
--m4_defun([_LT_PROG_XSI_SHELLFNS],
--[case $xsi_shell in
--  yes)
--    cat << \_LT_EOF >> "$cfgfile"
--
--# func_dirname file append nondir_replacement
--# Compute the dirname of FILE.  If nonempty, add APPEND to the result,
--# otherwise set result to NONDIR_REPLACEMENT.
--func_dirname ()
--{
--  case ${1} in
--    */*) func_dirname_result="${1%/*}${2}" ;;
--    *  ) func_dirname_result="${3}" ;;
--  esac
--}
--
--# func_basename file
--func_basename ()
--{
--  func_basename_result="${1##*/}"
--}
--
--# func_dirname_and_basename file append nondir_replacement
--# perform func_basename and func_dirname in a single function
--# call:
--#   dirname:  Compute the dirname of FILE.  If nonempty,
--#             add APPEND to the result, otherwise set result
--#             to NONDIR_REPLACEMENT.
--#             value returned in "$func_dirname_result"
--#   basename: Compute filename of FILE.
--#             value retuned in "$func_basename_result"
--# Implementation must be kept synchronized with func_dirname
--# and func_basename. For efficiency, we do not delegate to
--# those functions but instead duplicate the functionality here.
--func_dirname_and_basename ()
--{
--  case ${1} in
--    */*) func_dirname_result="${1%/*}${2}" ;;
--    *  ) func_dirname_result="${3}" ;;
--  esac
--  func_basename_result="${1##*/}"
--}
--
--# func_stripname prefix suffix name
--# strip PREFIX and SUFFIX off of NAME.
--# PREFIX and SUFFIX must not contain globbing or regex special
--# characters, hashes, percent signs, but SUFFIX may contain a leading
--# dot (in which case that matches only a dot).
--func_stripname ()
--{
--  # pdksh 5.2.14 does not do ${X%$Y} correctly if both X and Y are
--  # positional parameters, so assign one to ordinary parameter first.
--  func_stripname_result=${3}
--  func_stripname_result=${func_stripname_result#"${1}"}
--  func_stripname_result=${func_stripname_result%"${2}"}
--}
--
--# func_opt_split
--func_opt_split ()
--{
--  func_opt_split_opt=${1%%=*}
--  func_opt_split_arg=${1#*=}
--}
--
--# func_lo2o object
--func_lo2o ()
--{
--  case ${1} in
--    *.lo) func_lo2o_result=${1%.lo}.${objext} ;;
--    *)    func_lo2o_result=${1} ;;
--  esac
--}
--
--# func_xform libobj-or-source
--func_xform ()
--{
--  func_xform_result=${1%.*}.lo
--}
--
--# func_arith arithmetic-term...
--func_arith ()
--{
--  func_arith_result=$(( $[*] ))
--}
--
--# func_len string
--# STRING may not start with a hyphen.
--func_len ()
--{
--  func_len_result=${#1}
--}
--
--_LT_EOF
--    ;;
--  *) # Bourne compatible functions.
--    cat << \_LT_EOF >> "$cfgfile"
--
--# func_dirname file append nondir_replacement
--# Compute the dirname of FILE.  If nonempty, add APPEND to the result,
--# otherwise set result to NONDIR_REPLACEMENT.
--func_dirname ()
--{
--  # Extract subdirectory from the argument.
--  func_dirname_result=`$ECHO "${1}" | $SED "$dirname"`
--  if test "X$func_dirname_result" = "X${1}"; then
--    func_dirname_result="${3}"
--  else
--    func_dirname_result="$func_dirname_result${2}"
--  fi
--}
--
--# func_basename file
--func_basename ()
--{
--  func_basename_result=`$ECHO "${1}" | $SED "$basename"`
--}
-+# _LT_PROG_FUNCTION_REPLACE (FUNCNAME, REPLACEMENT-BODY)
-+# ------------------------------------------------------
-+# In `$cfgfile', look for function FUNCNAME delimited by `^FUNCNAME ()$' and
-+# '^} FUNCNAME ', and replace its body with REPLACEMENT-BODY.
-+m4_defun([_LT_PROG_FUNCTION_REPLACE],
-+[dnl {
-+sed -e '/^$1 ()$/,/^} # $1 /c\
-+$1 ()\
-+{\
-+m4_bpatsubsts([$2], [$], [\\], [^\([	 ]\)], [\\\1])
-+} # Extended-shell $1 implementation' "$cfgfile" > $cfgfile.tmp \
-+  && mv -f "$cfgfile.tmp" "$cfgfile" \
-+    || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
-+test 0 -eq $? || _lt_function_replace_fail=:
-+])
- 
--dnl func_dirname_and_basename
--dnl A portable version of this function is already defined in general.m4sh
--dnl so there is no need for it here.
- 
--# func_stripname prefix suffix name
--# strip PREFIX and SUFFIX off of NAME.
--# PREFIX and SUFFIX must not contain globbing or regex special
--# characters, hashes, percent signs, but SUFFIX may contain a leading
--# dot (in which case that matches only a dot).
--# func_strip_suffix prefix name
--func_stripname ()
--{
--  case ${2} in
--    .*) func_stripname_result=`$ECHO "${3}" | $SED "s%^${1}%%; s%\\\\${2}\$%%"`;;
--    *)  func_stripname_result=`$ECHO "${3}" | $SED "s%^${1}%%; s%${2}\$%%"`;;
--  esac
--}
-+# _LT_PROG_REPLACE_SHELLFNS
-+# -------------------------
-+# Replace existing portable implementations of several shell functions with
-+# equivalent extended shell implementations where those features are available..
-+m4_defun([_LT_PROG_REPLACE_SHELLFNS],
-+[if test x"$xsi_shell" = xyes; then
-+  _LT_PROG_FUNCTION_REPLACE([func_dirname], [dnl
-+    case ${1} in
-+      */*) func_dirname_result="${1%/*}${2}" ;;
-+      *  ) func_dirname_result="${3}" ;;
-+    esac])
-+
-+  _LT_PROG_FUNCTION_REPLACE([func_basename], [dnl
-+    func_basename_result="${1##*/}"])
-+
-+  _LT_PROG_FUNCTION_REPLACE([func_dirname_and_basename], [dnl
-+    case ${1} in
-+      */*) func_dirname_result="${1%/*}${2}" ;;
-+      *  ) func_dirname_result="${3}" ;;
-+    esac
-+    func_basename_result="${1##*/}"])
- 
--# sed scripts:
--my_sed_long_opt='1s/^\(-[[^=]]*\)=.*/\1/;q'
--my_sed_long_arg='1s/^-[[^=]]*=//'
-+  _LT_PROG_FUNCTION_REPLACE([func_stripname], [dnl
-+    # pdksh 5.2.14 does not do ${X%$Y} correctly if both X and Y are
-+    # positional parameters, so assign one to ordinary parameter first.
-+    func_stripname_result=${3}
-+    func_stripname_result=${func_stripname_result#"${1}"}
-+    func_stripname_result=${func_stripname_result%"${2}"}])
-+
-+  _LT_PROG_FUNCTION_REPLACE([func_split_long_opt], [dnl
-+    func_split_long_opt_name=${1%%=*}
-+    func_split_long_opt_arg=${1#*=}])
-+
-+  _LT_PROG_FUNCTION_REPLACE([func_split_short_opt], [dnl
-+    func_split_short_opt_arg=${1#??}
-+    func_split_short_opt_name=${1%"$func_split_short_opt_arg"}])
-+
-+  _LT_PROG_FUNCTION_REPLACE([func_lo2o], [dnl
-+    case ${1} in
-+      *.lo) func_lo2o_result=${1%.lo}.${objext} ;;
-+      *)    func_lo2o_result=${1} ;;
-+    esac])
- 
--# func_opt_split
--func_opt_split ()
--{
--  func_opt_split_opt=`$ECHO "${1}" | $SED "$my_sed_long_opt"`
--  func_opt_split_arg=`$ECHO "${1}" | $SED "$my_sed_long_arg"`
--}
-+  _LT_PROG_FUNCTION_REPLACE([func_xform], [    func_xform_result=${1%.*}.lo])
- 
--# func_lo2o object
--func_lo2o ()
--{
--  func_lo2o_result=`$ECHO "${1}" | $SED "$lo2o"`
--}
-+  _LT_PROG_FUNCTION_REPLACE([func_arith], [    func_arith_result=$(( $[*] ))])
- 
--# func_xform libobj-or-source
--func_xform ()
--{
--  func_xform_result=`$ECHO "${1}" | $SED 's/\.[[^.]]*$/.lo/'`
--}
-+  _LT_PROG_FUNCTION_REPLACE([func_len], [    func_len_result=${#1}])
-+fi
- 
--# func_arith arithmetic-term...
--func_arith ()
--{
--  func_arith_result=`expr "$[@]"`
--}
-+if test x"$lt_shell_append" = xyes; then
-+  _LT_PROG_FUNCTION_REPLACE([func_append], [    eval "${1}+=\\${2}"])
- 
--# func_len string
--# STRING may not start with a hyphen.
--func_len ()
--{
--  func_len_result=`expr "$[1]" : ".*" 2>/dev/null || echo $max_cmd_len`
--}
-+  _LT_PROG_FUNCTION_REPLACE([func_append_quoted], [dnl
-+    func_quote_for_eval "${2}"
-+dnl m4 expansion turns \\\\ into \\, and then the shell eval turns that into \
-+    eval "${1}+=\\\\ \\$func_quote_for_eval_result"])
-+
-+  # Save a `func_append' function call where possible by direct use of '+='
-+  sed -e 's%func_append \([[a-zA-Z_]]\{1,\}\) "%\1+="%g' $cfgfile > $cfgfile.tmp \
-+    && mv -f "$cfgfile.tmp" "$cfgfile" \
-+      || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
-+  test 0 -eq $? || _lt_function_replace_fail=:
-+else
-+  # Save a `func_append' function call even when '+=' is not available
-+  sed -e 's%func_append \([[a-zA-Z_]]\{1,\}\) "%\1="$\1%g' $cfgfile > $cfgfile.tmp \
-+    && mv -f "$cfgfile.tmp" "$cfgfile" \
-+      || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
-+  test 0 -eq $? || _lt_function_replace_fail=:
-+fi
- 
--_LT_EOF
--esac
-+if test x"$_lt_function_replace_fail" = x":"; then
-+  AC_MSG_WARN([Unable to substitute extended shell functions in $ofile])
-+fi
-+])
- 
--case $lt_shell_append in
--  yes)
--    cat << \_LT_EOF >> "$cfgfile"
--
--# func_append var value
--# Append VALUE to the end of shell variable VAR.
--func_append ()
--{
--  eval "$[1]+=\$[2]"
--}
--_LT_EOF
-+# _LT_PATH_CONVERSION_FUNCTIONS
-+# -----------------------------
-+# Determine which file name conversion functions should be used by
-+# func_to_host_file (and, implicitly, by func_to_host_path).  These are needed
-+# for certain cross-compile configurations and native mingw.
-+m4_defun([_LT_PATH_CONVERSION_FUNCTIONS],
-+[AC_REQUIRE([AC_CANONICAL_HOST])dnl
-+AC_REQUIRE([AC_CANONICAL_BUILD])dnl
-+AC_MSG_CHECKING([how to convert $build file names to $host format])
-+AC_CACHE_VAL(lt_cv_to_host_file_cmd,
-+[case $host in
-+  *-*-mingw* )
-+    case $build in
-+      *-*-mingw* ) # actually msys
-+        lt_cv_to_host_file_cmd=func_convert_file_msys_to_w32
-+        ;;
-+      *-*-cygwin* )
-+        lt_cv_to_host_file_cmd=func_convert_file_cygwin_to_w32
-+        ;;
-+      * ) # otherwise, assume *nix
-+        lt_cv_to_host_file_cmd=func_convert_file_nix_to_w32
-+        ;;
-+    esac
-     ;;
--  *)
--    cat << \_LT_EOF >> "$cfgfile"
--
--# func_append var value
--# Append VALUE to the end of shell variable VAR.
--func_append ()
--{
--  eval "$[1]=\$$[1]\$[2]"
--}
--
--_LT_EOF
-+  *-*-cygwin* )
-+    case $build in
-+      *-*-mingw* ) # actually msys
-+        lt_cv_to_host_file_cmd=func_convert_file_msys_to_cygwin
-+        ;;
-+      *-*-cygwin* )
-+        lt_cv_to_host_file_cmd=func_convert_file_noop
-+        ;;
-+      * ) # otherwise, assume *nix
-+        lt_cv_to_host_file_cmd=func_convert_file_nix_to_cygwin
-+        ;;
-+    esac
-     ;;
--  esac
-+  * ) # unhandled hosts (and "normal" native builds)
-+    lt_cv_to_host_file_cmd=func_convert_file_noop
-+    ;;
-+esac
-+])
-+to_host_file_cmd=$lt_cv_to_host_file_cmd
-+AC_MSG_RESULT([$lt_cv_to_host_file_cmd])
-+_LT_DECL([to_host_file_cmd], [lt_cv_to_host_file_cmd],
-+         [0], [convert $build file names to $host format])dnl
-+
-+AC_MSG_CHECKING([how to convert $build file names to toolchain format])
-+AC_CACHE_VAL(lt_cv_to_tool_file_cmd,
-+[#assume ordinary cross tools, or native build.
-+lt_cv_to_tool_file_cmd=func_convert_file_noop
-+case $host in
-+  *-*-mingw* )
-+    case $build in
-+      *-*-mingw* ) # actually msys
-+        lt_cv_to_tool_file_cmd=func_convert_file_msys_to_w32
-+        ;;
-+    esac
-+    ;;
-+esac
- ])
-+to_tool_file_cmd=$lt_cv_to_tool_file_cmd
-+AC_MSG_RESULT([$lt_cv_to_tool_file_cmd])
-+_LT_DECL([to_tool_file_cmd], [lt_cv_to_tool_file_cmd],
-+         [0], [convert $build files to toolchain format])dnl
-+])# _LT_PATH_CONVERSION_FUNCTIONS
-Index: binutils-2.22/ltmain.sh
-===================================================================
---- binutils-2.22.orig/ltmain.sh
-+++ binutils-2.22/ltmain.sh
-@@ -1,10 +1,9 @@
--# Generated from ltmain.m4sh.
- 
--# libtool (GNU libtool 1.3134 2009-11-29) 2.2.7a
-+# libtool (GNU libtool) 2.4
- # Written by Gordon Matzigkeit <gord@gnu.ai.mit.edu>, 1996
- 
- # Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005, 2006,
--# 2007, 2008, 2009 Free Software Foundation, Inc.
-+# 2007, 2008, 2009, 2010 Free Software Foundation, Inc.
- # This is free software; see the source for copying conditions.  There is NO
- # warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
- 
-@@ -38,7 +37,6 @@
- #   -n, --dry-run            display commands without modifying any files
- #       --features           display basic configuration information and exit
- #       --mode=MODE          use operation mode MODE
--#       --no-finish          let install mode avoid finish commands
- #       --preserve-dup-deps  don't remove duplicate dependency libraries
- #       --quiet, --silent    don't print informational messages
- #       --no-quiet, --no-silent
-@@ -71,17 +69,19 @@
- #         compiler:		$LTCC
- #         compiler flags:		$LTCFLAGS
- #         linker:		$LD (gnu? $with_gnu_ld)
--#         $progname:	(GNU libtool 1.3134 2009-11-29) 2.2.7a
-+#         $progname:	(GNU libtool) 2.4
- #         automake:	$automake_version
- #         autoconf:	$autoconf_version
- #
- # Report bugs to <bug-libtool@gnu.org>.
-+# GNU libtool home page: <http://www.gnu.org/software/libtool/>.
-+# General help using GNU software: <http://www.gnu.org/gethelp/>.
- 
- PROGRAM=libtool
- PACKAGE=libtool
--VERSION=2.2.7a
--TIMESTAMP=" 1.3134 2009-11-29"
--package_revision=1.3134
-+VERSION=2.4
-+TIMESTAMP=""
-+package_revision=1.3293
- 
- # Be Bourne compatible
- if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
-@@ -106,9 +106,6 @@ _LTECHO_EOF'
- }
- 
- # NLS nuisances: We save the old values to restore during execute mode.
--# Only set LANG and LC_ALL to C if already set.
--# These must not be set unconditionally because not all systems understand
--# e.g. LANG=C (notably SCO).
- lt_user_locale=
- lt_safe_locale=
- for lt_var in LANG LANGUAGE LC_ALL LC_CTYPE LC_COLLATE LC_MESSAGES
-@@ -121,15 +118,13 @@ do
- 	  lt_safe_locale=\"$lt_var=C; \$lt_safe_locale\"
- 	fi"
- done
-+LC_ALL=C
-+LANGUAGE=C
-+export LANGUAGE LC_ALL
- 
- $lt_unset CDPATH
- 
- 
--
--
--
--
--
- # Work around backward compatibility issue on IRIX 6.5. On IRIX 6.4+, sh
- # is ksh but when the shell is invoked as "sh" and the current value of
- # the _XPG environment variable is not equal to 1 (one), the special
-@@ -140,7 +135,7 @@ progpath="$0"
- 
- 
- : ${CP="cp -f"}
--: ${ECHO=$as_echo}
-+test "${ECHO+set}" = set || ECHO=${as_echo-'printf %s\n'}
- : ${EGREP="/bin/grep -E"}
- : ${FGREP="/bin/grep -F"}
- : ${GREP="/bin/grep"}
-@@ -149,7 +144,7 @@ progpath="$0"
- : ${MKDIR="mkdir"}
- : ${MV="mv -f"}
- : ${RM="rm -f"}
--: ${SED="/mount/endor/wildenhu/local-x86_64/bin/sed"}
-+: ${SED="/bin/sed"}
- : ${SHELL="${CONFIG_SHELL-/bin/sh}"}
- : ${Xsed="$SED -e 1s/^X//"}
- 
-@@ -169,6 +164,27 @@ IFS=" 	$lt_nl"
- dirname="s,/[^/]*$,,"
- basename="s,^.*/,,"
- 
-+# func_dirname file append nondir_replacement
-+# Compute the dirname of FILE.  If nonempty, add APPEND to the result,
-+# otherwise set result to NONDIR_REPLACEMENT.
-+func_dirname ()
-+{
-+    func_dirname_result=`$ECHO "${1}" | $SED "$dirname"`
-+    if test "X$func_dirname_result" = "X${1}"; then
-+      func_dirname_result="${3}"
-+    else
-+      func_dirname_result="$func_dirname_result${2}"
-+    fi
-+} # func_dirname may be replaced by extended shell implementation
-+
-+
-+# func_basename file
-+func_basename ()
-+{
-+    func_basename_result=`$ECHO "${1}" | $SED "$basename"`
-+} # func_basename may be replaced by extended shell implementation
-+
-+
- # func_dirname_and_basename file append nondir_replacement
- # perform func_basename and func_dirname in a single function
- # call:
-@@ -183,17 +199,31 @@ basename="s,^.*/,,"
- # those functions but instead duplicate the functionality here.
- func_dirname_and_basename ()
- {
--  # Extract subdirectory from the argument.
--  func_dirname_result=`$ECHO "${1}" | $SED -e "$dirname"`
--  if test "X$func_dirname_result" = "X${1}"; then
--    func_dirname_result="${3}"
--  else
--    func_dirname_result="$func_dirname_result${2}"
--  fi
--  func_basename_result=`$ECHO "${1}" | $SED -e "$basename"`
--}
-+    # Extract subdirectory from the argument.
-+    func_dirname_result=`$ECHO "${1}" | $SED -e "$dirname"`
-+    if test "X$func_dirname_result" = "X${1}"; then
-+      func_dirname_result="${3}"
-+    else
-+      func_dirname_result="$func_dirname_result${2}"
-+    fi
-+    func_basename_result=`$ECHO "${1}" | $SED -e "$basename"`
-+} # func_dirname_and_basename may be replaced by extended shell implementation
-+
-+
-+# func_stripname prefix suffix name
-+# strip PREFIX and SUFFIX off of NAME.
-+# PREFIX and SUFFIX must not contain globbing or regex special
-+# characters, hashes, percent signs, but SUFFIX may contain a leading
-+# dot (in which case that matches only a dot).
-+# func_strip_suffix prefix name
-+func_stripname ()
-+{
-+    case ${2} in
-+      .*) func_stripname_result=`$ECHO "${3}" | $SED "s%^${1}%%; s%\\\\${2}\$%%"`;;
-+      *)  func_stripname_result=`$ECHO "${3}" | $SED "s%^${1}%%; s%${2}\$%%"`;;
-+    esac
-+} # func_stripname may be replaced by extended shell implementation
- 
--# Generated shell functions inserted here.
- 
- # These SED scripts presuppose an absolute path with a trailing slash.
- pathcar='s,^/\([^/]*\).*$,\1,'
-@@ -376,6 +406,15 @@ sed_quote_subst='s/\([`"$\\]\)/\\\1/g'
- # Same as above, but do not quote variable references.
- double_quote_subst='s/\(["`\\]\)/\\\1/g'
- 
-+# Sed substitution that turns a string into a regex matching for the
-+# string literally.
-+sed_make_literal_regex='s,[].[^$\\*\/],\\&,g'
-+
-+# Sed substitution that converts a w32 file name or path
-+# which contains forward slashes, into one that contains
-+# (escaped) backslashes.  A very naive implementation.
-+lt_sed_naive_backslashify='s|\\\\*|\\|g;s|/|\\|g;s|\\|\\\\|g'
-+
- # Re-`\' parameter expansions in output of double_quote_subst that were
- # `\'-ed in input to the same.  If an odd number of `\' preceded a '$'
- # in input to double_quote_subst, that '$' was protected from expansion.
-@@ -404,7 +443,7 @@ opt_warning=:
- # name if it has been set yet.
- func_echo ()
- {
--    $ECHO "$progname${mode+: }$mode: $*"
-+    $ECHO "$progname: ${opt_mode+$opt_mode: }$*"
- }
- 
- # func_verbose arg...
-@@ -430,14 +469,14 @@ func_echo_all ()
- # Echo program name prefixed message to standard error.
- func_error ()
- {
--    $ECHO "$progname${mode+: }$mode: "${1+"$@"} 1>&2
-+    $ECHO "$progname: ${opt_mode+$opt_mode: }"${1+"$@"} 1>&2
- }
- 
- # func_warning arg...
- # Echo program name prefixed warning message to standard error.
- func_warning ()
- {
--    $opt_warning && $ECHO "$progname${mode+: }$mode: warning: "${1+"$@"} 1>&2
-+    $opt_warning && $ECHO "$progname: ${opt_mode+$opt_mode: }warning: "${1+"$@"} 1>&2
- 
-     # bash bug again:
-     :
-@@ -656,19 +695,35 @@ func_show_eval_locale ()
-     fi
- }
- 
--
--
-+# func_tr_sh
-+# Turn $1 into a string suitable for a shell variable name.
-+# Result is stored in $func_tr_sh_result.  All characters
-+# not in the set a-zA-Z0-9_ are replaced with '_'. Further,
-+# if $1 begins with a digit, a '_' is prepended as well.
-+func_tr_sh ()
-+{
-+  case $1 in
-+  [0-9]* | *[!a-zA-Z0-9_]*)
-+    func_tr_sh_result=`$ECHO "$1" | $SED 's/^\([0-9]\)/_\1/; s/[^a-zA-Z0-9_]/_/g'`
-+    ;;
-+  * )
-+    func_tr_sh_result=$1
-+    ;;
-+  esac
-+}
- 
- 
- # func_version
- # Echo version message to standard output and exit.
- func_version ()
- {
-+    $opt_debug
-+
-     $SED -n '/(C)/!b go
- 	:more
- 	/\./!{
- 	  N
--	  s/\n# //
-+	  s/\n# / /
- 	  b more
- 	}
- 	:go
-@@ -685,7 +740,9 @@ func_version ()
- # Echo short help message to standard output and exit.
- func_usage ()
- {
--    $SED -n '/^# Usage:/,/^#  *-h/ {
-+    $opt_debug
-+
-+    $SED -n '/^# Usage:/,/^#  *.*--help/ {
-         s/^# //
- 	s/^# *$//
- 	s/\$progname/'$progname'/
-@@ -701,7 +758,10 @@ func_usage ()
- # unless 'noexit' is passed as argument.
- func_help ()
- {
-+    $opt_debug
-+
-     $SED -n '/^# Usage:/,/# Report bugs to/ {
-+	:print
-         s/^# //
- 	s/^# *$//
- 	s*\$progname*'$progname'*
-@@ -714,7 +774,11 @@ func_help ()
- 	s/\$automake_version/'"`(automake --version) 2>/dev/null |$SED 1q`"'/
- 	s/\$autoconf_version/'"`(autoconf --version) 2>/dev/null |$SED 1q`"'/
- 	p
--     }' < "$progpath"
-+	d
-+     }
-+     /^# .* home page:/b print
-+     /^# General help using/b print
-+     ' < "$progpath"
-     ret=$?
-     if test -z "$1"; then
-       exit $ret
-@@ -726,12 +790,39 @@ func_help ()
- # exit_cmd.
- func_missing_arg ()
- {
--    func_error "missing argument for $1"
-+    $opt_debug
-+
-+    func_error "missing argument for $1."
-     exit_cmd=exit
- }
- 
--exit_cmd=:
- 
-+# func_split_short_opt shortopt
-+# Set func_split_short_opt_name and func_split_short_opt_arg shell
-+# variables after splitting SHORTOPT after the 2nd character.
-+func_split_short_opt ()
-+{
-+    my_sed_short_opt='1s/^\(..\).*$/\1/;q'
-+    my_sed_short_rest='1s/^..\(.*\)$/\1/;q'
-+
-+    func_split_short_opt_name=`$ECHO "$1" | $SED "$my_sed_short_opt"`
-+    func_split_short_opt_arg=`$ECHO "$1" | $SED "$my_sed_short_rest"`
-+} # func_split_short_opt may be replaced by extended shell implementation
-+
-+
-+# func_split_long_opt longopt
-+# Set func_split_long_opt_name and func_split_long_opt_arg shell
-+# variables after splitting LONGOPT at the `=' sign.
-+func_split_long_opt ()
-+{
-+    my_sed_long_opt='1s/^\(--[^=]*\)=.*/\1/;q'
-+    my_sed_long_arg='1s/^--[^=]*=//'
-+
-+    func_split_long_opt_name=`$ECHO "$1" | $SED "$my_sed_long_opt"`
-+    func_split_long_opt_arg=`$ECHO "$1" | $SED "$my_sed_long_arg"`
-+} # func_split_long_opt may be replaced by extended shell implementation
-+
-+exit_cmd=:
- 
- 
- 
-@@ -741,26 +832,64 @@ magic="%%%MAGIC variable%%%"
- magic_exe="%%%MAGIC EXE variable%%%"
- 
- # Global variables.
--# $mode is unset
- nonopt=
--execute_dlfiles=
- preserve_args=
- lo2o="s/\\.lo\$/.${objext}/"
- o2lo="s/\\.${objext}\$/.lo/"
- extracted_archives=
- extracted_serial=0
- 
--opt_dry_run=false
--opt_finish=:
--opt_duplicate_deps=false
--opt_silent=false
--opt_debug=:
--
- # If this variable is set in any of the actions, the command in it
- # will be execed at the end.  This prevents here-documents from being
- # left over by shells.
- exec_cmd=
- 
-+# func_append var value
-+# Append VALUE to the end of shell variable VAR.
-+func_append ()
-+{
-+    eval "${1}=\$${1}\${2}"
-+} # func_append may be replaced by extended shell implementation
-+
-+# func_append_quoted var value
-+# Quote VALUE and append to the end of shell variable VAR, separated
-+# by a space.
-+func_append_quoted ()
-+{
-+    func_quote_for_eval "${2}"
-+    eval "${1}=\$${1}\\ \$func_quote_for_eval_result"
-+} # func_append_quoted may be replaced by extended shell implementation
-+
-+
-+# func_arith arithmetic-term...
-+func_arith ()
-+{
-+    func_arith_result=`expr "${@}"`
-+} # func_arith may be replaced by extended shell implementation
-+
-+
-+# func_len string
-+# STRING may not start with a hyphen.
-+func_len ()
-+{
-+    func_len_result=`expr "${1}" : ".*" 2>/dev/null || echo $max_cmd_len`
-+} # func_len may be replaced by extended shell implementation
-+
-+
-+# func_lo2o object
-+func_lo2o ()
-+{
-+    func_lo2o_result=`$ECHO "${1}" | $SED "$lo2o"`
-+} # func_lo2o may be replaced by extended shell implementation
-+
-+
-+# func_xform libobj-or-source
-+func_xform ()
-+{
-+    func_xform_result=`$ECHO "${1}" | $SED 's/\.[^.]*$/.lo/'`
-+} # func_xform may be replaced by extended shell implementation
-+
-+
- # func_fatal_configuration arg...
- # Echo program name prefixed message to standard error, followed by
- # a configuration failure hint, and exit.
-@@ -850,130 +979,204 @@ func_enable_tag ()
-   esac
- }
- 
--# Parse options once, thoroughly.  This comes as soon as possible in
--# the script to make things like `libtool --version' happen quickly.
-+# func_check_version_match
-+# Ensure that we are using m4 macros, and libtool script from the same
-+# release of libtool.
-+func_check_version_match ()
- {
-+  if test "$package_revision" != "$macro_revision"; then
-+    if test "$VERSION" != "$macro_version"; then
-+      if test -z "$macro_version"; then
-+        cat >&2 <<_LT_EOF
-+$progname: Version mismatch error.  This is $PACKAGE $VERSION, but the
-+$progname: definition of this LT_INIT comes from an older release.
-+$progname: You should recreate aclocal.m4 with macros from $PACKAGE $VERSION
-+$progname: and run autoconf again.
-+_LT_EOF
-+      else
-+        cat >&2 <<_LT_EOF
-+$progname: Version mismatch error.  This is $PACKAGE $VERSION, but the
-+$progname: definition of this LT_INIT comes from $PACKAGE $macro_version.
-+$progname: You should recreate aclocal.m4 with macros from $PACKAGE $VERSION
-+$progname: and run autoconf again.
-+_LT_EOF
-+      fi
-+    else
-+      cat >&2 <<_LT_EOF
-+$progname: Version mismatch error.  This is $PACKAGE $VERSION, revision $package_revision,
-+$progname: but the definition of this LT_INIT comes from revision $macro_revision.
-+$progname: You should recreate aclocal.m4 with macros from revision $package_revision
-+$progname: of $PACKAGE $VERSION and run autoconf again.
-+_LT_EOF
-+    fi
-+
-+    exit $EXIT_MISMATCH
-+  fi
-+}
-+
-+
-+# Shorthand for --mode=foo, only valid as the first argument
-+case $1 in
-+clean|clea|cle|cl)
-+  shift; set dummy --mode clean ${1+"$@"}; shift
-+  ;;
-+compile|compil|compi|comp|com|co|c)
-+  shift; set dummy --mode compile ${1+"$@"}; shift
-+  ;;
-+execute|execut|execu|exec|exe|ex|e)
-+  shift; set dummy --mode execute ${1+"$@"}; shift
-+  ;;
-+finish|finis|fini|fin|fi|f)
-+  shift; set dummy --mode finish ${1+"$@"}; shift
-+  ;;
-+install|instal|insta|inst|ins|in|i)
-+  shift; set dummy --mode install ${1+"$@"}; shift
-+  ;;
-+link|lin|li|l)
-+  shift; set dummy --mode link ${1+"$@"}; shift
-+  ;;
-+uninstall|uninstal|uninsta|uninst|unins|unin|uni|un|u)
-+  shift; set dummy --mode uninstall ${1+"$@"}; shift
-+  ;;
-+esac
- 
--  # Shorthand for --mode=foo, only valid as the first argument
--  case $1 in
--  clean|clea|cle|cl)
--    shift; set dummy --mode clean ${1+"$@"}; shift
--    ;;
--  compile|compil|compi|comp|com|co|c)
--    shift; set dummy --mode compile ${1+"$@"}; shift
--    ;;
--  execute|execut|execu|exec|exe|ex|e)
--    shift; set dummy --mode execute ${1+"$@"}; shift
--    ;;
--  finish|finis|fini|fin|fi|f)
--    shift; set dummy --mode finish ${1+"$@"}; shift
--    ;;
--  install|instal|insta|inst|ins|in|i)
--    shift; set dummy --mode install ${1+"$@"}; shift
--    ;;
--  link|lin|li|l)
--    shift; set dummy --mode link ${1+"$@"}; shift
--    ;;
--  uninstall|uninstal|uninsta|uninst|unins|unin|uni|un|u)
--    shift; set dummy --mode uninstall ${1+"$@"}; shift
--    ;;
--  esac
- 
--  # Parse non-mode specific arguments:
--  while test "$#" -gt 0; do
-+
-+# Option defaults:
-+opt_debug=:
-+opt_dry_run=false
-+opt_config=false
-+opt_preserve_dup_deps=false
-+opt_features=false
-+opt_finish=false
-+opt_help=false
-+opt_help_all=false
-+opt_silent=:
-+opt_verbose=:
-+opt_silent=false
-+opt_verbose=false
-+
-+
-+# Parse options once, thoroughly.  This comes as soon as possible in the
-+# script to make things like `--version' happen as quickly as we can.
-+{
-+  # this just eases exit handling
-+  while test $# -gt 0; do
-     opt="$1"
-     shift
--
-     case $opt in
--      --config)		func_config					;;
--
--      --debug)		preserve_args="$preserve_args $opt"
-+      --debug|-x)	opt_debug='set -x'
- 			func_echo "enabling shell trace mode"
--			opt_debug='set -x'
- 			$opt_debug
- 			;;
--
--      -dlopen)		test "$#" -eq 0 && func_missing_arg "$opt" && break
--			execute_dlfiles="$execute_dlfiles $1"
--			shift
-+      --dry-run|--dryrun|-n)
-+			opt_dry_run=:
- 			;;
--
--      --dry-run | -n)	opt_dry_run=:					;;
--      --features)       func_features					;;
--      --finish)		mode="finish"					;;
--      --no-finish)	opt_finish=false				;;
--
--      --mode)		test "$#" -eq 0 && func_missing_arg "$opt" && break
--			case $1 in
--			  # Valid mode arguments:
--			  clean)	;;
--			  compile)	;;
--			  execute)	;;
--			  finish)	;;
--			  install)	;;
--			  link)		;;
--			  relink)	;;
--			  uninstall)	;;
--
--			  # Catch anything else as an error
--			  *) func_error "invalid argument for $opt"
--			     exit_cmd=exit
--			     break
--			     ;;
--		        esac
--
--			mode="$1"
-+      --config)
-+			opt_config=:
-+func_config
-+			;;
-+      --dlopen|-dlopen)
-+			optarg="$1"
-+			opt_dlopen="${opt_dlopen+$opt_dlopen
-+}$optarg"
- 			shift
- 			;;
--
-       --preserve-dup-deps)
--			opt_duplicate_deps=:				;;
--
--      --quiet|--silent)	preserve_args="$preserve_args $opt"
--			opt_silent=:
--			opt_verbose=false
-+			opt_preserve_dup_deps=:
- 			;;
--
--      --no-quiet|--no-silent)
--			preserve_args="$preserve_args $opt"
--			opt_silent=false
-+      --features)
-+			opt_features=:
-+func_features
- 			;;
--
--      --verbose| -v)	preserve_args="$preserve_args $opt"
-+      --finish)
-+			opt_finish=:
-+set dummy --mode finish ${1+"$@"}; shift
-+			;;
-+      --help)
-+			opt_help=:
-+			;;
-+      --help-all)
-+			opt_help_all=:
-+opt_help=': help-all'
-+			;;
-+      --mode)
-+			test $# = 0 && func_missing_arg $opt && break
-+			optarg="$1"
-+			opt_mode="$optarg"
-+case $optarg in
-+  # Valid mode arguments:
-+  clean|compile|execute|finish|install|link|relink|uninstall) ;;
-+
-+  # Catch anything else as an error
-+  *) func_error "invalid argument for $opt"
-+     exit_cmd=exit
-+     break
-+     ;;
-+esac
-+			shift
-+			;;
-+      --no-silent|--no-quiet)
- 			opt_silent=false
--			opt_verbose=:
-+func_append preserve_args " $opt"
- 			;;
--
--      --no-verbose)	preserve_args="$preserve_args $opt"
-+      --no-verbose)
- 			opt_verbose=false
-+func_append preserve_args " $opt"
- 			;;
--
--      --tag)		test "$#" -eq 0 && func_missing_arg "$opt" && break
--			preserve_args="$preserve_args $opt $1"
--			func_enable_tag "$1"	# tagname is set here
-+      --silent|--quiet)
-+			opt_silent=:
-+func_append preserve_args " $opt"
-+        opt_verbose=false
-+			;;
-+      --verbose|-v)
-+			opt_verbose=:
-+func_append preserve_args " $opt"
-+opt_silent=false
-+			;;
-+      --tag)
-+			test $# = 0 && func_missing_arg $opt && break
-+			optarg="$1"
-+			opt_tag="$optarg"
-+func_append preserve_args " $opt $optarg"
-+func_enable_tag "$optarg"
- 			shift
- 			;;
- 
-+      -\?|-h)		func_usage				;;
-+      --help)		func_help				;;
-+      --version)	func_version				;;
-+
-       # Separate optargs to long options:
--      -dlopen=*|--mode=*|--tag=*)
--			func_opt_split "$opt"
--			set dummy "$func_opt_split_opt" "$func_opt_split_arg" ${1+"$@"}
-+      --*=*)
-+			func_split_long_opt "$opt"
-+			set dummy "$func_split_long_opt_name" "$func_split_long_opt_arg" ${1+"$@"}
- 			shift
- 			;;
- 
--      -\?|-h)		func_usage					;;
--      --help)		opt_help=:					;;
--      --help-all)	opt_help=': help-all'				;;
--      --version)	func_version					;;
--
--      -*)		func_fatal_help "unrecognized option \`$opt'"	;;
--
--      *)		nonopt="$opt"
--			break
-+      # Separate non-argument short options:
-+      -\?*|-h*|-n*|-v*)
-+			func_split_short_opt "$opt"
-+			set dummy "$func_split_short_opt_name" "-$func_split_short_opt_arg" ${1+"$@"}
-+			shift
- 			;;
-+
-+      --)		break					;;
-+      -*)		func_fatal_help "unrecognized option \`$opt'" ;;
-+      *)		set dummy "$opt" ${1+"$@"};	shift; break  ;;
-     esac
-   done
- 
-+  # Validate options:
-+
-+  # save first non-option argument
-+  if test "$#" -gt 0; then
-+    nonopt="$opt"
-+    shift
-+  fi
-+
-+  # preserve --debug
-+  test "$opt_debug" = : || func_append preserve_args " --debug"
- 
-   case $host in
-     *cygwin* | *mingw* | *pw32* | *cegcc*)
-@@ -981,82 +1184,44 @@ func_enable_tag ()
-       opt_duplicate_compiler_generated_deps=:
-       ;;
-     *)
--      opt_duplicate_compiler_generated_deps=$opt_duplicate_deps
-+      opt_duplicate_compiler_generated_deps=$opt_preserve_dup_deps
-       ;;
-   esac
- 
--  # Having warned about all mis-specified options, bail out if
--  # anything was wrong.
--  $exit_cmd $EXIT_FAILURE
--}
-+  $opt_help || {
-+    # Sanity checks first:
-+    func_check_version_match
- 
--# func_check_version_match
--# Ensure that we are using m4 macros, and libtool script from the same
--# release of libtool.
--func_check_version_match ()
--{
--  if test "$package_revision" != "$macro_revision"; then
--    if test "$VERSION" != "$macro_version"; then
--      if test -z "$macro_version"; then
--        cat >&2 <<_LT_EOF
--$progname: Version mismatch error.  This is $PACKAGE $VERSION, but the
--$progname: definition of this LT_INIT comes from an older release.
--$progname: You should recreate aclocal.m4 with macros from $PACKAGE $VERSION
--$progname: and run autoconf again.
--_LT_EOF
--      else
--        cat >&2 <<_LT_EOF
--$progname: Version mismatch error.  This is $PACKAGE $VERSION, but the
--$progname: definition of this LT_INIT comes from $PACKAGE $macro_version.
--$progname: You should recreate aclocal.m4 with macros from $PACKAGE $VERSION
--$progname: and run autoconf again.
--_LT_EOF
--      fi
--    else
--      cat >&2 <<_LT_EOF
--$progname: Version mismatch error.  This is $PACKAGE $VERSION, revision $package_revision,
--$progname: but the definition of this LT_INIT comes from revision $macro_revision.
--$progname: You should recreate aclocal.m4 with macros from revision $package_revision
--$progname: of $PACKAGE $VERSION and run autoconf again.
--_LT_EOF
-+    if test "$build_libtool_libs" != yes && test "$build_old_libs" != yes; then
-+      func_fatal_configuration "not configured to build any kind of library"
-     fi
- 
--    exit $EXIT_MISMATCH
--  fi
--}
--
-+    # Darwin sucks
-+    eval std_shrext=\"$shrext_cmds\"
- 
--## ----------- ##
--##    Main.    ##
--## ----------- ##
--
--$opt_help || {
--  # Sanity checks first:
--  func_check_version_match
--
--  if test "$build_libtool_libs" != yes && test "$build_old_libs" != yes; then
--    func_fatal_configuration "not configured to build any kind of library"
--  fi
-+    # Only execute mode is allowed to have -dlopen flags.
-+    if test -n "$opt_dlopen" && test "$opt_mode" != execute; then
-+      func_error "unrecognized option \`-dlopen'"
-+      $ECHO "$help" 1>&2
-+      exit $EXIT_FAILURE
-+    fi
- 
--  test -z "$mode" && func_fatal_error "error: you must specify a MODE."
-+    # Change the help message to a mode-specific one.
-+    generic_help="$help"
-+    help="Try \`$progname --help --mode=$opt_mode' for more information."
-+  }
- 
- 
--  # Darwin sucks
--  eval "std_shrext=\"$shrext_cmds\""
-+  # Bail if the options were screwed
-+  $exit_cmd $EXIT_FAILURE
-+}
- 
- 
--  # Only execute mode is allowed to have -dlopen flags.
--  if test -n "$execute_dlfiles" && test "$mode" != execute; then
--    func_error "unrecognized option \`-dlopen'"
--    $ECHO "$help" 1>&2
--    exit $EXIT_FAILURE
--  fi
- 
--  # Change the help message to a mode-specific one.
--  generic_help="$help"
--  help="Try \`$progname --help --mode=$mode' for more information."
--}
- 
-+## ----------- ##
-+##    Main.    ##
-+## ----------- ##
- 
- # func_lalib_p file
- # True iff FILE is a libtool `.la' library or `.lo' object file.
-@@ -1121,12 +1286,9 @@ func_ltwrapper_executable_p ()
- # temporary ltwrapper_script.
- func_ltwrapper_scriptname ()
- {
--    func_ltwrapper_scriptname_result=""
--    if func_ltwrapper_executable_p "$1"; then
--	func_dirname_and_basename "$1" "" "."
--	func_stripname '' '.exe' "$func_basename_result"
--	func_ltwrapper_scriptname_result="$func_dirname_result/$objdir/${func_stripname_result}_ltshwrapper"
--    fi
-+    func_dirname_and_basename "$1" "" "."
-+    func_stripname '' '.exe' "$func_basename_result"
-+    func_ltwrapper_scriptname_result="$func_dirname_result/$objdir/${func_stripname_result}_ltshwrapper"
- }
- 
- # func_ltwrapper_p file
-@@ -1149,7 +1311,7 @@ func_execute_cmds ()
-     save_ifs=$IFS; IFS='~'
-     for cmd in $1; do
-       IFS=$save_ifs
--      eval "cmd=\"$cmd\""
-+      eval cmd=\"$cmd\"
-       func_show_eval "$cmd" "${2-:}"
-     done
-     IFS=$save_ifs
-@@ -1172,6 +1334,37 @@ func_source ()
- }
- 
- 
-+# func_resolve_sysroot PATH
-+# Replace a leading = in PATH with a sysroot.  Store the result into
-+# func_resolve_sysroot_result
-+func_resolve_sysroot ()
-+{
-+  func_resolve_sysroot_result=$1
-+  case $func_resolve_sysroot_result in
-+  =*)
-+    func_stripname '=' '' "$func_resolve_sysroot_result"
-+    func_resolve_sysroot_result=$lt_sysroot$func_stripname_result
-+    ;;
-+  esac
-+}
-+
-+# func_replace_sysroot PATH
-+# If PATH begins with the sysroot, replace it with = and
-+# store the result into func_replace_sysroot_result.
-+func_replace_sysroot ()
-+{
-+  case "$lt_sysroot:$1" in
-+  ?*:"$lt_sysroot"*)
-+    func_stripname "$lt_sysroot" '' "$1"
-+    func_replace_sysroot_result="=$func_stripname_result"
-+    ;;
-+  *)
-+    # Including no sysroot.
-+    func_replace_sysroot_result=$1
-+    ;;
-+  esac
-+}
-+
- # func_infer_tag arg
- # Infer tagged configuration to use if any are available and
- # if one wasn't chosen via the "--tag" command line option.
-@@ -1184,8 +1377,7 @@ func_infer_tag ()
-     if test -n "$available_tags" && test -z "$tagname"; then
-       CC_quoted=
-       for arg in $CC; do
--        func_quote_for_eval "$arg"
--	CC_quoted="$CC_quoted $func_quote_for_eval_result"
-+	func_append_quoted CC_quoted "$arg"
-       done
-       CC_expanded=`func_echo_all $CC`
-       CC_quoted_expanded=`func_echo_all $CC_quoted`
-@@ -1204,8 +1396,7 @@ func_infer_tag ()
- 	    CC_quoted=
- 	    for arg in $CC; do
- 	      # Double-quote args containing other shell metacharacters.
--	      func_quote_for_eval "$arg"
--	      CC_quoted="$CC_quoted $func_quote_for_eval_result"
-+	      func_append_quoted CC_quoted "$arg"
- 	    done
- 	    CC_expanded=`func_echo_all $CC`
- 	    CC_quoted_expanded=`func_echo_all $CC_quoted`
-@@ -1274,6 +1465,486 @@ EOF
-     }
- }
- 
-+
-+##################################################
-+# FILE NAME AND PATH CONVERSION HELPER FUNCTIONS #
-+##################################################
-+
-+# func_convert_core_file_wine_to_w32 ARG
-+# Helper function used by file name conversion functions when $build is *nix,
-+# and $host is mingw, cygwin, or some other w32 environment. Relies on a
-+# correctly configured wine environment available, with the winepath program
-+# in $build's $PATH.
-+#
-+# ARG is the $build file name to be converted to w32 format.
-+# Result is available in $func_convert_core_file_wine_to_w32_result, and will
-+# be empty on error (or when ARG is empty)
-+func_convert_core_file_wine_to_w32 ()
-+{
-+  $opt_debug
-+  func_convert_core_file_wine_to_w32_result="$1"
-+  if test -n "$1"; then
-+    # Unfortunately, winepath does not exit with a non-zero error code, so we
-+    # are forced to check the contents of stdout. On the other hand, if the
-+    # command is not found, the shell will set an exit code of 127 and print
-+    # *an error message* to stdout. So we must check for both error code of
-+    # zero AND non-empty stdout, which explains the odd construction:
-+    func_convert_core_file_wine_to_w32_tmp=`winepath -w "$1" 2>/dev/null`
-+    if test "$?" -eq 0 && test -n "${func_convert_core_file_wine_to_w32_tmp}"; then
-+      func_convert_core_file_wine_to_w32_result=`$ECHO "$func_convert_core_file_wine_to_w32_tmp" |
-+        $SED -e "$lt_sed_naive_backslashify"`
-+    else
-+      func_convert_core_file_wine_to_w32_result=
-+    fi
-+  fi
-+}
-+# end: func_convert_core_file_wine_to_w32
-+
-+
-+# func_convert_core_path_wine_to_w32 ARG
-+# Helper function used by path conversion functions when $build is *nix, and
-+# $host is mingw, cygwin, or some other w32 environment. Relies on a correctly
-+# configured wine environment available, with the winepath program in $build's
-+# $PATH. Assumes ARG has no leading or trailing path separator characters.
-+#
-+# ARG is path to be converted from $build format to win32.
-+# Result is available in $func_convert_core_path_wine_to_w32_result.
-+# Unconvertible file (directory) names in ARG are skipped; if no directory names
-+# are convertible, then the result may be empty.
-+func_convert_core_path_wine_to_w32 ()
-+{
-+  $opt_debug
-+  # unfortunately, winepath doesn't convert paths, only file names
-+  func_convert_core_path_wine_to_w32_result=""
-+  if test -n "$1"; then
-+    oldIFS=$IFS
-+    IFS=:
-+    for func_convert_core_path_wine_to_w32_f in $1; do
-+      IFS=$oldIFS
-+      func_convert_core_file_wine_to_w32 "$func_convert_core_path_wine_to_w32_f"
-+      if test -n "$func_convert_core_file_wine_to_w32_result" ; then
-+        if test -z "$func_convert_core_path_wine_to_w32_result"; then
-+          func_convert_core_path_wine_to_w32_result="$func_convert_core_file_wine_to_w32_result"
-+        else
-+          func_append func_convert_core_path_wine_to_w32_result ";$func_convert_core_file_wine_to_w32_result"
-+        fi
-+      fi
-+    done
-+    IFS=$oldIFS
-+  fi
-+}
-+# end: func_convert_core_path_wine_to_w32
-+
-+
-+# func_cygpath ARGS...
-+# Wrapper around calling the cygpath program via LT_CYGPATH. This is used when
-+# when (1) $build is *nix and Cygwin is hosted via a wine environment; or (2)
-+# $build is MSYS and $host is Cygwin, or (3) $build is Cygwin. In case (1) or
-+# (2), returns the Cygwin file name or path in func_cygpath_result (input
-+# file name or path is assumed to be in w32 format, as previously converted
-+# from $build's *nix or MSYS format). In case (3), returns the w32 file name
-+# or path in func_cygpath_result (input file name or path is assumed to be in
-+# Cygwin format). Returns an empty string on error.
-+#
-+# ARGS are passed to cygpath, with the last one being the file name or path to
-+# be converted.
-+#
-+# Specify the absolute *nix (or w32) name to cygpath in the LT_CYGPATH
-+# environment variable; do not put it in $PATH.
-+func_cygpath ()
-+{
-+  $opt_debug
-+  if test -n "$LT_CYGPATH" && test -f "$LT_CYGPATH"; then
-+    func_cygpath_result=`$LT_CYGPATH "$@" 2>/dev/null`
-+    if test "$?" -ne 0; then
-+      # on failure, ensure result is empty
-+      func_cygpath_result=
-+    fi
-+  else
-+    func_cygpath_result=
-+    func_error "LT_CYGPATH is empty or specifies non-existent file: \`$LT_CYGPATH'"
-+  fi
-+}
-+#end: func_cygpath
-+
-+
-+# func_convert_core_msys_to_w32 ARG
-+# Convert file name or path ARG from MSYS format to w32 format.  Return
-+# result in func_convert_core_msys_to_w32_result.
-+func_convert_core_msys_to_w32 ()
-+{
-+  $opt_debug
-+  # awkward: cmd appends spaces to result
-+  func_convert_core_msys_to_w32_result=`( cmd //c echo "$1" ) 2>/dev/null |
-+    $SED -e 's/[ ]*$//' -e "$lt_sed_naive_backslashify"`
-+}
-+#end: func_convert_core_msys_to_w32
-+
-+
-+# func_convert_file_check ARG1 ARG2
-+# Verify that ARG1 (a file name in $build format) was converted to $host
-+# format in ARG2. Otherwise, emit an error message, but continue (resetting
-+# func_to_host_file_result to ARG1).
-+func_convert_file_check ()
-+{
-+  $opt_debug
-+  if test -z "$2" && test -n "$1" ; then
-+    func_error "Could not determine host file name corresponding to"
-+    func_error "  \`$1'"
-+    func_error "Continuing, but uninstalled executables may not work."
-+    # Fallback:
-+    func_to_host_file_result="$1"
-+  fi
-+}
-+# end func_convert_file_check
-+
-+
-+# func_convert_path_check FROM_PATHSEP TO_PATHSEP FROM_PATH TO_PATH
-+# Verify that FROM_PATH (a path in $build format) was converted to $host
-+# format in TO_PATH. Otherwise, emit an error message, but continue, resetting
-+# func_to_host_file_result to a simplistic fallback value (see below).
-+func_convert_path_check ()
-+{
-+  $opt_debug
-+  if test -z "$4" && test -n "$3"; then
-+    func_error "Could not determine the host path corresponding to"
-+    func_error "  \`$3'"
-+    func_error "Continuing, but uninstalled executables may not work."
-+    # Fallback.  This is a deliberately simplistic "conversion" and
-+    # should not be "improved".  See libtool.info.
-+    if test "x$1" != "x$2"; then
-+      lt_replace_pathsep_chars="s|$1|$2|g"
-+      func_to_host_path_result=`echo "$3" |
-+        $SED -e "$lt_replace_pathsep_chars"`
-+    else
-+      func_to_host_path_result="$3"
-+    fi
-+  fi
-+}
-+# end func_convert_path_check
-+
-+
-+# func_convert_path_front_back_pathsep FRONTPAT BACKPAT REPL ORIG
-+# Modifies func_to_host_path_result by prepending REPL if ORIG matches FRONTPAT
-+# and appending REPL if ORIG matches BACKPAT.
-+func_convert_path_front_back_pathsep ()
-+{
-+  $opt_debug
-+  case $4 in
-+  $1 ) func_to_host_path_result="$3$func_to_host_path_result"
-+    ;;
-+  esac
-+  case $4 in
-+  $2 ) func_append func_to_host_path_result "$3"
-+    ;;
-+  esac
-+}
-+# end func_convert_path_front_back_pathsep
-+
-+
-+##################################################
-+# $build to $host FILE NAME CONVERSION FUNCTIONS #
-+##################################################
-+# invoked via `$to_host_file_cmd ARG'
-+#
-+# In each case, ARG is the path to be converted from $build to $host format.
-+# Result will be available in $func_to_host_file_result.
-+
-+
-+# func_to_host_file ARG
-+# Converts the file name ARG from $build format to $host format. Return result
-+# in func_to_host_file_result.
-+func_to_host_file ()
-+{
-+  $opt_debug
-+  $to_host_file_cmd "$1"
-+}
-+# end func_to_host_file
-+
-+
-+# func_to_tool_file ARG LAZY
-+# converts the file name ARG from $build format to toolchain format. Return
-+# result in func_to_tool_file_result.  If the conversion in use is listed
-+# in (the comma separated) LAZY, no conversion takes place.
-+func_to_tool_file ()
-+{
-+  $opt_debug
-+  case ,$2, in
-+    *,"$to_tool_file_cmd",*)
-+      func_to_tool_file_result=$1
-+      ;;
-+    *)
-+      $to_tool_file_cmd "$1"
-+      func_to_tool_file_result=$func_to_host_file_result
-+      ;;
-+  esac
-+}
-+# end func_to_tool_file
-+
-+
-+# func_convert_file_noop ARG
-+# Copy ARG to func_to_host_file_result.
-+func_convert_file_noop ()
-+{
-+  func_to_host_file_result="$1"
-+}
-+# end func_convert_file_noop
-+
-+
-+# func_convert_file_msys_to_w32 ARG
-+# Convert file name ARG from (mingw) MSYS to (mingw) w32 format; automatic
-+# conversion to w32 is not available inside the cwrapper.  Returns result in
-+# func_to_host_file_result.
-+func_convert_file_msys_to_w32 ()
-+{
-+  $opt_debug
-+  func_to_host_file_result="$1"
-+  if test -n "$1"; then
-+    func_convert_core_msys_to_w32 "$1"
-+    func_to_host_file_result="$func_convert_core_msys_to_w32_result"
-+  fi
-+  func_convert_file_check "$1" "$func_to_host_file_result"
-+}
-+# end func_convert_file_msys_to_w32
-+
-+
-+# func_convert_file_cygwin_to_w32 ARG
-+# Convert file name ARG from Cygwin to w32 format.  Returns result in
-+# func_to_host_file_result.
-+func_convert_file_cygwin_to_w32 ()
-+{
-+  $opt_debug
-+  func_to_host_file_result="$1"
-+  if test -n "$1"; then
-+    # because $build is cygwin, we call "the" cygpath in $PATH; no need to use
-+    # LT_CYGPATH in this case.
-+    func_to_host_file_result=`cygpath -m "$1"`
-+  fi
-+  func_convert_file_check "$1" "$func_to_host_file_result"
-+}
-+# end func_convert_file_cygwin_to_w32
-+
-+
-+# func_convert_file_nix_to_w32 ARG
-+# Convert file name ARG from *nix to w32 format.  Requires a wine environment
-+# and a working winepath. Returns result in func_to_host_file_result.
-+func_convert_file_nix_to_w32 ()
-+{
-+  $opt_debug
-+  func_to_host_file_result="$1"
-+  if test -n "$1"; then
-+    func_convert_core_file_wine_to_w32 "$1"
-+    func_to_host_file_result="$func_convert_core_file_wine_to_w32_result"
-+  fi
-+  func_convert_file_check "$1" "$func_to_host_file_result"
-+}
-+# end func_convert_file_nix_to_w32
-+
-+
-+# func_convert_file_msys_to_cygwin ARG
-+# Convert file name ARG from MSYS to Cygwin format.  Requires LT_CYGPATH set.
-+# Returns result in func_to_host_file_result.
-+func_convert_file_msys_to_cygwin ()
-+{
-+  $opt_debug
-+  func_to_host_file_result="$1"
-+  if test -n "$1"; then
-+    func_convert_core_msys_to_w32 "$1"
-+    func_cygpath -u "$func_convert_core_msys_to_w32_result"
-+    func_to_host_file_result="$func_cygpath_result"
-+  fi
-+  func_convert_file_check "$1" "$func_to_host_file_result"
-+}
-+# end func_convert_file_msys_to_cygwin
-+
-+
-+# func_convert_file_nix_to_cygwin ARG
-+# Convert file name ARG from *nix to Cygwin format.  Requires Cygwin installed
-+# in a wine environment, working winepath, and LT_CYGPATH set.  Returns result
-+# in func_to_host_file_result.
-+func_convert_file_nix_to_cygwin ()
-+{
-+  $opt_debug
-+  func_to_host_file_result="$1"
-+  if test -n "$1"; then
-+    # convert from *nix to w32, then use cygpath to convert from w32 to cygwin.
-+    func_convert_core_file_wine_to_w32 "$1"
-+    func_cygpath -u "$func_convert_core_file_wine_to_w32_result"
-+    func_to_host_file_result="$func_cygpath_result"
-+  fi
-+  func_convert_file_check "$1" "$func_to_host_file_result"
-+}
-+# end func_convert_file_nix_to_cygwin
-+
-+
-+#############################################
-+# $build to $host PATH CONVERSION FUNCTIONS #
-+#############################################
-+# invoked via `$to_host_path_cmd ARG'
-+#
-+# In each case, ARG is the path to be converted from $build to $host format.
-+# The result will be available in $func_to_host_path_result.
-+#
-+# Path separators are also converted from $build format to $host format.  If
-+# ARG begins or ends with a path separator character, it is preserved (but
-+# converted to $host format) on output.
-+#
-+# All path conversion functions are named using the following convention:
-+#   file name conversion function    : func_convert_file_X_to_Y ()
-+#   path conversion function         : func_convert_path_X_to_Y ()
-+# where, for any given $build/$host combination the 'X_to_Y' value is the
-+# same.  If conversion functions are added for new $build/$host combinations,
-+# the two new functions must follow this pattern, or func_init_to_host_path_cmd
-+# will break.
-+
-+
-+# func_init_to_host_path_cmd
-+# Ensures that function "pointer" variable $to_host_path_cmd is set to the
-+# appropriate value, based on the value of $to_host_file_cmd.
-+to_host_path_cmd=
-+func_init_to_host_path_cmd ()
-+{
-+  $opt_debug
-+  if test -z "$to_host_path_cmd"; then
-+    func_stripname 'func_convert_file_' '' "$to_host_file_cmd"
-+    to_host_path_cmd="func_convert_path_${func_stripname_result}"
-+  fi
-+}
-+
-+
-+# func_to_host_path ARG
-+# Converts the path ARG from $build format to $host format. Return result
-+# in func_to_host_path_result.
-+func_to_host_path ()
-+{
-+  $opt_debug
-+  func_init_to_host_path_cmd
-+  $to_host_path_cmd "$1"
-+}
-+# end func_to_host_path
-+
-+
-+# func_convert_path_noop ARG
-+# Copy ARG to func_to_host_path_result.
-+func_convert_path_noop ()
-+{
-+  func_to_host_path_result="$1"
-+}
-+# end func_convert_path_noop
-+
-+
-+# func_convert_path_msys_to_w32 ARG
-+# Convert path ARG from (mingw) MSYS to (mingw) w32 format; automatic
-+# conversion to w32 is not available inside the cwrapper.  Returns result in
-+# func_to_host_path_result.
-+func_convert_path_msys_to_w32 ()
-+{
-+  $opt_debug
-+  func_to_host_path_result="$1"
-+  if test -n "$1"; then
-+    # Remove leading and trailing path separator characters from ARG.  MSYS
-+    # behavior is inconsistent here; cygpath turns them into '.;' and ';.';
-+    # and winepath ignores them completely.
-+    func_stripname : : "$1"
-+    func_to_host_path_tmp1=$func_stripname_result
-+    func_convert_core_msys_to_w32 "$func_to_host_path_tmp1"
-+    func_to_host_path_result="$func_convert_core_msys_to_w32_result"
-+    func_convert_path_check : ";" \
-+      "$func_to_host_path_tmp1" "$func_to_host_path_result"
-+    func_convert_path_front_back_pathsep ":*" "*:" ";" "$1"
-+  fi
-+}
-+# end func_convert_path_msys_to_w32
-+
-+
-+# func_convert_path_cygwin_to_w32 ARG
-+# Convert path ARG from Cygwin to w32 format.  Returns result in
-+# func_to_host_file_result.
-+func_convert_path_cygwin_to_w32 ()
-+{
-+  $opt_debug
-+  func_to_host_path_result="$1"
-+  if test -n "$1"; then
-+    # See func_convert_path_msys_to_w32:
-+    func_stripname : : "$1"
-+    func_to_host_path_tmp1=$func_stripname_result
-+    func_to_host_path_result=`cygpath -m -p "$func_to_host_path_tmp1"`
-+    func_convert_path_check : ";" \
-+      "$func_to_host_path_tmp1" "$func_to_host_path_result"
-+    func_convert_path_front_back_pathsep ":*" "*:" ";" "$1"
-+  fi
-+}
-+# end func_convert_path_cygwin_to_w32
-+
-+
-+# func_convert_path_nix_to_w32 ARG
-+# Convert path ARG from *nix to w32 format.  Requires a wine environment and
-+# a working winepath.  Returns result in func_to_host_file_result.
-+func_convert_path_nix_to_w32 ()
-+{
-+  $opt_debug
-+  func_to_host_path_result="$1"
-+  if test -n "$1"; then
-+    # See func_convert_path_msys_to_w32:
-+    func_stripname : : "$1"
-+    func_to_host_path_tmp1=$func_stripname_result
-+    func_convert_core_path_wine_to_w32 "$func_to_host_path_tmp1"
-+    func_to_host_path_result="$func_convert_core_path_wine_to_w32_result"
-+    func_convert_path_check : ";" \
-+      "$func_to_host_path_tmp1" "$func_to_host_path_result"
-+    func_convert_path_front_back_pathsep ":*" "*:" ";" "$1"
-+  fi
-+}
-+# end func_convert_path_nix_to_w32
-+
-+
-+# func_convert_path_msys_to_cygwin ARG
-+# Convert path ARG from MSYS to Cygwin format.  Requires LT_CYGPATH set.
-+# Returns result in func_to_host_file_result.
-+func_convert_path_msys_to_cygwin ()
-+{
-+  $opt_debug
-+  func_to_host_path_result="$1"
-+  if test -n "$1"; then
-+    # See func_convert_path_msys_to_w32:
-+    func_stripname : : "$1"
-+    func_to_host_path_tmp1=$func_stripname_result
-+    func_convert_core_msys_to_w32 "$func_to_host_path_tmp1"
-+    func_cygpath -u -p "$func_convert_core_msys_to_w32_result"
-+    func_to_host_path_result="$func_cygpath_result"
-+    func_convert_path_check : : \
-+      "$func_to_host_path_tmp1" "$func_to_host_path_result"
-+    func_convert_path_front_back_pathsep ":*" "*:" : "$1"
-+  fi
-+}
-+# end func_convert_path_msys_to_cygwin
-+
-+
-+# func_convert_path_nix_to_cygwin ARG
-+# Convert path ARG from *nix to Cygwin format.  Requires Cygwin installed in a
-+# a wine environment, working winepath, and LT_CYGPATH set.  Returns result in
-+# func_to_host_file_result.
-+func_convert_path_nix_to_cygwin ()
-+{
-+  $opt_debug
-+  func_to_host_path_result="$1"
-+  if test -n "$1"; then
-+    # Remove leading and trailing path separator characters from
-+    # ARG. msys behavior is inconsistent here, cygpath turns them
-+    # into '.;' and ';.', and winepath ignores them completely.
-+    func_stripname : : "$1"
-+    func_to_host_path_tmp1=$func_stripname_result
-+    func_convert_core_path_wine_to_w32 "$func_to_host_path_tmp1"
-+    func_cygpath -u -p "$func_convert_core_path_wine_to_w32_result"
-+    func_to_host_path_result="$func_cygpath_result"
-+    func_convert_path_check : : \
-+      "$func_to_host_path_tmp1" "$func_to_host_path_result"
-+    func_convert_path_front_back_pathsep ":*" "*:" : "$1"
-+  fi
-+}
-+# end func_convert_path_nix_to_cygwin
-+
-+
- # func_mode_compile arg...
- func_mode_compile ()
- {
-@@ -1314,12 +1985,12 @@ func_mode_compile ()
- 	  ;;
- 
- 	-pie | -fpie | -fPIE)
--          pie_flag="$pie_flag $arg"
-+          func_append pie_flag " $arg"
- 	  continue
- 	  ;;
- 
- 	-shared | -static | -prefer-pic | -prefer-non-pic)
--	  later="$later $arg"
-+	  func_append later " $arg"
- 	  continue
- 	  ;;
- 
-@@ -1340,15 +2011,14 @@ func_mode_compile ()
- 	  save_ifs="$IFS"; IFS=','
- 	  for arg in $args; do
- 	    IFS="$save_ifs"
--	    func_quote_for_eval "$arg"
--	    lastarg="$lastarg $func_quote_for_eval_result"
-+	    func_append_quoted lastarg "$arg"
- 	  done
- 	  IFS="$save_ifs"
- 	  func_stripname ' ' '' "$lastarg"
- 	  lastarg=$func_stripname_result
- 
- 	  # Add the arguments to base_compile.
--	  base_compile="$base_compile $lastarg"
-+	  func_append base_compile " $lastarg"
- 	  continue
- 	  ;;
- 
-@@ -1364,8 +2034,7 @@ func_mode_compile ()
-       esac    #  case $arg_mode
- 
-       # Aesthetically quote the previous argument.
--      func_quote_for_eval "$lastarg"
--      base_compile="$base_compile $func_quote_for_eval_result"
-+      func_append_quoted base_compile "$lastarg"
-     done # for arg
- 
-     case $arg_mode in
-@@ -1496,17 +2165,16 @@ compiler."
- 	$opt_dry_run || $RM $removelist
- 	exit $EXIT_FAILURE
-       fi
--      removelist="$removelist $output_obj"
-+      func_append removelist " $output_obj"
-       $ECHO "$srcfile" > "$lockfile"
-     fi
- 
-     $opt_dry_run || $RM $removelist
--    removelist="$removelist $lockfile"
-+    func_append removelist " $lockfile"
-     trap '$opt_dry_run || $RM $removelist; exit $EXIT_FAILURE' 1 2 15
- 
--    if test -n "$fix_srcfile_path"; then
--      eval "srcfile=\"$fix_srcfile_path\""
--    fi
-+    func_to_tool_file "$srcfile" func_convert_file_msys_to_w32
-+    srcfile=$func_to_tool_file_result
-     func_quote_for_eval "$srcfile"
-     qsrcfile=$func_quote_for_eval_result
- 
-@@ -1526,7 +2194,7 @@ compiler."
- 
-       if test -z "$output_obj"; then
- 	# Place PIC objects in $objdir
--	command="$command -o $lobj"
-+	func_append command " -o $lobj"
-       fi
- 
-       func_show_eval_locale "$command"	\
-@@ -1573,11 +2241,11 @@ compiler."
- 	command="$base_compile $qsrcfile $pic_flag"
-       fi
-       if test "$compiler_c_o" = yes; then
--	command="$command -o $obj"
-+	func_append command " -o $obj"
-       fi
- 
-       # Suppress compiler output if we already did a PIC compilation.
--      command="$command$suppress_output"
-+      func_append command "$suppress_output"
-       func_show_eval_locale "$command" \
-         '$opt_dry_run || $RM $removelist; exit $EXIT_FAILURE'
- 
-@@ -1622,13 +2290,13 @@ compiler."
- }
- 
- $opt_help || {
--  test "$mode" = compile && func_mode_compile ${1+"$@"}
-+  test "$opt_mode" = compile && func_mode_compile ${1+"$@"}
- }
- 
- func_mode_help ()
- {
-     # We need to display help for each of the modes.
--    case $mode in
-+    case $opt_mode in
-       "")
-         # Generic help is extracted from the usage comments
-         # at the start of this file.
-@@ -1659,8 +2327,8 @@ This mode accepts the following addition
- 
-   -o OUTPUT-FILE    set the output file name to OUTPUT-FILE
-   -no-suppress      do not suppress compiler output for multiple passes
--  -prefer-pic       try to building PIC objects only
--  -prefer-non-pic   try to building non-PIC objects only
-+  -prefer-pic       try to build PIC objects only
-+  -prefer-non-pic   try to build non-PIC objects only
-   -shared           do not build a \`.o' file suitable for static linking
-   -static           only build a \`.o' file suitable for static linking
-   -Wc,FLAG          pass FLAG directly to the compiler
-@@ -1804,7 +2472,7 @@ Otherwise, only FILE itself is deleted u
-         ;;
- 
-       *)
--        func_fatal_help "invalid operation mode \`$mode'"
-+        func_fatal_help "invalid operation mode \`$opt_mode'"
-         ;;
-     esac
- 
-@@ -1819,13 +2487,13 @@ if $opt_help; then
-   else
-     {
-       func_help noexit
--      for mode in compile link execute install finish uninstall clean; do
-+      for opt_mode in compile link execute install finish uninstall clean; do
- 	func_mode_help
-       done
-     } | sed -n '1p; 2,$s/^Usage:/  or: /p'
-     {
-       func_help noexit
--      for mode in compile link execute install finish uninstall clean; do
-+      for opt_mode in compile link execute install finish uninstall clean; do
- 	echo
- 	func_mode_help
-       done
-@@ -1854,13 +2522,16 @@ func_mode_execute ()
-       func_fatal_help "you must specify a COMMAND"
- 
-     # Handle -dlopen flags immediately.
--    for file in $execute_dlfiles; do
-+    for file in $opt_dlopen; do
-       test -f "$file" \
- 	|| func_fatal_help "\`$file' is not a file"
- 
-       dir=
-       case $file in
-       *.la)
-+	func_resolve_sysroot "$file"
-+	file=$func_resolve_sysroot_result
-+
- 	# Check to see that this really is a libtool archive.
- 	func_lalib_unsafe_p "$file" \
- 	  || func_fatal_help "\`$lib' is not a valid libtool archive"
-@@ -1882,7 +2553,7 @@ func_mode_execute ()
- 	dir="$func_dirname_result"
- 
- 	if test -f "$dir/$objdir/$dlname"; then
--	  dir="$dir/$objdir"
-+	  func_append dir "/$objdir"
- 	else
- 	  if test ! -f "$dir/$dlname"; then
- 	    func_fatal_error "cannot find \`$dlname' in \`$dir' or \`$dir/$objdir'"
-@@ -1907,10 +2578,10 @@ func_mode_execute ()
-       test -n "$absdir" && dir="$absdir"
- 
-       # Now add the directory to shlibpath_var.
--      if eval test -z \"\$$shlibpath_var\"; then
--	eval $shlibpath_var=\$dir
-+      if eval "test -z \"\$$shlibpath_var\""; then
-+	eval "$shlibpath_var=\"\$dir\""
-       else
--	eval $shlibpath_var=\$dir:\$$shlibpath_var
-+	eval "$shlibpath_var=\"\$dir:\$$shlibpath_var\""
-       fi
-     done
- 
-@@ -1939,8 +2610,7 @@ func_mode_execute ()
- 	;;
-       esac
-       # Quote arguments (to preserve shell metacharacters).
--      func_quote_for_eval "$file"
--      args="$args $func_quote_for_eval_result"
-+      func_append_quoted args "$file"
-     done
- 
-     if test "X$opt_dry_run" = Xfalse; then
-@@ -1972,22 +2642,59 @@ func_mode_execute ()
-     fi
- }
- 
--test "$mode" = execute && func_mode_execute ${1+"$@"}
-+test "$opt_mode" = execute && func_mode_execute ${1+"$@"}
- 
- 
- # func_mode_finish arg...
- func_mode_finish ()
- {
-     $opt_debug
--    libdirs="$nonopt"
-+    libs=
-+    libdirs=
-     admincmds=
- 
--    if test -n "$finish_cmds$finish_eval" && test -n "$libdirs"; then
--      for dir
--      do
--	libdirs="$libdirs $dir"
--      done
-+    for opt in "$nonopt" ${1+"$@"}
-+    do
-+      if test -d "$opt"; then
-+	func_append libdirs " $opt"
-+
-+      elif test -f "$opt"; then
-+	if func_lalib_unsafe_p "$opt"; then
-+	  func_append libs " $opt"
-+	else
-+	  func_warning "\`$opt' is not a valid libtool archive"
-+	fi
-+
-+      else
-+	func_fatal_error "invalid argument \`$opt'"
-+      fi
-+    done
-+
-+    if test -n "$libs"; then
-+      if test -n "$lt_sysroot"; then
-+        sysroot_regex=`$ECHO "$lt_sysroot" | $SED "$sed_make_literal_regex"`
-+        sysroot_cmd="s/\([ ']\)$sysroot_regex/\1/g;"
-+      else
-+        sysroot_cmd=
-+      fi
-+
-+      # Remove sysroot references
-+      if $opt_dry_run; then
-+        for lib in $libs; do
-+          echo "removing references to $lt_sysroot and \`=' prefixes from $lib"
-+        done
-+      else
-+        tmpdir=`func_mktempdir`
-+        for lib in $libs; do
-+	  sed -e "${sysroot_cmd} s/\([ ']-[LR]\)=/\1/g; s/\([ ']\)=/\1/g" $lib \
-+	    > $tmpdir/tmp-la
-+	  mv -f $tmpdir/tmp-la $lib
-+	done
-+        ${RM}r "$tmpdir"
-+      fi
-+    fi
- 
-+    if test -n "$finish_cmds$finish_eval" && test -n "$libdirs"; then
-       for libdir in $libdirs; do
- 	if test -n "$finish_cmds"; then
- 	  # Do each command in the finish commands.
-@@ -1997,7 +2704,7 @@ func_mode_finish ()
- 	if test -n "$finish_eval"; then
- 	  # Do the single finish_eval.
- 	  eval cmds=\"$finish_eval\"
--	  $opt_dry_run || eval "$cmds" || admincmds="$admincmds
-+	  $opt_dry_run || eval "$cmds" || func_append admincmds "
-        $cmds"
- 	fi
-       done
-@@ -2006,53 +2713,55 @@ func_mode_finish ()
-     # Exit here if they wanted silent mode.
-     $opt_silent && exit $EXIT_SUCCESS
- 
--    echo "----------------------------------------------------------------------"
--    echo "Libraries have been installed in:"
--    for libdir in $libdirs; do
--      $ECHO "   $libdir"
--    done
--    echo
--    echo "If you ever happen to want to link against installed libraries"
--    echo "in a given directory, LIBDIR, you must either use libtool, and"
--    echo "specify the full pathname of the library, or use the \`-LLIBDIR'"
--    echo "flag during linking and do at least one of the following:"
--    if test -n "$shlibpath_var"; then
--      echo "   - add LIBDIR to the \`$shlibpath_var' environment variable"
--      echo "     during execution"
--    fi
--    if test -n "$runpath_var"; then
--      echo "   - add LIBDIR to the \`$runpath_var' environment variable"
--      echo "     during linking"
--    fi
--    if test -n "$hardcode_libdir_flag_spec"; then
--      libdir=LIBDIR
--      eval "flag=\"$hardcode_libdir_flag_spec\""
-+    if test -n "$finish_cmds$finish_eval" && test -n "$libdirs"; then
-+      echo "----------------------------------------------------------------------"
-+      echo "Libraries have been installed in:"
-+      for libdir in $libdirs; do
-+	$ECHO "   $libdir"
-+      done
-+      echo
-+      echo "If you ever happen to want to link against installed libraries"
-+      echo "in a given directory, LIBDIR, you must either use libtool, and"
-+      echo "specify the full pathname of the library, or use the \`-LLIBDIR'"
-+      echo "flag during linking and do at least one of the following:"
-+      if test -n "$shlibpath_var"; then
-+	echo "   - add LIBDIR to the \`$shlibpath_var' environment variable"
-+	echo "     during execution"
-+      fi
-+      if test -n "$runpath_var"; then
-+	echo "   - add LIBDIR to the \`$runpath_var' environment variable"
-+	echo "     during linking"
-+      fi
-+      if test -n "$hardcode_libdir_flag_spec"; then
-+	libdir=LIBDIR
-+	eval flag=\"$hardcode_libdir_flag_spec\"
- 
--      $ECHO "   - use the \`$flag' linker flag"
--    fi
--    if test -n "$admincmds"; then
--      $ECHO "   - have your system administrator run these commands:$admincmds"
--    fi
--    if test -f /etc/ld.so.conf; then
--      echo "   - have your system administrator add LIBDIR to \`/etc/ld.so.conf'"
--    fi
--    echo
-+	$ECHO "   - use the \`$flag' linker flag"
-+      fi
-+      if test -n "$admincmds"; then
-+	$ECHO "   - have your system administrator run these commands:$admincmds"
-+      fi
-+      if test -f /etc/ld.so.conf; then
-+	echo "   - have your system administrator add LIBDIR to \`/etc/ld.so.conf'"
-+      fi
-+      echo
- 
--    echo "See any operating system documentation about shared libraries for"
--    case $host in
--      solaris2.[6789]|solaris2.1[0-9])
--        echo "more information, such as the ld(1), crle(1) and ld.so(8) manual"
--	echo "pages."
--	;;
--      *)
--        echo "more information, such as the ld(1) and ld.so(8) manual pages."
--        ;;
--    esac
--    echo "----------------------------------------------------------------------"
-+      echo "See any operating system documentation about shared libraries for"
-+      case $host in
-+	solaris2.[6789]|solaris2.1[0-9])
-+	  echo "more information, such as the ld(1), crle(1) and ld.so(8) manual"
-+	  echo "pages."
-+	  ;;
-+	*)
-+	  echo "more information, such as the ld(1) and ld.so(8) manual pages."
-+	  ;;
-+      esac
-+      echo "----------------------------------------------------------------------"
-+    fi
-     exit $EXIT_SUCCESS
- }
- 
--test "$mode" = finish && func_mode_finish ${1+"$@"}
-+test "$opt_mode" = finish && func_mode_finish ${1+"$@"}
- 
- 
- # func_mode_install arg...
-@@ -2077,7 +2786,7 @@ func_mode_install ()
-     # The real first argument should be the name of the installation program.
-     # Aesthetically quote it.
-     func_quote_for_eval "$arg"
--    install_prog="$install_prog$func_quote_for_eval_result"
-+    func_append install_prog "$func_quote_for_eval_result"
-     install_shared_prog=$install_prog
-     case " $install_prog " in
-       *[\\\ /]cp\ *) install_cp=: ;;
-@@ -2097,7 +2806,7 @@ func_mode_install ()
-     do
-       arg2=
-       if test -n "$dest"; then
--	files="$files $dest"
-+	func_append files " $dest"
- 	dest=$arg
- 	continue
-       fi
-@@ -2135,11 +2844,11 @@ func_mode_install ()
- 
-       # Aesthetically quote the argument.
-       func_quote_for_eval "$arg"
--      install_prog="$install_prog $func_quote_for_eval_result"
-+      func_append install_prog " $func_quote_for_eval_result"
-       if test -n "$arg2"; then
- 	func_quote_for_eval "$arg2"
-       fi
--      install_shared_prog="$install_shared_prog $func_quote_for_eval_result"
-+      func_append install_shared_prog " $func_quote_for_eval_result"
-     done
- 
-     test -z "$install_prog" && \
-@@ -2151,7 +2860,7 @@ func_mode_install ()
-     if test -n "$install_override_mode" && $no_mode; then
-       if $install_cp; then :; else
- 	func_quote_for_eval "$install_override_mode"
--	install_shared_prog="$install_shared_prog -m $func_quote_for_eval_result"
-+	func_append install_shared_prog " -m $func_quote_for_eval_result"
-       fi
-     fi
- 
-@@ -2209,10 +2918,13 @@ func_mode_install ()
-       case $file in
-       *.$libext)
- 	# Do the static libraries later.
--	staticlibs="$staticlibs $file"
-+	func_append staticlibs " $file"
- 	;;
- 
-       *.la)
-+	func_resolve_sysroot "$file"
-+	file=$func_resolve_sysroot_result
-+
- 	# Check to see that this really is a libtool archive.
- 	func_lalib_unsafe_p "$file" \
- 	  || func_fatal_help "\`$file' is not a valid libtool archive"
-@@ -2226,23 +2938,30 @@ func_mode_install ()
- 	if test "X$destdir" = "X$libdir"; then
- 	  case "$current_libdirs " in
- 	  *" $libdir "*) ;;
--	  *) current_libdirs="$current_libdirs $libdir" ;;
-+	  *) func_append current_libdirs " $libdir" ;;
- 	  esac
- 	else
- 	  # Note the libdir as a future libdir.
- 	  case "$future_libdirs " in
- 	  *" $libdir "*) ;;
--	  *) future_libdirs="$future_libdirs $libdir" ;;
-+	  *) func_append future_libdirs " $libdir" ;;
- 	  esac
- 	fi
- 
- 	func_dirname "$file" "/" ""
- 	dir="$func_dirname_result"
--	dir="$dir$objdir"
-+	func_append dir "$objdir"
- 
- 	if test -n "$relink_command"; then
-+      # Strip any trailing slash from the destination.
-+      func_stripname '' '/' "$libdir"
-+      destlibdir=$func_stripname_result
-+
-+      func_stripname '' '/' "$destdir"
-+      s_destdir=$func_stripname_result
-+
- 	  # Determine the prefix the user has applied to our future dir.
--	  inst_prefix_dir=`$ECHO "$destdir" | $SED -e "s%$libdir\$%%"`
-+	  inst_prefix_dir=`$ECHO "X$s_destdir" | $Xsed -e "s%$destlibdir\$%%"`
- 
- 	  # Don't allow the user to place us outside of our expected
- 	  # location b/c this prevents finding dependent libraries that
-@@ -2315,7 +3034,7 @@ func_mode_install ()
- 	func_show_eval "$install_prog $instname $destdir/$name" 'exit $?'
- 
- 	# Maybe install the static library, too.
--	test -n "$old_library" && staticlibs="$staticlibs $dir/$old_library"
-+	test -n "$old_library" && func_append staticlibs " $dir/$old_library"
- 	;;
- 
-       *.lo)
-@@ -2503,7 +3222,7 @@ func_mode_install ()
-     test -n "$future_libdirs" && \
-       func_warning "remember to run \`$progname --finish$future_libdirs'"
- 
--    if test -n "$current_libdirs" && $opt_finish; then
-+    if test -n "$current_libdirs"; then
-       # Maybe just do a dry run.
-       $opt_dry_run && current_libdirs=" -n$current_libdirs"
-       exec_cmd='$SHELL $progpath $preserve_args --finish$current_libdirs'
-@@ -2512,7 +3231,7 @@ func_mode_install ()
-     fi
- }
- 
--test "$mode" = install && func_mode_install ${1+"$@"}
-+test "$opt_mode" = install && func_mode_install ${1+"$@"}
- 
- 
- # func_generate_dlsyms outputname originator pic_p
-@@ -2559,6 +3278,18 @@ extern \"C\" {
- #pragma GCC diagnostic ignored \"-Wstrict-prototypes\"
- #endif
- 
-+/* Keep this code in sync between libtool.m4, ltmain, lt_system.h, and tests.  */
-+#if defined(_WIN32) || defined(__CYGWIN__) || defined(_WIN32_WCE)
-+/* DATA imports from DLLs on WIN32 con't be const, because runtime
-+   relocations are performed -- see ld's documentation on pseudo-relocs.  */
-+# define LT_DLSYM_CONST
-+#elif defined(__osf__)
-+/* This system does not cope well with relocations in const data.  */
-+# define LT_DLSYM_CONST
-+#else
-+# define LT_DLSYM_CONST const
-+#endif
-+
- /* External symbol declarations for the compiler. */\
- "
- 
-@@ -2570,21 +3301,22 @@ extern \"C\" {
- 	  # Add our own program objects to the symbol list.
- 	  progfiles=`$ECHO "$objs$old_deplibs" | $SP2NL | $SED "$lo2o" | $NL2SP`
- 	  for progfile in $progfiles; do
--	    func_verbose "extracting global C symbols from \`$progfile'"
--	    $opt_dry_run || eval "$NM $progfile | $global_symbol_pipe >> '$nlist'"
-+	    func_to_tool_file "$progfile" func_convert_file_msys_to_w32
-+	    func_verbose "extracting global C symbols from \`$func_to_tool_file_result'"
-+	    $opt_dry_run || eval "$NM $func_to_tool_file_result | $global_symbol_pipe >> '$nlist'"
- 	  done
- 
- 	  if test -n "$exclude_expsyms"; then
- 	    $opt_dry_run || {
--	      $EGREP -v " ($exclude_expsyms)$" "$nlist" > "$nlist"T
--	      $MV "$nlist"T "$nlist"
-+	      eval '$EGREP -v " ($exclude_expsyms)$" "$nlist" > "$nlist"T'
-+	      eval '$MV "$nlist"T "$nlist"'
- 	    }
- 	  fi
- 
- 	  if test -n "$export_symbols_regex"; then
- 	    $opt_dry_run || {
--	      $EGREP -e "$export_symbols_regex" "$nlist" > "$nlist"T
--	      $MV "$nlist"T "$nlist"
-+	      eval '$EGREP -e "$export_symbols_regex" "$nlist" > "$nlist"T'
-+	      eval '$MV "$nlist"T "$nlist"'
- 	    }
- 	  fi
- 
-@@ -2593,23 +3325,23 @@ extern \"C\" {
- 	    export_symbols="$output_objdir/$outputname.exp"
- 	    $opt_dry_run || {
- 	      $RM $export_symbols
--	      ${SED} -n -e '/^: @PROGRAM@ $/d' -e 's/^.* \(.*\)$/\1/p' < "$nlist" > "$export_symbols"
-+	      eval "${SED} -n -e '/^: @PROGRAM@ $/d' -e 's/^.* \(.*\)$/\1/p' "'< "$nlist" > "$export_symbols"'
- 	      case $host in
- 	      *cygwin* | *mingw* | *cegcc* )
--                echo EXPORTS > "$output_objdir/$outputname.def"
--                cat "$export_symbols" >> "$output_objdir/$outputname.def"
-+                eval "echo EXPORTS "'> "$output_objdir/$outputname.def"'
-+                eval 'cat "$export_symbols" >> "$output_objdir/$outputname.def"'
- 	        ;;
- 	      esac
- 	    }
- 	  else
- 	    $opt_dry_run || {
--	      ${SED} -e 's/\([].[*^$]\)/\\\1/g' -e 's/^/ /' -e 's/$/$/' < "$export_symbols" > "$output_objdir/$outputname.exp"
--	      $GREP -f "$output_objdir/$outputname.exp" < "$nlist" > "$nlist"T
--	      $MV "$nlist"T "$nlist"
-+	      eval "${SED} -e 's/\([].[*^$]\)/\\\\\1/g' -e 's/^/ /' -e 's/$/$/'"' < "$export_symbols" > "$output_objdir/$outputname.exp"'
-+	      eval '$GREP -f "$output_objdir/$outputname.exp" < "$nlist" > "$nlist"T'
-+	      eval '$MV "$nlist"T "$nlist"'
- 	      case $host in
- 	        *cygwin* | *mingw* | *cegcc* )
--	          echo EXPORTS > "$output_objdir/$outputname.def"
--	          cat "$nlist" >> "$output_objdir/$outputname.def"
-+	          eval "echo EXPORTS "'> "$output_objdir/$outputname.def"'
-+	          eval 'cat "$nlist" >> "$output_objdir/$outputname.def"'
- 	          ;;
- 	      esac
- 	    }
-@@ -2620,10 +3352,52 @@ extern \"C\" {
- 	  func_verbose "extracting global C symbols from \`$dlprefile'"
- 	  func_basename "$dlprefile"
- 	  name="$func_basename_result"
--	  $opt_dry_run || {
--	    $ECHO ": $name " >> "$nlist"
--	    eval "$NM $dlprefile 2>/dev/null | $global_symbol_pipe >> '$nlist'"
--	  }
-+          case $host in
-+	    *cygwin* | *mingw* | *cegcc* )
-+	      # if an import library, we need to obtain dlname
-+	      if func_win32_import_lib_p "$dlprefile"; then
-+	        func_tr_sh "$dlprefile"
-+	        eval "curr_lafile=\$libfile_$func_tr_sh_result"
-+	        dlprefile_dlbasename=""
-+	        if test -n "$curr_lafile" && func_lalib_p "$curr_lafile"; then
-+	          # Use subshell, to avoid clobbering current variable values
-+	          dlprefile_dlname=`source "$curr_lafile" && echo "$dlname"`
-+	          if test -n "$dlprefile_dlname" ; then
-+	            func_basename "$dlprefile_dlname"
-+	            dlprefile_dlbasename="$func_basename_result"
-+	          else
-+	            # no lafile. user explicitly requested -dlpreopen <import library>.
-+	            $sharedlib_from_linklib_cmd "$dlprefile"
-+	            dlprefile_dlbasename=$sharedlib_from_linklib_result
-+	          fi
-+	        fi
-+	        $opt_dry_run || {
-+	          if test -n "$dlprefile_dlbasename" ; then
-+	            eval '$ECHO ": $dlprefile_dlbasename" >> "$nlist"'
-+	          else
-+	            func_warning "Could not compute DLL name from $name"
-+	            eval '$ECHO ": $name " >> "$nlist"'
-+	          fi
-+	          func_to_tool_file "$dlprefile" func_convert_file_msys_to_w32
-+	          eval "$NM \"$func_to_tool_file_result\" 2>/dev/null | $global_symbol_pipe |
-+	            $SED -e '/I __imp/d' -e 's/I __nm_/D /;s/_nm__//' >> '$nlist'"
-+	        }
-+	      else # not an import lib
-+	        $opt_dry_run || {
-+	          eval '$ECHO ": $name " >> "$nlist"'
-+	          func_to_tool_file "$dlprefile" func_convert_file_msys_to_w32
-+	          eval "$NM \"$func_to_tool_file_result\" 2>/dev/null | $global_symbol_pipe >> '$nlist'"
-+	        }
-+	      fi
-+	    ;;
-+	    *)
-+	      $opt_dry_run || {
-+	        eval '$ECHO ": $name " >> "$nlist"'
-+	        func_to_tool_file "$dlprefile" func_convert_file_msys_to_w32
-+	        eval "$NM \"$func_to_tool_file_result\" 2>/dev/null | $global_symbol_pipe >> '$nlist'"
-+	      }
-+	    ;;
-+          esac
- 	done
- 
- 	$opt_dry_run || {
-@@ -2661,26 +3435,9 @@ typedef struct {
-   const char *name;
-   void *address;
- } lt_dlsymlist;
--"
--	  case $host in
--	  *cygwin* | *mingw* | *cegcc* )
--	    echo >> "$output_objdir/$my_dlsyms" "\
--/* DATA imports from DLLs on WIN32 con't be const, because
--   runtime relocations are performed -- see ld's documentation
--   on pseudo-relocs.  */"
--	    lt_dlsym_const= ;;
--	  *osf5*)
--	    echo >> "$output_objdir/$my_dlsyms" "\
--/* This system does not cope well with relocations in const data */"
--	    lt_dlsym_const= ;;
--	  *)
--	    lt_dlsym_const=const ;;
--	  esac
--
--	  echo >> "$output_objdir/$my_dlsyms" "\
--extern $lt_dlsym_const lt_dlsymlist
-+extern LT_DLSYM_CONST lt_dlsymlist
- lt_${my_prefix}_LTX_preloaded_symbols[];
--$lt_dlsym_const lt_dlsymlist
-+LT_DLSYM_CONST lt_dlsymlist
- lt_${my_prefix}_LTX_preloaded_symbols[] =
- {\
-   { \"$my_originator\", (void *) 0 },"
-@@ -2736,7 +3493,7 @@ static const void *lt_preloaded_setup() 
- 	for arg in $LTCFLAGS; do
- 	  case $arg in
- 	  -pie | -fpie | -fPIE) ;;
--	  *) symtab_cflags="$symtab_cflags $arg" ;;
-+	  *) func_append symtab_cflags " $arg" ;;
- 	  esac
- 	done
- 
-@@ -2796,9 +3553,11 @@ func_win32_libid ()
-     win32_libid_type="x86 archive import"
-     ;;
-   *ar\ archive*) # could be an import, or static
--    if $OBJDUMP -f "$1" | $SED -e '10q' 2>/dev/null |
--       $EGREP 'file format (pe-i386(.*architecture: i386)?|pe-arm-wince|pe-x86-64)' >/dev/null; then
--      win32_nmres=`$NM -f posix -A "$1" |
-+    # Keep the egrep pattern in sync with the one in _LT_CHECK_MAGIC_METHOD.
-+    if eval $OBJDUMP -f $1 | $SED -e '10q' 2>/dev/null |
-+       $EGREP 'file format (pei*-i386(.*architecture: i386)?|pe-arm-wince|pe-x86-64)' >/dev/null; then
-+      func_to_tool_file "$1" func_convert_file_msys_to_w32
-+      win32_nmres=`eval $NM -f posix -A \"$func_to_tool_file_result\" |
- 	$SED -n -e '
- 	    1,100{
- 		/ I /{
-@@ -2827,6 +3586,131 @@ func_win32_libid ()
-   $ECHO "$win32_libid_type"
- }
- 
-+# func_cygming_dll_for_implib ARG
-+#
-+# Platform-specific function to extract the
-+# name of the DLL associated with the specified
-+# import library ARG.
-+# Invoked by eval'ing the libtool variable
-+#    $sharedlib_from_linklib_cmd
-+# Result is available in the variable
-+#    $sharedlib_from_linklib_result
-+func_cygming_dll_for_implib ()
-+{
-+  $opt_debug
-+  sharedlib_from_linklib_result=`$DLLTOOL --identify-strict --identify "$1"`
-+}
-+
-+# func_cygming_dll_for_implib_fallback_core SECTION_NAME LIBNAMEs
-+#
-+# The is the core of a fallback implementation of a
-+# platform-specific function to extract the name of the
-+# DLL associated with the specified import library LIBNAME.
-+#
-+# SECTION_NAME is either .idata$6 or .idata$7, depending
-+# on the platform and compiler that created the implib.
-+#
-+# Echos the name of the DLL associated with the
-+# specified import library.
-+func_cygming_dll_for_implib_fallback_core ()
-+{
-+  $opt_debug
-+  match_literal=`$ECHO "$1" | $SED "$sed_make_literal_regex"`
-+  $OBJDUMP -s --section "$1" "$2" 2>/dev/null |
-+    $SED '/^Contents of section '"$match_literal"':/{
-+      # Place marker at beginning of archive member dllname section
-+      s/.*/====MARK====/
-+      p
-+      d
-+    }
-+    # These lines can sometimes be longer than 43 characters, but
-+    # are always uninteresting
-+    /:[	 ]*file format pe[i]\{,1\}-/d
-+    /^In archive [^:]*:/d
-+    # Ensure marker is printed
-+    /^====MARK====/p
-+    # Remove all lines with less than 43 characters
-+    /^.\{43\}/!d
-+    # From remaining lines, remove first 43 characters
-+    s/^.\{43\}//' |
-+    $SED -n '
-+      # Join marker and all lines until next marker into a single line
-+      /^====MARK====/ b para
-+      H
-+      $ b para
-+      b
-+      :para
-+      x
-+      s/\n//g
-+      # Remove the marker
-+      s/^====MARK====//
-+      # Remove trailing dots and whitespace
-+      s/[\. \t]*$//
-+      # Print
-+      /./p' |
-+    # we now have a list, one entry per line, of the stringified
-+    # contents of the appropriate section of all members of the
-+    # archive which possess that section. Heuristic: eliminate
-+    # all those which have a first or second character that is
-+    # a '.' (that is, objdump's representation of an unprintable
-+    # character.) This should work for all archives with less than
-+    # 0x302f exports -- but will fail for DLLs whose name actually
-+    # begins with a literal '.' or a single character followed by
-+    # a '.'.
-+    #
-+    # Of those that remain, print the first one.
-+    $SED -e '/^\./d;/^.\./d;q'
-+}
-+
-+# func_cygming_gnu_implib_p ARG
-+# This predicate returns with zero status (TRUE) if
-+# ARG is a GNU/binutils-style import library. Returns
-+# with nonzero status (FALSE) otherwise.
-+func_cygming_gnu_implib_p ()
-+{
-+  $opt_debug
-+  func_to_tool_file "$1" func_convert_file_msys_to_w32
-+  func_cygming_gnu_implib_tmp=`$NM "$func_to_tool_file_result" | eval "$global_symbol_pipe" | $EGREP ' (_head_[A-Za-z0-9_]+_[ad]l*|[A-Za-z0-9_]+_[ad]l*_iname)$'`
-+  test -n "$func_cygming_gnu_implib_tmp"
-+}
-+
-+# func_cygming_ms_implib_p ARG
-+# This predicate returns with zero status (TRUE) if
-+# ARG is an MS-style import library. Returns
-+# with nonzero status (FALSE) otherwise.
-+func_cygming_ms_implib_p ()
-+{
-+  $opt_debug
-+  func_to_tool_file "$1" func_convert_file_msys_to_w32
-+  func_cygming_ms_implib_tmp=`$NM "$func_to_tool_file_result" | eval "$global_symbol_pipe" | $GREP '_NULL_IMPORT_DESCRIPTOR'`
-+  test -n "$func_cygming_ms_implib_tmp"
-+}
-+
-+# func_cygming_dll_for_implib_fallback ARG
-+# Platform-specific function to extract the
-+# name of the DLL associated with the specified
-+# import library ARG.
-+#
-+# This fallback implementation is for use when $DLLTOOL
-+# does not support the --identify-strict option.
-+# Invoked by eval'ing the libtool variable
-+#    $sharedlib_from_linklib_cmd
-+# Result is available in the variable
-+#    $sharedlib_from_linklib_result
-+func_cygming_dll_for_implib_fallback ()
-+{
-+  $opt_debug
-+  if func_cygming_gnu_implib_p "$1" ; then
-+    # binutils import library
-+    sharedlib_from_linklib_result=`func_cygming_dll_for_implib_fallback_core '.idata$7' "$1"`
-+  elif func_cygming_ms_implib_p "$1" ; then
-+    # ms-generated import library
-+    sharedlib_from_linklib_result=`func_cygming_dll_for_implib_fallback_core '.idata$6' "$1"`
-+  else
-+    # unknown
-+    sharedlib_from_linklib_result=""
-+  fi
-+}
- 
- 
- # func_extract_an_archive dir oldlib
-@@ -2917,7 +3801,7 @@ func_extract_archives ()
- 	    darwin_file=
- 	    darwin_files=
- 	    for darwin_file in $darwin_filelist; do
--	      darwin_files=`find unfat-$$ -name $darwin_file -print | $NL2SP`
-+	      darwin_files=`find unfat-$$ -name $darwin_file -print | sort | $NL2SP`
- 	      $LIPO -create -output "$darwin_file" $darwin_files
- 	    done # $darwin_filelist
- 	    $RM -rf unfat-$$
-@@ -2932,7 +3816,7 @@ func_extract_archives ()
-         func_extract_an_archive "$my_xdir" "$my_xabs"
- 	;;
-       esac
--      my_oldobjs="$my_oldobjs "`find $my_xdir -name \*.$objext -print -o -name \*.lo -print | $NL2SP`
-+      my_oldobjs="$my_oldobjs "`find $my_xdir -name \*.$objext -print -o -name \*.lo -print | sort | $NL2SP`
-     done
- 
-     func_extract_archives_result="$my_oldobjs"
-@@ -3014,7 +3898,110 @@ func_fallback_echo ()
- _LTECHO_EOF'
- }
-     ECHO=\"$qECHO\"
--  fi\
-+  fi
-+
-+# Very basic option parsing. These options are (a) specific to
-+# the libtool wrapper, (b) are identical between the wrapper
-+# /script/ and the wrapper /executable/ which is used only on
-+# windows platforms, and (c) all begin with the string "--lt-"
-+# (application programs are unlikely to have options which match
-+# this pattern).
-+#
-+# There are only two supported options: --lt-debug and
-+# --lt-dump-script. There is, deliberately, no --lt-help.
-+#
-+# The first argument to this parsing function should be the
-+# script's $0 value, followed by "$@".
-+lt_option_debug=
-+func_parse_lt_options ()
-+{
-+  lt_script_arg0=\$0
-+  shift
-+  for lt_opt
-+  do
-+    case \"\$lt_opt\" in
-+    --lt-debug) lt_option_debug=1 ;;
-+    --lt-dump-script)
-+        lt_dump_D=\`\$ECHO \"X\$lt_script_arg0\" | $SED -e 's/^X//' -e 's%/[^/]*$%%'\`
-+        test \"X\$lt_dump_D\" = \"X\$lt_script_arg0\" && lt_dump_D=.
-+        lt_dump_F=\`\$ECHO \"X\$lt_script_arg0\" | $SED -e 's/^X//' -e 's%^.*/%%'\`
-+        cat \"\$lt_dump_D/\$lt_dump_F\"
-+        exit 0
-+      ;;
-+    --lt-*)
-+        \$ECHO \"Unrecognized --lt- option: '\$lt_opt'\" 1>&2
-+        exit 1
-+      ;;
-+    esac
-+  done
-+
-+  # Print the debug banner immediately:
-+  if test -n \"\$lt_option_debug\"; then
-+    echo \"${outputname}:${output}:\${LINENO}: libtool wrapper (GNU $PACKAGE$TIMESTAMP) $VERSION\" 1>&2
-+  fi
-+}
-+
-+# Used when --lt-debug. Prints its arguments to stdout
-+# (redirection is the responsibility of the caller)
-+func_lt_dump_args ()
-+{
-+  lt_dump_args_N=1;
-+  for lt_arg
-+  do
-+    \$ECHO \"${outputname}:${output}:\${LINENO}: newargv[\$lt_dump_args_N]: \$lt_arg\"
-+    lt_dump_args_N=\`expr \$lt_dump_args_N + 1\`
-+  done
-+}
-+
-+# Core function for launching the target application
-+func_exec_program_core ()
-+{
-+"
-+  case $host in
-+  # Backslashes separate directories on plain windows
-+  *-*-mingw | *-*-os2* | *-cegcc*)
-+    $ECHO "\
-+      if test -n \"\$lt_option_debug\"; then
-+        \$ECHO \"${outputname}:${output}:\${LINENO}: newargv[0]: \$progdir\\\\\$program\" 1>&2
-+        func_lt_dump_args \${1+\"\$@\"} 1>&2
-+      fi
-+      exec \"\$progdir\\\\\$program\" \${1+\"\$@\"}
-+"
-+    ;;
-+
-+  *)
-+    $ECHO "\
-+      if test -n \"\$lt_option_debug\"; then
-+        \$ECHO \"${outputname}:${output}:\${LINENO}: newargv[0]: \$progdir/\$program\" 1>&2
-+        func_lt_dump_args \${1+\"\$@\"} 1>&2
-+      fi
-+      exec \"\$progdir/\$program\" \${1+\"\$@\"}
-+"
-+    ;;
-+  esac
-+  $ECHO "\
-+      \$ECHO \"\$0: cannot exec \$program \$*\" 1>&2
-+      exit 1
-+}
-+
-+# A function to encapsulate launching the target application
-+# Strips options in the --lt-* namespace from \$@ and
-+# launches target application with the remaining arguments.
-+func_exec_program ()
-+{
-+  for lt_wr_arg
-+  do
-+    case \$lt_wr_arg in
-+    --lt-*) ;;
-+    *) set x \"\$@\" \"\$lt_wr_arg\"; shift;;
-+    esac
-+    shift
-+  done
-+  func_exec_program_core \${1+\"\$@\"}
-+}
-+
-+  # Parse options
-+  func_parse_lt_options \"\$0\" \${1+\"\$@\"}
- 
-   # Find the directory that this script lives in.
-   thisdir=\`\$ECHO \"\$file\" | $SED 's%/[^/]*$%%'\`
-@@ -3078,7 +4065,7 @@ _LTECHO_EOF'
- 
-     # relink executable if necessary
-     if test -n \"\$relink_command\"; then
--      if relink_command_output=\`eval \"\$relink_command\" 2>&1\`; then :
-+      if relink_command_output=\`eval \$relink_command 2>&1\`; then :
-       else
- 	$ECHO \"\$relink_command_output\" >&2
- 	$RM \"\$progdir/\$file\"
-@@ -3102,6 +4089,18 @@ _LTECHO_EOF'
- 
-   if test -f \"\$progdir/\$program\"; then"
- 
-+	# fixup the dll searchpath if we need to.
-+	#
-+	# Fix the DLL searchpath if we need to.  Do this before prepending
-+	# to shlibpath, because on Windows, both are PATH and uninstalled
-+	# libraries must come first.
-+	if test -n "$dllsearchpath"; then
-+	  $ECHO "\
-+    # Add the dll search path components to the executable PATH
-+    PATH=$dllsearchpath:\$PATH
-+"
-+	fi
-+
- 	# Export our shlibpath_var if we have one.
- 	if test "$shlibpath_overrides_runpath" = yes && test -n "$shlibpath_var" && test -n "$temp_rpath"; then
- 	  $ECHO "\
-@@ -3116,35 +4115,10 @@ _LTECHO_EOF'
- "
- 	fi
- 
--	# fixup the dll searchpath if we need to.
--	if test -n "$dllsearchpath"; then
--	  $ECHO "\
--    # Add the dll search path components to the executable PATH
--    PATH=$dllsearchpath:\$PATH
--"
--	fi
--
- 	$ECHO "\
-     if test \"\$libtool_execute_magic\" != \"$magic\"; then
-       # Run the actual program with our arguments.
--"
--	case $host in
--	# Backslashes separate directories on plain windows
--	*-*-mingw | *-*-os2* | *-cegcc*)
--	  $ECHO "\
--      exec \"\$progdir\\\\\$program\" \${1+\"\$@\"}
--"
--	  ;;
--
--	*)
--	  $ECHO "\
--      exec \"\$progdir/\$program\" \${1+\"\$@\"}
--"
--	  ;;
--	esac
--	$ECHO "\
--      \$ECHO \"\$0: cannot exec \$program \$*\" 1>&2
--      exit 1
-+      func_exec_program \${1+\"\$@\"}
-     fi
-   else
-     # The program doesn't exist.
-@@ -3158,166 +4132,6 @@ fi\
- }
- 
- 
--# func_to_host_path arg
--#
--# Convert paths to host format when used with build tools.
--# Intended for use with "native" mingw (where libtool itself
--# is running under the msys shell), or in the following cross-
--# build environments:
--#    $build          $host
--#    mingw (msys)    mingw  [e.g. native]
--#    cygwin          mingw
--#    *nix + wine     mingw
--# where wine is equipped with the `winepath' executable.
--# In the native mingw case, the (msys) shell automatically
--# converts paths for any non-msys applications it launches,
--# but that facility isn't available from inside the cwrapper.
--# Similar accommodations are necessary for $host mingw and
--# $build cygwin.  Calling this function does no harm for other
--# $host/$build combinations not listed above.
--#
--# ARG is the path (on $build) that should be converted to
--# the proper representation for $host. The result is stored
--# in $func_to_host_path_result.
--func_to_host_path ()
--{
--  func_to_host_path_result="$1"
--  if test -n "$1"; then
--    case $host in
--      *mingw* )
--        lt_sed_naive_backslashify='s|\\\\*|\\|g;s|/|\\|g;s|\\|\\\\|g'
--        case $build in
--          *mingw* ) # actually, msys
--            # awkward: cmd appends spaces to result
--            func_to_host_path_result=`( cmd //c echo "$1" ) 2>/dev/null |
--              $SED -e 's/[ ]*$//' -e "$lt_sed_naive_backslashify"`
--            ;;
--          *cygwin* )
--            func_to_host_path_result=`cygpath -w "$1" |
--	      $SED -e "$lt_sed_naive_backslashify"`
--            ;;
--          * )
--            # Unfortunately, winepath does not exit with a non-zero
--            # error code, so we are forced to check the contents of
--            # stdout. On the other hand, if the command is not
--            # found, the shell will set an exit code of 127 and print
--            # *an error message* to stdout. So we must check for both
--            # error code of zero AND non-empty stdout, which explains
--            # the odd construction:
--            func_to_host_path_tmp1=`winepath -w "$1" 2>/dev/null`
--            if test "$?" -eq 0 && test -n "${func_to_host_path_tmp1}"; then
--              func_to_host_path_result=`$ECHO "$func_to_host_path_tmp1" |
--                $SED -e "$lt_sed_naive_backslashify"`
--            else
--              # Allow warning below.
--              func_to_host_path_result=
--            fi
--            ;;
--        esac
--        if test -z "$func_to_host_path_result" ; then
--          func_error "Could not determine host path corresponding to"
--          func_error "  \`$1'"
--          func_error "Continuing, but uninstalled executables may not work."
--          # Fallback:
--          func_to_host_path_result="$1"
--        fi
--        ;;
--    esac
--  fi
--}
--# end: func_to_host_path
--
--# func_to_host_pathlist arg
--#
--# Convert pathlists to host format when used with build tools.
--# See func_to_host_path(), above. This function supports the
--# following $build/$host combinations (but does no harm for
--# combinations not listed here):
--#    $build          $host
--#    mingw (msys)    mingw  [e.g. native]
--#    cygwin          mingw
--#    *nix + wine     mingw
--#
--# Path separators are also converted from $build format to
--# $host format. If ARG begins or ends with a path separator
--# character, it is preserved (but converted to $host format)
--# on output.
--#
--# ARG is a pathlist (on $build) that should be converted to
--# the proper representation on $host. The result is stored
--# in $func_to_host_pathlist_result.
--func_to_host_pathlist ()
--{
--  func_to_host_pathlist_result="$1"
--  if test -n "$1"; then
--    case $host in
--      *mingw* )
--        lt_sed_naive_backslashify='s|\\\\*|\\|g;s|/|\\|g;s|\\|\\\\|g'
--        # Remove leading and trailing path separator characters from
--        # ARG. msys behavior is inconsistent here, cygpath turns them
--        # into '.;' and ';.', and winepath ignores them completely.
--	func_stripname : : "$1"
--        func_to_host_pathlist_tmp1=$func_stripname_result
--        case $build in
--          *mingw* ) # Actually, msys.
--            # Awkward: cmd appends spaces to result.
--            func_to_host_pathlist_result=`
--	      ( cmd //c echo "$func_to_host_pathlist_tmp1" ) 2>/dev/null |
--	      $SED -e 's/[ ]*$//' -e "$lt_sed_naive_backslashify"`
--            ;;
--          *cygwin* )
--            func_to_host_pathlist_result=`cygpath -w -p "$func_to_host_pathlist_tmp1" |
--              $SED -e "$lt_sed_naive_backslashify"`
--            ;;
--          * )
--            # unfortunately, winepath doesn't convert pathlists
--            func_to_host_pathlist_result=""
--            func_to_host_pathlist_oldIFS=$IFS
--            IFS=:
--            for func_to_host_pathlist_f in $func_to_host_pathlist_tmp1 ; do
--              IFS=$func_to_host_pathlist_oldIFS
--              if test -n "$func_to_host_pathlist_f" ; then
--                func_to_host_path "$func_to_host_pathlist_f"
--                if test -n "$func_to_host_path_result" ; then
--                  if test -z "$func_to_host_pathlist_result" ; then
--                    func_to_host_pathlist_result="$func_to_host_path_result"
--                  else
--                    func_append func_to_host_pathlist_result ";$func_to_host_path_result"
--                  fi
--                fi
--              fi
--            done
--            IFS=$func_to_host_pathlist_oldIFS
--            ;;
--        esac
--        if test -z "$func_to_host_pathlist_result"; then
--          func_error "Could not determine the host path(s) corresponding to"
--          func_error "  \`$1'"
--          func_error "Continuing, but uninstalled executables may not work."
--          # Fallback. This may break if $1 contains DOS-style drive
--          # specifications. The fix is not to complicate the expression
--          # below, but for the user to provide a working wine installation
--          # with winepath so that path translation in the cross-to-mingw
--          # case works properly.
--          lt_replace_pathsep_nix_to_dos="s|:|;|g"
--          func_to_host_pathlist_result=`echo "$func_to_host_pathlist_tmp1" |\
--            $SED -e "$lt_replace_pathsep_nix_to_dos"`
--        fi
--        # Now, add the leading and trailing path separators back
--        case "$1" in
--          :* ) func_to_host_pathlist_result=";$func_to_host_pathlist_result"
--            ;;
--        esac
--        case "$1" in
--          *: ) func_append func_to_host_pathlist_result ";"
--            ;;
--        esac
--        ;;
--    esac
--  fi
--}
--# end: func_to_host_pathlist
--
- # func_emit_cwrapperexe_src
- # emit the source code for a wrapper executable on stdout
- # Must ONLY be called from within func_mode_link because
-@@ -3334,10 +4148,6 @@ func_emit_cwrapperexe_src ()
- 
-    This wrapper executable should never be moved out of the build directory.
-    If it is, it will not operate correctly.
--
--   Currently, it simply execs the wrapper *script* "$SHELL $output",
--   but could eventually absorb all of the scripts functionality and
--   exec $objdir/$outputname directly.
- */
- EOF
- 	    cat <<"EOF"
-@@ -3462,22 +4272,13 @@ int setenv (const char *, const char *, 
-   if (stale) { free ((void *) stale); stale = 0; } \
- } while (0)
- 
--#undef LTWRAPPER_DEBUGPRINTF
--#if defined LT_DEBUGWRAPPER
--# define LTWRAPPER_DEBUGPRINTF(args) ltwrapper_debugprintf args
--static void
--ltwrapper_debugprintf (const char *fmt, ...)
--{
--    va_list args;
--    va_start (args, fmt);
--    (void) vfprintf (stderr, fmt, args);
--    va_end (args);
--}
-+#if defined(LT_DEBUGWRAPPER)
-+static int lt_debug = 1;
- #else
--# define LTWRAPPER_DEBUGPRINTF(args)
-+static int lt_debug = 0;
- #endif
- 
--const char *program_name = NULL;
-+const char *program_name = "libtool-wrapper"; /* in case xstrdup fails */
- 
- void *xmalloc (size_t num);
- char *xstrdup (const char *string);
-@@ -3487,7 +4288,10 @@ char *chase_symlinks (const char *pathsp
- int make_executable (const char *path);
- int check_executable (const char *path);
- char *strendzap (char *str, const char *pat);
--void lt_fatal (const char *message, ...);
-+void lt_debugprintf (const char *file, int line, const char *fmt, ...);
-+void lt_fatal (const char *file, int line, const char *message, ...);
-+static const char *nonnull (const char *s);
-+static const char *nonempty (const char *s);
- void lt_setenv (const char *name, const char *value);
- char *lt_extend_str (const char *orig_value, const char *add, int to_end);
- void lt_update_exe_path (const char *name, const char *value);
-@@ -3497,14 +4301,14 @@ void lt_dump_script (FILE *f);
- EOF
- 
- 	    cat <<EOF
--const char * MAGIC_EXE = "$magic_exe";
-+volatile const char * MAGIC_EXE = "$magic_exe";
- const char * LIB_PATH_VARNAME = "$shlibpath_var";
- EOF
- 
- 	    if test "$shlibpath_overrides_runpath" = yes && test -n "$shlibpath_var" && test -n "$temp_rpath"; then
--              func_to_host_pathlist "$temp_rpath"
-+              func_to_host_path "$temp_rpath"
- 	      cat <<EOF
--const char * LIB_PATH_VALUE   = "$func_to_host_pathlist_result";
-+const char * LIB_PATH_VALUE   = "$func_to_host_path_result";
- EOF
- 	    else
- 	      cat <<"EOF"
-@@ -3513,10 +4317,10 @@ EOF
- 	    fi
- 
- 	    if test -n "$dllsearchpath"; then
--              func_to_host_pathlist "$dllsearchpath:"
-+              func_to_host_path "$dllsearchpath:"
- 	      cat <<EOF
- const char * EXE_PATH_VARNAME = "PATH";
--const char * EXE_PATH_VALUE   = "$func_to_host_pathlist_result";
-+const char * EXE_PATH_VALUE   = "$func_to_host_path_result";
- EOF
- 	    else
- 	      cat <<"EOF"
-@@ -3539,12 +4343,10 @@ EOF
- 	    cat <<"EOF"
- 
- #define LTWRAPPER_OPTION_PREFIX         "--lt-"
--#define LTWRAPPER_OPTION_PREFIX_LENGTH  5
- 
--static const size_t opt_prefix_len         = LTWRAPPER_OPTION_PREFIX_LENGTH;
- static const char *ltwrapper_option_prefix = LTWRAPPER_OPTION_PREFIX;
--
- static const char *dumpscript_opt       = LTWRAPPER_OPTION_PREFIX "dump-script";
-+static const char *debug_opt            = LTWRAPPER_OPTION_PREFIX "debug";
- 
- int
- main (int argc, char *argv[])
-@@ -3561,10 +4363,13 @@ main (int argc, char *argv[])
-   int i;
- 
-   program_name = (char *) xstrdup (base_name (argv[0]));
--  LTWRAPPER_DEBUGPRINTF (("(main) argv[0]      : %s\n", argv[0]));
--  LTWRAPPER_DEBUGPRINTF (("(main) program_name : %s\n", program_name));
-+  newargz = XMALLOC (char *, argc + 1);
- 
--  /* very simple arg parsing; don't want to rely on getopt */
-+  /* very simple arg parsing; don't want to rely on getopt
-+   * also, copy all non cwrapper options to newargz, except
-+   * argz[0], which is handled differently
-+   */
-+  newargc=0;
-   for (i = 1; i < argc; i++)
-     {
-       if (strcmp (argv[i], dumpscript_opt) == 0)
-@@ -3581,21 +4386,54 @@ EOF
- 	  lt_dump_script (stdout);
- 	  return 0;
- 	}
-+      if (strcmp (argv[i], debug_opt) == 0)
-+	{
-+          lt_debug = 1;
-+          continue;
-+	}
-+      if (strcmp (argv[i], ltwrapper_option_prefix) == 0)
-+        {
-+          /* however, if there is an option in the LTWRAPPER_OPTION_PREFIX
-+             namespace, but it is not one of the ones we know about and
-+             have already dealt with, above (inluding dump-script), then
-+             report an error. Otherwise, targets might begin to believe
-+             they are allowed to use options in the LTWRAPPER_OPTION_PREFIX
-+             namespace. The first time any user complains about this, we'll
-+             need to make LTWRAPPER_OPTION_PREFIX a configure-time option
-+             or a configure.ac-settable value.
-+           */
-+          lt_fatal (__FILE__, __LINE__,
-+		    "unrecognized %s option: '%s'",
-+                    ltwrapper_option_prefix, argv[i]);
-+        }
-+      /* otherwise ... */
-+      newargz[++newargc] = xstrdup (argv[i]);
-     }
-+  newargz[++newargc] = NULL;
-+
-+EOF
-+	    cat <<EOF
-+  /* The GNU banner must be the first non-error debug message */
-+  lt_debugprintf (__FILE__, __LINE__, "libtool wrapper (GNU $PACKAGE$TIMESTAMP) $VERSION\n");
-+EOF
-+	    cat <<"EOF"
-+  lt_debugprintf (__FILE__, __LINE__, "(main) argv[0]: %s\n", argv[0]);
-+  lt_debugprintf (__FILE__, __LINE__, "(main) program_name: %s\n", program_name);
- 
--  newargz = XMALLOC (char *, argc + 1);
-   tmp_pathspec = find_executable (argv[0]);
-   if (tmp_pathspec == NULL)
--    lt_fatal ("Couldn't find %s", argv[0]);
--  LTWRAPPER_DEBUGPRINTF (("(main) found exe (before symlink chase) at : %s\n",
--			  tmp_pathspec));
-+    lt_fatal (__FILE__, __LINE__, "couldn't find %s", argv[0]);
-+  lt_debugprintf (__FILE__, __LINE__,
-+                  "(main) found exe (before symlink chase) at: %s\n",
-+		  tmp_pathspec);
- 
-   actual_cwrapper_path = chase_symlinks (tmp_pathspec);
--  LTWRAPPER_DEBUGPRINTF (("(main) found exe (after symlink chase) at : %s\n",
--			  actual_cwrapper_path));
-+  lt_debugprintf (__FILE__, __LINE__,
-+                  "(main) found exe (after symlink chase) at: %s\n",
-+		  actual_cwrapper_path);
-   XFREE (tmp_pathspec);
- 
--  actual_cwrapper_name = xstrdup( base_name (actual_cwrapper_path));
-+  actual_cwrapper_name = xstrdup (base_name (actual_cwrapper_path));
-   strendzap (actual_cwrapper_path, actual_cwrapper_name);
- 
-   /* wrapper name transforms */
-@@ -3613,8 +4451,9 @@ EOF
-   target_name = tmp_pathspec;
-   tmp_pathspec = 0;
- 
--  LTWRAPPER_DEBUGPRINTF (("(main) libtool target name: %s\n",
--			  target_name));
-+  lt_debugprintf (__FILE__, __LINE__,
-+		  "(main) libtool target name: %s\n",
-+		  target_name);
- EOF
- 
- 	    cat <<EOF
-@@ -3664,35 +4503,19 @@ EOF
- 
-   lt_setenv ("BIN_SH", "xpg4"); /* for Tru64 */
-   lt_setenv ("DUALCASE", "1");  /* for MSK sh */
--  lt_update_lib_path (LIB_PATH_VARNAME, LIB_PATH_VALUE);
-+  /* Update the DLL searchpath.  EXE_PATH_VALUE ($dllsearchpath) must
-+     be prepended before (that is, appear after) LIB_PATH_VALUE ($temp_rpath)
-+     because on Windows, both *_VARNAMEs are PATH but uninstalled
-+     libraries must come first. */
-   lt_update_exe_path (EXE_PATH_VARNAME, EXE_PATH_VALUE);
-+  lt_update_lib_path (LIB_PATH_VARNAME, LIB_PATH_VALUE);
- 
--  newargc=0;
--  for (i = 1; i < argc; i++)
--    {
--      if (strncmp (argv[i], ltwrapper_option_prefix, opt_prefix_len) == 0)
--        {
--          /* however, if there is an option in the LTWRAPPER_OPTION_PREFIX
--             namespace, but it is not one of the ones we know about and
--             have already dealt with, above (inluding dump-script), then
--             report an error. Otherwise, targets might begin to believe
--             they are allowed to use options in the LTWRAPPER_OPTION_PREFIX
--             namespace. The first time any user complains about this, we'll
--             need to make LTWRAPPER_OPTION_PREFIX a configure-time option
--             or a configure.ac-settable value.
--           */
--          lt_fatal ("Unrecognized option in %s namespace: '%s'",
--                    ltwrapper_option_prefix, argv[i]);
--        }
--      /* otherwise ... */
--      newargz[++newargc] = xstrdup (argv[i]);
--    }
--  newargz[++newargc] = NULL;
--
--  LTWRAPPER_DEBUGPRINTF     (("(main) lt_argv_zero : %s\n", (lt_argv_zero ? lt_argv_zero : "<NULL>")));
-+  lt_debugprintf (__FILE__, __LINE__, "(main) lt_argv_zero: %s\n",
-+		  nonnull (lt_argv_zero));
-   for (i = 0; i < newargc; i++)
-     {
--      LTWRAPPER_DEBUGPRINTF (("(main) newargz[%d]   : %s\n", i, (newargz[i] ? newargz[i] : "<NULL>")));
-+      lt_debugprintf (__FILE__, __LINE__, "(main) newargz[%d]: %s\n",
-+		      i, nonnull (newargz[i]));
-     }
- 
- EOF
-@@ -3706,7 +4529,9 @@ EOF
-   if (rval == -1)
-     {
-       /* failed to start process */
--      LTWRAPPER_DEBUGPRINTF (("(main) failed to launch target \"%s\": errno = %d\n", lt_argv_zero, errno));
-+      lt_debugprintf (__FILE__, __LINE__,
-+		      "(main) failed to launch target \"%s\": %s\n",
-+		      lt_argv_zero, nonnull (strerror (errno)));
-       return 127;
-     }
-   return rval;
-@@ -3728,7 +4553,7 @@ xmalloc (size_t num)
- {
-   void *p = (void *) malloc (num);
-   if (!p)
--    lt_fatal ("Memory exhausted");
-+    lt_fatal (__FILE__, __LINE__, "memory exhausted");
- 
-   return p;
- }
-@@ -3762,8 +4587,8 @@ check_executable (const char *path)
- {
-   struct stat st;
- 
--  LTWRAPPER_DEBUGPRINTF (("(check_executable)  : %s\n",
--			  path ? (*path ? path : "EMPTY!") : "NULL!"));
-+  lt_debugprintf (__FILE__, __LINE__, "(check_executable): %s\n",
-+                  nonempty (path));
-   if ((!path) || (!*path))
-     return 0;
- 
-@@ -3780,8 +4605,8 @@ make_executable (const char *path)
-   int rval = 0;
-   struct stat st;
- 
--  LTWRAPPER_DEBUGPRINTF (("(make_executable)   : %s\n",
--			  path ? (*path ? path : "EMPTY!") : "NULL!"));
-+  lt_debugprintf (__FILE__, __LINE__, "(make_executable): %s\n",
-+                  nonempty (path));
-   if ((!path) || (!*path))
-     return 0;
- 
-@@ -3807,8 +4632,8 @@ find_executable (const char *wrapper)
-   int tmp_len;
-   char *concat_name;
- 
--  LTWRAPPER_DEBUGPRINTF (("(find_executable)   : %s\n",
--			  wrapper ? (*wrapper ? wrapper : "EMPTY!") : "NULL!"));
-+  lt_debugprintf (__FILE__, __LINE__, "(find_executable): %s\n",
-+                  nonempty (wrapper));
- 
-   if ((wrapper == NULL) || (*wrapper == '\0'))
-     return NULL;
-@@ -3861,7 +4686,8 @@ find_executable (const char *wrapper)
- 		{
- 		  /* empty path: current directory */
- 		  if (getcwd (tmp, LT_PATHMAX) == NULL)
--		    lt_fatal ("getcwd failed");
-+		    lt_fatal (__FILE__, __LINE__, "getcwd failed: %s",
-+                              nonnull (strerror (errno)));
- 		  tmp_len = strlen (tmp);
- 		  concat_name =
- 		    XMALLOC (char, tmp_len + 1 + strlen (wrapper) + 1);
-@@ -3886,7 +4712,8 @@ find_executable (const char *wrapper)
-     }
-   /* Relative path | not found in path: prepend cwd */
-   if (getcwd (tmp, LT_PATHMAX) == NULL)
--    lt_fatal ("getcwd failed");
-+    lt_fatal (__FILE__, __LINE__, "getcwd failed: %s",
-+              nonnull (strerror (errno)));
-   tmp_len = strlen (tmp);
-   concat_name = XMALLOC (char, tmp_len + 1 + strlen (wrapper) + 1);
-   memcpy (concat_name, tmp, tmp_len);
-@@ -3912,8 +4739,9 @@ chase_symlinks (const char *pathspec)
-   int has_symlinks = 0;
-   while (strlen (tmp_pathspec) && !has_symlinks)
-     {
--      LTWRAPPER_DEBUGPRINTF (("checking path component for symlinks: %s\n",
--			      tmp_pathspec));
-+      lt_debugprintf (__FILE__, __LINE__,
-+		      "checking path component for symlinks: %s\n",
-+		      tmp_pathspec);
-       if (lstat (tmp_pathspec, &s) == 0)
- 	{
- 	  if (S_ISLNK (s.st_mode) != 0)
-@@ -3935,8 +4763,9 @@ chase_symlinks (const char *pathspec)
- 	}
-       else
- 	{
--	  char *errstr = strerror (errno);
--	  lt_fatal ("Error accessing file %s (%s)", tmp_pathspec, errstr);
-+	  lt_fatal (__FILE__, __LINE__,
-+		    "error accessing file \"%s\": %s",
-+		    tmp_pathspec, nonnull (strerror (errno)));
- 	}
-     }
-   XFREE (tmp_pathspec);
-@@ -3949,7 +4778,8 @@ chase_symlinks (const char *pathspec)
-   tmp_pathspec = realpath (pathspec, buf);
-   if (tmp_pathspec == 0)
-     {
--      lt_fatal ("Could not follow symlinks for %s", pathspec);
-+      lt_fatal (__FILE__, __LINE__,
-+		"could not follow symlinks for %s", pathspec);
-     }
-   return xstrdup (tmp_pathspec);
- #endif
-@@ -3975,11 +4805,25 @@ strendzap (char *str, const char *pat)
-   return str;
- }
- 
-+void
-+lt_debugprintf (const char *file, int line, const char *fmt, ...)
-+{
-+  va_list args;
-+  if (lt_debug)
-+    {
-+      (void) fprintf (stderr, "%s:%s:%d: ", program_name, file, line);
-+      va_start (args, fmt);
-+      (void) vfprintf (stderr, fmt, args);
-+      va_end (args);
-+    }
-+}
-+
- static void
--lt_error_core (int exit_status, const char *mode,
-+lt_error_core (int exit_status, const char *file,
-+	       int line, const char *mode,
- 	       const char *message, va_list ap)
- {
--  fprintf (stderr, "%s: %s: ", program_name, mode);
-+  fprintf (stderr, "%s:%s:%d: %s: ", program_name, file, line, mode);
-   vfprintf (stderr, message, ap);
-   fprintf (stderr, ".\n");
- 
-@@ -3988,20 +4832,32 @@ lt_error_core (int exit_status, const ch
- }
- 
- void
--lt_fatal (const char *message, ...)
-+lt_fatal (const char *file, int line, const char *message, ...)
- {
-   va_list ap;
-   va_start (ap, message);
--  lt_error_core (EXIT_FAILURE, "FATAL", message, ap);
-+  lt_error_core (EXIT_FAILURE, file, line, "FATAL", message, ap);
-   va_end (ap);
- }
- 
-+static const char *
-+nonnull (const char *s)
-+{
-+  return s ? s : "(null)";
-+}
-+
-+static const char *
-+nonempty (const char *s)
-+{
-+  return (s && !*s) ? "(empty)" : nonnull (s);
-+}
-+
- void
- lt_setenv (const char *name, const char *value)
- {
--  LTWRAPPER_DEBUGPRINTF (("(lt_setenv) setting '%s' to '%s'\n",
--                          (name ? name : "<NULL>"),
--                          (value ? value : "<NULL>")));
-+  lt_debugprintf (__FILE__, __LINE__,
-+		  "(lt_setenv) setting '%s' to '%s'\n",
-+                  nonnull (name), nonnull (value));
-   {
- #ifdef HAVE_SETENV
-     /* always make a copy, for consistency with !HAVE_SETENV */
-@@ -4049,9 +4905,9 @@ lt_extend_str (const char *orig_value, c
- void
- lt_update_exe_path (const char *name, const char *value)
- {
--  LTWRAPPER_DEBUGPRINTF (("(lt_update_exe_path) modifying '%s' by prepending '%s'\n",
--                          (name ? name : "<NULL>"),
--                          (value ? value : "<NULL>")));
-+  lt_debugprintf (__FILE__, __LINE__,
-+		  "(lt_update_exe_path) modifying '%s' by prepending '%s'\n",
-+                  nonnull (name), nonnull (value));
- 
-   if (name && *name && value && *value)
-     {
-@@ -4070,9 +4926,9 @@ lt_update_exe_path (const char *name, co
- void
- lt_update_lib_path (const char *name, const char *value)
- {
--  LTWRAPPER_DEBUGPRINTF (("(lt_update_lib_path) modifying '%s' by prepending '%s'\n",
--                          (name ? name : "<NULL>"),
--                          (value ? value : "<NULL>")));
-+  lt_debugprintf (__FILE__, __LINE__,
-+		  "(lt_update_lib_path) modifying '%s' by prepending '%s'\n",
-+                  nonnull (name), nonnull (value));
- 
-   if (name && *name && value && *value)
-     {
-@@ -4222,7 +5078,7 @@ EOF
- func_win32_import_lib_p ()
- {
-     $opt_debug
--    case `eval "$file_magic_cmd \"\$1\" 2>/dev/null" | $SED -e 10q` in
-+    case `eval $file_magic_cmd \"\$1\" 2>/dev/null | $SED -e 10q` in
-     *import*) : ;;
-     *) false ;;
-     esac
-@@ -4401,9 +5257,9 @@ func_mode_link ()
- 	    ;;
- 	  *)
- 	    if test "$prev" = dlfiles; then
--	      dlfiles="$dlfiles $arg"
-+	      func_append dlfiles " $arg"
- 	    else
--	      dlprefiles="$dlprefiles $arg"
-+	      func_append dlprefiles " $arg"
- 	    fi
- 	    prev=
- 	    continue
-@@ -4427,7 +5283,7 @@ func_mode_link ()
- 	    *-*-darwin*)
- 	      case "$deplibs " in
- 		*" $qarg.ltframework "*) ;;
--		*) deplibs="$deplibs $qarg.ltframework" # this is fixed later
-+		*) func_append deplibs " $qarg.ltframework" # this is fixed later
- 		   ;;
- 	      esac
- 	      ;;
-@@ -4446,7 +5302,7 @@ func_mode_link ()
- 	    moreargs=
- 	    for fil in `cat "$save_arg"`
- 	    do
--#	      moreargs="$moreargs $fil"
-+#	      func_append moreargs " $fil"
- 	      arg=$fil
- 	      # A libtool-controlled object.
- 
-@@ -4475,7 +5331,7 @@ func_mode_link ()
- 
- 		  if test "$prev" = dlfiles; then
- 		    if test "$build_libtool_libs" = yes && test "$dlopen_support" = yes; then
--		      dlfiles="$dlfiles $pic_object"
-+		      func_append dlfiles " $pic_object"
- 		      prev=
- 		      continue
- 		    else
-@@ -4487,7 +5343,7 @@ func_mode_link ()
- 		  # CHECK ME:  I think I busted this.  -Ossama
- 		  if test "$prev" = dlprefiles; then
- 		    # Preload the old-style object.
--		    dlprefiles="$dlprefiles $pic_object"
-+		    func_append dlprefiles " $pic_object"
- 		    prev=
- 		  fi
- 
-@@ -4557,12 +5413,12 @@ func_mode_link ()
- 	  if test "$prev" = rpath; then
- 	    case "$rpath " in
- 	    *" $arg "*) ;;
--	    *) rpath="$rpath $arg" ;;
-+	    *) func_append rpath " $arg" ;;
- 	    esac
- 	  else
- 	    case "$xrpath " in
- 	    *" $arg "*) ;;
--	    *) xrpath="$xrpath $arg" ;;
-+	    *) func_append xrpath " $arg" ;;
- 	    esac
- 	  fi
- 	  prev=
-@@ -4574,28 +5430,28 @@ func_mode_link ()
- 	  continue
- 	  ;;
- 	weak)
--	  weak_libs="$weak_libs $arg"
-+	  func_append weak_libs " $arg"
- 	  prev=
- 	  continue
- 	  ;;
- 	xcclinker)
--	  linker_flags="$linker_flags $qarg"
--	  compiler_flags="$compiler_flags $qarg"
-+	  func_append linker_flags " $qarg"
-+	  func_append compiler_flags " $qarg"
- 	  prev=
- 	  func_append compile_command " $qarg"
- 	  func_append finalize_command " $qarg"
- 	  continue
- 	  ;;
- 	xcompiler)
--	  compiler_flags="$compiler_flags $qarg"
-+	  func_append compiler_flags " $qarg"
- 	  prev=
- 	  func_append compile_command " $qarg"
- 	  func_append finalize_command " $qarg"
- 	  continue
- 	  ;;
- 	xlinker)
--	  linker_flags="$linker_flags $qarg"
--	  compiler_flags="$compiler_flags $wl$qarg"
-+	  func_append linker_flags " $qarg"
-+	  func_append compiler_flags " $wl$qarg"
- 	  prev=
- 	  func_append compile_command " $wl$qarg"
- 	  func_append finalize_command " $wl$qarg"
-@@ -4686,15 +5542,16 @@ func_mode_link ()
- 	;;
- 
-       -L*)
--	func_stripname '-L' '' "$arg"
--	dir=$func_stripname_result
--	if test -z "$dir"; then
-+	func_stripname "-L" '' "$arg"
-+	if test -z "$func_stripname_result"; then
- 	  if test "$#" -gt 0; then
- 	    func_fatal_error "require no space between \`-L' and \`$1'"
- 	  else
- 	    func_fatal_error "need path for \`-L' option"
- 	  fi
- 	fi
-+	func_resolve_sysroot "$func_stripname_result"
-+	dir=$func_resolve_sysroot_result
- 	# We need an absolute path.
- 	case $dir in
- 	[\\/]* | [A-Za-z]:[\\/]*) ;;
-@@ -4706,10 +5563,16 @@ func_mode_link ()
- 	  ;;
- 	esac
- 	case "$deplibs " in
--	*" -L$dir "*) ;;
-+	*" -L$dir "* | *" $arg "*)
-+	  # Will only happen for absolute or sysroot arguments
-+	  ;;
- 	*)
--	  deplibs="$deplibs -L$dir"
--	  lib_search_path="$lib_search_path $dir"
-+	  # Preserve sysroot, but never include relative directories
-+	  case $dir in
-+	    [\\/]* | [A-Za-z]:[\\/]* | =*) func_append deplibs " $arg" ;;
-+	    *) func_append deplibs " -L$dir" ;;
-+	  esac
-+	  func_append lib_search_path " $dir"
- 	  ;;
- 	esac
- 	case $host in
-@@ -4718,12 +5581,12 @@ func_mode_link ()
- 	  case :$dllsearchpath: in
- 	  *":$dir:"*) ;;
- 	  ::) dllsearchpath=$dir;;
--	  *) dllsearchpath="$dllsearchpath:$dir";;
-+	  *) func_append dllsearchpath ":$dir";;
- 	  esac
- 	  case :$dllsearchpath: in
- 	  *":$testbindir:"*) ;;
- 	  ::) dllsearchpath=$testbindir;;
--	  *) dllsearchpath="$dllsearchpath:$testbindir";;
-+	  *) func_append dllsearchpath ":$testbindir";;
- 	  esac
- 	  ;;
- 	esac
-@@ -4747,7 +5610,7 @@ func_mode_link ()
- 	    ;;
- 	  *-*-rhapsody* | *-*-darwin1.[012])
- 	    # Rhapsody C and math libraries are in the System framework
--	    deplibs="$deplibs System.ltframework"
-+	    func_append deplibs " System.ltframework"
- 	    continue
- 	    ;;
- 	  *-*-sco3.2v5* | *-*-sco5v6*)
-@@ -4758,9 +5621,6 @@ func_mode_link ()
- 	    # Compiler inserts libc in the correct place for threads to work
- 	    test "X$arg" = "X-lc" && continue
- 	    ;;
--	  *-*-linux*)
--	    test "X$arg" = "X-lc" && continue
--	    ;;
- 	  esac
- 	elif test "X$arg" = "X-lc_r"; then
- 	 case $host in
-@@ -4770,7 +5630,7 @@ func_mode_link ()
- 	   ;;
- 	 esac
- 	fi
--	deplibs="$deplibs $arg"
-+	func_append deplibs " $arg"
- 	continue
- 	;;
- 
-@@ -4782,8 +5642,8 @@ func_mode_link ()
-       # Tru64 UNIX uses -model [arg] to determine the layout of C++
-       # classes, name mangling, and exception handling.
-       # Darwin uses the -arch flag to determine output architecture.
--      -model|-arch|-isysroot)
--	compiler_flags="$compiler_flags $arg"
-+      -model|-arch|-isysroot|--sysroot)
-+	func_append compiler_flags " $arg"
- 	func_append compile_command " $arg"
- 	func_append finalize_command " $arg"
- 	prev=xcompiler
-@@ -4791,12 +5651,12 @@ func_mode_link ()
- 	;;
- 
-       -mt|-mthreads|-kthread|-Kthread|-pthread|-pthreads|--thread-safe|-threads)
--	compiler_flags="$compiler_flags $arg"
-+	func_append compiler_flags " $arg"
- 	func_append compile_command " $arg"
- 	func_append finalize_command " $arg"
- 	case "$new_inherited_linker_flags " in
- 	    *" $arg "*) ;;
--	    * ) new_inherited_linker_flags="$new_inherited_linker_flags $arg" ;;
-+	    * ) func_append new_inherited_linker_flags " $arg" ;;
- 	esac
- 	continue
- 	;;
-@@ -4863,13 +5723,17 @@ func_mode_link ()
- 	# We need an absolute path.
- 	case $dir in
- 	[\\/]* | [A-Za-z]:[\\/]*) ;;
-+	=*)
-+	  func_stripname '=' '' "$dir"
-+	  dir=$lt_sysroot$func_stripname_result
-+	  ;;
- 	*)
- 	  func_fatal_error "only absolute run-paths are allowed"
- 	  ;;
- 	esac
- 	case "$xrpath " in
- 	*" $dir "*) ;;
--	*) xrpath="$xrpath $dir" ;;
-+	*) func_append xrpath " $dir" ;;
- 	esac
- 	continue
- 	;;
-@@ -4922,8 +5786,8 @@ func_mode_link ()
- 	for flag in $args; do
- 	  IFS="$save_ifs"
-           func_quote_for_eval "$flag"
--	  arg="$arg $func_quote_for_eval_result"
--	  compiler_flags="$compiler_flags $func_quote_for_eval_result"
-+	  func_append arg " $func_quote_for_eval_result"
-+	  func_append compiler_flags " $func_quote_for_eval_result"
- 	done
- 	IFS="$save_ifs"
- 	func_stripname ' ' '' "$arg"
-@@ -4938,9 +5802,9 @@ func_mode_link ()
- 	for flag in $args; do
- 	  IFS="$save_ifs"
-           func_quote_for_eval "$flag"
--	  arg="$arg $wl$func_quote_for_eval_result"
--	  compiler_flags="$compiler_flags $wl$func_quote_for_eval_result"
--	  linker_flags="$linker_flags $func_quote_for_eval_result"
-+	  func_append arg " $wl$func_quote_for_eval_result"
-+	  func_append compiler_flags " $wl$func_quote_for_eval_result"
-+	  func_append linker_flags " $func_quote_for_eval_result"
- 	done
- 	IFS="$save_ifs"
- 	func_stripname ' ' '' "$arg"
-@@ -4968,24 +5832,27 @@ func_mode_link ()
- 	arg="$func_quote_for_eval_result"
- 	;;
- 
--      # -64, -mips[0-9] enable 64-bit mode on the SGI compiler
--      # -r[0-9][0-9]* specifies the processor on the SGI compiler
--      # -xarch=*, -xtarget=* enable 64-bit mode on the Sun compiler
--      # +DA*, +DD* enable 64-bit mode on the HP compiler
--      # -q* pass through compiler args for the IBM compiler
--      # -m*, -t[45]*, -txscale* pass through architecture-specific
--      # compiler args for GCC
--      # -F/path gives path to uninstalled frameworks, gcc on darwin
--      # -p, -pg, --coverage, -fprofile-* pass through profiling flag for GCC
--      # @file GCC response files
--      # -tp=* Portland pgcc target processor selection
-+      # Flags to be passed through unchanged, with rationale:
-+      # -64, -mips[0-9]      enable 64-bit mode for the SGI compiler
-+      # -r[0-9][0-9]*        specify processor for the SGI compiler
-+      # -xarch=*, -xtarget=* enable 64-bit mode for the Sun compiler
-+      # +DA*, +DD*           enable 64-bit mode for the HP compiler
-+      # -q*                  compiler args for the IBM compiler
-+      # -m*, -t[45]*, -txscale* architecture-specific flags for GCC
-+      # -F/path              path to uninstalled frameworks, gcc on darwin
-+      # -p, -pg, --coverage, -fprofile-*  profiling flags for GCC
-+      # @file                GCC response files
-+      # -tp=*                Portland pgcc target processor selection
-+      # --sysroot=*          for sysroot support
-+      # -O*, -flto*, -fwhopr*, -fuse-linker-plugin GCC link-time optimization
-       -64|-mips[0-9]|-r[0-9][0-9]*|-xarch=*|-xtarget=*|+DA*|+DD*|-q*|-m*| \
--      -t[45]*|-txscale*|-p|-pg|--coverage|-fprofile-*|-F*|@*|-tp=*)
-+      -t[45]*|-txscale*|-p|-pg|--coverage|-fprofile-*|-F*|@*|-tp=*|--sysroot=*| \
-+      -O*|-flto*|-fwhopr*|-fuse-linker-plugin)
-         func_quote_for_eval "$arg"
- 	arg="$func_quote_for_eval_result"
-         func_append compile_command " $arg"
-         func_append finalize_command " $arg"
--        compiler_flags="$compiler_flags $arg"
-+        func_append compiler_flags " $arg"
-         continue
-         ;;
- 
-@@ -4997,7 +5864,7 @@ func_mode_link ()
- 
-       *.$objext)
- 	# A standard object.
--	objs="$objs $arg"
-+	func_append objs " $arg"
- 	;;
- 
-       *.lo)
-@@ -5028,7 +5895,7 @@ func_mode_link ()
- 
- 	    if test "$prev" = dlfiles; then
- 	      if test "$build_libtool_libs" = yes && test "$dlopen_support" = yes; then
--		dlfiles="$dlfiles $pic_object"
-+		func_append dlfiles " $pic_object"
- 		prev=
- 		continue
- 	      else
-@@ -5040,7 +5907,7 @@ func_mode_link ()
- 	    # CHECK ME:  I think I busted this.  -Ossama
- 	    if test "$prev" = dlprefiles; then
- 	      # Preload the old-style object.
--	      dlprefiles="$dlprefiles $pic_object"
-+	      func_append dlprefiles " $pic_object"
- 	      prev=
- 	    fi
- 
-@@ -5085,24 +5952,25 @@ func_mode_link ()
- 
-       *.$libext)
- 	# An archive.
--	deplibs="$deplibs $arg"
--	old_deplibs="$old_deplibs $arg"
-+	func_append deplibs " $arg"
-+	func_append old_deplibs " $arg"
- 	continue
- 	;;
- 
-       *.la)
- 	# A libtool-controlled library.
- 
-+	func_resolve_sysroot "$arg"
- 	if test "$prev" = dlfiles; then
- 	  # This library was specified with -dlopen.
--	  dlfiles="$dlfiles $arg"
-+	  func_append dlfiles " $func_resolve_sysroot_result"
- 	  prev=
- 	elif test "$prev" = dlprefiles; then
- 	  # The library was specified with -dlpreopen.
--	  dlprefiles="$dlprefiles $arg"
-+	  func_append dlprefiles " $func_resolve_sysroot_result"
- 	  prev=
- 	else
--	  deplibs="$deplibs $arg"
-+	  func_append deplibs " $func_resolve_sysroot_result"
- 	fi
- 	continue
- 	;;
-@@ -5127,7 +5995,7 @@ func_mode_link ()
-       func_fatal_help "the \`$prevarg' option requires an argument"
- 
-     if test "$export_dynamic" = yes && test -n "$export_dynamic_flag_spec"; then
--      eval "arg=\"$export_dynamic_flag_spec\""
-+      eval arg=\"$export_dynamic_flag_spec\"
-       func_append compile_command " $arg"
-       func_append finalize_command " $arg"
-     fi
-@@ -5144,11 +6012,13 @@ func_mode_link ()
-     else
-       shlib_search_path=
-     fi
--    eval "sys_lib_search_path=\"$sys_lib_search_path_spec\""
--    eval "sys_lib_dlsearch_path=\"$sys_lib_dlsearch_path_spec\""
-+    eval sys_lib_search_path=\"$sys_lib_search_path_spec\"
-+    eval sys_lib_dlsearch_path=\"$sys_lib_dlsearch_path_spec\"
- 
-     func_dirname "$output" "/" ""
-     output_objdir="$func_dirname_result$objdir"
-+    func_to_tool_file "$output_objdir/"
-+    tool_output_objdir=$func_to_tool_file_result
-     # Create the object directory.
-     func_mkdir_p "$output_objdir"
- 
-@@ -5169,12 +6039,12 @@ func_mode_link ()
-     # Find all interdependent deplibs by searching for libraries
-     # that are linked more than once (e.g. -la -lb -la)
-     for deplib in $deplibs; do
--      if $opt_duplicate_deps ; then
-+      if $opt_preserve_dup_deps ; then
- 	case "$libs " in
--	*" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;;
-+	*" $deplib "*) func_append specialdeplibs " $deplib" ;;
- 	esac
-       fi
--      libs="$libs $deplib"
-+      func_append libs " $deplib"
-     done
- 
-     if test "$linkmode" = lib; then
-@@ -5187,9 +6057,9 @@ func_mode_link ()
-       if $opt_duplicate_compiler_generated_deps; then
- 	for pre_post_dep in $predeps $postdeps; do
- 	  case "$pre_post_deps " in
--	  *" $pre_post_dep "*) specialdeplibs="$specialdeplibs $pre_post_deps" ;;
-+	  *" $pre_post_dep "*) func_append specialdeplibs " $pre_post_deps" ;;
- 	  esac
--	  pre_post_deps="$pre_post_deps $pre_post_dep"
-+	  func_append pre_post_deps " $pre_post_dep"
- 	done
-       fi
-       pre_post_deps=
-@@ -5256,8 +6126,9 @@ func_mode_link ()
- 	for lib in $dlprefiles; do
- 	  # Ignore non-libtool-libs
- 	  dependency_libs=
-+	  func_resolve_sysroot "$lib"
- 	  case $lib in
--	  *.la)	func_source "$lib" ;;
-+	  *.la)	func_source "$func_resolve_sysroot_result" ;;
- 	  esac
- 
- 	  # Collect preopened libtool deplibs, except any this library
-@@ -5267,7 +6138,7 @@ func_mode_link ()
-             deplib_base=$func_basename_result
- 	    case " $weak_libs " in
- 	    *" $deplib_base "*) ;;
--	    *) deplibs="$deplibs $deplib" ;;
-+	    *) func_append deplibs " $deplib" ;;
- 	    esac
- 	  done
- 	done
-@@ -5288,11 +6159,11 @@ func_mode_link ()
- 	    compile_deplibs="$deplib $compile_deplibs"
- 	    finalize_deplibs="$deplib $finalize_deplibs"
- 	  else
--	    compiler_flags="$compiler_flags $deplib"
-+	    func_append compiler_flags " $deplib"
- 	    if test "$linkmode" = lib ; then
- 		case "$new_inherited_linker_flags " in
- 		    *" $deplib "*) ;;
--		    * ) new_inherited_linker_flags="$new_inherited_linker_flags $deplib" ;;
-+		    * ) func_append new_inherited_linker_flags " $deplib" ;;
- 		esac
- 	    fi
- 	  fi
-@@ -5377,7 +6248,7 @@ func_mode_link ()
- 	    if test "$linkmode" = lib ; then
- 		case "$new_inherited_linker_flags " in
- 		    *" $deplib "*) ;;
--		    * ) new_inherited_linker_flags="$new_inherited_linker_flags $deplib" ;;
-+		    * ) func_append new_inherited_linker_flags " $deplib" ;;
- 		esac
- 	    fi
- 	  fi
-@@ -5390,7 +6261,8 @@ func_mode_link ()
- 	    test "$pass" = conv && continue
- 	    newdependency_libs="$deplib $newdependency_libs"
- 	    func_stripname '-L' '' "$deplib"
--	    newlib_search_path="$newlib_search_path $func_stripname_result"
-+	    func_resolve_sysroot "$func_stripname_result"
-+	    func_append newlib_search_path " $func_resolve_sysroot_result"
- 	    ;;
- 	  prog)
- 	    if test "$pass" = conv; then
-@@ -5404,7 +6276,8 @@ func_mode_link ()
- 	      finalize_deplibs="$deplib $finalize_deplibs"
- 	    fi
- 	    func_stripname '-L' '' "$deplib"
--	    newlib_search_path="$newlib_search_path $func_stripname_result"
-+	    func_resolve_sysroot "$func_stripname_result"
-+	    func_append newlib_search_path " $func_resolve_sysroot_result"
- 	    ;;
- 	  *)
- 	    func_warning "\`-L' is ignored for archives/objects"
-@@ -5415,17 +6288,21 @@ func_mode_link ()
- 	-R*)
- 	  if test "$pass" = link; then
- 	    func_stripname '-R' '' "$deplib"
--	    dir=$func_stripname_result
-+	    func_resolve_sysroot "$func_stripname_result"
-+	    dir=$func_resolve_sysroot_result
- 	    # Make sure the xrpath contains only unique directories.
- 	    case "$xrpath " in
- 	    *" $dir "*) ;;
--	    *) xrpath="$xrpath $dir" ;;
-+	    *) func_append xrpath " $dir" ;;
- 	    esac
- 	  fi
- 	  deplibs="$deplib $deplibs"
- 	  continue
- 	  ;;
--	*.la) lib="$deplib" ;;
-+	*.la)
-+	  func_resolve_sysroot "$deplib"
-+	  lib=$func_resolve_sysroot_result
-+	  ;;
- 	*.$libext)
- 	  if test "$pass" = conv; then
- 	    deplibs="$deplib $deplibs"
-@@ -5488,11 +6365,11 @@ func_mode_link ()
- 	    if test "$pass" = dlpreopen || test "$dlopen_support" != yes || test "$build_libtool_libs" = no; then
- 	      # If there is no dlopen support or we're linking statically,
- 	      # we need to preload.
--	      newdlprefiles="$newdlprefiles $deplib"
-+	      func_append newdlprefiles " $deplib"
- 	      compile_deplibs="$deplib $compile_deplibs"
- 	      finalize_deplibs="$deplib $finalize_deplibs"
- 	    else
--	      newdlfiles="$newdlfiles $deplib"
-+	      func_append newdlfiles " $deplib"
- 	    fi
- 	  fi
- 	  continue
-@@ -5538,7 +6415,7 @@ func_mode_link ()
- 	  for tmp_inherited_linker_flag in $tmp_inherited_linker_flags; do
- 	    case " $new_inherited_linker_flags " in
- 	      *" $tmp_inherited_linker_flag "*) ;;
--	      *) new_inherited_linker_flags="$new_inherited_linker_flags $tmp_inherited_linker_flag";;
-+	      *) func_append new_inherited_linker_flags " $tmp_inherited_linker_flag";;
- 	    esac
- 	  done
- 	fi
-@@ -5546,8 +6423,8 @@ func_mode_link ()
- 	if test "$linkmode,$pass" = "lib,link" ||
- 	   test "$linkmode,$pass" = "prog,scan" ||
- 	   { test "$linkmode" != prog && test "$linkmode" != lib; }; then
--	  test -n "$dlopen" && dlfiles="$dlfiles $dlopen"
--	  test -n "$dlpreopen" && dlprefiles="$dlprefiles $dlpreopen"
-+	  test -n "$dlopen" && func_append dlfiles " $dlopen"
-+	  test -n "$dlpreopen" && func_append dlprefiles " $dlpreopen"
- 	fi
- 
- 	if test "$pass" = conv; then
-@@ -5558,20 +6435,20 @@ func_mode_link ()
- 	      func_fatal_error "cannot find name of link library for \`$lib'"
- 	    fi
- 	    # It is a libtool convenience library, so add in its objects.
--	    convenience="$convenience $ladir/$objdir/$old_library"
--	    old_convenience="$old_convenience $ladir/$objdir/$old_library"
-+	    func_append convenience " $ladir/$objdir/$old_library"
-+	    func_append old_convenience " $ladir/$objdir/$old_library"
- 	  elif test "$linkmode" != prog && test "$linkmode" != lib; then
- 	    func_fatal_error "\`$lib' is not a convenience library"
- 	  fi
- 	  tmp_libs=
- 	  for deplib in $dependency_libs; do
- 	    deplibs="$deplib $deplibs"
--	    if $opt_duplicate_deps ; then
-+	    if $opt_preserve_dup_deps ; then
- 	      case "$tmp_libs " in
--	      *" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;;
-+	      *" $deplib "*) func_append specialdeplibs " $deplib" ;;
- 	      esac
- 	    fi
--	    tmp_libs="$tmp_libs $deplib"
-+	    func_append tmp_libs " $deplib"
- 	  done
- 	  continue
- 	fi # $pass = conv
-@@ -5579,9 +6456,15 @@ func_mode_link ()
- 
- 	# Get the name of the library we link against.
- 	linklib=
--	for l in $old_library $library_names; do
--	  linklib="$l"
--	done
-+	if test -n "$old_library" &&
-+	   { test "$prefer_static_libs" = yes ||
-+	     test "$prefer_static_libs,$installed" = "built,no"; }; then
-+	  linklib=$old_library
-+	else
-+	  for l in $old_library $library_names; do
-+	    linklib="$l"
-+	  done
-+	fi
- 	if test -z "$linklib"; then
- 	  func_fatal_error "cannot find name of link library for \`$lib'"
- 	fi
-@@ -5598,9 +6481,9 @@ func_mode_link ()
- 	    # statically, we need to preload.  We also need to preload any
- 	    # dependent libraries so libltdl's deplib preloader doesn't
- 	    # bomb out in the load deplibs phase.
--	    dlprefiles="$dlprefiles $lib $dependency_libs"
-+	    func_append dlprefiles " $lib $dependency_libs"
- 	  else
--	    newdlfiles="$newdlfiles $lib"
-+	    func_append newdlfiles " $lib"
- 	  fi
- 	  continue
- 	fi # $pass = dlopen
-@@ -5622,14 +6505,14 @@ func_mode_link ()
- 
- 	# Find the relevant object directory and library name.
- 	if test "X$installed" = Xyes; then
--	  if test ! -f "$libdir/$linklib" && test -f "$abs_ladir/$linklib"; then
-+	  if test ! -f "$lt_sysroot$libdir/$linklib" && test -f "$abs_ladir/$linklib"; then
- 	    func_warning "library \`$lib' was moved."
- 	    dir="$ladir"
- 	    absdir="$abs_ladir"
- 	    libdir="$abs_ladir"
- 	  else
--	    dir="$libdir"
--	    absdir="$libdir"
-+	    dir="$lt_sysroot$libdir"
-+	    absdir="$lt_sysroot$libdir"
- 	  fi
- 	  test "X$hardcode_automatic" = Xyes && avoidtemprpath=yes
- 	else
-@@ -5637,12 +6520,12 @@ func_mode_link ()
- 	    dir="$ladir"
- 	    absdir="$abs_ladir"
- 	    # Remove this search path later
--	    notinst_path="$notinst_path $abs_ladir"
-+	    func_append notinst_path " $abs_ladir"
- 	  else
- 	    dir="$ladir/$objdir"
- 	    absdir="$abs_ladir/$objdir"
- 	    # Remove this search path later
--	    notinst_path="$notinst_path $abs_ladir"
-+	    func_append notinst_path " $abs_ladir"
- 	  fi
- 	fi # $installed = yes
- 	func_stripname 'lib' '.la' "$laname"
-@@ -5653,20 +6536,46 @@ func_mode_link ()
- 	  if test -z "$libdir" && test "$linkmode" = prog; then
- 	    func_fatal_error "only libraries may -dlpreopen a convenience library: \`$lib'"
- 	  fi
--	  # Prefer using a static library (so that no silly _DYNAMIC symbols
--	  # are required to link).
--	  if test -n "$old_library"; then
--	    newdlprefiles="$newdlprefiles $dir/$old_library"
--	    # Keep a list of preopened convenience libraries to check
--	    # that they are being used correctly in the link pass.
--	    test -z "$libdir" && \
--		dlpreconveniencelibs="$dlpreconveniencelibs $dir/$old_library"
--	  # Otherwise, use the dlname, so that lt_dlopen finds it.
--	  elif test -n "$dlname"; then
--	    newdlprefiles="$newdlprefiles $dir/$dlname"
--	  else
--	    newdlprefiles="$newdlprefiles $dir/$linklib"
--	  fi
-+	  case "$host" in
-+	    # special handling for platforms with PE-DLLs.
-+	    *cygwin* | *mingw* | *cegcc* )
-+	      # Linker will automatically link against shared library if both
-+	      # static and shared are present.  Therefore, ensure we extract
-+	      # symbols from the import library if a shared library is present
-+	      # (otherwise, the dlopen module name will be incorrect).  We do
-+	      # this by putting the import library name into $newdlprefiles.
-+	      # We recover the dlopen module name by 'saving' the la file
-+	      # name in a special purpose variable, and (later) extracting the
-+	      # dlname from the la file.
-+	      if test -n "$dlname"; then
-+	        func_tr_sh "$dir/$linklib"
-+	        eval "libfile_$func_tr_sh_result=\$abs_ladir/\$laname"
-+	        func_append newdlprefiles " $dir/$linklib"
-+	      else
-+	        func_append newdlprefiles " $dir/$old_library"
-+	        # Keep a list of preopened convenience libraries to check
-+	        # that they are being used correctly in the link pass.
-+	        test -z "$libdir" && \
-+	          func_append dlpreconveniencelibs " $dir/$old_library"
-+	      fi
-+	    ;;
-+	    * )
-+	      # Prefer using a static library (so that no silly _DYNAMIC symbols
-+	      # are required to link).
-+	      if test -n "$old_library"; then
-+	        func_append newdlprefiles " $dir/$old_library"
-+	        # Keep a list of preopened convenience libraries to check
-+	        # that they are being used correctly in the link pass.
-+	        test -z "$libdir" && \
-+	          func_append dlpreconveniencelibs " $dir/$old_library"
-+	      # Otherwise, use the dlname, so that lt_dlopen finds it.
-+	      elif test -n "$dlname"; then
-+	        func_append newdlprefiles " $dir/$dlname"
-+	      else
-+	        func_append newdlprefiles " $dir/$linklib"
-+	      fi
-+	    ;;
-+	  esac
- 	fi # $pass = dlpreopen
- 
- 	if test -z "$libdir"; then
-@@ -5684,7 +6593,7 @@ func_mode_link ()
- 
- 
- 	if test "$linkmode" = prog && test "$pass" != link; then
--	  newlib_search_path="$newlib_search_path $ladir"
-+	  func_append newlib_search_path " $ladir"
- 	  deplibs="$lib $deplibs"
- 
- 	  linkalldeplibs=no
-@@ -5697,7 +6606,8 @@ func_mode_link ()
- 	  for deplib in $dependency_libs; do
- 	    case $deplib in
- 	    -L*) func_stripname '-L' '' "$deplib"
--	         newlib_search_path="$newlib_search_path $func_stripname_result"
-+	         func_resolve_sysroot "$func_stripname_result"
-+	         func_append newlib_search_path " $func_resolve_sysroot_result"
- 		 ;;
- 	    esac
- 	    # Need to link against all dependency_libs?
-@@ -5708,12 +6618,12 @@ func_mode_link ()
- 	      # or/and link against static libraries
- 	      newdependency_libs="$deplib $newdependency_libs"
- 	    fi
--	    if $opt_duplicate_deps ; then
-+	    if $opt_preserve_dup_deps ; then
- 	      case "$tmp_libs " in
--	      *" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;;
-+	      *" $deplib "*) func_append specialdeplibs " $deplib" ;;
- 	      esac
- 	    fi
--	    tmp_libs="$tmp_libs $deplib"
-+	    func_append tmp_libs " $deplib"
- 	  done # for deplib
- 	  continue
- 	fi # $linkmode = prog...
-@@ -5728,7 +6638,7 @@ func_mode_link ()
- 	      # Make sure the rpath contains only unique directories.
- 	      case "$temp_rpath:" in
- 	      *"$absdir:"*) ;;
--	      *) temp_rpath="$temp_rpath$absdir:" ;;
-+	      *) func_append temp_rpath "$absdir:" ;;
- 	      esac
- 	    fi
- 
-@@ -5740,7 +6650,7 @@ func_mode_link ()
- 	    *)
- 	      case "$compile_rpath " in
- 	      *" $absdir "*) ;;
--	      *) compile_rpath="$compile_rpath $absdir"
-+	      *) func_append compile_rpath " $absdir" ;;
- 	      esac
- 	      ;;
- 	    esac
-@@ -5749,7 +6659,7 @@ func_mode_link ()
- 	    *)
- 	      case "$finalize_rpath " in
- 	      *" $libdir "*) ;;
--	      *) finalize_rpath="$finalize_rpath $libdir"
-+	      *) func_append finalize_rpath " $libdir" ;;
- 	      esac
- 	      ;;
- 	    esac
-@@ -5774,12 +6684,12 @@ func_mode_link ()
- 	  case $host in
- 	  *cygwin* | *mingw* | *cegcc*)
- 	      # No point in relinking DLLs because paths are not encoded
--	      notinst_deplibs="$notinst_deplibs $lib"
-+	      func_append notinst_deplibs " $lib"
- 	      need_relink=no
- 	    ;;
- 	  *)
- 	    if test "$installed" = no; then
--	      notinst_deplibs="$notinst_deplibs $lib"
-+	      func_append notinst_deplibs " $lib"
- 	      need_relink=yes
- 	    fi
- 	    ;;
-@@ -5814,7 +6724,7 @@ func_mode_link ()
- 	    *)
- 	      case "$compile_rpath " in
- 	      *" $absdir "*) ;;
--	      *) compile_rpath="$compile_rpath $absdir"
-+	      *) func_append compile_rpath " $absdir" ;;
- 	      esac
- 	      ;;
- 	    esac
-@@ -5823,7 +6733,7 @@ func_mode_link ()
- 	    *)
- 	      case "$finalize_rpath " in
- 	      *" $libdir "*) ;;
--	      *) finalize_rpath="$finalize_rpath $libdir"
-+	      *) func_append finalize_rpath " $libdir" ;;
- 	      esac
- 	      ;;
- 	    esac
-@@ -5835,7 +6745,7 @@ func_mode_link ()
- 	    shift
- 	    realname="$1"
- 	    shift
--	    eval "libname=\"$libname_spec\""
-+	    libname=`eval "\\$ECHO \"$libname_spec\""`
- 	    # use dlname if we got it. it's perfectly good, no?
- 	    if test -n "$dlname"; then
- 	      soname="$dlname"
-@@ -5848,7 +6758,7 @@ func_mode_link ()
- 		versuffix="-$major"
- 		;;
- 	      esac
--	      eval "soname=\"$soname_spec\""
-+	      eval soname=\"$soname_spec\"
- 	    else
- 	      soname="$realname"
- 	    fi
-@@ -5877,7 +6787,7 @@ func_mode_link ()
- 	    linklib=$newlib
- 	  fi # test -n "$old_archive_from_expsyms_cmds"
- 
--	  if test "$linkmode" = prog || test "$mode" != relink; then
-+	  if test "$linkmode" = prog || test "$opt_mode" != relink; then
- 	    add_shlibpath=
- 	    add_dir=
- 	    add=
-@@ -5933,7 +6843,7 @@ func_mode_link ()
- 		if test -n "$inst_prefix_dir"; then
- 		  case $libdir in
- 		    [\\/]*)
--		      add_dir="$add_dir -L$inst_prefix_dir$libdir"
-+		      func_append add_dir " -L$inst_prefix_dir$libdir"
- 		      ;;
- 		  esac
- 		fi
-@@ -5955,7 +6865,7 @@ func_mode_link ()
- 	    if test -n "$add_shlibpath"; then
- 	      case :$compile_shlibpath: in
- 	      *":$add_shlibpath:"*) ;;
--	      *) compile_shlibpath="$compile_shlibpath$add_shlibpath:" ;;
-+	      *) func_append compile_shlibpath "$add_shlibpath:" ;;
- 	      esac
- 	    fi
- 	    if test "$linkmode" = prog; then
-@@ -5969,13 +6879,13 @@ func_mode_link ()
- 		 test "$hardcode_shlibpath_var" = yes; then
- 		case :$finalize_shlibpath: in
- 		*":$libdir:"*) ;;
--		*) finalize_shlibpath="$finalize_shlibpath$libdir:" ;;
-+		*) func_append finalize_shlibpath "$libdir:" ;;
- 		esac
- 	      fi
- 	    fi
- 	  fi
- 
--	  if test "$linkmode" = prog || test "$mode" = relink; then
-+	  if test "$linkmode" = prog || test "$opt_mode" = relink; then
- 	    add_shlibpath=
- 	    add_dir=
- 	    add=
-@@ -5989,7 +6899,7 @@ func_mode_link ()
- 	    elif test "$hardcode_shlibpath_var" = yes; then
- 	      case :$finalize_shlibpath: in
- 	      *":$libdir:"*) ;;
--	      *) finalize_shlibpath="$finalize_shlibpath$libdir:" ;;
-+	      *) func_append finalize_shlibpath "$libdir:" ;;
- 	      esac
- 	      add="-l$name"
- 	    elif test "$hardcode_automatic" = yes; then
-@@ -6001,12 +6911,12 @@ func_mode_link ()
- 	      fi
- 	    else
- 	      # We cannot seem to hardcode it, guess we'll fake it.
--	      add_dir="-L$libdir"
-+	      add_dir="-L$lt_sysroot$libdir"
- 	      # Try looking first in the location we're being installed to.
- 	      if test -n "$inst_prefix_dir"; then
- 		case $libdir in
- 		  [\\/]*)
--		    add_dir="$add_dir -L$inst_prefix_dir$libdir"
-+		    func_append add_dir " -L$inst_prefix_dir$libdir"
- 		    ;;
- 		esac
- 	      fi
-@@ -6083,27 +6993,33 @@ func_mode_link ()
- 	           temp_xrpath=$func_stripname_result
- 		   case " $xrpath " in
- 		   *" $temp_xrpath "*) ;;
--		   *) xrpath="$xrpath $temp_xrpath";;
-+		   *) func_append xrpath " $temp_xrpath";;
- 		   esac;;
--	      *) temp_deplibs="$temp_deplibs $libdir";;
-+	      *) func_append temp_deplibs " $libdir";;
- 	      esac
- 	    done
- 	    dependency_libs="$temp_deplibs"
- 	  fi
- 
--	  newlib_search_path="$newlib_search_path $absdir"
-+	  func_append newlib_search_path " $absdir"
- 	  # Link against this library
- 	  test "$link_static" = no && newdependency_libs="$abs_ladir/$laname $newdependency_libs"
- 	  # ... and its dependency_libs
- 	  tmp_libs=
- 	  for deplib in $dependency_libs; do
- 	    newdependency_libs="$deplib $newdependency_libs"
--	    if $opt_duplicate_deps ; then
-+	    case $deplib in
-+              -L*) func_stripname '-L' '' "$deplib"
-+                   func_resolve_sysroot "$func_stripname_result";;
-+              *) func_resolve_sysroot "$deplib" ;;
-+            esac
-+	    if $opt_preserve_dup_deps ; then
- 	      case "$tmp_libs " in
--	      *" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;;
-+	      *" $func_resolve_sysroot_result "*)
-+                func_append specialdeplibs " $func_resolve_sysroot_result" ;;
- 	      esac
- 	    fi
--	    tmp_libs="$tmp_libs $deplib"
-+	    func_append tmp_libs " $func_resolve_sysroot_result"
- 	  done
- 
- 	  if test "$link_all_deplibs" != no; then
-@@ -6113,8 +7029,10 @@ func_mode_link ()
- 	      case $deplib in
- 	      -L*) path="$deplib" ;;
- 	      *.la)
-+	        func_resolve_sysroot "$deplib"
-+	        deplib=$func_resolve_sysroot_result
- 	        func_dirname "$deplib" "" "."
--		dir="$func_dirname_result"
-+		dir=$func_dirname_result
- 		# We need an absolute path.
- 		case $dir in
- 		[\\/]* | [A-Za-z]:[\\/]*) absdir="$dir" ;;
-@@ -6130,7 +7048,7 @@ func_mode_link ()
- 		case $host in
- 		*-*-darwin*)
- 		  depdepl=
--		  deplibrary_names=`${SED} -n -e 's/^library_names=\(.*\)$/\1/p' $deplib`
-+		  eval deplibrary_names=`${SED} -n -e 's/^library_names=\(.*\)$/\1/p' $deplib`
- 		  if test -n "$deplibrary_names" ; then
- 		    for tmp in $deplibrary_names ; do
- 		      depdepl=$tmp
-@@ -6141,8 +7059,8 @@ func_mode_link ()
-                       if test -z "$darwin_install_name"; then
-                           darwin_install_name=`${OTOOL64} -L $depdepl  | awk '{if (NR == 2) {print $1;exit}}'`
-                       fi
--		      compiler_flags="$compiler_flags ${wl}-dylib_file ${wl}${darwin_install_name}:${depdepl}"
--		      linker_flags="$linker_flags -dylib_file ${darwin_install_name}:${depdepl}"
-+		      func_append compiler_flags " ${wl}-dylib_file ${wl}${darwin_install_name}:${depdepl}"
-+		      func_append linker_flags " -dylib_file ${darwin_install_name}:${depdepl}"
- 		      path=
- 		    fi
- 		  fi
-@@ -6152,7 +7070,7 @@ func_mode_link ()
- 		  ;;
- 		esac
- 		else
--		  libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $deplib`
-+		  eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $deplib`
- 		  test -z "$libdir" && \
- 		    func_fatal_error "\`$deplib' is not a valid libtool archive"
- 		  test "$absdir" != "$libdir" && \
-@@ -6192,7 +7110,7 @@ func_mode_link ()
- 	  for dir in $newlib_search_path; do
- 	    case "$lib_search_path " in
- 	    *" $dir "*) ;;
--	    *) lib_search_path="$lib_search_path $dir" ;;
-+	    *) func_append lib_search_path " $dir" ;;
- 	    esac
- 	  done
- 	  newlib_search_path=
-@@ -6205,7 +7123,7 @@ func_mode_link ()
- 	fi
- 	for var in $vars dependency_libs; do
- 	  # Add libraries to $var in reverse order
--	  eval tmp_libs=\$$var
-+	  eval tmp_libs=\"\$$var\"
- 	  new_libs=
- 	  for deplib in $tmp_libs; do
- 	    # FIXME: Pedantically, this is the right thing to do, so
-@@ -6250,13 +7168,13 @@ func_mode_link ()
- 	    -L*)
- 	      case " $tmp_libs " in
- 	      *" $deplib "*) ;;
--	      *) tmp_libs="$tmp_libs $deplib" ;;
-+	      *) func_append tmp_libs " $deplib" ;;
- 	      esac
- 	      ;;
--	    *) tmp_libs="$tmp_libs $deplib" ;;
-+	    *) func_append tmp_libs " $deplib" ;;
- 	    esac
- 	  done
--	  eval $var=\$tmp_libs
-+	  eval $var=\"$tmp_libs\"
- 	done # for var
-       fi
-       # Last step: remove runtime libs from dependency_libs
-@@ -6269,7 +7187,7 @@ func_mode_link ()
- 	  ;;
- 	esac
- 	if test -n "$i" ; then
--	  tmp_libs="$tmp_libs $i"
-+	  func_append tmp_libs " $i"
- 	fi
-       done
-       dependency_libs=$tmp_libs
-@@ -6310,7 +7228,7 @@ func_mode_link ()
-       # Now set the variables for building old libraries.
-       build_libtool_libs=no
-       oldlibs="$output"
--      objs="$objs$old_deplibs"
-+      func_append objs "$old_deplibs"
-       ;;
- 
-     lib)
-@@ -6319,8 +7237,8 @@ func_mode_link ()
-       lib*)
- 	func_stripname 'lib' '.la' "$outputname"
- 	name=$func_stripname_result
--	eval "shared_ext=\"$shrext_cmds\""
--	eval "libname=\"$libname_spec\""
-+	eval shared_ext=\"$shrext_cmds\"
-+	eval libname=\"$libname_spec\"
- 	;;
-       *)
- 	test "$module" = no && \
-@@ -6330,8 +7248,8 @@ func_mode_link ()
- 	  # Add the "lib" prefix for modules if required
- 	  func_stripname '' '.la' "$outputname"
- 	  name=$func_stripname_result
--	  eval "shared_ext=\"$shrext_cmds\""
--	  eval "libname=\"$libname_spec\""
-+	  eval shared_ext=\"$shrext_cmds\"
-+	  eval libname=\"$libname_spec\"
- 	else
- 	  func_stripname '' '.la' "$outputname"
- 	  libname=$func_stripname_result
-@@ -6346,7 +7264,7 @@ func_mode_link ()
- 	  echo
- 	  $ECHO "*** Warning: Linking the shared library $output against the non-libtool"
- 	  $ECHO "*** objects $objs is not portable!"
--	  libobjs="$libobjs $objs"
-+	  func_append libobjs " $objs"
- 	fi
-       fi
- 
-@@ -6544,7 +7462,7 @@ func_mode_link ()
- 	  done
- 
- 	  # Make executables depend on our current version.
--	  verstring="$verstring:${current}.0"
-+	  func_append verstring ":${current}.0"
- 	  ;;
- 
- 	qnx)
-@@ -6612,10 +7530,10 @@ func_mode_link ()
-       fi
- 
-       func_generate_dlsyms "$libname" "$libname" "yes"
--      libobjs="$libobjs $symfileobj"
-+      func_append libobjs " $symfileobj"
-       test "X$libobjs" = "X " && libobjs=
- 
--      if test "$mode" != relink; then
-+      if test "$opt_mode" != relink; then
- 	# Remove our outputs, but don't remove object files since they
- 	# may have been created when compiling PIC objects.
- 	removelist=
-@@ -6631,7 +7549,7 @@ func_mode_link ()
- 		   continue
- 		 fi
- 	       fi
--	       removelist="$removelist $p"
-+	       func_append removelist " $p"
- 	       ;;
- 	    *) ;;
- 	  esac
-@@ -6642,7 +7560,7 @@ func_mode_link ()
- 
-       # Now set the variables for building old libraries.
-       if test "$build_old_libs" = yes && test "$build_libtool_libs" != convenience ; then
--	oldlibs="$oldlibs $output_objdir/$libname.$libext"
-+	func_append oldlibs " $output_objdir/$libname.$libext"
- 
- 	# Transform .lo files to .o files.
- 	oldobjs="$objs "`$ECHO "$libobjs" | $SP2NL | $SED "/\.${libext}$/d; $lo2o" | $NL2SP`
-@@ -6659,10 +7577,11 @@ func_mode_link ()
- 	# If the user specified any rpath flags, then add them.
- 	temp_xrpath=
- 	for libdir in $xrpath; do
--	  temp_xrpath="$temp_xrpath -R$libdir"
-+	  func_replace_sysroot "$libdir"
-+	  func_append temp_xrpath " -R$func_replace_sysroot_result"
- 	  case "$finalize_rpath " in
- 	  *" $libdir "*) ;;
--	  *) finalize_rpath="$finalize_rpath $libdir" ;;
-+	  *) func_append finalize_rpath " $libdir" ;;
- 	  esac
- 	done
- 	if test "$hardcode_into_libs" != yes || test "$build_old_libs" = yes; then
-@@ -6676,7 +7595,7 @@ func_mode_link ()
-       for lib in $old_dlfiles; do
- 	case " $dlprefiles $dlfiles " in
- 	*" $lib "*) ;;
--	*) dlfiles="$dlfiles $lib" ;;
-+	*) func_append dlfiles " $lib" ;;
- 	esac
-       done
- 
-@@ -6686,7 +7605,7 @@ func_mode_link ()
-       for lib in $old_dlprefiles; do
- 	case "$dlprefiles " in
- 	*" $lib "*) ;;
--	*) dlprefiles="$dlprefiles $lib" ;;
-+	*) func_append dlprefiles " $lib" ;;
- 	esac
-       done
- 
-@@ -6698,7 +7617,7 @@ func_mode_link ()
- 	    ;;
- 	  *-*-rhapsody* | *-*-darwin1.[012])
- 	    # Rhapsody C library is in the System framework
--	    deplibs="$deplibs System.ltframework"
-+	    func_append deplibs " System.ltframework"
- 	    ;;
- 	  *-*-netbsd*)
- 	    # Don't link with libc until the a.out ld.so is fixed.
-@@ -6715,7 +7634,7 @@ func_mode_link ()
- 	  *)
- 	    # Add libc to deplibs on all other systems if necessary.
- 	    if test "$build_libtool_need_lc" = "yes"; then
--	      deplibs="$deplibs -lc"
-+	      func_append deplibs " -lc"
- 	    fi
- 	    ;;
- 	  esac
-@@ -6764,18 +7683,18 @@ EOF
- 		if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then
- 		  case " $predeps $postdeps " in
- 		  *" $i "*)
--		    newdeplibs="$newdeplibs $i"
-+		    func_append newdeplibs " $i"
- 		    i=""
- 		    ;;
- 		  esac
- 		fi
- 		if test -n "$i" ; then
--		  eval "libname=\"$libname_spec\""
--		  eval "deplib_matches=\"$library_names_spec\""
-+		  libname=`eval "\\$ECHO \"$libname_spec\""`
-+		  deplib_matches=`eval "\\$ECHO \"$library_names_spec\""`
- 		  set dummy $deplib_matches; shift
- 		  deplib_match=$1
- 		  if test `expr "$ldd_output" : ".*$deplib_match"` -ne 0 ; then
--		    newdeplibs="$newdeplibs $i"
-+		    func_append newdeplibs " $i"
- 		  else
- 		    droppeddeps=yes
- 		    echo
-@@ -6789,7 +7708,7 @@ EOF
- 		fi
- 		;;
- 	      *)
--		newdeplibs="$newdeplibs $i"
-+		func_append newdeplibs " $i"
- 		;;
- 	      esac
- 	    done
-@@ -6807,18 +7726,18 @@ EOF
- 		  if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then
- 		    case " $predeps $postdeps " in
- 		    *" $i "*)
--		      newdeplibs="$newdeplibs $i"
-+		      func_append newdeplibs " $i"
- 		      i=""
- 		      ;;
- 		    esac
- 		  fi
- 		  if test -n "$i" ; then
--		    eval "libname=\"$libname_spec\""
--		    eval "deplib_matches=\"$library_names_spec\""
-+		    libname=`eval "\\$ECHO \"$libname_spec\""`
-+		    deplib_matches=`eval "\\$ECHO \"$library_names_spec\""`
- 		    set dummy $deplib_matches; shift
- 		    deplib_match=$1
- 		    if test `expr "$ldd_output" : ".*$deplib_match"` -ne 0 ; then
--		      newdeplibs="$newdeplibs $i"
-+		      func_append newdeplibs " $i"
- 		    else
- 		      droppeddeps=yes
- 		      echo
-@@ -6840,7 +7759,7 @@ EOF
- 		fi
- 		;;
- 	      *)
--		newdeplibs="$newdeplibs $i"
-+		func_append newdeplibs " $i"
- 		;;
- 	      esac
- 	    done
-@@ -6857,15 +7776,27 @@ EOF
- 	      if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then
- 		case " $predeps $postdeps " in
- 		*" $a_deplib "*)
--		  newdeplibs="$newdeplibs $a_deplib"
-+		  func_append newdeplibs " $a_deplib"
- 		  a_deplib=""
- 		  ;;
- 		esac
- 	      fi
- 	      if test -n "$a_deplib" ; then
--		eval "libname=\"$libname_spec\""
-+		libname=`eval "\\$ECHO \"$libname_spec\""`
-+		if test -n "$file_magic_glob"; then
-+		  libnameglob=`func_echo_all "$libname" | $SED -e $file_magic_glob`
-+		else
-+		  libnameglob=$libname
-+		fi
-+		test "$want_nocaseglob" = yes && nocaseglob=`shopt -p nocaseglob`
- 		for i in $lib_search_path $sys_lib_search_path $shlib_search_path; do
--		  potential_libs=`ls $i/$libname[.-]* 2>/dev/null`
-+		  if test "$want_nocaseglob" = yes; then
-+		    shopt -s nocaseglob
-+		    potential_libs=`ls $i/$libnameglob[.-]* 2>/dev/null`
-+		    $nocaseglob
-+		  else
-+		    potential_libs=`ls $i/$libnameglob[.-]* 2>/dev/null`
-+		  fi
- 		  for potent_lib in $potential_libs; do
- 		      # Follow soft links.
- 		      if ls -lLd "$potent_lib" 2>/dev/null |
-@@ -6885,10 +7816,10 @@ EOF
- 			*) potlib=`$ECHO "$potlib" | $SED 's,[^/]*$,,'`"$potliblink";;
- 			esac
- 		      done
--		      if eval "$file_magic_cmd \"\$potlib\"" 2>/dev/null |
-+		      if eval $file_magic_cmd \"\$potlib\" 2>/dev/null |
- 			 $SED -e 10q |
- 			 $EGREP "$file_magic_regex" > /dev/null; then
--			newdeplibs="$newdeplibs $a_deplib"
-+			func_append newdeplibs " $a_deplib"
- 			a_deplib=""
- 			break 2
- 		      fi
-@@ -6913,7 +7844,7 @@ EOF
- 	      ;;
- 	    *)
- 	      # Add a -L argument.
--	      newdeplibs="$newdeplibs $a_deplib"
-+	      func_append newdeplibs " $a_deplib"
- 	      ;;
- 	    esac
- 	  done # Gone through all deplibs.
-@@ -6929,20 +7860,20 @@ EOF
- 	      if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then
- 		case " $predeps $postdeps " in
- 		*" $a_deplib "*)
--		  newdeplibs="$newdeplibs $a_deplib"
-+		  func_append newdeplibs " $a_deplib"
- 		  a_deplib=""
- 		  ;;
- 		esac
- 	      fi
- 	      if test -n "$a_deplib" ; then
--		eval "libname=\"$libname_spec\""
-+		libname=`eval "\\$ECHO \"$libname_spec\""`
- 		for i in $lib_search_path $sys_lib_search_path $shlib_search_path; do
- 		  potential_libs=`ls $i/$libname[.-]* 2>/dev/null`
- 		  for potent_lib in $potential_libs; do
- 		    potlib="$potent_lib" # see symlink-check above in file_magic test
- 		    if eval "\$ECHO \"$potent_lib\"" 2>/dev/null | $SED 10q | \
- 		       $EGREP "$match_pattern_regex" > /dev/null; then
--		      newdeplibs="$newdeplibs $a_deplib"
-+		      func_append newdeplibs " $a_deplib"
- 		      a_deplib=""
- 		      break 2
- 		    fi
-@@ -6967,7 +7898,7 @@ EOF
- 	      ;;
- 	    *)
- 	      # Add a -L argument.
--	      newdeplibs="$newdeplibs $a_deplib"
-+	      func_append newdeplibs " $a_deplib"
- 	      ;;
- 	    esac
- 	  done # Gone through all deplibs.
-@@ -7071,7 +8002,7 @@ EOF
- 	*)
- 	  case " $deplibs " in
- 	  *" -L$path/$objdir "*)
--	    new_libs="$new_libs -L$path/$objdir" ;;
-+	    func_append new_libs " -L$path/$objdir" ;;
- 	  esac
- 	  ;;
- 	esac
-@@ -7081,10 +8012,10 @@ EOF
- 	-L*)
- 	  case " $new_libs " in
- 	  *" $deplib "*) ;;
--	  *) new_libs="$new_libs $deplib" ;;
-+	  *) func_append new_libs " $deplib" ;;
- 	  esac
- 	  ;;
--	*) new_libs="$new_libs $deplib" ;;
-+	*) func_append new_libs " $deplib" ;;
- 	esac
-       done
-       deplibs="$new_libs"
-@@ -7101,10 +8032,12 @@ EOF
- 	  hardcode_libdirs=
- 	  dep_rpath=
- 	  rpath="$finalize_rpath"
--	  test "$mode" != relink && rpath="$compile_rpath$rpath"
-+	  test "$opt_mode" != relink && rpath="$compile_rpath$rpath"
- 	  for libdir in $rpath; do
- 	    if test -n "$hardcode_libdir_flag_spec"; then
- 	      if test -n "$hardcode_libdir_separator"; then
-+		func_replace_sysroot "$libdir"
-+		libdir=$func_replace_sysroot_result
- 		if test -z "$hardcode_libdirs"; then
- 		  hardcode_libdirs="$libdir"
- 		else
-@@ -7113,18 +8046,18 @@ EOF
- 		  *"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*)
- 		    ;;
- 		  *)
--		    hardcode_libdirs="$hardcode_libdirs$hardcode_libdir_separator$libdir"
-+		    func_append hardcode_libdirs "$hardcode_libdir_separator$libdir"
- 		    ;;
- 		  esac
- 		fi
- 	      else
--		eval "flag=\"$hardcode_libdir_flag_spec\""
--		dep_rpath="$dep_rpath $flag"
-+		eval flag=\"$hardcode_libdir_flag_spec\"
-+		func_append dep_rpath " $flag"
- 	      fi
- 	    elif test -n "$runpath_var"; then
- 	      case "$perm_rpath " in
- 	      *" $libdir "*) ;;
--	      *) perm_rpath="$perm_rpath $libdir" ;;
-+	      *) func_apped perm_rpath " $libdir" ;;
- 	      esac
- 	    fi
- 	  done
-@@ -7133,40 +8066,38 @@ EOF
- 	     test -n "$hardcode_libdirs"; then
- 	    libdir="$hardcode_libdirs"
- 	    if test -n "$hardcode_libdir_flag_spec_ld"; then
--	      eval "dep_rpath=\"$hardcode_libdir_flag_spec_ld\""
-+	      eval dep_rpath=\"$hardcode_libdir_flag_spec_ld\"
- 	    else
--	      eval "dep_rpath=\"$hardcode_libdir_flag_spec\""
-+	      eval dep_rpath=\"$hardcode_libdir_flag_spec\"
- 	    fi
- 	  fi
- 	  if test -n "$runpath_var" && test -n "$perm_rpath"; then
- 	    # We should set the runpath_var.
- 	    rpath=
- 	    for dir in $perm_rpath; do
--	      rpath="$rpath$dir:"
-+	      func_append rpath "$dir:"
- 	    done
--	    eval $runpath_var=\$rpath\$$runpath_var
--	    export $runpath_var
-+	    eval "$runpath_var='$rpath\$$runpath_var'; export $runpath_var"
- 	  fi
- 	  test -n "$dep_rpath" && deplibs="$dep_rpath $deplibs"
- 	fi
- 
- 	shlibpath="$finalize_shlibpath"
--	test "$mode" != relink && shlibpath="$compile_shlibpath$shlibpath"
-+	test "$opt_mode" != relink && shlibpath="$compile_shlibpath$shlibpath"
- 	if test -n "$shlibpath"; then
--	  eval $shlibpath_var=\$shlibpath\$$shlibpath_var
--	  export $shlibpath_var
-+	  eval "$shlibpath_var='$shlibpath\$$shlibpath_var'; export $shlibpath_var"
- 	fi
- 
- 	# Get the real and link names of the library.
--	eval "shared_ext=\"$shrext_cmds\""
--	eval "library_names=\"$library_names_spec\""
-+	eval shared_ext=\"$shrext_cmds\"
-+	eval library_names=\"$library_names_spec\"
- 	set dummy $library_names
- 	shift
- 	realname="$1"
- 	shift
- 
- 	if test -n "$soname_spec"; then
--	  eval "soname=\"$soname_spec\""
-+	  eval soname=\"$soname_spec\"
- 	else
- 	  soname="$realname"
- 	fi
-@@ -7178,7 +8109,7 @@ EOF
- 	linknames=
- 	for link
- 	do
--	  linknames="$linknames $link"
-+	  func_append linknames " $link"
- 	done
- 
- 	# Use standard objects if they are pic
-@@ -7189,7 +8120,7 @@ EOF
- 	if test -n "$export_symbols" && test -n "$include_expsyms"; then
- 	  $opt_dry_run || cp "$export_symbols" "$output_objdir/$libname.uexp"
- 	  export_symbols="$output_objdir/$libname.uexp"
--	  delfiles="$delfiles $export_symbols"
-+	  func_append delfiles " $export_symbols"
- 	fi
- 
- 	orig_export_symbols=
-@@ -7220,13 +8151,45 @@ EOF
- 	    $opt_dry_run || $RM $export_symbols
- 	    cmds=$export_symbols_cmds
- 	    save_ifs="$IFS"; IFS='~'
--	    for cmd in $cmds; do
-+	    for cmd1 in $cmds; do
- 	      IFS="$save_ifs"
--	      eval "cmd=\"$cmd\""
--	      func_len " $cmd"
--	      len=$func_len_result
--	      if test "$len" -lt "$max_cmd_len" || test "$max_cmd_len" -le -1; then
-+	      # Take the normal branch if the nm_file_list_spec branch
-+	      # doesn't work or if tool conversion is not needed.
-+	      case $nm_file_list_spec~$to_tool_file_cmd in
-+		*~func_convert_file_noop | *~func_convert_file_msys_to_w32 | ~*)
-+		  try_normal_branch=yes
-+		  eval cmd=\"$cmd1\"
-+		  func_len " $cmd"
-+		  len=$func_len_result
-+		  ;;
-+		*)
-+		  try_normal_branch=no
-+		  ;;
-+	      esac
-+	      if test "$try_normal_branch" = yes \
-+		 && { test "$len" -lt "$max_cmd_len" \
-+		      || test "$max_cmd_len" -le -1; }
-+	      then
-+		func_show_eval "$cmd" 'exit $?'
-+		skipped_export=false
-+	      elif test -n "$nm_file_list_spec"; then
-+		func_basename "$output"
-+		output_la=$func_basename_result
-+		save_libobjs=$libobjs
-+		save_output=$output
-+		output=${output_objdir}/${output_la}.nm
-+		func_to_tool_file "$output"
-+		libobjs=$nm_file_list_spec$func_to_tool_file_result
-+		func_append delfiles " $output"
-+		func_verbose "creating $NM input file list: $output"
-+		for obj in $save_libobjs; do
-+		  func_to_tool_file "$obj"
-+		  $ECHO "$func_to_tool_file_result"
-+		done > "$output"
-+		eval cmd=\"$cmd1\"
- 		func_show_eval "$cmd" 'exit $?'
-+		output=$save_output
-+		libobjs=$save_libobjs
- 		skipped_export=false
- 	      else
- 		# The command line is too long to execute in one step.
-@@ -7248,7 +8211,7 @@ EOF
- 	if test -n "$export_symbols" && test -n "$include_expsyms"; then
- 	  tmp_export_symbols="$export_symbols"
- 	  test -n "$orig_export_symbols" && tmp_export_symbols="$orig_export_symbols"
--	  $opt_dry_run || $ECHO "$include_expsyms" | $SP2NL >> "$tmp_export_symbols"
-+	  $opt_dry_run || eval '$ECHO "$include_expsyms" | $SP2NL >> "$tmp_export_symbols"'
- 	fi
- 
- 	if test "X$skipped_export" != "X:" && test -n "$orig_export_symbols"; then
-@@ -7260,7 +8223,7 @@ EOF
- 	  # global variables. join(1) would be nice here, but unfortunately
- 	  # isn't a blessed tool.
- 	  $opt_dry_run || $SED -e '/[ ,]DATA/!d;s,\(.*\)\([ \,].*\),s|^\1$|\1\2|,' < $export_symbols > $output_objdir/$libname.filter
--	  delfiles="$delfiles $export_symbols $output_objdir/$libname.filter"
-+	  func_append delfiles " $export_symbols $output_objdir/$libname.filter"
- 	  export_symbols=$output_objdir/$libname.def
- 	  $opt_dry_run || $SED -f $output_objdir/$libname.filter < $orig_export_symbols > $export_symbols
- 	fi
-@@ -7270,7 +8233,7 @@ EOF
- 	  case " $convenience " in
- 	  *" $test_deplib "*) ;;
- 	  *)
--	    tmp_deplibs="$tmp_deplibs $test_deplib"
-+	    func_append tmp_deplibs " $test_deplib"
- 	    ;;
- 	  esac
- 	done
-@@ -7286,43 +8249,43 @@ EOF
- 	  fi
- 	  if test -n "$whole_archive_flag_spec"; then
- 	    save_libobjs=$libobjs
--	    eval "libobjs=\"\$libobjs $whole_archive_flag_spec\""
-+	    eval libobjs=\"\$libobjs $whole_archive_flag_spec\"
- 	    test "X$libobjs" = "X " && libobjs=
- 	  else
- 	    gentop="$output_objdir/${outputname}x"
--	    generated="$generated $gentop"
-+	    func_append generated " $gentop"
- 
- 	    func_extract_archives $gentop $convenience
--	    libobjs="$libobjs $func_extract_archives_result"
-+	    func_append libobjs " $func_extract_archives_result"
- 	    test "X$libobjs" = "X " && libobjs=
- 	  fi
- 	fi
- 
- 	if test "$thread_safe" = yes && test -n "$thread_safe_flag_spec"; then
--	  eval "flag=\"$thread_safe_flag_spec\""
--	  linker_flags="$linker_flags $flag"
-+	  eval flag=\"$thread_safe_flag_spec\"
-+	  func_append linker_flags " $flag"
- 	fi
- 
- 	# Make a backup of the uninstalled library when relinking
--	if test "$mode" = relink; then
--	  $opt_dry_run || (cd $output_objdir && $RM ${realname}U && $MV $realname ${realname}U) || exit $?
-+	if test "$opt_mode" = relink; then
-+	  $opt_dry_run || eval '(cd $output_objdir && $RM ${realname}U && $MV $realname ${realname}U)' || exit $?
- 	fi
- 
- 	# Do each of the archive commands.
- 	if test "$module" = yes && test -n "$module_cmds" ; then
- 	  if test -n "$export_symbols" && test -n "$module_expsym_cmds"; then
--	    eval "test_cmds=\"$module_expsym_cmds\""
-+	    eval test_cmds=\"$module_expsym_cmds\"
- 	    cmds=$module_expsym_cmds
- 	  else
--	    eval "test_cmds=\"$module_cmds\""
-+	    eval test_cmds=\"$module_cmds\"
- 	    cmds=$module_cmds
- 	  fi
- 	else
- 	  if test -n "$export_symbols" && test -n "$archive_expsym_cmds"; then
--	    eval "test_cmds=\"$archive_expsym_cmds\""
-+	    eval test_cmds=\"$archive_expsym_cmds\"
- 	    cmds=$archive_expsym_cmds
- 	  else
--	    eval "test_cmds=\"$archive_cmds\""
-+	    eval test_cmds=\"$archive_cmds\"
- 	    cmds=$archive_cmds
- 	  fi
- 	fi
-@@ -7366,10 +8329,13 @@ EOF
- 	    echo 'INPUT (' > $output
- 	    for obj in $save_libobjs
- 	    do
--	      $ECHO "$obj" >> $output
-+	      func_to_tool_file "$obj"
-+	      $ECHO "$func_to_tool_file_result" >> $output
- 	    done
- 	    echo ')' >> $output
--	    delfiles="$delfiles $output"
-+	    func_append delfiles " $output"
-+	    func_to_tool_file "$output"
-+	    output=$func_to_tool_file_result
- 	  elif test -n "$save_libobjs" && test "X$skipped_export" != "X:" && test "X$file_list_spec" != X; then
- 	    output=${output_objdir}/${output_la}.lnk
- 	    func_verbose "creating linker input file list: $output"
-@@ -7383,15 +8349,17 @@ EOF
- 	    fi
- 	    for obj
- 	    do
--	      $ECHO "$obj" >> $output
-+	      func_to_tool_file "$obj"
-+	      $ECHO "$func_to_tool_file_result" >> $output
- 	    done
--	    delfiles="$delfiles $output"
--	    output=$firstobj\"$file_list_spec$output\"
-+	    func_append delfiles " $output"
-+	    func_to_tool_file "$output"
-+	    output=$firstobj\"$file_list_spec$func_to_tool_file_result\"
- 	  else
- 	    if test -n "$save_libobjs"; then
- 	      func_verbose "creating reloadable object files..."
- 	      output=$output_objdir/$output_la-${k}.$objext
--	      eval "test_cmds=\"$reload_cmds\""
-+	      eval test_cmds=\"$reload_cmds\"
- 	      func_len " $test_cmds"
- 	      len0=$func_len_result
- 	      len=$len0
-@@ -7411,12 +8379,12 @@ EOF
- 		  if test "$k" -eq 1 ; then
- 		    # The first file doesn't have a previous command to add.
- 		    reload_objs=$objlist
--		    eval "concat_cmds=\"$reload_cmds\""
-+		    eval concat_cmds=\"$reload_cmds\"
- 		  else
- 		    # All subsequent reloadable object files will link in
- 		    # the last one created.
- 		    reload_objs="$objlist $last_robj"
--		    eval "concat_cmds=\"\$concat_cmds~$reload_cmds~\$RM $last_robj\""
-+		    eval concat_cmds=\"\$concat_cmds~$reload_cmds~\$RM $last_robj\"
- 		  fi
- 		  last_robj=$output_objdir/$output_la-${k}.$objext
- 		  func_arith $k + 1
-@@ -7433,11 +8401,11 @@ EOF
- 	      # files will link in the last one created.
- 	      test -z "$concat_cmds" || concat_cmds=$concat_cmds~
- 	      reload_objs="$objlist $last_robj"
--	      eval "concat_cmds=\"\${concat_cmds}$reload_cmds\""
-+	      eval concat_cmds=\"\${concat_cmds}$reload_cmds\"
- 	      if test -n "$last_robj"; then
--	        eval "concat_cmds=\"\${concat_cmds}~\$RM $last_robj\""
-+	        eval concat_cmds=\"\${concat_cmds}~\$RM $last_robj\"
- 	      fi
--	      delfiles="$delfiles $output"
-+	      func_append delfiles " $output"
- 
- 	    else
- 	      output=
-@@ -7450,9 +8418,9 @@ EOF
- 	      libobjs=$output
- 	      # Append the command to create the export file.
- 	      test -z "$concat_cmds" || concat_cmds=$concat_cmds~
--	      eval "concat_cmds=\"\$concat_cmds$export_symbols_cmds\""
-+	      eval concat_cmds=\"\$concat_cmds$export_symbols_cmds\"
- 	      if test -n "$last_robj"; then
--		eval "concat_cmds=\"\$concat_cmds~\$RM $last_robj\""
-+		eval concat_cmds=\"\$concat_cmds~\$RM $last_robj\"
- 	      fi
- 	    fi
- 
-@@ -7471,7 +8439,7 @@ EOF
- 		lt_exit=$?
- 
- 		# Restore the uninstalled library and exit
--		if test "$mode" = relink; then
-+		if test "$opt_mode" = relink; then
- 		  ( cd "$output_objdir" && \
- 		    $RM "${realname}T" && \
- 		    $MV "${realname}U" "$realname" )
-@@ -7492,7 +8460,7 @@ EOF
- 	    if test -n "$export_symbols" && test -n "$include_expsyms"; then
- 	      tmp_export_symbols="$export_symbols"
- 	      test -n "$orig_export_symbols" && tmp_export_symbols="$orig_export_symbols"
--	      $opt_dry_run || $ECHO "$include_expsyms" | $SP2NL >> "$tmp_export_symbols"
-+	      $opt_dry_run || eval '$ECHO "$include_expsyms" | $SP2NL >> "$tmp_export_symbols"'
- 	    fi
- 
- 	    if test -n "$orig_export_symbols"; then
-@@ -7504,7 +8472,7 @@ EOF
- 	      # global variables. join(1) would be nice here, but unfortunately
- 	      # isn't a blessed tool.
- 	      $opt_dry_run || $SED -e '/[ ,]DATA/!d;s,\(.*\)\([ \,].*\),s|^\1$|\1\2|,' < $export_symbols > $output_objdir/$libname.filter
--	      delfiles="$delfiles $export_symbols $output_objdir/$libname.filter"
-+	      func_append delfiles " $export_symbols $output_objdir/$libname.filter"
- 	      export_symbols=$output_objdir/$libname.def
- 	      $opt_dry_run || $SED -f $output_objdir/$libname.filter < $orig_export_symbols > $export_symbols
- 	    fi
-@@ -7515,7 +8483,7 @@ EOF
- 	  output=$save_output
- 
- 	  if test -n "$convenience" && test -n "$whole_archive_flag_spec"; then
--	    eval "libobjs=\"\$libobjs $whole_archive_flag_spec\""
-+	    eval libobjs=\"\$libobjs $whole_archive_flag_spec\"
- 	    test "X$libobjs" = "X " && libobjs=
- 	  fi
- 	  # Expand the library linking commands again to reset the
-@@ -7539,23 +8507,23 @@ EOF
- 
- 	if test -n "$delfiles"; then
- 	  # Append the command to remove temporary files to $cmds.
--	  eval "cmds=\"\$cmds~\$RM $delfiles\""
-+	  eval cmds=\"\$cmds~\$RM $delfiles\"
- 	fi
- 
- 	# Add any objects from preloaded convenience libraries
- 	if test -n "$dlprefiles"; then
- 	  gentop="$output_objdir/${outputname}x"
--	  generated="$generated $gentop"
-+	  func_append generated " $gentop"
- 
- 	  func_extract_archives $gentop $dlprefiles
--	  libobjs="$libobjs $func_extract_archives_result"
-+	  func_append libobjs " $func_extract_archives_result"
- 	  test "X$libobjs" = "X " && libobjs=
- 	fi
- 
- 	save_ifs="$IFS"; IFS='~'
- 	for cmd in $cmds; do
- 	  IFS="$save_ifs"
--	  eval "cmd=\"$cmd\""
-+	  eval cmd=\"$cmd\"
- 	  $opt_silent || {
- 	    func_quote_for_expand "$cmd"
- 	    eval "func_echo $func_quote_for_expand_result"
-@@ -7564,7 +8532,7 @@ EOF
- 	    lt_exit=$?
- 
- 	    # Restore the uninstalled library and exit
--	    if test "$mode" = relink; then
-+	    if test "$opt_mode" = relink; then
- 	      ( cd "$output_objdir" && \
- 	        $RM "${realname}T" && \
- 		$MV "${realname}U" "$realname" )
-@@ -7576,8 +8544,8 @@ EOF
- 	IFS="$save_ifs"
- 
- 	# Restore the uninstalled library and exit
--	if test "$mode" = relink; then
--	  $opt_dry_run || (cd $output_objdir && $RM ${realname}T && $MV $realname ${realname}T && $MV ${realname}U $realname) || exit $?
-+	if test "$opt_mode" = relink; then
-+	  $opt_dry_run || eval '(cd $output_objdir && $RM ${realname}T && $MV $realname ${realname}T && $MV ${realname}U $realname)' || exit $?
- 
- 	  if test -n "$convenience"; then
- 	    if test -z "$whole_archive_flag_spec"; then
-@@ -7656,17 +8624,20 @@ EOF
- 
-       if test -n "$convenience"; then
- 	if test -n "$whole_archive_flag_spec"; then
--	  eval "tmp_whole_archive_flags=\"$whole_archive_flag_spec\""
-+	  eval tmp_whole_archive_flags=\"$whole_archive_flag_spec\"
- 	  reload_conv_objs=$reload_objs\ `$ECHO "$tmp_whole_archive_flags" | $SED 's|,| |g'`
- 	else
- 	  gentop="$output_objdir/${obj}x"
--	  generated="$generated $gentop"
-+	  func_append generated " $gentop"
- 
- 	  func_extract_archives $gentop $convenience
- 	  reload_conv_objs="$reload_objs $func_extract_archives_result"
- 	fi
-       fi
- 
-+      # If we're not building shared, we need to use non_pic_objs
-+      test "$build_libtool_libs" != yes && libobjs="$non_pic_objects"
-+
-       # Create the old-style object.
-       reload_objs="$objs$old_deplibs "`$ECHO "$libobjs" | $SP2NL | $SED "/\.${libext}$/d; /\.lib$/d; $lo2o" | $NL2SP`" $reload_conv_objs" ### testsuite: skip nested quoting test
- 
-@@ -7690,7 +8661,7 @@ EOF
- 	# Create an invalid libtool object if no PIC, so that we don't
- 	# accidentally link it into a program.
- 	# $show "echo timestamp > $libobj"
--	# $opt_dry_run || echo timestamp > $libobj || exit $?
-+	# $opt_dry_run || eval "echo timestamp > $libobj" || exit $?
- 	exit $EXIT_SUCCESS
-       fi
- 
-@@ -7740,8 +8711,8 @@ EOF
- 	if test "$tagname" = CXX ; then
- 	  case ${MACOSX_DEPLOYMENT_TARGET-10.0} in
- 	    10.[0123])
--	      compile_command="$compile_command ${wl}-bind_at_load"
--	      finalize_command="$finalize_command ${wl}-bind_at_load"
-+	      func_append compile_command " ${wl}-bind_at_load"
-+	      func_append finalize_command " ${wl}-bind_at_load"
- 	    ;;
- 	  esac
- 	fi
-@@ -7761,7 +8732,7 @@ EOF
- 	*)
- 	  case " $compile_deplibs " in
- 	  *" -L$path/$objdir "*)
--	    new_libs="$new_libs -L$path/$objdir" ;;
-+	    func_append new_libs " -L$path/$objdir" ;;
- 	  esac
- 	  ;;
- 	esac
-@@ -7771,17 +8742,17 @@ EOF
- 	-L*)
- 	  case " $new_libs " in
- 	  *" $deplib "*) ;;
--	  *) new_libs="$new_libs $deplib" ;;
-+	  *) func_append new_libs " $deplib" ;;
- 	  esac
- 	  ;;
--	*) new_libs="$new_libs $deplib" ;;
-+	*) func_append new_libs " $deplib" ;;
- 	esac
-       done
-       compile_deplibs="$new_libs"
- 
- 
--      compile_command="$compile_command $compile_deplibs"
--      finalize_command="$finalize_command $finalize_deplibs"
-+      func_append compile_command " $compile_deplibs"
-+      func_append finalize_command " $finalize_deplibs"
- 
-       if test -n "$rpath$xrpath"; then
- 	# If the user specified any rpath flags, then add them.
-@@ -7789,7 +8760,7 @@ EOF
- 	  # This is the magic to use -rpath.
- 	  case "$finalize_rpath " in
- 	  *" $libdir "*) ;;
--	  *) finalize_rpath="$finalize_rpath $libdir" ;;
-+	  *) func_append finalize_rpath " $libdir" ;;
- 	  esac
- 	done
-       fi
-@@ -7808,18 +8779,18 @@ EOF
- 	      *"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*)
- 		;;
- 	      *)
--		hardcode_libdirs="$hardcode_libdirs$hardcode_libdir_separator$libdir"
-+		func_append hardcode_libdirs "$hardcode_libdir_separator$libdir"
- 		;;
- 	      esac
- 	    fi
- 	  else
--	    eval "flag=\"$hardcode_libdir_flag_spec\""
--	    rpath="$rpath $flag"
-+	    eval flag=\"$hardcode_libdir_flag_spec\"
-+	    func_append rpath " $flag"
- 	  fi
- 	elif test -n "$runpath_var"; then
- 	  case "$perm_rpath " in
- 	  *" $libdir "*) ;;
--	  *) perm_rpath="$perm_rpath $libdir" ;;
-+	  *) func_append perm_rpath " $libdir" ;;
- 	  esac
- 	fi
- 	case $host in
-@@ -7828,12 +8799,12 @@ EOF
- 	  case :$dllsearchpath: in
- 	  *":$libdir:"*) ;;
- 	  ::) dllsearchpath=$libdir;;
--	  *) dllsearchpath="$dllsearchpath:$libdir";;
-+	  *) func_append dllsearchpath ":$libdir";;
- 	  esac
- 	  case :$dllsearchpath: in
- 	  *":$testbindir:"*) ;;
- 	  ::) dllsearchpath=$testbindir;;
--	  *) dllsearchpath="$dllsearchpath:$testbindir";;
-+	  *) func_append dllsearchpath ":$testbindir";;
- 	  esac
- 	  ;;
- 	esac
-@@ -7842,7 +8813,7 @@ EOF
-       if test -n "$hardcode_libdir_separator" &&
- 	 test -n "$hardcode_libdirs"; then
- 	libdir="$hardcode_libdirs"
--	eval "rpath=\" $hardcode_libdir_flag_spec\""
-+	eval rpath=\" $hardcode_libdir_flag_spec\"
-       fi
-       compile_rpath="$rpath"
- 
-@@ -7859,18 +8830,18 @@ EOF
- 	      *"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*)
- 		;;
- 	      *)
--		hardcode_libdirs="$hardcode_libdirs$hardcode_libdir_separator$libdir"
-+		func_append hardcode_libdirs "$hardcode_libdir_separator$libdir"
- 		;;
- 	      esac
- 	    fi
- 	  else
--	    eval "flag=\"$hardcode_libdir_flag_spec\""
--	    rpath="$rpath $flag"
-+	    eval flag=\"$hardcode_libdir_flag_spec\"
-+	    func_append rpath " $flag"
- 	  fi
- 	elif test -n "$runpath_var"; then
- 	  case "$finalize_perm_rpath " in
- 	  *" $libdir "*) ;;
--	  *) finalize_perm_rpath="$finalize_perm_rpath $libdir" ;;
-+	  *) func_append finalize_perm_rpath " $libdir" ;;
- 	  esac
- 	fi
-       done
-@@ -7878,7 +8849,7 @@ EOF
-       if test -n "$hardcode_libdir_separator" &&
- 	 test -n "$hardcode_libdirs"; then
- 	libdir="$hardcode_libdirs"
--	eval "rpath=\" $hardcode_libdir_flag_spec\""
-+	eval rpath=\" $hardcode_libdir_flag_spec\"
-       fi
-       finalize_rpath="$rpath"
- 
-@@ -7921,6 +8892,12 @@ EOF
- 	exit_status=0
- 	func_show_eval "$link_command" 'exit_status=$?'
- 
-+	if test -n "$postlink_cmds"; then
-+	  func_to_tool_file "$output"
-+	  postlink_cmds=`func_echo_all "$postlink_cmds" | $SED -e 's%@OUTPUT@%'"$output"'%g' -e 's%@TOOL_OUTPUT@%'"$func_to_tool_file_result"'%g'`
-+	  func_execute_cmds "$postlink_cmds" 'exit $?'
-+	fi
-+
- 	# Delete the generated files.
- 	if test -f "$output_objdir/${outputname}S.${objext}"; then
- 	  func_show_eval '$RM "$output_objdir/${outputname}S.${objext}"'
-@@ -7943,7 +8920,7 @@ EOF
- 	  # We should set the runpath_var.
- 	  rpath=
- 	  for dir in $perm_rpath; do
--	    rpath="$rpath$dir:"
-+	    func_append rpath "$dir:"
- 	  done
- 	  compile_var="$runpath_var=\"$rpath\$$runpath_var\" "
- 	fi
-@@ -7951,7 +8928,7 @@ EOF
- 	  # We should set the runpath_var.
- 	  rpath=
- 	  for dir in $finalize_perm_rpath; do
--	    rpath="$rpath$dir:"
-+	    func_append rpath "$dir:"
- 	  done
- 	  finalize_var="$runpath_var=\"$rpath\$$runpath_var\" "
- 	fi
-@@ -7966,6 +8943,13 @@ EOF
- 	$opt_dry_run || $RM $output
- 	# Link the executable and exit
- 	func_show_eval "$link_command" 'exit $?'
-+
-+	if test -n "$postlink_cmds"; then
-+	  func_to_tool_file "$output"
-+	  postlink_cmds=`func_echo_all "$postlink_cmds" | $SED -e 's%@OUTPUT@%'"$output"'%g' -e 's%@TOOL_OUTPUT@%'"$func_to_tool_file_result"'%g'`
-+	  func_execute_cmds "$postlink_cmds" 'exit $?'
-+	fi
-+
- 	exit $EXIT_SUCCESS
-       fi
- 
-@@ -7999,6 +8983,12 @@ EOF
- 
-       func_show_eval "$link_command" 'exit $?'
- 
-+      if test -n "$postlink_cmds"; then
-+	func_to_tool_file "$output_objdir/$outputname"
-+	postlink_cmds=`func_echo_all "$postlink_cmds" | $SED -e 's%@OUTPUT@%'"$output_objdir/$outputname"'%g' -e 's%@TOOL_OUTPUT@%'"$func_to_tool_file_result"'%g'`
-+	func_execute_cmds "$postlink_cmds" 'exit $?'
-+      fi
-+
-       # Now create the wrapper script.
-       func_verbose "creating $output"
- 
-@@ -8096,7 +9086,7 @@ EOF
- 	else
- 	  oldobjs="$old_deplibs $non_pic_objects"
- 	  if test "$preload" = yes && test -f "$symfileobj"; then
--	    oldobjs="$oldobjs $symfileobj"
-+	    func_append oldobjs " $symfileobj"
- 	  fi
- 	fi
- 	addlibs="$old_convenience"
-@@ -8104,10 +9094,10 @@ EOF
- 
-       if test -n "$addlibs"; then
- 	gentop="$output_objdir/${outputname}x"
--	generated="$generated $gentop"
-+	func_append generated " $gentop"
- 
- 	func_extract_archives $gentop $addlibs
--	oldobjs="$oldobjs $func_extract_archives_result"
-+	func_append oldobjs " $func_extract_archives_result"
-       fi
- 
-       # Do each command in the archive commands.
-@@ -8118,10 +9108,10 @@ EOF
- 	# Add any objects from preloaded convenience libraries
- 	if test -n "$dlprefiles"; then
- 	  gentop="$output_objdir/${outputname}x"
--	  generated="$generated $gentop"
-+	  func_append generated " $gentop"
- 
- 	  func_extract_archives $gentop $dlprefiles
--	  oldobjs="$oldobjs $func_extract_archives_result"
-+	  func_append oldobjs " $func_extract_archives_result"
- 	fi
- 
- 	# POSIX demands no paths to be encoded in archives.  We have
-@@ -8139,7 +9129,7 @@ EOF
- 	else
- 	  echo "copying selected object files to avoid basename conflicts..."
- 	  gentop="$output_objdir/${outputname}x"
--	  generated="$generated $gentop"
-+	  func_append generated " $gentop"
- 	  func_mkdir_p "$gentop"
- 	  save_oldobjs=$oldobjs
- 	  oldobjs=
-@@ -8163,18 +9153,28 @@ EOF
- 		esac
- 	      done
- 	      func_show_eval "ln $obj $gentop/$newobj || cp $obj $gentop/$newobj"
--	      oldobjs="$oldobjs $gentop/$newobj"
-+	      func_append oldobjs " $gentop/$newobj"
- 	      ;;
--	    *) oldobjs="$oldobjs $obj" ;;
-+	    *) func_append oldobjs " $obj" ;;
- 	    esac
- 	  done
- 	fi
--	eval "cmds=\"$old_archive_cmds\""
-+	eval cmds=\"$old_archive_cmds\"
- 
- 	func_len " $cmds"
- 	len=$func_len_result
- 	if test "$len" -lt "$max_cmd_len" || test "$max_cmd_len" -le -1; then
- 	  cmds=$old_archive_cmds
-+	elif test -n "$archiver_list_spec"; then
-+	  func_verbose "using command file archive linking..."
-+	  for obj in $oldobjs
-+	  do
-+	    func_to_tool_file "$obj"
-+	    $ECHO "$func_to_tool_file_result"
-+	  done > $output_objdir/$libname.libcmd
-+	  func_to_tool_file "$output_objdir/$libname.libcmd"
-+	  oldobjs=" $archiver_list_spec$func_to_tool_file_result"
-+	  cmds=$old_archive_cmds
- 	else
- 	  # the command line is too long to link in one step, link in parts
- 	  func_verbose "using piecewise archive linking..."
-@@ -8189,7 +9189,7 @@ EOF
- 	  do
- 	    last_oldobj=$obj
- 	  done
--	  eval "test_cmds=\"$old_archive_cmds\""
-+	  eval test_cmds=\"$old_archive_cmds\"
- 	  func_len " $test_cmds"
- 	  len0=$func_len_result
- 	  len=$len0
-@@ -8208,7 +9208,7 @@ EOF
- 		RANLIB=$save_RANLIB
- 	      fi
- 	      test -z "$concat_cmds" || concat_cmds=$concat_cmds~
--	      eval "concat_cmds=\"\${concat_cmds}$old_archive_cmds\""
-+	      eval concat_cmds=\"\${concat_cmds}$old_archive_cmds\"
- 	      objlist=
- 	      len=$len0
- 	    fi
-@@ -8216,9 +9216,9 @@ EOF
- 	  RANLIB=$save_RANLIB
- 	  oldobjs=$objlist
- 	  if test "X$oldobjs" = "X" ; then
--	    eval "cmds=\"\$concat_cmds\""
-+	    eval cmds=\"\$concat_cmds\"
- 	  else
--	    eval "cmds=\"\$concat_cmds~\$old_archive_cmds\""
-+	    eval cmds=\"\$concat_cmds~\$old_archive_cmds\"
- 	  fi
- 	fi
-       fi
-@@ -8268,12 +9268,23 @@ EOF
- 	      *.la)
- 		func_basename "$deplib"
- 		name="$func_basename_result"
--		libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $deplib`
-+		func_resolve_sysroot "$deplib"
-+		eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $func_resolve_sysroot_result`
- 		test -z "$libdir" && \
- 		  func_fatal_error "\`$deplib' is not a valid libtool archive"
--		newdependency_libs="$newdependency_libs $libdir/$name"
-+		func_append newdependency_libs " ${lt_sysroot:+=}$libdir/$name"
-+		;;
-+	      -L*)
-+		func_stripname -L '' "$deplib"
-+		func_replace_sysroot "$func_stripname_result"
-+		func_append newdependency_libs " -L$func_replace_sysroot_result"
- 		;;
--	      *) newdependency_libs="$newdependency_libs $deplib" ;;
-+	      -R*)
-+		func_stripname -R '' "$deplib"
-+		func_replace_sysroot "$func_stripname_result"
-+		func_append newdependency_libs " -R$func_replace_sysroot_result"
-+		;;
-+	      *) func_append newdependency_libs " $deplib" ;;
- 	      esac
- 	    done
- 	    dependency_libs="$newdependency_libs"
-@@ -8284,12 +9295,14 @@ EOF
- 	      *.la)
- 	        func_basename "$lib"
- 		name="$func_basename_result"
--		libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $lib`
-+		func_resolve_sysroot "$lib"
-+		eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $func_resolve_sysroot_result`
-+
- 		test -z "$libdir" && \
- 		  func_fatal_error "\`$lib' is not a valid libtool archive"
--		newdlfiles="$newdlfiles $libdir/$name"
-+		func_append newdlfiles " ${lt_sysroot:+=}$libdir/$name"
- 		;;
--	      *) newdlfiles="$newdlfiles $lib" ;;
-+	      *) func_append newdlfiles " $lib" ;;
- 	      esac
- 	    done
- 	    dlfiles="$newdlfiles"
-@@ -8303,10 +9316,11 @@ EOF
- 		# the library:
- 		func_basename "$lib"
- 		name="$func_basename_result"
--		libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $lib`
-+		func_resolve_sysroot "$lib"
-+		eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $func_resolve_sysroot_result`
- 		test -z "$libdir" && \
- 		  func_fatal_error "\`$lib' is not a valid libtool archive"
--		newdlprefiles="$newdlprefiles $libdir/$name"
-+		func_append newdlprefiles " ${lt_sysroot:+=}$libdir/$name"
- 		;;
- 	      esac
- 	    done
-@@ -8318,7 +9332,7 @@ EOF
- 		[\\/]* | [A-Za-z]:[\\/]*) abs="$lib" ;;
- 		*) abs=`pwd`"/$lib" ;;
- 	      esac
--	      newdlfiles="$newdlfiles $abs"
-+	      func_append newdlfiles " $abs"
- 	    done
- 	    dlfiles="$newdlfiles"
- 	    newdlprefiles=
-@@ -8327,7 +9341,7 @@ EOF
- 		[\\/]* | [A-Za-z]:[\\/]*) abs="$lib" ;;
- 		*) abs=`pwd`"/$lib" ;;
- 	      esac
--	      newdlprefiles="$newdlprefiles $abs"
-+	      func_append newdlprefiles " $abs"
- 	    done
- 	    dlprefiles="$newdlprefiles"
- 	  fi
-@@ -8412,7 +9426,7 @@ relink_command=\"$relink_command\""
-     exit $EXIT_SUCCESS
- }
- 
--{ test "$mode" = link || test "$mode" = relink; } &&
-+{ test "$opt_mode" = link || test "$opt_mode" = relink; } &&
-     func_mode_link ${1+"$@"}
- 
- 
-@@ -8432,9 +9446,9 @@ func_mode_uninstall ()
-     for arg
-     do
-       case $arg in
--      -f) RM="$RM $arg"; rmforce=yes ;;
--      -*) RM="$RM $arg" ;;
--      *) files="$files $arg" ;;
-+      -f) func_append RM " $arg"; rmforce=yes ;;
-+      -*) func_append RM " $arg" ;;
-+      *) func_append files " $arg" ;;
-       esac
-     done
- 
-@@ -8443,24 +9457,23 @@ func_mode_uninstall ()
- 
-     rmdirs=
- 
--    origobjdir="$objdir"
-     for file in $files; do
-       func_dirname "$file" "" "."
-       dir="$func_dirname_result"
-       if test "X$dir" = X.; then
--	objdir="$origobjdir"
-+	odir="$objdir"
-       else
--	objdir="$dir/$origobjdir"
-+	odir="$dir/$objdir"
-       fi
-       func_basename "$file"
-       name="$func_basename_result"
--      test "$mode" = uninstall && objdir="$dir"
-+      test "$opt_mode" = uninstall && odir="$dir"
- 
--      # Remember objdir for removal later, being careful to avoid duplicates
--      if test "$mode" = clean; then
-+      # Remember odir for removal later, being careful to avoid duplicates
-+      if test "$opt_mode" = clean; then
- 	case " $rmdirs " in
--	  *" $objdir "*) ;;
--	  *) rmdirs="$rmdirs $objdir" ;;
-+	  *" $odir "*) ;;
-+	  *) func_append rmdirs " $odir" ;;
- 	esac
-       fi
- 
-@@ -8486,18 +9499,17 @@ func_mode_uninstall ()
- 
- 	  # Delete the libtool libraries and symlinks.
- 	  for n in $library_names; do
--	    rmfiles="$rmfiles $objdir/$n"
-+	    func_append rmfiles " $odir/$n"
- 	  done
--	  test -n "$old_library" && rmfiles="$rmfiles $objdir/$old_library"
-+	  test -n "$old_library" && func_append rmfiles " $odir/$old_library"
- 
--	  case "$mode" in
-+	  case "$opt_mode" in
- 	  clean)
--	    case "  $library_names " in
--	    # "  " in the beginning catches empty $dlname
-+	    case " $library_names " in
- 	    *" $dlname "*) ;;
--	    *) rmfiles="$rmfiles $objdir/$dlname" ;;
-+	    *) test -n "$dlname" && func_append rmfiles " $odir/$dlname" ;;
- 	    esac
--	    test -n "$libdir" && rmfiles="$rmfiles $objdir/$name $objdir/${name}i"
-+	    test -n "$libdir" && func_append rmfiles " $odir/$name $odir/${name}i"
- 	    ;;
- 	  uninstall)
- 	    if test -n "$library_names"; then
-@@ -8525,19 +9537,19 @@ func_mode_uninstall ()
- 	  # Add PIC object to the list of files to remove.
- 	  if test -n "$pic_object" &&
- 	     test "$pic_object" != none; then
--	    rmfiles="$rmfiles $dir/$pic_object"
-+	    func_append rmfiles " $dir/$pic_object"
- 	  fi
- 
- 	  # Add non-PIC object to the list of files to remove.
- 	  if test -n "$non_pic_object" &&
- 	     test "$non_pic_object" != none; then
--	    rmfiles="$rmfiles $dir/$non_pic_object"
-+	    func_append rmfiles " $dir/$non_pic_object"
- 	  fi
- 	fi
- 	;;
- 
-       *)
--	if test "$mode" = clean ; then
-+	if test "$opt_mode" = clean ; then
- 	  noexename=$name
- 	  case $file in
- 	  *.exe)
-@@ -8547,7 +9559,7 @@ func_mode_uninstall ()
- 	    noexename=$func_stripname_result
- 	    # $file with .exe has already been added to rmfiles,
- 	    # add $file without .exe
--	    rmfiles="$rmfiles $file"
-+	    func_append rmfiles " $file"
- 	    ;;
- 	  esac
- 	  # Do a test to see if this is a libtool program.
-@@ -8556,7 +9568,7 @@ func_mode_uninstall ()
- 	      func_ltwrapper_scriptname "$file"
- 	      relink_command=
- 	      func_source $func_ltwrapper_scriptname_result
--	      rmfiles="$rmfiles $func_ltwrapper_scriptname_result"
-+	      func_append rmfiles " $func_ltwrapper_scriptname_result"
- 	    else
- 	      relink_command=
- 	      func_source $dir/$noexename
-@@ -8564,12 +9576,12 @@ func_mode_uninstall ()
- 
- 	    # note $name still contains .exe if it was in $file originally
- 	    # as does the version of $file that was added into $rmfiles
--	    rmfiles="$rmfiles $objdir/$name $objdir/${name}S.${objext}"
-+	    func_append rmfiles " $odir/$name $odir/${name}S.${objext}"
- 	    if test "$fast_install" = yes && test -n "$relink_command"; then
--	      rmfiles="$rmfiles $objdir/lt-$name"
-+	      func_append rmfiles " $odir/lt-$name"
- 	    fi
- 	    if test "X$noexename" != "X$name" ; then
--	      rmfiles="$rmfiles $objdir/lt-${noexename}.c"
-+	      func_append rmfiles " $odir/lt-${noexename}.c"
- 	    fi
- 	  fi
- 	fi
-@@ -8577,7 +9589,6 @@ func_mode_uninstall ()
-       esac
-       func_show_eval "$RM $rmfiles" 'exit_status=1'
-     done
--    objdir="$origobjdir"
- 
-     # Try to remove the ${objdir}s in the directories where we deleted files
-     for dir in $rmdirs; do
-@@ -8589,16 +9600,16 @@ func_mode_uninstall ()
-     exit $exit_status
- }
- 
--{ test "$mode" = uninstall || test "$mode" = clean; } &&
-+{ test "$opt_mode" = uninstall || test "$opt_mode" = clean; } &&
-     func_mode_uninstall ${1+"$@"}
- 
--test -z "$mode" && {
-+test -z "$opt_mode" && {
-   help="$generic_help"
-   func_fatal_help "you must specify a MODE"
- }
- 
- test -z "$exec_cmd" && \
--  func_fatal_help "invalid operation mode \`$mode'"
-+  func_fatal_help "invalid operation mode \`$opt_mode'"
- 
- if test -n "$exec_cmd"; then
-   eval exec "$exec_cmd"
-Index: binutils-2.22/ltoptions.m4
-===================================================================
---- binutils-2.22.orig/ltoptions.m4
-+++ binutils-2.22/ltoptions.m4
-@@ -8,7 +8,7 @@
- # unlimited permission to copy and/or distribute it, with or without
- # modifications, as long as this notice is preserved.
- 
--# serial 6 ltoptions.m4
-+# serial 7 ltoptions.m4
- 
- # This is to help aclocal find these macros, as it can't see m4_define.
- AC_DEFUN([LTOPTIONS_VERSION], [m4_if([1])])
-Index: binutils-2.22/ltversion.m4
-===================================================================
---- binutils-2.22.orig/ltversion.m4
-+++ binutils-2.22/ltversion.m4
-@@ -7,17 +7,17 @@
- # unlimited permission to copy and/or distribute it, with or without
- # modifications, as long as this notice is preserved.
- 
--# Generated from ltversion.in.
-+# @configure_input@
- 
--# serial 3134 ltversion.m4
-+# serial 3293 ltversion.m4
- # This file is part of GNU Libtool
- 
--m4_define([LT_PACKAGE_VERSION], [2.2.7a])
--m4_define([LT_PACKAGE_REVISION], [1.3134])
-+m4_define([LT_PACKAGE_VERSION], [2.4])
-+m4_define([LT_PACKAGE_REVISION], [1.3293])
- 
- AC_DEFUN([LTVERSION_VERSION],
--[macro_version='2.2.7a'
--macro_revision='1.3134'
-+[macro_version='2.4'
-+macro_revision='1.3293'
- _LT_DECL(, macro_version, 0, [Which release of libtool.m4 was used?])
- _LT_DECL(, macro_revision, 0)
- ])
-Index: binutils-2.22/lt~obsolete.m4
-===================================================================
---- binutils-2.22.orig/lt~obsolete.m4
-+++ binutils-2.22/lt~obsolete.m4
-@@ -7,7 +7,7 @@
- # unlimited permission to copy and/or distribute it, with or without
- # modifications, as long as this notice is preserved.
- 
--# serial 4 lt~obsolete.m4
-+# serial 5 lt~obsolete.m4
- 
- # These exist entirely to fool aclocal when bootstrapping libtool.
- #
-Index: binutils-2.22/configure
-===================================================================
---- binutils-2.22.orig/configure
-+++ binutils-2.22/configure
-@@ -7788,7 +7788,7 @@ case " $build_configdirs " in
-     # For an installed makeinfo, we require it to be from texinfo 4.7 or
-     # higher, else we use the "missing" dummy.
-     if ${MAKEINFO} --version \
--       | egrep 'texinfo[^0-9]*(4\.([7-9]|[1-9][0-9])|[5-9]|[1-9][0-9])' >/dev/null 2>&1; then
-+       | egrep 'texinfo[^0-9]*([1-3][0-9]|4.[4-9]|4.[1-9][0-9]+|[5-9])' >/dev/null 2>&1; then
-       :
-     else
-       MAKEINFO="$MISSING makeinfo"
-Index: binutils-2.22/bfd/configure
-===================================================================
---- binutils-2.22.orig/bfd/configure
-+++ binutils-2.22/bfd/configure
-@@ -667,6 +667,9 @@ OTOOL
- LIPO
- NMEDIT
- DSYMUTIL
-+MANIFEST_TOOL
-+ac_ct_AR
-+DLLTOOL
- OBJDUMP
- LN_S
- NM
-@@ -779,6 +782,7 @@ enable_static
- with_pic
- enable_fast_install
- with_gnu_ld
-+with_libtool_sysroot
- enable_libtool_lock
- enable_plugins
- enable_largefile
-@@ -1453,6 +1457,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]
-+  --with-libtool-sysroot=DIR Search for dependent libraries within DIR
-+                        (or the compiler's sysroot if not specified).
-   --with-mmap             try using mmap for BFD input files if available
-   --with-separate-debug-dir=DIR
-                           Look for global separate debug info in DIR
-@@ -5383,8 +5389,8 @@ esac
- 
- 
- 
--macro_version='2.2.7a'
--macro_revision='1.3134'
-+macro_version='2.4'
-+macro_revision='1.3293'
- 
- 
- 
-@@ -5424,7 +5430,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.
--if test "X`print -r -- -n 2>/dev/null`" = X-n && \
-+if test "X`( print -r -- -n ) 2>/dev/null`" = X-n && \
-    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
-@@ -6110,8 +6116,8 @@ $as_echo_n "checking whether the shell u
- # Try some XSI features
- xsi_shell=no
- ( _lt_dummy="a/b/c"
--  test "${_lt_dummy##*/},${_lt_dummy%/*},"${_lt_dummy%"$_lt_dummy"}, \
--      = c,a/b,, \
-+  test "${_lt_dummy##*/},${_lt_dummy%/*},${_lt_dummy#??}"${_lt_dummy%"$_lt_dummy"}, \
-+      = c,a/b,b/c, \
-     && eval 'test $(( 1 + 1 )) -eq 2 \
-     && test "${#_lt_dummy}" -eq 5' ) >/dev/null 2>&1 \
-   && xsi_shell=yes
-@@ -6160,6 +6166,80 @@ esac
- 
- 
- 
-+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to convert $build file names to $host format" >&5
-+$as_echo_n "checking how to convert $build file names to $host format... " >&6; }
-+if test "${lt_cv_to_host_file_cmd+set}" = set; then :
-+  $as_echo_n "(cached) " >&6
-+else
-+  case $host in
-+  *-*-mingw* )
-+    case $build in
-+      *-*-mingw* ) # actually msys
-+        lt_cv_to_host_file_cmd=func_convert_file_msys_to_w32
-+        ;;
-+      *-*-cygwin* )
-+        lt_cv_to_host_file_cmd=func_convert_file_cygwin_to_w32
-+        ;;
-+      * ) # otherwise, assume *nix
-+        lt_cv_to_host_file_cmd=func_convert_file_nix_to_w32
-+        ;;
-+    esac
-+    ;;
-+  *-*-cygwin* )
-+    case $build in
-+      *-*-mingw* ) # actually msys
-+        lt_cv_to_host_file_cmd=func_convert_file_msys_to_cygwin
-+        ;;
-+      *-*-cygwin* )
-+        lt_cv_to_host_file_cmd=func_convert_file_noop
-+        ;;
-+      * ) # otherwise, assume *nix
-+        lt_cv_to_host_file_cmd=func_convert_file_nix_to_cygwin
-+        ;;
-+    esac
-+    ;;
-+  * ) # unhandled hosts (and "normal" native builds)
-+    lt_cv_to_host_file_cmd=func_convert_file_noop
-+    ;;
-+esac
-+
-+fi
-+
-+to_host_file_cmd=$lt_cv_to_host_file_cmd
-+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_to_host_file_cmd" >&5
-+$as_echo "$lt_cv_to_host_file_cmd" >&6; }
-+
-+
-+
-+
-+
-+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to convert $build file names to toolchain format" >&5
-+$as_echo_n "checking how to convert $build file names to toolchain format... " >&6; }
-+if test "${lt_cv_to_tool_file_cmd+set}" = set; then :
-+  $as_echo_n "(cached) " >&6
-+else
-+  #assume ordinary cross tools, or native build.
-+lt_cv_to_tool_file_cmd=func_convert_file_noop
-+case $host in
-+  *-*-mingw* )
-+    case $build in
-+      *-*-mingw* ) # actually msys
-+        lt_cv_to_tool_file_cmd=func_convert_file_msys_to_w32
-+        ;;
-+    esac
-+    ;;
-+esac
-+
-+fi
-+
-+to_tool_file_cmd=$lt_cv_to_tool_file_cmd
-+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_to_tool_file_cmd" >&5
-+$as_echo "$lt_cv_to_tool_file_cmd" >&6; }
-+
-+
-+
-+
-+
- { $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 :
-@@ -6176,6 +6256,11 @@ case $reload_flag in
- esac
- reload_cmds='$LD$reload_flag -o $output$reload_objs'
- case $host_os in
-+  cygwin* | mingw* | pw32* | cegcc*)
-+    if test "$GCC" != yes; then
-+      reload_cmds=false
-+    fi
-+    ;;
-   darwin*)
-     if test "$GCC" = yes; then
-       reload_cmds='$LTCC $LTCFLAGS -nostdlib ${wl}-r -o $output$reload_objs'
-@@ -6344,7 +6429,8 @@ mingw* | pw32*)
-     lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL'
-     lt_cv_file_magic_cmd='func_win32_libid'
-   else
--    lt_cv_deplibs_check_method='file_magic file format pei*-i386(.*architecture: i386)?'
-+    # Keep this pattern in sync with the one in func_win32_libid.
-+    lt_cv_deplibs_check_method='file_magic file format (pei*-i386(.*architecture: i386)?|pe-arm-wince|pe-x86-64)'
-     lt_cv_file_magic_cmd='$OBJDUMP -f'
-   fi
-   ;;
-@@ -6498,6 +6584,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; }
-+
-+file_magic_glob=
-+want_nocaseglob=no
-+if test "$build" = "$host"; then
-+  case $host_os in
-+  mingw* | pw32*)
-+    if ( shopt | grep nocaseglob ) >/dev/null 2>&1; then
-+      want_nocaseglob=yes
-+    else
-+      file_magic_glob=`echo aAbBcCdDeEfFgGhHiIjJkKlLmMnNoOpPqQrRsStTuUvVwWxXyYzZ | $SED -e "s/\(..\)/s\/[\1]\/[\1]\/g;/g"`
-+    fi
-+    ;;
-+  esac
-+fi
-+
- 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
-@@ -6513,9 +6614,162 @@ test -z "$deplibs_check_method" && depli
- 
- 
- 
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
- 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
-+  # Extract the first word of "${ac_tool_prefix}dlltool", so it can be a program name with args.
-+set dummy ${ac_tool_prefix}dlltool; ac_word=$2
-+{ $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_DLLTOOL+set}" = set; then :
-+  $as_echo_n "(cached) " >&6
-+else
-+  if test -n "$DLLTOOL"; then
-+  ac_cv_prog_DLLTOOL="$DLLTOOL" # Let the user override the test.
-+else
-+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-+for as_dir in $PATH
-+do
-+  IFS=$as_save_IFS
-+  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
-+    ac_cv_prog_DLLTOOL="${ac_tool_prefix}dlltool"
-+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-+    break 2
-+  fi
-+done
-+  done
-+IFS=$as_save_IFS
-+
-+fi
-+fi
-+DLLTOOL=$ac_cv_prog_DLLTOOL
-+if test -n "$DLLTOOL"; then
-+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $DLLTOOL" >&5
-+$as_echo "$DLLTOOL" >&6; }
-+else
-+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-+$as_echo "no" >&6; }
-+fi
-+
-+
-+fi
-+if test -z "$ac_cv_prog_DLLTOOL"; then
-+  ac_ct_DLLTOOL=$DLLTOOL
-+  # Extract the first word of "dlltool", so it can be a program name with args.
-+set dummy dlltool; ac_word=$2
-+{ $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_DLLTOOL+set}" = set; then :
-+  $as_echo_n "(cached) " >&6
-+else
-+  if test -n "$ac_ct_DLLTOOL"; then
-+  ac_cv_prog_ac_ct_DLLTOOL="$ac_ct_DLLTOOL" # Let the user override the test.
-+else
-+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-+for as_dir in $PATH
-+do
-+  IFS=$as_save_IFS
-+  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
-+    ac_cv_prog_ac_ct_DLLTOOL="dlltool"
-+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-+    break 2
-+  fi
-+done
-+  done
-+IFS=$as_save_IFS
-+
-+fi
-+fi
-+ac_ct_DLLTOOL=$ac_cv_prog_ac_ct_DLLTOOL
-+if test -n "$ac_ct_DLLTOOL"; then
-+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_DLLTOOL" >&5
-+$as_echo "$ac_ct_DLLTOOL" >&6; }
-+else
-+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-+$as_echo "no" >&6; }
-+fi
-+
-+  if test "x$ac_ct_DLLTOOL" = x; then
-+    DLLTOOL="false"
-+  else
-+    case $cross_compiling:$ac_tool_warned in
-+yes:)
-+{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-+$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-+ac_tool_warned=yes ;;
-+esac
-+    DLLTOOL=$ac_ct_DLLTOOL
-+  fi
-+else
-+  DLLTOOL="$ac_cv_prog_DLLTOOL"
-+fi
-+
-+test -z "$DLLTOOL" && DLLTOOL=dlltool
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to associate runtime and link libraries" >&5
-+$as_echo_n "checking how to associate runtime and link libraries... " >&6; }
-+if test "${lt_cv_sharedlib_from_linklib_cmd+set}" = set; then :
-+  $as_echo_n "(cached) " >&6
-+else
-+  lt_cv_sharedlib_from_linklib_cmd='unknown'
-+
-+case $host_os in
-+cygwin* | mingw* | pw32* | cegcc*)
-+  # two different shell functions defined in ltmain.sh
-+  # decide which to use based on capabilities of $DLLTOOL
-+  case `$DLLTOOL --help 2>&1` in
-+  *--identify-strict*)
-+    lt_cv_sharedlib_from_linklib_cmd=func_cygming_dll_for_implib
-+    ;;
-+  *)
-+    lt_cv_sharedlib_from_linklib_cmd=func_cygming_dll_for_implib_fallback
-+    ;;
-+  esac
-+  ;;
-+*)
-+  # fallback: assume linklib IS sharedlib
-+  lt_cv_sharedlib_from_linklib_cmd="$ECHO"
-+  ;;
-+esac
-+
-+fi
-+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_sharedlib_from_linklib_cmd" >&5
-+$as_echo "$lt_cv_sharedlib_from_linklib_cmd" >&6; }
-+sharedlib_from_linklib_cmd=$lt_cv_sharedlib_from_linklib_cmd
-+test -z "$sharedlib_from_linklib_cmd" && sharedlib_from_linklib_cmd=$ECHO
-+
-+
-+
-+
-+
-+
-+
-+if test -n "$ac_tool_prefix"; then
-+  for ac_prog in ar
-+  do
-+    # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args.
-+set dummy $ac_tool_prefix$ac_prog; ac_word=$2
- { $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 :
-@@ -6531,7 +6785,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
--    ac_cv_prog_AR="${ac_tool_prefix}ar"
-+    ac_cv_prog_AR="$ac_tool_prefix$ac_prog"
-     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-     break 2
-   fi
-@@ -6551,11 +6805,15 @@ $as_echo "no" >&6; }
- fi
- 
- 
-+    test -n "$AR" && break
-+  done
- fi
--if test -z "$ac_cv_prog_AR"; then
-+if test -z "$AR"; then
-   ac_ct_AR=$AR
--  # Extract the first word of "ar", so it can be a program name with args.
--set dummy ar; ac_word=$2
-+  for ac_prog in ar
-+do
-+  # Extract the first word of "$ac_prog", so it can be a program name with args.
-+set dummy $ac_prog; ac_word=$2
- { $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 :
-@@ -6571,7 +6829,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
--    ac_cv_prog_ac_ct_AR="ar"
-+    ac_cv_prog_ac_ct_AR="$ac_prog"
-     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-     break 2
-   fi
-@@ -6590,6 +6848,10 @@ else
- $as_echo "no" >&6; }
- fi
- 
-+
-+  test -n "$ac_ct_AR" && break
-+done
-+
-   if test "x$ac_ct_AR" = x; then
-     AR="false"
-   else
-@@ -6601,16 +6863,72 @@ ac_tool_warned=yes ;;
- esac
-     AR=$ac_ct_AR
-   fi
--else
--  AR="$ac_cv_prog_AR"
- fi
- 
--test -z "$AR" && AR=ar
--test -z "$AR_FLAGS" && AR_FLAGS=cru
-+: ${AR=ar}
-+: ${AR_FLAGS=cru}
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
- 
-+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for archiver @FILE support" >&5
-+$as_echo_n "checking for archiver @FILE support... " >&6; }
-+if test "${lt_cv_ar_at_file+set}" = set; then :
-+  $as_echo_n "(cached) " >&6
-+else
-+  lt_cv_ar_at_file=no
-+   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-+/* end confdefs.h.  */
- 
-+int
-+main ()
-+{
- 
-+  ;
-+  return 0;
-+}
-+_ACEOF
-+if ac_fn_c_try_compile "$LINENO"; then :
-+  echo conftest.$ac_objext > conftest.lst
-+      lt_ar_try='$AR $AR_FLAGS libconftest.a @conftest.lst >&5'
-+      { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$lt_ar_try\""; } >&5
-+  (eval $lt_ar_try) 2>&5
-+  ac_status=$?
-+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-+  test $ac_status = 0; }
-+      if test "$ac_status" -eq 0; then
-+	# Ensure the archiver fails upon bogus file names.
-+	rm -f conftest.$ac_objext libconftest.a
-+	{ { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$lt_ar_try\""; } >&5
-+  (eval $lt_ar_try) 2>&5
-+  ac_status=$?
-+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-+  test $ac_status = 0; }
-+	if test "$ac_status" -ne 0; then
-+          lt_cv_ar_at_file=@
-+        fi
-+      fi
-+      rm -f conftest.* libconftest.a
- 
-+fi
-+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-+
-+fi
-+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ar_at_file" >&5
-+$as_echo "$lt_cv_ar_at_file" >&6; }
-+
-+if test "x$lt_cv_ar_at_file" = xno; then
-+  archiver_list_spec=
-+else
-+  archiver_list_spec=$lt_cv_ar_at_file
-+fi
- 
- 
- 
-@@ -6952,8 +7270,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
--lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([^ ]*\) $/  {\\\"\1\\\", (void *) 0},/p' -e 's/^$symcode* \([^ ]*\) \([^ ]*\)$/  {\"\2\", (void *) \&\2},/p'"
--lt_cv_sys_global_symbol_to_c_name_address_lib_prefix="sed -n -e 's/^: \([^ ]*\) $/  {\\\"\1\\\", (void *) 0},/p' -e 's/^$symcode* \([^ ]*\) \(lib[^ ]*\)$/  {\"\2\", (void *) \&\2},/p' -e 's/^$symcode* \([^ ]*\) \([^ ]*\)$/  {\"lib\2\", (void *) \&\2},/p'"
-+lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([^ ]*\)[ ]*$/  {\\\"\1\\\", (void *) 0},/p' -e 's/^$symcode* \([^ ]*\) \([^ ]*\)$/  {\"\2\", (void *) \&\2},/p'"
-+lt_cv_sys_global_symbol_to_c_name_address_lib_prefix="sed -n -e 's/^: \([^ ]*\)[ ]*$/  {\\\"\1\\\", (void *) 0},/p' -e 's/^$symcode* \([^ ]*\) \(lib[^ ]*\)$/  {\"\2\", (void *) \&\2},/p' -e 's/^$symcode* \([^ ]*\) \([^ ]*\)$/  {\"lib\2\", (void *) \&\2},/p'"
- 
- # Handle CRLF in mingw tool chain
- opt_cr=
-@@ -6989,6 +7307,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
-+  lt_cv_sys_global_symbol_pipe="$lt_cv_sys_global_symbol_pipe | sed '/ __gnu_lto/d'"
- 
-   # Check to see that the pipe works correctly.
-   pipe_works=no
-@@ -7030,6 +7349,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
-+/* Keep this code in sync between libtool.m4, ltmain, lt_system.h, and tests.  */
-+#if defined(_WIN32) || defined(__CYGWIN__) || defined(_WIN32_WCE)
-+/* DATA imports from DLLs on WIN32 con't be const, because runtime
-+   relocations are performed -- see ld's documentation on pseudo-relocs.  */
-+# define LT_DLSYM_CONST
-+#elif defined(__osf__)
-+/* This system does not cope well with relocations in const data.  */
-+# define LT_DLSYM_CONST
-+#else
-+# define LT_DLSYM_CONST const
-+#endif
-+
- #ifdef __cplusplus
- extern "C" {
- #endif
-@@ -7041,7 +7372,7 @@ _LT_EOF
- 	  cat <<_LT_EOF >> conftest.$ac_ext
- 
- /* The mapping between symbol names and symbols.  */
--const struct {
-+LT_DLSYM_CONST struct {
-   const char *name;
-   void       *address;
- }
-@@ -7067,8 +7398,8 @@ static const void *lt_preloaded_setup() 
- _LT_EOF
- 	  # Now try linking the two files.
- 	  mv conftest.$ac_objext conftstm.$ac_objext
--	  lt_save_LIBS="$LIBS"
--	  lt_save_CFLAGS="$CFLAGS"
-+	  lt_globsym_save_LIBS=$LIBS
-+	  lt_globsym_save_CFLAGS=$CFLAGS
- 	  LIBS="conftstm.$ac_objext"
- 	  CFLAGS="$CFLAGS$lt_prog_compiler_no_builtin_flag"
- 	  if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5
-@@ -7078,8 +7409,8 @@ _LT_EOF
-   test $ac_status = 0; } && test -s conftest${ac_exeext}; then
- 	    pipe_works=yes
- 	  fi
--	  LIBS="$lt_save_LIBS"
--	  CFLAGS="$lt_save_CFLAGS"
-+	  LIBS=$lt_globsym_save_LIBS
-+	  CFLAGS=$lt_globsym_save_CFLAGS
- 	else
- 	  echo "cannot find nm_test_func in $nlist" >&5
- 	fi
-@@ -7116,6 +7447,20 @@ else
- $as_echo "ok" >&6; }
- fi
- 
-+# Response file support.
-+if test "$lt_cv_nm_interface" = "MS dumpbin"; then
-+  nm_file_list_spec='@'
-+elif $NM --help 2>/dev/null | grep '[@]FILE' >/dev/null; then
-+  nm_file_list_spec='@'
-+fi
-+
-+
-+
-+
-+
-+
-+
-+
- 
- 
- 
-@@ -7135,6 +7480,41 @@ fi
- 
- 
- 
-+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for sysroot" >&5
-+$as_echo_n "checking for sysroot... " >&6; }
-+
-+# Check whether --with-libtool-sysroot was given.
-+if test "${with_libtool_sysroot+set}" = set; then :
-+  withval=$with_libtool_sysroot;
-+else
-+  with_libtool_sysroot=no
-+fi
-+
-+
-+lt_sysroot=
-+case ${with_libtool_sysroot} in #(
-+ yes)
-+   if test "$GCC" = yes; then
-+     lt_sysroot=`$CC --print-sysroot 2>/dev/null`
-+   fi
-+   ;; #(
-+ /*)
-+   lt_sysroot=`echo "$with_libtool_sysroot" | sed -e "$sed_quote_subst"`
-+   ;; #(
-+ no|'')
-+   ;; #(
-+ *)
-+   { $as_echo "$as_me:${as_lineno-$LINENO}: result: ${with_libtool_sysroot}" >&5
-+$as_echo "${with_libtool_sysroot}" >&6; }
-+   as_fn_error "The sysroot must be an absolute path." "$LINENO" 5
-+   ;;
-+esac
-+
-+ { $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.
-@@ -7330,6 +7710,123 @@ esac
- 
- need_locks="$enable_libtool_lock"
- 
-+if test -n "$ac_tool_prefix"; then
-+  # Extract the first word of "${ac_tool_prefix}mt", so it can be a program name with args.
-+set dummy ${ac_tool_prefix}mt; ac_word=$2
-+{ $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_MANIFEST_TOOL+set}" = set; then :
-+  $as_echo_n "(cached) " >&6
-+else
-+  if test -n "$MANIFEST_TOOL"; then
-+  ac_cv_prog_MANIFEST_TOOL="$MANIFEST_TOOL" # Let the user override the test.
-+else
-+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-+for as_dir in $PATH
-+do
-+  IFS=$as_save_IFS
-+  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
-+    ac_cv_prog_MANIFEST_TOOL="${ac_tool_prefix}mt"
-+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-+    break 2
-+  fi
-+done
-+  done
-+IFS=$as_save_IFS
-+
-+fi
-+fi
-+MANIFEST_TOOL=$ac_cv_prog_MANIFEST_TOOL
-+if test -n "$MANIFEST_TOOL"; then
-+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MANIFEST_TOOL" >&5
-+$as_echo "$MANIFEST_TOOL" >&6; }
-+else
-+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-+$as_echo "no" >&6; }
-+fi
-+
-+
-+fi
-+if test -z "$ac_cv_prog_MANIFEST_TOOL"; then
-+  ac_ct_MANIFEST_TOOL=$MANIFEST_TOOL
-+  # Extract the first word of "mt", so it can be a program name with args.
-+set dummy mt; ac_word=$2
-+{ $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_MANIFEST_TOOL+set}" = set; then :
-+  $as_echo_n "(cached) " >&6
-+else
-+  if test -n "$ac_ct_MANIFEST_TOOL"; then
-+  ac_cv_prog_ac_ct_MANIFEST_TOOL="$ac_ct_MANIFEST_TOOL" # Let the user override the test.
-+else
-+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-+for as_dir in $PATH
-+do
-+  IFS=$as_save_IFS
-+  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
-+    ac_cv_prog_ac_ct_MANIFEST_TOOL="mt"
-+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-+    break 2
-+  fi
-+done
-+  done
-+IFS=$as_save_IFS
-+
-+fi
-+fi
-+ac_ct_MANIFEST_TOOL=$ac_cv_prog_ac_ct_MANIFEST_TOOL
-+if test -n "$ac_ct_MANIFEST_TOOL"; then
-+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_MANIFEST_TOOL" >&5
-+$as_echo "$ac_ct_MANIFEST_TOOL" >&6; }
-+else
-+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-+$as_echo "no" >&6; }
-+fi
-+
-+  if test "x$ac_ct_MANIFEST_TOOL" = x; then
-+    MANIFEST_TOOL=":"
-+  else
-+    case $cross_compiling:$ac_tool_warned in
-+yes:)
-+{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-+$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-+ac_tool_warned=yes ;;
-+esac
-+    MANIFEST_TOOL=$ac_ct_MANIFEST_TOOL
-+  fi
-+else
-+  MANIFEST_TOOL="$ac_cv_prog_MANIFEST_TOOL"
-+fi
-+
-+test -z "$MANIFEST_TOOL" && MANIFEST_TOOL=mt
-+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if $MANIFEST_TOOL is a manifest tool" >&5
-+$as_echo_n "checking if $MANIFEST_TOOL is a manifest tool... " >&6; }
-+if test "${lt_cv_path_mainfest_tool+set}" = set; then :
-+  $as_echo_n "(cached) " >&6
-+else
-+  lt_cv_path_mainfest_tool=no
-+  echo "$as_me:$LINENO: $MANIFEST_TOOL '-?'" >&5
-+  $MANIFEST_TOOL '-?' 2>conftest.err > conftest.out
-+  cat conftest.err >&5
-+  if $GREP 'Manifest Tool' conftest.out > /dev/null; then
-+    lt_cv_path_mainfest_tool=yes
-+  fi
-+  rm -f conftest*
-+fi
-+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_path_mainfest_tool" >&5
-+$as_echo "$lt_cv_path_mainfest_tool" >&6; }
-+if test "x$lt_cv_path_mainfest_tool" != xyes; then
-+  MANIFEST_TOOL=:
-+fi
-+
-+
-+
-+
-+
- 
-   case $host_os in
-     rhapsody* | darwin*)
-@@ -7893,6 +8390,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
-+      echo "$RANLIB libconftest.a" >&5
-+      $RANLIB libconftest.a 2>&5
-       cat > conftest.c << _LT_EOF
- int main() { return 0;}
- _LT_EOF
-@@ -8057,7 +8556,8 @@ fi
- LIBTOOL_DEPS="$ltmain"
- 
- # Always use our own libtool.
--LIBTOOL='$(SHELL) $(top_builddir)/libtool'
-+LIBTOOL='$(SHELL) $(top_builddir)'
-+LIBTOOL="$LIBTOOL/${host_alias}-libtool"
- 
- 
- 
-@@ -8146,7 +8646,7 @@ aix3*)
- esac
- 
- # Global variables:
--ofile=libtool
-+ofile=${host_alias}-libtool
- can_build_shared=yes
- 
- # All known linkers require a `.a' archive for static linking (except MSVC,
-@@ -8444,8 +8944,6 @@ fi
- lt_prog_compiler_pic=
- lt_prog_compiler_static=
- 
--{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $compiler option to produce PIC" >&5
--$as_echo_n "checking for $compiler option to produce PIC... " >&6; }
- 
-   if test "$GCC" = yes; then
-     lt_prog_compiler_wl='-Wl,'
-@@ -8610,6 +9108,12 @@ $as_echo_n "checking for $compiler optio
- 	lt_prog_compiler_pic='--shared'
- 	lt_prog_compiler_static='--static'
- 	;;
-+      nagfor*)
-+	# NAG Fortran compiler
-+	lt_prog_compiler_wl='-Wl,-Wl,,'
-+	lt_prog_compiler_pic='-PIC'
-+	lt_prog_compiler_static='-Bstatic'
-+	;;
-       pgcc* | pgf77* | pgf90* | pgf95* | pgfortran*)
-         # Portland Group compilers (*not* the Pentium gcc compiler,
- 	# which looks to be a dead project)
-@@ -8672,7 +9176,7 @@ $as_echo_n "checking for $compiler optio
-       lt_prog_compiler_pic='-KPIC'
-       lt_prog_compiler_static='-Bstatic'
-       case $cc_basename in
--      f77* | f90* | f95*)
-+      f77* | f90* | f95* | sunf77* | sunf90* | sunf95*)
- 	lt_prog_compiler_wl='-Qoption ld ';;
-       *)
- 	lt_prog_compiler_wl='-Wl,';;
-@@ -8729,13 +9233,17 @@ case $host_os in
-     lt_prog_compiler_pic="$lt_prog_compiler_pic -DPIC"
-     ;;
- esac
--{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_prog_compiler_pic" >&5
--$as_echo "$lt_prog_compiler_pic" >&6; }
--
--
--
--
- 
-+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $compiler option to produce PIC" >&5
-+$as_echo_n "checking for $compiler option to produce PIC... " >&6; }
-+if test "${lt_cv_prog_compiler_pic+set}" = set; then :
-+  $as_echo_n "(cached) " >&6
-+else
-+  lt_cv_prog_compiler_pic=$lt_prog_compiler_pic
-+fi
-+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_pic" >&5
-+$as_echo "$lt_cv_prog_compiler_pic" >&6; }
-+lt_prog_compiler_pic=$lt_cv_prog_compiler_pic
- 
- #
- # Check to make sure the PIC flag actually works.
-@@ -8796,6 +9304,11 @@ fi
- 
- 
- 
-+
-+
-+
-+
-+
- #
- # Check to make sure the static flag actually works.
- #
-@@ -9146,7 +9659,8 @@ _LT_EOF
-       allow_undefined_flag=unsupported
-       always_export_symbols=no
-       enable_shared_with_static_runtimes=yes
--      export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS][ ]/s/.*[ ]\([^ ]*\)/\1 DATA/'\'' | $SED -e '\''/^[AITW][ ]/s/.*[ ]//'\'' | sort | uniq > $export_symbols'
-+      export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS][ ]/s/.*[ ]\([^ ]*\)/\1 DATA/;s/^.*[ ]__nm__\([^ ]*\)[ ][^ ]*/\1 DATA/;/^I[ ]/d;/^[AITW][ ]/s/.* //'\'' | sort | uniq > $export_symbols'
-+      exclude_expsyms='[_]+GLOBAL_OFFSET_TABLE_|[_]+GLOBAL__[FID]_.*|[_]+head_[A-Za-z0-9_]+_dll|[A-Za-z0-9_]+_dll_iname'
- 
-       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'
-@@ -9194,7 +9708,7 @@ _LT_EOF
-       if $LD --help 2>&1 | $EGREP ': supported targets:.* elf' > /dev/null \
- 	 && test "$tmp_diet" = no
-       then
--	tmp_addflag=
-+	tmp_addflag=' $pic_flag'
- 	tmp_sharedflag='-shared'
- 	case $cc_basename,$host_cpu in
-         pgcc*)				# Portland Group C compiler
-@@ -9245,12 +9759,12 @@ _LT_EOF
- 	  whole_archive_flag_spec='--whole-archive$convenience --no-whole-archive'
- 	  hardcode_libdir_flag_spec=
- 	  hardcode_libdir_flag_spec_ld='-rpath $libdir'
--	  archive_cmds='$LD -shared $libobjs $deplibs $compiler_flags -soname $soname -o $lib'
-+	  archive_cmds='$LD -shared $libobjs $deplibs $linker_flags -soname $soname -o $lib'
- 	  if test "x$supports_anon_versioning" = xyes; then
- 	    archive_expsym_cmds='echo "{ global:" > $output_objdir/$libname.ver~
- 	      cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
- 	      echo "local: *; };" >> $output_objdir/$libname.ver~
--	      $LD -shared $libobjs $deplibs $compiler_flags -soname $soname -version-script $output_objdir/$libname.ver -o $lib'
-+	      $LD -shared $libobjs $deplibs $linker_flags -soname $soname -version-script $output_objdir/$libname.ver -o $lib'
- 	  fi
- 	  ;;
- 	esac
-@@ -9264,8 +9778,8 @@ _LT_EOF
- 	archive_cmds='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib'
- 	wlarc=
-       else
--	archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
--	archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
-+	archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
-+	archive_expsym_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
-       fi
-       ;;
- 
-@@ -9283,8 +9797,8 @@ _LT_EOF
- 
- _LT_EOF
-       elif $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
--	archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
--	archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
-+	archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
-+	archive_expsym_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
-       else
- 	ld_shlibs=no
-       fi
-@@ -9330,8 +9844,8 @@ _LT_EOF
- 
-     *)
-       if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
--	archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
--	archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
-+	archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
-+	archive_expsym_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
-       else
- 	ld_shlibs=no
-       fi
-@@ -9461,7 +9975,13 @@ _LT_EOF
- 	allow_undefined_flag='-berok'
-         # Determine the default libpath from the value encoded in an
-         # empty executable.
--        cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-+        if test "${lt_cv_aix_libpath+set}" = set; then
-+  aix_libpath=$lt_cv_aix_libpath
-+else
-+  if test "${lt_cv_aix_libpath_+set}" = set; then :
-+  $as_echo_n "(cached) " >&6
-+else
-+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
- /* end confdefs.h.  */
- 
- int
-@@ -9474,22 +9994,29 @@ main ()
- _ACEOF
- if ac_fn_c_try_link "$LINENO"; then :
- 
--lt_aix_libpath_sed='
--    /Import File Strings/,/^$/ {
--	/^0/ {
--	    s/^0  *\(.*\)$/\1/
--	    p
--	}
--    }'
--aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
--# Check for a 64-bit object if we didn't find anything.
--if test -z "$aix_libpath"; then
--  aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
--fi
-+  lt_aix_libpath_sed='
-+      /Import File Strings/,/^$/ {
-+	  /^0/ {
-+	      s/^0  *\([^ ]*\) *$/\1/
-+	      p
-+	  }
-+      }'
-+  lt_cv_aix_libpath_=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
-+  # Check for a 64-bit object if we didn't find anything.
-+  if test -z "$lt_cv_aix_libpath_"; then
-+    lt_cv_aix_libpath_=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
-+  fi
- fi
- rm -f core conftest.err conftest.$ac_objext \
-     conftest$ac_exeext conftest.$ac_ext
--if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
-+  if test -z "$lt_cv_aix_libpath_"; then
-+    lt_cv_aix_libpath_="/usr/lib:/lib"
-+  fi
-+
-+fi
-+
-+  aix_libpath=$lt_cv_aix_libpath_
-+fi
- 
-         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"
-@@ -9501,7 +10028,13 @@ if test -z "$aix_libpath"; then aix_libp
- 	else
- 	 # Determine the default libpath from the value encoded in an
- 	 # empty executable.
--	 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-+	 if test "${lt_cv_aix_libpath+set}" = set; then
-+  aix_libpath=$lt_cv_aix_libpath
-+else
-+  if test "${lt_cv_aix_libpath_+set}" = set; then :
-+  $as_echo_n "(cached) " >&6
-+else
-+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
- /* end confdefs.h.  */
- 
- int
-@@ -9514,22 +10047,29 @@ main ()
- _ACEOF
- if ac_fn_c_try_link "$LINENO"; then :
- 
--lt_aix_libpath_sed='
--    /Import File Strings/,/^$/ {
--	/^0/ {
--	    s/^0  *\(.*\)$/\1/
--	    p
--	}
--    }'
--aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
--# Check for a 64-bit object if we didn't find anything.
--if test -z "$aix_libpath"; then
--  aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
--fi
-+  lt_aix_libpath_sed='
-+      /Import File Strings/,/^$/ {
-+	  /^0/ {
-+	      s/^0  *\([^ ]*\) *$/\1/
-+	      p
-+	  }
-+      }'
-+  lt_cv_aix_libpath_=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
-+  # Check for a 64-bit object if we didn't find anything.
-+  if test -z "$lt_cv_aix_libpath_"; then
-+    lt_cv_aix_libpath_=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
-+  fi
- fi
- rm -f core conftest.err conftest.$ac_objext \
-     conftest$ac_exeext conftest.$ac_ext
--if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
-+  if test -z "$lt_cv_aix_libpath_"; then
-+    lt_cv_aix_libpath_="/usr/lib:/lib"
-+  fi
-+
-+fi
-+
-+  aix_libpath=$lt_cv_aix_libpath_
-+fi
- 
- 	 hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath"
- 	  # Warning - without using the other run time loading flags,
-@@ -9574,20 +10114,63 @@ if test -z "$aix_libpath"; then aix_libp
-       # Microsoft Visual C++.
-       # hardcode_libdir_flag_spec is actually meaningless, as there is
-       # no search path for DLLs.
--      hardcode_libdir_flag_spec=' '
--      allow_undefined_flag=unsupported
--      # Tell ltmain to make .lib files, not .a files.
--      libext=lib
--      # Tell ltmain to make .dll files, not .so files.
--      shrext_cmds=".dll"
--      # FIXME: Setting linknames here is a bad hack.
--      archive_cmds='$CC -o $lib $libobjs $compiler_flags `func_echo_all "$deplibs" | $SED '\''s/ -lc$//'\''` -link -dll~linknames='
--      # The linker will automatically build a .lib file if we build a DLL.
--      old_archive_from_new_cmds='true'
--      # FIXME: Should let the user specify the lib program.
--      old_archive_cmds='lib -OUT:$oldlib$oldobjs$old_deplibs'
--      fix_srcfile_path='`cygpath -w "$srcfile"`'
--      enable_shared_with_static_runtimes=yes
-+      case $cc_basename in
-+      cl*)
-+	# Native MSVC
-+	hardcode_libdir_flag_spec=' '
-+	allow_undefined_flag=unsupported
-+	always_export_symbols=yes
-+	file_list_spec='@'
-+	# Tell ltmain to make .lib files, not .a files.
-+	libext=lib
-+	# Tell ltmain to make .dll files, not .so files.
-+	shrext_cmds=".dll"
-+	# FIXME: Setting linknames here is a bad hack.
-+	archive_cmds='$CC -o $output_objdir/$soname $libobjs $compiler_flags $deplibs -Wl,-dll~linknames='
-+	archive_expsym_cmds='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then
-+	    sed -n -e 's/\\\\\\\(.*\\\\\\\)/-link\\\ -EXPORT:\\\\\\\1/' -e '1\\\!p' < $export_symbols > $output_objdir/$soname.exp;
-+	  else
-+	    sed -e 's/\\\\\\\(.*\\\\\\\)/-link\\\ -EXPORT:\\\\\\\1/' < $export_symbols > $output_objdir/$soname.exp;
-+	  fi~
-+	  $CC -o $tool_output_objdir$soname $libobjs $compiler_flags $deplibs "@$tool_output_objdir$soname.exp" -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~
-+	  linknames='
-+	# The linker will not automatically build a static lib if we build a DLL.
-+	# _LT_TAGVAR(old_archive_from_new_cmds, )='true'
-+	enable_shared_with_static_runtimes=yes
-+	export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS][ ]/s/.*[ ]\([^ ]*\)/\1,DATA/'\'' | $SED -e '\''/^[AITW][ ]/s/.*[ ]//'\'' | sort | uniq > $export_symbols'
-+	# Don't use ranlib
-+	old_postinstall_cmds='chmod 644 $oldlib'
-+	postlink_cmds='lt_outputfile="@OUTPUT@"~
-+	  lt_tool_outputfile="@TOOL_OUTPUT@"~
-+	  case $lt_outputfile in
-+	    *.exe|*.EXE) ;;
-+	    *)
-+	      lt_outputfile="$lt_outputfile.exe"
-+	      lt_tool_outputfile="$lt_tool_outputfile.exe"
-+	      ;;
-+	  esac~
-+	  if test "$MANIFEST_TOOL" != ":" && test -f "$lt_outputfile.manifest"; then
-+	    $MANIFEST_TOOL -manifest "$lt_tool_outputfile.manifest" -outputresource:"$lt_tool_outputfile" || exit 1;
-+	    $RM "$lt_outputfile.manifest";
-+	  fi'
-+	;;
-+      *)
-+	# Assume MSVC wrapper
-+	hardcode_libdir_flag_spec=' '
-+	allow_undefined_flag=unsupported
-+	# Tell ltmain to make .lib files, not .a files.
-+	libext=lib
-+	# Tell ltmain to make .dll files, not .so files.
-+	shrext_cmds=".dll"
-+	# FIXME: Setting linknames here is a bad hack.
-+	archive_cmds='$CC -o $lib $libobjs $compiler_flags `func_echo_all "$deplibs" | $SED '\''s/ -lc$//'\''` -link -dll~linknames='
-+	# The linker will automatically build a .lib file if we build a DLL.
-+	old_archive_from_new_cmds='true'
-+	# FIXME: Should let the user specify the lib program.
-+	old_archive_cmds='lib -OUT:$oldlib$oldobjs$old_deplibs'
-+	enable_shared_with_static_runtimes=yes
-+	;;
-+      esac
-       ;;
- 
-     darwin* | rhapsody*)
-@@ -9648,7 +10231,7 @@ if test -z "$aix_libpath"; then aix_libp
- 
-     # FreeBSD 3 and greater uses gcc -shared to do shared libraries.
-     freebsd* | dragonfly*)
--      archive_cmds='$CC -shared -o $lib $libobjs $deplibs $compiler_flags'
-+      archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
-       hardcode_libdir_flag_spec='-R$libdir'
-       hardcode_direct=yes
-       hardcode_shlibpath_var=no
-@@ -9656,7 +10239,7 @@ if test -z "$aix_libpath"; then aix_libp
- 
-     hpux9*)
-       if test "$GCC" = yes; then
--	archive_cmds='$RM $output_objdir/$soname~$CC -shared -fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $libobjs $deplibs $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
-+	archive_cmds='$RM $output_objdir/$soname~$CC -shared $pic_flag ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $libobjs $deplibs $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
-       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
-@@ -9672,7 +10255,7 @@ if test -z "$aix_libpath"; then aix_libp
- 
-     hpux10*)
-       if test "$GCC" = yes && test "$with_gnu_ld" = no; then
--	archive_cmds='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
-+	archive_cmds='$CC -shared $pic_flag ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
-       else
- 	archive_cmds='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags'
-       fi
-@@ -9696,10 +10279,10 @@ if test -z "$aix_libpath"; then aix_libp
- 	  archive_cmds='$CC -shared ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
- 	  ;;
- 	ia64*)
--	  archive_cmds='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags'
-+	  archive_cmds='$CC -shared $pic_flag ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags'
- 	  ;;
- 	*)
--	  archive_cmds='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
-+	  archive_cmds='$CC -shared $pic_flag ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
- 	  ;;
- 	esac
-       else
-@@ -9778,23 +10361,36 @@ fi
- 
-     irix5* | irix6* | nonstopux*)
-       if test "$GCC" = yes; then
--	archive_cmds='$CC -shared $libobjs $deplibs $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'
-+	archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $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'
- 	# Try to use the -exported_symbol ld option, if it does not
- 	# work, assume that -exports_file does not work either and
- 	# implicitly export all symbols.
--        save_LDFLAGS="$LDFLAGS"
--        LDFLAGS="$LDFLAGS -shared ${wl}-exported_symbol ${wl}foo ${wl}-update_registry ${wl}/dev/null"
--        cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-+	# This should be the same for all languages, so no per-tag cache variable.
-+	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the $host_os linker accepts -exported_symbol" >&5
-+$as_echo_n "checking whether the $host_os linker accepts -exported_symbol... " >&6; }
-+if test "${lt_cv_irix_exported_symbol+set}" = set; then :
-+  $as_echo_n "(cached) " >&6
-+else
-+  save_LDFLAGS="$LDFLAGS"
-+	   LDFLAGS="$LDFLAGS -shared ${wl}-exported_symbol ${wl}foo ${wl}-update_registry ${wl}/dev/null"
-+	   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
- /* end confdefs.h.  */
--int foo(void) {}
-+int foo (void) { return 0; }
- _ACEOF
- if ac_fn_c_try_link "$LINENO"; then :
--  archive_expsym_cmds='$CC -shared $libobjs $deplibs $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 ${wl}-exports_file ${wl}$export_symbols -o $lib'
--
-+  lt_cv_irix_exported_symbol=yes
-+else
-+  lt_cv_irix_exported_symbol=no
- fi
- rm -f core conftest.err conftest.$ac_objext \
-     conftest$ac_exeext conftest.$ac_ext
--        LDFLAGS="$save_LDFLAGS"
-+           LDFLAGS="$save_LDFLAGS"
-+fi
-+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_irix_exported_symbol" >&5
-+$as_echo "$lt_cv_irix_exported_symbol" >&6; }
-+	if test "$lt_cv_irix_exported_symbol" = yes; then
-+          archive_expsym_cmds='$CC -shared $pic_flag $libobjs $deplibs $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 ${wl}-exports_file ${wl}$export_symbols -o $lib'
-+	fi
-       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'
-@@ -9879,7 +10475,7 @@ rm -f core conftest.err conftest.$ac_obj
-     osf4* | osf5*)	# as osf3* with the addition of -msym flag
-       if test "$GCC" = yes; then
- 	allow_undefined_flag=' ${wl}-expect_unresolved ${wl}\*'
--	archive_cmds='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-msym ${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'
-+	archive_cmds='$CC -shared${allow_undefined_flag} $pic_flag $libobjs $deplibs $compiler_flags ${wl}-msym ${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'
- 	hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
-       else
- 	allow_undefined_flag=' -expect_unresolved \*'
-@@ -9898,9 +10494,9 @@ rm -f core conftest.err conftest.$ac_obj
-       no_undefined_flag=' -z defs'
-       if test "$GCC" = yes; then
- 	wlarc='${wl}'
--	archive_cmds='$CC -shared ${wl}-z ${wl}text ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
-+	archive_cmds='$CC -shared $pic_flag ${wl}-z ${wl}text ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
- 	archive_expsym_cmds='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
--	  $CC -shared ${wl}-z ${wl}text ${wl}-M ${wl}$lib.exp ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp'
-+	  $CC -shared $pic_flag ${wl}-z ${wl}text ${wl}-M ${wl}$lib.exp ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp'
-       else
- 	case `$CC -V 2>&1` in
- 	*"Compilers 5.0"*)
-@@ -10476,8 +11072,9 @@ cygwin* | mingw* | pw32* | cegcc*)
-   need_version=no
-   need_lib_prefix=no
- 
--  case $GCC,$host_os in
--  yes,cygwin* | yes,mingw* | yes,pw32* | yes,cegcc*)
-+  case $GCC,$cc_basename in
-+  yes,*)
-+    # gcc
-     library_names_spec='$libname.dll.a'
-     # DLL is installed to $(libdir)/../bin by postinstall_cmds
-     postinstall_cmds='base_file=`basename \${file}`~
-@@ -10510,13 +11107,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
-+    dynamic_linker='Win32 ld.exe'
-+    ;;
-+
-+  *,cl*)
-+    # Native MSVC
-+    libname_spec='$name'
-+    soname_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}'
-+    library_names_spec='${libname}.dll.lib'
-+
-+    case $build_os in
-+    mingw*)
-+      sys_lib_search_path_spec=
-+      lt_save_ifs=$IFS
-+      IFS=';'
-+      for lt_path in $LIB
-+      do
-+        IFS=$lt_save_ifs
-+        # Let DOS variable expansion print the short 8.3 style file name.
-+        lt_path=`cd "$lt_path" 2>/dev/null && cmd //C "for %i in (".") do @echo %~si"`
-+        sys_lib_search_path_spec="$sys_lib_search_path_spec $lt_path"
-+      done
-+      IFS=$lt_save_ifs
-+      # Convert to MSYS style.
-+      sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | sed -e 's|\\\\|/|g' -e 's| \\([a-zA-Z]\\):| /\\1|g' -e 's|^ ||'`
-+      ;;
-+    cygwin*)
-+      # Convert to unix form, then to dos form, then back to unix form
-+      # but this time dos style (no spaces!) so that the unix form looks
-+      # like /cygdrive/c/PROGRA~1:/cygdr...
-+      sys_lib_search_path_spec=`cygpath --path --unix "$LIB"`
-+      sys_lib_search_path_spec=`cygpath --path --dos "$sys_lib_search_path_spec" 2>/dev/null`
-+      sys_lib_search_path_spec=`cygpath --path --unix "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"`
-+      ;;
-+    *)
-+      sys_lib_search_path_spec="$LIB"
-+      if $ECHO "$sys_lib_search_path_spec" | $GREP ';[c-zC-Z]:/' >/dev/null; then
-+        # It is most probably a Windows format PATH.
-+        sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'`
-+      else
-+        sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"`
-+      fi
-+      # FIXME: find the short name or the path components, as spaces are
-+      # common. (e.g. "Program Files" -> "PROGRA~1")
-+      ;;
-+    esac
-+
-+    # DLL is installed to $(libdir)/../bin by postinstall_cmds
-+    postinstall_cmds='base_file=`basename \${file}`~
-+      dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i; echo \$dlname'\''`~
-+      dldir=$destdir/`dirname \$dlpath`~
-+      test -d \$dldir || mkdir -p \$dldir~
-+      $install_prog $dir/$dlname \$dldir/$dlname'
-+    postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~
-+      dlpath=$dir/\$dldll~
-+       $RM \$dlpath'
-+    shlibpath_overrides_runpath=yes
-+    dynamic_linker='Win32 link.exe'
-     ;;
- 
-   *)
-+    # Assume MSVC wrapper
-     library_names_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext} $libname.lib'
-+    dynamic_linker='Win32 ld.exe'
-     ;;
-   esac
--  dynamic_linker='Win32 ld.exe'
-   # FIXME: first we should search . and the directory the executable is in
-   shlibpath_var=PATH
-   ;;
-@@ -10608,7 +11263,7 @@ haiku*)
-   soname_spec='${libname}${release}${shared_ext}$major'
-   shlibpath_var=LIBRARY_PATH
-   shlibpath_overrides_runpath=yes
--  sys_lib_dlsearch_path_spec='/boot/home/config/lib /boot/common/lib /boot/beos/system/lib'
-+  sys_lib_dlsearch_path_spec='/boot/home/config/lib /boot/common/lib /boot/system/lib'
-   hardcode_into_libs=yes
-   ;;
- 
-@@ -11404,7 +12059,7 @@ else
-   lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
-   lt_status=$lt_dlunknown
-   cat > conftest.$ac_ext <<_LT_EOF
--#line 11407 "configure"
-+#line $LINENO "configure"
- #include "confdefs.h"
- 
- #if HAVE_DLFCN_H
-@@ -11448,10 +12103,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))
--void fnord () __attribute__((visibility("default")));
-+int fnord () __attribute__((visibility("default")));
- #endif
- 
--void fnord () { int i=42; }
-+int fnord () { return 42; }
- int main ()
- {
-   void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW);
-@@ -11510,7 +12165,7 @@ else
-   lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
-   lt_status=$lt_dlunknown
-   cat > conftest.$ac_ext <<_LT_EOF
--#line 11513 "configure"
-+#line $LINENO "configure"
- #include "confdefs.h"
- 
- #if HAVE_DLFCN_H
-@@ -11554,10 +12209,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))
--void fnord () __attribute__((visibility("default")));
-+int fnord () __attribute__((visibility("default")));
- #endif
- 
--void fnord () { int i=42; }
-+int fnord () { return 42; }
- int main ()
- {
-   void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW);
-@@ -15037,7 +15692,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
--    SHARED_LIBADD="-L`pwd`/../libiberty/pic -liberty"
-+    SHARED_LIBADD="`pwd`/../libiberty/pic/libiberty.a"
-   fi
- 
- # More hacks to build DLLs on Windows.
-@@ -16629,13 +17284,20 @@ exeext='`$ECHO "$exeext" | $SED "$delay_
- 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"`'
-+lt_cv_to_host_file_cmd='`$ECHO "$lt_cv_to_host_file_cmd" | $SED "$delay_single_quote_subst"`'
-+lt_cv_to_tool_file_cmd='`$ECHO "$lt_cv_to_tool_file_cmd" | $SED "$delay_single_quote_subst"`'
- reload_flag='`$ECHO "$reload_flag" | $SED "$delay_single_quote_subst"`'
- reload_cmds='`$ECHO "$reload_cmds" | $SED "$delay_single_quote_subst"`'
- OBJDUMP='`$ECHO "$OBJDUMP" | $SED "$delay_single_quote_subst"`'
- deplibs_check_method='`$ECHO "$deplibs_check_method" | $SED "$delay_single_quote_subst"`'
- file_magic_cmd='`$ECHO "$file_magic_cmd" | $SED "$delay_single_quote_subst"`'
-+file_magic_glob='`$ECHO "$file_magic_glob" | $SED "$delay_single_quote_subst"`'
-+want_nocaseglob='`$ECHO "$want_nocaseglob" | $SED "$delay_single_quote_subst"`'
-+DLLTOOL='`$ECHO "$DLLTOOL" | $SED "$delay_single_quote_subst"`'
-+sharedlib_from_linklib_cmd='`$ECHO "$sharedlib_from_linklib_cmd" | $SED "$delay_single_quote_subst"`'
- AR='`$ECHO "$AR" | $SED "$delay_single_quote_subst"`'
- AR_FLAGS='`$ECHO "$AR_FLAGS" | $SED "$delay_single_quote_subst"`'
-+archiver_list_spec='`$ECHO "$archiver_list_spec" | $SED "$delay_single_quote_subst"`'
- 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"`'
-@@ -16650,14 +17312,17 @@ lt_cv_sys_global_symbol_pipe='`$ECHO "$l
- 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"`'
-+nm_file_list_spec