From e9f839d5fe70a222cc7b8942f401ac86a10e6604 Mon Sep 17 00:00:00 2001 From: Khem Raj Date: Tue, 7 Mar 2017 00:20:09 -0800 Subject: binutils: Upgrade to 2.28 release Signed-off-by: Khem Raj Signed-off-by: Richard Purdie --- meta/conf/distro/include/tcmode-default.inc | 2 +- meta/recipes-devtools/binutils/binutils-2.27.inc | 47 - meta/recipes-devtools/binutils/binutils-2.28.inc | 42 + .../binutils/binutils-cross-canadian_2.27.bb | 3 - .../binutils/binutils-cross-canadian_2.28.bb | 3 + meta/recipes-devtools/binutils/binutils-cross.inc | 2 +- .../binutils/binutils-cross_2.27.bb | 3 - .../binutils/binutils-cross_2.28.bb | 3 + .../binutils/binutils-crosssdk_2.27.bb | 13 - .../binutils/binutils-crosssdk_2.28.bb | 13 + .../binutils/0001-Generate-relocatable-SDKs.patch | 62 - ...nutils-crosssdk-Generate-relocatable-SDKs.patch | 62 + ...01-ppc-apuinfo-for-spe-parsed-incorrectly.patch | 37 - ...oss-Do-not-generate-linker-script-directo.patch | 61 + ...ure-widen-the-regexp-for-SH-architectures.patch | 56 - .../0003-Point-scripts-location-to-libdir.patch | 42 - ...003-gprof-add-uclibc-support-to-configure.patch | 31 + ...te-an-RPATH-entry-if-LD_RUN_PATH-is-not-e.patch | 41 - .../0004-Point-scripts-location-to-libdir.patch | 42 + .../0005-Explicitly-link-with-libm-on-uclibc.patch | 52 - ...te-an-RPATH-entry-if-LD_RUN_PATH-is-not-e.patch | 41 + .../0006-Explicitly-link-with-libm-on-uclibc.patch | 52 + .../binutils/binutils/0006-Use-libtool-2.4.patch | 21177 ------------------- ...7-Add-the-armv5e-architecture-to-binutils.patch | 35 - .../binutils/binutils/0007-Use-libtool-2.4.patch | 21137 ++++++++++++++++++ ...8-Add-the-armv5e-architecture-to-binutils.patch | 35 + ...he-distro-compiler-point-to-the-wrong-ins.patch | 35 - ...he-distro-compiler-point-to-the-wrong-ins.patch | 35 + ...es-of-system-directories-when-cross-linki.patch | 273 - ...-rpath-in-libtool-when-sysroot-is-enabled.patch | 52 - ...es-of-system-directories-when-cross-linki.patch | 273 + ...Change-default-emulation-for-mips64-linux.patch | 59 - ...-rpath-in-libtool-when-sysroot-is-enabled.patch | 52 + .../0012-Add-support-for-Netlogic-XLP.patch | 413 - ...Change-default-emulation-for-mips64-linux.patch | 59 + .../0013-Add-support-for-Netlogic-XLP.patch | 399 + ...ncorrect-assembling-for-ppc-wait-mnemonic.patch | 36 - ...ncorrect-assembling-for-ppc-wait-mnemonic.patch | 36 + .../binutils/0014-libtool-remove-rpath.patch | 100 - ..._sections-check-to-only-consider-compact-.patch | 97 - .../0015-binutils-mips-gas-pic-relax-linkonce.diff | 65 - .../0015-sync-with-OE-libtool-changes.patch | 89 + ...lt-in-ARM-linker-when-trying-to-parse-a-b.patch | 31 - ...eration-of-alignment-frags-in-code-sectio.patch | 139 - .../binutils/binutils/no-tooldirpaths.patch | 47 - meta/recipes-devtools/binutils/binutils_2.27.bb | 45 - meta/recipes-devtools/binutils/binutils_2.28.bb | 45 + 47 files changed, 22512 insertions(+), 22962 deletions(-) delete mode 100644 meta/recipes-devtools/binutils/binutils-2.27.inc create mode 100644 meta/recipes-devtools/binutils/binutils-2.28.inc delete mode 100644 meta/recipes-devtools/binutils/binutils-cross-canadian_2.27.bb create mode 100644 meta/recipes-devtools/binutils/binutils-cross-canadian_2.28.bb delete mode 100644 meta/recipes-devtools/binutils/binutils-cross_2.27.bb create mode 100644 meta/recipes-devtools/binutils/binutils-cross_2.28.bb delete mode 100644 meta/recipes-devtools/binutils/binutils-crosssdk_2.27.bb create mode 100644 meta/recipes-devtools/binutils/binutils-crosssdk_2.28.bb delete mode 100644 meta/recipes-devtools/binutils/binutils/0001-Generate-relocatable-SDKs.patch create mode 100644 meta/recipes-devtools/binutils/binutils/0001-binutils-crosssdk-Generate-relocatable-SDKs.patch delete mode 100644 meta/recipes-devtools/binutils/binutils/0001-ppc-apuinfo-for-spe-parsed-incorrectly.patch create mode 100644 meta/recipes-devtools/binutils/binutils/0002-binutils-cross-Do-not-generate-linker-script-directo.patch delete mode 100644 meta/recipes-devtools/binutils/binutils/0002-configure-widen-the-regexp-for-SH-architectures.patch delete mode 100644 meta/recipes-devtools/binutils/binutils/0003-Point-scripts-location-to-libdir.patch create mode 100644 meta/recipes-devtools/binutils/binutils/0003-gprof-add-uclibc-support-to-configure.patch delete mode 100644 meta/recipes-devtools/binutils/binutils/0004-Only-generate-an-RPATH-entry-if-LD_RUN_PATH-is-not-e.patch create mode 100644 meta/recipes-devtools/binutils/binutils/0004-Point-scripts-location-to-libdir.patch delete mode 100644 meta/recipes-devtools/binutils/binutils/0005-Explicitly-link-with-libm-on-uclibc.patch create mode 100644 meta/recipes-devtools/binutils/binutils/0005-Only-generate-an-RPATH-entry-if-LD_RUN_PATH-is-not-e.patch create mode 100644 meta/recipes-devtools/binutils/binutils/0006-Explicitly-link-with-libm-on-uclibc.patch delete mode 100644 meta/recipes-devtools/binutils/binutils/0006-Use-libtool-2.4.patch delete mode 100644 meta/recipes-devtools/binutils/binutils/0007-Add-the-armv5e-architecture-to-binutils.patch create mode 100644 meta/recipes-devtools/binutils/binutils/0007-Use-libtool-2.4.patch create mode 100644 meta/recipes-devtools/binutils/binutils/0008-Add-the-armv5e-architecture-to-binutils.patch delete mode 100644 meta/recipes-devtools/binutils/binutils/0008-don-t-let-the-distro-compiler-point-to-the-wrong-ins.patch create mode 100644 meta/recipes-devtools/binutils/binutils/0009-don-t-let-the-distro-compiler-point-to-the-wrong-ins.patch delete mode 100644 meta/recipes-devtools/binutils/binutils/0009-warn-for-uses-of-system-directories-when-cross-linki.patch delete mode 100644 meta/recipes-devtools/binutils/binutils/0010-Fix-rpath-in-libtool-when-sysroot-is-enabled.patch create mode 100644 meta/recipes-devtools/binutils/binutils/0010-warn-for-uses-of-system-directories-when-cross-linki.patch delete mode 100644 meta/recipes-devtools/binutils/binutils/0011-Change-default-emulation-for-mips64-linux.patch create mode 100644 meta/recipes-devtools/binutils/binutils/0011-Fix-rpath-in-libtool-when-sysroot-is-enabled.patch delete mode 100644 meta/recipes-devtools/binutils/binutils/0012-Add-support-for-Netlogic-XLP.patch create mode 100644 meta/recipes-devtools/binutils/binutils/0012-Change-default-emulation-for-mips64-linux.patch create mode 100644 meta/recipes-devtools/binutils/binutils/0013-Add-support-for-Netlogic-XLP.patch delete mode 100644 meta/recipes-devtools/binutils/binutils/0013-fix-the-incorrect-assembling-for-ppc-wait-mnemonic.patch create mode 100644 meta/recipes-devtools/binutils/binutils/0014-fix-the-incorrect-assembling-for-ppc-wait-mnemonic.patch delete mode 100644 meta/recipes-devtools/binutils/binutils/0014-libtool-remove-rpath.patch delete mode 100644 meta/recipes-devtools/binutils/binutils/0015-Refine-.cfi_sections-check-to-only-consider-compact-.patch delete mode 100644 meta/recipes-devtools/binutils/binutils/0015-binutils-mips-gas-pic-relax-linkonce.diff create mode 100644 meta/recipes-devtools/binutils/binutils/0015-sync-with-OE-libtool-changes.patch delete mode 100644 meta/recipes-devtools/binutils/binutils/0016-Fix-seg-fault-in-ARM-linker-when-trying-to-parse-a-b.patch delete mode 100644 meta/recipes-devtools/binutils/binutils/0017-Fix-the-generation-of-alignment-frags-in-code-sectio.patch delete mode 100644 meta/recipes-devtools/binutils/binutils/no-tooldirpaths.patch delete mode 100644 meta/recipes-devtools/binutils/binutils_2.27.bb create mode 100644 meta/recipes-devtools/binutils/binutils_2.28.bb diff --git a/meta/conf/distro/include/tcmode-default.inc b/meta/conf/distro/include/tcmode-default.inc index a4b06c94ca..3db16e8fbf 100644 --- a/meta/conf/distro/include/tcmode-default.inc +++ b/meta/conf/distro/include/tcmode-default.inc @@ -24,7 +24,7 @@ PREFERRED_PROVIDER_virtual/gettext ??= "gettext" GCCVERSION ?= "6.3%" SDKGCCVERSION ?= "${GCCVERSION}" -BINUVERSION ?= "2.27%" +BINUVERSION ?= "2.28%" GDBVERSION ?= "7.12%" GLIBCVERSION ?= "2.25" UCLIBCVERSION ?= "1.0%" diff --git a/meta/recipes-devtools/binutils/binutils-2.27.inc b/meta/recipes-devtools/binutils/binutils-2.27.inc deleted file mode 100644 index 5a65d91f8b..0000000000 --- a/meta/recipes-devtools/binutils/binutils-2.27.inc +++ /dev/null @@ -1,47 +0,0 @@ -LIC_FILES_CHKSUM="\ - file://COPYING;md5=59530bdf33659b29e73d4adb9f9f6552\ - file://COPYING.LIB;md5=9f604d8a4f8e74f4f5140845a21b6674\ - file://COPYING3;md5=d32239bcb673463ab874e80d47fae504\ - file://COPYING3.LIB;md5=6a6a8e020838b23406c81b19c1d46df6\ - file://gas/COPYING;md5=d32239bcb673463ab874e80d47fae504\ - file://include/COPYING;md5=59530bdf33659b29e73d4adb9f9f6552\ - file://include/COPYING3;md5=d32239bcb673463ab874e80d47fae504\ - file://libiberty/COPYING.LIB;md5=a916467b91076e631dd8edb7424769c7\ - file://bfd/COPYING;md5=d32239bcb673463ab874e80d47fae504\ - " - -def binutils_branch_version(d): - pvsplit = d.getVar('PV').split('.') - return pvsplit[0] + "_" + pvsplit[1] - -BINUPV = "${@binutils_branch_version(d)}" - -UPSTREAM_CHECK_GITTAGREGEX = "binutils-(?P\d+_(\d_?)*)" - -SRCREV = "5fe53ce37f9d9dd544ec8cc9e2863b68e1a61f4c" -SRC_URI = "\ - git://sourceware.org/git/binutils-gdb.git;branch=binutils-${BINUPV}-branch;protocol=git \ - file://0002-configure-widen-the-regexp-for-SH-architectures.patch \ - file://0003-Point-scripts-location-to-libdir.patch \ - file://0004-Only-generate-an-RPATH-entry-if-LD_RUN_PATH-is-not-e.patch \ - file://0005-Explicitly-link-with-libm-on-uclibc.patch \ - file://0006-Use-libtool-2.4.patch \ - file://0007-Add-the-armv5e-architecture-to-binutils.patch \ - file://0008-don-t-let-the-distro-compiler-point-to-the-wrong-ins.patch \ - file://0009-warn-for-uses-of-system-directories-when-cross-linki.patch \ - file://0010-Fix-rpath-in-libtool-when-sysroot-is-enabled.patch \ - file://0011-Change-default-emulation-for-mips64-linux.patch \ - file://0012-Add-support-for-Netlogic-XLP.patch \ - file://0013-fix-the-incorrect-assembling-for-ppc-wait-mnemonic.patch \ - file://0014-libtool-remove-rpath.patch \ - file://0015-binutils-mips-gas-pic-relax-linkonce.diff \ - file://0015-Refine-.cfi_sections-check-to-only-consider-compact-.patch \ - file://0016-Fix-seg-fault-in-ARM-linker-when-trying-to-parse-a-b.patch \ - file://0017-Fix-the-generation-of-alignment-frags-in-code-sectio.patch \ - file://0001-ppc-apuinfo-for-spe-parsed-incorrectly.patch \ -" -S = "${WORKDIR}/git" - -do_configure_prepend () { - rm -rf ${S}/gdb ${S}/libdecnumber ${S}/readline ${S}/sim -} diff --git a/meta/recipes-devtools/binutils/binutils-2.28.inc b/meta/recipes-devtools/binutils/binutils-2.28.inc new file mode 100644 index 0000000000..fcf30357f6 --- /dev/null +++ b/meta/recipes-devtools/binutils/binutils-2.28.inc @@ -0,0 +1,42 @@ +LIC_FILES_CHKSUM="\ + file://COPYING;md5=59530bdf33659b29e73d4adb9f9f6552\ + file://COPYING.LIB;md5=9f604d8a4f8e74f4f5140845a21b6674\ + file://COPYING3;md5=d32239bcb673463ab874e80d47fae504\ + file://COPYING3.LIB;md5=6a6a8e020838b23406c81b19c1d46df6\ + file://gas/COPYING;md5=d32239bcb673463ab874e80d47fae504\ + file://include/COPYING;md5=59530bdf33659b29e73d4adb9f9f6552\ + file://include/COPYING3;md5=d32239bcb673463ab874e80d47fae504\ + file://libiberty/COPYING.LIB;md5=a916467b91076e631dd8edb7424769c7\ + file://bfd/COPYING;md5=d32239bcb673463ab874e80d47fae504\ + " + +def binutils_branch_version(d): + pvsplit = d.getVar('PV').split('.') + return pvsplit[0] + "_" + pvsplit[1] + +BINUPV = "${@binutils_branch_version(d)}" + +UPSTREAM_CHECK_GITTAGREGEX = "binutils-(?P\d+_(\d_?)*)" + +SRCREV = "354199c7692c1bed53a2a15f0e4d531457e95f17" +SRC_URI = "\ + git://sourceware.org/git/binutils-gdb.git;branch=binutils-${BINUPV}-branch;protocol=git \ + file://0003-gprof-add-uclibc-support-to-configure.patch \ + file://0004-Point-scripts-location-to-libdir.patch \ + file://0005-Only-generate-an-RPATH-entry-if-LD_RUN_PATH-is-not-e.patch \ + file://0006-Explicitly-link-with-libm-on-uclibc.patch \ + file://0007-Use-libtool-2.4.patch \ + file://0008-Add-the-armv5e-architecture-to-binutils.patch \ + file://0009-don-t-let-the-distro-compiler-point-to-the-wrong-ins.patch \ + file://0010-warn-for-uses-of-system-directories-when-cross-linki.patch \ + file://0011-Fix-rpath-in-libtool-when-sysroot-is-enabled.patch \ + file://0012-Change-default-emulation-for-mips64-linux.patch \ + file://0013-Add-support-for-Netlogic-XLP.patch \ + file://0014-fix-the-incorrect-assembling-for-ppc-wait-mnemonic.patch \ + file://0015-sync-with-OE-libtool-changes.patch \ +" +S = "${WORKDIR}/git" + +do_configure_prepend () { + rm -rf ${S}/gdb ${S}/libdecnumber ${S}/readline ${S}/sim +} diff --git a/meta/recipes-devtools/binutils/binutils-cross-canadian_2.27.bb b/meta/recipes-devtools/binutils/binutils-cross-canadian_2.27.bb deleted file mode 100644 index 5dbaa03017..0000000000 --- a/meta/recipes-devtools/binutils/binutils-cross-canadian_2.27.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-canadian_2.28.bb b/meta/recipes-devtools/binutils/binutils-cross-canadian_2.28.bb new file mode 100644 index 0000000000..5dbaa03017 --- /dev/null +++ b/meta/recipes-devtools/binutils/binutils-cross-canadian_2.28.bb @@ -0,0 +1,3 @@ +require binutils.inc +require binutils-${PV}.inc +require binutils-cross-canadian.inc diff --git a/meta/recipes-devtools/binutils/binutils-cross.inc b/meta/recipes-devtools/binutils/binutils-cross.inc index 7ebd7e3093..5e6f468f2e 100644 --- a/meta/recipes-devtools/binutils/binutils-cross.inc +++ b/meta/recipes-devtools/binutils/binutils-cross.inc @@ -7,7 +7,7 @@ BPN = "binutils" INHIBIT_DEFAULT_DEPS = "1" INHIBIT_AUTOTOOLS_DEPS = "1" -SRC_URI += "file://no-tooldirpaths.patch" +SRC_URI += "file://0002-binutils-cross-Do-not-generate-linker-script-directo.patch" # Specify lib-path else we use a load of search dirs which we don't use # and mean the linker scripts have to be relocated. diff --git a/meta/recipes-devtools/binutils/binutils-cross_2.27.bb b/meta/recipes-devtools/binutils/binutils-cross_2.27.bb deleted file mode 100644 index fbd1f7d25a..0000000000 --- a/meta/recipes-devtools/binutils/binutils-cross_2.27.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-cross_2.28.bb b/meta/recipes-devtools/binutils/binutils-cross_2.28.bb new file mode 100644 index 0000000000..fbd1f7d25a --- /dev/null +++ b/meta/recipes-devtools/binutils/binutils-cross_2.28.bb @@ -0,0 +1,3 @@ +require binutils.inc +require binutils-${PV}.inc +require binutils-cross.inc diff --git a/meta/recipes-devtools/binutils/binutils-crosssdk_2.27.bb b/meta/recipes-devtools/binutils/binutils-crosssdk_2.27.bb deleted file mode 100644 index 62c03d7240..0000000000 --- a/meta/recipes-devtools/binutils/binutils-crosssdk_2.27.bb +++ /dev/null @@ -1,13 +0,0 @@ -require binutils-cross_${PV}.bb - -inherit crosssdk - -PN = "binutils-crosssdk-${SDK_SYS}" - -PROVIDES = "virtual/${TARGET_PREFIX}binutils-crosssdk" - -SRC_URI += "file://0001-Generate-relocatable-SDKs.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-crosssdk_2.28.bb b/meta/recipes-devtools/binutils/binutils-crosssdk_2.28.bb new file mode 100644 index 0000000000..37f4d6d2e9 --- /dev/null +++ b/meta/recipes-devtools/binutils/binutils-crosssdk_2.28.bb @@ -0,0 +1,13 @@ +require binutils-cross_${PV}.bb + +inherit crosssdk + +PN = "binutils-crosssdk-${SDK_SYS}" + +PROVIDES = "virtual/${TARGET_PREFIX}binutils-crosssdk" + +SRC_URI += "file://0001-binutils-crosssdk-Generate-relocatable-SDKs.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-Generate-relocatable-SDKs.patch b/meta/recipes-devtools/binutils/binutils/0001-Generate-relocatable-SDKs.patch deleted file mode 100644 index cad704a720..0000000000 --- a/meta/recipes-devtools/binutils/binutils/0001-Generate-relocatable-SDKs.patch +++ /dev/null @@ -1,62 +0,0 @@ -From 2dae6b137ce609fd008f2063034a4403d95484c5 Mon Sep 17 00:00:00 2001 -From: Khem Raj -Date: Mon, 2 Mar 2015 01:58:54 +0000 -Subject: [PATCH 01/13] Generate relocatable SDKs - -This patch will modify the ELF linker scripts so that the crosssdk -linker will generate binaries with a 4096 bytes PT_INTERP section. When the binaries -will be relocated, at SDK install time, the interpreter path can be easily -changed by the relocating script. - -Upstream-Status: Inappropriate [SDK specific] - -Signed-off-by: Laurentiu Palcu -Signed-off-by: Khem Raj ---- - ld/genscripts.sh | 3 +++ - ld/scripttempl/elf.sc | 4 ++-- - 2 files changed, 5 insertions(+), 2 deletions(-) - -diff --git a/ld/genscripts.sh b/ld/genscripts.sh -index eb262e7..1a3b8bc 100755 ---- a/ld/genscripts.sh -+++ b/ld/genscripts.sh -@@ -277,6 +277,7 @@ DATA_ALIGNMENT_u="${DATA_ALIGNMENT_u-${DATA_ALIGNMENT_r}}" - LD_FLAG=r - DATA_ALIGNMENT=${DATA_ALIGNMENT_r} - DEFAULT_DATA_ALIGNMENT="ALIGN(${SEGMENT_SIZE})" -+PARTIAL_LINKING=" " - ( echo "/* Script for ld -r: link without relocation */" - . ${CUSTOMIZER_SCRIPT} - . ${srcdir}/scripttempl/${SCRIPT_NAME}.sc -@@ -285,10 +286,12 @@ DEFAULT_DATA_ALIGNMENT="ALIGN(${SEGMENT_SIZE})" - LD_FLAG=u - DATA_ALIGNMENT=${DATA_ALIGNMENT_u} - CONSTRUCTING=" " -+PARTIAL_LINKING=" " - ( echo "/* Script for ld -Ur: link w/out relocation, do create constructors */" - . ${CUSTOMIZER_SCRIPT} - . ${srcdir}/scripttempl/${SCRIPT_NAME}.sc - ) | sed -e '/^ *$/d;s/[ ]*$//' > ldscripts/${EMULATION_NAME}.xu -+unset PARTIAL_LINKING - - LD_FLAG= - DATA_ALIGNMENT=${DATA_ALIGNMENT_} -diff --git a/ld/scripttempl/elf.sc b/ld/scripttempl/elf.sc -index f0c6439..223c55f 100644 ---- a/ld/scripttempl/elf.sc -+++ b/ld/scripttempl/elf.sc -@@ -136,8 +136,8 @@ if test -n "${COMMONPAGESIZE}"; then - DATA_SEGMENT_END=". = DATA_SEGMENT_END (.);" - DATA_SEGMENT_RELRO_END=". = DATA_SEGMENT_RELRO_END (${SEPARATE_GOTPLT-0}, .);" - fi --if test -z "${INITIAL_READONLY_SECTIONS}${CREATE_SHLIB}"; then -- INITIAL_READONLY_SECTIONS=".interp ${RELOCATING-0} : { *(.interp) }" -+if test -z "${INITIAL_READONLY_SECTIONS}${CREATE_SHLIB}${PARTIAL_LINKING}"; then -+ INITIAL_READONLY_SECTIONS=".interp ${RELOCATING-0} : { *(.interp); . = 0x1000; }" - fi - if test -z "$PLT"; then - IPLT=".iplt ${RELOCATING-0} : { *(.iplt) }" --- -2.9.0 - diff --git a/meta/recipes-devtools/binutils/binutils/0001-binutils-crosssdk-Generate-relocatable-SDKs.patch b/meta/recipes-devtools/binutils/binutils/0001-binutils-crosssdk-Generate-relocatable-SDKs.patch new file mode 100644 index 0000000000..8fb1b4edea --- /dev/null +++ b/meta/recipes-devtools/binutils/binutils/0001-binutils-crosssdk-Generate-relocatable-SDKs.patch @@ -0,0 +1,62 @@ +From 689d011688b5ff9481d4367bef3dea7a7b2867fb Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Mon, 2 Mar 2015 01:58:54 +0000 +Subject: [PATCH 01/15] binutils-crosssdk: Generate relocatable SDKs + +This patch will modify the ELF linker scripts so that the crosssdk +linker will generate binaries with a 4096 bytes PT_INTERP section. When the binaries +will be relocated, at SDK install time, the interpreter path can be easily +changed by the relocating script. + +Upstream-Status: Inappropriate [SDK specific] + +Signed-off-by: Laurentiu Palcu +Signed-off-by: Khem Raj +--- + ld/genscripts.sh | 3 +++ + ld/scripttempl/elf.sc | 4 ++-- + 2 files changed, 5 insertions(+), 2 deletions(-) + +diff --git a/ld/genscripts.sh b/ld/genscripts.sh +index b6940d376d..a42c4d7a4b 100755 +--- a/ld/genscripts.sh ++++ b/ld/genscripts.sh +@@ -277,6 +277,7 @@ DATA_ALIGNMENT_u="${DATA_ALIGNMENT_u-${DATA_ALIGNMENT_r}}" + LD_FLAG=r + DATA_ALIGNMENT=${DATA_ALIGNMENT_r} + DEFAULT_DATA_ALIGNMENT="ALIGN(${SEGMENT_SIZE})" ++PARTIAL_LINKING=" " + ( echo "/* Script for ld -r: link without relocation */" + . ${CUSTOMIZER_SCRIPT} + . ${srcdir}/scripttempl/${SCRIPT_NAME}.sc +@@ -285,10 +286,12 @@ DEFAULT_DATA_ALIGNMENT="ALIGN(${SEGMENT_SIZE})" + LD_FLAG=u + DATA_ALIGNMENT=${DATA_ALIGNMENT_u} + CONSTRUCTING=" " ++PARTIAL_LINKING=" " + ( echo "/* Script for ld -Ur: link w/out relocation, do create constructors */" + . ${CUSTOMIZER_SCRIPT} + . ${srcdir}/scripttempl/${SCRIPT_NAME}.sc + ) | sed -e '/^ *$/d;s/[ ]*$//' > ldscripts/${EMULATION_NAME}.xu ++unset PARTIAL_LINKING + + LD_FLAG= + DATA_ALIGNMENT=${DATA_ALIGNMENT_} +diff --git a/ld/scripttempl/elf.sc b/ld/scripttempl/elf.sc +index e65f9a3ccf..d99d2c1d2a 100644 +--- a/ld/scripttempl/elf.sc ++++ b/ld/scripttempl/elf.sc +@@ -138,8 +138,8 @@ if test -z "$DATA_SEGMENT_ALIGN"; then + DATA_SEGMENT_RELRO_END=". = DATA_SEGMENT_RELRO_END (${SEPARATE_GOTPLT-0}, .);" + fi + fi +-if test -z "${INITIAL_READONLY_SECTIONS}${CREATE_SHLIB}"; then +- INITIAL_READONLY_SECTIONS=".interp ${RELOCATING-0} : { *(.interp) }" ++if test -z "${INITIAL_READONLY_SECTIONS}${CREATE_SHLIB}${PARTIAL_LINKING}"; then ++ INITIAL_READONLY_SECTIONS=".interp ${RELOCATING-0} : { *(.interp); . = 0x1000; }" + fi + if test -z "$PLT"; then + IPLT=".iplt ${RELOCATING-0} : { *(.iplt) }" +-- +2.12.0 + diff --git a/meta/recipes-devtools/binutils/binutils/0001-ppc-apuinfo-for-spe-parsed-incorrectly.patch b/meta/recipes-devtools/binutils/binutils/0001-ppc-apuinfo-for-spe-parsed-incorrectly.patch deleted file mode 100644 index d82a0b694c..0000000000 --- a/meta/recipes-devtools/binutils/binutils/0001-ppc-apuinfo-for-spe-parsed-incorrectly.patch +++ /dev/null @@ -1,37 +0,0 @@ -From 8941017bc0226b60ce306d5271df15820ce66a53 Mon Sep 17 00:00:00 2001 -From: Alan Modra -Date: Tue, 30 Aug 2016 20:57:32 +0930 -Subject: [PATCH] ppc apuinfo for spe parsed incorrectly -Organization: O.S. Systems Software LTDA. - -apuinfo saying SPE resulted in mach = bfd_mach_ppc_vle due to a -missing break. - - PR 20531 - * elf32-ppc.c (_bfd_elf_ppc_set_arch): Add missing "break". - - -Backport from : -https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;a=commitdiff;h=8941017b - -Upstream-Status: Backport -Signed-off-by: Fabio Berton ---- - bfd/elf32-ppc.c | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/bfd/elf32-ppc.c b/bfd/elf32-ppc.c -index 95ce1dc..e42ef1c 100644 ---- a/bfd/elf32-ppc.c -+++ b/bfd/elf32-ppc.c -@@ -2246,6 +2246,7 @@ _bfd_elf_ppc_set_arch (bfd *abfd) - case PPC_APUINFO_BRLOCK: - if (mach != bfd_mach_ppc_vle) - mach = bfd_mach_ppc_e500; -+ break; - - case PPC_APUINFO_VLE: - mach = bfd_mach_ppc_vle; --- -2.1.4 - diff --git a/meta/recipes-devtools/binutils/binutils/0002-binutils-cross-Do-not-generate-linker-script-directo.patch b/meta/recipes-devtools/binutils/binutils/0002-binutils-cross-Do-not-generate-linker-script-directo.patch new file mode 100644 index 0000000000..14299fd1ae --- /dev/null +++ b/meta/recipes-devtools/binutils/binutils/0002-binutils-cross-Do-not-generate-linker-script-directo.patch @@ -0,0 +1,61 @@ +From 7c7de107b4b0a507d2aeca3e3a86d01cb4b51360 Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Mon, 6 Mar 2017 23:37:05 -0800 +Subject: [PATCH 02/15] binutils-cross: Do not generate linker script + directories + +We don't place target libraries within ${exec_prefix}, we'd always place these +within the target sysroot within the standard library directories. Worse, the +append_to_lib_path code prefixes these paths with the sysroot which makes even +less sense. + +These directories therefore don't make sense in our case and mean we have to +relocate all the linker scripts if they're present. Dropping them +gives a reasonable performance improvement/simplification. + +Upstream-Status: Inappropriate + +RP 2017/01/30 + +Signed-off-by: Khem Raj +--- + ld/genscripts.sh | 23 ----------------------- + 1 file changed, 23 deletions(-) + +diff --git a/ld/genscripts.sh b/ld/genscripts.sh +index a42c4d7a4b..d727b4d07e 100755 +--- a/ld/genscripts.sh ++++ b/ld/genscripts.sh +@@ -189,29 +189,6 @@ append_to_lib_path() + fi + } + +-# Always search $(tooldir)/lib, aka /usr/local/TARGET/lib when native +-# except when LIBPATH=":". +-if [ "${LIB_PATH}" != ":" ] ; then +- libs= +- if [ "x${TOOL_LIB}" = "x" ] ; then +- if [ "x${NATIVE}" = "xyes" ] ; then +- libs="${exec_prefix}/${target_alias}/lib" +- fi +- else +- # For multilib'ed targets, ensure both ${target_alias}/lib${LIBPATH_SUFFIX} +- # and ${TOOL_LIB}/lib${LIBPATH_SUFFIX} are in the default search path, +- # because 64bit libraries may be in both places, depending on +- # cross-development setup method (e.g.: /usr/s390x-linux/lib64 +- # vs. /usr/s390-linux/lib64) +- case "${NATIVE}:${LIBPATH_SUFFIX}:${TOOL_LIB}" in +- :* | *::* | *:*:*${LIBPATH_SUFFIX}) ;; +- *) libs="${exec_prefix}/${target_alias}/lib${LIBPATH_SUFFIX}" ;; +- esac +- libs="${exec_prefix}/${TOOL_LIB}/lib ${libs}" +- fi +- append_to_lib_path ${libs} +-fi +- + if [ "x${LIB_PATH}" = "x" ] && [ "x${USE_LIBPATH}" = xyes ] ; then + libs=${NATIVE_LIB_DIRS} + if [ "x${NATIVE}" = "xyes" ] ; then +-- +2.12.0 + diff --git a/meta/recipes-devtools/binutils/binutils/0002-configure-widen-the-regexp-for-SH-architectures.patch b/meta/recipes-devtools/binutils/binutils/0002-configure-widen-the-regexp-for-SH-architectures.patch deleted file mode 100644 index 8d7cf00d4b..0000000000 --- a/meta/recipes-devtools/binutils/binutils/0002-configure-widen-the-regexp-for-SH-architectures.patch +++ /dev/null @@ -1,56 +0,0 @@ -From e4cd40722f597dff39c7214fab1742dd5bcc67eb Mon Sep 17 00:00:00 2001 -From: Khem Raj -Date: Mon, 2 Mar 2015 01:07:33 +0000 -Subject: [PATCH 02/13] configure: widen the regexp for SH architectures - -gprof needs to know about uclibc - -Upstream-Status: Pending - -Signed-off-by: Khem Raj ---- - configure | 4 ++-- - gprof/configure | 5 +++++ - 2 files changed, 7 insertions(+), 2 deletions(-) - -diff --git a/configure b/configure -index ad3dfb7..2a74a77 100755 ---- a/configure -+++ b/configure -@@ -3444,7 +3444,7 @@ case "${target}" in - ;; - s390-*-* | s390x-*-*) - ;; -- sh-*-* | sh[34]*-*-*) -+ sh*-*-* | sh[34]*-*-*) - ;; - sh64-*-* | sh5*-*-*) - ;; -@@ -3946,7 +3946,7 @@ case "${target}" in - or1k*-*-*) - noconfigdirs="$noconfigdirs gdb" - ;; -- sh-*-* | sh64-*-*) -+ sh*-*-* | sh64-*-*) - case "${target}" in - sh*-*-elf) - ;; -diff --git a/gprof/configure b/gprof/configure -index bf3ecaa..626e1c7 100755 ---- a/gprof/configure -+++ b/gprof/configure -@@ -5873,6 +5873,11 @@ linux* | k*bsd*-gnu | kopensolaris*-gnu) - lt_cv_deplibs_check_method=pass_all - ;; - -+linux-uclibc*) -+ lt_cv_deplibs_check_method=pass_all -+ lt_cv_file_magic_test_file=`echo /lib/libuClibc-*.so` -+ ;; -+ - netbsd*) - if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then - lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|_pic\.a)$' --- -2.9.0 - diff --git a/meta/recipes-devtools/binutils/binutils/0003-Point-scripts-location-to-libdir.patch b/meta/recipes-devtools/binutils/binutils/0003-Point-scripts-location-to-libdir.patch deleted file mode 100644 index acc198b3ef..0000000000 --- a/meta/recipes-devtools/binutils/binutils/0003-Point-scripts-location-to-libdir.patch +++ /dev/null @@ -1,42 +0,0 @@ -From 93c49f6197bd59b2abbf04b3296bf10029b80f48 Mon Sep 17 00:00:00 2001 -From: Khem Raj -Date: Mon, 2 Mar 2015 01:09:58 +0000 -Subject: [PATCH 03/13] Point scripts location to libdir - -Upstream-Status: Inappropriate [debian patch] - -Signed-off-by: Khem Raj ---- - ld/Makefile.am | 2 +- - ld/Makefile.in | 2 +- - 2 files changed, 2 insertions(+), 2 deletions(-) - -diff --git a/ld/Makefile.am b/ld/Makefile.am -index 0598923..b478ba7 100644 ---- a/ld/Makefile.am -+++ b/ld/Makefile.am -@@ -57,7 +57,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@ -diff --git a/ld/Makefile.in b/ld/Makefile.in -index 7c78198..5eb67e0 100644 ---- a/ld/Makefile.in -+++ b/ld/Makefile.in -@@ -451,7 +451,7 @@ AM_CFLAGS = $(WARN_CFLAGS) $(ELF_CLFAGS) - # We put the scripts in the directory $(scriptdir)/ldscripts. - # We can't put the scripts in $(datadir) because the SEARCH_DIR - # directives need to be different for native and cross linkers. --scriptdir = $(tooldir)/lib -+scriptdir = $(libdir) - BASEDIR = $(srcdir)/.. - BFDDIR = $(BASEDIR)/bfd - INCDIR = $(BASEDIR)/include --- -2.9.0 - diff --git a/meta/recipes-devtools/binutils/binutils/0003-gprof-add-uclibc-support-to-configure.patch b/meta/recipes-devtools/binutils/binutils/0003-gprof-add-uclibc-support-to-configure.patch new file mode 100644 index 0000000000..eddb42b4e3 --- /dev/null +++ b/meta/recipes-devtools/binutils/binutils/0003-gprof-add-uclibc-support-to-configure.patch @@ -0,0 +1,31 @@ +From 7893d2b24d0303bda3a0049846489619ffd1387b Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Mon, 2 Mar 2015 01:07:33 +0000 +Subject: [PATCH 03/15] gprof: add uclibc support to configure + +Upstream-Status: Pending + +Signed-off-by: Khem Raj +--- + gprof/configure | 5 +++++ + 1 file changed, 5 insertions(+) + +diff --git a/gprof/configure b/gprof/configure +index 9e6b8f3525..38a4c0b0e5 100755 +--- a/gprof/configure ++++ b/gprof/configure +@@ -5874,6 +5874,11 @@ linux* | k*bsd*-gnu | kopensolaris*-gnu) + lt_cv_deplibs_check_method=pass_all + ;; + ++linux-uclibc*) ++ lt_cv_deplibs_check_method=pass_all ++ lt_cv_file_magic_test_file=`echo /lib/libuClibc-*.so` ++ ;; ++ + netbsd*) + if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then + lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|_pic\.a)$' +-- +2.12.0 + diff --git a/meta/recipes-devtools/binutils/binutils/0004-Only-generate-an-RPATH-entry-if-LD_RUN_PATH-is-not-e.patch b/meta/recipes-devtools/binutils/binutils/0004-Only-generate-an-RPATH-entry-if-LD_RUN_PATH-is-not-e.patch deleted file mode 100644 index 28a17f3865..0000000000 --- a/meta/recipes-devtools/binutils/binutils/0004-Only-generate-an-RPATH-entry-if-LD_RUN_PATH-is-not-e.patch +++ /dev/null @@ -1,41 +0,0 @@ -From 4ff83779de8621715c6c2a79cf7ed8d74ff2d7c5 Mon Sep 17 00:00:00 2001 -From: Khem Raj -Date: Mon, 2 Mar 2015 01:27:17 +0000 -Subject: [PATCH 04/13] Only generate an RPATH entry if LD_RUN_PATH is not - empty - -for cases where -rpath isn't specified. debian (#151024) - -Upstream-Status: Pending - -Signed-off-by: Chris Chimelis -Signed-off-by: Khem Raj ---- - ld/emultempl/elf32.em | 4 ++++ - 1 file changed, 4 insertions(+) - -diff --git a/ld/emultempl/elf32.em b/ld/emultempl/elf32.em -index 47fa549..f4c640e 100644 ---- a/ld/emultempl/elf32.em -+++ b/ld/emultempl/elf32.em -@@ -1244,6 +1244,8 @@ fragment <link.next) - if (bfd_get_flavour (abfd) == bfd_target_elf_flavour) --- -2.9.0 - diff --git a/meta/recipes-devtools/binutils/binutils/0004-Point-scripts-location-to-libdir.patch b/meta/recipes-devtools/binutils/binutils/0004-Point-scripts-location-to-libdir.patch new file mode 100644 index 0000000000..c6b9de7991 --- /dev/null +++ b/meta/recipes-devtools/binutils/binutils/0004-Point-scripts-location-to-libdir.patch @@ -0,0 +1,42 @@ +From e34650c50574a8a39d694567ed607a63006b6f99 Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Mon, 2 Mar 2015 01:09:58 +0000 +Subject: [PATCH 04/15] Point scripts location to libdir + +Upstream-Status: Inappropriate [debian patch] + +Signed-off-by: Khem Raj +--- + ld/Makefile.am | 2 +- + ld/Makefile.in | 2 +- + 2 files changed, 2 insertions(+), 2 deletions(-) + +diff --git a/ld/Makefile.am b/ld/Makefile.am +index 15beaa7021..bbf9c671d8 100644 +--- a/ld/Makefile.am ++++ b/ld/Makefile.am +@@ -57,7 +57,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@ +diff --git a/ld/Makefile.in b/ld/Makefile.in +index 042b690ed6..37e7b25e9a 100644 +--- a/ld/Makefile.in ++++ b/ld/Makefile.in +@@ -452,7 +452,7 @@ AM_CFLAGS = $(WARN_CFLAGS) $(ELF_CLFAGS) + # We put the scripts in the directory $(scriptdir)/ldscripts. + # We can't put the scripts in $(datadir) because the SEARCH_DIR + # directives need to be different for native and cross linkers. +-scriptdir = $(tooldir)/lib ++scriptdir = $(libdir) + BASEDIR = $(srcdir)/.. + BFDDIR = $(BASEDIR)/bfd + INCDIR = $(BASEDIR)/include +-- +2.12.0 + diff --git a/meta/recipes-devtools/binutils/binutils/0005-Explicitly-link-with-libm-on-uclibc.patch b/meta/recipes-devtools/binutils/binutils/0005-Explicitly-link-with-libm-on-uclibc.patch deleted file mode 100644 index 331f78221c..0000000000 --- a/meta/recipes-devtools/binutils/binutils/0005-Explicitly-link-with-libm-on-uclibc.patch +++ /dev/null @@ -1,52 +0,0 @@ -From 18a7ae169e8d55ace683357d1de6b07e4fdf797a Mon Sep 17 00:00:00 2001 -From: Khem Raj -Date: Mon, 2 Mar 2015 01:32:49 +0000 -Subject: [PATCH 05/13] Explicitly link with libm on uclibc - -Description: - -We do not need to have the libtool patch anymore for binutils after -libtool has been updated upstream it include support for it. However -for building gas natively on uclibc systems we have to link it with --lm so that it picks up missing symbols. - -/local/build_area/BUILD/arm_v5t_le_uclibc/binutils-2.17.50/objdir/libiberty/pic/libiberty.a(floatformat.o): -In function `floatformat_from_double': -floatformat.c:(.text+0x1ec): undefined reference to `frexp' -floatformat.c:(.text+0x2f8): undefined reference to `ldexp' -/local/build_area/BUILD/arm_v5t_le_uclibc/binutils-2.17.50/objdir/libiberty/pic/libiberty.a(floatformat.o): -In function `floatformat_to_double': -floatformat.c:(.text+0x38a): undefined reference to `ldexp' -floatformat.c:(.text+0x3d2): undefined reference to `ldexp' -floatformat.c:(.text+0x43e): undefined reference to `ldexp' -floatformat.c:(.text+0x4e2): undefined reference to `ldexp' -collect2: ld returned 1 exit status -make[4]: *** [as-new] Error 1 - -Upstream-Status: Pending - -Signed-off-by: Khem Raj ---- - gas/configure.tgt | 6 ++++++ - 1 file changed, 6 insertions(+) - -diff --git a/gas/configure.tgt b/gas/configure.tgt -index e2df659..1b9fd99 100644 ---- a/gas/configure.tgt -+++ b/gas/configure.tgt -@@ -487,6 +487,12 @@ case ${generic_target} in - *-*-netware) fmt=elf em=netware ;; - esac - -+case ${generic_target} in -+ arm-*-*uclibc*) -+ need_libm=yes -+ ;; -+esac -+ - case ${cpu_type} in - aarch64 | alpha | arm | i386 | ia64 | microblaze | mips | ns32k | or1k | or1knd | pdp11 | ppc | sparc | z80 | z8k) - bfd_gas=yes --- -2.9.0 - diff --git a/meta/recipes-devtools/binutils/binutils/0005-Only-generate-an-RPATH-entry-if-LD_RUN_PATH-is-not-e.patch b/meta/recipes-devtools/binutils/binutils/0005-Only-generate-an-RPATH-entry-if-LD_RUN_PATH-is-not-e.patch new file mode 100644 index 0000000000..726f7020dd --- /dev/null +++ b/meta/recipes-devtools/binutils/binutils/0005-Only-generate-an-RPATH-entry-if-LD_RUN_PATH-is-not-e.patch @@ -0,0 +1,41 @@ +From 42292f5533bca904f230a8e03ceee1f84ef0c4ec Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Mon, 2 Mar 2015 01:27:17 +0000 +Subject: [PATCH 05/15] Only generate an RPATH entry if LD_RUN_PATH is not + empty + +for cases where -rpath isn't specified. debian (#151024) + +Upstream-Status: Pending + +Signed-off-by: Chris Chimelis +Signed-off-by: Khem Raj +--- + ld/emultempl/elf32.em | 4 ++++ + 1 file changed, 4 insertions(+) + +diff --git a/ld/emultempl/elf32.em b/ld/emultempl/elf32.em +index 84adaef6df..ab8c74257e 100644 +--- a/ld/emultempl/elf32.em ++++ b/ld/emultempl/elf32.em +@@ -1411,6 +1411,8 @@ fragment <link.next) + if (bfd_get_flavour (abfd) == bfd_target_elf_flavour) +-- +2.12.0 + diff --git a/meta/recipes-devtools/binutils/binutils/0006-Explicitly-link-with-libm-on-uclibc.patch b/meta/recipes-devtools/binutils/binutils/0006-Explicitly-link-with-libm-on-uclibc.patch new file mode 100644 index 0000000000..9770ca7f0f --- /dev/null +++ b/meta/recipes-devtools/binutils/binutils/0006-Explicitly-link-with-libm-on-uclibc.patch @@ -0,0 +1,52 @@ +From 6a46bf151d7e53df8b5e7645a2d241967688368a Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Mon, 2 Mar 2015 01:32:49 +0000 +Subject: [PATCH 06/15] Explicitly link with libm on uclibc + +Description: + +We do not need to have the libtool patch anymore for binutils after +libtool has been updated upstream it include support for it. However +for building gas natively on uclibc systems we have to link it with +-lm so that it picks up missing symbols. + +/local/build_area/BUILD/arm_v5t_le_uclibc/binutils-2.17.50/objdir/libiberty/pic/libiberty.a(floatformat.o): +In function `floatformat_from_double': +floatformat.c:(.text+0x1ec): undefined reference to `frexp' +floatformat.c:(.text+0x2f8): undefined reference to `ldexp' +/local/build_area/BUILD/arm_v5t_le_uclibc/binutils-2.17.50/objdir/libiberty/pic/libiberty.a(floatformat.o): +In function `floatformat_to_double': +floatformat.c:(.text+0x38a): undefined reference to `ldexp' +floatformat.c:(.text+0x3d2): undefined reference to `ldexp' +floatformat.c:(.text+0x43e): undefined reference to `ldexp' +floatformat.c:(.text+0x4e2): undefined reference to `ldexp' +collect2: ld returned 1 exit status +make[4]: *** [as-new] Error 1 + +Upstream-Status: Pending + +Signed-off-by: Khem Raj +--- + gas/configure.tgt | 6 ++++++ + 1 file changed, 6 insertions(+) + +diff --git a/gas/configure.tgt b/gas/configure.tgt +index 711d537e95..7cd2dc176a 100644 +--- a/gas/configure.tgt ++++ b/gas/configure.tgt +@@ -494,6 +494,12 @@ case ${generic_target} in + *-*-netware) fmt=elf em=netware ;; + esac + ++case ${generic_target} in ++ arm-*-*uclibc*) ++ need_libm=yes ++ ;; ++esac ++ + case ${cpu_type} in + aarch64 | alpha | arm | i386 | ia64 | microblaze | mips | ns32k | or1k | or1knd | pdp11 | ppc | riscv | sparc | z80 | z8k) + bfd_gas=yes +-- +2.12.0 + diff --git a/meta/recipes-devtools/binutils/binutils/0006-Use-libtool-2.4.patch b/meta/recipes-devtools/binutils/binutils/0006-Use-libtool-2.4.patch deleted file mode 100644 index f0fdf46ae5..0000000000 --- a/meta/recipes-devtools/binutils/binutils/0006-Use-libtool-2.4.patch +++ /dev/null @@ -1,21177 +0,0 @@ -From 71adcde3648db47f7fa155db12810591ffd3ae34 Mon Sep 17 00:00:00 2001 -From: Khem Raj -Date: Sun, 14 Feb 2016 17:04:07 +0000 -Subject: [PATCH 06/13] Use libtool 2.4 - -get libtool sysroot support - -Signed-off-by: Khem Raj ---- -Upstream-Status: Pending - - bfd/configure | 1318 +++++++++++++++++------ - bfd/configure.ac | 2 +- - binutils/configure | 1316 +++++++++++++++++------ - configure | 4 +- - gas/configure | 1314 +++++++++++++++++------ - gprof/configure | 1321 +++++++++++++++++------ - ld/configure | 1691 +++++++++++++++++++++-------- - libtool.m4 | 1080 +++++++++++++------ - ltmain.sh | 2925 +++++++++++++++++++++++++++++++++----------------- - ltoptions.m4 | 2 +- - ltversion.m4 | 12 +- - lt~obsolete.m4 | 2 +- - opcodes/configure | 1318 +++++++++++++++++------ - opcodes/configure.ac | 2 +- - zlib/configure | 1320 +++++++++++++++++------ - 15 files changed, 9930 insertions(+), 3697 deletions(-) - -diff --git a/bfd/configure b/bfd/configure -index a437569..575a257 100755 ---- a/bfd/configure -+++ b/bfd/configure -@@ -671,6 +671,9 @@ OTOOL - LIPO - NMEDIT - DSYMUTIL -+MANIFEST_TOOL -+ac_ct_AR -+DLLTOOL - OBJDUMP - LN_S - NM -@@ -784,6 +787,7 @@ enable_static - with_pic - enable_fast_install - with_gnu_ld -+with_libtool_sysroot - enable_libtool_lock - enable_plugins - enable_largefile -@@ -1460,6 +1464,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 -@@ -5392,8 +5398,8 @@ esac - - - --macro_version='2.2.7a' --macro_revision='1.3134' -+macro_version='2.4' -+macro_revision='1.3293' - - - -@@ -5433,7 +5439,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 -@@ -6119,8 +6125,8 @@ $as_echo_n "checking whether the shell understands some XSI constructs... " >&6; - # Try some XSI features - xsi_shell=no - ( _lt_dummy="a/b/c" -- 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 -@@ -6169,6 +6175,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 : -@@ -6185,6 +6265,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' -@@ -6353,7 +6438,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 - ;; -@@ -6507,6 +6593,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 -@@ -6522,9 +6623,162 @@ test -z "$deplibs_check_method" && deplibs_check_method=unknown - - - -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ - 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 : -@@ -6540,7 +6794,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 -@@ -6560,11 +6814,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 : -@@ -6580,7 +6838,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 -@@ -6599,6 +6857,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 -@@ -6610,16 +6872,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 - - - -@@ -6961,8 +7279,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= -@@ -6998,6 +7316,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 -@@ -7039,6 +7358,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 -@@ -7050,7 +7381,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; - } -@@ -7076,8 +7407,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 -@@ -7087,8 +7418,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 -@@ -7125,6 +7456,16 @@ 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 -+ -+ -+ -+ - - - -@@ -7146,6 +7487,45 @@ 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. - if test "${enable_libtool_lock+set}" = set; then : - enableval=$enable_libtool_lock; -@@ -7352,6 +7732,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*) -@@ -7915,6 +8412,8 @@ _LT_EOF - $LTCC $LTCFLAGS