diff options
Diffstat (limited to 'import-layers/yocto-poky/meta/recipes-devtools')
567 files changed, 12166 insertions, 9889 deletions
diff --git a/import-layers/yocto-poky/meta/recipes-devtools/apt/apt-native.inc b/import-layers/yocto-poky/meta/recipes-devtools/apt/apt-native.inc index 27cc9ff0b..9fa206efe 100644 --- a/import-layers/yocto-poky/meta/recipes-devtools/apt/apt-native.inc +++ b/import-layers/yocto-poky/meta/recipes-devtools/apt/apt-native.inc @@ -17,8 +17,8 @@ python do_install () { } python do_install_config () { - indir = os.path.dirname(d.getVar('FILE',1)) - infile = file(oe.path.join(indir, 'files', 'apt.conf'), 'r') + indir = os.path.dirname(d.getVar('FILE', True)) + infile = open(oe.path.join(indir, 'files', 'apt.conf'), 'r') data = infile.read() infile.close() @@ -30,7 +30,7 @@ python do_install_config () { outpath = oe.path.join(outdir, 'apt.conf.sample') if not os.path.exists(outpath): - outfile = file(outpath, 'w') + outfile = open(outpath, 'w') outfile.write(data) outfile.close() } diff --git a/import-layers/yocto-poky/meta/recipes-devtools/apt/apt-native_1.0.10.1.bb b/import-layers/yocto-poky/meta/recipes-devtools/apt/apt-native_1.2.12.bb index 1e660da74..1e660da74 100644 --- a/import-layers/yocto-poky/meta/recipes-devtools/apt/apt-native_1.0.10.1.bb +++ b/import-layers/yocto-poky/meta/recipes-devtools/apt/apt-native_1.2.12.bb diff --git a/import-layers/yocto-poky/meta/recipes-devtools/apt/apt.inc b/import-layers/yocto-poky/meta/recipes-devtools/apt/apt.inc index 78ef5a7e1..302637084 100644 --- a/import-layers/yocto-poky/meta/recipes-devtools/apt/apt.inc +++ b/import-layers/yocto-poky/meta/recipes-devtools/apt/apt.inc @@ -2,7 +2,7 @@ SUMMARY = "Advanced front-end for dpkg" LICENSE = "GPLv2.0+" SECTION = "base" -SRC_URI = "http://snapshot.debian.org/archive/debian/20150805T094928Z/pool/main/a/${BPN}/${BPN}_${PV}.tar.xz \ +SRC_URI = "http://snapshot.debian.org/archive/debian/20160526T162943Z/pool/main/a/${BPN}/${BPN}_${PV}.tar.xz \ file://use-host.patch \ file://makerace.patch \ file://no-nls-dpkg.patch \ @@ -12,16 +12,17 @@ SRC_URI = "http://snapshot.debian.org/archive/debian/20150805T094928Z/pool/main/ file://disable-configure-in-makefile.patch \ file://disable-test.patch \ file://0001-environment.mak-musl-based-systems-can-generate-shar.patch \ + file://0001-apt-1.2.12-Fix-musl-build.patch \ " -SRC_URI[md5sum] = "6505c4297b338adb2087ce87bbc4a276" -SRC_URI[sha256sum] = "3fb1de9598363c416591d49e3c285458e095b035e6c06d5b944a54e15fc9b543" +SRC_URI[md5sum] = "80f6f0ef110a45a7e5af8a9d233fb0e7" +SRC_URI[sha256sum] = "e820d27cba73476df4abcff27dadd1b5847474bfe85f7e9202a9a07526973ea6" LIC_FILES_CHKSUM = "file://COPYING.GPL;md5=0636e73ff0215e8d672dc4c32c317bb3" # the package is taken from snapshots.debian.org; that source is static and goes stale # so we check the latest upstream from a directory that does get updated UPSTREAM_CHECK_URI = "${DEBIAN_MIRROR}/main/a/apt/" -inherit autotools gettext +inherit autotools gettext useradd EXTRA_AUTORECONF = "--exclude=autopoint,autoheader" @@ -29,3 +30,6 @@ do_configure_prepend() { rm -rf ${S}/buildlib/config.sub rm -rf ${S}/buildlib/config.guess } + +USERADD_PACKAGES = "${PN}" +USERADD_PARAM_${PN} = "--system --no-create-home --home-dir /nonexistent --shell /bin/false --user-group _apt" diff --git a/import-layers/yocto-poky/meta/recipes-devtools/apt/apt/0001-Revert-always-run-dpkg-configure-a-at-the-end-of-our.patch b/import-layers/yocto-poky/meta/recipes-devtools/apt/apt/0001-Revert-always-run-dpkg-configure-a-at-the-end-of-our.patch index d33069b73..b3a883bae 100644 --- a/import-layers/yocto-poky/meta/recipes-devtools/apt/apt/0001-Revert-always-run-dpkg-configure-a-at-the-end-of-our.patch +++ b/import-layers/yocto-poky/meta/recipes-devtools/apt/apt/0001-Revert-always-run-dpkg-configure-a-at-the-end-of-our.patch @@ -1,4 +1,4 @@ -From 106797f1c66fa578dad21fd9380bf9d576573dfd Mon Sep 17 00:00:00 2001 +From dfc1370d50322e2e9d225a7a63b44993fc01a727 Mon Sep 17 00:00:00 2001 From: Roy Li <rongqing.li@windriver.com> Date: Fri, 22 May 2015 08:05:15 +0800 Subject: [PATCH] Revert "always run 'dpkg --configure -a' at the end of our @@ -16,21 +16,16 @@ be passed into dpkg, and lead to the below similar error: Signed-off-by: Roy Li <rongqing.li@windriver.com> --- - apt-pkg/deb/dpkgpm.cc | 9 +-- - test/integration/framework | 25 ++++---- - test/integration/test-apt-progress-fd | 67 +++++++++---------- - test/integration/test-apt-progress-fd-deb822 | 18 ++---- - test/integration/test-apt-progress-fd-error | 2 +- - ...est-bug-769609-triggers-still-pending-after-run | 75 ---------------------- - .../test-no-fds-leaked-to-maintainer-scripts | 6 +- - 7 files changed, 56 insertions(+), 146 deletions(-) - delete mode 100755 test/integration/test-bug-769609-triggers-still-pending-after-run + apt-pkg/deb/dpkgpm.cc | 9 ++------- + test/integration/test-apt-progress-fd-deb822 | 14 +++++++------- + test/integration/test-no-fds-leaked-to-maintainer-scripts | 6 ++---- + 3 files changed, 11 insertions(+), 18 deletions(-) diff --git a/apt-pkg/deb/dpkgpm.cc b/apt-pkg/deb/dpkgpm.cc -index b187efb..f269764 100644 +index 834cb0e..84ded3a 100644 --- a/apt-pkg/deb/dpkgpm.cc +++ b/apt-pkg/deb/dpkgpm.cc -@@ -1049,12 +1049,6 @@ void pkgDPkgPM::BuildPackagesProgressMap() +@@ -1037,12 +1037,6 @@ void pkgDPkgPM::BuildPackagesProgressMap() PackagesTotal++; } } @@ -42,8 +37,8 @@ index b187efb..f269764 100644 - ++PackagesTotal; } /*}}}*/ - #if (APT_PKG_MAJOR >= 4 && APT_PKG_MINOR < 13) -@@ -1294,8 +1288,9 @@ bool pkgDPkgPM::GoNoABIBreak(APT::Progress::PackageManager *progress) + bool pkgDPkgPM::Go(int StatusFd) +@@ -1250,8 +1244,9 @@ bool pkgDPkgPM::Go(APT::Progress::PackageManager *progress) // support subpressing of triggers processing for special // cases like d-i that runs the triggers handling manually @@ -54,159 +49,11 @@ index b187efb..f269764 100644 List.push_back(Item(Item::ConfigurePending, PkgIterator())); // for the progress -diff --git a/test/integration/framework b/test/integration/framework -index 70ad381..00672ad 100644 ---- a/test/integration/framework -+++ b/test/integration/framework -@@ -1178,13 +1178,10 @@ testnopackage() { - fi - } - --testdpkgstatus() { -- local STATE="$1" -- local NR="$2" -- shift 2 -- msgtest "Test that $NR package(s) are in state $STATE with" "dpkg -l $*" -- local PKGS="$(dpkg -l "$@" 2>/dev/null | grep "^${STATE}" | wc -l)" -- if [ "$PKGS" != $NR ]; then -+testdpkginstalled() { -+ msgtest "Test for correctly installed package(s) with" "dpkg -l $*" -+ local PKGS="$(dpkg -l "$@" 2>/dev/null | grep '^i' | wc -l)" -+ if [ "$PKGS" != $# ]; then - echo >&2 $PKGS - dpkg -l "$@" | grep '^[a-z]' >&2 - msgfail -@@ -1193,12 +1190,16 @@ testdpkgstatus() { - fi - } - --testdpkginstalled() { -- testdpkgstatus 'ii' "$#" "$@" --} -- - testdpkgnotinstalled() { -- testdpkgstatus 'ii' '0' "$@" -+ msgtest "Test for correctly not-installed package(s) with" "dpkg -l $*" -+ local PKGS="$(dpkg -l "$@" 2> /dev/null | grep '^i' | wc -l)" -+ if [ "$PKGS" != 0 ]; then -+ echo -+ dpkg -l "$@" | grep '^[a-z]' >&2 -+ msgfail -+ else -+ msgpass -+ fi - } - - testmarkedauto() { -diff --git a/test/integration/test-apt-progress-fd b/test/integration/test-apt-progress-fd -index 68cc043..d72e7e7 100755 ---- a/test/integration/test-apt-progress-fd -+++ b/test/integration/test-apt-progress-fd -@@ -19,14 +19,13 @@ testequal "dlstatus:1:0:Retrieving file 1 of 1 - dlstatus:1:0:Retrieving file 1 of 1 - pmstatus:dpkg-exec:0:Running dpkg - pmstatus:testing:0:Installing testing (amd64) --pmstatus:testing:16.6667:Preparing testing (amd64) --pmstatus:testing:33.3333:Unpacking testing (amd64) --pmstatus:testing:50:Preparing to configure testing (amd64) --pmstatus:dpkg-exec:50:Running dpkg --pmstatus:testing:50:Configuring testing (amd64) --pmstatus:testing:66.6667:Configuring testing (amd64) --pmstatus:testing:83.3333:Installed testing (amd64) --pmstatus:dpkg-exec:83.3333:Running dpkg" cat apt-progress.log -+pmstatus:testing:20:Preparing testing (amd64) -+pmstatus:testing:40:Unpacking testing (amd64) -+pmstatus:testing:60:Preparing to configure testing (amd64) -+pmstatus:dpkg-exec:60:Running dpkg -+pmstatus:testing:60:Configuring testing (amd64) -+pmstatus:testing:80:Configuring testing (amd64) -+pmstatus:testing:100:Installed testing (amd64)" cat apt-progress.log - - # upgrade - exec 3> apt-progress.log -@@ -35,14 +34,13 @@ testequal "dlstatus:1:0:Retrieving file 1 of 1 - dlstatus:1:0:Retrieving file 1 of 1 - pmstatus:dpkg-exec:0:Running dpkg - pmstatus:testing:0:Installing testing (amd64) --pmstatus:testing:16.6667:Preparing testing (amd64) --pmstatus:testing:33.3333:Unpacking testing (amd64) --pmstatus:testing:50:Preparing to configure testing (amd64) --pmstatus:dpkg-exec:50:Running dpkg --pmstatus:testing:50:Configuring testing (amd64) --pmstatus:testing:66.6667:Configuring testing (amd64) --pmstatus:testing:83.3333:Installed testing (amd64) --pmstatus:dpkg-exec:83.3333:Running dpkg" cat apt-progress.log -+pmstatus:testing:20:Preparing testing (amd64) -+pmstatus:testing:40:Unpacking testing (amd64) -+pmstatus:testing:60:Preparing to configure testing (amd64) -+pmstatus:dpkg-exec:60:Running dpkg -+pmstatus:testing:60:Configuring testing (amd64) -+pmstatus:testing:80:Configuring testing (amd64) -+pmstatus:testing:100:Installed testing (amd64)" cat apt-progress.log - - # reinstall - exec 3> apt-progress.log -@@ -51,24 +49,22 @@ testequal "dlstatus:1:0:Retrieving file 1 of 1 - dlstatus:1:0:Retrieving file 1 of 1 - pmstatus:dpkg-exec:0:Running dpkg - pmstatus:testing:0:Installing testing (amd64) --pmstatus:testing:16.6667:Preparing testing (amd64) --pmstatus:testing:33.3333:Unpacking testing (amd64) --pmstatus:testing:50:Preparing to configure testing (amd64) --pmstatus:dpkg-exec:50:Running dpkg --pmstatus:testing:50:Configuring testing (amd64) --pmstatus:testing:66.6667:Configuring testing (amd64) --pmstatus:testing:83.3333:Installed testing (amd64) --pmstatus:dpkg-exec:83.3333:Running dpkg" cat apt-progress.log -+pmstatus:testing:20:Preparing testing (amd64) -+pmstatus:testing:40:Unpacking testing (amd64) -+pmstatus:testing:60:Preparing to configure testing (amd64) -+pmstatus:dpkg-exec:60:Running dpkg -+pmstatus:testing:60:Configuring testing (amd64) -+pmstatus:testing:80:Configuring testing (amd64) -+pmstatus:testing:100:Installed testing (amd64)" cat apt-progress.log - - # and remove - exec 3> apt-progress.log - testsuccess aptget remove testing -y -o APT::Status-Fd=3 - testequal "pmstatus:dpkg-exec:0:Running dpkg - pmstatus:testing:0:Removing testing (amd64) --pmstatus:testing:25:Preparing for removal of testing (amd64) --pmstatus:testing:50:Removing testing (amd64) --pmstatus:testing:75:Removed testing (amd64) --pmstatus:dpkg-exec:75:Running dpkg" cat apt-progress.log -+pmstatus:testing:33.3333:Preparing for removal of testing (amd64) -+pmstatus:testing:66.6667:Removing testing (amd64) -+pmstatus:testing:100:Removed testing (amd64)" cat apt-progress.log - - # install non-native and ensure we get proper progress info - exec 3> apt-progress.log -@@ -79,13 +75,12 @@ testequal "dlstatus:1:0:Retrieving file 1 of 1 - dlstatus:1:0:Retrieving file 1 of 1 - pmstatus:dpkg-exec:0:Running dpkg - pmstatus:testing2:0:Installing testing2 (i386) --pmstatus:testing2:16.6667:Preparing testing2 (i386) --pmstatus:testing2:33.3333:Unpacking testing2 (i386) --pmstatus:testing2:50:Preparing to configure testing2 (i386) --pmstatus:dpkg-exec:50:Running dpkg --pmstatus:testing2:50:Configuring testing2 (i386) --pmstatus:testing2:66.6667:Configuring testing2 (i386) --pmstatus:testing2:83.3333:Installed testing2 (i386) --pmstatus:dpkg-exec:83.3333:Running dpkg" cat apt-progress.log -+pmstatus:testing2:20:Preparing testing2 (i386) -+pmstatus:testing2:40:Unpacking testing2 (i386) -+pmstatus:testing2:60:Preparing to configure testing2 (i386) -+pmstatus:dpkg-exec:60:Running dpkg -+pmstatus:testing2:60:Configuring testing2 (i386) -+pmstatus:testing2:80:Configuring testing2 (i386) -+pmstatus:testing2:100:Installed testing2 (i386)" cat apt-progress.log - - rm -f apt-progress*.log diff --git a/test/integration/test-apt-progress-fd-deb822 b/test/integration/test-apt-progress-fd-deb822 -index badc985..9d22794 100755 +index 58fd732..3359762 100755 --- a/test/integration/test-apt-progress-fd-deb822 +++ b/test/integration/test-apt-progress-fd-deb822 -@@ -27,41 +27,37 @@ Message: Installing testing (amd64) +@@ -27,36 +27,36 @@ Message: Installing testing (amd64) Status: progress Package: testing:amd64 @@ -248,109 +95,10 @@ index badc985..9d22794 100755 -Percent: 83.3333 +Percent: 100 Message: Installed testing (amd64) -- --Status: progress --Percent: 83.3333 --Message: Running dpkg - " cat apt-progress.log - -diff --git a/test/integration/test-apt-progress-fd-error b/test/integration/test-apt-progress-fd-error -index 6323007..a47095b 100755 ---- a/test/integration/test-apt-progress-fd-error -+++ b/test/integration/test-apt-progress-fd-error -@@ -18,7 +18,7 @@ setupaptarchive - exec 3> apt-progress.log - testfailure aptget install foo1 foo2 -y -o APT::Status-Fd=3 - msgtest "Ensure correct error message" --if grep -q "aptarchive/pool/foo2_0.8.15_amd64.deb:36.3636:trying to overwrite '/usr/bin/file-conflict', which is also in package foo1 0.8.15" apt-progress.log; then -+if grep -q "aptarchive/pool/foo2_0.8.15_amd64.deb:40:trying to overwrite '/usr/bin/file-conflict', which is also in package foo1 0.8.15" apt-progress.log; then - msgpass - else - cat apt-progress.log -diff --git a/test/integration/test-bug-769609-triggers-still-pending-after-run b/test/integration/test-bug-769609-triggers-still-pending-after-run -deleted file mode 100755 -index 146fa76..0000000 ---- a/test/integration/test-bug-769609-triggers-still-pending-after-run -+++ /dev/null -@@ -1,75 +0,0 @@ --#!/bin/sh --set -e -- --TESTDIR=$(readlink -f $(dirname $0)) --. $TESTDIR/framework -- --setupenvironment --configarchitecture 'amd64' -- --msgtest 'Check if installed dpkg supports' 'noawait trigger' --if dpkg-checkbuilddeps -d 'dpkg (>= 1.16.1)' /dev/null; then -- msgpass --else -- msgskip 'dpkg version too old' -- exit 0 --fi --configdpkgnoopchroot -- --buildtriggerpackages() { -- local TYPE="$1" -- setupsimplenativepackage "triggerable-$TYPE" 'all' '1.0' 'unstable' "Depends: trigdepends-$TYPE" -- BUILDDIR="incoming/triggerable-${TYPE}-1.0" -- cat >${BUILDDIR}/debian/postinst <<EOF --#!/bin/sh --if [ "\$1" = 'triggered' ]; then -- ls -l /proc/self/fd/ --fi --EOF -- echo "$TYPE /usr/share/doc" > ${BUILDDIR}/debian/triggers -- buildpackage "$BUILDDIR" 'unstable' 'main' 'native' -- rm -rf "$BUILDDIR" -- buildsimplenativepackage "trigdepends-$TYPE" 'all' '1.0' 'unstable' --} -- --#buildtriggerpackages 'interest' --buildtriggerpackages 'interest-noawait' --buildsimplenativepackage "trigstuff" 'all' '1.0' 'unstable' -- --setupaptarchive -- --runtests() { -- local TYPE="$1" -- msgmsg 'Working with trigger type' "$TYPE" -- testsuccess aptget install triggerable-$TYPE -y -- cp rootdir/tmp/testsuccess.output terminal.output -- testsuccess grep '^REWRITE ' terminal.output -- testdpkginstalled triggerable-$TYPE trigdepends-$TYPE -- -- testsuccess aptget install trigdepends-$TYPE -y --reinstall -- cp rootdir/tmp/testsuccess.output terminal.output -- testsuccess grep '^REWRITE ' terminal.output -- testsuccess grep ' root root ' terminal.output -- testdpkginstalled triggerable-$TYPE trigdepends-$TYPE -- -- testsuccess aptget install trigstuff -y -- cp rootdir/tmp/testsuccess.output terminal.output -- testsuccess grep '^REWRITE ' terminal.output -- testsuccess grep ' root root ' terminal.output -- testdpkginstalled triggerable-$TYPE trigdepends-$TYPE trigstuff -- -- testsuccess aptget purge trigstuff -y -- cp rootdir/tmp/testsuccess.output terminal.output -- testsuccess grep '^REWRITE ' terminal.output -- testsuccess grep ' root root ' terminal.output -- testdpkginstalled triggerable-$TYPE trigdepends-$TYPE -- testdpkgnotinstalled trigstuff -- -- testsuccess aptget purge trigdepends-$TYPE -y -- cp rootdir/tmp/testsuccess.output terminal.output -- testfailure grep '^REWRITE ' terminal.output -- testfailure grep ' root root ' terminal.output -- testdpkgnotinstalled triggerable-$TYPE trigdepends-$TYPE --} --#runtests 'interest' --runtests 'interest-noawait' + Status: progress diff --git a/test/integration/test-no-fds-leaked-to-maintainer-scripts b/test/integration/test-no-fds-leaked-to-maintainer-scripts -index 41c0570..d3960d7 100755 +index d86e638..ef6d23b 100755 --- a/test/integration/test-no-fds-leaked-to-maintainer-scripts +++ b/test/integration/test-no-fds-leaked-to-maintainer-scripts @@ -59,8 +59,7 @@ startup packages configure diff --git a/import-layers/yocto-poky/meta/recipes-devtools/apt/apt/0001-apt-1.2.12-Fix-musl-build.patch b/import-layers/yocto-poky/meta/recipes-devtools/apt/apt/0001-apt-1.2.12-Fix-musl-build.patch new file mode 100644 index 000000000..04b040658 --- /dev/null +++ b/import-layers/yocto-poky/meta/recipes-devtools/apt/apt/0001-apt-1.2.12-Fix-musl-build.patch @@ -0,0 +1,50 @@ +From 33b97e089d4a98d3acd20bd78337dd915b989bc2 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?An=C3=ADbal=20Lim=C3=B3n?= <anibal.limon@linux.intel.com> +Date: Fri, 5 Aug 2016 15:24:27 -0500 +Subject: [PATCH] apt 1.2.12: Fix musl build +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +methods/connect.cc: Musl doesn't support AI_IDN flag in netdb.h +header so define it manually. +apt-pkg/contrib/srvrec.h: Add explicity include of sys/types.h +to avoid errors in types u_int_SIZE. + +Upstream-status: Pending + +Signed-off-by: AnÃbal Limón <anibal.limon@linux.intel.com> +--- + apt-pkg/contrib/srvrec.h | 1 + + methods/connect.cc | 3 +++ + 2 files changed, 4 insertions(+) + +diff --git a/apt-pkg/contrib/srvrec.h b/apt-pkg/contrib/srvrec.h +index 01b8102..15b6875 100644 +--- a/apt-pkg/contrib/srvrec.h ++++ b/apt-pkg/contrib/srvrec.h +@@ -9,6 +9,7 @@ + #ifndef SRVREC_H + #define SRVREC_H + ++#include <sys/types.h> + #include <arpa/nameser.h> + #include <vector> + #include <string> +diff --git a/methods/connect.cc b/methods/connect.cc +index 07a730b..bb0ab5a 100644 +--- a/methods/connect.cc ++++ b/methods/connect.cc +@@ -33,6 +33,9 @@ + #include <sys/socket.h> + #include <arpa/inet.h> + #include <netdb.h> ++#ifndef AI_IDN ++#define AI_IDN 0x0040 ++#endif + + #include "connect.h" + #include "rfc2553emu.h" +-- +2.1.4 + diff --git a/import-layers/yocto-poky/meta/recipes-devtools/apt/apt/0001-fix-the-gcc-version-check.patch b/import-layers/yocto-poky/meta/recipes-devtools/apt/apt/0001-fix-the-gcc-version-check.patch index beea56d2a..3ac92462c 100644 --- a/import-layers/yocto-poky/meta/recipes-devtools/apt/apt/0001-fix-the-gcc-version-check.patch +++ b/import-layers/yocto-poky/meta/recipes-devtools/apt/apt/0001-fix-the-gcc-version-check.patch @@ -1,4 +1,4 @@ -From 15c6ef6a827d3681ad06e862d27ab3dfb84cb687 Mon Sep 17 00:00:00 2001 +From 53c5d0982f03fd0e24c4195d6e1e42b9ade9d500 Mon Sep 17 00:00:00 2001 From: Roy Li <rongqing.li@windriver.com> Date: Wed, 27 May 2015 14:30:28 +0800 Subject: [PATCH] fix the gcc version check @@ -9,37 +9,29 @@ Upstream-Status: pending Signed-off-by: Roy Li <rongqing.li@windriver.com> --- - apt-pkg/cacheset.h | 4 ++-- - apt-pkg/deb/debsrcrecords.cc | 12 ++++++------ - apt-pkg/srcrecords.cc | 4 ++-- - apt-pkg/srcrecords.h | 4 ++-- - apt-pkg/vendorlist.cc | 4 ++-- - 5 files changed, 14 insertions(+), 14 deletions(-) + apt-pkg/contrib/macros.h | 2 +- + apt-pkg/deb/debsrcrecords.cc | 4 ++-- + apt-pkg/srcrecords.cc | 4 ++-- + 3 files changed, 5 insertions(+), 5 deletions(-) -diff --git a/apt-pkg/cacheset.h b/apt-pkg/cacheset.h -index b7229bc..8cc2917 100644 ---- a/apt-pkg/cacheset.h -+++ b/apt-pkg/cacheset.h -@@ -119,12 +119,12 @@ public: - inline std::string FullName(bool const Pretty) const { return getPkg().FullName(Pretty); } - inline std::string FullName() const { return getPkg().FullName(); } - APT_DEPRECATED inline const char *Section() const { --#if __GNUC__ >= 4 -+#if __GNUC__ >= 4 + (6 >= __GNUC_MINOR__) - #pragma GCC diagnostic push - #pragma GCC diagnostic ignored "-Wdeprecated-declarations" +diff --git a/apt-pkg/contrib/macros.h b/apt-pkg/contrib/macros.h +index 2727fd8..0ecae50 100644 +--- a/apt-pkg/contrib/macros.h ++++ b/apt-pkg/contrib/macros.h +@@ -136,7 +136,7 @@ #endif - return getPkg().Section(); + #endif + -#if __GNUC__ >= 4 +#if __GNUC__ >= 4 + (6 >= __GNUC_MINOR__) - #pragma GCC diagnostic pop - #endif - } + #define APT_IGNORE_DEPRECATED_PUSH \ + _Pragma("GCC diagnostic push") \ + _Pragma("GCC diagnostic ignored \"-Wdeprecated-declarations\"") diff --git a/apt-pkg/deb/debsrcrecords.cc b/apt-pkg/deb/debsrcrecords.cc -index 49a348d..4bc9dcf 100644 +index e8295de..40160b2 100644 --- a/apt-pkg/deb/debsrcrecords.cc +++ b/apt-pkg/deb/debsrcrecords.cc -@@ -126,13 +126,13 @@ bool debSrcRecordParser::Files(std::vector<pkgSrcRecords::File> &F) +@@ -139,13 +139,13 @@ bool debSrcRecordParser::Files(std::vector<pkgSrcRecords::File> &F) for (std::vector<pkgSrcRecords::File2>::const_iterator f2 = F2.begin(); f2 != F2.end(); ++f2) { pkgSrcRecords::File2 f; @@ -55,46 +47,11 @@ index 49a348d..4bc9dcf 100644 #pragma GCC diagnostic pop #endif f.Path = f2->Path; -@@ -190,14 +190,14 @@ bool debSrcRecordParser::Files2(std::vector<pkgSrcRecords::File2> &List) - // we have it already, store the new hash and be done - if (file != List.end()) - { --#if __GNUC__ >= 4 -+#if __GNUC__ >= 4 + (6 >= __GNUC_MINOR__) - // set for compatibility only, so warn users not us - #pragma GCC diagnostic push - #pragma GCC diagnostic ignored "-Wdeprecated-declarations" - #endif - if (checksumField == "Files") - file->MD5Hash = hash; --#if __GNUC__ >= 4 -+#if __GNUC__ >= 4 + (6 >= __GNUC_MINOR__) - #pragma GCC diagnostic pop - #endif - // an error here indicates that we have two different hashes for the same file -@@ -212,7 +212,7 @@ bool debSrcRecordParser::Files2(std::vector<pkgSrcRecords::File2> &List) - F.FileSize = strtoull(size.c_str(), NULL, 10); - F.Hashes.push_back(hashString); - --#if __GNUC__ >= 4 -+#if __GNUC__ >= 4 + (6 >= __GNUC_MINOR__) - // set for compatibility only, so warn users not us - #pragma GCC diagnostic push - #pragma GCC diagnostic ignored "-Wdeprecated-declarations" -@@ -220,7 +220,7 @@ bool debSrcRecordParser::Files2(std::vector<pkgSrcRecords::File2> &List) - F.Size = F.FileSize; - if (checksumField == "Files") - F.MD5Hash = hash; --#if __GNUC__ >= 4 -+#if __GNUC__ >= 4 + (6 >= __GNUC_MINOR__) - #pragma GCC diagnostic pop - #endif - diff --git a/apt-pkg/srcrecords.cc b/apt-pkg/srcrecords.cc -index 3175ee7..340e796 100644 +index 53d7e60..1484828 100644 --- a/apt-pkg/srcrecords.cc +++ b/apt-pkg/srcrecords.cc -@@ -160,7 +160,7 @@ bool pkgSrcRecords::Parser::Files2(std::vector<pkgSrcRecords::File2> &F2)/*{{{*/ +@@ -157,7 +157,7 @@ bool pkgSrcRecords::Parser::Files2(std::vector<pkgSrcRecords::File2> &F2)/*{{{*/ for (std::vector<pkgSrcRecords::File>::const_iterator f = F.begin(); f != F.end(); ++f) { pkgSrcRecords::File2 f2; @@ -103,7 +60,7 @@ index 3175ee7..340e796 100644 #pragma GCC diagnostic push #pragma GCC diagnostic ignored "-Wdeprecated-declarations" #endif -@@ -168,7 +168,7 @@ bool pkgSrcRecords::Parser::Files2(std::vector<pkgSrcRecords::File2> &F2)/*{{{*/ +@@ -165,7 +165,7 @@ bool pkgSrcRecords::Parser::Files2(std::vector<pkgSrcRecords::File2> &F2)/*{{{*/ f2.Size = f->Size; f2.Hashes.push_back(HashString("MD5Sum", f->MD5Hash)); f2.FileSize = f->Size; @@ -112,49 +69,6 @@ index 3175ee7..340e796 100644 #pragma GCC diagnostic pop #endif f2.Path = f->Path; -diff --git a/apt-pkg/srcrecords.h b/apt-pkg/srcrecords.h -index dde22bd..91f8061 100644 ---- a/apt-pkg/srcrecords.h -+++ b/apt-pkg/srcrecords.h -@@ -30,7 +30,7 @@ class pkgSrcRecords - { - public: - --#if __GNUC__ >= 4 -+#if __GNUC__ >= 4 + (6 >= __GNUC_MINOR__) - // ensure that con- & de-structor don't trigger this warning - #pragma GCC diagnostic push - #pragma GCC diagnostic ignored "-Wdeprecated-declarations" -@@ -48,7 +48,7 @@ class pkgSrcRecords - unsigned long long FileSize; - HashStringList Hashes; - }; --#if __GNUC__ >= 4 -+#if __GNUC__ >= 4 + (6 >= __GNUC_MINOR__) - #pragma GCC diagnostic pop - #endif - -diff --git a/apt-pkg/vendorlist.cc b/apt-pkg/vendorlist.cc -index fb33ff1..ba1d3c3 100644 ---- a/apt-pkg/vendorlist.cc -+++ b/apt-pkg/vendorlist.cc -@@ -11,7 +11,7 @@ - - #include <apti18n.h> - --#if __GNUC__ >= 4 -+#if __GNUC__ >= 4 + (6 >= __GNUC_MINOR__) - #pragma GCC diagnostic push - #pragma GCC diagnostic ignored "-Wdeprecated-declarations" - #endif -@@ -163,6 +163,6 @@ const Vendor* pkgVendorList::FindVendor(const std::vector<string> GPGVOutput) /* - } - /*}}}*/ - --#if __GNUC__ >= 4 -+#if __GNUC__ >= 4 + (6 >= __GNUC_MINOR__) - #pragma GCC diagnostic pop - #endif -- -1.9.1 +2.1.4 diff --git a/import-layers/yocto-poky/meta/recipes-devtools/apt/apt/0001-remove-Wsuggest-attribute-from-CFLAGS.patch b/import-layers/yocto-poky/meta/recipes-devtools/apt/apt/0001-remove-Wsuggest-attribute-from-CFLAGS.patch index 7c42ff07b..47870e3c8 100644 --- a/import-layers/yocto-poky/meta/recipes-devtools/apt/apt/0001-remove-Wsuggest-attribute-from-CFLAGS.patch +++ b/import-layers/yocto-poky/meta/recipes-devtools/apt/apt/0001-remove-Wsuggest-attribute-from-CFLAGS.patch @@ -1,4 +1,4 @@ -From 2bff7ee06a4f96e7d326991d61fb86f8aa651d48 Mon Sep 17 00:00:00 2001 +From 9fdf50d63df08ee65e7d8e62c35f19ac4841bca9 Mon Sep 17 00:00:00 2001 From: Roy Li <rongqing.li@windriver.com> Date: Wed, 27 May 2015 09:48:45 +0800 Subject: [PATCH] remove Wsuggest-attribute from CXXFLAGS @@ -15,29 +15,29 @@ Signed-off-by: Roy Li <rongqing.li@windriver.com> 2 files changed, 2 deletions(-) diff --git a/buildlib/environment.mak.in b/buildlib/environment.mak.in -index b0a8d9d..91ed011 100644 +index 9620722..c344d01 100644 --- a/buildlib/environment.mak.in +++ b/buildlib/environment.mak.in -@@ -11,7 +11,6 @@ CPPFLAGS+= @CPPFLAGS@ @DEFS@ -D_REENTRANT -D_FORTIFY_SOURCE=2 - CXX = @CXX@ - CXXFLAGS+= @CXXFLAGS@ -Wall -Wextra +@@ -14,7 +14,6 @@ CXXFLAGS+= @CXXFLAGS@ -Wall -Wextra CXXFLAGS+= -Wcast-align -Wlogical-op -Wredundant-decls -Wmissing-declarations -Wunsafe-loop-optimizations --CXXFLAGS+= -Wsuggest-attribute=pure -Wsuggest-attribute=const -Wsuggest-attribute=noreturn + CXXFLAGS+= -Wctor-dtor-privacy -Wdisabled-optimization -Winit-self -Wmissing-include-dirs -Wnoexcept -Wsign-promo -Wundef + # suggests methods which already have such an attribute +-#CXXFLAGS+= -Wsuggest-attribute=pure -Wsuggest-attribute=const -Wsuggest-attribute=noreturn + # sanitize options to be enabled for testing + #CXXFLAGS+= -fsanitize=address -fsanitize=undefined -fno-sanitize=vptr # a bit too pedantic to be run by default - #CXXFLAGS+= -Wpedantic -Wno-long-long -Wno-vla -Wno-variadic-macros - NUM_PROCS = @NUM_PROCS@ diff --git a/test/libapt/makefile b/test/libapt/makefile -index 7f23ace..e805f13 100644 +index 5ff9cf6..c5b5190 100644 --- a/test/libapt/makefile +++ b/test/libapt/makefile -@@ -39,7 +39,6 @@ CXXFLAGS += -pthread +@@ -40,7 +40,6 @@ CXXFLAGS += -pthread # disable some flags for gtest again CXXFLAGS+= -Wno-missing-declarations CXXFLAGS+= -Wno-missing-field-initializers -CXXFLAGS+= -Wno-suggest-attribute=pure -Wno-suggest-attribute=const -Wno-suggest-attribute=noreturn + CXXFLAGS+= -Wno-undef # All Google Test headers. Usually you shouldn't change this definition. - GTEST_HEADERS = /usr/include/gtest/*.h \ -- -1.9.1 +2.1.4 diff --git a/import-layers/yocto-poky/meta/recipes-devtools/apt/apt/disable-test.patch b/import-layers/yocto-poky/meta/recipes-devtools/apt/apt/disable-test.patch index 676795dc8..053267174 100644 --- a/import-layers/yocto-poky/meta/recipes-devtools/apt/apt/disable-test.patch +++ b/import-layers/yocto-poky/meta/recipes-devtools/apt/apt/disable-test.patch @@ -1,35 +1,51 @@ -[PATCH] disable test +From 67bc7948e0a721c75d636931abc105da5dcb0763 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?An=C3=ADbal=20Lim=C3=B3n?= <anibal.limon@linux.intel.com> +Date: Thu, 26 May 2016 15:32:11 -0500 +Subject: [PATCH] [PATCH] disable test +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit Upstream-Status: Inappropriate [configuration] test needs gtest package, so not build the test dir Signed-off-by: Roy Li <rongqing.li@windriver.com> +Signed-off-by: AnÃbal Limón <anibal.limon@linux.intel.com> --- - Makefile | 7 +++---- - configure.ac | 6 ------ - 2 files changed, 3 insertions(+), 10 deletions(-) + Makefile | 9 +++------ + configure.ac | 7 ------- + 2 files changed, 3 insertions(+), 13 deletions(-) diff --git a/Makefile b/Makefile -index 5f5fb27..5070e96 100644 +index 7680f08..69527a5 100644 --- a/Makefile +++ b/Makefile @@ -9,8 +9,8 @@ endif .PHONY: default default: startup all --.PHONY: headers library clean veryclean all binary program doc test update-po +-.PHONY: fast headers library clean veryclean all binary program doc test update-po -all headers library clean veryclean binary program doc manpages docbook test update-po startup dirs: -+.PHONY: headers library clean veryclean all binary program doc update-po ++.PHONY: fast headers library clean veryclean all binary program doc update-po +all headers library clean veryclean binary program doc manpages docbook update-po startup dirs: $(MAKE) -C vendor $@ $(MAKE) -C apt-pkg $@ $(MAKE) -C apt-inst $@ -@@ -21,9 +21,8 @@ all headers library clean veryclean binary program doc manpages docbook test upd +@@ -21,8 +21,6 @@ all headers library clean veryclean binary program doc manpages docbook test upd $(MAKE) -C dselect $@ - # $(MAKE) -C doc $@ + $(MAKE) -C doc $@ $(MAKE) -C po $@ -- $(MAKE) -C test $@ +- # FIXME: -C test has issue swith parallel builds, investigate! +- -$(MAKE) -C test $@ + + fast: + $(MAKE) -C vendor all +@@ -32,9 +30,8 @@ fast: + $(MAKE) -C methods all + $(MAKE) -C cmdline all + $(MAKE) -C ftparchive all +- $(MAKE) -C test all -all headers library clean veryclean binary program doc manpages docbook test update-po: startup dirs +all headers library clean veryclean binary program doc manpages docbook update-po: startup dirs @@ -37,22 +53,23 @@ index 5f5fb27..5070e96 100644 dirs: startup diff --git a/configure.ac b/configure.ac -index 5663aaf..b0f9564 100644 +index 1f05da5..e47f459 100644 --- a/configure.ac +++ b/configure.ac -@@ -89,12 +89,6 @@ AC_CHECK_LIB(curl, curl_easy_init, +@@ -90,13 +90,6 @@ AC_CHECK_LIB(curl, curl_easy_init, AC_MSG_ERROR([failed: I need CURL due https support]), ) -AC_LANG_PUSH([C++]) -AC_CHECK_HEADER(gtest/gtest.h,, -- AC_MSG_ERROR([failed: I need gtest to build tests]), +- AC_MSG_WARN([failed: I need gtest (packaged as libgtest-dev) for unit testing]), -) -AC_LANG_POP([C++]) - - +- AC_SUBST(BDBLIB) + HAVE_ZLIB=no -- -1.9.1 +2.1.4 diff --git a/import-layers/yocto-poky/meta/recipes-devtools/apt/apt_1.0.10.1.bb b/import-layers/yocto-poky/meta/recipes-devtools/apt/apt_1.2.12.bb index 85c0d5615..ae0bce933 100644 --- a/import-layers/yocto-poky/meta/recipes-devtools/apt/apt_1.0.10.1.bb +++ b/import-layers/yocto-poky/meta/recipes-devtools/apt/apt_1.2.12.bb @@ -7,6 +7,7 @@ require apt-package.inc PACKAGECONFIG ??= "lzma" PACKAGECONFIG[lzma] = "ac_cv_lib_lzma_lzma_easy_encoder=yes,ac_cv_lib_lzma_lzma_easy_encoder=no,xz" PACKAGECONFIG[bz2] = "ac_cv_lib_bz2_BZ2_bzopen=yes,ac_cv_lib_bz2_BZ2_bzopen=no,bzip2" +PACKAGECONFIG[lz4] = "ac_cv_lib_lz4_LZ4F_createCompressionContext=yes,ac_cv_lib_lz4_LZ4F_createCompressionContext=no,lz4" FILES_${PN} += "${bindir}/apt-key" apt-manpages += "doc/apt-key.8" diff --git a/import-layers/yocto-poky/meta/recipes-devtools/apt/files/no-curl.patch b/import-layers/yocto-poky/meta/recipes-devtools/apt/files/no-curl.patch index 30238faad..0838552b2 100644 --- a/import-layers/yocto-poky/meta/recipes-devtools/apt/files/no-curl.patch +++ b/import-layers/yocto-poky/meta/recipes-devtools/apt/files/no-curl.patch @@ -1,13 +1,23 @@ Upstream-Status: Inappropriate [configuration] +From 5d61ac822fd9a3871cd5089389c210606232ecdc Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?An=C3=ADbal=20Lim=C3=B3n?= <anibal.limon@linux.intel.com> +Date: Thu, 26 May 2016 15:34:45 -0500 +Subject: [PATCH] Upstream-Status: Inappropriate [configuration] +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit +Signed-off-by: AnÃbal Limón <anibal.limon@linux.intel.com> --- - configure.in | 6 ------ - methods/makefile | 7 ------- - 2 files changed, 13 deletions(-) + configure.ac | 7 ------- + methods/makefile | 7 ------- + 2 files changed, 14 deletions(-) +diff --git a/configure.ac b/configure.ac +index e47f459..cd24264 100644 --- a/configure.ac +++ b/configure.ac -@@ -86,12 +86,6 @@ AC_CHECK_HEADER(db.h, +@@ -83,13 +83,6 @@ AC_CHECK_HEADER(db.h, LIBS="$saveLIBS" @@ -17,9 +27,12 @@ Upstream-Status: Inappropriate [configuration] - curl_ok=no)], - AC_MSG_ERROR([failed: I need CURL due https support]), -) - +- AC_SUBST(BDBLIB) + HAVE_ZLIB=no +diff --git a/methods/makefile b/methods/makefile +index 3274e92..255086b 100644 --- a/methods/makefile +++ b/methods/makefile @@ -51,13 +51,6 @@ LIB_MAKES = apt-pkg/makefile @@ -28,11 +41,14 @@ Upstream-Status: Inappropriate [configuration] -# The https method -PROGRAM=https --SLIBS = -lapt-pkg -lcurl $(INTLLIBS) +-SLIBS = -lapt-pkg -lcurl $(INTLLIBS) -lresolv -LIB_MAKES = apt-pkg/makefile -SOURCE = https.cc server.cc -include $(PROGRAM_H) - # The ftp method PROGRAM=ftp - SLIBS = -lapt-pkg $(SOCKETLIBS) $(INTLLIBS) + SLIBS = -lapt-pkg $(SOCKETLIBS) $(INTLLIBS) -lresolv +-- +2.1.4 + diff --git a/import-layers/yocto-poky/meta/recipes-devtools/autoconf/autoconf/autoreconf-include.patch b/import-layers/yocto-poky/meta/recipes-devtools/autoconf/autoconf/autoreconf-include.patch deleted file mode 100644 index 31326f0bc..000000000 --- a/import-layers/yocto-poky/meta/recipes-devtools/autoconf/autoconf/autoreconf-include.patch +++ /dev/null @@ -1,14 +0,0 @@ -Upstream-Status: Pending - -Index: autoconf-2.63/bin/autoreconf.in -=================================================================== ---- autoconf-2.63.orig/bin/autoreconf.in 2008-08-28 03:08:10.000000000 +0100 -+++ autoconf-2.63/bin/autoreconf.in 2008-12-31 17:38:40.000000000 +0000 -@@ -190,6 +190,7 @@ - $autoconf .= join (' --prepend-include=', '', map { shell_quote ($_) } @prepend_include); - $autoheader .= join (' --include=', '', map { shell_quote ($_) } @include); - $autoheader .= join (' --prepend-include=', '', map { shell_quote ($_) } @prepend_include); -+ $aclocal .= join (' -I ', '', map { shell_quote ($_) } @include); - - # --install and --symlink; - if ($install) diff --git a/import-layers/yocto-poky/meta/recipes-devtools/autoconf/autoconf_2.69.bb b/import-layers/yocto-poky/meta/recipes-devtools/autoconf/autoconf_2.69.bb index adb6ad7cc..aa1877a1f 100644 --- a/import-layers/yocto-poky/meta/recipes-devtools/autoconf/autoconf_2.69.bb +++ b/import-layers/yocto-poky/meta/recipes-devtools/autoconf/autoconf_2.69.bb @@ -5,8 +5,7 @@ PR = "r11" LICENSE = "GPLv2 & GPLv3" LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe \ file://COPYINGv3;md5=d32239bcb673463ab874e80d47fae504" -SRC_URI += "file://autoreconf-include.patch \ - file://check-automake-cross-warning.patch \ +SRC_URI += "file://check-automake-cross-warning.patch \ file://autoreconf-exclude.patch \ file://autoreconf-gnuconfigize.patch \ file://config_site.patch \ diff --git a/import-layers/yocto-poky/meta/recipes-devtools/autogen/autogen-native_5.18.6.bb b/import-layers/yocto-poky/meta/recipes-devtools/autogen/autogen-native_5.18.10.bb index d77b8273e..274427c7e 100644 --- a/import-layers/yocto-poky/meta/recipes-devtools/autogen/autogen-native_5.18.6.bb +++ b/import-layers/yocto-poky/meta/recipes-devtools/autogen/autogen-native_5.18.10.bb @@ -11,11 +11,11 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504" SRC_URI = "${GNU_MIRROR}/autogen/rel${PV}/autogen-${PV}.tar.gz \ file://increase-timeout-limit.patch \ file://mk-tpl-config.sh-force-exit-value-to-be-0-in-subproc.patch \ - file://redirect-output-dir.patch \ + file://fix-script-err-when-processing-libguile.patch \ " -SRC_URI[md5sum] = "fdee403e524c0af3ded6b3becb365671" -SRC_URI[sha256sum] = "2fc7f12a5ecb3b1e8bd4364aa906b837cff01f80edb7d2fb38ed8b9dfbcd3271" +SRC_URI[md5sum] = "2d1b5226e1929d0680011df631289571" +SRC_URI[sha256sum] = "0b8681d9724c481d3b726b5a9e81d3d09dc7f307d1a801c76d0a30d8f843d20a" UPSTREAM_CHECK_URI = "http://ftp.gnu.org/gnu/autogen/" UPSTREAM_CHECK_REGEX = "rel(?P<pver>\d+(\.\d+)+)/" diff --git a/import-layers/yocto-poky/meta/recipes-devtools/autogen/autogen/fix-script-err-when-processing-libguile.patch b/import-layers/yocto-poky/meta/recipes-devtools/autogen/autogen/fix-script-err-when-processing-libguile.patch new file mode 100644 index 000000000..694a3953e --- /dev/null +++ b/import-layers/yocto-poky/meta/recipes-devtools/autogen/autogen/fix-script-err-when-processing-libguile.patch @@ -0,0 +1,37 @@ +autogen-native: fix script err when processing libguile + +do_configure for autogen will fail if project directory path +contains '-I' character, which is caused by the unsuitable sed +script when processing libguile. + +Upstream-Status: Pending + +Signed-off-by: Zhenbo Gao <zhenbo.gao@windriver.com> +Signed-off-by: Yi Zhao <yi.zhao@windriver.com> + +diff --git a/config/ag_macros.m4 b/config/ag_macros.m4 +index 58186b6..58ed2ad 100644 +--- a/config/ag_macros.m4 ++++ b/config/ag_macros.m4 +@@ -32,7 +32,7 @@ AC_DEFUN([INVOKE_AG_MACROS_LAST],[ + GUILE_FLAGS + [ag_gv=`gdir=\`pkg-config --cflags-only-I \ + guile-${GUILE_EFFECTIVE_VERSION} | \ +- sed 's/-I *//;s/ *-I.*/ /g'\` ++ sed 's/ *-I *\// \//g'\` + for d in $gdir + do test -f "$d/libguile/version.h" && gdir=$d && break + done +diff --git a/config/misc.def b/config/misc.def +index 490d361..6e183ef 100644 +--- a/config/misc.def ++++ b/config/misc.def +@@ -342,7 +342,7 @@ do-always = <<- _END_ALWAYS_ + GUILE_FLAGS + [ag_gv=`gdir=\`pkg-config --cflags-only-I \ + guile-${GUILE_EFFECTIVE_VERSION} | \ +- sed 's/-I *//;s/ *-I.*/ /g'\` ++ sed 's/ *-I *\// \//g'\` + test -z "$gdir" && gdir=/usr/include + for d in $gdir + do test -f "$d/libguile/version.h" && gdir=$d && break diff --git a/import-layers/yocto-poky/meta/recipes-devtools/autogen/autogen/redirect-output-dir.patch b/import-layers/yocto-poky/meta/recipes-devtools/autogen/autogen/redirect-output-dir.patch deleted file mode 100644 index fc5a71b85..000000000 --- a/import-layers/yocto-poky/meta/recipes-devtools/autogen/autogen/redirect-output-dir.patch +++ /dev/null @@ -1,28 +0,0 @@ -[PATCH] redirect the dir of mklibsrc-log.tx - -Upstream-Status: Pending - -redirect mklibsrc-log.tx to builddir, not /tmp; otherwise mklibsrc-log.tx -maybe unable to be written if other users is building autogen at the same time. - -Signed-off-by: Roy Li <rongqing.li@windriver.com> ---- - pkg/libopts/mklibsrc.sh | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/pkg/libopts/mklibsrc.sh b/pkg/libopts/mklibsrc.sh -index 416b402..d612fbc 100644 ---- a/pkg/libopts/mklibsrc.sh -+++ b/pkg/libopts/mklibsrc.sh -@@ -19,7 +19,7 @@ - ## with this program. If not, see <http://www.gnu.org/licenses/>. - - set -ex --exec 2> /tmp/mklibsrc-log.tx -+exec 2> $top_builddir/mklibsrc-log.tx - - top_builddir=`cd $top_builddir ; pwd` - top_srcdir=`cd $top_srcdir ; pwd` --- -1.9.1 - diff --git a/import-layers/yocto-poky/meta/recipes-devtools/automake/automake/python-libdir.patch b/import-layers/yocto-poky/meta/recipes-devtools/automake/automake/python-libdir.patch index 47541bded..2a48b133e 100644 --- a/import-layers/yocto-poky/meta/recipes-devtools/automake/automake/python-libdir.patch +++ b/import-layers/yocto-poky/meta/recipes-devtools/automake/automake/python-libdir.patch @@ -1,3 +1,8 @@ +From 472a3d36c97ef7535f05d6c185edcbc22b0074c4 Mon Sep 17 00:00:00 2001 +From: Kumar Gala <galak@kernel.crashing.org> +Date: Thu, 11 Aug 2011 01:26:33 -0500 +Subject: [PATCH 1/4] automake: Update for python.m4 to respect libdir + Upstream-Status: Inappropriate [embedded specific] Signed-off-by: Kumar Gala <galak@kernel.crashing.org> @@ -5,11 +10,17 @@ Signed-off-by: Kumar Gala <galak@kernel.crashing.org> Updated for automake-1.12.6 Signed-off-by: Marko Lindqvist <cazfi74@gmail.com> +Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com> + +--- + m4/python.m4 | 27 +++++++-------------------- + 1 file changed, 7 insertions(+), 20 deletions(-) -diff -Nurd automake-1.12.6/m4/python.m4 automake-1.12.6/m4/python.m4 ---- automake-1.12.6/m4/python.m4 2012-12-13 22:02:25.000000000 +0200 -+++ automake-1.12.6/m4/python.m4 2012-12-27 17:40:26.558164660 +0200 -@@ -91,12 +91,13 @@ +diff --git a/m4/python.m4 b/m4/python.m4 +index 5b2c695..ed19261 100644 +--- a/m4/python.m4 ++++ b/m4/python.m4 +@@ -91,12 +91,13 @@ AC_DEFUN([AM_PATH_PYTHON], [am_cv_python_version=`$PYTHON -c "import sys; sys.stdout.write(sys.version[[:3]])"`]) AC_SUBST([PYTHON_VERSION], [$am_cv_python_version]) @@ -25,17 +36,23 @@ diff -Nurd automake-1.12.6/m4/python.m4 automake-1.12.6/m4/python.m4 AC_SUBST([PYTHON_EXEC_PREFIX], ['${exec_prefix}']) dnl At times (like when building shared libraries) you may want -@@ -148,7 +149,8 @@ - else: - from distutils import sysconfig - sitedir = sysconfig.get_python_lib(0, 0, prefix='$am_py_prefix') +@@ -141,14 +142,7 @@ except ImportError: + else + am_py_prefix=$prefix + fi +- am_cv_python_pythondir=`$PYTHON -c " +-$am_python_setup_sysconfig +-if can_use_sysconfig: +- sitedir = sysconfig.get_path('purelib', vars={'base':'$am_py_prefix'}) +-else: +- from distutils import sysconfig +- sitedir = sysconfig.get_python_lib(0, 0, prefix='$am_py_prefix') -sys.stdout.write(sitedir)"` -+sys.stdout.write(sitedir)" || -+ echo "$PYTHON_LIB_PREFIX/python$PYTHON_VERSION/site-packages"` ++ am_cv_python_pythondir=`echo "$PYTHON_LIB_PREFIX/python$PYTHON_VERSION/site-packages"` case $am_cv_python_pythondir in $am_py_prefix*) am__strip_prefix=`echo "$am_py_prefix" | sed 's|.|.|g'` -@@ -158,7 +160,7 @@ +@@ -158,7 +152,7 @@ sys.stdout.write(sitedir)"` case $am_py_prefix in /usr|/System*) ;; *) @@ -44,17 +61,23 @@ diff -Nurd automake-1.12.6/m4/python.m4 automake-1.12.6/m4/python.m4 ;; esac ;; -@@ -190,7 +192,8 @@ - else: - from distutils import sysconfig - sitedir = sysconfig.get_python_lib(1, 0, prefix='$am_py_prefix') +@@ -183,14 +177,7 @@ sys.stdout.write(sitedir)"` + else + am_py_exec_prefix=$exec_prefix + fi +- am_cv_python_pyexecdir=`$PYTHON -c " +-$am_python_setup_sysconfig +-if can_use_sysconfig: +- sitedir = sysconfig.get_path('platlib', vars={'platbase':'$am_py_prefix'}) +-else: +- from distutils import sysconfig +- sitedir = sysconfig.get_python_lib(1, 0, prefix='$am_py_prefix') -sys.stdout.write(sitedir)"` -+sys.stdout.write(sitedir)" || -+ echo "$PYTHON_LIB_PREFIX/python$PYTHON_VERSION/site-packages"` ++ am_cv_python_pyexecdir=`echo "$PYTHON_LIB_PREFIX/python$PYTHON_VERSION/site-packages"` case $am_cv_python_pyexecdir in $am_py_exec_prefix*) am__strip_prefix=`echo "$am_py_exec_prefix" | sed 's|.|.|g'` -@@ -200,7 +203,7 @@ +@@ -200,7 +187,7 @@ sys.stdout.write(sitedir)"` case $am_py_exec_prefix in /usr|/System*) ;; *) @@ -63,3 +86,6 @@ diff -Nurd automake-1.12.6/m4/python.m4 automake-1.12.6/m4/python.m4 ;; esac ;; +-- +2.8.1 + diff --git a/import-layers/yocto-poky/meta/recipes-devtools/binutils/binutils-2.26.inc b/import-layers/yocto-poky/meta/recipes-devtools/binutils/binutils-2.27.inc index 6d535fcaa..af1420b24 100644 --- a/import-layers/yocto-poky/meta/recipes-devtools/binutils/binutils-2.26.inc +++ b/import-layers/yocto-poky/meta/recipes-devtools/binutils/binutils-2.27.inc @@ -18,7 +18,7 @@ BINUPV = "${@binutils_branch_version(d)}" UPSTREAM_CHECK_GITTAGREGEX = "binutils-(?P<pver>\d+_(\d_?)*)" -SRCREV = "71fa566a9cf2597b60a58c1d7c148bab637454a6" +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 \ @@ -32,8 +32,10 @@ SRC_URI = "\ 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-GOT-address-computations-in-initial-PLT-entries-.patch \ - file://0014-Correct-nios2-_gp-address-computation.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 \ " S = "${WORKDIR}/git" diff --git a/import-layers/yocto-poky/meta/recipes-devtools/binutils/binutils-cross-canadian_2.26.bb b/import-layers/yocto-poky/meta/recipes-devtools/binutils/binutils-cross-canadian_2.27.bb index 5dbaa0301..5dbaa0301 100644 --- a/import-layers/yocto-poky/meta/recipes-devtools/binutils/binutils-cross-canadian_2.26.bb +++ b/import-layers/yocto-poky/meta/recipes-devtools/binutils/binutils-cross-canadian_2.27.bb diff --git a/import-layers/yocto-poky/meta/recipes-devtools/binutils/binutils-cross_2.26.bb b/import-layers/yocto-poky/meta/recipes-devtools/binutils/binutils-cross_2.27.bb index fbd1f7d25..fbd1f7d25 100644 --- a/import-layers/yocto-poky/meta/recipes-devtools/binutils/binutils-cross_2.26.bb +++ b/import-layers/yocto-poky/meta/recipes-devtools/binutils/binutils-cross_2.27.bb diff --git a/import-layers/yocto-poky/meta/recipes-devtools/binutils/binutils-crosssdk_2.26.bb b/import-layers/yocto-poky/meta/recipes-devtools/binutils/binutils-crosssdk_2.27.bb index 788106f9e..62c03d724 100644 --- a/import-layers/yocto-poky/meta/recipes-devtools/binutils/binutils-crosssdk_2.26.bb +++ b/import-layers/yocto-poky/meta/recipes-devtools/binutils/binutils-crosssdk_2.27.bb @@ -2,7 +2,7 @@ require binutils-cross_${PV}.bb inherit crosssdk -PN = "binutils-crosssdk-${TARGET_ARCH}" +PN = "binutils-crosssdk-${SDK_SYS}" PROVIDES = "virtual/${TARGET_PREFIX}binutils-crosssdk" diff --git a/import-layers/yocto-poky/meta/recipes-devtools/binutils/binutils.inc b/import-layers/yocto-poky/meta/recipes-devtools/binutils/binutils.inc index 43e2aa232..75d190f80 100644 --- a/import-layers/yocto-poky/meta/recipes-devtools/binutils/binutils.inc +++ b/import-layers/yocto-poky/meta/recipes-devtools/binutils/binutils.inc @@ -57,7 +57,6 @@ USE_ALTERNATIVES_FOR = " \ strings \ strip \ " -USE_ALTERNATIVES_FOR_remove_mips = "ld.gold dwp" python do_package_prepend() { make_alts = d.getVar("USE_ALTERNATIVES_FOR", True) or "" @@ -72,6 +71,7 @@ B = "${S}/build.${HOST_SYS}.${TARGET_SYS}" EXTRA_OECONF = "--program-prefix=${TARGET_PREFIX} \ --disable-werror \ + --enable-deterministic-archives \ --enable-plugins \ ${LDGOLD} \ ${@bb.utils.contains('DISTRO_FEATURES', 'multiarch', '--enable-64-bit-bfd', '', d)}" diff --git a/import-layers/yocto-poky/meta/recipes-devtools/binutils/binutils/0001-Generate-relocatable-SDKs.patch b/import-layers/yocto-poky/meta/recipes-devtools/binutils/binutils/0001-Generate-relocatable-SDKs.patch index 91f901761..cad704a72 100644 --- a/import-layers/yocto-poky/meta/recipes-devtools/binutils/binutils/0001-Generate-relocatable-SDKs.patch +++ b/import-layers/yocto-poky/meta/recipes-devtools/binutils/binutils/0001-Generate-relocatable-SDKs.patch @@ -1,7 +1,7 @@ -From 3c75355342a8562ccb65b8bbbe81a0495fec5c57 Mon Sep 17 00:00:00 2001 +From 2dae6b137ce609fd008f2063034a4403d95484c5 Mon Sep 17 00:00:00 2001 From: Khem Raj <raj.khem@gmail.com> Date: Mon, 2 Mar 2015 01:58:54 +0000 -Subject: [PATCH 01/14] Generate relocatable SDKs +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 @@ -18,7 +18,7 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com> 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/ld/genscripts.sh b/ld/genscripts.sh -index a84d233..d12c4e2 100755 +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}}" @@ -43,7 +43,7 @@ index a84d233..d12c4e2 100755 LD_FLAG= DATA_ALIGNMENT=${DATA_ALIGNMENT_} diff --git a/ld/scripttempl/elf.sc b/ld/scripttempl/elf.sc -index ec78c90..f9e7a31 100644 +index f0c6439..223c55f 100644 --- a/ld/scripttempl/elf.sc +++ b/ld/scripttempl/elf.sc @@ -136,8 +136,8 @@ if test -n "${COMMONPAGESIZE}"; then @@ -58,5 +58,5 @@ index ec78c90..f9e7a31 100644 if test -z "$PLT"; then IPLT=".iplt ${RELOCATING-0} : { *(.iplt) }" -- -2.7.1 +2.9.0 diff --git a/import-layers/yocto-poky/meta/recipes-devtools/binutils/binutils/0002-configure-widen-the-regexp-for-SH-architectures.patch b/import-layers/yocto-poky/meta/recipes-devtools/binutils/binutils/0002-configure-widen-the-regexp-for-SH-architectures.patch index 4a202d047..8d7cf00d4 100644 --- a/import-layers/yocto-poky/meta/recipes-devtools/binutils/binutils/0002-configure-widen-the-regexp-for-SH-architectures.patch +++ b/import-layers/yocto-poky/meta/recipes-devtools/binutils/binutils/0002-configure-widen-the-regexp-for-SH-architectures.patch @@ -1,7 +1,7 @@ -From b1ae604880562ed065f614a745d3f8922838bc5a Mon Sep 17 00:00:00 2001 +From e4cd40722f597dff39c7214fab1742dd5bcc67eb Mon Sep 17 00:00:00 2001 From: Khem Raj <raj.khem@gmail.com> Date: Mon, 2 Mar 2015 01:07:33 +0000 -Subject: [PATCH 02/14] configure: widen the regexp for SH architectures +Subject: [PATCH 02/13] configure: widen the regexp for SH architectures gprof needs to know about uclibc @@ -14,10 +14,10 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com> 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/configure b/configure -index 34b66f7..85414ab 100755 +index ad3dfb7..2a74a77 100755 --- a/configure +++ b/configure -@@ -3445,7 +3445,7 @@ case "${target}" in +@@ -3444,7 +3444,7 @@ case "${target}" in ;; s390-*-* | s390x-*-*) ;; @@ -26,7 +26,7 @@ index 34b66f7..85414ab 100755 ;; sh64-*-* | sh5*-*-*) ;; -@@ -3939,7 +3939,7 @@ case "${target}" in +@@ -3946,7 +3946,7 @@ case "${target}" in or1k*-*-*) noconfigdirs="$noconfigdirs gdb" ;; @@ -36,10 +36,10 @@ index 34b66f7..85414ab 100755 sh*-*-elf) ;; diff --git a/gprof/configure b/gprof/configure -index 693b927..d4db554 100755 +index bf3ecaa..626e1c7 100755 --- a/gprof/configure +++ b/gprof/configure -@@ -5869,6 +5869,11 @@ linux* | k*bsd*-gnu | kopensolaris*-gnu) +@@ -5873,6 +5873,11 @@ linux* | k*bsd*-gnu | kopensolaris*-gnu) lt_cv_deplibs_check_method=pass_all ;; @@ -52,5 +52,5 @@ index 693b927..d4db554 100755 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.7.1 +2.9.0 diff --git a/import-layers/yocto-poky/meta/recipes-devtools/binutils/binutils/0003-Point-scripts-location-to-libdir.patch b/import-layers/yocto-poky/meta/recipes-devtools/binutils/binutils/0003-Point-scripts-location-to-libdir.patch index 2c70ecd93..acc198b3e 100644 --- a/import-layers/yocto-poky/meta/recipes-devtools/binutils/binutils/0003-Point-scripts-location-to-libdir.patch +++ b/import-layers/yocto-poky/meta/recipes-devtools/binutils/binutils/0003-Point-scripts-location-to-libdir.patch @@ -1,7 +1,7 @@ -From 01808e8ef8ee709c8218d962601c18a63a063a1f Mon Sep 17 00:00:00 2001 +From 93c49f6197bd59b2abbf04b3296bf10029b80f48 Mon Sep 17 00:00:00 2001 From: Khem Raj <raj.khem@gmail.com> Date: Mon, 2 Mar 2015 01:09:58 +0000 -Subject: [PATCH 03/14] Point scripts location to libdir +Subject: [PATCH 03/13] Point scripts location to libdir Upstream-Status: Inappropriate [debian patch] @@ -12,7 +12,7 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com> 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/ld/Makefile.am b/ld/Makefile.am -index 0b3b049..3871c74 100644 +index 0598923..b478ba7 100644 --- a/ld/Makefile.am +++ b/ld/Makefile.am @@ -57,7 +57,7 @@ endif @@ -25,10 +25,10 @@ index 0b3b049..3871c74 100644 EMUL = @EMUL@ EMULATION_OFILES = @EMULATION_OFILES@ diff --git a/ld/Makefile.in b/ld/Makefile.in -index ed98f87..530e4c9 100644 +index 7c78198..5eb67e0 100644 --- a/ld/Makefile.in +++ b/ld/Makefile.in -@@ -413,7 +413,7 @@ AM_CFLAGS = $(WARN_CFLAGS) $(ELF_CLFAGS) +@@ -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. @@ -38,5 +38,5 @@ index ed98f87..530e4c9 100644 BFDDIR = $(BASEDIR)/bfd INCDIR = $(BASEDIR)/include -- -2.7.1 +2.9.0 diff --git a/import-layers/yocto-poky/meta/recipes-devtools/binutils/binutils/0004-Only-generate-an-RPATH-entry-if-LD_RUN_PATH-is-not-e.patch b/import-layers/yocto-poky/meta/recipes-devtools/binutils/binutils/0004-Only-generate-an-RPATH-entry-if-LD_RUN_PATH-is-not-e.patch index 8f0a40210..28a17f386 100644 --- a/import-layers/yocto-poky/meta/recipes-devtools/binutils/binutils/0004-Only-generate-an-RPATH-entry-if-LD_RUN_PATH-is-not-e.patch +++ b/import-layers/yocto-poky/meta/recipes-devtools/binutils/binutils/0004-Only-generate-an-RPATH-entry-if-LD_RUN_PATH-is-not-e.patch @@ -1,7 +1,7 @@ -From c008c7f97c1cf487749c6c375820a1f3b3c6c53d Mon Sep 17 00:00:00 2001 +From 4ff83779de8621715c6c2a79cf7ed8d74ff2d7c5 Mon Sep 17 00:00:00 2001 From: Khem Raj <raj.khem@gmail.com> Date: Mon, 2 Mar 2015 01:27:17 +0000 -Subject: [PATCH 04/14] Only generate an RPATH entry if LD_RUN_PATH is not +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) @@ -15,10 +15,10 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com> 1 file changed, 4 insertions(+) diff --git a/ld/emultempl/elf32.em b/ld/emultempl/elf32.em -index 0405d4f..73c5447 100644 +index 47fa549..f4c640e 100644 --- a/ld/emultempl/elf32.em +++ b/ld/emultempl/elf32.em -@@ -1242,6 +1242,8 @@ fragment <<EOF +@@ -1244,6 +1244,8 @@ fragment <<EOF && command_line.rpath == NULL) { lib_path = (const char *) getenv ("LD_RUN_PATH"); @@ -27,7 +27,7 @@ index 0405d4f..73c5447 100644 if (gld${EMULATION_NAME}_search_needed (lib_path, &n, force)) break; -@@ -1523,6 +1525,8 @@ gld${EMULATION_NAME}_before_allocation (void) +@@ -1525,6 +1527,8 @@ gld${EMULATION_NAME}_before_allocation (void) rpath = command_line.rpath; if (rpath == NULL) rpath = (const char *) getenv ("LD_RUN_PATH"); @@ -37,5 +37,5 @@ index 0405d4f..73c5447 100644 for (abfd = link_info.input_bfds; abfd; abfd = abfd->link.next) if (bfd_get_flavour (abfd) == bfd_target_elf_flavour) -- -2.7.1 +2.9.0 diff --git a/import-layers/yocto-poky/meta/recipes-devtools/binutils/binutils/0005-Explicitly-link-with-libm-on-uclibc.patch b/import-layers/yocto-poky/meta/recipes-devtools/binutils/binutils/0005-Explicitly-link-with-libm-on-uclibc.patch index 92ead7fb4..331f78221 100644 --- a/import-layers/yocto-poky/meta/recipes-devtools/binutils/binutils/0005-Explicitly-link-with-libm-on-uclibc.patch +++ b/import-layers/yocto-poky/meta/recipes-devtools/binutils/binutils/0005-Explicitly-link-with-libm-on-uclibc.patch @@ -1,7 +1,7 @@ -From 6a41635e29c4a6c064b1f66e79a8fe2026f4361b Mon Sep 17 00:00:00 2001 +From 18a7ae169e8d55ace683357d1de6b07e4fdf797a Mon Sep 17 00:00:00 2001 From: Khem Raj <raj.khem@gmail.com> Date: Mon, 2 Mar 2015 01:32:49 +0000 -Subject: [PATCH 05/14] Explicitly link with libm on uclibc +Subject: [PATCH 05/13] Explicitly link with libm on uclibc Description: @@ -31,7 +31,7 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com> 1 file changed, 6 insertions(+) diff --git a/gas/configure.tgt b/gas/configure.tgt -index 0b490d4..086e0d2 100644 +index e2df659..1b9fd99 100644 --- a/gas/configure.tgt +++ b/gas/configure.tgt @@ -487,6 +487,12 @@ case ${generic_target} in @@ -48,5 +48,5 @@ index 0b490d4..086e0d2 100644 aarch64 | alpha | arm | i386 | ia64 | microblaze | mips | ns32k | or1k | or1knd | pdp11 | ppc | sparc | z80 | z8k) bfd_gas=yes -- -2.7.1 +2.9.0 diff --git a/import-layers/yocto-poky/meta/recipes-devtools/binutils/binutils/0006-Use-libtool-2.4.patch b/import-layers/yocto-poky/meta/recipes-devtools/binutils/binutils/0006-Use-libtool-2.4.patch index e54ab1bc8..f0fdf46ae 100644 --- a/import-layers/yocto-poky/meta/recipes-devtools/binutils/binutils/0006-Use-libtool-2.4.patch +++ b/import-layers/yocto-poky/meta/recipes-devtools/binutils/binutils/0006-Use-libtool-2.4.patch @@ -1,7 +1,7 @@ -From da70f0876cdd8ed703d9ed1524212ccfefb09ef3 Mon Sep 17 00:00:00 2001 +From 71adcde3648db47f7fa155db12810591ffd3ae34 Mon Sep 17 00:00:00 2001 From: Khem Raj <raj.khem@gmail.com> Date: Sun, 14 Feb 2016 17:04:07 +0000 -Subject: [PATCH 06/14] Use libtool 2.4 +Subject: [PATCH 06/13] Use libtool 2.4 get libtool sysroot support @@ -9,28 +9,28 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com> --- Upstream-Status: Pending - bfd/configure | 1322 +++++++++++++++++------ + bfd/configure | 1318 +++++++++++++++++------ bfd/configure.ac | 2 +- - binutils/configure | 1320 +++++++++++++++++------ + binutils/configure | 1316 +++++++++++++++++------ configure | 4 +- - gas/configure | 1320 +++++++++++++++++------ - gprof/configure | 1325 +++++++++++++++++------ - ld/configure | 1695 +++++++++++++++++++++-------- + 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 | 1322 +++++++++++++++++------ + opcodes/configure | 1318 +++++++++++++++++------ opcodes/configure.ac | 2 +- zlib/configure | 1320 +++++++++++++++++------ - 15 files changed, 9944 insertions(+), 3709 deletions(-) + 15 files changed, 9930 insertions(+), 3697 deletions(-) diff --git a/bfd/configure b/bfd/configure -index 7411c6d..eae743e 100755 +index a437569..575a257 100755 --- a/bfd/configure +++ b/bfd/configure -@@ -670,6 +670,9 @@ OTOOL +@@ -671,6 +671,9 @@ OTOOL LIPO NMEDIT DSYMUTIL @@ -40,7 +40,7 @@ index 7411c6d..eae743e 100755 OBJDUMP LN_S NM -@@ -782,6 +785,7 @@ enable_static +@@ -784,6 +787,7 @@ enable_static with_pic enable_fast_install with_gnu_ld @@ -48,7 +48,7 @@ index 7411c6d..eae743e 100755 enable_libtool_lock enable_plugins enable_largefile -@@ -1458,6 +1462,8 @@ Optional Packages: +@@ -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] @@ -57,7 +57,7 @@ index 7411c6d..eae743e 100755 --with-mmap try using mmap for BFD input files if available --with-separate-debug-dir=DIR Look for global separate debug info in DIR -@@ -5388,8 +5394,8 @@ esac +@@ -5392,8 +5398,8 @@ esac @@ -68,7 +68,7 @@ index 7411c6d..eae743e 100755 -@@ -5429,7 +5435,7 @@ ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO$ECHO +@@ -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. @@ -77,7 +77,7 @@ index 7411c6d..eae743e 100755 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 -@@ -6115,8 +6121,8 @@ $as_echo_n "checking whether the shell understands some XSI constructs... " >&6; +@@ -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" @@ -88,7 +88,7 @@ index 7411c6d..eae743e 100755 && eval 'test $(( 1 + 1 )) -eq 2 \ && test "${#_lt_dummy}" -eq 5' ) >/dev/null 2>&1 \ && xsi_shell=yes -@@ -6165,6 +6171,80 @@ esac +@@ -6169,6 +6175,80 @@ esac @@ -169,7 +169,7 @@ index 7411c6d..eae743e 100755 { $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 : -@@ -6181,6 +6261,11 @@ case $reload_flag in +@@ -6185,6 +6265,11 @@ case $reload_flag in esac reload_cmds='$LD$reload_flag -o $output$reload_objs' case $host_os in @@ -181,7 +181,7 @@ index 7411c6d..eae743e 100755 darwin*) if test "$GCC" = yes; then reload_cmds='$LTCC $LTCFLAGS -nostdlib ${wl}-r -o $output$reload_objs' -@@ -6349,7 +6434,8 @@ mingw* | pw32*) +@@ -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 @@ -191,7 +191,7 @@ index 7411c6d..eae743e 100755 lt_cv_file_magic_cmd='$OBJDUMP -f' fi ;; -@@ -6503,6 +6589,21 @@ esac +@@ -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; } @@ -213,7 +213,7 @@ index 7411c6d..eae743e 100755 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 -@@ -6518,9 +6619,162 @@ test -z "$deplibs_check_method" && deplibs_check_method=unknown +@@ -6522,9 +6623,162 @@ test -z "$deplibs_check_method" && deplibs_check_method=unknown @@ -378,7 +378,7 @@ index 7411c6d..eae743e 100755 { $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 : -@@ -6536,7 +6790,7 @@ do +@@ -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 @@ -387,7 +387,7 @@ index 7411c6d..eae743e 100755 $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi -@@ -6556,11 +6810,15 @@ $as_echo "no" >&6; } +@@ -6560,11 +6814,15 @@ $as_echo "no" >&6; } fi @@ -406,7 +406,7 @@ index 7411c6d..eae743e 100755 { $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 : -@@ -6576,7 +6834,7 @@ do +@@ -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 @@ -415,7 +415,7 @@ index 7411c6d..eae743e 100755 $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi -@@ -6595,6 +6853,10 @@ else +@@ -6599,6 +6857,10 @@ else $as_echo "no" >&6; } fi @@ -426,7 +426,7 @@ index 7411c6d..eae743e 100755 if test "x$ac_ct_AR" = x; then AR="false" else -@@ -6606,16 +6868,72 @@ ac_tool_warned=yes ;; +@@ -6610,16 +6872,72 @@ ac_tool_warned=yes ;; esac AR=$ac_ct_AR fi @@ -503,7 +503,7 @@ index 7411c6d..eae743e 100755 -@@ -6957,8 +7275,8 @@ esac +@@ -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 @@ -514,7 +514,7 @@ index 7411c6d..eae743e 100755 # Handle CRLF in mingw tool chain opt_cr= -@@ -6994,6 +7312,7 @@ for ac_symprfx in "" "_"; do +@@ -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 @@ -522,7 +522,7 @@ index 7411c6d..eae743e 100755 # Check to see that the pipe works correctly. pipe_works=no -@@ -7035,6 +7354,18 @@ _LT_EOF +@@ -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 @@ -541,7 +541,7 @@ index 7411c6d..eae743e 100755 #ifdef __cplusplus extern "C" { #endif -@@ -7046,7 +7377,7 @@ _LT_EOF +@@ -7050,7 +7381,7 @@ _LT_EOF cat <<_LT_EOF >> conftest.$ac_ext /* The mapping between symbol names and symbols. */ @@ -550,7 +550,7 @@ index 7411c6d..eae743e 100755 const char *name; void *address; } -@@ -7072,8 +7403,8 @@ static const void *lt_preloaded_setup() { +@@ -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 @@ -561,7 +561,7 @@ index 7411c6d..eae743e 100755 LIBS="conftstm.$ac_objext" CFLAGS="$CFLAGS$lt_prog_compiler_no_builtin_flag" if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5 -@@ -7083,8 +7414,8 @@ _LT_EOF +@@ -7087,8 +7418,8 @@ _LT_EOF test $ac_status = 0; } && test -s conftest${ac_exeext}; then pipe_works=yes fi @@ -572,7 +572,7 @@ index 7411c6d..eae743e 100755 else echo "cannot find nm_test_func in $nlist" >&5 fi -@@ -7121,6 +7452,16 @@ else +@@ -7125,6 +7456,16 @@ else $as_echo "ok" >&6; } fi @@ -589,7 +589,7 @@ index 7411c6d..eae743e 100755 -@@ -7142,6 +7483,45 @@ fi +@@ -7146,6 +7487,45 @@ fi @@ -635,7 +635,7 @@ index 7411c6d..eae743e 100755 # Check whether --enable-libtool-lock was given. if test "${enable_libtool_lock+set}" = set; then : enableval=$enable_libtool_lock; -@@ -7348,6 +7728,123 @@ esac +@@ -7352,6 +7732,123 @@ esac need_locks="$enable_libtool_lock" @@ -759,7 +759,7 @@ index 7411c6d..eae743e 100755 case $host_os in rhapsody* | darwin*) -@@ -7911,6 +8408,8 @@ _LT_EOF +@@ -7915,6 +8412,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 @@ -768,7 +768,7 @@ index 7411c6d..eae743e 100755 cat > conftest.c << _LT_EOF int main() { return 0;} _LT_EOF -@@ -8075,7 +8574,8 @@ fi +@@ -8079,7 +8578,8 @@ fi LIBTOOL_DEPS="$ltmain" # Always use our own libtool. @@ -778,7 +778,7 @@ index 7411c6d..eae743e 100755 -@@ -8164,7 +8664,7 @@ aix3*) +@@ -8168,7 +8668,7 @@ aix3*) esac # Global variables: @@ -787,7 +787,7 @@ index 7411c6d..eae743e 100755 can_build_shared=yes # All known linkers require a `.a' archive for static linking (except MSVC, -@@ -8462,8 +8962,6 @@ fi +@@ -8466,8 +8966,6 @@ fi lt_prog_compiler_pic= lt_prog_compiler_static= @@ -796,7 +796,7 @@ index 7411c6d..eae743e 100755 if test "$GCC" = yes; then lt_prog_compiler_wl='-Wl,' -@@ -8629,6 +9127,12 @@ $as_echo_n "checking for $compiler option to produce PIC... " >&6; } +@@ -8633,6 +9131,12 @@ $as_echo_n "checking for $compiler option to produce PIC... " >&6; } lt_prog_compiler_pic='--shared' lt_prog_compiler_static='--static' ;; @@ -809,7 +809,7 @@ index 7411c6d..eae743e 100755 pgcc* | pgf77* | pgf90* | pgf95* | pgfortran*) # Portland Group compilers (*not* the Pentium gcc compiler, # which looks to be a dead project) -@@ -8691,7 +9195,7 @@ $as_echo_n "checking for $compiler option to produce PIC... " >&6; } +@@ -8695,7 +9199,7 @@ $as_echo_n "checking for $compiler option to produce PIC... " >&6; } lt_prog_compiler_pic='-KPIC' lt_prog_compiler_static='-Bstatic' case $cc_basename in @@ -818,7 +818,7 @@ index 7411c6d..eae743e 100755 lt_prog_compiler_wl='-Qoption ld ';; *) lt_prog_compiler_wl='-Wl,';; -@@ -8748,13 +9252,17 @@ case $host_os in +@@ -8752,13 +9256,17 @@ case $host_os in lt_prog_compiler_pic="$lt_prog_compiler_pic -DPIC" ;; esac @@ -842,7 +842,7 @@ index 7411c6d..eae743e 100755 # # Check to make sure the PIC flag actually works. -@@ -8815,6 +9323,11 @@ fi +@@ -8819,6 +9327,11 @@ fi @@ -854,7 +854,7 @@ index 7411c6d..eae743e 100755 # # Check to make sure the static flag actually works. # -@@ -9165,7 +9678,8 @@ _LT_EOF +@@ -9169,7 +9682,8 @@ _LT_EOF allow_undefined_flag=unsupported always_export_symbols=no enable_shared_with_static_runtimes=yes @@ -864,7 +864,7 @@ index 7411c6d..eae743e 100755 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' -@@ -9264,12 +9778,12 @@ _LT_EOF +@@ -9268,12 +9782,12 @@ _LT_EOF whole_archive_flag_spec='--whole-archive$convenience --no-whole-archive' hardcode_libdir_flag_spec= hardcode_libdir_flag_spec_ld='-rpath $libdir' @@ -879,7 +879,7 @@ index 7411c6d..eae743e 100755 fi ;; esac -@@ -9283,8 +9797,8 @@ _LT_EOF +@@ -9287,8 +9801,8 @@ _LT_EOF archive_cmds='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib' wlarc= else @@ -890,7 +890,7 @@ index 7411c6d..eae743e 100755 fi ;; -@@ -9302,8 +9816,8 @@ _LT_EOF +@@ -9306,8 +9820,8 @@ _LT_EOF _LT_EOF elif $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then @@ -901,7 +901,7 @@ index 7411c6d..eae743e 100755 else ld_shlibs=no fi -@@ -9349,8 +9863,8 @@ _LT_EOF +@@ -9353,8 +9867,8 @@ _LT_EOF *) if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then @@ -912,7 +912,7 @@ index 7411c6d..eae743e 100755 else ld_shlibs=no fi -@@ -9480,7 +9994,13 @@ _LT_EOF +@@ -9484,7 +9998,13 @@ _LT_EOF allow_undefined_flag='-berok' # Determine the default libpath from the value encoded in an # empty executable. @@ -927,7 +927,7 @@ index 7411c6d..eae743e 100755 /* end confdefs.h. */ int -@@ -9493,22 +10013,29 @@ main () +@@ -9497,22 +10017,29 @@ main () _ACEOF if ac_fn_c_try_link "$LINENO"; then : @@ -970,7 +970,7 @@ index 7411c6d..eae743e 100755 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" -@@ -9520,7 +10047,13 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi +@@ -9524,7 +10051,13 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi else # Determine the default libpath from the value encoded in an # empty executable. @@ -985,7 +985,7 @@ index 7411c6d..eae743e 100755 /* end confdefs.h. */ int -@@ -9533,22 +10066,29 @@ main () +@@ -9537,22 +10070,29 @@ main () _ACEOF if ac_fn_c_try_link "$LINENO"; then : @@ -1028,7 +1028,7 @@ index 7411c6d..eae743e 100755 hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath" # Warning - without using the other run time loading flags, -@@ -9593,20 +10133,63 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi +@@ -9597,20 +10137,63 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi # Microsoft Visual C++. # hardcode_libdir_flag_spec is actually meaningless, as there is # no search path for DLLs. @@ -1106,7 +1106,7 @@ index 7411c6d..eae743e 100755 ;; darwin* | rhapsody*) -@@ -9667,7 +10250,7 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi +@@ -9671,7 +10254,7 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi # FreeBSD 3 and greater uses gcc -shared to do shared libraries. freebsd* | dragonfly*) @@ -1115,7 +1115,7 @@ index 7411c6d..eae743e 100755 hardcode_libdir_flag_spec='-R$libdir' hardcode_direct=yes hardcode_shlibpath_var=no -@@ -9675,7 +10258,7 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi +@@ -9679,7 +10262,7 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi hpux9*) if test "$GCC" = yes; then @@ -1124,7 +1124,7 @@ index 7411c6d..eae743e 100755 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 -@@ -9691,7 +10274,7 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi +@@ -9695,7 +10278,7 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi hpux10*) if test "$GCC" = yes && test "$with_gnu_ld" = no; then @@ -1133,7 +1133,7 @@ index 7411c6d..eae743e 100755 else archive_cmds='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags' fi -@@ -9715,10 +10298,10 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi +@@ -9719,10 +10302,10 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi archive_cmds='$CC -shared ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' ;; ia64*) @@ -1146,7 +1146,7 @@ index 7411c6d..eae743e 100755 ;; esac else -@@ -9797,23 +10380,36 @@ fi +@@ -9801,23 +10384,36 @@ fi irix5* | irix6* | nonstopux*) if test "$GCC" = yes; then @@ -1191,7 +1191,7 @@ index 7411c6d..eae743e 100755 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' -@@ -9898,7 +10494,7 @@ rm -f core conftest.err conftest.$ac_objext \ +@@ -9902,7 +10498,7 @@ rm -f core conftest.err conftest.$ac_objext \ osf4* | osf5*) # as osf3* with the addition of -msym flag if test "$GCC" = yes; then allow_undefined_flag=' ${wl}-expect_unresolved ${wl}\*' @@ -1200,7 +1200,7 @@ index 7411c6d..eae743e 100755 hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' else allow_undefined_flag=' -expect_unresolved \*' -@@ -9917,9 +10513,9 @@ rm -f core conftest.err conftest.$ac_objext \ +@@ -9921,9 +10517,9 @@ rm -f core conftest.err conftest.$ac_objext \ no_undefined_flag=' -z defs' if test "$GCC" = yes; then wlarc='${wl}' @@ -1212,7 +1212,7 @@ index 7411c6d..eae743e 100755 else case `$CC -V 2>&1` in *"Compilers 5.0"*) -@@ -10495,8 +11091,9 @@ cygwin* | mingw* | pw32* | cegcc*) +@@ -10499,8 +11095,9 @@ cygwin* | mingw* | pw32* | cegcc*) need_version=no need_lib_prefix=no @@ -1224,7 +1224,7 @@ index 7411c6d..eae743e 100755 library_names_spec='$libname.dll.a' # DLL is installed to $(libdir)/../bin by postinstall_cmds postinstall_cmds='base_file=`basename \${file}`~ -@@ -10529,13 +11126,71 @@ cygwin* | mingw* | pw32* | cegcc*) +@@ -10533,13 +11130,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 @@ -1297,7 +1297,7 @@ index 7411c6d..eae743e 100755 # FIXME: first we should search . and the directory the executable is in shlibpath_var=PATH ;; -@@ -10627,7 +11282,7 @@ haiku*) +@@ -10631,7 +11286,7 @@ haiku*) soname_spec='${libname}${release}${shared_ext}$major' shlibpath_var=LIBRARY_PATH shlibpath_overrides_runpath=yes @@ -1306,16 +1306,7 @@ index 7411c6d..eae743e 100755 hardcode_into_libs=yes ;; -@@ -11423,7 +12078,7 @@ else - lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 - lt_status=$lt_dlunknown - cat > conftest.$ac_ext <<_LT_EOF --#line 11426 "configure" -+#line $LINENO "configure" - #include "confdefs.h" - - #if HAVE_DLFCN_H -@@ -11467,10 +12122,10 @@ else +@@ -11471,10 +12126,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)) @@ -1328,16 +1319,7 @@ index 7411c6d..eae743e 100755 int main () { void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW); -@@ -11529,7 +12184,7 @@ else - lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 - lt_status=$lt_dlunknown - cat > conftest.$ac_ext <<_LT_EOF --#line 11532 "configure" -+#line $LINENO "configure" - #include "confdefs.h" - - #if HAVE_DLFCN_H -@@ -11573,10 +12228,10 @@ else +@@ -11577,10 +12232,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)) @@ -1350,7 +1332,7 @@ index 7411c6d..eae743e 100755 int main () { void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW); -@@ -15121,7 +15776,7 @@ SHARED_LDFLAGS= +@@ -14078,7 +14733,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 @@ -1359,7 +1341,7 @@ index 7411c6d..eae743e 100755 fi # More hacks to build DLLs on Windows. -@@ -16746,13 +17401,20 @@ exeext='`$ECHO "$exeext" | $SED "$delay_single_quote_subst"`' +@@ -16789,13 +17444,20 @@ exeext='`$ECHO "$exeext" | $SED "$delay_single_quote_subst"`' lt_unset='`$ECHO "$lt_unset" | $SED "$delay_single_quote_subst"`' lt_SP2NL='`$ECHO "$lt_SP2NL" | $SED "$delay_single_quote_subst"`' lt_NL2SP='`$ECHO "$lt_NL2SP" | $SED "$delay_single_quote_subst"`' @@ -1380,7 +1362,7 @@ index 7411c6d..eae743e 100755 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"`' -@@ -16767,14 +17429,17 @@ lt_cv_sys_global_symbol_pipe='`$ECHO "$lt_cv_sys_global_symbol_pipe" | $SED "$de +@@ -16810,14 +17472,17 @@ lt_cv_sys_global_symbol_pipe='`$ECHO "$lt_cv_sys_global_symbol_pipe" | $SED "$de lt_cv_sys_global_symbol_to_cdecl='`$ECHO "$lt_cv_sys_global_symbol_to_cdecl" | $SED "$delay_single_quote_subst"`' lt_cv_sys_global_symbol_to_c_name_address='`$ECHO "$lt_cv_sys_global_symbol_to_c_name_address" | $SED "$delay_single_quote_subst"`' lt_cv_sys_global_symbol_to_c_name_address_lib_prefix='`$ECHO "$lt_cv_sys_global_symbol_to_c_name_address_lib_prefix" | $SED "$delay_single_quote_subst"`' @@ -1399,7 +1381,7 @@ index 7411c6d..eae743e 100755 DSYMUTIL='`$ECHO "$DSYMUTIL" | $SED "$delay_single_quote_subst"`' NMEDIT='`$ECHO "$NMEDIT" | $SED "$delay_single_quote_subst"`' LIPO='`$ECHO "$LIPO" | $SED "$delay_single_quote_subst"`' -@@ -16807,12 +17472,12 @@ hardcode_shlibpath_var='`$ECHO "$hardcode_shlibpath_var" | $SED "$delay_single_q +@@ -16850,12 +17515,12 @@ hardcode_shlibpath_var='`$ECHO "$hardcode_shlibpath_var" | $SED "$delay_single_q hardcode_automatic='`$ECHO "$hardcode_automatic" | $SED "$delay_single_quote_subst"`' inherit_rpath='`$ECHO "$inherit_rpath" | $SED "$delay_single_quote_subst"`' link_all_deplibs='`$ECHO "$link_all_deplibs" | $SED "$delay_single_quote_subst"`' @@ -1413,7 +1395,7 @@ index 7411c6d..eae743e 100755 file_list_spec='`$ECHO "$file_list_spec" | $SED "$delay_single_quote_subst"`' variables_saved_for_relink='`$ECHO "$variables_saved_for_relink" | $SED "$delay_single_quote_subst"`' need_lib_prefix='`$ECHO "$need_lib_prefix" | $SED "$delay_single_quote_subst"`' -@@ -16867,8 +17532,13 @@ reload_flag \ +@@ -16910,8 +17575,13 @@ reload_flag \ OBJDUMP \ deplibs_check_method \ file_magic_cmd \ @@ -1427,7 +1409,7 @@ index 7411c6d..eae743e 100755 STRIP \ RANLIB \ CC \ -@@ -16878,12 +17548,14 @@ lt_cv_sys_global_symbol_pipe \ +@@ -16921,12 +17591,14 @@ lt_cv_sys_global_symbol_pipe \ lt_cv_sys_global_symbol_to_cdecl \ lt_cv_sys_global_symbol_to_c_name_address \ lt_cv_sys_global_symbol_to_c_name_address_lib_prefix \ @@ -1443,7 +1425,7 @@ index 7411c6d..eae743e 100755 DSYMUTIL \ NMEDIT \ LIPO \ -@@ -16899,7 +17571,6 @@ no_undefined_flag \ +@@ -16942,7 +17614,6 @@ no_undefined_flag \ hardcode_libdir_flag_spec \ hardcode_libdir_flag_spec_ld \ hardcode_libdir_separator \ @@ -1451,7 +1433,7 @@ index 7411c6d..eae743e 100755 exclude_expsyms \ include_expsyms \ file_list_spec \ -@@ -16935,6 +17606,7 @@ module_cmds \ +@@ -16978,6 +17649,7 @@ module_cmds \ module_expsym_cmds \ export_symbols_cmds \ prelink_cmds \ @@ -1459,7 +1441,7 @@ index 7411c6d..eae743e 100755 postinstall_cmds \ postuninstall_cmds \ finish_cmds \ -@@ -17714,7 +18386,8 @@ $as_echo X"$file" | +@@ -17757,7 +18429,8 @@ $as_echo X"$file" | # NOTE: Changes made to this file will be lost: look at ltmain.sh. # # Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005, @@ -1469,7 +1451,7 @@ index 7411c6d..eae743e 100755 # Written by Gordon Matzigkeit, 1996 # # This file is part of GNU Libtool. -@@ -17817,19 +18490,42 @@ SP2NL=$lt_lt_SP2NL +@@ -17860,19 +18533,42 @@ SP2NL=$lt_lt_SP2NL # turn newlines into spaces. NL2SP=$lt_lt_NL2SP @@ -1513,7 +1495,7 @@ index 7411c6d..eae743e 100755 # A symbol stripping program. STRIP=$lt_STRIP -@@ -17859,6 +18555,12 @@ global_symbol_to_c_name_address=$lt_lt_cv_sys_global_symbol_to_c_name_address +@@ -17902,6 +18598,12 @@ global_symbol_to_c_name_address=$lt_lt_cv_sys_global_symbol_to_c_name_address # Transform the output of nm in a C name address pair when lib prefix is needed. global_symbol_to_c_name_address_lib_prefix=$lt_lt_cv_sys_global_symbol_to_c_name_address_lib_prefix @@ -1526,7 +1508,7 @@ index 7411c6d..eae743e 100755 # The name of the directory that contains temporary libtool files. objdir=$objdir -@@ -17868,6 +18570,9 @@ MAGIC_CMD=$MAGIC_CMD +@@ -17911,6 +18613,9 @@ MAGIC_CMD=$MAGIC_CMD # Must we lock files when doing compilation? need_locks=$lt_need_locks @@ -1536,7 +1518,7 @@ index 7411c6d..eae743e 100755 # Tool to manipulate archived DWARF debug symbol files on Mac OS X. DSYMUTIL=$lt_DSYMUTIL -@@ -17982,12 +18687,12 @@ with_gcc=$GCC +@@ -18025,12 +18730,12 @@ with_gcc=$GCC # Compiler flag to turn off builtin functions. no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag @@ -1552,7 +1534,7 @@ index 7411c6d..eae743e 100755 # Compiler flag to prevent dynamic linking. link_static_flag=$lt_lt_prog_compiler_static -@@ -18074,9 +18779,6 @@ inherit_rpath=$inherit_rpath +@@ -18117,9 +18822,6 @@ inherit_rpath=$inherit_rpath # Whether libtool must link a program against all its dependency libraries. link_all_deplibs=$link_all_deplibs @@ -1562,7 +1544,7 @@ index 7411c6d..eae743e 100755 # Set to "yes" if exported symbols are required. always_export_symbols=$always_export_symbols -@@ -18092,6 +18794,9 @@ include_expsyms=$lt_include_expsyms +@@ -18135,6 +18837,9 @@ include_expsyms=$lt_include_expsyms # Commands necessary for linking programs (against libraries) with templates. prelink_cmds=$lt_prelink_cmds @@ -1572,7 +1554,7 @@ index 7411c6d..eae743e 100755 # Specify filename containing input files. file_list_spec=$lt_file_list_spec -@@ -18124,210 +18829,169 @@ ltmain="$ac_aux_dir/ltmain.sh" +@@ -18167,210 +18872,169 @@ ltmain="$ac_aux_dir/ltmain.sh" # if finds mixed CR/LF and LF-only lines. Since sed operates in # text mode, it properly converts lines to CR/LF. This bash problem # is reportedly fixed, but why not run on old versions too? @@ -1947,10 +1929,10 @@ index 7411c6d..eae743e 100755 chmod +x "$ofile" diff --git a/bfd/configure.ac b/bfd/configure.ac -index 6f5e85f..44bd02c 100644 +index 669cff7..5f57877 100644 --- a/bfd/configure.ac +++ b/bfd/configure.ac -@@ -567,7 +567,7 @@ changequote(,)dnl +@@ -253,7 +253,7 @@ changequote(,)dnl x=`sed -n -e 's/^[ ]*PICFLAG[ ]*=[ ]*//p' < ../libiberty/Makefile | sed -n '$p'` changequote([,])dnl if test -n "$x"; then @@ -1960,10 +1942,10 @@ index 6f5e85f..44bd02c 100644 # More hacks to build DLLs on Windows. diff --git a/binutils/configure b/binutils/configure -index d4f3e1e..a6df5bb 100755 +index 6cbf17c..6d20600 100755 --- a/binutils/configure +++ b/binutils/configure -@@ -657,8 +657,11 @@ OTOOL +@@ -658,8 +658,11 @@ OTOOL LIPO NMEDIT DSYMUTIL @@ -1975,7 +1957,7 @@ index d4f3e1e..a6df5bb 100755 OBJDUMP LN_S NM -@@ -769,6 +772,7 @@ enable_static +@@ -771,6 +774,7 @@ enable_static with_pic enable_fast_install with_gnu_ld @@ -1983,7 +1965,7 @@ index d4f3e1e..a6df5bb 100755 enable_libtool_lock enable_plugins enable_largefile -@@ -1441,6 +1445,8 @@ Optional Packages: +@@ -1443,6 +1447,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] @@ -1992,7 +1974,7 @@ index d4f3e1e..a6df5bb 100755 --with-system-zlib use installed libz --with-gnu-ld assume the C compiler uses GNU ld default=no --with-libiconv-prefix[=DIR] search for libiconv in DIR/include and DIR/lib -@@ -5155,8 +5161,8 @@ esac +@@ -5159,8 +5165,8 @@ esac @@ -2003,7 +1985,7 @@ index d4f3e1e..a6df5bb 100755 -@@ -5196,7 +5202,7 @@ ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO$ECHO +@@ -5200,7 +5206,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. @@ -2012,7 +1994,7 @@ index d4f3e1e..a6df5bb 100755 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 -@@ -5882,8 +5888,8 @@ $as_echo_n "checking whether the shell understands some XSI constructs... " >&6; +@@ -5886,8 +5892,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" @@ -2023,7 +2005,7 @@ index d4f3e1e..a6df5bb 100755 && eval 'test $(( 1 + 1 )) -eq 2 \ && test "${#_lt_dummy}" -eq 5' ) >/dev/null 2>&1 \ && xsi_shell=yes -@@ -5932,6 +5938,80 @@ esac +@@ -5936,6 +5942,80 @@ esac @@ -2104,7 +2086,7 @@ index d4f3e1e..a6df5bb 100755 { $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 : -@@ -5948,6 +6028,11 @@ case $reload_flag in +@@ -5952,6 +6032,11 @@ case $reload_flag in esac reload_cmds='$LD$reload_flag -o $output$reload_objs' case $host_os in @@ -2116,7 +2098,7 @@ index d4f3e1e..a6df5bb 100755 darwin*) if test "$GCC" = yes; then reload_cmds='$LTCC $LTCFLAGS -nostdlib ${wl}-r -o $output$reload_objs' -@@ -6116,7 +6201,8 @@ mingw* | pw32*) +@@ -6120,7 +6205,8 @@ mingw* | pw32*) lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL' lt_cv_file_magic_cmd='func_win32_libid' else @@ -2126,7 +2108,7 @@ index d4f3e1e..a6df5bb 100755 lt_cv_file_magic_cmd='$OBJDUMP -f' fi ;; -@@ -6270,6 +6356,21 @@ esac +@@ -6274,6 +6360,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; } @@ -2148,7 +2130,7 @@ index d4f3e1e..a6df5bb 100755 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 -@@ -6285,9 +6386,162 @@ test -z "$deplibs_check_method" && deplibs_check_method=unknown +@@ -6289,9 +6390,162 @@ test -z "$deplibs_check_method" && deplibs_check_method=unknown @@ -2313,7 +2295,7 @@ index d4f3e1e..a6df5bb 100755 { $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 : -@@ -6303,7 +6557,7 @@ do +@@ -6307,7 +6561,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 @@ -2322,7 +2304,7 @@ index d4f3e1e..a6df5bb 100755 $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi -@@ -6323,11 +6577,15 @@ $as_echo "no" >&6; } +@@ -6327,11 +6581,15 @@ $as_echo "no" >&6; } fi @@ -2341,7 +2323,7 @@ index d4f3e1e..a6df5bb 100755 { $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 : -@@ -6343,7 +6601,7 @@ do +@@ -6347,7 +6605,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 @@ -2350,7 +2332,7 @@ index d4f3e1e..a6df5bb 100755 $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi -@@ -6362,6 +6620,10 @@ else +@@ -6366,6 +6624,10 @@ else $as_echo "no" >&6; } fi @@ -2361,7 +2343,7 @@ index d4f3e1e..a6df5bb 100755 if test "x$ac_ct_AR" = x; then AR="false" else -@@ -6373,12 +6635,10 @@ ac_tool_warned=yes ;; +@@ -6377,12 +6639,10 @@ ac_tool_warned=yes ;; esac AR=$ac_ct_AR fi @@ -2376,7 +2358,7 @@ index d4f3e1e..a6df5bb 100755 -@@ -6390,6 +6650,64 @@ test -z "$AR_FLAGS" && AR_FLAGS=cru +@@ -6394,6 +6654,64 @@ test -z "$AR_FLAGS" && AR_FLAGS=cru @@ -2441,7 +2423,7 @@ index d4f3e1e..a6df5bb 100755 if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args. set dummy ${ac_tool_prefix}strip; ac_word=$2 -@@ -6724,8 +7042,8 @@ esac +@@ -6728,8 +7046,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 @@ -2452,7 +2434,7 @@ index d4f3e1e..a6df5bb 100755 # Handle CRLF in mingw tool chain opt_cr= -@@ -6761,6 +7079,7 @@ for ac_symprfx in "" "_"; do +@@ -6765,6 +7083,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 @@ -2460,7 +2442,7 @@ index d4f3e1e..a6df5bb 100755 # Check to see that the pipe works correctly. pipe_works=no -@@ -6802,6 +7121,18 @@ _LT_EOF +@@ -6806,6 +7125,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 @@ -2479,7 +2461,7 @@ index d4f3e1e..a6df5bb 100755 #ifdef __cplusplus extern "C" { #endif -@@ -6813,7 +7144,7 @@ _LT_EOF +@@ -6817,7 +7148,7 @@ _LT_EOF cat <<_LT_EOF >> conftest.$ac_ext /* The mapping between symbol names and symbols. */ @@ -2488,7 +2470,7 @@ index d4f3e1e..a6df5bb 100755 const char *name; void *address; } -@@ -6839,8 +7170,8 @@ static const void *lt_preloaded_setup() { +@@ -6843,8 +7174,8 @@ static const void *lt_preloaded_setup() { _LT_EOF # Now try linking the two files. mv conftest.$ac_objext conftstm.$ac_objext @@ -2499,7 +2481,7 @@ index d4f3e1e..a6df5bb 100755 LIBS="conftstm.$ac_objext" CFLAGS="$CFLAGS$lt_prog_compiler_no_builtin_flag" if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5 -@@ -6850,8 +7181,8 @@ _LT_EOF +@@ -6854,8 +7185,8 @@ _LT_EOF test $ac_status = 0; } && test -s conftest${ac_exeext}; then pipe_works=yes fi @@ -2510,7 +2492,7 @@ index d4f3e1e..a6df5bb 100755 else echo "cannot find nm_test_func in $nlist" >&5 fi -@@ -6888,6 +7219,21 @@ else +@@ -6892,6 +7223,21 @@ else $as_echo "ok" >&6; } fi @@ -2532,7 +2514,7 @@ index d4f3e1e..a6df5bb 100755 -@@ -6906,6 +7252,40 @@ fi +@@ -6910,6 +7256,40 @@ fi @@ -2573,7 +2555,7 @@ index d4f3e1e..a6df5bb 100755 -@@ -7115,6 +7495,123 @@ esac +@@ -7119,6 +7499,123 @@ esac need_locks="$enable_libtool_lock" @@ -2697,7 +2679,7 @@ index d4f3e1e..a6df5bb 100755 case $host_os in rhapsody* | darwin*) -@@ -7678,6 +8175,8 @@ _LT_EOF +@@ -7682,6 +8179,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 @@ -2706,7 +2688,7 @@ index d4f3e1e..a6df5bb 100755 cat > conftest.c << _LT_EOF int main() { return 0;} _LT_EOF -@@ -7873,7 +8372,8 @@ fi +@@ -7877,7 +8376,8 @@ fi LIBTOOL_DEPS="$ltmain" # Always use our own libtool. @@ -2716,7 +2698,7 @@ index d4f3e1e..a6df5bb 100755 -@@ -7962,7 +8462,7 @@ aix3*) +@@ -7966,7 +8466,7 @@ aix3*) esac # Global variables: @@ -2725,7 +2707,7 @@ index d4f3e1e..a6df5bb 100755 can_build_shared=yes # All known linkers require a `.a' archive for static linking (except MSVC, -@@ -8260,8 +8760,6 @@ fi +@@ -8264,8 +8764,6 @@ fi lt_prog_compiler_pic= lt_prog_compiler_static= @@ -2734,7 +2716,7 @@ index d4f3e1e..a6df5bb 100755 if test "$GCC" = yes; then lt_prog_compiler_wl='-Wl,' -@@ -8427,6 +8925,12 @@ $as_echo_n "checking for $compiler option to produce PIC... " >&6; } +@@ -8431,6 +8929,12 @@ $as_echo_n "checking for $compiler option to produce PIC... " >&6; } lt_prog_compiler_pic='--shared' lt_prog_compiler_static='--static' ;; @@ -2747,7 +2729,7 @@ index d4f3e1e..a6df5bb 100755 pgcc* | pgf77* | pgf90* | pgf95* | pgfortran*) # Portland Group compilers (*not* the Pentium gcc compiler, # which looks to be a dead project) -@@ -8489,7 +8993,7 @@ $as_echo_n "checking for $compiler option to produce PIC... " >&6; } +@@ -8493,7 +8997,7 @@ $as_echo_n "checking for $compiler option to produce PIC... " >&6; } lt_prog_compiler_pic='-KPIC' lt_prog_compiler_static='-Bstatic' case $cc_basename in @@ -2756,7 +2738,7 @@ index d4f3e1e..a6df5bb 100755 lt_prog_compiler_wl='-Qoption ld ';; *) lt_prog_compiler_wl='-Wl,';; -@@ -8546,13 +9050,17 @@ case $host_os in +@@ -8550,13 +9054,17 @@ case $host_os in lt_prog_compiler_pic="$lt_prog_compiler_pic -DPIC" ;; esac @@ -2780,7 +2762,7 @@ index d4f3e1e..a6df5bb 100755 # # Check to make sure the PIC flag actually works. -@@ -8613,6 +9121,11 @@ fi +@@ -8617,6 +9125,11 @@ fi @@ -2792,7 +2774,7 @@ index d4f3e1e..a6df5bb 100755 # # Check to make sure the static flag actually works. # -@@ -8963,7 +9476,8 @@ _LT_EOF +@@ -8967,7 +9480,8 @@ _LT_EOF allow_undefined_flag=unsupported always_export_symbols=no enable_shared_with_static_runtimes=yes @@ -2802,7 +2784,7 @@ index d4f3e1e..a6df5bb 100755 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' -@@ -9062,12 +9576,12 @@ _LT_EOF +@@ -9066,12 +9580,12 @@ _LT_EOF whole_archive_flag_spec='--whole-archive$convenience --no-whole-archive' hardcode_libdir_flag_spec= hardcode_libdir_flag_spec_ld='-rpath $libdir' @@ -2817,7 +2799,7 @@ index d4f3e1e..a6df5bb 100755 fi ;; esac -@@ -9081,8 +9595,8 @@ _LT_EOF +@@ -9085,8 +9599,8 @@ _LT_EOF archive_cmds='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib' wlarc= else @@ -2828,7 +2810,7 @@ index d4f3e1e..a6df5bb 100755 fi ;; -@@ -9100,8 +9614,8 @@ _LT_EOF +@@ -9104,8 +9618,8 @@ _LT_EOF _LT_EOF elif $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then @@ -2839,7 +2821,7 @@ index d4f3e1e..a6df5bb 100755 else ld_shlibs=no fi -@@ -9147,8 +9661,8 @@ _LT_EOF +@@ -9151,8 +9665,8 @@ _LT_EOF *) if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then @@ -2850,7 +2832,7 @@ index d4f3e1e..a6df5bb 100755 else ld_shlibs=no fi -@@ -9278,7 +9792,13 @@ _LT_EOF +@@ -9282,7 +9796,13 @@ _LT_EOF allow_undefined_flag='-berok' # Determine the default libpath from the value encoded in an # empty executable. @@ -2865,7 +2847,7 @@ index d4f3e1e..a6df5bb 100755 /* end confdefs.h. */ int -@@ -9291,22 +9811,29 @@ main () +@@ -9295,22 +9815,29 @@ main () _ACEOF if ac_fn_c_try_link "$LINENO"; then : @@ -2908,7 +2890,7 @@ index d4f3e1e..a6df5bb 100755 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" -@@ -9318,7 +9845,13 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi +@@ -9322,7 +9849,13 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi else # Determine the default libpath from the value encoded in an # empty executable. @@ -2923,7 +2905,7 @@ index d4f3e1e..a6df5bb 100755 /* end confdefs.h. */ int -@@ -9331,22 +9864,29 @@ main () +@@ -9335,22 +9868,29 @@ main () _ACEOF if ac_fn_c_try_link "$LINENO"; then : @@ -2966,7 +2948,7 @@ index d4f3e1e..a6df5bb 100755 hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath" # Warning - without using the other run time loading flags, -@@ -9391,20 +9931,63 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi +@@ -9395,20 +9935,63 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi # Microsoft Visual C++. # hardcode_libdir_flag_spec is actually meaningless, as there is # no search path for DLLs. @@ -3044,7 +3026,7 @@ index d4f3e1e..a6df5bb 100755 ;; darwin* | rhapsody*) -@@ -9465,7 +10048,7 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi +@@ -9469,7 +10052,7 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi # FreeBSD 3 and greater uses gcc -shared to do shared libraries. freebsd* | dragonfly*) @@ -3053,7 +3035,7 @@ index d4f3e1e..a6df5bb 100755 hardcode_libdir_flag_spec='-R$libdir' hardcode_direct=yes hardcode_shlibpath_var=no -@@ -9473,7 +10056,7 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi +@@ -9477,7 +10060,7 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi hpux9*) if test "$GCC" = yes; then @@ -3062,7 +3044,7 @@ index d4f3e1e..a6df5bb 100755 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 -@@ -9489,7 +10072,7 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi +@@ -9493,7 +10076,7 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi hpux10*) if test "$GCC" = yes && test "$with_gnu_ld" = no; then @@ -3071,7 +3053,7 @@ index d4f3e1e..a6df5bb 100755 else archive_cmds='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags' fi -@@ -9513,10 +10096,10 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi +@@ -9517,10 +10100,10 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi archive_cmds='$CC -shared ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' ;; ia64*) @@ -3084,7 +3066,7 @@ index d4f3e1e..a6df5bb 100755 ;; esac else -@@ -9595,23 +10178,36 @@ fi +@@ -9599,23 +10182,36 @@ fi irix5* | irix6* | nonstopux*) if test "$GCC" = yes; then @@ -3129,7 +3111,7 @@ index d4f3e1e..a6df5bb 100755 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' -@@ -9696,7 +10292,7 @@ rm -f core conftest.err conftest.$ac_objext \ +@@ -9700,7 +10296,7 @@ rm -f core conftest.err conftest.$ac_objext \ osf4* | osf5*) # as osf3* with the addition of -msym flag if test "$GCC" = yes; then allow_undefined_flag=' ${wl}-expect_unresolved ${wl}\*' @@ -3138,7 +3120,7 @@ index d4f3e1e..a6df5bb 100755 hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' else allow_undefined_flag=' -expect_unresolved \*' -@@ -9715,9 +10311,9 @@ rm -f core conftest.err conftest.$ac_objext \ +@@ -9719,9 +10315,9 @@ rm -f core conftest.err conftest.$ac_objext \ no_undefined_flag=' -z defs' if test "$GCC" = yes; then wlarc='${wl}' @@ -3150,7 +3132,7 @@ index d4f3e1e..a6df5bb 100755 else case `$CC -V 2>&1` in *"Compilers 5.0"*) -@@ -10293,8 +10889,9 @@ cygwin* | mingw* | pw32* | cegcc*) +@@ -10297,8 +10893,9 @@ cygwin* | mingw* | pw32* | cegcc*) need_version=no need_lib_prefix=no @@ -3162,7 +3144,7 @@ index d4f3e1e..a6df5bb 100755 library_names_spec='$libname.dll.a' # DLL is installed to $(libdir)/../bin by postinstall_cmds postinstall_cmds='base_file=`basename \${file}`~ -@@ -10327,13 +10924,71 @@ cygwin* | mingw* | pw32* | cegcc*) +@@ -10331,13 +10928,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 @@ -3235,7 +3217,7 @@ index d4f3e1e..a6df5bb 100755 # FIXME: first we should search . and the directory the executable is in shlibpath_var=PATH ;; -@@ -10425,7 +11080,7 @@ haiku*) +@@ -10429,7 +11084,7 @@ haiku*) soname_spec='${libname}${release}${shared_ext}$major' shlibpath_var=LIBRARY_PATH shlibpath_overrides_runpath=yes @@ -3244,16 +3226,7 @@ index d4f3e1e..a6df5bb 100755 hardcode_into_libs=yes ;; -@@ -11221,7 +11876,7 @@ else - lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 - lt_status=$lt_dlunknown - cat > conftest.$ac_ext <<_LT_EOF --#line 11224 "configure" -+#line $LINENO "configure" - #include "confdefs.h" - - #if HAVE_DLFCN_H -@@ -11265,10 +11920,10 @@ else +@@ -11269,10 +11924,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)) @@ -3266,16 +3239,7 @@ index d4f3e1e..a6df5bb 100755 int main () { void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW); -@@ -11327,7 +11982,7 @@ else - lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 - lt_status=$lt_dlunknown - cat > conftest.$ac_ext <<_LT_EOF --#line 11330 "configure" -+#line $LINENO "configure" - #include "confdefs.h" - - #if HAVE_DLFCN_H -@@ -11371,10 +12026,10 @@ else +@@ -11375,10 +12030,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)) @@ -3288,7 +3252,7 @@ index d4f3e1e..a6df5bb 100755 int main () { void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW); -@@ -15355,13 +16010,20 @@ exeext='`$ECHO "$exeext" | $SED "$delay_single_quote_subst"`' +@@ -15392,13 +16047,20 @@ exeext='`$ECHO "$exeext" | $SED "$delay_single_quote_subst"`' lt_unset='`$ECHO "$lt_unset" | $SED "$delay_single_quote_subst"`' lt_SP2NL='`$ECHO "$lt_SP2NL" | $SED "$delay_single_quote_subst"`' lt_NL2SP='`$ECHO "$lt_NL2SP" | $SED "$delay_single_quote_subst"`' @@ -3309,7 +3273,7 @@ index d4f3e1e..a6df5bb 100755 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"`' -@@ -15376,14 +16038,17 @@ lt_cv_sys_global_symbol_pipe='`$ECHO "$lt_cv_sys_global_symbol_pipe" | $SED "$de +@@ -15413,14 +16075,17 @@ lt_cv_sys_global_symbol_pipe='`$ECHO "$lt_cv_sys_global_symbol_pipe" | $SED "$de lt_cv_sys_global_symbol_to_cdecl='`$ECHO "$lt_cv_sys_global_symbol_to_cdecl" | $SED "$delay_single_quote_subst"`' lt_cv_sys_global_symbol_to_c_name_address='`$ECHO "$lt_cv_sys_global_symbol_to_c_name_address" | $SED "$delay_single_quote_subst"`' lt_cv_sys_global_symbol_to_c_name_address_lib_prefix='`$ECHO "$lt_cv_sys_global_symbol_to_c_name_address_lib_prefix" | $SED "$delay_single_quote_subst"`' @@ -3328,7 +3292,7 @@ index d4f3e1e..a6df5bb 100755 DSYMUTIL='`$ECHO "$DSYMUTIL" | $SED "$delay_single_quote_subst"`' NMEDIT='`$ECHO "$NMEDIT" | $SED "$delay_single_quote_subst"`' LIPO='`$ECHO "$LIPO" | $SED "$delay_single_quote_subst"`' -@@ -15416,12 +16081,12 @@ hardcode_shlibpath_var='`$ECHO "$hardcode_shlibpath_var" | $SED "$delay_single_q +@@ -15453,12 +16118,12 @@ hardcode_shlibpath_var='`$ECHO "$hardcode_shlibpath_var" | $SED "$delay_single_q hardcode_automatic='`$ECHO "$hardcode_automatic" | $SED "$delay_single_quote_subst"`' inherit_rpath='`$ECHO "$inherit_rpath" | $SED "$delay_single_quote_subst"`' link_all_deplibs='`$ECHO "$link_all_deplibs" | $SED "$delay_single_quote_subst"`' @@ -3342,7 +3306,7 @@ index d4f3e1e..a6df5bb 100755 file_list_spec='`$ECHO "$file_list_spec" | $SED "$delay_single_quote_subst"`' variables_saved_for_relink='`$ECHO "$variables_saved_for_relink" | $SED "$delay_single_quote_subst"`' need_lib_prefix='`$ECHO "$need_lib_prefix" | $SED "$delay_single_quote_subst"`' -@@ -15476,8 +16141,13 @@ reload_flag \ +@@ -15513,8 +16178,13 @@ reload_flag \ OBJDUMP \ deplibs_check_method \ file_magic_cmd \ @@ -3356,7 +3320,7 @@ index d4f3e1e..a6df5bb 100755 STRIP \ RANLIB \ CC \ -@@ -15487,12 +16157,14 @@ lt_cv_sys_global_symbol_pipe \ +@@ -15524,12 +16194,14 @@ lt_cv_sys_global_symbol_pipe \ lt_cv_sys_global_symbol_to_cdecl \ lt_cv_sys_global_symbol_to_c_name_address \ lt_cv_sys_global_symbol_to_c_name_address_lib_prefix \ @@ -3372,7 +3336,7 @@ index d4f3e1e..a6df5bb 100755 DSYMUTIL \ NMEDIT \ LIPO \ -@@ -15508,7 +16180,6 @@ no_undefined_flag \ +@@ -15545,7 +16217,6 @@ no_undefined_flag \ hardcode_libdir_flag_spec \ hardcode_libdir_flag_spec_ld \ hardcode_libdir_separator \ @@ -3380,7 +3344,7 @@ index d4f3e1e..a6df5bb 100755 exclude_expsyms \ include_expsyms \ file_list_spec \ -@@ -15544,6 +16215,7 @@ module_cmds \ +@@ -15581,6 +16252,7 @@ module_cmds \ module_expsym_cmds \ export_symbols_cmds \ prelink_cmds \ @@ -3388,7 +3352,7 @@ index d4f3e1e..a6df5bb 100755 postinstall_cmds \ postuninstall_cmds \ finish_cmds \ -@@ -16301,7 +16973,8 @@ $as_echo X"$file" | +@@ -16338,7 +17010,8 @@ $as_echo X"$file" | # NOTE: Changes made to this file will be lost: look at ltmain.sh. # # Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005, @@ -3398,7 +3362,7 @@ index d4f3e1e..a6df5bb 100755 # Written by Gordon Matzigkeit, 1996 # # This file is part of GNU Libtool. -@@ -16404,19 +17077,42 @@ SP2NL=$lt_lt_SP2NL +@@ -16441,19 +17114,42 @@ SP2NL=$lt_lt_SP2NL # turn newlines into spaces. NL2SP=$lt_lt_NL2SP @@ -3442,7 +3406,7 @@ index d4f3e1e..a6df5bb 100755 # A symbol stripping program. STRIP=$lt_STRIP -@@ -16446,6 +17142,12 @@ global_symbol_to_c_name_address=$lt_lt_cv_sys_global_symbol_to_c_name_address +@@ -16483,6 +17179,12 @@ global_symbol_to_c_name_address=$lt_lt_cv_sys_global_symbol_to_c_name_address # Transform the output of nm in a C name address pair when lib prefix is needed. global_symbol_to_c_name_address_lib_prefix=$lt_lt_cv_sys_global_symbol_to_c_name_address_lib_prefix @@ -3455,7 +3419,7 @@ index d4f3e1e..a6df5bb 100755 # The name of the directory that contains temporary libtool files. objdir=$objdir -@@ -16455,6 +17157,9 @@ MAGIC_CMD=$MAGIC_CMD +@@ -16492,6 +17194,9 @@ MAGIC_CMD=$MAGIC_CMD # Must we lock files when doing compilation? need_locks=$lt_need_locks @@ -3465,7 +3429,7 @@ index d4f3e1e..a6df5bb 100755 # Tool to manipulate archived DWARF debug symbol files on Mac OS X. DSYMUTIL=$lt_DSYMUTIL -@@ -16569,12 +17274,12 @@ with_gcc=$GCC +@@ -16606,12 +17311,12 @@ with_gcc=$GCC # Compiler flag to turn off builtin functions. no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag @@ -3481,7 +3445,7 @@ index d4f3e1e..a6df5bb 100755 # Compiler flag to prevent dynamic linking. link_static_flag=$lt_lt_prog_compiler_static -@@ -16661,9 +17366,6 @@ inherit_rpath=$inherit_rpath +@@ -16698,9 +17403,6 @@ inherit_rpath=$inherit_rpath # Whether libtool must link a program against all its dependency libraries. link_all_deplibs=$link_all_deplibs @@ -3491,7 +3455,7 @@ index d4f3e1e..a6df5bb 100755 # Set to "yes" if exported symbols are required. always_export_symbols=$always_export_symbols -@@ -16679,6 +17381,9 @@ include_expsyms=$lt_include_expsyms +@@ -16716,6 +17418,9 @@ include_expsyms=$lt_include_expsyms # Commands necessary for linking programs (against libraries) with templates. prelink_cmds=$lt_prelink_cmds @@ -3501,7 +3465,7 @@ index d4f3e1e..a6df5bb 100755 # Specify filename containing input files. file_list_spec=$lt_file_list_spec -@@ -16711,210 +17416,169 @@ ltmain="$ac_aux_dir/ltmain.sh" +@@ -16748,210 +17453,169 @@ ltmain="$ac_aux_dir/ltmain.sh" # if finds mixed CR/LF and LF-only lines. Since sed operates in # text mode, it properly converts lines to CR/LF. This bash problem # is reportedly fixed, but why not run on old versions too? @@ -3876,10 +3840,10 @@ index d4f3e1e..a6df5bb 100755 chmod +x "$ofile" diff --git a/configure b/configure -index 85414ab..34b66f7 100755 +index 2a74a77..ad3dfb7 100755 --- a/configure +++ b/configure -@@ -3445,7 +3445,7 @@ case "${target}" in +@@ -3444,7 +3444,7 @@ case "${target}" in ;; s390-*-* | s390x-*-*) ;; @@ -3888,7 +3852,7 @@ index 85414ab..34b66f7 100755 ;; sh64-*-* | sh5*-*-*) ;; -@@ -3939,7 +3939,7 @@ case "${target}" in +@@ -3946,7 +3946,7 @@ case "${target}" in or1k*-*-*) noconfigdirs="$noconfigdirs gdb" ;; @@ -3898,10 +3862,10 @@ index 85414ab..34b66f7 100755 sh*-*-elf) ;; diff --git a/gas/configure b/gas/configure -index dd9c953..89f18b3 100755 +index f7753b8..45da030 100755 --- a/gas/configure +++ b/gas/configure -@@ -647,8 +647,11 @@ OTOOL +@@ -648,8 +648,11 @@ OTOOL LIPO NMEDIT DSYMUTIL @@ -3913,7 +3877,7 @@ index dd9c953..89f18b3 100755 OBJDUMP LN_S NM -@@ -759,6 +762,7 @@ enable_static +@@ -761,6 +764,7 @@ enable_static with_pic enable_fast_install with_gnu_ld @@ -3921,16 +3885,7 @@ index dd9c953..89f18b3 100755 enable_libtool_lock enable_plugins enable_largefile -@@ -1430,6 +1434,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-system-zlib use installed libz - - Some influential environment variables: -@@ -4909,8 +4915,8 @@ esac +@@ -4919,8 +4923,8 @@ esac @@ -3941,7 +3896,7 @@ index dd9c953..89f18b3 100755 -@@ -4950,7 +4956,7 @@ ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO$ECHO +@@ -4960,7 +4964,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. @@ -3950,7 +3905,7 @@ index dd9c953..89f18b3 100755 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 -@@ -5636,8 +5642,8 @@ $as_echo_n "checking whether the shell understands some XSI constructs... " >&6; +@@ -5646,8 +5650,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" @@ -3961,7 +3916,7 @@ index dd9c953..89f18b3 100755 && eval 'test $(( 1 + 1 )) -eq 2 \ && test "${#_lt_dummy}" -eq 5' ) >/dev/null 2>&1 \ && xsi_shell=yes -@@ -5686,6 +5692,80 @@ esac +@@ -5696,6 +5700,80 @@ esac @@ -4042,7 +3997,7 @@ index dd9c953..89f18b3 100755 { $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 : -@@ -5702,6 +5782,11 @@ case $reload_flag in +@@ -5712,6 +5790,11 @@ case $reload_flag in esac reload_cmds='$LD$reload_flag -o $output$reload_objs' case $host_os in @@ -4054,7 +4009,7 @@ index dd9c953..89f18b3 100755 darwin*) if test "$GCC" = yes; then reload_cmds='$LTCC $LTCFLAGS -nostdlib ${wl}-r -o $output$reload_objs' -@@ -5870,7 +5955,8 @@ mingw* | pw32*) +@@ -5880,7 +5963,8 @@ mingw* | pw32*) lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL' lt_cv_file_magic_cmd='func_win32_libid' else @@ -4064,7 +4019,7 @@ index dd9c953..89f18b3 100755 lt_cv_file_magic_cmd='$OBJDUMP -f' fi ;; -@@ -6024,6 +6110,21 @@ esac +@@ -6034,6 +6118,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; } @@ -4086,7 +4041,7 @@ index dd9c953..89f18b3 100755 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 -@@ -6039,9 +6140,162 @@ test -z "$deplibs_check_method" && deplibs_check_method=unknown +@@ -6049,9 +6148,162 @@ test -z "$deplibs_check_method" && deplibs_check_method=unknown @@ -4251,7 +4206,7 @@ index dd9c953..89f18b3 100755 { $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 : -@@ -6057,7 +6311,7 @@ do +@@ -6067,7 +6319,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 @@ -4260,7 +4215,7 @@ index dd9c953..89f18b3 100755 $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi -@@ -6077,11 +6331,15 @@ $as_echo "no" >&6; } +@@ -6087,11 +6339,15 @@ $as_echo "no" >&6; } fi @@ -4279,7 +4234,7 @@ index dd9c953..89f18b3 100755 { $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 : -@@ -6097,7 +6355,7 @@ do +@@ -6107,7 +6363,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 @@ -4288,7 +4243,7 @@ index dd9c953..89f18b3 100755 $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi -@@ -6116,6 +6374,10 @@ else +@@ -6126,6 +6382,10 @@ else $as_echo "no" >&6; } fi @@ -4299,7 +4254,7 @@ index dd9c953..89f18b3 100755 if test "x$ac_ct_AR" = x; then AR="false" else -@@ -6127,12 +6389,10 @@ ac_tool_warned=yes ;; +@@ -6137,12 +6397,10 @@ ac_tool_warned=yes ;; esac AR=$ac_ct_AR fi @@ -4314,7 +4269,7 @@ index dd9c953..89f18b3 100755 -@@ -6144,6 +6404,64 @@ test -z "$AR_FLAGS" && AR_FLAGS=cru +@@ -6154,6 +6412,64 @@ test -z "$AR_FLAGS" && AR_FLAGS=cru @@ -4379,7 +4334,7 @@ index dd9c953..89f18b3 100755 if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args. set dummy ${ac_tool_prefix}strip; ac_word=$2 -@@ -6478,8 +6796,8 @@ esac +@@ -6488,8 +6804,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 @@ -4390,7 +4345,7 @@ index dd9c953..89f18b3 100755 # Handle CRLF in mingw tool chain opt_cr= -@@ -6515,6 +6833,7 @@ for ac_symprfx in "" "_"; do +@@ -6525,6 +6841,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 @@ -4398,7 +4353,7 @@ index dd9c953..89f18b3 100755 # Check to see that the pipe works correctly. pipe_works=no -@@ -6556,6 +6875,18 @@ _LT_EOF +@@ -6566,6 +6883,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 @@ -4417,7 +4372,7 @@ index dd9c953..89f18b3 100755 #ifdef __cplusplus extern "C" { #endif -@@ -6567,7 +6898,7 @@ _LT_EOF +@@ -6577,7 +6906,7 @@ _LT_EOF cat <<_LT_EOF >> conftest.$ac_ext /* The mapping between symbol names and symbols. */ @@ -4426,7 +4381,7 @@ index dd9c953..89f18b3 100755 const char *name; void *address; } -@@ -6593,8 +6924,8 @@ static const void *lt_preloaded_setup() { +@@ -6603,8 +6932,8 @@ static const void *lt_preloaded_setup() { _LT_EOF # Now try linking the two files. mv conftest.$ac_objext conftstm.$ac_objext @@ -4437,7 +4392,7 @@ index dd9c953..89f18b3 100755 LIBS="conftstm.$ac_objext" CFLAGS="$CFLAGS$lt_prog_compiler_no_builtin_flag" if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5 -@@ -6604,8 +6935,8 @@ _LT_EOF +@@ -6614,8 +6943,8 @@ _LT_EOF test $ac_status = 0; } && test -s conftest${ac_exeext}; then pipe_works=yes fi @@ -4448,7 +4403,7 @@ index dd9c953..89f18b3 100755 else echo "cannot find nm_test_func in $nlist" >&5 fi -@@ -6642,6 +6973,21 @@ else +@@ -6652,6 +6981,21 @@ else $as_echo "ok" >&6; } fi @@ -4470,7 +4425,7 @@ index dd9c953..89f18b3 100755 -@@ -6660,6 +7006,40 @@ fi +@@ -6670,6 +7014,40 @@ fi @@ -4511,7 +4466,7 @@ index dd9c953..89f18b3 100755 -@@ -6869,6 +7249,123 @@ esac +@@ -6879,6 +7257,123 @@ esac need_locks="$enable_libtool_lock" @@ -4635,7 +4590,7 @@ index dd9c953..89f18b3 100755 case $host_os in rhapsody* | darwin*) -@@ -7432,6 +7929,8 @@ _LT_EOF +@@ -7442,6 +7937,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 @@ -4644,7 +4599,7 @@ index dd9c953..89f18b3 100755 cat > conftest.c << _LT_EOF int main() { return 0;} _LT_EOF -@@ -7627,7 +8126,8 @@ fi +@@ -7637,7 +8134,8 @@ fi LIBTOOL_DEPS="$ltmain" # Always use our own libtool. @@ -4654,7 +4609,7 @@ index dd9c953..89f18b3 100755 -@@ -7716,7 +8216,7 @@ aix3*) +@@ -7726,7 +8224,7 @@ aix3*) esac # Global variables: @@ -4663,7 +4618,7 @@ index dd9c953..89f18b3 100755 can_build_shared=yes # All known linkers require a `.a' archive for static linking (except MSVC, -@@ -8014,8 +8514,6 @@ fi +@@ -8024,8 +8522,6 @@ fi lt_prog_compiler_pic= lt_prog_compiler_static= @@ -4672,7 +4627,7 @@ index dd9c953..89f18b3 100755 if test "$GCC" = yes; then lt_prog_compiler_wl='-Wl,' -@@ -8181,6 +8679,12 @@ $as_echo_n "checking for $compiler option to produce PIC... " >&6; } +@@ -8191,6 +8687,12 @@ $as_echo_n "checking for $compiler option to produce PIC... " >&6; } lt_prog_compiler_pic='--shared' lt_prog_compiler_static='--static' ;; @@ -4685,7 +4640,7 @@ index dd9c953..89f18b3 100755 pgcc* | pgf77* | pgf90* | pgf95* | pgfortran*) # Portland Group compilers (*not* the Pentium gcc compiler, # which looks to be a dead project) -@@ -8243,7 +8747,7 @@ $as_echo_n "checking for $compiler option to produce PIC... " >&6; } +@@ -8253,7 +8755,7 @@ $as_echo_n "checking for $compiler option to produce PIC... " >&6; } lt_prog_compiler_pic='-KPIC' lt_prog_compiler_static='-Bstatic' case $cc_basename in @@ -4694,7 +4649,7 @@ index dd9c953..89f18b3 100755 lt_prog_compiler_wl='-Qoption ld ';; *) lt_prog_compiler_wl='-Wl,';; -@@ -8300,13 +8804,17 @@ case $host_os in +@@ -8310,13 +8812,17 @@ case $host_os in lt_prog_compiler_pic="$lt_prog_compiler_pic -DPIC" ;; esac @@ -4718,7 +4673,7 @@ index dd9c953..89f18b3 100755 # # Check to make sure the PIC flag actually works. -@@ -8367,6 +8875,11 @@ fi +@@ -8377,6 +8883,11 @@ fi @@ -4730,7 +4685,7 @@ index dd9c953..89f18b3 100755 # # Check to make sure the static flag actually works. # -@@ -8717,7 +9230,8 @@ _LT_EOF +@@ -8727,7 +9238,8 @@ _LT_EOF allow_undefined_flag=unsupported always_export_symbols=no enable_shared_with_static_runtimes=yes @@ -4740,7 +4695,7 @@ index dd9c953..89f18b3 100755 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' -@@ -8816,12 +9330,12 @@ _LT_EOF +@@ -8826,12 +9338,12 @@ _LT_EOF whole_archive_flag_spec='--whole-archive$convenience --no-whole-archive' hardcode_libdir_flag_spec= hardcode_libdir_flag_spec_ld='-rpath $libdir' @@ -4755,7 +4710,7 @@ index dd9c953..89f18b3 100755 fi ;; esac -@@ -8835,8 +9349,8 @@ _LT_EOF +@@ -8845,8 +9357,8 @@ _LT_EOF archive_cmds='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib' wlarc= else @@ -4766,7 +4721,7 @@ index dd9c953..89f18b3 100755 fi ;; -@@ -8854,8 +9368,8 @@ _LT_EOF +@@ -8864,8 +9376,8 @@ _LT_EOF _LT_EOF elif $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then @@ -4777,7 +4732,7 @@ index dd9c953..89f18b3 100755 else ld_shlibs=no fi -@@ -8901,8 +9415,8 @@ _LT_EOF +@@ -8911,8 +9423,8 @@ _LT_EOF *) if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then @@ -4788,7 +4743,7 @@ index dd9c953..89f18b3 100755 else ld_shlibs=no fi -@@ -9032,7 +9546,13 @@ _LT_EOF +@@ -9042,7 +9554,13 @@ _LT_EOF allow_undefined_flag='-berok' # Determine the default libpath from the value encoded in an # empty executable. @@ -4803,7 +4758,7 @@ index dd9c953..89f18b3 100755 /* end confdefs.h. */ int -@@ -9045,22 +9565,29 @@ main () +@@ -9055,22 +9573,29 @@ main () _ACEOF if ac_fn_c_try_link "$LINENO"; then : @@ -4846,7 +4801,7 @@ index dd9c953..89f18b3 100755 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" -@@ -9072,7 +9599,13 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi +@@ -9082,7 +9607,13 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi else # Determine the default libpath from the value encoded in an # empty executable. @@ -4861,7 +4816,7 @@ index dd9c953..89f18b3 100755 /* end confdefs.h. */ int -@@ -9085,22 +9618,29 @@ main () +@@ -9095,22 +9626,29 @@ main () _ACEOF if ac_fn_c_try_link "$LINENO"; then : @@ -4904,7 +4859,7 @@ index dd9c953..89f18b3 100755 hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath" # Warning - without using the other run time loading flags, -@@ -9145,20 +9685,63 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi +@@ -9155,20 +9693,63 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi # Microsoft Visual C++. # hardcode_libdir_flag_spec is actually meaningless, as there is # no search path for DLLs. @@ -4982,7 +4937,7 @@ index dd9c953..89f18b3 100755 ;; darwin* | rhapsody*) -@@ -9219,7 +9802,7 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi +@@ -9229,7 +9810,7 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi # FreeBSD 3 and greater uses gcc -shared to do shared libraries. freebsd* | dragonfly*) @@ -4991,7 +4946,7 @@ index dd9c953..89f18b3 100755 hardcode_libdir_flag_spec='-R$libdir' hardcode_direct=yes hardcode_shlibpath_var=no -@@ -9227,7 +9810,7 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi +@@ -9237,7 +9818,7 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi hpux9*) if test "$GCC" = yes; then @@ -5000,7 +4955,7 @@ index dd9c953..89f18b3 100755 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 -@@ -9243,7 +9826,7 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi +@@ -9253,7 +9834,7 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi hpux10*) if test "$GCC" = yes && test "$with_gnu_ld" = no; then @@ -5009,7 +4964,7 @@ index dd9c953..89f18b3 100755 else archive_cmds='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags' fi -@@ -9267,10 +9850,10 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi +@@ -9277,10 +9858,10 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi archive_cmds='$CC -shared ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' ;; ia64*) @@ -5022,7 +4977,7 @@ index dd9c953..89f18b3 100755 ;; esac else -@@ -9349,23 +9932,36 @@ fi +@@ -9359,23 +9940,36 @@ fi irix5* | irix6* | nonstopux*) if test "$GCC" = yes; then @@ -5067,7 +5022,7 @@ index dd9c953..89f18b3 100755 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' -@@ -9450,7 +10046,7 @@ rm -f core conftest.err conftest.$ac_objext \ +@@ -9460,7 +10054,7 @@ rm -f core conftest.err conftest.$ac_objext \ osf4* | osf5*) # as osf3* with the addition of -msym flag if test "$GCC" = yes; then allow_undefined_flag=' ${wl}-expect_unresolved ${wl}\*' @@ -5076,7 +5031,7 @@ index dd9c953..89f18b3 100755 hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' else allow_undefined_flag=' -expect_unresolved \*' -@@ -9469,9 +10065,9 @@ rm -f core conftest.err conftest.$ac_objext \ +@@ -9479,9 +10073,9 @@ rm -f core conftest.err conftest.$ac_objext \ no_undefined_flag=' -z defs' if test "$GCC" = yes; then wlarc='${wl}' @@ -5088,7 +5043,7 @@ index dd9c953..89f18b3 100755 else case `$CC -V 2>&1` in *"Compilers 5.0"*) -@@ -10047,8 +10643,9 @@ cygwin* | mingw* | pw32* | cegcc*) +@@ -10057,8 +10651,9 @@ cygwin* | mingw* | pw32* | cegcc*) need_version=no need_lib_prefix=no @@ -5100,7 +5055,7 @@ index dd9c953..89f18b3 100755 library_names_spec='$libname.dll.a' # DLL is installed to $(libdir)/../bin by postinstall_cmds postinstall_cmds='base_file=`basename \${file}`~ -@@ -10081,13 +10678,71 @@ cygwin* | mingw* | pw32* | cegcc*) +@@ -10091,13 +10686,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 @@ -5173,7 +5128,7 @@ index dd9c953..89f18b3 100755 # FIXME: first we should search . and the directory the executable is in shlibpath_var=PATH ;; -@@ -10179,7 +10834,7 @@ haiku*) +@@ -10189,7 +10842,7 @@ haiku*) soname_spec='${libname}${release}${shared_ext}$major' shlibpath_var=LIBRARY_PATH shlibpath_overrides_runpath=yes @@ -5182,16 +5137,7 @@ index dd9c953..89f18b3 100755 hardcode_into_libs=yes ;; -@@ -10975,7 +11630,7 @@ else - lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 - lt_status=$lt_dlunknown - cat > conftest.$ac_ext <<_LT_EOF --#line 10978 "configure" -+#line $LINENO "configure" - #include "confdefs.h" - - #if HAVE_DLFCN_H -@@ -11019,10 +11674,10 @@ else +@@ -11029,10 +11682,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)) @@ -5204,16 +5150,7 @@ index dd9c953..89f18b3 100755 int main () { void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW); -@@ -11081,7 +11736,7 @@ else - lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 - lt_status=$lt_dlunknown - cat > conftest.$ac_ext <<_LT_EOF --#line 11084 "configure" -+#line $LINENO "configure" - #include "confdefs.h" - - #if HAVE_DLFCN_H -@@ -11125,10 +11780,10 @@ else +@@ -11135,10 +11788,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)) @@ -5226,7 +5163,7 @@ index dd9c953..89f18b3 100755 int main () { void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW); -@@ -15276,13 +15931,20 @@ exeext='`$ECHO "$exeext" | $SED "$delay_single_quote_subst"`' +@@ -15350,13 +16003,20 @@ exeext='`$ECHO "$exeext" | $SED "$delay_single_quote_subst"`' lt_unset='`$ECHO "$lt_unset" | $SED "$delay_single_quote_subst"`' lt_SP2NL='`$ECHO "$lt_SP2NL" | $SED "$delay_single_quote_subst"`' lt_NL2SP='`$ECHO "$lt_NL2SP" | $SED "$delay_single_quote_subst"`' @@ -5247,7 +5184,7 @@ index dd9c953..89f18b3 100755 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"`' -@@ -15297,14 +15959,17 @@ lt_cv_sys_global_symbol_pipe='`$ECHO "$lt_cv_sys_global_symbol_pipe" | $SED "$de +@@ -15371,14 +16031,17 @@ lt_cv_sys_global_symbol_pipe='`$ECHO "$lt_cv_sys_global_symbol_pipe" | $SED "$de lt_cv_sys_global_symbol_to_cdecl='`$ECHO "$lt_cv_sys_global_symbol_to_cdecl" | $SED "$delay_single_quote_subst"`' lt_cv_sys_global_symbol_to_c_name_address='`$ECHO "$lt_cv_sys_global_symbol_to_c_name_address" | $SED "$delay_single_quote_subst"`' lt_cv_sys_global_symbol_to_c_name_address_lib_prefix='`$ECHO "$lt_cv_sys_global_symbol_to_c_name_address_lib_prefix" | $SED "$delay_single_quote_subst"`' @@ -5266,7 +5203,7 @@ index dd9c953..89f18b3 100755 DSYMUTIL='`$ECHO "$DSYMUTIL" | $SED "$delay_single_quote_subst"`' NMEDIT='`$ECHO "$NMEDIT" | $SED "$delay_single_quote_subst"`' LIPO='`$ECHO "$LIPO" | $SED "$delay_single_quote_subst"`' -@@ -15337,12 +16002,12 @@ hardcode_shlibpath_var='`$ECHO "$hardcode_shlibpath_var" | $SED "$delay_single_q +@@ -15411,12 +16074,12 @@ hardcode_shlibpath_var='`$ECHO "$hardcode_shlibpath_var" | $SED "$delay_single_q hardcode_automatic='`$ECHO "$hardcode_automatic" | $SED "$delay_single_quote_subst"`' inherit_rpath='`$ECHO "$inherit_rpath" | $SED "$delay_single_quote_subst"`' link_all_deplibs='`$ECHO "$link_all_deplibs" | $SED "$delay_single_quote_subst"`' @@ -5280,7 +5217,7 @@ index dd9c953..89f18b3 100755 file_list_spec='`$ECHO "$file_list_spec" | $SED "$delay_single_quote_subst"`' variables_saved_for_relink='`$ECHO "$variables_saved_for_relink" | $SED "$delay_single_quote_subst"`' need_lib_prefix='`$ECHO "$need_lib_prefix" | $SED "$delay_single_quote_subst"`' -@@ -15397,8 +16062,13 @@ reload_flag \ +@@ -15471,8 +16134,13 @@ reload_flag \ OBJDUMP \ deplibs_check_method \ file_magic_cmd \ @@ -5294,7 +5231,7 @@ index dd9c953..89f18b3 100755 STRIP \ RANLIB \ CC \ -@@ -15408,12 +16078,14 @@ lt_cv_sys_global_symbol_pipe \ +@@ -15482,12 +16150,14 @@ lt_cv_sys_global_symbol_pipe \ lt_cv_sys_global_symbol_to_cdecl \ lt_cv_sys_global_symbol_to_c_name_address \ lt_cv_sys_global_symbol_to_c_name_address_lib_prefix \ @@ -5310,7 +5247,7 @@ index dd9c953..89f18b3 100755 DSYMUTIL \ NMEDIT \ LIPO \ -@@ -15429,7 +16101,6 @@ no_undefined_flag \ +@@ -15503,7 +16173,6 @@ no_undefined_flag \ hardcode_libdir_flag_spec \ hardcode_libdir_flag_spec_ld \ hardcode_libdir_separator \ @@ -5318,7 +5255,7 @@ index dd9c953..89f18b3 100755 exclude_expsyms \ include_expsyms \ file_list_spec \ -@@ -15465,6 +16136,7 @@ module_cmds \ +@@ -15539,6 +16208,7 @@ module_cmds \ module_expsym_cmds \ export_symbols_cmds \ prelink_cmds \ @@ -5326,7 +5263,7 @@ index dd9c953..89f18b3 100755 postinstall_cmds \ postuninstall_cmds \ finish_cmds \ -@@ -16229,7 +16901,8 @@ $as_echo X"$file" | +@@ -16303,7 +16973,8 @@ $as_echo X"$file" | # NOTE: Changes made to this file will be lost: look at ltmain.sh. # # Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005, @@ -5336,7 +5273,7 @@ index dd9c953..89f18b3 100755 # Written by Gordon Matzigkeit, 1996 # # This file is part of GNU Libtool. -@@ -16332,19 +17005,42 @@ SP2NL=$lt_lt_SP2NL +@@ -16406,19 +17077,42 @@ SP2NL=$lt_lt_SP2NL # turn newlines into spaces. NL2SP=$lt_lt_NL2SP @@ -5380,7 +5317,7 @@ index dd9c953..89f18b3 100755 # A symbol stripping program. STRIP=$lt_STRIP -@@ -16374,6 +17070,12 @@ global_symbol_to_c_name_address=$lt_lt_cv_sys_global_symbol_to_c_name_address +@@ -16448,6 +17142,12 @@ global_symbol_to_c_name_address=$lt_lt_cv_sys_global_symbol_to_c_name_address # Transform the output of nm in a C name address pair when lib prefix is needed. global_symbol_to_c_name_address_lib_prefix=$lt_lt_cv_sys_global_symbol_to_c_name_address_lib_prefix @@ -5393,7 +5330,7 @@ index dd9c953..89f18b3 100755 # The name of the directory that contains temporary libtool files. objdir=$objdir -@@ -16383,6 +17085,9 @@ MAGIC_CMD=$MAGIC_CMD +@@ -16457,6 +17157,9 @@ MAGIC_CMD=$MAGIC_CMD # Must we lock files when doing compilation? need_locks=$lt_need_locks @@ -5403,7 +5340,7 @@ index dd9c953..89f18b3 100755 # Tool to manipulate archived DWARF debug symbol files on Mac OS X. DSYMUTIL=$lt_DSYMUTIL -@@ -16497,12 +17202,12 @@ with_gcc=$GCC +@@ -16571,12 +17274,12 @@ with_gcc=$GCC # Compiler flag to turn off builtin functions. no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag @@ -5419,7 +5356,7 @@ index dd9c953..89f18b3 100755 # Compiler flag to prevent dynamic linking. link_static_flag=$lt_lt_prog_compiler_static -@@ -16589,9 +17294,6 @@ inherit_rpath=$inherit_rpath +@@ -16663,9 +17366,6 @@ inherit_rpath=$inherit_rpath # Whether libtool must link a program against all its dependency libraries. link_all_deplibs=$link_all_deplibs @@ -5429,7 +5366,7 @@ index dd9c953..89f18b3 100755 # Set to "yes" if exported symbols are required. always_export_symbols=$always_export_symbols -@@ -16607,6 +17309,9 @@ include_expsyms=$lt_include_expsyms +@@ -16681,6 +17381,9 @@ include_expsyms=$lt_include_expsyms # Commands necessary for linking programs (against libraries) with templates. prelink_cmds=$lt_prelink_cmds @@ -5439,7 +5376,7 @@ index dd9c953..89f18b3 100755 # Specify filename containing input files. file_list_spec=$lt_file_list_spec -@@ -16639,210 +17344,169 @@ ltmain="$ac_aux_dir/ltmain.sh" +@@ -16713,210 +17416,169 @@ ltmain="$ac_aux_dir/ltmain.sh" # if finds mixed CR/LF and LF-only lines. Since sed operates in # text mode, it properly converts lines to CR/LF. This bash problem # is reportedly fixed, but why not run on old versions too? @@ -5814,10 +5751,10 @@ index dd9c953..89f18b3 100755 chmod +x "$ofile" diff --git a/gprof/configure b/gprof/configure -index d4db554..78b292c 100755 +index 626e1c7..a88719c 100755 --- a/gprof/configure +++ b/gprof/configure -@@ -629,8 +629,11 @@ OTOOL +@@ -630,8 +630,11 @@ OTOOL LIPO NMEDIT DSYMUTIL @@ -5829,7 +5766,7 @@ index d4db554..78b292c 100755 OBJDUMP LN_S NM -@@ -741,6 +744,7 @@ enable_static +@@ -743,6 +746,7 @@ enable_static with_pic enable_fast_install with_gnu_ld @@ -5837,7 +5774,7 @@ index d4db554..78b292c 100755 enable_libtool_lock enable_plugins enable_largefile -@@ -1399,6 +1403,8 @@ Optional Packages: +@@ -1401,6 +1405,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] @@ -5846,7 +5783,7 @@ index d4db554..78b292c 100755 Some influential environment variables: CC C compiler command -@@ -4831,8 +4837,8 @@ esac +@@ -4835,8 +4841,8 @@ esac @@ -5857,7 +5794,7 @@ index d4db554..78b292c 100755 -@@ -4872,7 +4878,7 @@ ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO$ECHO +@@ -4876,7 +4882,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. @@ -5866,7 +5803,7 @@ index d4db554..78b292c 100755 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 -@@ -5558,8 +5564,8 @@ $as_echo_n "checking whether the shell understands some XSI constructs... " >&6; +@@ -5562,8 +5568,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" @@ -5877,7 +5814,7 @@ index d4db554..78b292c 100755 && eval 'test $(( 1 + 1 )) -eq 2 \ && test "${#_lt_dummy}" -eq 5' ) >/dev/null 2>&1 \ && xsi_shell=yes -@@ -5608,6 +5614,80 @@ esac +@@ -5612,6 +5618,80 @@ esac @@ -5958,7 +5895,7 @@ index d4db554..78b292c 100755 { $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 : -@@ -5624,6 +5704,11 @@ case $reload_flag in +@@ -5628,6 +5708,11 @@ case $reload_flag in esac reload_cmds='$LD$reload_flag -o $output$reload_objs' case $host_os in @@ -5970,7 +5907,7 @@ index d4db554..78b292c 100755 darwin*) if test "$GCC" = yes; then reload_cmds='$LTCC $LTCFLAGS -nostdlib ${wl}-r -o $output$reload_objs' -@@ -5792,7 +5877,8 @@ mingw* | pw32*) +@@ -5796,7 +5881,8 @@ mingw* | pw32*) lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL' lt_cv_file_magic_cmd='func_win32_libid' else @@ -5980,7 +5917,7 @@ index d4db554..78b292c 100755 lt_cv_file_magic_cmd='$OBJDUMP -f' fi ;; -@@ -5869,11 +5955,6 @@ linux* | k*bsd*-gnu | kopensolaris*-gnu) +@@ -5873,11 +5959,6 @@ linux* | k*bsd*-gnu | kopensolaris*-gnu) lt_cv_deplibs_check_method=pass_all ;; @@ -5992,7 +5929,7 @@ index d4db554..78b292c 100755 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)$' -@@ -5951,6 +6032,21 @@ esac +@@ -5955,6 +6036,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; } @@ -6014,7 +5951,7 @@ index d4db554..78b292c 100755 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 -@@ -5966,9 +6062,162 @@ test -z "$deplibs_check_method" && deplibs_check_method=unknown +@@ -5970,9 +6066,162 @@ test -z "$deplibs_check_method" && deplibs_check_method=unknown @@ -6179,7 +6116,7 @@ index d4db554..78b292c 100755 { $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 : -@@ -5984,7 +6233,7 @@ do +@@ -5988,7 +6237,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 @@ -6188,7 +6125,7 @@ index d4db554..78b292c 100755 $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi -@@ -6004,11 +6253,15 @@ $as_echo "no" >&6; } +@@ -6008,11 +6257,15 @@ $as_echo "no" >&6; } fi @@ -6207,7 +6144,7 @@ index d4db554..78b292c 100755 { $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 : -@@ -6024,7 +6277,7 @@ do +@@ -6028,7 +6281,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 @@ -6216,7 +6153,7 @@ index d4db554..78b292c 100755 $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi -@@ -6043,6 +6296,10 @@ else +@@ -6047,6 +6300,10 @@ else $as_echo "no" >&6; } fi @@ -6227,7 +6164,7 @@ index d4db554..78b292c 100755 if test "x$ac_ct_AR" = x; then AR="false" else -@@ -6054,12 +6311,10 @@ ac_tool_warned=yes ;; +@@ -6058,12 +6315,10 @@ ac_tool_warned=yes ;; esac AR=$ac_ct_AR fi @@ -6242,7 +6179,7 @@ index d4db554..78b292c 100755 -@@ -6071,6 +6326,64 @@ test -z "$AR_FLAGS" && AR_FLAGS=cru +@@ -6075,6 +6330,64 @@ test -z "$AR_FLAGS" && AR_FLAGS=cru @@ -6307,7 +6244,7 @@ index d4db554..78b292c 100755 if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args. set dummy ${ac_tool_prefix}strip; ac_word=$2 -@@ -6405,8 +6718,8 @@ esac +@@ -6409,8 +6722,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 @@ -6318,7 +6255,7 @@ index d4db554..78b292c 100755 # Handle CRLF in mingw tool chain opt_cr= -@@ -6442,6 +6755,7 @@ for ac_symprfx in "" "_"; do +@@ -6446,6 +6759,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 @@ -6326,7 +6263,7 @@ index d4db554..78b292c 100755 # Check to see that the pipe works correctly. pipe_works=no -@@ -6483,6 +6797,18 @@ _LT_EOF +@@ -6487,6 +6801,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 @@ -6345,7 +6282,7 @@ index d4db554..78b292c 100755 #ifdef __cplusplus extern "C" { #endif -@@ -6494,7 +6820,7 @@ _LT_EOF +@@ -6498,7 +6824,7 @@ _LT_EOF cat <<_LT_EOF >> conftest.$ac_ext /* The mapping between symbol names and symbols. */ @@ -6354,7 +6291,7 @@ index d4db554..78b292c 100755 const char *name; void *address; } -@@ -6520,8 +6846,8 @@ static const void *lt_preloaded_setup() { +@@ -6524,8 +6850,8 @@ static const void *lt_preloaded_setup() { _LT_EOF # Now try linking the two files. mv conftest.$ac_objext conftstm.$ac_objext @@ -6365,7 +6302,7 @@ index d4db554..78b292c 100755 LIBS="conftstm.$ac_objext" CFLAGS="$CFLAGS$lt_prog_compiler_no_builtin_flag" if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5 -@@ -6531,8 +6857,8 @@ _LT_EOF +@@ -6535,8 +6861,8 @@ _LT_EOF test $ac_status = 0; } && test -s conftest${ac_exeext}; then pipe_works=yes fi @@ -6376,7 +6313,7 @@ index d4db554..78b292c 100755 else echo "cannot find nm_test_func in $nlist" >&5 fi -@@ -6569,6 +6895,18 @@ else +@@ -6573,6 +6899,18 @@ else $as_echo "ok" >&6; } fi @@ -6395,7 +6332,7 @@ index d4db554..78b292c 100755 -@@ -6590,6 +6928,43 @@ fi +@@ -6594,6 +6932,43 @@ fi @@ -6439,7 +6376,7 @@ index d4db554..78b292c 100755 # Check whether --enable-libtool-lock was given. if test "${enable_libtool_lock+set}" = set; then : enableval=$enable_libtool_lock; -@@ -6796,6 +7171,123 @@ esac +@@ -6800,6 +7175,123 @@ esac need_locks="$enable_libtool_lock" @@ -6563,7 +6500,7 @@ index d4db554..78b292c 100755 case $host_os in rhapsody* | darwin*) -@@ -7359,6 +7851,8 @@ _LT_EOF +@@ -7363,6 +7855,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 @@ -6572,7 +6509,7 @@ index d4db554..78b292c 100755 cat > conftest.c << _LT_EOF int main() { return 0;} _LT_EOF -@@ -7554,7 +8048,8 @@ fi +@@ -7558,7 +8052,8 @@ fi LIBTOOL_DEPS="$ltmain" # Always use our own libtool. @@ -6582,7 +6519,7 @@ index d4db554..78b292c 100755 -@@ -7643,7 +8138,7 @@ aix3*) +@@ -7647,7 +8142,7 @@ aix3*) esac # Global variables: @@ -6591,7 +6528,7 @@ index d4db554..78b292c 100755 can_build_shared=yes # All known linkers require a `.a' archive for static linking (except MSVC, -@@ -7941,8 +8436,6 @@ fi +@@ -7945,8 +8440,6 @@ fi lt_prog_compiler_pic= lt_prog_compiler_static= @@ -6600,7 +6537,7 @@ index d4db554..78b292c 100755 if test "$GCC" = yes; then lt_prog_compiler_wl='-Wl,' -@@ -8108,6 +8601,12 @@ $as_echo_n "checking for $compiler option to produce PIC... " >&6; } +@@ -8112,6 +8605,12 @@ $as_echo_n "checking for $compiler option to produce PIC... " >&6; } lt_prog_compiler_pic='--shared' lt_prog_compiler_static='--static' ;; @@ -6613,7 +6550,7 @@ index d4db554..78b292c 100755 pgcc* | pgf77* | pgf90* | pgf95* | pgfortran*) # Portland Group compilers (*not* the Pentium gcc compiler, # which looks to be a dead project) -@@ -8170,7 +8669,7 @@ $as_echo_n "checking for $compiler option to produce PIC... " >&6; } +@@ -8174,7 +8673,7 @@ $as_echo_n "checking for $compiler option to produce PIC... " >&6; } lt_prog_compiler_pic='-KPIC' lt_prog_compiler_static='-Bstatic' case $cc_basename in @@ -6622,7 +6559,7 @@ index d4db554..78b292c 100755 lt_prog_compiler_wl='-Qoption ld ';; *) lt_prog_compiler_wl='-Wl,';; -@@ -8227,13 +8726,17 @@ case $host_os in +@@ -8231,13 +8730,17 @@ case $host_os in lt_prog_compiler_pic="$lt_prog_compiler_pic -DPIC" ;; esac @@ -6646,7 +6583,7 @@ index d4db554..78b292c 100755 # # Check to make sure the PIC flag actually works. -@@ -8294,6 +8797,11 @@ fi +@@ -8298,6 +8801,11 @@ fi @@ -6658,7 +6595,7 @@ index d4db554..78b292c 100755 # # Check to make sure the static flag actually works. # -@@ -8644,7 +9152,8 @@ _LT_EOF +@@ -8648,7 +9156,8 @@ _LT_EOF allow_undefined_flag=unsupported always_export_symbols=no enable_shared_with_static_runtimes=yes @@ -6668,7 +6605,7 @@ index d4db554..78b292c 100755 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' -@@ -8743,12 +9252,12 @@ _LT_EOF +@@ -8747,12 +9256,12 @@ _LT_EOF whole_archive_flag_spec='--whole-archive$convenience --no-whole-archive' hardcode_libdir_flag_spec= hardcode_libdir_flag_spec_ld='-rpath $libdir' @@ -6683,7 +6620,7 @@ index d4db554..78b292c 100755 fi ;; esac -@@ -8762,8 +9271,8 @@ _LT_EOF +@@ -8766,8 +9275,8 @@ _LT_EOF archive_cmds='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib' wlarc= else @@ -6694,7 +6631,7 @@ index d4db554..78b292c 100755 fi ;; -@@ -8781,8 +9290,8 @@ _LT_EOF +@@ -8785,8 +9294,8 @@ _LT_EOF _LT_EOF elif $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then @@ -6705,7 +6642,7 @@ index d4db554..78b292c 100755 else ld_shlibs=no fi -@@ -8828,8 +9337,8 @@ _LT_EOF +@@ -8832,8 +9341,8 @@ _LT_EOF *) if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then @@ -6716,7 +6653,7 @@ index d4db554..78b292c 100755 else ld_shlibs=no fi -@@ -8959,7 +9468,13 @@ _LT_EOF +@@ -8963,7 +9472,13 @@ _LT_EOF allow_undefined_flag='-berok' # Determine the default libpath from the value encoded in an # empty executable. @@ -6731,7 +6668,7 @@ index d4db554..78b292c 100755 /* end confdefs.h. */ int -@@ -8972,22 +9487,29 @@ main () +@@ -8976,22 +9491,29 @@ main () _ACEOF if ac_fn_c_try_link "$LINENO"; then : @@ -6774,7 +6711,7 @@ index d4db554..78b292c 100755 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" -@@ -8999,7 +9521,13 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi +@@ -9003,7 +9525,13 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi else # Determine the default libpath from the value encoded in an # empty executable. @@ -6789,7 +6726,7 @@ index d4db554..78b292c 100755 /* end confdefs.h. */ int -@@ -9012,22 +9540,29 @@ main () +@@ -9016,22 +9544,29 @@ main () _ACEOF if ac_fn_c_try_link "$LINENO"; then : @@ -6832,7 +6769,7 @@ index d4db554..78b292c 100755 hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath" # Warning - without using the other run time loading flags, -@@ -9072,20 +9607,63 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi +@@ -9076,20 +9611,63 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi # Microsoft Visual C++. # hardcode_libdir_flag_spec is actually meaningless, as there is # no search path for DLLs. @@ -6910,7 +6847,7 @@ index d4db554..78b292c 100755 ;; darwin* | rhapsody*) -@@ -9146,7 +9724,7 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi +@@ -9150,7 +9728,7 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi # FreeBSD 3 and greater uses gcc -shared to do shared libraries. freebsd* | dragonfly*) @@ -6919,7 +6856,7 @@ index d4db554..78b292c 100755 hardcode_libdir_flag_spec='-R$libdir' hardcode_direct=yes hardcode_shlibpath_var=no -@@ -9154,7 +9732,7 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi +@@ -9158,7 +9736,7 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi hpux9*) if test "$GCC" = yes; then @@ -6928,7 +6865,7 @@ index d4db554..78b292c 100755 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 -@@ -9170,7 +9748,7 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi +@@ -9174,7 +9752,7 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi hpux10*) if test "$GCC" = yes && test "$with_gnu_ld" = no; then @@ -6937,7 +6874,7 @@ index d4db554..78b292c 100755 else archive_cmds='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags' fi -@@ -9194,10 +9772,10 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi +@@ -9198,10 +9776,10 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi archive_cmds='$CC -shared ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' ;; ia64*) @@ -6950,7 +6887,7 @@ index d4db554..78b292c 100755 ;; esac else -@@ -9276,23 +9854,36 @@ fi +@@ -9280,23 +9858,36 @@ fi irix5* | irix6* | nonstopux*) if test "$GCC" = yes; then @@ -6995,7 +6932,7 @@ index d4db554..78b292c 100755 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' -@@ -9377,7 +9968,7 @@ rm -f core conftest.err conftest.$ac_objext \ +@@ -9381,7 +9972,7 @@ rm -f core conftest.err conftest.$ac_objext \ osf4* | osf5*) # as osf3* with the addition of -msym flag if test "$GCC" = yes; then allow_undefined_flag=' ${wl}-expect_unresolved ${wl}\*' @@ -7004,7 +6941,7 @@ index d4db554..78b292c 100755 hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' else allow_undefined_flag=' -expect_unresolved \*' -@@ -9396,9 +9987,9 @@ rm -f core conftest.err conftest.$ac_objext \ +@@ -9400,9 +9991,9 @@ rm -f core conftest.err conftest.$ac_objext \ no_undefined_flag=' -z defs' if test "$GCC" = yes; then wlarc='${wl}' @@ -7016,7 +6953,7 @@ index d4db554..78b292c 100755 else case `$CC -V 2>&1` in *"Compilers 5.0"*) -@@ -9974,8 +10565,9 @@ cygwin* | mingw* | pw32* | cegcc*) +@@ -9978,8 +10569,9 @@ cygwin* | mingw* | pw32* | cegcc*) need_version=no need_lib_prefix=no @@ -7028,7 +6965,7 @@ index d4db554..78b292c 100755 library_names_spec='$libname.dll.a' # DLL is installed to $(libdir)/../bin by postinstall_cmds postinstall_cmds='base_file=`basename \${file}`~ -@@ -10008,13 +10600,71 @@ cygwin* | mingw* | pw32* | cegcc*) +@@ -10012,13 +10604,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 @@ -7101,7 +7038,7 @@ index d4db554..78b292c 100755 # FIXME: first we should search . and the directory the executable is in shlibpath_var=PATH ;; -@@ -10106,7 +10756,7 @@ haiku*) +@@ -10110,7 +10760,7 @@ haiku*) soname_spec='${libname}${release}${shared_ext}$major' shlibpath_var=LIBRARY_PATH shlibpath_overrides_runpath=yes @@ -7110,16 +7047,7 @@ index d4db554..78b292c 100755 hardcode_into_libs=yes ;; -@@ -10902,7 +11552,7 @@ else - lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 - lt_status=$lt_dlunknown - cat > conftest.$ac_ext <<_LT_EOF --#line 10900 "configure" -+#line $LINENO "configure" - #include "confdefs.h" - - #if HAVE_DLFCN_H -@@ -10946,10 +11596,10 @@ else +@@ -10950,10 +11600,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)) @@ -7132,16 +7060,7 @@ index d4db554..78b292c 100755 int main () { void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW); -@@ -11008,7 +11658,7 @@ else - lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 - lt_status=$lt_dlunknown - cat > conftest.$ac_ext <<_LT_EOF --#line 11006 "configure" -+#line $LINENO "configure" - #include "confdefs.h" - - #if HAVE_DLFCN_H -@@ -11052,10 +11702,10 @@ else +@@ -11056,10 +11706,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)) @@ -7154,7 +7073,7 @@ index d4db554..78b292c 100755 int main () { void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW); -@@ -12924,13 +13574,20 @@ exeext='`$ECHO "$exeext" | $SED "$delay_single_quote_subst"`' +@@ -12961,13 +13611,20 @@ exeext='`$ECHO "$exeext" | $SED "$delay_single_quote_subst"`' lt_unset='`$ECHO "$lt_unset" | $SED "$delay_single_quote_subst"`' lt_SP2NL='`$ECHO "$lt_SP2NL" | $SED "$delay_single_quote_subst"`' lt_NL2SP='`$ECHO "$lt_NL2SP" | $SED "$delay_single_quote_subst"`' @@ -7175,7 +7094,7 @@ index d4db554..78b292c 100755 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"`' -@@ -12945,14 +13602,17 @@ lt_cv_sys_global_symbol_pipe='`$ECHO "$lt_cv_sys_global_symbol_pipe" | $SED "$de +@@ -12982,14 +13639,17 @@ lt_cv_sys_global_symbol_pipe='`$ECHO "$lt_cv_sys_global_symbol_pipe" | $SED "$de lt_cv_sys_global_symbol_to_cdecl='`$ECHO "$lt_cv_sys_global_symbol_to_cdecl" | $SED "$delay_single_quote_subst"`' lt_cv_sys_global_symbol_to_c_name_address='`$ECHO "$lt_cv_sys_global_symbol_to_c_name_address" | $SED "$delay_single_quote_subst"`' lt_cv_sys_global_symbol_to_c_name_address_lib_prefix='`$ECHO "$lt_cv_sys_global_symbol_to_c_name_address_lib_prefix" | $SED "$delay_single_quote_subst"`' @@ -7194,7 +7113,7 @@ index d4db554..78b292c 100755 DSYMUTIL='`$ECHO "$DSYMUTIL" | $SED "$delay_single_quote_subst"`' NMEDIT='`$ECHO "$NMEDIT" | $SED "$delay_single_quote_subst"`' LIPO='`$ECHO "$LIPO" | $SED "$delay_single_quote_subst"`' -@@ -12985,12 +13645,12 @@ hardcode_shlibpath_var='`$ECHO "$hardcode_shlibpath_var" | $SED "$delay_single_q +@@ -13022,12 +13682,12 @@ hardcode_shlibpath_var='`$ECHO "$hardcode_shlibpath_var" | $SED "$delay_single_q hardcode_automatic='`$ECHO "$hardcode_automatic" | $SED "$delay_single_quote_subst"`' inherit_rpath='`$ECHO "$inherit_rpath" | $SED "$delay_single_quote_subst"`' link_all_deplibs='`$ECHO "$link_all_deplibs" | $SED "$delay_single_quote_subst"`' @@ -7208,7 +7127,7 @@ index d4db554..78b292c 100755 file_list_spec='`$ECHO "$file_list_spec" | $SED "$delay_single_quote_subst"`' variables_saved_for_relink='`$ECHO "$variables_saved_for_relink" | $SED "$delay_single_quote_subst"`' need_lib_prefix='`$ECHO "$need_lib_prefix" | $SED "$delay_single_quote_subst"`' -@@ -13045,8 +13705,13 @@ reload_flag \ +@@ -13082,8 +13742,13 @@ reload_flag \ OBJDUMP \ deplibs_check_method \ file_magic_cmd \ @@ -7222,7 +7141,7 @@ index d4db554..78b292c 100755 STRIP \ RANLIB \ CC \ -@@ -13056,12 +13721,14 @@ lt_cv_sys_global_symbol_pipe \ +@@ -13093,12 +13758,14 @@ lt_cv_sys_global_symbol_pipe \ lt_cv_sys_global_symbol_to_cdecl \ lt_cv_sys_global_symbol_to_c_name_address \ lt_cv_sys_global_symbol_to_c_name_address_lib_prefix \ @@ -7238,7 +7157,7 @@ index d4db554..78b292c 100755 DSYMUTIL \ NMEDIT \ LIPO \ -@@ -13077,7 +13744,6 @@ no_undefined_flag \ +@@ -13114,7 +13781,6 @@ no_undefined_flag \ hardcode_libdir_flag_spec \ hardcode_libdir_flag_spec_ld \ hardcode_libdir_separator \ @@ -7246,7 +7165,7 @@ index d4db554..78b292c 100755 exclude_expsyms \ include_expsyms \ file_list_spec \ -@@ -13113,6 +13779,7 @@ module_cmds \ +@@ -13150,6 +13816,7 @@ module_cmds \ module_expsym_cmds \ export_symbols_cmds \ prelink_cmds \ @@ -7254,7 +7173,7 @@ index d4db554..78b292c 100755 postinstall_cmds \ postuninstall_cmds \ finish_cmds \ -@@ -13869,7 +14536,8 @@ $as_echo X"$file" | +@@ -13906,7 +14573,8 @@ $as_echo X"$file" | # NOTE: Changes made to this file will be lost: look at ltmain.sh. # # Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005, @@ -7264,7 +7183,7 @@ index d4db554..78b292c 100755 # Written by Gordon Matzigkeit, 1996 # # This file is part of GNU Libtool. -@@ -13972,19 +14640,42 @@ SP2NL=$lt_lt_SP2NL +@@ -14009,19 +14677,42 @@ SP2NL=$lt_lt_SP2NL # turn newlines into spaces. NL2SP=$lt_lt_NL2SP @@ -7308,7 +7227,7 @@ index d4db554..78b292c 100755 # A symbol stripping program. STRIP=$lt_STRIP -@@ -14014,6 +14705,12 @@ global_symbol_to_c_name_address=$lt_lt_cv_sys_global_symbol_to_c_name_address +@@ -14051,6 +14742,12 @@ global_symbol_to_c_name_address=$lt_lt_cv_sys_global_symbol_to_c_name_address # Transform the output of nm in a C name address pair when lib prefix is needed. global_symbol_to_c_name_address_lib_prefix=$lt_lt_cv_sys_global_symbol_to_c_name_address_lib_prefix @@ -7321,7 +7240,7 @@ index d4db554..78b292c 100755 # The name of the directory that contains temporary libtool files. objdir=$objdir -@@ -14023,6 +14720,9 @@ MAGIC_CMD=$MAGIC_CMD +@@ -14060,6 +14757,9 @@ MAGIC_CMD=$MAGIC_CMD # Must we lock files when doing compilation? need_locks=$lt_need_locks @@ -7331,7 +7250,7 @@ index d4db554..78b292c 100755 # Tool to manipulate archived DWARF debug symbol files on Mac OS X. DSYMUTIL=$lt_DSYMUTIL -@@ -14137,12 +14837,12 @@ with_gcc=$GCC +@@ -14174,12 +14874,12 @@ with_gcc=$GCC # Compiler flag to turn off builtin functions. no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag @@ -7347,7 +7266,7 @@ index d4db554..78b292c 100755 # Compiler flag to prevent dynamic linking. link_static_flag=$lt_lt_prog_compiler_static -@@ -14229,9 +14929,6 @@ inherit_rpath=$inherit_rpath +@@ -14266,9 +14966,6 @@ inherit_rpath=$inherit_rpath # Whether libtool must link a program against all its dependency libraries. link_all_deplibs=$link_all_deplibs @@ -7357,7 +7276,7 @@ index d4db554..78b292c 100755 # Set to "yes" if exported symbols are required. always_export_symbols=$always_export_symbols -@@ -14247,6 +14944,9 @@ include_expsyms=$lt_include_expsyms +@@ -14284,6 +14981,9 @@ include_expsyms=$lt_include_expsyms # Commands necessary for linking programs (against libraries) with templates. prelink_cmds=$lt_prelink_cmds @@ -7367,7 +7286,7 @@ index d4db554..78b292c 100755 # Specify filename containing input files. file_list_spec=$lt_file_list_spec -@@ -14279,210 +14979,169 @@ ltmain="$ac_aux_dir/ltmain.sh" +@@ -14316,210 +15016,169 @@ ltmain="$ac_aux_dir/ltmain.sh" # if finds mixed CR/LF and LF-only lines. Since sed operates in # text mode, it properly converts lines to CR/LF. This bash problem # is reportedly fixed, but why not run on old versions too? @@ -7742,10 +7661,10 @@ index d4db554..78b292c 100755 chmod +x "$ofile" diff --git a/ld/configure b/ld/configure -index 8095b71..eb4f0d7 100755 +index f9be51a..3df1149 100755 --- a/ld/configure +++ b/ld/configure -@@ -657,8 +657,11 @@ OTOOL +@@ -658,8 +658,11 @@ OTOOL LIPO NMEDIT DSYMUTIL @@ -7757,7 +7676,7 @@ index 8095b71..eb4f0d7 100755 OBJDUMP LN_S NM -@@ -779,6 +782,7 @@ enable_static +@@ -781,6 +784,7 @@ enable_static with_pic enable_fast_install with_gnu_ld @@ -7765,7 +7684,7 @@ index 8095b71..eb4f0d7 100755 enable_libtool_lock enable_plugins enable_largefile -@@ -1458,6 +1462,8 @@ Optional Packages: +@@ -1462,6 +1466,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] @@ -7774,7 +7693,7 @@ index 8095b71..eb4f0d7 100755 --with-lib-path=dir1:dir2... set default LIB_PATH --with-sysroot=DIR Search for usr/lib et al within DIR. -@@ -5649,8 +5655,8 @@ esac +@@ -5656,8 +5662,8 @@ esac @@ -7785,7 +7704,7 @@ index 8095b71..eb4f0d7 100755 -@@ -5690,7 +5696,7 @@ ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO$ECHO +@@ -5697,7 +5703,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. @@ -7794,7 +7713,7 @@ index 8095b71..eb4f0d7 100755 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 -@@ -6376,8 +6382,8 @@ $as_echo_n "checking whether the shell understands some XSI constructs... " >&6; +@@ -6383,8 +6389,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" @@ -7805,7 +7724,7 @@ index 8095b71..eb4f0d7 100755 && eval 'test $(( 1 + 1 )) -eq 2 \ && test "${#_lt_dummy}" -eq 5' ) >/dev/null 2>&1 \ && xsi_shell=yes -@@ -6426,6 +6432,80 @@ esac +@@ -6433,6 +6439,80 @@ esac @@ -7886,7 +7805,7 @@ index 8095b71..eb4f0d7 100755 { $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 : -@@ -6442,6 +6522,11 @@ case $reload_flag in +@@ -6449,6 +6529,11 @@ case $reload_flag in esac reload_cmds='$LD$reload_flag -o $output$reload_objs' case $host_os in @@ -7898,7 +7817,7 @@ index 8095b71..eb4f0d7 100755 darwin*) if test "$GCC" = yes; then reload_cmds='$LTCC $LTCFLAGS -nostdlib ${wl}-r -o $output$reload_objs' -@@ -6610,7 +6695,8 @@ mingw* | pw32*) +@@ -6617,7 +6702,8 @@ mingw* | pw32*) lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL' lt_cv_file_magic_cmd='func_win32_libid' else @@ -7908,7 +7827,7 @@ index 8095b71..eb4f0d7 100755 lt_cv_file_magic_cmd='$OBJDUMP -f' fi ;; -@@ -6764,6 +6850,21 @@ esac +@@ -6771,6 +6857,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; } @@ -7930,7 +7849,7 @@ index 8095b71..eb4f0d7 100755 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 -@@ -6779,9 +6880,162 @@ test -z "$deplibs_check_method" && deplibs_check_method=unknown +@@ -6786,9 +6887,162 @@ test -z "$deplibs_check_method" && deplibs_check_method=unknown @@ -8095,7 +8014,7 @@ index 8095b71..eb4f0d7 100755 { $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 : -@@ -6797,7 +7051,7 @@ do +@@ -6804,7 +7058,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 @@ -8104,7 +8023,7 @@ index 8095b71..eb4f0d7 100755 $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi -@@ -6817,11 +7071,15 @@ $as_echo "no" >&6; } +@@ -6824,11 +7078,15 @@ $as_echo "no" >&6; } fi @@ -8123,7 +8042,7 @@ index 8095b71..eb4f0d7 100755 { $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 : -@@ -6837,7 +7095,7 @@ do +@@ -6844,7 +7102,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 @@ -8132,7 +8051,7 @@ index 8095b71..eb4f0d7 100755 $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi -@@ -6856,6 +7114,10 @@ else +@@ -6863,6 +7121,10 @@ else $as_echo "no" >&6; } fi @@ -8143,7 +8062,7 @@ index 8095b71..eb4f0d7 100755 if test "x$ac_ct_AR" = x; then AR="false" else -@@ -6867,12 +7129,12 @@ ac_tool_warned=yes ;; +@@ -6874,12 +7136,12 @@ ac_tool_warned=yes ;; esac AR=$ac_ct_AR fi @@ -8160,7 +8079,7 @@ index 8095b71..eb4f0d7 100755 -@@ -6882,6 +7144,62 @@ test -z "$AR_FLAGS" && AR_FLAGS=cru +@@ -6889,6 +7151,62 @@ test -z "$AR_FLAGS" && AR_FLAGS=cru @@ -8223,7 +8142,7 @@ index 8095b71..eb4f0d7 100755 if test -n "$ac_tool_prefix"; then -@@ -7218,8 +7536,8 @@ esac +@@ -7225,8 +7543,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 @@ -8234,7 +8153,7 @@ index 8095b71..eb4f0d7 100755 # Handle CRLF in mingw tool chain opt_cr= -@@ -7255,6 +7573,7 @@ for ac_symprfx in "" "_"; do +@@ -7262,6 +7580,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 @@ -8242,7 +8161,7 @@ index 8095b71..eb4f0d7 100755 # Check to see that the pipe works correctly. pipe_works=no -@@ -7296,6 +7615,18 @@ _LT_EOF +@@ -7303,6 +7622,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 @@ -8261,7 +8180,7 @@ index 8095b71..eb4f0d7 100755 #ifdef __cplusplus extern "C" { #endif -@@ -7307,7 +7638,7 @@ _LT_EOF +@@ -7314,7 +7645,7 @@ _LT_EOF cat <<_LT_EOF >> conftest.$ac_ext /* The mapping between symbol names and symbols. */ @@ -8270,7 +8189,7 @@ index 8095b71..eb4f0d7 100755 const char *name; void *address; } -@@ -7333,8 +7664,8 @@ static const void *lt_preloaded_setup() { +@@ -7340,8 +7671,8 @@ static const void *lt_preloaded_setup() { _LT_EOF # Now try linking the two files. mv conftest.$ac_objext conftstm.$ac_objext @@ -8281,7 +8200,7 @@ index 8095b71..eb4f0d7 100755 LIBS="conftstm.$ac_objext" CFLAGS="$CFLAGS$lt_prog_compiler_no_builtin_flag" if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5 -@@ -7344,8 +7675,8 @@ _LT_EOF +@@ -7351,8 +7682,8 @@ _LT_EOF test $ac_status = 0; } && test -s conftest${ac_exeext}; then pipe_works=yes fi @@ -8292,7 +8211,7 @@ index 8095b71..eb4f0d7 100755 else echo "cannot find nm_test_func in $nlist" >&5 fi -@@ -7382,6 +7713,19 @@ else +@@ -7389,6 +7720,19 @@ else $as_echo "ok" >&6; } fi @@ -8312,7 +8231,7 @@ index 8095b71..eb4f0d7 100755 -@@ -7402,6 +7746,42 @@ fi +@@ -7409,6 +7753,42 @@ fi @@ -8355,7 +8274,7 @@ index 8095b71..eb4f0d7 100755 # Check whether --enable-libtool-lock was given. if test "${enable_libtool_lock+set}" = set; then : -@@ -7609,6 +7989,123 @@ esac +@@ -7616,6 +7996,123 @@ esac need_locks="$enable_libtool_lock" @@ -8479,7 +8398,7 @@ index 8095b71..eb4f0d7 100755 case $host_os in rhapsody* | darwin*) -@@ -8172,6 +8669,8 @@ _LT_EOF +@@ -8179,6 +8676,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 @@ -8488,7 +8407,7 @@ index 8095b71..eb4f0d7 100755 cat > conftest.c << _LT_EOF int main() { return 0;} _LT_EOF -@@ -8240,6 +8739,16 @@ done +@@ -8247,6 +8746,16 @@ done @@ -8505,7 +8424,7 @@ index 8095b71..eb4f0d7 100755 # Set options -@@ -8368,7 +8877,8 @@ fi +@@ -8375,7 +8884,8 @@ fi LIBTOOL_DEPS="$ltmain" # Always use our own libtool. @@ -8515,7 +8434,7 @@ index 8095b71..eb4f0d7 100755 -@@ -8457,7 +8967,7 @@ aix3*) +@@ -8464,7 +8974,7 @@ aix3*) esac # Global variables: @@ -8524,7 +8443,7 @@ index 8095b71..eb4f0d7 100755 can_build_shared=yes # All known linkers require a `.a' archive for static linking (except MSVC, -@@ -8755,8 +9265,6 @@ fi +@@ -8762,8 +9272,6 @@ fi lt_prog_compiler_pic= lt_prog_compiler_static= @@ -8533,7 +8452,7 @@ index 8095b71..eb4f0d7 100755 if test "$GCC" = yes; then lt_prog_compiler_wl='-Wl,' -@@ -8922,6 +9430,12 @@ $as_echo_n "checking for $compiler option to produce PIC... " >&6; } +@@ -8929,6 +9437,12 @@ $as_echo_n "checking for $compiler option to produce PIC... " >&6; } lt_prog_compiler_pic='--shared' lt_prog_compiler_static='--static' ;; @@ -8546,7 +8465,7 @@ index 8095b71..eb4f0d7 100755 pgcc* | pgf77* | pgf90* | pgf95* | pgfortran*) # Portland Group compilers (*not* the Pentium gcc compiler, # which looks to be a dead project) -@@ -8984,7 +9498,7 @@ $as_echo_n "checking for $compiler option to produce PIC... " >&6; } +@@ -8991,7 +9505,7 @@ $as_echo_n "checking for $compiler option to produce PIC... " >&6; } lt_prog_compiler_pic='-KPIC' lt_prog_compiler_static='-Bstatic' case $cc_basename in @@ -8555,7 +8474,7 @@ index 8095b71..eb4f0d7 100755 lt_prog_compiler_wl='-Qoption ld ';; *) lt_prog_compiler_wl='-Wl,';; -@@ -9041,13 +9555,17 @@ case $host_os in +@@ -9048,13 +9562,17 @@ case $host_os in lt_prog_compiler_pic="$lt_prog_compiler_pic -DPIC" ;; esac @@ -8579,7 +8498,7 @@ index 8095b71..eb4f0d7 100755 # # Check to make sure the PIC flag actually works. -@@ -9108,6 +9626,11 @@ fi +@@ -9115,6 +9633,11 @@ fi @@ -8591,7 +8510,7 @@ index 8095b71..eb4f0d7 100755 # # Check to make sure the static flag actually works. # -@@ -9458,7 +9981,8 @@ _LT_EOF +@@ -9465,7 +9988,8 @@ _LT_EOF allow_undefined_flag=unsupported always_export_symbols=no enable_shared_with_static_runtimes=yes @@ -8601,7 +8520,7 @@ index 8095b71..eb4f0d7 100755 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' -@@ -9557,12 +10081,12 @@ _LT_EOF +@@ -9564,12 +10088,12 @@ _LT_EOF whole_archive_flag_spec='--whole-archive$convenience --no-whole-archive' hardcode_libdir_flag_spec= hardcode_libdir_flag_spec_ld='-rpath $libdir' @@ -8616,7 +8535,7 @@ index 8095b71..eb4f0d7 100755 fi ;; esac -@@ -9576,8 +10100,8 @@ _LT_EOF +@@ -9583,8 +10107,8 @@ _LT_EOF archive_cmds='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib' wlarc= else @@ -8627,7 +8546,7 @@ index 8095b71..eb4f0d7 100755 fi ;; -@@ -9595,8 +10119,8 @@ _LT_EOF +@@ -9602,8 +10126,8 @@ _LT_EOF _LT_EOF elif $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then @@ -8638,7 +8557,7 @@ index 8095b71..eb4f0d7 100755 else ld_shlibs=no fi -@@ -9642,8 +10166,8 @@ _LT_EOF +@@ -9649,8 +10173,8 @@ _LT_EOF *) if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then @@ -8649,7 +8568,7 @@ index 8095b71..eb4f0d7 100755 else ld_shlibs=no fi -@@ -9773,7 +10297,13 @@ _LT_EOF +@@ -9780,7 +10304,13 @@ _LT_EOF allow_undefined_flag='-berok' # Determine the default libpath from the value encoded in an # empty executable. @@ -8664,7 +8583,7 @@ index 8095b71..eb4f0d7 100755 /* end confdefs.h. */ int -@@ -9786,22 +10316,29 @@ main () +@@ -9793,22 +10323,29 @@ main () _ACEOF if ac_fn_c_try_link "$LINENO"; then : @@ -8707,7 +8626,7 @@ index 8095b71..eb4f0d7 100755 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" -@@ -9813,7 +10350,13 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi +@@ -9820,7 +10357,13 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi else # Determine the default libpath from the value encoded in an # empty executable. @@ -8722,7 +8641,7 @@ index 8095b71..eb4f0d7 100755 /* end confdefs.h. */ int -@@ -9826,22 +10369,29 @@ main () +@@ -9833,22 +10376,29 @@ main () _ACEOF if ac_fn_c_try_link "$LINENO"; then : @@ -8765,7 +8684,7 @@ index 8095b71..eb4f0d7 100755 hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath" # Warning - without using the other run time loading flags, -@@ -9885,21 +10435,64 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi +@@ -9892,21 +10442,64 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi # When not using gcc, we currently assume that we are using # Microsoft Visual C++. # hardcode_libdir_flag_spec is actually meaningless, as there is @@ -8845,7 +8764,7 @@ index 8095b71..eb4f0d7 100755 ;; darwin* | rhapsody*) -@@ -9960,7 +10553,7 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi +@@ -9967,7 +10560,7 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi # FreeBSD 3 and greater uses gcc -shared to do shared libraries. freebsd* | dragonfly*) @@ -8854,7 +8773,7 @@ index 8095b71..eb4f0d7 100755 hardcode_libdir_flag_spec='-R$libdir' hardcode_direct=yes hardcode_shlibpath_var=no -@@ -9968,7 +10561,7 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi +@@ -9975,7 +10568,7 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi hpux9*) if test "$GCC" = yes; then @@ -8863,7 +8782,7 @@ index 8095b71..eb4f0d7 100755 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 -@@ -9984,7 +10577,7 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi +@@ -9991,7 +10584,7 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi hpux10*) if test "$GCC" = yes && test "$with_gnu_ld" = no; then @@ -8872,7 +8791,7 @@ index 8095b71..eb4f0d7 100755 else archive_cmds='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags' fi -@@ -10008,10 +10601,10 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi +@@ -10015,10 +10608,10 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi archive_cmds='$CC -shared ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' ;; ia64*) @@ -8885,7 +8804,7 @@ index 8095b71..eb4f0d7 100755 ;; esac else -@@ -10090,23 +10683,36 @@ fi +@@ -10097,23 +10690,36 @@ fi irix5* | irix6* | nonstopux*) if test "$GCC" = yes; then @@ -8930,7 +8849,7 @@ index 8095b71..eb4f0d7 100755 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' -@@ -10191,7 +10797,7 @@ rm -f core conftest.err conftest.$ac_objext \ +@@ -10198,7 +10804,7 @@ rm -f core conftest.err conftest.$ac_objext \ osf4* | osf5*) # as osf3* with the addition of -msym flag if test "$GCC" = yes; then allow_undefined_flag=' ${wl}-expect_unresolved ${wl}\*' @@ -8939,7 +8858,7 @@ index 8095b71..eb4f0d7 100755 hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' else allow_undefined_flag=' -expect_unresolved \*' -@@ -10210,9 +10816,9 @@ rm -f core conftest.err conftest.$ac_objext \ +@@ -10217,9 +10823,9 @@ rm -f core conftest.err conftest.$ac_objext \ no_undefined_flag=' -z defs' if test "$GCC" = yes; then wlarc='${wl}' @@ -8951,7 +8870,7 @@ index 8095b71..eb4f0d7 100755 else case `$CC -V 2>&1` in *"Compilers 5.0"*) -@@ -10788,8 +11394,9 @@ cygwin* | mingw* | pw32* | cegcc*) +@@ -10795,8 +11401,9 @@ cygwin* | mingw* | pw32* | cegcc*) need_version=no need_lib_prefix=no @@ -8963,7 +8882,7 @@ index 8095b71..eb4f0d7 100755 library_names_spec='$libname.dll.a' # DLL is installed to $(libdir)/../bin by postinstall_cmds postinstall_cmds='base_file=`basename \${file}`~ -@@ -10822,13 +11429,71 @@ cygwin* | mingw* | pw32* | cegcc*) +@@ -10829,13 +11436,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 @@ -9036,7 +8955,7 @@ index 8095b71..eb4f0d7 100755 # FIXME: first we should search . and the directory the executable is in shlibpath_var=PATH ;; -@@ -10920,7 +11585,7 @@ haiku*) +@@ -10927,7 +11592,7 @@ haiku*) soname_spec='${libname}${release}${shared_ext}$major' shlibpath_var=LIBRARY_PATH shlibpath_overrides_runpath=yes @@ -9045,16 +8964,7 @@ index 8095b71..eb4f0d7 100755 hardcode_into_libs=yes ;; -@@ -11716,7 +12381,7 @@ else - lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 - lt_status=$lt_dlunknown - cat > conftest.$ac_ext <<_LT_EOF --#line 11719 "configure" -+#line $LINENO "configure" - #include "confdefs.h" - - #if HAVE_DLFCN_H -@@ -11760,10 +12425,10 @@ else +@@ -11767,10 +12432,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)) @@ -9067,16 +8977,7 @@ index 8095b71..eb4f0d7 100755 int main () { void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW); -@@ -11822,7 +12487,7 @@ else - lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 - lt_status=$lt_dlunknown - cat > conftest.$ac_ext <<_LT_EOF --#line 11825 "configure" -+#line $LINENO "configure" - #include "confdefs.h" - - #if HAVE_DLFCN_H -@@ -11866,10 +12531,10 @@ else +@@ -11873,10 +12538,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)) @@ -9089,7 +8990,7 @@ index 8095b71..eb4f0d7 100755 int main () { void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW); -@@ -12261,6 +12926,7 @@ $RM -r conftest* +@@ -12268,6 +12933,7 @@ $RM -r conftest* # Allow CC to be a program name with arguments. lt_save_CC=$CC @@ -9097,7 +8998,7 @@ index 8095b71..eb4f0d7 100755 lt_save_LD=$LD lt_save_GCC=$GCC GCC=$GXX -@@ -12278,6 +12944,7 @@ $RM -r conftest* +@@ -12285,6 +12951,7 @@ $RM -r conftest* fi test -z "${LDCXX+set}" || LD=$LDCXX CC=${CXX-"c++"} @@ -9105,7 +9006,7 @@ index 8095b71..eb4f0d7 100755 compiler=$CC compiler_CXX=$CC for cc_temp in $compiler""; do -@@ -12560,7 +13227,13 @@ $as_echo_n "checking whether the $compiler linker ($LD) supports shared librarie +@@ -12567,7 +13234,13 @@ $as_echo_n "checking whether the $compiler linker ($LD) supports shared librarie allow_undefined_flag_CXX='-berok' # Determine the default libpath from the value encoded in an empty # executable. @@ -9120,7 +9021,7 @@ index 8095b71..eb4f0d7 100755 /* end confdefs.h. */ int -@@ -12573,22 +13246,29 @@ main () +@@ -12580,22 +13253,29 @@ main () _ACEOF if ac_fn_cxx_try_link "$LINENO"; then : @@ -9163,7 +9064,7 @@ index 8095b71..eb4f0d7 100755 hardcode_libdir_flag_spec_CXX='${wl}-blibpath:$libdir:'"$aix_libpath" -@@ -12601,7 +13281,13 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi +@@ -12608,7 +13288,13 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi else # Determine the default libpath from the value encoded in an # empty executable. @@ -9178,7 +9079,7 @@ index 8095b71..eb4f0d7 100755 /* end confdefs.h. */ int -@@ -12614,22 +13300,29 @@ main () +@@ -12621,22 +13307,29 @@ main () _ACEOF if ac_fn_cxx_try_link "$LINENO"; then : @@ -9221,7 +9122,7 @@ index 8095b71..eb4f0d7 100755 hardcode_libdir_flag_spec_CXX='${wl}-blibpath:$libdir:'"$aix_libpath" # Warning - without using the other run time loading flags, -@@ -12672,29 +13365,75 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi +@@ -12679,29 +13372,75 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi ;; cygwin* | mingw* | pw32* | cegcc*) @@ -9320,7 +9221,7 @@ index 8095b71..eb4f0d7 100755 darwin* | rhapsody*) -@@ -12800,7 +13539,7 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi +@@ -12807,7 +13546,7 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi ;; *) if test "$GXX" = yes; then @@ -9329,7 +9230,7 @@ index 8095b71..eb4f0d7 100755 else # FIXME: insert proper C++ library support ld_shlibs_CXX=no -@@ -12871,10 +13610,10 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi +@@ -12878,10 +13617,10 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi archive_cmds_CXX='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' ;; ia64*) @@ -9342,7 +9243,7 @@ index 8095b71..eb4f0d7 100755 ;; esac fi -@@ -12915,9 +13654,9 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi +@@ -12922,9 +13661,9 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi *) if test "$GXX" = yes; then if test "$with_gnu_ld" = no; then @@ -9354,7 +9255,7 @@ index 8095b71..eb4f0d7 100755 fi fi link_all_deplibs_CXX=yes -@@ -12987,20 +13726,20 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi +@@ -12994,20 +13733,20 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi prelink_cmds_CXX='tpldir=Template.dir~ rm -rf $tpldir~ $CC --prelink_objects --instantiation_dir $tpldir $objs $libobjs $compile_deplibs~ @@ -9379,7 +9280,7 @@ index 8095b71..eb4f0d7 100755 ;; *) # Version 6 and above use weak symbols archive_cmds_CXX='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname -o $lib' -@@ -13195,7 +13934,7 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi +@@ -13202,7 +13941,7 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi archive_cmds_CXX='$CC -shared -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' ;; *) @@ -9388,7 +9289,7 @@ index 8095b71..eb4f0d7 100755 ;; esac -@@ -13241,7 +13980,7 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi +@@ -13248,7 +13987,7 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi solaris*) case $cc_basename in @@ -9397,7 +9298,7 @@ index 8095b71..eb4f0d7 100755 # Sun C++ 4.2, 5.x and Centerline C++ archive_cmds_need_lc_CXX=yes no_undefined_flag_CXX=' -zdefs' -@@ -13282,9 +14021,9 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi +@@ -13289,9 +14028,9 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi if test "$GXX" = yes && test "$with_gnu_ld" = no; then no_undefined_flag_CXX=' ${wl}-z ${wl}defs' if $CC --version | $GREP -v '^2\.7' > /dev/null; then @@ -9409,7 +9310,7 @@ index 8095b71..eb4f0d7 100755 # Commands to make compiler produce verbose output that lists # what "hidden" libraries, object files and flags are used when -@@ -13419,6 +14158,13 @@ private: +@@ -13426,6 +14165,13 @@ private: }; _LT_EOF @@ -9423,7 +9324,7 @@ index 8095b71..eb4f0d7 100755 if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 (eval $ac_compile) 2>&5 ac_status=$? -@@ -13432,7 +14178,7 @@ if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 +@@ -13439,7 +14185,7 @@ if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 pre_test_object_deps_done=no for p in `eval "$output_verbose_link_cmd"`; do @@ -9432,7 +9333,7 @@ index 8095b71..eb4f0d7 100755 -L* | -R* | -l*) # Some compilers place space between "-{L,R}" and the path. -@@ -13441,13 +14187,22 @@ if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 +@@ -13448,13 +14194,22 @@ if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 test $p = "-R"; then prev=$p continue @@ -9459,7 +9360,7 @@ index 8095b71..eb4f0d7 100755 # 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. -@@ -13467,8 +14222,10 @@ if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 +@@ -13474,8 +14229,10 @@ if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 postdeps_CXX="${postdeps_CXX} ${prev}${p}" fi fi @@ -9470,7 +9371,7 @@ index 8095b71..eb4f0d7 100755 *.$objext) # This assumes that the test object file only shows up # once in the compiler output. -@@ -13504,6 +14261,7 @@ else +@@ -13511,6 +14268,7 @@ else fi $RM -f confest.$objext @@ -9478,7 +9379,7 @@ index 8095b71..eb4f0d7 100755 # PORTME: override above test on systems where it is broken case $host_os in -@@ -13539,7 +14297,7 @@ linux*) +@@ -13546,7 +14304,7 @@ linux*) solaris*) case $cc_basename in @@ -9487,7 +9388,7 @@ index 8095b71..eb4f0d7 100755 # The more standards-conforming stlport4 library is # incompatible with the Cstd library. Avoid specifying # it if it's in CXXFLAGS. Ignore libCrun as -@@ -13604,8 +14362,6 @@ fi +@@ -13611,8 +14369,6 @@ fi lt_prog_compiler_pic_CXX= lt_prog_compiler_static_CXX= @@ -9496,7 +9397,7 @@ index 8095b71..eb4f0d7 100755 # C++ specific cases for pic, static, wl, etc. if test "$GXX" = yes; then -@@ -13710,6 +14466,11 @@ $as_echo_n "checking for $compiler option to produce PIC... " >&6; } +@@ -13717,6 +14473,11 @@ $as_echo_n "checking for $compiler option to produce PIC... " >&6; } ;; esac ;; @@ -9508,7 +9409,7 @@ index 8095b71..eb4f0d7 100755 dgux*) case $cc_basename in ec++*) -@@ -13862,7 +14623,7 @@ $as_echo_n "checking for $compiler option to produce PIC... " >&6; } +@@ -13869,7 +14630,7 @@ $as_echo_n "checking for $compiler option to produce PIC... " >&6; } ;; solaris*) case $cc_basename in @@ -9517,7 +9418,7 @@ index 8095b71..eb4f0d7 100755 # Sun C++ 4.2, 5.x and Centerline C++ lt_prog_compiler_pic_CXX='-KPIC' lt_prog_compiler_static_CXX='-Bstatic' -@@ -13927,10 +14688,17 @@ case $host_os in +@@ -13934,10 +14695,17 @@ case $host_os in lt_prog_compiler_pic_CXX="$lt_prog_compiler_pic_CXX -DPIC" ;; esac @@ -9538,7 +9439,7 @@ index 8095b71..eb4f0d7 100755 # # Check to make sure the PIC flag actually works. -@@ -13988,6 +14756,8 @@ fi +@@ -13995,6 +14763,8 @@ fi @@ -9547,7 +9448,7 @@ index 8095b71..eb4f0d7 100755 # # Check to make sure the static flag actually works. # -@@ -14165,6 +14935,7 @@ fi +@@ -14172,6 +14942,7 @@ fi $as_echo_n "checking whether the $compiler linker ($LD) supports shared libraries... " >&6; } export_symbols_cmds_CXX='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' @@ -9555,7 +9456,7 @@ index 8095b71..eb4f0d7 100755 case $host_os in aix[4-9]*) # If we're using GNU nm, then we don't want the "-C" option. -@@ -14179,15 +14950,20 @@ $as_echo_n "checking whether the $compiler linker ($LD) supports shared librarie +@@ -14186,15 +14957,20 @@ $as_echo_n "checking whether the $compiler linker ($LD) supports shared librarie ;; pw32*) export_symbols_cmds_CXX="$ltdll_cmds" @@ -9581,7 +9482,7 @@ index 8095b71..eb4f0d7 100755 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ld_shlibs_CXX" >&5 $as_echo "$ld_shlibs_CXX" >&6; } -@@ -14450,8 +15226,9 @@ cygwin* | mingw* | pw32* | cegcc*) +@@ -14457,8 +15233,9 @@ cygwin* | mingw* | pw32* | cegcc*) need_version=no need_lib_prefix=no @@ -9593,7 +9494,7 @@ index 8095b71..eb4f0d7 100755 library_names_spec='$libname.dll.a' # DLL is installed to $(libdir)/../bin by postinstall_cmds postinstall_cmds='base_file=`basename \${file}`~ -@@ -14483,13 +15260,71 @@ cygwin* | mingw* | pw32* | cegcc*) +@@ -14490,13 +15267,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 @@ -9666,7 +9567,7 @@ index 8095b71..eb4f0d7 100755 # FIXME: first we should search . and the directory the executable is in shlibpath_var=PATH ;; -@@ -14580,7 +15415,7 @@ haiku*) +@@ -14587,7 +15422,7 @@ haiku*) soname_spec='${libname}${release}${shared_ext}$major' shlibpath_var=LIBRARY_PATH shlibpath_overrides_runpath=yes @@ -9675,7 +9576,7 @@ index 8095b71..eb4f0d7 100755 hardcode_into_libs=yes ;; -@@ -15039,6 +15874,7 @@ fi +@@ -15046,6 +15881,7 @@ fi fi # test -n "$compiler" CC=$lt_save_CC @@ -9683,7 +9584,7 @@ index 8095b71..eb4f0d7 100755 LDCXX=$LD LD=$lt_save_LD GCC=$lt_save_GCC -@@ -17953,13 +18789,20 @@ exeext='`$ECHO "$exeext" | $SED "$delay_single_quote_subst"`' +@@ -17982,13 +18818,20 @@ exeext='`$ECHO "$exeext" | $SED "$delay_single_quote_subst"`' lt_unset='`$ECHO "$lt_unset" | $SED "$delay_single_quote_subst"`' lt_SP2NL='`$ECHO "$lt_SP2NL" | $SED "$delay_single_quote_subst"`' lt_NL2SP='`$ECHO "$lt_NL2SP" | $SED "$delay_single_quote_subst"`' @@ -9704,7 +9605,7 @@ index 8095b71..eb4f0d7 100755 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"`' -@@ -17974,14 +18817,17 @@ lt_cv_sys_global_symbol_pipe='`$ECHO "$lt_cv_sys_global_symbol_pipe" | $SED "$de +@@ -18003,14 +18846,17 @@ lt_cv_sys_global_symbol_pipe='`$ECHO "$lt_cv_sys_global_symbol_pipe" | $SED "$de lt_cv_sys_global_symbol_to_cdecl='`$ECHO "$lt_cv_sys_global_symbol_to_cdecl" | $SED "$delay_single_quote_subst"`' lt_cv_sys_global_symbol_to_c_name_address='`$ECHO "$lt_cv_sys_global_symbol_to_c_name_address" | $SED "$delay_single_quote_subst"`' lt_cv_sys_global_symbol_to_c_name_address_lib_prefix='`$ECHO "$lt_cv_sys_global_symbol_to_c_name_address_lib_prefix" | $SED "$delay_single_quote_subst"`' @@ -9723,7 +9624,7 @@ index 8095b71..eb4f0d7 100755 DSYMUTIL='`$ECHO "$DSYMUTIL" | $SED "$delay_single_quote_subst"`' NMEDIT='`$ECHO "$NMEDIT" | $SED "$delay_single_quote_subst"`' LIPO='`$ECHO "$LIPO" | $SED "$delay_single_quote_subst"`' -@@ -18014,12 +18860,12 @@ hardcode_shlibpath_var='`$ECHO "$hardcode_shlibpath_var" | $SED "$delay_single_q +@@ -18043,12 +18889,12 @@ hardcode_shlibpath_var='`$ECHO "$hardcode_shlibpath_var" | $SED "$delay_single_q hardcode_automatic='`$ECHO "$hardcode_automatic" | $SED "$delay_single_quote_subst"`' inherit_rpath='`$ECHO "$inherit_rpath" | $SED "$delay_single_quote_subst"`' link_all_deplibs='`$ECHO "$link_all_deplibs" | $SED "$delay_single_quote_subst"`' @@ -9737,7 +9638,7 @@ index 8095b71..eb4f0d7 100755 file_list_spec='`$ECHO "$file_list_spec" | $SED "$delay_single_quote_subst"`' variables_saved_for_relink='`$ECHO "$variables_saved_for_relink" | $SED "$delay_single_quote_subst"`' need_lib_prefix='`$ECHO "$need_lib_prefix" | $SED "$delay_single_quote_subst"`' -@@ -18058,8 +18904,8 @@ old_archive_cmds_CXX='`$ECHO "$old_archive_cmds_CXX" | $SED "$delay_single_quote +@@ -18087,8 +18933,8 @@ old_archive_cmds_CXX='`$ECHO "$old_archive_cmds_CXX" | $SED "$delay_single_quote compiler_CXX='`$ECHO "$compiler_CXX" | $SED "$delay_single_quote_subst"`' GCC_CXX='`$ECHO "$GCC_CXX" | $SED "$delay_single_quote_subst"`' lt_prog_compiler_no_builtin_flag_CXX='`$ECHO "$lt_prog_compiler_no_builtin_flag_CXX" | $SED "$delay_single_quote_subst"`' @@ -9747,7 +9648,7 @@ index 8095b71..eb4f0d7 100755 lt_prog_compiler_static_CXX='`$ECHO "$lt_prog_compiler_static_CXX" | $SED "$delay_single_quote_subst"`' lt_cv_prog_compiler_c_o_CXX='`$ECHO "$lt_cv_prog_compiler_c_o_CXX" | $SED "$delay_single_quote_subst"`' archive_cmds_need_lc_CXX='`$ECHO "$archive_cmds_need_lc_CXX" | $SED "$delay_single_quote_subst"`' -@@ -18086,12 +18932,12 @@ hardcode_shlibpath_var_CXX='`$ECHO "$hardcode_shlibpath_var_CXX" | $SED "$delay_ +@@ -18115,12 +18961,12 @@ hardcode_shlibpath_var_CXX='`$ECHO "$hardcode_shlibpath_var_CXX" | $SED "$delay_ hardcode_automatic_CXX='`$ECHO "$hardcode_automatic_CXX" | $SED "$delay_single_quote_subst"`' inherit_rpath_CXX='`$ECHO "$inherit_rpath_CXX" | $SED "$delay_single_quote_subst"`' link_all_deplibs_CXX='`$ECHO "$link_all_deplibs_CXX" | $SED "$delay_single_quote_subst"`' @@ -9761,7 +9662,7 @@ index 8095b71..eb4f0d7 100755 file_list_spec_CXX='`$ECHO "$file_list_spec_CXX" | $SED "$delay_single_quote_subst"`' hardcode_action_CXX='`$ECHO "$hardcode_action_CXX" | $SED "$delay_single_quote_subst"`' compiler_lib_search_dirs_CXX='`$ECHO "$compiler_lib_search_dirs_CXX" | $SED "$delay_single_quote_subst"`' -@@ -18129,8 +18975,13 @@ reload_flag \ +@@ -18158,8 +19004,13 @@ reload_flag \ OBJDUMP \ deplibs_check_method \ file_magic_cmd \ @@ -9775,7 +9676,7 @@ index 8095b71..eb4f0d7 100755 STRIP \ RANLIB \ CC \ -@@ -18140,12 +18991,14 @@ lt_cv_sys_global_symbol_pipe \ +@@ -18169,12 +19020,14 @@ lt_cv_sys_global_symbol_pipe \ lt_cv_sys_global_symbol_to_cdecl \ lt_cv_sys_global_symbol_to_c_name_address \ lt_cv_sys_global_symbol_to_c_name_address_lib_prefix \ @@ -9791,7 +9692,7 @@ index 8095b71..eb4f0d7 100755 DSYMUTIL \ NMEDIT \ LIPO \ -@@ -18161,7 +19014,6 @@ no_undefined_flag \ +@@ -18190,7 +19043,6 @@ no_undefined_flag \ hardcode_libdir_flag_spec \ hardcode_libdir_flag_spec_ld \ hardcode_libdir_separator \ @@ -9799,7 +9700,7 @@ index 8095b71..eb4f0d7 100755 exclude_expsyms \ include_expsyms \ file_list_spec \ -@@ -18183,8 +19035,8 @@ LD_CXX \ +@@ -18212,8 +19064,8 @@ LD_CXX \ reload_flag_CXX \ compiler_CXX \ lt_prog_compiler_no_builtin_flag_CXX \ @@ -9809,7 +9710,7 @@ index 8095b71..eb4f0d7 100755 lt_prog_compiler_static_CXX \ lt_cv_prog_compiler_c_o_CXX \ export_dynamic_flag_spec_CXX \ -@@ -18196,7 +19048,6 @@ no_undefined_flag_CXX \ +@@ -18225,7 +19077,6 @@ no_undefined_flag_CXX \ hardcode_libdir_flag_spec_CXX \ hardcode_libdir_flag_spec_ld_CXX \ hardcode_libdir_separator_CXX \ @@ -9817,7 +9718,7 @@ index 8095b71..eb4f0d7 100755 exclude_expsyms_CXX \ include_expsyms_CXX \ file_list_spec_CXX \ -@@ -18230,6 +19081,7 @@ module_cmds \ +@@ -18259,6 +19110,7 @@ module_cmds \ module_expsym_cmds \ export_symbols_cmds \ prelink_cmds \ @@ -9825,7 +9726,7 @@ index 8095b71..eb4f0d7 100755 postinstall_cmds \ postuninstall_cmds \ finish_cmds \ -@@ -18244,7 +19096,8 @@ archive_expsym_cmds_CXX \ +@@ -18273,7 +19125,8 @@ archive_expsym_cmds_CXX \ module_cmds_CXX \ module_expsym_cmds_CXX \ export_symbols_cmds_CXX \ @@ -9835,7 +9736,7 @@ index 8095b71..eb4f0d7 100755 case \`eval \\\\\$ECHO \\\\""\\\\\$\$var"\\\\"\` in *[\\\\\\\`\\"\\\$]*) eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"\\\$\$var\\" | \\\$SED -e \\"\\\$double_quote_subst\\" -e \\"\\\$sed_quote_subst\\" -e \\"\\\$delay_variable_subst\\"\\\`\\\\\\"" -@@ -19037,7 +19890,8 @@ $as_echo X"$file" | +@@ -19066,7 +19919,8 @@ $as_echo X"$file" | # NOTE: Changes made to this file will be lost: look at ltmain.sh. # # Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005, @@ -9845,7 +9746,7 @@ index 8095b71..eb4f0d7 100755 # Written by Gordon Matzigkeit, 1996 # # This file is part of GNU Libtool. -@@ -19140,19 +19994,42 @@ SP2NL=$lt_lt_SP2NL +@@ -19169,19 +20023,42 @@ SP2NL=$lt_lt_SP2NL # turn newlines into spaces. NL2SP=$lt_lt_NL2SP @@ -9889,7 +9790,7 @@ index 8095b71..eb4f0d7 100755 # A symbol stripping program. STRIP=$lt_STRIP -@@ -19182,6 +20059,12 @@ global_symbol_to_c_name_address=$lt_lt_cv_sys_global_symbol_to_c_name_address +@@ -19211,6 +20088,12 @@ global_symbol_to_c_name_address=$lt_lt_cv_sys_global_symbol_to_c_name_address # Transform the output of nm in a C name address pair when lib prefix is needed. global_symbol_to_c_name_address_lib_prefix=$lt_lt_cv_sys_global_symbol_to_c_name_address_lib_prefix @@ -9902,7 +9803,7 @@ index 8095b71..eb4f0d7 100755 # The name of the directory that contains temporary libtool files. objdir=$objdir -@@ -19191,6 +20074,9 @@ MAGIC_CMD=$MAGIC_CMD +@@ -19220,6 +20103,9 @@ MAGIC_CMD=$MAGIC_CMD # Must we lock files when doing compilation? need_locks=$lt_need_locks @@ -9912,7 +9813,7 @@ index 8095b71..eb4f0d7 100755 # Tool to manipulate archived DWARF debug symbol files on Mac OS X. DSYMUTIL=$lt_DSYMUTIL -@@ -19305,12 +20191,12 @@ with_gcc=$GCC +@@ -19334,12 +20220,12 @@ with_gcc=$GCC # Compiler flag to turn off builtin functions. no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag @@ -9928,7 +9829,7 @@ index 8095b71..eb4f0d7 100755 # Compiler flag to prevent dynamic linking. link_static_flag=$lt_lt_prog_compiler_static -@@ -19397,9 +20283,6 @@ inherit_rpath=$inherit_rpath +@@ -19426,9 +20312,6 @@ inherit_rpath=$inherit_rpath # Whether libtool must link a program against all its dependency libraries. link_all_deplibs=$link_all_deplibs @@ -9938,7 +9839,7 @@ index 8095b71..eb4f0d7 100755 # Set to "yes" if exported symbols are required. always_export_symbols=$always_export_symbols -@@ -19415,6 +20298,9 @@ include_expsyms=$lt_include_expsyms +@@ -19444,6 +20327,9 @@ include_expsyms=$lt_include_expsyms # Commands necessary for linking programs (against libraries) with templates. prelink_cmds=$lt_prelink_cmds @@ -9948,7 +9849,7 @@ index 8095b71..eb4f0d7 100755 # Specify filename containing input files. file_list_spec=$lt_file_list_spec -@@ -19461,210 +20347,169 @@ ltmain="$ac_aux_dir/ltmain.sh" +@@ -19490,210 +20376,169 @@ ltmain="$ac_aux_dir/ltmain.sh" # if finds mixed CR/LF and LF-only lines. Since sed operates in # text mode, it properly converts lines to CR/LF. This bash problem # is reportedly fixed, but why not run on old versions too? @@ -10322,7 +10223,7 @@ index 8095b71..eb4f0d7 100755 (rm -f "$ofile" && cp "$cfgfile" "$ofile" && rm -f "$cfgfile") chmod +x "$ofile" -@@ -19692,12 +20537,12 @@ with_gcc=$GCC_CXX +@@ -19721,12 +20566,12 @@ with_gcc=$GCC_CXX # Compiler flag to turn off builtin functions. no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag_CXX @@ -10338,7 +10239,7 @@ index 8095b71..eb4f0d7 100755 # Compiler flag to prevent dynamic linking. link_static_flag=$lt_lt_prog_compiler_static_CXX -@@ -19784,9 +20629,6 @@ inherit_rpath=$inherit_rpath_CXX +@@ -19813,9 +20658,6 @@ inherit_rpath=$inherit_rpath_CXX # Whether libtool must link a program against all its dependency libraries. link_all_deplibs=$link_all_deplibs_CXX @@ -10348,7 +10249,7 @@ index 8095b71..eb4f0d7 100755 # Set to "yes" if exported symbols are required. always_export_symbols=$always_export_symbols_CXX -@@ -19802,6 +20644,9 @@ include_expsyms=$lt_include_expsyms_CXX +@@ -19831,6 +20673,9 @@ include_expsyms=$lt_include_expsyms_CXX # Commands necessary for linking programs (against libraries) with templates. prelink_cmds=$lt_prelink_cmds_CXX @@ -10359,7 +10260,7 @@ index 8095b71..eb4f0d7 100755 file_list_spec=$lt_file_list_spec_CXX diff --git a/libtool.m4 b/libtool.m4 -index 4b2d30a..008d331 100644 +index 24d13f3..e45fdc6 100644 --- a/libtool.m4 +++ b/libtool.m4 @@ -1,7 +1,8 @@ @@ -16451,7 +16352,7 @@ index 9503ec8..70e856e 100644 case "$perm_rpath " in *" $libdir "*) ;; - *) perm_rpath="$perm_rpath $libdir" ;; -+ *) func_apped perm_rpath " $libdir" ;; ++ *) func_append perm_rpath " $libdir" ;; esac fi done @@ -17442,10 +17343,10 @@ index bf92b5e..c573da9 100644 # These exist entirely to fool aclocal when bootstrapping libtool. # diff --git a/opcodes/configure b/opcodes/configure -index eedb184..d3076e1 100755 +index f615634..a340983 100755 --- a/opcodes/configure +++ b/opcodes/configure -@@ -648,6 +648,9 @@ OTOOL +@@ -649,6 +649,9 @@ OTOOL LIPO NMEDIT DSYMUTIL @@ -17455,7 +17356,7 @@ index eedb184..d3076e1 100755 OBJDUMP LN_S NM -@@ -760,6 +763,7 @@ enable_static +@@ -762,6 +765,7 @@ enable_static with_pic enable_fast_install with_gnu_ld @@ -17463,7 +17364,7 @@ index eedb184..d3076e1 100755 enable_libtool_lock enable_targets enable_werror -@@ -1420,6 +1424,8 @@ Optional Packages: +@@ -1422,6 +1426,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] @@ -17472,7 +17373,7 @@ index eedb184..d3076e1 100755 Some influential environment variables: CC C compiler command -@@ -5110,8 +5116,8 @@ esac +@@ -5114,8 +5120,8 @@ esac @@ -17483,7 +17384,7 @@ index eedb184..d3076e1 100755 -@@ -5151,7 +5157,7 @@ ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO$ECHO +@@ -5155,7 +5161,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. @@ -17492,7 +17393,7 @@ index eedb184..d3076e1 100755 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 -@@ -5837,8 +5843,8 @@ $as_echo_n "checking whether the shell understands some XSI constructs... " >&6; +@@ -5841,8 +5847,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" @@ -17503,7 +17404,7 @@ index eedb184..d3076e1 100755 && eval 'test $(( 1 + 1 )) -eq 2 \ && test "${#_lt_dummy}" -eq 5' ) >/dev/null 2>&1 \ && xsi_shell=yes -@@ -5887,6 +5893,80 @@ esac +@@ -5891,6 +5897,80 @@ esac @@ -17584,7 +17485,7 @@ index eedb184..d3076e1 100755 { $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 : -@@ -5903,6 +5983,11 @@ case $reload_flag in +@@ -5907,6 +5987,11 @@ case $reload_flag in esac reload_cmds='$LD$reload_flag -o $output$reload_objs' case $host_os in @@ -17596,7 +17497,7 @@ index eedb184..d3076e1 100755 darwin*) if test "$GCC" = yes; then reload_cmds='$LTCC $LTCFLAGS -nostdlib ${wl}-r -o $output$reload_objs' -@@ -6071,7 +6156,8 @@ mingw* | pw32*) +@@ -6075,7 +6160,8 @@ mingw* | pw32*) lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL' lt_cv_file_magic_cmd='func_win32_libid' else @@ -17606,7 +17507,7 @@ index eedb184..d3076e1 100755 lt_cv_file_magic_cmd='$OBJDUMP -f' fi ;; -@@ -6225,6 +6311,21 @@ esac +@@ -6229,6 +6315,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; } @@ -17628,7 +17529,7 @@ index eedb184..d3076e1 100755 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 -@@ -6240,9 +6341,162 @@ test -z "$deplibs_check_method" && deplibs_check_method=unknown +@@ -6244,9 +6345,162 @@ test -z "$deplibs_check_method" && deplibs_check_method=unknown @@ -17793,7 +17694,7 @@ index eedb184..d3076e1 100755 { $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 : -@@ -6258,7 +6512,7 @@ do +@@ -6262,7 +6516,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 @@ -17802,7 +17703,7 @@ index eedb184..d3076e1 100755 $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi -@@ -6278,11 +6532,15 @@ $as_echo "no" >&6; } +@@ -6282,11 +6536,15 @@ $as_echo "no" >&6; } fi @@ -17821,7 +17722,7 @@ index eedb184..d3076e1 100755 { $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 : -@@ -6298,7 +6556,7 @@ do +@@ -6302,7 +6560,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 @@ -17830,7 +17731,7 @@ index eedb184..d3076e1 100755 $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi -@@ -6317,6 +6575,10 @@ else +@@ -6321,6 +6579,10 @@ else $as_echo "no" >&6; } fi @@ -17841,7 +17742,7 @@ index eedb184..d3076e1 100755 if test "x$ac_ct_AR" = x; then AR="false" else -@@ -6328,16 +6590,72 @@ ac_tool_warned=yes ;; +@@ -6332,16 +6594,72 @@ ac_tool_warned=yes ;; esac AR=$ac_ct_AR fi @@ -17918,7 +17819,7 @@ index eedb184..d3076e1 100755 -@@ -6679,8 +6997,8 @@ esac +@@ -6683,8 +7001,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 @@ -17929,7 +17830,7 @@ index eedb184..d3076e1 100755 # Handle CRLF in mingw tool chain opt_cr= -@@ -6716,6 +7034,7 @@ for ac_symprfx in "" "_"; do +@@ -6720,6 +7038,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 @@ -17937,7 +17838,7 @@ index eedb184..d3076e1 100755 # Check to see that the pipe works correctly. pipe_works=no -@@ -6757,6 +7076,18 @@ _LT_EOF +@@ -6761,6 +7080,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 @@ -17956,7 +17857,7 @@ index eedb184..d3076e1 100755 #ifdef __cplusplus extern "C" { #endif -@@ -6768,7 +7099,7 @@ _LT_EOF +@@ -6772,7 +7103,7 @@ _LT_EOF cat <<_LT_EOF >> conftest.$ac_ext /* The mapping between symbol names and symbols. */ @@ -17965,7 +17866,7 @@ index eedb184..d3076e1 100755 const char *name; void *address; } -@@ -6794,8 +7125,8 @@ static const void *lt_preloaded_setup() { +@@ -6798,8 +7129,8 @@ static const void *lt_preloaded_setup() { _LT_EOF # Now try linking the two files. mv conftest.$ac_objext conftstm.$ac_objext @@ -17976,7 +17877,7 @@ index eedb184..d3076e1 100755 LIBS="conftstm.$ac_objext" CFLAGS="$CFLAGS$lt_prog_compiler_no_builtin_flag" if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5 -@@ -6805,8 +7136,8 @@ _LT_EOF +@@ -6809,8 +7140,8 @@ _LT_EOF test $ac_status = 0; } && test -s conftest${ac_exeext}; then pipe_works=yes fi @@ -17987,7 +17888,7 @@ index eedb184..d3076e1 100755 else echo "cannot find nm_test_func in $nlist" >&5 fi -@@ -6843,6 +7174,16 @@ else +@@ -6847,6 +7178,16 @@ else $as_echo "ok" >&6; } fi @@ -18004,7 +17905,7 @@ index eedb184..d3076e1 100755 -@@ -6864,6 +7205,45 @@ fi +@@ -6868,6 +7209,45 @@ fi @@ -18050,7 +17951,7 @@ index eedb184..d3076e1 100755 # Check whether --enable-libtool-lock was given. if test "${enable_libtool_lock+set}" = set; then : enableval=$enable_libtool_lock; -@@ -7070,6 +7450,123 @@ esac +@@ -7074,6 +7454,123 @@ esac need_locks="$enable_libtool_lock" @@ -18174,7 +18075,7 @@ index eedb184..d3076e1 100755 case $host_os in rhapsody* | darwin*) -@@ -7633,6 +8130,8 @@ _LT_EOF +@@ -7637,6 +8134,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 @@ -18183,7 +18084,7 @@ index eedb184..d3076e1 100755 cat > conftest.c << _LT_EOF int main() { return 0;} _LT_EOF -@@ -7798,7 +8297,8 @@ fi +@@ -7802,7 +8301,8 @@ fi LIBTOOL_DEPS="$ltmain" # Always use our own libtool. @@ -18193,7 +18094,7 @@ index eedb184..d3076e1 100755 -@@ -7887,7 +8387,7 @@ aix3*) +@@ -7891,7 +8391,7 @@ aix3*) esac # Global variables: @@ -18202,7 +18103,7 @@ index eedb184..d3076e1 100755 can_build_shared=yes # All known linkers require a `.a' archive for static linking (except MSVC, -@@ -8185,8 +8685,6 @@ fi +@@ -8189,8 +8689,6 @@ fi lt_prog_compiler_pic= lt_prog_compiler_static= @@ -18211,7 +18112,7 @@ index eedb184..d3076e1 100755 if test "$GCC" = yes; then lt_prog_compiler_wl='-Wl,' -@@ -8352,6 +8850,12 @@ $as_echo_n "checking for $compiler option to produce PIC... " >&6; } +@@ -8356,6 +8854,12 @@ $as_echo_n "checking for $compiler option to produce PIC... " >&6; } lt_prog_compiler_pic='--shared' lt_prog_compiler_static='--static' ;; @@ -18224,7 +18125,7 @@ index eedb184..d3076e1 100755 pgcc* | pgf77* | pgf90* | pgf95* | pgfortran*) # Portland Group compilers (*not* the Pentium gcc compiler, # which looks to be a dead project) -@@ -8414,7 +8918,7 @@ $as_echo_n "checking for $compiler option to produce PIC... " >&6; } +@@ -8418,7 +8922,7 @@ $as_echo_n "checking for $compiler option to produce PIC... " >&6; } lt_prog_compiler_pic='-KPIC' lt_prog_compiler_static='-Bstatic' case $cc_basename in @@ -18233,7 +18134,7 @@ index eedb184..d3076e1 100755 lt_prog_compiler_wl='-Qoption ld ';; *) lt_prog_compiler_wl='-Wl,';; -@@ -8471,13 +8975,17 @@ case $host_os in +@@ -8475,13 +8979,17 @@ case $host_os in lt_prog_compiler_pic="$lt_prog_compiler_pic -DPIC" ;; esac @@ -18257,7 +18158,7 @@ index eedb184..d3076e1 100755 # # Check to make sure the PIC flag actually works. -@@ -8538,6 +9046,11 @@ fi +@@ -8542,6 +9050,11 @@ fi @@ -18269,7 +18170,7 @@ index eedb184..d3076e1 100755 # # Check to make sure the static flag actually works. # -@@ -8888,7 +9401,8 @@ _LT_EOF +@@ -8892,7 +9405,8 @@ _LT_EOF allow_undefined_flag=unsupported always_export_symbols=no enable_shared_with_static_runtimes=yes @@ -18279,7 +18180,7 @@ index eedb184..d3076e1 100755 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' -@@ -8987,12 +9501,12 @@ _LT_EOF +@@ -8991,12 +9505,12 @@ _LT_EOF whole_archive_flag_spec='--whole-archive$convenience --no-whole-archive' hardcode_libdir_flag_spec= hardcode_libdir_flag_spec_ld='-rpath $libdir' @@ -18294,7 +18195,7 @@ index eedb184..d3076e1 100755 fi ;; esac -@@ -9006,8 +9520,8 @@ _LT_EOF +@@ -9010,8 +9524,8 @@ _LT_EOF archive_cmds='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib' wlarc= else @@ -18305,7 +18206,7 @@ index eedb184..d3076e1 100755 fi ;; -@@ -9025,8 +9539,8 @@ _LT_EOF +@@ -9029,8 +9543,8 @@ _LT_EOF _LT_EOF elif $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then @@ -18316,7 +18217,7 @@ index eedb184..d3076e1 100755 else ld_shlibs=no fi -@@ -9072,8 +9586,8 @@ _LT_EOF +@@ -9076,8 +9590,8 @@ _LT_EOF *) if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then @@ -18327,7 +18228,7 @@ index eedb184..d3076e1 100755 else ld_shlibs=no fi -@@ -9203,7 +9717,13 @@ _LT_EOF +@@ -9207,7 +9721,13 @@ _LT_EOF allow_undefined_flag='-berok' # Determine the default libpath from the value encoded in an # empty executable. @@ -18342,7 +18243,7 @@ index eedb184..d3076e1 100755 /* end confdefs.h. */ int -@@ -9216,22 +9736,29 @@ main () +@@ -9220,22 +9740,29 @@ main () _ACEOF if ac_fn_c_try_link "$LINENO"; then : @@ -18385,7 +18286,7 @@ index eedb184..d3076e1 100755 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" -@@ -9243,7 +9770,13 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi +@@ -9247,7 +9774,13 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi else # Determine the default libpath from the value encoded in an # empty executable. @@ -18400,7 +18301,7 @@ index eedb184..d3076e1 100755 /* end confdefs.h. */ int -@@ -9256,22 +9789,29 @@ main () +@@ -9260,22 +9793,29 @@ main () _ACEOF if ac_fn_c_try_link "$LINENO"; then : @@ -18443,7 +18344,7 @@ index eedb184..d3076e1 100755 hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath" # Warning - without using the other run time loading flags, -@@ -9316,20 +9856,63 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi +@@ -9320,20 +9860,63 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi # Microsoft Visual C++. # hardcode_libdir_flag_spec is actually meaningless, as there is # no search path for DLLs. @@ -18521,7 +18422,7 @@ index eedb184..d3076e1 100755 ;; darwin* | rhapsody*) -@@ -9390,7 +9973,7 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi +@@ -9394,7 +9977,7 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi # FreeBSD 3 and greater uses gcc -shared to do shared libraries. freebsd* | dragonfly*) @@ -18530,7 +18431,7 @@ index eedb184..d3076e1 100755 hardcode_libdir_flag_spec='-R$libdir' hardcode_direct=yes hardcode_shlibpath_var=no -@@ -9398,7 +9981,7 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi +@@ -9402,7 +9985,7 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi hpux9*) if test "$GCC" = yes; then @@ -18539,7 +18440,7 @@ index eedb184..d3076e1 100755 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 -@@ -9414,7 +9997,7 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi +@@ -9418,7 +10001,7 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi hpux10*) if test "$GCC" = yes && test "$with_gnu_ld" = no; then @@ -18548,7 +18449,7 @@ index eedb184..d3076e1 100755 else archive_cmds='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags' fi -@@ -9438,10 +10021,10 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi +@@ -9442,10 +10025,10 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi archive_cmds='$CC -shared ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' ;; ia64*) @@ -18561,7 +18462,7 @@ index eedb184..d3076e1 100755 ;; esac else -@@ -9520,23 +10103,36 @@ fi +@@ -9524,23 +10107,36 @@ fi irix5* | irix6* | nonstopux*) if test "$GCC" = yes; then @@ -18606,7 +18507,7 @@ index eedb184..d3076e1 100755 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' -@@ -9621,7 +10217,7 @@ rm -f core conftest.err conftest.$ac_objext \ +@@ -9625,7 +10221,7 @@ rm -f core conftest.err conftest.$ac_objext \ osf4* | osf5*) # as osf3* with the addition of -msym flag if test "$GCC" = yes; then allow_undefined_flag=' ${wl}-expect_unresolved ${wl}\*' @@ -18615,7 +18516,7 @@ index eedb184..d3076e1 100755 hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' else allow_undefined_flag=' -expect_unresolved \*' -@@ -9640,9 +10236,9 @@ rm -f core conftest.err conftest.$ac_objext \ +@@ -9644,9 +10240,9 @@ rm -f core conftest.err conftest.$ac_objext \ no_undefined_flag=' -z defs' if test "$GCC" = yes; then wlarc='${wl}' @@ -18627,7 +18528,7 @@ index eedb184..d3076e1 100755 else case `$CC -V 2>&1` in *"Compilers 5.0"*) -@@ -10218,8 +10814,9 @@ cygwin* | mingw* | pw32* | cegcc*) +@@ -10222,8 +10818,9 @@ cygwin* | mingw* | pw32* | cegcc*) need_version=no need_lib_prefix=no @@ -18639,7 +18540,7 @@ index eedb184..d3076e1 100755 library_names_spec='$libname.dll.a' # DLL is installed to $(libdir)/../bin by postinstall_cmds postinstall_cmds='base_file=`basename \${file}`~ -@@ -10252,13 +10849,71 @@ cygwin* | mingw* | pw32* | cegcc*) +@@ -10256,13 +10853,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 @@ -18712,7 +18613,7 @@ index eedb184..d3076e1 100755 # FIXME: first we should search . and the directory the executable is in shlibpath_var=PATH ;; -@@ -10350,7 +11005,7 @@ haiku*) +@@ -10354,7 +11009,7 @@ haiku*) soname_spec='${libname}${release}${shared_ext}$major' shlibpath_var=LIBRARY_PATH shlibpath_overrides_runpath=yes @@ -18721,16 +18622,7 @@ index eedb184..d3076e1 100755 hardcode_into_libs=yes ;; -@@ -11146,7 +11801,7 @@ else - lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 - lt_status=$lt_dlunknown - cat > conftest.$ac_ext <<_LT_EOF --#line 11149 "configure" -+#line $LINENO "configure" - #include "confdefs.h" - - #if HAVE_DLFCN_H -@@ -11190,10 +11845,10 @@ else +@@ -11194,10 +11849,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)) @@ -18743,16 +18635,7 @@ index eedb184..d3076e1 100755 int main () { void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW); -@@ -11252,7 +11907,7 @@ else - lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 - lt_status=$lt_dlunknown - cat > conftest.$ac_ext <<_LT_EOF --#line 11255 "configure" -+#line $LINENO "configure" - #include "confdefs.h" - - #if HAVE_DLFCN_H -@@ -11296,10 +11951,10 @@ else +@@ -11300,10 +11955,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)) @@ -18765,7 +18648,7 @@ index eedb184..d3076e1 100755 int main () { void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW); -@@ -12462,7 +13117,7 @@ if test "$enable_shared" = "yes"; then +@@ -12499,7 +13154,7 @@ if test "$enable_shared" = "yes"; then # since libbfd may not pull in the entirety of libiberty. x=`sed -n -e 's/^[ ]*PICFLAG[ ]*=[ ]*//p' < ../libiberty/Makefile | sed -n '$p'` if test -n "$x"; then @@ -18774,7 +18657,7 @@ index eedb184..d3076e1 100755 fi case "${host}" in -@@ -13436,13 +14091,20 @@ exeext='`$ECHO "$exeext" | $SED "$delay_single_quote_subst"`' +@@ -13473,13 +14128,20 @@ exeext='`$ECHO "$exeext" | $SED "$delay_single_quote_subst"`' lt_unset='`$ECHO "$lt_unset" | $SED "$delay_single_quote_subst"`' lt_SP2NL='`$ECHO "$lt_SP2NL" | $SED "$delay_single_quote_subst"`' lt_NL2SP='`$ECHO "$lt_NL2SP" | $SED "$delay_single_quote_subst"`' @@ -18795,7 +18678,7 @@ index eedb184..d3076e1 100755 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"`' -@@ -13457,14 +14119,17 @@ lt_cv_sys_global_symbol_pipe='`$ECHO "$lt_cv_sys_global_symbol_pipe" | $SED "$de +@@ -13494,14 +14156,17 @@ lt_cv_sys_global_symbol_pipe='`$ECHO "$lt_cv_sys_global_symbol_pipe" | $SED "$de lt_cv_sys_global_symbol_to_cdecl='`$ECHO "$lt_cv_sys_global_symbol_to_cdecl" | $SED "$delay_single_quote_subst"`' lt_cv_sys_global_symbol_to_c_name_address='`$ECHO "$lt_cv_sys_global_symbol_to_c_name_address" | $SED "$delay_single_quote_subst"`' lt_cv_sys_global_symbol_to_c_name_address_lib_prefix='`$ECHO "$lt_cv_sys_global_symbol_to_c_name_address_lib_prefix" | $SED "$delay_single_quote_subst"`' @@ -18814,7 +18697,7 @@ index eedb184..d3076e1 100755 DSYMUTIL='`$ECHO "$DSYMUTIL" | $SED "$delay_single_quote_subst"`' NMEDIT='`$ECHO "$NMEDIT" | $SED "$delay_single_quote_subst"`' LIPO='`$ECHO "$LIPO" | $SED "$delay_single_quote_subst"`' -@@ -13497,12 +14162,12 @@ hardcode_shlibpath_var='`$ECHO "$hardcode_shlibpath_var" | $SED "$delay_single_q +@@ -13534,12 +14199,12 @@ hardcode_shlibpath_var='`$ECHO "$hardcode_shlibpath_var" | $SED "$delay_single_q hardcode_automatic='`$ECHO "$hardcode_automatic" | $SED "$delay_single_quote_subst"`' inherit_rpath='`$ECHO "$inherit_rpath" | $SED "$delay_single_quote_subst"`' link_all_deplibs='`$ECHO "$link_all_deplibs" | $SED "$delay_single_quote_subst"`' @@ -18828,7 +18711,7 @@ index eedb184..d3076e1 100755 file_list_spec='`$ECHO "$file_list_spec" | $SED "$delay_single_quote_subst"`' variables_saved_for_relink='`$ECHO "$variables_saved_for_relink" | $SED "$delay_single_quote_subst"`' need_lib_prefix='`$ECHO "$need_lib_prefix" | $SED "$delay_single_quote_subst"`' -@@ -13557,8 +14222,13 @@ reload_flag \ +@@ -13594,8 +14259,13 @@ reload_flag \ OBJDUMP \ deplibs_check_method \ file_magic_cmd \ @@ -18842,7 +18725,7 @@ index eedb184..d3076e1 100755 STRIP \ RANLIB \ CC \ -@@ -13568,12 +14238,14 @@ lt_cv_sys_global_symbol_pipe \ +@@ -13605,12 +14275,14 @@ lt_cv_sys_global_symbol_pipe \ lt_cv_sys_global_symbol_to_cdecl \ lt_cv_sys_global_symbol_to_c_name_address \ lt_cv_sys_global_symbol_to_c_name_address_lib_prefix \ @@ -18858,7 +18741,7 @@ index eedb184..d3076e1 100755 DSYMUTIL \ NMEDIT \ LIPO \ -@@ -13589,7 +14261,6 @@ no_undefined_flag \ +@@ -13626,7 +14298,6 @@ no_undefined_flag \ hardcode_libdir_flag_spec \ hardcode_libdir_flag_spec_ld \ hardcode_libdir_separator \ @@ -18866,7 +18749,7 @@ index eedb184..d3076e1 100755 exclude_expsyms \ include_expsyms \ file_list_spec \ -@@ -13625,6 +14296,7 @@ module_cmds \ +@@ -13662,6 +14333,7 @@ module_cmds \ module_expsym_cmds \ export_symbols_cmds \ prelink_cmds \ @@ -18874,7 +18757,7 @@ index eedb184..d3076e1 100755 postinstall_cmds \ postuninstall_cmds \ finish_cmds \ -@@ -14381,7 +15053,8 @@ $as_echo X"$file" | +@@ -14418,7 +15090,8 @@ $as_echo X"$file" | # NOTE: Changes made to this file will be lost: look at ltmain.sh. # # Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005, @@ -18884,7 +18767,7 @@ index eedb184..d3076e1 100755 # Written by Gordon Matzigkeit, 1996 # # This file is part of GNU Libtool. -@@ -14484,19 +15157,42 @@ SP2NL=$lt_lt_SP2NL +@@ -14521,19 +15194,42 @@ SP2NL=$lt_lt_SP2NL # turn newlines into spaces. NL2SP=$lt_lt_NL2SP @@ -18928,7 +18811,7 @@ index eedb184..d3076e1 100755 # A symbol stripping program. STRIP=$lt_STRIP -@@ -14526,6 +15222,12 @@ global_symbol_to_c_name_address=$lt_lt_cv_sys_global_symbol_to_c_name_address +@@ -14563,6 +15259,12 @@ global_symbol_to_c_name_address=$lt_lt_cv_sys_global_symbol_to_c_name_address # Transform the output of nm in a C name address pair when lib prefix is needed. global_symbol_to_c_name_address_lib_prefix=$lt_lt_cv_sys_global_symbol_to_c_name_address_lib_prefix @@ -18941,7 +18824,7 @@ index eedb184..d3076e1 100755 # The name of the directory that contains temporary libtool files. objdir=$objdir -@@ -14535,6 +15237,9 @@ MAGIC_CMD=$MAGIC_CMD +@@ -14572,6 +15274,9 @@ MAGIC_CMD=$MAGIC_CMD # Must we lock files when doing compilation? need_locks=$lt_need_locks @@ -18951,7 +18834,7 @@ index eedb184..d3076e1 100755 # Tool to manipulate archived DWARF debug symbol files on Mac OS X. DSYMUTIL=$lt_DSYMUTIL -@@ -14649,12 +15354,12 @@ with_gcc=$GCC +@@ -14686,12 +15391,12 @@ with_gcc=$GCC # Compiler flag to turn off builtin functions. no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag @@ -18967,7 +18850,7 @@ index eedb184..d3076e1 100755 # Compiler flag to prevent dynamic linking. link_static_flag=$lt_lt_prog_compiler_static -@@ -14741,9 +15446,6 @@ inherit_rpath=$inherit_rpath +@@ -14778,9 +15483,6 @@ inherit_rpath=$inherit_rpath # Whether libtool must link a program against all its dependency libraries. link_all_deplibs=$link_all_deplibs @@ -18977,7 +18860,7 @@ index eedb184..d3076e1 100755 # Set to "yes" if exported symbols are required. always_export_symbols=$always_export_symbols -@@ -14759,6 +15461,9 @@ include_expsyms=$lt_include_expsyms +@@ -14796,6 +15498,9 @@ include_expsyms=$lt_include_expsyms # Commands necessary for linking programs (against libraries) with templates. prelink_cmds=$lt_prelink_cmds @@ -18987,7 +18870,7 @@ index eedb184..d3076e1 100755 # Specify filename containing input files. file_list_spec=$lt_file_list_spec -@@ -14791,210 +15496,169 @@ ltmain="$ac_aux_dir/ltmain.sh" +@@ -14828,210 +15533,169 @@ ltmain="$ac_aux_dir/ltmain.sh" # if finds mixed CR/LF and LF-only lines. Since sed operates in # text mode, it properly converts lines to CR/LF. This bash problem # is reportedly fixed, but why not run on old versions too? @@ -19362,7 +19245,7 @@ index eedb184..d3076e1 100755 chmod +x "$ofile" diff --git a/opcodes/configure.ac b/opcodes/configure.ac -index 07e3162..c0c75d4 100644 +index c7f4783..f2e002d 100644 --- a/opcodes/configure.ac +++ b/opcodes/configure.ac @@ -167,7 +167,7 @@ changequote(,)dnl @@ -19375,7 +19258,7 @@ index 07e3162..c0c75d4 100644 case "${host}" in diff --git a/zlib/configure b/zlib/configure -index 8378857..7584940 100755 +index bba9fd2..25a2dae 100755 --- a/zlib/configure +++ b/zlib/configure @@ -614,8 +614,11 @@ OTOOL @@ -19390,7 +19273,7 @@ index 8378857..7584940 100755 OBJDUMP LN_S NM -@@ -736,6 +739,7 @@ enable_static +@@ -737,6 +740,7 @@ enable_static with_pic enable_fast_install with_gnu_ld @@ -19398,7 +19281,7 @@ index 8378857..7584940 100755 enable_libtool_lock enable_host_shared ' -@@ -1384,6 +1388,8 @@ Optional Packages: +@@ -1385,6 +1389,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] @@ -19407,7 +19290,7 @@ index 8378857..7584940 100755 Some influential environment variables: CC C compiler command -@@ -3907,8 +3913,8 @@ esac +@@ -3910,8 +3916,8 @@ esac @@ -19418,7 +19301,7 @@ index 8378857..7584940 100755 -@@ -3948,7 +3954,7 @@ ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO$ECHO +@@ -3951,7 +3957,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. @@ -19427,7 +19310,7 @@ index 8378857..7584940 100755 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 -@@ -4764,8 +4770,8 @@ $as_echo_n "checking whether the shell understands some XSI constructs... " >&6; +@@ -4767,8 +4773,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" @@ -19438,7 +19321,7 @@ index 8378857..7584940 100755 && eval 'test $(( 1 + 1 )) -eq 2 \ && test "${#_lt_dummy}" -eq 5' ) >/dev/null 2>&1 \ && xsi_shell=yes -@@ -4814,6 +4820,80 @@ esac +@@ -4817,6 +4823,80 @@ esac @@ -19519,7 +19402,7 @@ index 8378857..7584940 100755 { $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 : -@@ -4830,6 +4910,11 @@ case $reload_flag in +@@ -4833,6 +4913,11 @@ case $reload_flag in esac reload_cmds='$LD$reload_flag -o $output$reload_objs' case $host_os in @@ -19531,7 +19414,7 @@ index 8378857..7584940 100755 darwin*) if test "$GCC" = yes; then reload_cmds='$LTCC $LTCFLAGS -nostdlib ${wl}-r -o $output$reload_objs' -@@ -4998,7 +5083,8 @@ mingw* | pw32*) +@@ -5001,7 +5086,8 @@ mingw* | pw32*) lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL' lt_cv_file_magic_cmd='func_win32_libid' else @@ -19541,7 +19424,7 @@ index 8378857..7584940 100755 lt_cv_file_magic_cmd='$OBJDUMP -f' fi ;; -@@ -5152,6 +5238,21 @@ esac +@@ -5155,6 +5241,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; } @@ -19563,7 +19446,7 @@ index 8378857..7584940 100755 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 -@@ -5167,9 +5268,163 @@ test -z "$deplibs_check_method" && deplibs_check_method=unknown +@@ -5170,9 +5271,163 @@ test -z "$deplibs_check_method" && deplibs_check_method=unknown @@ -19729,7 +19612,7 @@ index 8378857..7584940 100755 { $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 : -@@ -5185,7 +5440,7 @@ do +@@ -5188,7 +5443,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 @@ -19738,7 +19621,7 @@ index 8378857..7584940 100755 $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi -@@ -5205,11 +5460,15 @@ $as_echo "no" >&6; } +@@ -5208,11 +5463,15 @@ $as_echo "no" >&6; } fi @@ -19757,7 +19640,7 @@ index 8378857..7584940 100755 { $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 : -@@ -5225,7 +5484,7 @@ do +@@ -5228,7 +5487,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 @@ -19766,7 +19649,7 @@ index 8378857..7584940 100755 $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi -@@ -5244,6 +5503,10 @@ else +@@ -5247,6 +5506,10 @@ else $as_echo "no" >&6; } fi @@ -19777,7 +19660,7 @@ index 8378857..7584940 100755 if test "x$ac_ct_AR" = x; then AR="false" else -@@ -5255,16 +5518,72 @@ ac_tool_warned=yes ;; +@@ -5258,16 +5521,72 @@ ac_tool_warned=yes ;; esac AR=$ac_ct_AR fi @@ -19854,7 +19737,7 @@ index 8378857..7584940 100755 -@@ -5606,8 +5925,8 @@ esac +@@ -5609,8 +5928,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 @@ -19865,7 +19748,7 @@ index 8378857..7584940 100755 # Handle CRLF in mingw tool chain opt_cr= -@@ -5643,6 +5962,7 @@ for ac_symprfx in "" "_"; do +@@ -5646,6 +5965,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 @@ -19873,7 +19756,7 @@ index 8378857..7584940 100755 # Check to see that the pipe works correctly. pipe_works=no -@@ -5684,6 +6004,18 @@ _LT_EOF +@@ -5687,6 +6007,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 @@ -19892,7 +19775,7 @@ index 8378857..7584940 100755 #ifdef __cplusplus extern "C" { #endif -@@ -5695,7 +6027,7 @@ _LT_EOF +@@ -5698,7 +6030,7 @@ _LT_EOF cat <<_LT_EOF >> conftest.$ac_ext /* The mapping between symbol names and symbols. */ @@ -19901,7 +19784,7 @@ index 8378857..7584940 100755 const char *name; void *address; } -@@ -5721,8 +6053,8 @@ static const void *lt_preloaded_setup() { +@@ -5724,8 +6056,8 @@ static const void *lt_preloaded_setup() { _LT_EOF # Now try linking the two files. mv conftest.$ac_objext conftstm.$ac_objext @@ -19912,7 +19795,7 @@ index 8378857..7584940 100755 LIBS="conftstm.$ac_objext" CFLAGS="$CFLAGS$lt_prog_compiler_no_builtin_flag" if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5 -@@ -5732,8 +6064,8 @@ _LT_EOF +@@ -5735,8 +6067,8 @@ _LT_EOF test $ac_status = 0; } && test -s conftest${ac_exeext}; then pipe_works=yes fi @@ -19923,7 +19806,7 @@ index 8378857..7584940 100755 else echo "cannot find nm_test_func in $nlist" >&5 fi -@@ -5770,6 +6102,19 @@ else +@@ -5773,6 +6105,19 @@ else $as_echo "ok" >&6; } fi @@ -19943,7 +19826,7 @@ index 8378857..7584940 100755 -@@ -5790,6 +6135,41 @@ fi +@@ -5793,6 +6138,41 @@ fi @@ -19985,7 +19868,7 @@ index 8378857..7584940 100755 # Check whether --enable-libtool-lock was given. -@@ -6001,6 +6381,123 @@ esac +@@ -6004,6 +6384,123 @@ esac need_locks="$enable_libtool_lock" @@ -20109,7 +19992,7 @@ index 8378857..7584940 100755 case $host_os in rhapsody* | darwin*) -@@ -6567,6 +7064,8 @@ _LT_EOF +@@ -6570,6 +7067,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 @@ -20118,7 +20001,7 @@ index 8378857..7584940 100755 cat > conftest.c << _LT_EOF int main() { return 0;} _LT_EOF -@@ -7030,7 +7529,8 @@ fi +@@ -7033,7 +7532,8 @@ fi LIBTOOL_DEPS="$ltmain" # Always use our own libtool. @@ -20128,7 +20011,7 @@ index 8378857..7584940 100755 -@@ -7119,7 +7619,7 @@ aix3*) +@@ -7122,7 +7622,7 @@ aix3*) esac # Global variables: @@ -20137,7 +20020,7 @@ index 8378857..7584940 100755 can_build_shared=yes # All known linkers require a `.a' archive for static linking (except MSVC, -@@ -7417,8 +7917,6 @@ fi +@@ -7420,8 +7920,6 @@ fi lt_prog_compiler_pic= lt_prog_compiler_static= @@ -20146,7 +20029,7 @@ index 8378857..7584940 100755 if test "$GCC" = yes; then lt_prog_compiler_wl='-Wl,' -@@ -7584,6 +8082,12 @@ $as_echo_n "checking for $compiler option to produce PIC... " >&6; } +@@ -7587,6 +8085,12 @@ $as_echo_n "checking for $compiler option to produce PIC... " >&6; } lt_prog_compiler_pic='--shared' lt_prog_compiler_static='--static' ;; @@ -20159,7 +20042,7 @@ index 8378857..7584940 100755 pgcc* | pgf77* | pgf90* | pgf95* | pgfortran*) # Portland Group compilers (*not* the Pentium gcc compiler, # which looks to be a dead project) -@@ -7646,7 +8150,7 @@ $as_echo_n "checking for $compiler option to produce PIC... " >&6; } +@@ -7649,7 +8153,7 @@ $as_echo_n "checking for $compiler option to produce PIC... " >&6; } lt_prog_compiler_pic='-KPIC' lt_prog_compiler_static='-Bstatic' case $cc_basename in @@ -20168,7 +20051,7 @@ index 8378857..7584940 100755 lt_prog_compiler_wl='-Qoption ld ';; *) lt_prog_compiler_wl='-Wl,';; -@@ -7703,13 +8207,17 @@ case $host_os in +@@ -7706,13 +8210,17 @@ case $host_os in lt_prog_compiler_pic="$lt_prog_compiler_pic -DPIC" ;; esac @@ -20192,7 +20075,7 @@ index 8378857..7584940 100755 # # Check to make sure the PIC flag actually works. -@@ -7770,6 +8278,11 @@ fi +@@ -7773,6 +8281,11 @@ fi @@ -20204,7 +20087,7 @@ index 8378857..7584940 100755 # # Check to make sure the static flag actually works. # -@@ -8120,7 +8633,8 @@ _LT_EOF +@@ -8123,7 +8636,8 @@ _LT_EOF allow_undefined_flag=unsupported always_export_symbols=no enable_shared_with_static_runtimes=yes @@ -20214,7 +20097,7 @@ index 8378857..7584940 100755 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' -@@ -8219,12 +8733,12 @@ _LT_EOF +@@ -8222,12 +8736,12 @@ _LT_EOF whole_archive_flag_spec='--whole-archive$convenience --no-whole-archive' hardcode_libdir_flag_spec= hardcode_libdir_flag_spec_ld='-rpath $libdir' @@ -20229,7 +20112,7 @@ index 8378857..7584940 100755 fi ;; esac -@@ -8238,8 +8752,8 @@ _LT_EOF +@@ -8241,8 +8755,8 @@ _LT_EOF archive_cmds='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib' wlarc= else @@ -20240,7 +20123,7 @@ index 8378857..7584940 100755 fi ;; -@@ -8257,8 +8771,8 @@ _LT_EOF +@@ -8260,8 +8774,8 @@ _LT_EOF _LT_EOF elif $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then @@ -20251,7 +20134,7 @@ index 8378857..7584940 100755 else ld_shlibs=no fi -@@ -8304,8 +8818,8 @@ _LT_EOF +@@ -8307,8 +8821,8 @@ _LT_EOF *) if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then @@ -20262,7 +20145,7 @@ index 8378857..7584940 100755 else ld_shlibs=no fi -@@ -8435,7 +8949,13 @@ _LT_EOF +@@ -8438,7 +8952,13 @@ _LT_EOF allow_undefined_flag='-berok' # Determine the default libpath from the value encoded in an # empty executable. @@ -20277,7 +20160,7 @@ index 8378857..7584940 100755 as_fn_error "Link tests are not allowed after GCC_NO_EXECUTABLES." "$LINENO" 5 fi cat confdefs.h - <<_ACEOF >conftest.$ac_ext -@@ -8451,22 +8971,29 @@ main () +@@ -8454,22 +8974,29 @@ main () _ACEOF if ac_fn_c_try_link "$LINENO"; then : @@ -20320,7 +20203,7 @@ index 8378857..7584940 100755 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" -@@ -8478,7 +9005,13 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi +@@ -8481,7 +9008,13 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi else # Determine the default libpath from the value encoded in an # empty executable. @@ -20335,7 +20218,7 @@ index 8378857..7584940 100755 as_fn_error "Link tests are not allowed after GCC_NO_EXECUTABLES." "$LINENO" 5 fi cat confdefs.h - <<_ACEOF >conftest.$ac_ext -@@ -8494,22 +9027,29 @@ main () +@@ -8497,22 +9030,29 @@ main () _ACEOF if ac_fn_c_try_link "$LINENO"; then : @@ -20378,7 +20261,7 @@ index 8378857..7584940 100755 hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath" # Warning - without using the other run time loading flags, -@@ -8554,20 +9094,63 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi +@@ -8557,20 +9097,63 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi # Microsoft Visual C++. # hardcode_libdir_flag_spec is actually meaningless, as there is # no search path for DLLs. @@ -20456,7 +20339,7 @@ index 8378857..7584940 100755 ;; darwin* | rhapsody*) -@@ -8628,7 +9211,7 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi +@@ -8631,7 +9214,7 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi # FreeBSD 3 and greater uses gcc -shared to do shared libraries. freebsd* | dragonfly*) @@ -20465,7 +20348,7 @@ index 8378857..7584940 100755 hardcode_libdir_flag_spec='-R$libdir' hardcode_direct=yes hardcode_shlibpath_var=no -@@ -8636,7 +9219,7 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi +@@ -8639,7 +9222,7 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi hpux9*) if test "$GCC" = yes; then @@ -20474,7 +20357,7 @@ index 8378857..7584940 100755 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 -@@ -8652,7 +9235,7 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi +@@ -8655,7 +9238,7 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi hpux10*) if test "$GCC" = yes && test "$with_gnu_ld" = no; then @@ -20483,7 +20366,7 @@ index 8378857..7584940 100755 else archive_cmds='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags' fi -@@ -8676,10 +9259,10 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi +@@ -8679,10 +9262,10 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi archive_cmds='$CC -shared ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' ;; ia64*) @@ -20496,7 +20379,7 @@ index 8378857..7584940 100755 ;; esac else -@@ -8758,26 +9341,39 @@ fi +@@ -8761,26 +9344,39 @@ fi irix5* | irix6* | nonstopux*) if test "$GCC" = yes; then @@ -20544,7 +20427,7 @@ index 8378857..7584940 100755 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' -@@ -8862,7 +9458,7 @@ rm -f core conftest.err conftest.$ac_objext \ +@@ -8865,7 +9461,7 @@ rm -f core conftest.err conftest.$ac_objext \ osf4* | osf5*) # as osf3* with the addition of -msym flag if test "$GCC" = yes; then allow_undefined_flag=' ${wl}-expect_unresolved ${wl}\*' @@ -20553,7 +20436,7 @@ index 8378857..7584940 100755 hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' else allow_undefined_flag=' -expect_unresolved \*' -@@ -8881,9 +9477,9 @@ rm -f core conftest.err conftest.$ac_objext \ +@@ -8884,9 +9480,9 @@ rm -f core conftest.err conftest.$ac_objext \ no_undefined_flag=' -z defs' if test "$GCC" = yes; then wlarc='${wl}' @@ -20565,7 +20448,7 @@ index 8378857..7584940 100755 else case `$CC -V 2>&1` in *"Compilers 5.0"*) -@@ -9459,8 +10055,9 @@ cygwin* | mingw* | pw32* | cegcc*) +@@ -9462,8 +10058,9 @@ cygwin* | mingw* | pw32* | cegcc*) need_version=no need_lib_prefix=no @@ -20577,7 +20460,7 @@ index 8378857..7584940 100755 library_names_spec='$libname.dll.a' # DLL is installed to $(libdir)/../bin by postinstall_cmds postinstall_cmds='base_file=`basename \${file}`~ -@@ -9493,13 +10090,71 @@ cygwin* | mingw* | pw32* | cegcc*) +@@ -9496,13 +10093,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 @@ -20650,7 +20533,7 @@ index 8378857..7584940 100755 # FIXME: first we should search . and the directory the executable is in shlibpath_var=PATH ;; -@@ -9591,7 +10246,7 @@ haiku*) +@@ -9594,7 +10249,7 @@ haiku*) soname_spec='${libname}${release}${shared_ext}$major' shlibpath_var=LIBRARY_PATH shlibpath_overrides_runpath=yes @@ -20659,16 +20542,16 @@ index 8378857..7584940 100755 hardcode_into_libs=yes ;; -@@ -10405,7 +11060,7 @@ else +@@ -10408,7 +11063,7 @@ else lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 lt_status=$lt_dlunknown cat > conftest.$ac_ext <<_LT_EOF --#line 10408 "configure" +-#line 10411 "configure" +#line $LINENO "configure" #include "confdefs.h" #if HAVE_DLFCN_H -@@ -10449,10 +11104,10 @@ else +@@ -10452,10 +11107,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)) @@ -20681,16 +20564,16 @@ index 8378857..7584940 100755 int main () { void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW); -@@ -10511,7 +11166,7 @@ else +@@ -10514,7 +11169,7 @@ else lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 lt_status=$lt_dlunknown cat > conftest.$ac_ext <<_LT_EOF --#line 10514 "configure" +-#line 10517 "configure" +#line $LINENO "configure" #include "confdefs.h" #if HAVE_DLFCN_H -@@ -10555,10 +11210,10 @@ else +@@ -10558,10 +11213,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)) @@ -20703,7 +20586,7 @@ index 8378857..7584940 100755 int main () { void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW); -@@ -11990,13 +12645,20 @@ exeext='`$ECHO "$exeext" | $SED "$delay_single_quote_subst"`' +@@ -11993,13 +12648,20 @@ exeext='`$ECHO "$exeext" | $SED "$delay_single_quote_subst"`' lt_unset='`$ECHO "$lt_unset" | $SED "$delay_single_quote_subst"`' lt_SP2NL='`$ECHO "$lt_SP2NL" | $SED "$delay_single_quote_subst"`' lt_NL2SP='`$ECHO "$lt_NL2SP" | $SED "$delay_single_quote_subst"`' @@ -20724,7 +20607,7 @@ index 8378857..7584940 100755 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"`' -@@ -12011,14 +12673,17 @@ lt_cv_sys_global_symbol_pipe='`$ECHO "$lt_cv_sys_global_symbol_pipe" | $SED "$de +@@ -12014,14 +12676,17 @@ lt_cv_sys_global_symbol_pipe='`$ECHO "$lt_cv_sys_global_symbol_pipe" | $SED "$de lt_cv_sys_global_symbol_to_cdecl='`$ECHO "$lt_cv_sys_global_symbol_to_cdecl" | $SED "$delay_single_quote_subst"`' lt_cv_sys_global_symbol_to_c_name_address='`$ECHO "$lt_cv_sys_global_symbol_to_c_name_address" | $SED "$delay_single_quote_subst"`' lt_cv_sys_global_symbol_to_c_name_address_lib_prefix='`$ECHO "$lt_cv_sys_global_symbol_to_c_name_address_lib_prefix" | $SED "$delay_single_quote_subst"`' @@ -20743,7 +20626,7 @@ index 8378857..7584940 100755 DSYMUTIL='`$ECHO "$DSYMUTIL" | $SED "$delay_single_quote_subst"`' NMEDIT='`$ECHO "$NMEDIT" | $SED "$delay_single_quote_subst"`' LIPO='`$ECHO "$LIPO" | $SED "$delay_single_quote_subst"`' -@@ -12051,12 +12716,12 @@ hardcode_shlibpath_var='`$ECHO "$hardcode_shlibpath_var" | $SED "$delay_single_q +@@ -12054,12 +12719,12 @@ hardcode_shlibpath_var='`$ECHO "$hardcode_shlibpath_var" | $SED "$delay_single_q hardcode_automatic='`$ECHO "$hardcode_automatic" | $SED "$delay_single_quote_subst"`' inherit_rpath='`$ECHO "$inherit_rpath" | $SED "$delay_single_quote_subst"`' link_all_deplibs='`$ECHO "$link_all_deplibs" | $SED "$delay_single_quote_subst"`' @@ -20757,7 +20640,7 @@ index 8378857..7584940 100755 file_list_spec='`$ECHO "$file_list_spec" | $SED "$delay_single_quote_subst"`' variables_saved_for_relink='`$ECHO "$variables_saved_for_relink" | $SED "$delay_single_quote_subst"`' need_lib_prefix='`$ECHO "$need_lib_prefix" | $SED "$delay_single_quote_subst"`' -@@ -12111,8 +12776,13 @@ reload_flag \ +@@ -12114,8 +12779,13 @@ reload_flag \ OBJDUMP \ deplibs_check_method \ file_magic_cmd \ @@ -20771,7 +20654,7 @@ index 8378857..7584940 100755 STRIP \ RANLIB \ CC \ -@@ -12122,12 +12792,14 @@ lt_cv_sys_global_symbol_pipe \ +@@ -12125,12 +12795,14 @@ lt_cv_sys_global_symbol_pipe \ lt_cv_sys_global_symbol_to_cdecl \ lt_cv_sys_global_symbol_to_c_name_address \ lt_cv_sys_global_symbol_to_c_name_address_lib_prefix \ @@ -20787,7 +20670,7 @@ index 8378857..7584940 100755 DSYMUTIL \ NMEDIT \ LIPO \ -@@ -12143,7 +12815,6 @@ no_undefined_flag \ +@@ -12146,7 +12818,6 @@ no_undefined_flag \ hardcode_libdir_flag_spec \ hardcode_libdir_flag_spec_ld \ hardcode_libdir_separator \ @@ -20795,7 +20678,7 @@ index 8378857..7584940 100755 exclude_expsyms \ include_expsyms \ file_list_spec \ -@@ -12179,6 +12850,7 @@ module_cmds \ +@@ -12182,6 +12853,7 @@ module_cmds \ module_expsym_cmds \ export_symbols_cmds \ prelink_cmds \ @@ -20803,7 +20686,7 @@ index 8378857..7584940 100755 postinstall_cmds \ postuninstall_cmds \ finish_cmds \ -@@ -12768,7 +13440,8 @@ $as_echo X"$file" | +@@ -12771,7 +13443,8 @@ $as_echo X"$file" | # NOTE: Changes made to this file will be lost: look at ltmain.sh. # # Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005, @@ -20813,7 +20696,7 @@ index 8378857..7584940 100755 # Written by Gordon Matzigkeit, 1996 # # This file is part of GNU Libtool. -@@ -12871,19 +13544,42 @@ SP2NL=$lt_lt_SP2NL +@@ -12874,19 +13547,42 @@ SP2NL=$lt_lt_SP2NL # turn newlines into spaces. NL2SP=$lt_lt_NL2SP @@ -20857,7 +20740,7 @@ index 8378857..7584940 100755 # A symbol stripping program. STRIP=$lt_STRIP -@@ -12913,6 +13609,12 @@ global_symbol_to_c_name_address=$lt_lt_cv_sys_global_symbol_to_c_name_address +@@ -12916,6 +13612,12 @@ global_symbol_to_c_name_address=$lt_lt_cv_sys_global_symbol_to_c_name_address # Transform the output of nm in a C name address pair when lib prefix is needed. global_symbol_to_c_name_address_lib_prefix=$lt_lt_cv_sys_global_symbol_to_c_name_address_lib_prefix @@ -20870,7 +20753,7 @@ index 8378857..7584940 100755 # The name of the directory that contains temporary libtool files. objdir=$objdir -@@ -12922,6 +13624,9 @@ MAGIC_CMD=$MAGIC_CMD +@@ -12925,6 +13627,9 @@ MAGIC_CMD=$MAGIC_CMD # Must we lock files when doing compilation? need_locks=$lt_need_locks @@ -20880,7 +20763,7 @@ index 8378857..7584940 100755 # Tool to manipulate archived DWARF debug symbol files on Mac OS X. DSYMUTIL=$lt_DSYMUTIL -@@ -13036,12 +13741,12 @@ with_gcc=$GCC +@@ -13039,12 +13744,12 @@ with_gcc=$GCC # Compiler flag to turn off builtin functions. no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag @@ -20896,7 +20779,7 @@ index 8378857..7584940 100755 # Compiler flag to prevent dynamic linking. link_static_flag=$lt_lt_prog_compiler_static -@@ -13128,9 +13833,6 @@ inherit_rpath=$inherit_rpath +@@ -13131,9 +13836,6 @@ inherit_rpath=$inherit_rpath # Whether libtool must link a program against all its dependency libraries. link_all_deplibs=$link_all_deplibs @@ -20906,7 +20789,7 @@ index 8378857..7584940 100755 # Set to "yes" if exported symbols are required. always_export_symbols=$always_export_symbols -@@ -13146,6 +13848,9 @@ include_expsyms=$lt_include_expsyms +@@ -13149,6 +13851,9 @@ include_expsyms=$lt_include_expsyms # Commands necessary for linking programs (against libraries) with templates. prelink_cmds=$lt_prelink_cmds @@ -20916,7 +20799,7 @@ index 8378857..7584940 100755 # Specify filename containing input files. file_list_spec=$lt_file_list_spec -@@ -13178,210 +13883,169 @@ ltmain="$ac_aux_dir/ltmain.sh" +@@ -13181,210 +13886,169 @@ ltmain="$ac_aux_dir/ltmain.sh" # if finds mixed CR/LF and LF-only lines. Since sed operates in # text mode, it properly converts lines to CR/LF. This bash problem # is reportedly fixed, but why not run on old versions too? @@ -21291,5 +21174,4 @@ index 8378857..7584940 100755 chmod +x "$ofile" -- -2.7.1 - +2.9.0 diff --git a/import-layers/yocto-poky/meta/recipes-devtools/binutils/binutils/0007-Add-the-armv5e-architecture-to-binutils.patch b/import-layers/yocto-poky/meta/recipes-devtools/binutils/binutils/0007-Add-the-armv5e-architecture-to-binutils.patch index cb3f83b4f..795abf365 100644 --- a/import-layers/yocto-poky/meta/recipes-devtools/binutils/binutils/0007-Add-the-armv5e-architecture-to-binutils.patch +++ b/import-layers/yocto-poky/meta/recipes-devtools/binutils/binutils/0007-Add-the-armv5e-architecture-to-binutils.patch @@ -1,7 +1,7 @@ -From 4ff9dbe13f38e4fea24fbcc9879cf7352c0561ff Mon Sep 17 00:00:00 2001 +From 9475aee8a702aa531737ec12dfd928d52951bc84 Mon Sep 17 00:00:00 2001 From: Khem Raj <raj.khem@gmail.com> Date: Mon, 2 Mar 2015 01:37:10 +0000 -Subject: [PATCH 07/14] Add the armv5e architecture to binutils +Subject: [PATCH 07/13] Add the armv5e architecture to binutils Binutils has a comment that indicates it is supposed to match gcc for all of the support "-march=" settings, but it was lacking the armv5e setting. @@ -19,10 +19,10 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com> 1 file changed, 1 insertion(+) diff --git a/gas/config/tc-arm.c b/gas/config/tc-arm.c -index 3bd4bc9..5d99921 100644 +index 73d0531..4b9e32f 100644 --- a/gas/config/tc-arm.c +++ b/gas/config/tc-arm.c -@@ -24791,6 +24791,7 @@ static const struct arm_arch_option_table arm_archs[] = +@@ -25421,6 +25421,7 @@ static const struct arm_arch_option_table arm_archs[] = ARM_ARCH_OPT ("armv4t", ARM_ARCH_V4T, FPU_ARCH_FPA), ARM_ARCH_OPT ("armv4txm", ARM_ARCH_V4TxM, FPU_ARCH_FPA), ARM_ARCH_OPT ("armv5", ARM_ARCH_V5, FPU_ARCH_VFP), @@ -31,5 +31,5 @@ index 3bd4bc9..5d99921 100644 ARM_ARCH_OPT ("armv5txm", ARM_ARCH_V5TxM, FPU_ARCH_VFP), ARM_ARCH_OPT ("armv5te", ARM_ARCH_V5TE, FPU_ARCH_VFP), -- -2.7.1 +2.9.0 diff --git a/import-layers/yocto-poky/meta/recipes-devtools/binutils/binutils/0008-don-t-let-the-distro-compiler-point-to-the-wrong-ins.patch b/import-layers/yocto-poky/meta/recipes-devtools/binutils/binutils/0008-don-t-let-the-distro-compiler-point-to-the-wrong-ins.patch index f8382f872..af524ced2 100644 --- a/import-layers/yocto-poky/meta/recipes-devtools/binutils/binutils/0008-don-t-let-the-distro-compiler-point-to-the-wrong-ins.patch +++ b/import-layers/yocto-poky/meta/recipes-devtools/binutils/binutils/0008-don-t-let-the-distro-compiler-point-to-the-wrong-ins.patch @@ -1,7 +1,7 @@ -From cb36d94dbd521752e6444418af500e139a26eabb Mon Sep 17 00:00:00 2001 +From b2d277937d11f1ce1d581f48ff74a25822a052da Mon Sep 17 00:00:00 2001 From: Khem Raj <raj.khem@gmail.com> Date: Mon, 2 Mar 2015 01:39:01 +0000 -Subject: [PATCH 08/14] don't let the distro compiler point to the wrong +Subject: [PATCH 08/13] don't let the distro compiler point to the wrong installation location Thanks to RP for helping find the source code causing the issue. @@ -17,7 +17,7 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com> 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/libiberty/Makefile.in b/libiberty/Makefile.in -index 7d7e2f4..1aaaf0e 100644 +index c7a4568..f766b72 100644 --- a/libiberty/Makefile.in +++ b/libiberty/Makefile.in @@ -364,7 +364,8 @@ install-strip: install @@ -31,5 +31,5 @@ index 7d7e2f4..1aaaf0e 100644 if test -n "${target_header_dir}"; then \ ${mkinstalldirs} $(DESTDIR)$(libdir)/$(MULTIOSDIR); \ -- -2.7.1 +2.9.0 diff --git a/import-layers/yocto-poky/meta/recipes-devtools/binutils/binutils/0009-warn-for-uses-of-system-directories-when-cross-linki.patch b/import-layers/yocto-poky/meta/recipes-devtools/binutils/binutils/0009-warn-for-uses-of-system-directories-when-cross-linki.patch index d3f510b11..3c83e69e4 100644 --- a/import-layers/yocto-poky/meta/recipes-devtools/binutils/binutils/0009-warn-for-uses-of-system-directories-when-cross-linki.patch +++ b/import-layers/yocto-poky/meta/recipes-devtools/binutils/binutils/0009-warn-for-uses-of-system-directories-when-cross-linki.patch @@ -1,7 +1,7 @@ -From 4daa841ce16ba52b717bdff9eb1dfc4f19638814 Mon Sep 17 00:00:00 2001 +From 7ab8e318659eb5d9adc758c78d084a95560b93fd Mon Sep 17 00:00:00 2001 From: Khem Raj <raj.khem@gmail.com> Date: Fri, 15 Jan 2016 06:31:09 +0000 -Subject: [PATCH 09/14] warn for uses of system directories when cross linking +Subject: [PATCH 09/13] warn for uses of system directories when cross linking 2008-07-02 Joseph Myers <joseph@codesourcery.com> @@ -63,10 +63,10 @@ Upstream-Status: Pending 9 files changed, 86 insertions(+) diff --git a/ld/config.in b/ld/config.in -index 276fb77..35c58eb 100644 +index 2c6d698..d3cb7e8 100644 --- a/ld/config.in +++ b/ld/config.in -@@ -14,6 +14,9 @@ +@@ -17,6 +17,9 @@ language is requested. */ #undef ENABLE_NLS @@ -77,10 +77,10 @@ index 276fb77..35c58eb 100644 #undef EXTRA_SHLIB_EXTENSION diff --git a/ld/configure b/ld/configure -index eb4f0d7..e9054b4 100755 +index 3df1149..0601c98 100755 --- a/ld/configure +++ b/ld/configure -@@ -790,6 +790,7 @@ with_lib_path +@@ -792,6 +792,7 @@ with_lib_path enable_targets enable_64_bit_bfd with_sysroot @@ -88,7 +88,7 @@ index eb4f0d7..e9054b4 100755 enable_gold enable_got enable_compressed_debug_sections -@@ -1446,6 +1447,8 @@ Optional Features: +@@ -1449,6 +1450,8 @@ Optional Features: --disable-largefile omit support for large files --enable-targets alternative target configurations --enable-64-bit-bfd 64-bit support (on hosts with narrower word sizes) @@ -97,7 +97,7 @@ index eb4f0d7..e9054b4 100755 --enable-gold[=ARG] build gold [ARG={default,yes,no}] --enable-got=<type> GOT handling scheme (target, single, negative, multigot) -@@ -16306,6 +16309,19 @@ fi +@@ -16313,6 +16316,19 @@ fi @@ -118,7 +118,7 @@ index eb4f0d7..e9054b4 100755 if test "${enable_gold+set}" = set; then : enableval=$enable_gold; case "${enableval}" in diff --git a/ld/configure.ac b/ld/configure.ac -index e28f38e..7b474e7 100644 +index d17281f..9fb3db9 100644 --- a/ld/configure.ac +++ b/ld/configure.ac @@ -95,6 +95,16 @@ AC_SUBST(use_sysroot) @@ -139,10 +139,10 @@ index e28f38e..7b474e7 100644 dnl "install_as_default" is set to false if gold is the default linker. dnl "installed_linker" is the installed BFD linker name. diff --git a/ld/ld.h b/ld/ld.h -index d84ec4e..3476b26 100644 +index 85a48ad..a8fdddf 100644 --- a/ld/ld.h +++ b/ld/ld.h -@@ -164,6 +164,14 @@ typedef struct { +@@ -169,6 +169,14 @@ typedef struct /* If set, display the target memory usage (per memory region). */ bfd_boolean print_memory_usage; @@ -158,10 +158,10 @@ index d84ec4e..3476b26 100644 enum endian_enum endian; diff --git a/ld/ld.texinfo b/ld/ld.texinfo -index 2389661..d06112b 100644 +index bc16764..838c75d 100644 --- a/ld/ld.texinfo +++ b/ld/ld.texinfo -@@ -2338,6 +2338,18 @@ string identifying the original linked file does not change. +@@ -2357,6 +2357,18 @@ string identifying the original linked file does not change. Passing @code{none} for @var{style} disables the setting from any @code{--build-id} options earlier on the command line. @@ -181,7 +181,7 @@ index 2389661..d06112b 100644 @c man end diff --git a/ld/ldfile.c b/ld/ldfile.c -index 96f9ecc..af231c0 100644 +index e397737..013727b 100644 --- a/ld/ldfile.c +++ b/ld/ldfile.c @@ -114,6 +114,23 @@ ldfile_add_library_path (const char *name, bfd_boolean cmdline) @@ -209,7 +209,7 @@ index 96f9ecc..af231c0 100644 /* Try to open a BFD for a lang_input_statement. */ diff --git a/ld/ldlex.h b/ld/ldlex.h -index 6f11e7b..0ca3110 100644 +index cf943e4..12cfcaa 100644 --- a/ld/ldlex.h +++ b/ld/ldlex.h @@ -144,6 +144,8 @@ enum option_values @@ -222,7 +222,7 @@ index 6f11e7b..0ca3110 100644 /* The initial parser states. */ diff --git a/ld/ldmain.c b/ld/ldmain.c -index bb0b9cc..a23c56c 100644 +index e7a8dff..3ccf2af 100644 --- a/ld/ldmain.c +++ b/ld/ldmain.c @@ -257,6 +257,8 @@ main (int argc, char **argv) @@ -235,7 +235,7 @@ index bb0b9cc..a23c56c 100644 /* We initialize DEMANGLING based on the environment variable COLLECT_NO_DEMANGLE. The gcc collect2 program will demangle the diff --git a/ld/lexsup.c b/ld/lexsup.c -index e2fb212..a2064f1 100644 +index 6d28e91..5c9da57 100644 --- a/ld/lexsup.c +++ b/ld/lexsup.c @@ -530,6 +530,14 @@ static const struct ld_option ld_options[] = @@ -269,5 +269,5 @@ index e2fb212..a2064f1 100644 } -- -2.7.1 +2.9.0 diff --git a/import-layers/yocto-poky/meta/recipes-devtools/binutils/binutils/0010-Fix-rpath-in-libtool-when-sysroot-is-enabled.patch b/import-layers/yocto-poky/meta/recipes-devtools/binutils/binutils/0010-Fix-rpath-in-libtool-when-sysroot-is-enabled.patch index 407424103..e2f6a51a3 100644 --- a/import-layers/yocto-poky/meta/recipes-devtools/binutils/binutils/0010-Fix-rpath-in-libtool-when-sysroot-is-enabled.patch +++ b/import-layers/yocto-poky/meta/recipes-devtools/binutils/binutils/0010-Fix-rpath-in-libtool-when-sysroot-is-enabled.patch @@ -1,7 +1,7 @@ -From bb9eb09411ddcef515f0f7ad7c29214b0766e960 Mon Sep 17 00:00:00 2001 +From 27fc7a4927ab92925a5be84217959d9f1c808ccc Mon Sep 17 00:00:00 2001 From: Khem Raj <raj.khem@gmail.com> Date: Mon, 2 Mar 2015 01:42:38 +0000 -Subject: [PATCH 10/14] Fix rpath in libtool when sysroot is enabled +Subject: [PATCH 10/13] Fix rpath in libtool when sysroot is enabled Enabling sysroot support in libtool exposed a bug where the final library had an RPATH encoded into it which still pointed to the @@ -48,5 +48,5 @@ index 70e856e..11ee684 100644 if test -z "$hardcode_libdirs"; then hardcode_libdirs="$libdir" -- -2.7.1 +2.9.0 diff --git a/import-layers/yocto-poky/meta/recipes-devtools/binutils/binutils/0011-Change-default-emulation-for-mips64-linux.patch b/import-layers/yocto-poky/meta/recipes-devtools/binutils/binutils/0011-Change-default-emulation-for-mips64-linux.patch index c0d2d718a..3fdb5eb92 100644 --- a/import-layers/yocto-poky/meta/recipes-devtools/binutils/binutils/0011-Change-default-emulation-for-mips64-linux.patch +++ b/import-layers/yocto-poky/meta/recipes-devtools/binutils/binutils/0011-Change-default-emulation-for-mips64-linux.patch @@ -1,7 +1,7 @@ -From af1b4ee69b4fd617b88127ed40c3ca7351a9532f Mon Sep 17 00:00:00 2001 +From 6b018e8129298dbd5b714e459ef0b3aef5bbce13 Mon Sep 17 00:00:00 2001 From: Khem Raj <raj.khem@gmail.com> Date: Mon, 2 Mar 2015 01:44:14 +0000 -Subject: [PATCH 11/14] Change default emulation for mips64*-*-linux +Subject: [PATCH 11/13] Change default emulation for mips64*-*-linux we change the default emulations to be N64 instead of N32 @@ -14,10 +14,10 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com> 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/bfd/config.bfd b/bfd/config.bfd -index c5688cb..5c27b49 100644 +index b998830..ab17e72 100644 --- a/bfd/config.bfd +++ b/bfd/config.bfd -@@ -1087,12 +1087,12 @@ case "${targ}" in +@@ -1101,12 +1101,12 @@ case "${targ}" in targ_selvecs="mips_elf32_le_vec mips_elf64_be_vec mips_elf64_le_vec mips_ecoff_be_vec mips_ecoff_le_vec" ;; mips64*el-*-linux*) @@ -35,10 +35,10 @@ index c5688cb..5c27b49 100644 mips*el-*-linux*) targ_defvec=mips_elf32_trad_le_vec diff --git a/ld/configure.tgt b/ld/configure.tgt -index 6b6bbf2..b45b1e5 100644 +index a3db909..212327c 100644 --- a/ld/configure.tgt +++ b/ld/configure.tgt -@@ -509,11 +509,11 @@ mips*el-*-vxworks*) targ_emul=elf32elmipvxworks +@@ -513,11 +513,11 @@ mips*el-*-vxworks*) targ_emul=elf32elmipvxworks mips*-*-vxworks*) targ_emul=elf32ebmipvxworks targ_extra_emuls="elf32elmipvxworks" ;; mips*-*-windiss) targ_emul=elf32mipswindiss ;; @@ -55,5 +55,5 @@ index 6b6bbf2..b45b1e5 100644 mips*el-*-linux-*) targ_emul=elf32ltsmip targ_extra_emuls="elf32btsmip elf32ltsmipn32 elf64ltsmip elf32btsmipn32 elf64btsmip" -- -2.7.1 +2.9.0 diff --git a/import-layers/yocto-poky/meta/recipes-devtools/binutils/binutils/0012-Add-support-for-Netlogic-XLP.patch b/import-layers/yocto-poky/meta/recipes-devtools/binutils/binutils/0012-Add-support-for-Netlogic-XLP.patch index af7f12ff8..8103347ba 100644 --- a/import-layers/yocto-poky/meta/recipes-devtools/binutils/binutils/0012-Add-support-for-Netlogic-XLP.patch +++ b/import-layers/yocto-poky/meta/recipes-devtools/binutils/binutils/0012-Add-support-for-Netlogic-XLP.patch @@ -1,7 +1,7 @@ -From 9f967c555b3fda64af4549ae252a0fba00120529 Mon Sep 17 00:00:00 2001 +From c2e138f4ccdf8af81c18c8511c901d3deee696b5 Mon Sep 17 00:00:00 2001 From: Khem Raj <raj.khem@gmail.com> Date: Sun, 14 Feb 2016 17:06:19 +0000 -Subject: [PATCH 12/14] Add support for Netlogic XLP +Subject: [PATCH 12/13] Add support for Netlogic XLP Patch From: Nebu Philips <nphilips@netlogicmicro.com> @@ -35,10 +35,10 @@ Upstream-Status: Pending 15 files changed, 65 insertions(+), 25 deletions(-) diff --git a/bfd/aoutx.h b/bfd/aoutx.h -index f78b910..d0d8dd3 100644 +index be0126a..4ca7e24 100644 --- a/bfd/aoutx.h +++ b/bfd/aoutx.h -@@ -802,6 +802,7 @@ NAME (aout, machine_type) (enum bfd_architecture arch, +@@ -812,6 +812,7 @@ NAME (aout, machine_type) (enum bfd_architecture arch, case bfd_mach_mipsisa64r6: case bfd_mach_mips_sb1: case bfd_mach_mips_xlr: @@ -47,10 +47,10 @@ index f78b910..d0d8dd3 100644 arch_flags = M_MIPS2; break; diff --git a/bfd/archures.c b/bfd/archures.c -index 51068b9..727741f 100644 +index 96c9109..5a30d02 100644 --- a/bfd/archures.c +++ b/bfd/archures.c -@@ -181,6 +181,7 @@ DESCRIPTION +@@ -197,6 +197,7 @@ DESCRIPTION .#define bfd_mach_mips_octeon2 6502 .#define bfd_mach_mips_octeon3 6503 .#define bfd_mach_mips_xlr 887682 {* decimal 'XLR' *} @@ -59,10 +59,10 @@ index 51068b9..727741f 100644 .#define bfd_mach_mipsisa32r2 33 .#define bfd_mach_mipsisa32r3 34 diff --git a/bfd/bfd-in2.h b/bfd/bfd-in2.h -index 779ffbf..bf5a565 100644 +index 30513c4..5e8ed4c 100644 --- a/bfd/bfd-in2.h +++ b/bfd/bfd-in2.h -@@ -1993,6 +1993,7 @@ enum bfd_architecture +@@ -2008,6 +2008,7 @@ enum bfd_architecture #define bfd_mach_mips_octeon2 6502 #define bfd_mach_mips_octeon3 6503 #define bfd_mach_mips_xlr 887682 /* decimal 'XLR' */ @@ -71,10 +71,10 @@ index 779ffbf..bf5a565 100644 #define bfd_mach_mipsisa32r2 33 #define bfd_mach_mipsisa32r3 34 diff --git a/bfd/config.bfd b/bfd/config.bfd -index 5c27b49..d553039 100644 +index ab17e72..863be89 100644 --- a/bfd/config.bfd +++ b/bfd/config.bfd -@@ -1066,6 +1066,11 @@ case "${targ}" in +@@ -1084,6 +1084,11 @@ case "${targ}" in targ_defvec=mips_elf32_le_vec targ_selvecs="mips_elf32_be_vec mips_elf64_be_vec mips_elf64_le_vec" ;; @@ -83,11 +83,11 @@ index 5c27b49..d553039 100644 + targ_selvecs="mips_elf32_trad_le_vec mips_elf64_trad_be_vec mips_elf64_trad_le_vec" + want64=true + ;; - mips*-*-elf* | mips*-*-rtems* | mips*-*-vxworks | mips*-*-windiss) + mips*-*-elf* | mips*-*-rtems* | mips*-*-windiss | mips*-*-none) targ_defvec=mips_elf32_be_vec targ_selvecs="mips_elf32_le_vec mips_elf64_be_vec mips_elf64_le_vec" diff --git a/bfd/cpu-mips.c b/bfd/cpu-mips.c -index 8a9475d..de7e5a3 100644 +index d209fb6..b6a86ae 100644 --- a/bfd/cpu-mips.c +++ b/bfd/cpu-mips.c @@ -104,7 +104,8 @@ enum @@ -111,10 +111,10 @@ index 8a9475d..de7e5a3 100644 /* The default architecture is mips:3000, but with a machine number of diff --git a/bfd/elfxx-mips.c b/bfd/elfxx-mips.c -index 1f2f4a3..700afd3 100644 +index e47276b..71c30a0 100644 --- a/bfd/elfxx-mips.c +++ b/bfd/elfxx-mips.c -@@ -6605,6 +6605,9 @@ _bfd_elf_mips_mach (flagword flags) +@@ -6646,6 +6646,9 @@ _bfd_elf_mips_mach (flagword flags) case E_MIPS_MACH_XLR: return bfd_mach_mips_xlr; @@ -124,7 +124,7 @@ index 1f2f4a3..700afd3 100644 default: switch (flags & EF_MIPS_ARCH) { -@@ -11901,6 +11904,10 @@ mips_set_isa_flags (bfd *abfd) +@@ -11949,6 +11952,10 @@ mips_set_isa_flags (bfd *abfd) val = E_MIPS_ARCH_64R2 | E_MIPS_MACH_OCTEON2; break; @@ -135,7 +135,7 @@ index 1f2f4a3..700afd3 100644 case bfd_mach_mipsisa32: val = E_MIPS_ARCH_32; break; -@@ -13931,6 +13938,7 @@ static const struct mips_mach_extension mips_mach_extensions[] = +@@ -13975,6 +13982,7 @@ static const struct mips_mach_extension mips_mach_extensions[] = { bfd_mach_mips_octeonp, bfd_mach_mips_octeon }, { bfd_mach_mips_octeon, bfd_mach_mipsisa64r2 }, { bfd_mach_mips_loongson_3a, bfd_mach_mipsisa64r2 }, @@ -144,10 +144,10 @@ index 1f2f4a3..700afd3 100644 /* MIPS64 extensions. */ { bfd_mach_mipsisa64r2, bfd_mach_mipsisa64 }, diff --git a/binutils/readelf.c b/binutils/readelf.c -index d5dd46f..66810cc 100644 +index 274ddd1..d31558c 100644 --- a/binutils/readelf.c +++ b/binutils/readelf.c -@@ -3140,6 +3140,7 @@ get_machine_flags (unsigned e_flags, unsigned e_machine) +@@ -3230,6 +3230,7 @@ get_machine_flags (unsigned e_flags, unsigned e_machine) case E_MIPS_MACH_OCTEON2: strcat (buf, ", octeon2"); break; case E_MIPS_MACH_OCTEON3: strcat (buf, ", octeon3"); break; case E_MIPS_MACH_XLR: strcat (buf, ", xlr"); break; @@ -156,7 +156,7 @@ index d5dd46f..66810cc 100644 /* We simply ignore the field in this case to avoid confusion: MIPS ELF does not specify EF_MIPS_MACH, it is a GNU diff --git a/gas/config/tc-mips.c b/gas/config/tc-mips.c -index a2d45a4..75902c0 100644 +index eb8b26b..e59dce6 100644 --- a/gas/config/tc-mips.c +++ b/gas/config/tc-mips.c @@ -552,6 +552,7 @@ static int mips_32bitmode = 0; @@ -175,20 +175,20 @@ index a2d45a4..75902c0 100644 ) /* Whether the processor uses hardware interlocks to protect reads -@@ -18702,7 +18704,7 @@ static const struct mips_cpu_info mips_cpu_info_table[] = +@@ -18858,7 +18860,7 @@ static const struct mips_cpu_info mips_cpu_info_table[] = /* Broadcom XLP. XLP is mostly like XLR, with the prominent exception that it is MIPS64R2 rather than MIPS64. */ - { "xlp", 0, 0, ISA_MIPS64R2, CPU_XLR }, + { "xlp", 0, 0, ISA_MIPS64R2, CPU_XLP }, - /* i6400. */ + /* MIPS 64 Release 6 */ { "i6400", 0, ASE_MSA, ISA_MIPS64R6, CPU_MIPS64R6}, diff --git a/gas/configure b/gas/configure -index 89f18b3..86b19ae 100755 +index 45da030..aba89f7 100755 --- a/gas/configure +++ b/gas/configure -@@ -12851,6 +12851,9 @@ _ACEOF +@@ -12914,6 +12914,9 @@ _ACEOF mipsisa64r6 | mipsisa64r6el) mips_cpu=mips64r6 ;; @@ -199,7 +199,7 @@ index 89f18b3..86b19ae 100755 mips_cpu=r3900 ;; diff --git a/gas/configure.tgt b/gas/configure.tgt -index 086e0d2..2b71270 100644 +index 1b9fd99..a9f1977 100644 --- a/gas/configure.tgt +++ b/gas/configure.tgt @@ -339,7 +339,7 @@ case ${generic_target} in @@ -212,10 +212,10 @@ index 086e0d2..2b71270 100644 mips-*-openbsd*) fmt=elf em=tmips ;; diff --git a/include/elf/mips.h b/include/elf/mips.h -index 57de3bc..9ba141d 100644 +index 7e813de..d7d72c1 100644 --- a/include/elf/mips.h +++ b/include/elf/mips.h -@@ -285,6 +285,7 @@ END_RELOC_NUMBERS (R_MIPS_maxext) +@@ -290,6 +290,7 @@ END_RELOC_NUMBERS (R_MIPS_maxext) #define E_MIPS_MACH_SB1 0x008a0000 #define E_MIPS_MACH_OCTEON 0x008b0000 #define E_MIPS_MACH_XLR 0x008c0000 @@ -224,10 +224,10 @@ index 57de3bc..9ba141d 100644 #define E_MIPS_MACH_OCTEON3 0x008e0000 #define E_MIPS_MACH_5400 0x00910000 diff --git a/include/opcode/mips.h b/include/opcode/mips.h -index 9318fcc..9be5645 100644 +index b1d4ef6..f2c8e88 100644 --- a/include/opcode/mips.h +++ b/include/opcode/mips.h -@@ -1228,8 +1228,10 @@ static const unsigned int mips_isa_table[] = { +@@ -1232,8 +1232,10 @@ static const unsigned int mips_isa_table[] = { #define INSN_LOONGSON_2F 0x80000000 /* Loongson 3A. */ #define INSN_LOONGSON_3A 0x00000400 @@ -240,7 +240,7 @@ index 9318fcc..9be5645 100644 /* DSP ASE */ #define ASE_DSP 0x00000001 -@@ -1326,6 +1328,7 @@ static const unsigned int mips_isa_table[] = { +@@ -1331,6 +1333,7 @@ static const unsigned int mips_isa_table[] = { #define CPU_OCTEON2 6502 #define CPU_OCTEON3 6503 #define CPU_XLR 887682 /* decimal 'XLR' */ @@ -248,7 +248,7 @@ index 9318fcc..9be5645 100644 /* Return true if the given CPU is included in INSN_* mask MASK. */ -@@ -1403,6 +1406,9 @@ cpu_is_member (int cpu, unsigned int mask) +@@ -1408,6 +1411,9 @@ cpu_is_member (int cpu, unsigned int mask) return ((mask & INSN_ISA_MASK) == INSN_ISA32R6) || ((mask & INSN_ISA_MASK) == INSN_ISA64R6); @@ -259,10 +259,10 @@ index 9318fcc..9be5645 100644 return FALSE; } diff --git a/ld/configure.tgt b/ld/configure.tgt -index b45b1e5..fb2f36a 100644 +index 212327c..212e09c 100644 --- a/ld/configure.tgt +++ b/ld/configure.tgt -@@ -495,6 +495,8 @@ mips*el-sde-elf*) targ_emul=elf32ltsmip +@@ -499,6 +499,8 @@ mips*el-sde-elf* | mips*el-mti-elf* | mips*el-img-elf*) mips*-sde-elf* | mips*-mti-elf* | mips*-img-elf*) targ_emul=elf32btsmip targ_extra_emuls="elf32ltsmip elf32btsmipn32 elf64btsmip elf32ltsmipn32 elf64ltsmip" ;; @@ -272,7 +272,7 @@ index b45b1e5..fb2f36a 100644 targ_extra_emuls="elf32lr5900" targ_extra_libpath=$targ_extra_emuls ;; diff --git a/opcodes/mips-dis.c b/opcodes/mips-dis.c -index 8200920..40d9fe2 100644 +index 3f874e7..9813d0e 100644 --- a/opcodes/mips-dis.c +++ b/opcodes/mips-dis.c @@ -648,13 +648,11 @@ const struct mips_arch_choice mips_arch_choices[] = @@ -295,7 +295,7 @@ index 8200920..40d9fe2 100644 /* This entry, mips16, is here only for ISA/processor selection; do not print its name. */ diff --git a/opcodes/mips-opc.c b/opcodes/mips-opc.c -index 402f887..3764836 100644 +index a95eff1..99fb7bb 100644 --- a/opcodes/mips-opc.c +++ b/opcodes/mips-opc.c @@ -320,7 +320,8 @@ decode_mips_operand (const char *p) @@ -308,7 +308,7 @@ index 402f887..3764836 100644 #define IVIRT ASE_VIRT #define IVIRT64 ASE_VIRT64 -@@ -957,6 +958,7 @@ const struct mips_opcode mips_builtin_opcodes[] = +@@ -958,6 +959,7 @@ const struct mips_opcode mips_builtin_opcodes[] = {"clo", "U,s", 0x70000021, 0xfc0007ff, WR_1|RD_2, 0, I32|N55, 0, I37 }, {"clz", "d,s", 0x00000050, 0xfc1f07ff, WR_1|RD_2, 0, I37, 0, 0 }, {"clz", "U,s", 0x70000020, 0xfc0007ff, WR_1|RD_2, 0, I32|N55, 0, I37 }, @@ -316,7 +316,7 @@ index 402f887..3764836 100644 /* ctc0 is at the bottom of the table. */ {"ctc1", "t,G", 0x44c00000, 0xffe007ff, RD_1|WR_CC|CM, 0, I1, 0, 0 }, {"ctc1", "t,S", 0x44c00000, 0xffe007ff, RD_1|WR_CC|CM, 0, I1, 0, 0 }, -@@ -989,12 +991,13 @@ const struct mips_opcode mips_builtin_opcodes[] = +@@ -990,12 +992,13 @@ const struct mips_opcode mips_builtin_opcodes[] = {"daddiu", "t,r,j", 0x64000000, 0xfc000000, WR_1|RD_2, 0, I3, 0, 0 }, {"daddu", "d,v,t", 0x0000002d, 0xfc0007ff, WR_1|RD_2|RD_3, 0, I3, 0, 0 }, {"daddu", "t,r,I", 0, (int) M_DADDU_I, INSN_MACRO, 0, I3, 0, 0 }, @@ -331,7 +331,7 @@ index 402f887..3764836 100644 /* dctr and dctw are used on the r5000. */ {"dctr", "o(b)", 0xbc050000, 0xfc1f0000, RD_2, 0, I3, 0, 0 }, {"dctw", "o(b)", 0xbc090000, 0xfc1f0000, RD_2, 0, I3, 0, 0 }, -@@ -1066,6 +1069,7 @@ const struct mips_opcode mips_builtin_opcodes[] = +@@ -1067,6 +1070,7 @@ const struct mips_opcode mips_builtin_opcodes[] = {"dmfc0", "t,G,H", 0x40200000, 0xffe007f8, WR_1|RD_C0|LC, 0, I64, 0, 0 }, {"dmfgc0", "t,G", 0x40600100, 0xffe007ff, WR_1|RD_C0|LC, 0, 0, IVIRT64, 0 }, {"dmfgc0", "t,G,H", 0x40600100, 0xffe007f8, WR_1|RD_C0|LC, 0, 0, IVIRT64, 0 }, @@ -339,7 +339,7 @@ index 402f887..3764836 100644 {"dmt", "", 0x41600bc1, 0xffffffff, TRAP, 0, 0, MT32, 0 }, {"dmt", "t", 0x41600bc1, 0xffe0ffff, WR_1|TRAP, 0, 0, MT32, 0 }, {"dmtc0", "t,G", 0x40a00000, 0xffe007ff, RD_1|WR_C0|WR_CC|CM, 0, I3, 0, EE }, -@@ -1081,6 +1085,8 @@ const struct mips_opcode mips_builtin_opcodes[] = +@@ -1082,6 +1086,8 @@ const struct mips_opcode mips_builtin_opcodes[] = /* dmfc3 is at the bottom of the table. */ /* dmtc3 is at the bottom of the table. */ {"dmuh", "d,s,t", 0x000000dc, 0xfc0007ff, WR_1|RD_2|RD_3, 0, I69, 0, 0 }, @@ -348,7 +348,7 @@ index 402f887..3764836 100644 {"dmul", "d,s,t", 0x0000009c, 0xfc0007ff, WR_1|RD_2|RD_3, 0, I69, 0, 0 }, {"dmul", "d,v,t", 0x70000003, 0xfc0007ff, WR_1|RD_2|RD_3|WR_HILO, 0, IOCT, 0, 0 }, {"dmul", "d,v,t", 0, (int) M_DMUL, INSN_MACRO, 0, I3, 0, M32|I69 }, -@@ -1234,9 +1240,9 @@ const struct mips_opcode mips_builtin_opcodes[] = +@@ -1235,9 +1241,9 @@ const struct mips_opcode mips_builtin_opcodes[] = {"ld", "s,-b(+R)", 0xec180000, 0xfc1c0000, WR_1, RD_pc, I69, 0, 0 }, {"ld", "t,A(b)", 0, (int) M_LD_AB, INSN_MACRO, 0, I1, 0, 0 }, {"ld", "t,o(b)", 0xdc000000, 0xfc000000, WR_1|RD_3|LM, 0, I3, 0, 0 }, @@ -361,7 +361,7 @@ index 402f887..3764836 100644 {"ldc1", "T,o(b)", 0xd4000000, 0xfc000000, WR_1|RD_3|CLD|FP_D, 0, I2, 0, SF }, {"ldc1", "E,o(b)", 0xd4000000, 0xfc000000, WR_1|RD_3|CLD|FP_D, 0, I2, 0, SF }, {"ldc1", "T,A(b)", 0, (int) M_LDC1_AB, INSN_MACRO, INSN2_M_FP_D, I2, 0, SF }, -@@ -1401,7 +1407,7 @@ const struct mips_opcode mips_builtin_opcodes[] = +@@ -1402,7 +1408,7 @@ const struct mips_opcode mips_builtin_opcodes[] = {"mflo", "d,9", 0x00000012, 0xff9f07ff, WR_1|RD_LO, 0, 0, D32, 0 }, {"mflo1", "d", 0x70000012, 0xffff07ff, WR_1|RD_LO, 0, EE, 0, 0 }, {"mflhxu", "d", 0x00000052, 0xffff07ff, WR_1|MOD_HILO, 0, 0, SMT, 0 }, @@ -370,7 +370,7 @@ index 402f887..3764836 100644 {"mfsa", "d", 0x00000028, 0xffff07ff, WR_1, 0, EE, 0, 0 }, {"min.ob", "X,Y,Q", 0x78000006, 0xfc20003f, WR_1|RD_2|RD_3|FP_D, 0, SB1, MX, 0 }, {"min.ob", "D,S,Q", 0x48000006, 0xfc20003f, WR_1|RD_2|RD_3|FP_D, 0, N54, 0, 0 }, -@@ -1446,10 +1452,13 @@ const struct mips_opcode mips_builtin_opcodes[] = +@@ -1447,10 +1453,13 @@ const struct mips_opcode mips_builtin_opcodes[] = /* move is at the top of the table. */ {"msgn.qh", "X,Y,Q", 0x78200000, 0xfc20003f, WR_1|RD_2|RD_3|FP_D, 0, 0, MX, 0 }, {"msgsnd", "t", 0, (int) M_MSGSND, INSN_MACRO, 0, XLR, 0, 0 }, @@ -386,7 +386,7 @@ index 402f887..3764836 100644 {"msub.d", "D,R,S,T", 0x4c000029, 0xfc00003f, WR_1|RD_2|RD_3|RD_4|FP_D, 0, I4_33, 0, I37 }, {"msub.d", "D,S,T", 0x46200019, 0xffe0003f, WR_1|RD_2|RD_3|FP_D, 0, IL2E, 0, 0 }, {"msub.d", "D,S,T", 0x72200019, 0xffe0003f, WR_1|RD_2|RD_3|FP_D, 0, IL2F, 0, 0 }, -@@ -1499,7 +1508,7 @@ const struct mips_opcode mips_builtin_opcodes[] = +@@ -1500,7 +1509,7 @@ const struct mips_opcode mips_builtin_opcodes[] = {"mtlo", "s,7", 0x00000013, 0xfc1fe7ff, RD_1|WR_LO, 0, 0, D32, 0 }, {"mtlo1", "s", 0x70000013, 0xfc1fffff, RD_1|WR_LO, 0, EE, 0, 0 }, {"mtlhx", "s", 0x00000053, 0xfc1fffff, RD_1|MOD_HILO, 0, 0, SMT, 0 }, @@ -395,7 +395,7 @@ index 402f887..3764836 100644 {"mtm0", "s", 0x70000008, 0xfc1fffff, RD_1, 0, IOCT, 0, 0 }, {"mtm0", "s,t", 0x70000008, 0xfc00ffff, RD_1|RD_2, 0, IOCT3, 0, 0 }, {"mtm1", "s", 0x7000000c, 0xfc1fffff, RD_1, 0, IOCT, 0, 0 }, -@@ -1936,9 +1945,9 @@ const struct mips_opcode mips_builtin_opcodes[] = +@@ -1937,9 +1946,9 @@ const struct mips_opcode mips_builtin_opcodes[] = {"suxc1", "S,t(b)", 0x4c00000d, 0xfc0007ff, RD_1|RD_2|RD_3|SM|FP_D, 0, I5_33|N55, 0, I37}, {"sw", "t,o(b)", 0xac000000, 0xfc000000, RD_1|RD_3|SM, 0, I1, 0, 0 }, {"sw", "t,A(b)", 0, (int) M_SW_AB, INSN_MACRO, 0, I1, 0, 0 }, @@ -409,5 +409,5 @@ index 402f887..3764836 100644 {"swc0", "E,A(b)", 0, (int) M_SWC0_AB, INSN_MACRO, 0, I1, 0, IOCT|IOCTP|IOCT2|I37 }, {"swc1", "T,o(b)", 0xe4000000, 0xfc000000, RD_1|RD_3|SM|FP_S, 0, I1, 0, 0 }, -- -2.7.1 +2.9.0 diff --git a/import-layers/yocto-poky/meta/recipes-devtools/binutils/binutils/0013-Fix-GOT-address-computations-in-initial-PLT-entries-.patch b/import-layers/yocto-poky/meta/recipes-devtools/binutils/binutils/0013-Fix-GOT-address-computations-in-initial-PLT-entries-.patch deleted file mode 100644 index 24af1207c..000000000 --- a/import-layers/yocto-poky/meta/recipes-devtools/binutils/binutils/0013-Fix-GOT-address-computations-in-initial-PLT-entries-.patch +++ /dev/null @@ -1,72 +0,0 @@ -From 9619a608528383a44ccc1637ae939b5f3e97adc5 Mon Sep 17 00:00:00 2001 -From: Sandra Loosemore <sandra@codesourcery.com> -Date: Wed, 9 Dec 2015 16:13:58 -0800 -Subject: [PATCH 13/14] Fix GOT address computations in initial PLT entries for - nios2. - -2015-12-09 Sandra Loosemore <sandra@codesourcery.com> - - bfd/ - * elf32-nios2.c (nios2_elf32_finish_dynamic_sections): Correct - %hiadj/%lo computations for _GLOBAL_OFFSET_TABLE_ in initial - PLT entries. Assert alignment requirements. - -Signed-off-by: Marek Vasut <marex@denx.de> -Upstream-Status: Backport ---- - bfd/elf32-nios2.c | 23 ++++++++++++++++------- - 1 file changed, 16 insertions(+), 7 deletions(-) - -diff --git a/bfd/elf32-nios2.c b/bfd/elf32-nios2.c -index 6b29d8b..1c54320 100644 ---- a/bfd/elf32-nios2.c -+++ b/bfd/elf32-nios2.c -@@ -5383,12 +5383,17 @@ nios2_elf32_finish_dynamic_sections (bfd *output_bfd, - + sgotplt->output_offset); - if (bfd_link_pic (info)) - { -- bfd_vma corrected = got_address - (splt->output_section->vma -- + splt->output_offset + 4); -+ bfd_vma got_pcrel = got_address - (splt->output_section->vma -+ + splt->output_offset); -+ /* Both GOT and PLT must be aligned to a 16-byte boundary -+ for the two loads to share the %hiadj part. The 4-byte -+ offset for nextpc is accounted for in the %lo offsets -+ on the loads. */ -+ BFD_ASSERT ((got_pcrel & 0xf) == 0); - nios2_elf32_install_data (splt, nios2_so_plt0_entry, 0, 6); -- nios2_elf32_install_imm16 (splt, 4, hiadj (corrected)); -- nios2_elf32_install_imm16 (splt, 12, (corrected & 0xffff) + 4); -- nios2_elf32_install_imm16 (splt, 16, (corrected & 0xffff) + 8); -+ nios2_elf32_install_imm16 (splt, 4, hiadj (got_pcrel)); -+ nios2_elf32_install_imm16 (splt, 12, got_pcrel & 0xffff); -+ nios2_elf32_install_imm16 (splt, 16, (got_pcrel + 4) & 0xffff); - } - else - { -@@ -5404,6 +5409,10 @@ nios2_elf32_finish_dynamic_sections (bfd *output_bfd, - 6 | ((res_size - (res_offset + 4)) << 6), - splt->contents + res_offset); - -+ /* The GOT must be aligned to a 16-byte boundary for the -+ two loads to share the same %hiadj part. */ -+ BFD_ASSERT ((got_address & 0xf) == 0); -+ - nios2_elf32_install_data (splt, nios2_plt0_entry, res_size, 7); - nios2_elf32_install_imm16 (splt, res_size, hiadj (res_start)); - nios2_elf32_install_imm16 (splt, res_size + 4, -@@ -5411,9 +5420,9 @@ nios2_elf32_finish_dynamic_sections (bfd *output_bfd, - nios2_elf32_install_imm16 (splt, res_size + 12, - hiadj (got_address)); - nios2_elf32_install_imm16 (splt, res_size + 16, -- (got_address & 0xffff) + 4); -+ (got_address + 4) & 0xffff); - nios2_elf32_install_imm16 (splt, res_size + 20, -- (got_address & 0xffff) + 8); -+ (got_address + 8) & 0xffff); - } - } - } --- -2.7.1 - diff --git a/import-layers/yocto-poky/meta/recipes-devtools/binutils/binutils/0013-fix-the-incorrect-assembling-for-ppc-wait-mnemonic.patch b/import-layers/yocto-poky/meta/recipes-devtools/binutils/binutils/0013-fix-the-incorrect-assembling-for-ppc-wait-mnemonic.patch new file mode 100644 index 000000000..f314d6420 --- /dev/null +++ b/import-layers/yocto-poky/meta/recipes-devtools/binutils/binutils/0013-fix-the-incorrect-assembling-for-ppc-wait-mnemonic.patch @@ -0,0 +1,36 @@ +From 0c04c3b626998c8e7b595381b35456428581f52a Mon Sep 17 00:00:00 2001 +From: Zhenhua Luo <zhenhua.luo@nxp.com> +Date: Sat, 11 Jun 2016 22:08:29 -0500 +Subject: [PATCH 13/13] fix the incorrect assembling for ppc wait mnemonic + +Signed-off-by: Zhenhua Luo <zhenhua.luo@nxp.com> + +Upstream-Status: Pending +--- + opcodes/ppc-opc.c | 3 +-- + 1 file changed, 1 insertion(+), 2 deletions(-) + +diff --git a/opcodes/ppc-opc.c b/opcodes/ppc-opc.c +index 8106ab7..ca4b0f3 100644 +--- a/opcodes/ppc-opc.c ++++ b/opcodes/ppc-opc.c +@@ -4811,7 +4811,6 @@ const struct powerpc_opcode powerpc_opcodes[] = { + {"ldepx", X(31,29), X_MASK, E500MC|PPCA2, 0, {RT, RA0, RB}}, + + {"waitasec", X(31,30), XRTRARB_MASK, POWER8, POWER9, {0}}, +-{"wait", X(31,30), XWC_MASK, POWER9, 0, {WC}}, + + {"lwepx", X(31,31), X_MASK, E500MC|PPCA2, 0, {RT, RA0, RB}}, + +@@ -4865,7 +4864,7 @@ const struct powerpc_opcode powerpc_opcodes[] = { + + {"waitrsv", X(31,62)|(1<<21), 0xffffffff, E500MC|PPCA2, 0, {0}}, + {"waitimpl", X(31,62)|(2<<21), 0xffffffff, E500MC|PPCA2, 0, {0}}, +-{"wait", X(31,62), XWC_MASK, E500MC|PPCA2, 0, {WC}}, ++{"wait", X(31,62), XWC_MASK, E500MC|PPCA2|POWER9, 0, {WC}}, + + {"dcbstep", XRT(31,63,0), XRT_MASK, E500MC|PPCA2, 0, {RA0, RB}}, + +-- +2.9.0 + diff --git a/import-layers/yocto-poky/meta/recipes-devtools/binutils/binutils/0014-Correct-nios2-_gp-address-computation.patch b/import-layers/yocto-poky/meta/recipes-devtools/binutils/binutils/0014-Correct-nios2-_gp-address-computation.patch deleted file mode 100644 index 86eeded6e..000000000 --- a/import-layers/yocto-poky/meta/recipes-devtools/binutils/binutils/0014-Correct-nios2-_gp-address-computation.patch +++ /dev/null @@ -1,106 +0,0 @@ -From 27f155fd0ab4ba954366643dbfdc3c7104933794 Mon Sep 17 00:00:00 2001 -From: Sandra Loosemore <sandra@codesourcery.com> -Date: Sun, 27 Dec 2015 12:30:26 -0800 -Subject: [PATCH 14/14] Correct nios2 _gp address computation. - -2015-12-27 Sandra Loosemore <sandra@codesourcery.com> - - bfd/ - * elf32-nios2.c (nios2_elf_assign_gp): Correct computation of _gp - address. - (nios2_elf32_relocate_section): Tidy code for R_NIOS2_GPREL error - messages. - -Signed-off-by: Marek Vasut <marex@denx.de> -Upstream-Status: Backport ---- - bfd/elf32-nios2.c | 31 +++++++++++++++++++++---------- - 1 file changed, 21 insertions(+), 10 deletions(-) - -diff --git a/bfd/elf32-nios2.c b/bfd/elf32-nios2.c -index 1c54320..babecf3 100644 ---- a/bfd/elf32-nios2.c -+++ b/bfd/elf32-nios2.c -@@ -3086,7 +3086,15 @@ lookup: - case bfd_link_hash_defined: - case bfd_link_hash_defweak: - gp_found = TRUE; -- *pgp = lh->u.def.value; -+ { -+ asection *sym_sec = lh->u.def.section; -+ bfd_vma sym_value = lh->u.def.value; -+ -+ if (sym_sec->output_section) -+ sym_value = (sym_value + sym_sec->output_offset -+ + sym_sec->output_section->vma); -+ *pgp = sym_value; -+ } - break; - case bfd_link_hash_indirect: - case bfd_link_hash_warning: -@@ -3719,7 +3727,6 @@ nios2_elf32_relocate_section (bfd *output_bfd, - struct elf32_nios2_link_hash_entry *eh; - bfd_vma relocation; - bfd_vma gp; -- bfd_vma reloc_address; - bfd_reloc_status_type r = bfd_reloc_ok; - const char *name = NULL; - int r_type; -@@ -3762,12 +3769,6 @@ nios2_elf32_relocate_section (bfd *output_bfd, - if (bfd_link_relocatable (info)) - continue; - -- if (sec && sec->output_section) -- reloc_address = (sec->output_section->vma + sec->output_offset -- + rel->r_offset); -- else -- reloc_address = 0; -- - if (howto) - { - switch (howto->type) -@@ -3816,6 +3817,15 @@ nios2_elf32_relocate_section (bfd *output_bfd, - /* Turns an absolute address into a gp-relative address. */ - if (!nios2_elf_assign_gp (output_bfd, &gp, info)) - { -+ bfd_vma reloc_address; -+ -+ if (sec && sec->output_section) -+ reloc_address = (sec->output_section->vma -+ + sec->output_offset -+ + rel->r_offset); -+ else -+ reloc_address = 0; -+ - format = _("global pointer relative relocation at address " - "0x%08x when _gp not defined\n"); - sprintf (msgbuf, format, reloc_address); -@@ -3825,7 +3835,7 @@ nios2_elf32_relocate_section (bfd *output_bfd, - else - { - bfd_vma symbol_address = rel->r_addend + relocation; -- relocation = relocation + rel->r_addend - gp; -+ relocation = symbol_address - gp; - rel->r_addend = 0; - if (((signed) relocation < -32768 - || (signed) relocation > 32767) -@@ -3833,6 +3843,8 @@ nios2_elf32_relocate_section (bfd *output_bfd, - || h->root.type == bfd_link_hash_defined - || h->root.type == bfd_link_hash_defweak)) - { -+ if (h) -+ name = h->root.root.string; - format = _("Unable to reach %s (at 0x%08x) from the " - "global pointer (at 0x%08x) because the " - "offset (%d) is out of the allowed range, " -@@ -3848,7 +3860,6 @@ nios2_elf32_relocate_section (bfd *output_bfd, - rel->r_offset, relocation, - rel->r_addend); - } -- - break; - case R_NIOS2_UJMP: - r = nios2_elf32_do_ujmp_relocate (input_bfd, howto, --- -2.7.1 - diff --git a/import-layers/yocto-poky/meta/recipes-devtools/binutils/binutils/0014-libtool-remove-rpath.patch b/import-layers/yocto-poky/meta/recipes-devtools/binutils/binutils/0014-libtool-remove-rpath.patch new file mode 100644 index 000000000..d56948f15 --- /dev/null +++ b/import-layers/yocto-poky/meta/recipes-devtools/binutils/binutils/0014-libtool-remove-rpath.patch @@ -0,0 +1,100 @@ +Apply these patches from our libtool patches as not only are redundant RPATHs a +waste of space but they can cause incorrect linking when native packages are +restored from sstate. + +fix-rpath.patch: +We don't want to add RPATHS which match default linker +search paths, they're a waste of space. This patch +filters libtools list and removes the ones we don't need. + +norm-rpath.patch: +Libtool may be passed link paths of the form "/usr/lib/../lib", which +fool its detection code into thinking it should be included as an +RPATH in the generated binary. Normalize before comparision. + +Upstream-Status: Inappropriate +Signed-off-by: Ross Burton <ross.burton@intel.com> + +diff --git a/ltmain.sh b/ltmain.sh +index 683317c..860a16a 100644 +--- a/ltmain.sh ++++ b/ltmain.sh +@@ -8053,8 +8053,14 @@ EOF + esac + fi + else +- eval flag=\"$hardcode_libdir_flag_spec\" +- func_append dep_rpath " $flag" ++ # We only want to hardcode in an rpath if it isn't in the ++ # default dlsearch path. ++ case " $sys_lib_dlsearch_path " in ++ *" $libdir "*) ;; ++ *) eval flag=\"$hardcode_libdir_flag_spec\" ++ func_append dep_rpath " $flag" ++ ;; ++ esac + fi + elif test -n "$runpath_var"; then + case "$perm_rpath " in +@@ -8790,8 +8796,14 @@ EOF + esac + fi + else +- eval flag=\"$hardcode_libdir_flag_spec\" +- func_append rpath " $flag" ++ # We only want to hardcode in an rpath if it isn't in the ++ # default dlsearch path. ++ case " $sys_lib_dlsearch_path " in ++ *" $libdir "*) ;; ++ *) eval flag=\"$hardcode_libdir_flag_spec\" ++ rpath+=" $flag" ++ ;; ++ esac + fi + elif test -n "$runpath_var"; then + case "$perm_rpath " in +@@ -8841,8 +8853,14 @@ EOF + esac + fi + else +- eval flag=\"$hardcode_libdir_flag_spec\" +- func_append rpath " $flag" ++ # We only want to hardcode in an rpath if it isn't in the ++ # default dlsearch path. ++ case " $sys_lib_dlsearch_path " in ++ *" $libdir "*) ;; ++ *) eval flag=\"$hardcode_libdir_flag_spec\" ++ func_append rpath " $flag" ++ ;; ++ esac + fi + elif test -n "$runpath_var"; then + case "$finalize_perm_rpath " in +diff --git a/ltmain.sh b/ltmain.sh +index 683317c..860a16a 100644 +--- a/ltmain.sh ++++ b/ltmain.sh +@@ -8055,8 +8055,10 @@ EOF + else + # We only want to hardcode in an rpath if it isn't in the + # default dlsearch path. ++ func_normal_abspath "$libdir" ++ libdir_norm=$func_normal_abspath_result + case " $sys_lib_dlsearch_path " in +- *" $libdir "*) ;; ++ *" $libdir_norm "*) ;; + *) eval flag=\"$hardcode_libdir_flag_spec\" + func_append dep_rpath " $flag" + ;; +@@ -8798,8 +8800,10 @@ EOF + else + # We only want to hardcode in an rpath if it isn't in the + # default dlsearch path. ++ func_normal_abspath "$libdir" ++ libdir_norm=$func_normal_abspath_result + case " $sys_lib_dlsearch_path " in +- *" $libdir "*) ;; ++ *" $libdir_norm "*) ;; + *) eval flag=\"$hardcode_libdir_flag_spec\" + rpath+=" $flag" + ;; diff --git a/import-layers/yocto-poky/meta/recipes-devtools/binutils/binutils/0015-Refine-.cfi_sections-check-to-only-consider-compact-.patch b/import-layers/yocto-poky/meta/recipes-devtools/binutils/binutils/0015-Refine-.cfi_sections-check-to-only-consider-compact-.patch new file mode 100644 index 000000000..f3e3a11b1 --- /dev/null +++ b/import-layers/yocto-poky/meta/recipes-devtools/binutils/binutils/0015-Refine-.cfi_sections-check-to-only-consider-compact-.patch @@ -0,0 +1,97 @@ +From 3d3424e9a8d6ad56160b98bf6e223c0346164468 Mon Sep 17 00:00:00 2001 +From: Matthew Fortune <matthew.fortune@imgtec.com> +Date: Thu, 29 Sep 2016 11:13:46 +0100 +Subject: [PATCH] Refine .cfi_sections check to only consider compact eh_frame + +The .cfi_sections directive can be safely used multiple times +with different sections named at any time unless the compact form +of exception handling is requested after CFI information has +been emitted. Only the compact form of CFI information changes +the way in which CFI is generated and therefore cannot be +retrospectively requested after generating CFI information. + +gas/ + + PR gas/20648 + * dw2gencfi.c (dot_cfi_sections): Refine the check for + inconsistent .cfi_sections to only consider compact vs non + compact forms. + * testsuite/gas/cfi/cfi-common-9.d: New file. + * testsuite/gas/cfi/cfi-common-9.s: New file. + * testsuite/gas/cfi/cfi.exp: Run new test. +--- +Upstream-Status: Backport +Signed-off-by: Khem Raj <raj.khem@gmail.com + + gas/ChangeLog | 10 ++++++++++ + gas/dw2gencfi.c | 5 ++++- + gas/testsuite/gas/cfi/cfi-common-9.d | 23 +++++++++++++++++++++++ + gas/testsuite/gas/cfi/cfi-common-9.s | 4 ++++ + gas/testsuite/gas/cfi/cfi.exp | 1 + + 5 files changed, 42 insertions(+), 1 deletion(-) + create mode 100644 gas/testsuite/gas/cfi/cfi-common-9.d + create mode 100644 gas/testsuite/gas/cfi/cfi-common-9.s + +Index: git/gas/dw2gencfi.c +=================================================================== +--- git.orig/gas/dw2gencfi.c ++++ git/gas/dw2gencfi.c +@@ -1244,7 +1244,10 @@ dot_cfi_sections (int ignored ATTRIBUTE_ + } + + demand_empty_rest_of_line (); +- if (cfi_sections_set && cfi_sections != sections) ++ if (cfi_sections_set ++ && (sections & (CFI_EMIT_eh_frame | CFI_EMIT_eh_frame_compact)) ++ && (cfi_sections & (CFI_EMIT_eh_frame | CFI_EMIT_eh_frame_compact)) ++ != (sections & (CFI_EMIT_eh_frame | CFI_EMIT_eh_frame_compact))) + as_bad (_("inconsistent uses of .cfi_sections")); + cfi_sections = sections; + } +Index: git/gas/testsuite/gas/cfi/cfi-common-9.d +=================================================================== +--- /dev/null ++++ git/gas/testsuite/gas/cfi/cfi-common-9.d +@@ -0,0 +1,23 @@ ++#objdump: -Wf ++#name: CFI common 9 ++#... ++Contents of the .eh_frame section: ++ ++00000000 0+0010 0+0000 CIE ++ Version: 1 ++ Augmentation: "zR" ++ Code alignment factor: .* ++ Data alignment factor: .* ++ Return address column: .* ++ Augmentation data: [01]b ++ ++ DW_CFA_nop ++ DW_CFA_nop ++ DW_CFA_nop ++ ++00000014 0+00(10|18|1c|20) 0+0018 FDE cie=0+0000 pc=.* ++ ++ DW_CFA_nop ++ DW_CFA_nop ++ DW_CFA_nop ++#... +Index: git/gas/testsuite/gas/cfi/cfi-common-9.s +=================================================================== +--- /dev/null ++++ git/gas/testsuite/gas/cfi/cfi-common-9.s +@@ -0,0 +1,4 @@ ++ .cfi_sections .eh_frame ++ .cfi_startproc simple ++ .cfi_sections .debug_frame ++ .cfi_endproc +Index: git/gas/testsuite/gas/cfi/cfi.exp +=================================================================== +--- git.orig/gas/testsuite/gas/cfi/cfi.exp ++++ git/gas/testsuite/gas/cfi/cfi.exp +@@ -135,4 +135,5 @@ if { ![istarget "hppa64*-*"] } then { + run_dump_test "cfi-common-6" + } + run_dump_test "cfi-common-7" ++ run_dump_test "cfi-common-9" + } diff --git a/import-layers/yocto-poky/meta/recipes-devtools/binutils/binutils/0015-binutils-mips-gas-pic-relax-linkonce.diff b/import-layers/yocto-poky/meta/recipes-devtools/binutils/binutils/0015-binutils-mips-gas-pic-relax-linkonce.diff new file mode 100644 index 000000000..78b971a99 --- /dev/null +++ b/import-layers/yocto-poky/meta/recipes-devtools/binutils/binutils/0015-binutils-mips-gas-pic-relax-linkonce.diff @@ -0,0 +1,65 @@ +Patch taken from Binutils Bugzilla: + + https://sourceware.org/bugzilla/show_bug.cgi?id=20649 + +Upstream-Status: Pending + +Signed-off-by: Andre McCurdy <armccurdy@gmail.com> + +Index: binutils/gas/config/tc-mips.c +=================================================================== +--- binutils.orig/gas/config/tc-mips.c 2016-09-29 05:12:31.000000000 +0100 ++++ binutils/gas/config/tc-mips.c 2016-09-29 20:05:13.257411084 +0100 +@@ -1353,7 +1353,7 @@ static void s_mips_stab (int); + static void s_mips_weakext (int); + static void s_mips_file (int); + static void s_mips_loc (int); +-static bfd_boolean pic_need_relax (symbolS *, asection *); ++static bfd_boolean pic_need_relax (symbolS *); + static int relaxed_branch_length (fragS *, asection *, int); + static int relaxed_micromips_16bit_branch_length (fragS *, asection *, int); + static int relaxed_micromips_32bit_branch_length (fragS *, asection *, int); +@@ -4258,6 +4258,8 @@ mips_move_text_labels (void) + mips_move_labels (seg_info (now_seg)->label_list, TRUE); + } + ++/* Duplicate the test for LINK_ONCE sections as in `adjust_reloc_syms'. */ ++ + static bfd_boolean + s_is_linkonce (symbolS *sym, segT from_seg) + { +@@ -14823,7 +14825,7 @@ mips_frob_file (void) + constants; we'll report an error for those later. */ + if (got16_reloc_p (l->fixp->fx_r_type) + && !(l->fixp->fx_addsy +- && pic_need_relax (l->fixp->fx_addsy, l->seg))) ++ && pic_need_relax (l->fixp->fx_addsy))) + continue; + + /* Check quickly whether the next fixup happens to be a matching %lo. */ +@@ -17043,7 +17045,7 @@ nopic_need_relax (symbolS *sym, int befo + /* Return true if the given symbol should be considered local for SVR4 PIC. */ + + static bfd_boolean +-pic_need_relax (symbolS *sym, asection *segtype) ++pic_need_relax (symbolS *sym) + { + asection *symsec; + +@@ -17068,7 +17070,6 @@ pic_need_relax (symbolS *sym, asection * + return (!bfd_is_und_section (symsec) + && !bfd_is_abs_section (symsec) + && !bfd_is_com_section (symsec) +- && !s_is_linkonce (sym, segtype) + /* A global or weak symbol is treated as external. */ + && (!S_IS_WEAK (sym) && !S_IS_EXTERNAL (sym))); + } +@@ -17507,7 +17508,7 @@ md_estimate_size_before_relax (fragS *fr + if (mips_pic == NO_PIC) + change = nopic_need_relax (fragp->fr_symbol, 0); + else if (mips_pic == SVR4_PIC) +- change = pic_need_relax (fragp->fr_symbol, segtype); ++ change = pic_need_relax (fragp->fr_symbol); + else if (mips_pic == VXWORKS_PIC) + /* For vxworks, GOT16 relocations never have a corresponding LO16. */ + change = 0; diff --git a/import-layers/yocto-poky/meta/recipes-devtools/binutils/binutils_2.26.bb b/import-layers/yocto-poky/meta/recipes-devtools/binutils/binutils_2.27.bb index b70ffbf28..b51437bbc 100644 --- a/import-layers/yocto-poky/meta/recipes-devtools/binutils/binutils_2.26.bb +++ b/import-layers/yocto-poky/meta/recipes-devtools/binutils/binutils_2.27.bb @@ -10,10 +10,15 @@ EXTRA_OECONF += "--with-sysroot=/ \ --with-system-zlib \ " +EXTRA_OEMAKE_append_libc-musl = "\ + gt_cv_func_gnugettext1_libc=yes \ + gt_cv_func_gnugettext2_libc=yes \ + " EXTRA_OECONF_class-native = "--enable-targets=all \ --enable-64-bit-bfd \ --enable-install-libiberty \ - --enable-install-libbfd" + --enable-install-libbfd \ + --disable-werror" do_install_class-native () { autotools_do_install diff --git a/import-layers/yocto-poky/meta/recipes-devtools/bootchart2/bootchart2/0001-Fixed-Missing-default-value-for-BOOTLOG_DEST.patch b/import-layers/yocto-poky/meta/recipes-devtools/bootchart2/bootchart2/0001-Fixed-Missing-default-value-for-BOOTLOG_DEST.patch new file mode 100644 index 000000000..118814a80 --- /dev/null +++ b/import-layers/yocto-poky/meta/recipes-devtools/bootchart2/bootchart2/0001-Fixed-Missing-default-value-for-BOOTLOG_DEST.patch @@ -0,0 +1,30 @@ +From 2225ab2038bfe50f16f972e39d89bcd0bd7767f5 Mon Sep 17 00:00:00 2001 +From: Steffen Pankratz <kratz00@gmx.de> +Date: Tue, 9 Feb 2016 13:49:42 +0100 +Subject: [PATCH] Fixed: Missing default value for BOOTLOG_DEST + +Upstream-Status: Backport + +BUILDLOG_DEST seems to be a typo or mix-up which was introduced with 281d1df80884bf2969c509ec60ee8a6593524fe8 + +Signed-off-by: Peter Liu <peter.x.liu@external.atlascopco.com> +--- + bootchartd.in | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/bootchartd.in b/bootchartd.in +index f58ab9e..30af677 100755 +--- a/bootchartd.in ++++ b/bootchartd.in +@@ -37,7 +37,7 @@ PATH="/sbin:/bin:/usr/sbin:/usr/bin:$PATH" + + # Defaults, in case we can't find our configuration + SAMPLE_HZ=50 +-BUILDLOG_DEST=/var/log/bootchart.tgz ++BOOTLOG_DEST=/var/log/bootchart.tgz + AUTO_RENDER="no" + AUTO_RENDER_DIR="/var/log" + AUTO_RENDER_FORMAT="png" +-- +1.9.1 + diff --git a/import-layers/yocto-poky/meta/recipes-devtools/bootchart2/bootchart2/0001-collector-Allocate-space-on-heap-for-chunks.patch b/import-layers/yocto-poky/meta/recipes-devtools/bootchart2/bootchart2/0001-collector-Allocate-space-on-heap-for-chunks.patch new file mode 100644 index 000000000..7a8813e96 --- /dev/null +++ b/import-layers/yocto-poky/meta/recipes-devtools/bootchart2/bootchart2/0001-collector-Allocate-space-on-heap-for-chunks.patch @@ -0,0 +1,45 @@ +From 09505532b49573663fb4ff4dad424dc2ef4c1f84 Mon Sep 17 00:00:00 2001 +From: Kyle Russell <bkylerussell@gmail.com> +Date: Wed, 13 Jul 2016 17:30:00 -0400 +Subject: [PATCH] collector: Allocate space on heap for chunks + +Nicer for embedded devices which may have smaller stack limitations. + +Upstream-Status: Submitted [https://github.com/xrmx/bootchart/pull/74] + +Signed-off-by: Kyle Russell <bkylerussell@gmail.com> +--- + collector/dump.c | 7 ++++--- + 1 file changed, 4 insertions(+), 3 deletions(-) + +diff --git a/collector/dump.c b/collector/dump.c +index e673b5b..2f094b4 100644 +--- a/collector/dump.c ++++ b/collector/dump.c +@@ -184,12 +184,12 @@ static void dump_buffers (DumpState *s) + log ("reading %d chunks (of %d) ...\n", max_chunk, s->map.max_chunk); + for (i = 0; i < max_chunk; i++) { + FILE *output; +- char buffer[CHUNK_SIZE]; +- Chunk *c = (Chunk *)&buffer; ++ char *buffer = malloc(CHUNK_SIZE); ++ Chunk *c = (Chunk *)buffer; + size_t addr = (size_t) s->map.chunks[i]; + + lseek (s->mem, addr, SEEK_SET); +- read (s->mem, &buffer, CHUNK_SIZE); ++ read (s->mem, buffer, CHUNK_SIZE); + /* log ("type: '%s' len %d\n", + c->dest_stream, (int)c->length); */ + +@@ -197,6 +197,7 @@ static void dump_buffers (DumpState *s) + fwrite (c->data, 1, c->length, output); + bytes_dumped += c->length; + fclose (output); ++ free(buffer); + } + log ("wrote %ld kb\n", (long)(bytes_dumped+1023)/1024); + } +-- +2.7.4 + diff --git a/import-layers/yocto-poky/meta/recipes-devtools/bootchart2/bootchart2_0.14.8.bb b/import-layers/yocto-poky/meta/recipes-devtools/bootchart2/bootchart2_0.14.8.bb index 86c614a63..4f01734bb 100644 --- a/import-layers/yocto-poky/meta/recipes-devtools/bootchart2/bootchart2_0.14.8.bb +++ b/import-layers/yocto-poky/meta/recipes-devtools/bootchart2/bootchart2_0.14.8.bb @@ -92,14 +92,18 @@ UPSTREAM_CHECK_GITTAGREGEX = "(?P<pver>\d+\.\d+(\.\d+)*)" SRC_URI = "git://github.com/mmeeks/bootchart.git \ file://bootchartd_stop.sh \ + file://0001-Fixed-Missing-default-value-for-BOOTLOG_DEST.patch \ + file://0001-collector-Allocate-space-on-heap-for-chunks.patch \ " S = "${WORKDIR}/git" SRCREV = "48e0071048564c6af75ab969e842d6dec808da09" -inherit systemd -inherit update-rc.d -inherit pythonnative +inherit systemd update-rc.d python3native update-alternatives + +ALTERNATIVE_${PN} = "bootchartd" +ALTERNATIVE_LINK_NAME[bootchartd] = "${base_sbindir}/bootchartd" +ALTERNATIVE_PRIORITY = "100" # The only reason to build bootchart2-native is for a native pybootchartgui. BBCLASSEXTEND = "native" @@ -110,13 +114,6 @@ UPDATERCPN = "bootchartd-stop-initscript" INITSCRIPT_NAME = "bootchartd_stop.sh" INITSCRIPT_PARAMS = "start 99 2 3 4 5 ." -# We want native pybootchartgui to execute with the correct Python interpeter. -do_compile_append_class-native () { - echo "#! ${PYTHON}" | cat - ${S}/pybootchartgui.py > ${WORKDIR}/temp_pybootchartgui - mv ${WORKDIR}/temp_pybootchartgui ${S}/pybootchartgui.py - chmod +x ${S}/pybootchartgui -} - do_compile_prepend () { export PY_LIBDIR="${libdir}/${PYTHON_DIR}" export BINDIR="${bindir}" @@ -135,17 +132,21 @@ do_install () { install -m 0755 ${WORKDIR}/bootchartd_stop.sh ${D}${sysconfdir}/init.d echo 'EXIT_PROC="$EXIT_PROC matchbox-window-manager"' >> ${D}${sysconfdir}/bootchartd.conf + + # Use python 3 instead of python 2 + sed -i -e '1s,#!.*python.*,#!${bindir}/python3,' ${D}${bindir}/pybootchartgui } PACKAGES =+ "pybootchartgui" -FILES_pybootchartgui += "${libdir}/python*/site-packages/pybootchartgui ${bindir}/pybootchartgui" -RDEPENDS_pybootchartgui = "python-pycairo python-compression python-image python-textutils python-shell python-compression python-codecs" +FILES_pybootchartgui += "${PYTHON_SITEPACKAGES_DIR}/pybootchartgui ${bindir}/pybootchartgui" +RDEPENDS_pybootchartgui = "python3-pycairo python3-compression python3-image python3-textutils python3-shell python3-compression python3-codecs" RDEPENDS_${PN}_class-target += "${@bb.utils.contains('DISTRO_FEATURES', 'sysvinit', 'sysvinit-pidof', 'procps', d)}" RDEPENDS_${PN}_class-target += "lsb" -DEPENDS_append_class-native = " python-pycairo-native" +DEPENDS_append_class-native = " python3-pycairo-native" PACKAGES =+ "bootchartd-stop-initscript" FILES_bootchartd-stop-initscript += "${sysconfdir}/init.d ${sysconfdir}/rc*.d" +RDEPENDS_bootchartd-stop-initscript = "${PN}" FILES_${PN} += "${base_libdir}/bootchart/bootchart-collector" FILES_${PN} += "${base_libdir}/bootchart/tmpfs" diff --git a/import-layers/yocto-poky/meta/recipes-devtools/btrfs-tools/btrfs-tools/fix-symlink-creation-multiple-times.patch b/import-layers/yocto-poky/meta/recipes-devtools/btrfs-tools/btrfs-tools/fix-symlink-creation-multiple-times.patch deleted file mode 100644 index a94549639..000000000 --- a/import-layers/yocto-poky/meta/recipes-devtools/btrfs-tools/btrfs-tools/fix-symlink-creation-multiple-times.patch +++ /dev/null @@ -1,46 +0,0 @@ -From 05ab78e9183575e38f342e05a056cb7bcd1e52e1 Mon Sep 17 00:00:00 2001 -From: Hongxu Jia <hongxu.jia@windriver.com> -Date: Thu, 18 Feb 2016 20:41:28 -0500 -Subject: [PATCH] btrfs-progs: fix symlink creation multiple times - -The rule to create symlink in Makefile caused parallel issue: -$ make -j 40 DESTDIR=/image install BUILD_VERBOSE=1 -... - 1 [LN] libbtrfs.so.0 - 2 [LN] libbtrfs.so - 3 ln -s -f libbtrfs.so.0.1 libbtrfs.so.0 - 4 ln -s -f libbtrfs.so.0.1 libbtrfs.so.0 - 5 ln -s -f libbtrfs.so.0.1 libbtrfs.so - 6 ln -s -f libbtrfs.so.0.1 libbtrfs.so -... - -It failed occasionally: -... -|symlinkat: couldn't stat 'git/libbtrfs.so' even though symlink -creation succeeded (No such file or directory). -|ln: failed to create symbolic link 'libbtrfs.so': No such file or directory -... - -Upstream-Status: Submitted [linux-btrfs@vger.kernel.org] -Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com> ---- - Makefile.in | 3 +-- - 1 file changed, 1 insertion(+), 2 deletions(-) - -diff --git a/Makefile.in b/Makefile.in -index 1f4002e..16eeaf9 100644 ---- a/Makefile.in -+++ b/Makefile.in -@@ -236,8 +236,7 @@ $(libs_static): $(libbtrfs_objects) - - $(lib_links): - @echo " [LN] $@" -- $(Q)$(LN_S) -f libbtrfs.so.0.1 libbtrfs.so.0 -- $(Q)$(LN_S) -f libbtrfs.so.0.1 libbtrfs.so -+ $(Q)$(LN_S) -f libbtrfs.so.0.1 $@ - - # keep intermediate files from the below implicit rules around - .PRECIOUS: $(addsuffix .o,$(progs)) --- -1.9.1 - diff --git a/import-layers/yocto-poky/meta/recipes-devtools/btrfs-tools/btrfs-tools_4.4.bb b/import-layers/yocto-poky/meta/recipes-devtools/btrfs-tools/btrfs-tools_4.7.1.bb index 32e7bae58..becf09396 100644 --- a/import-layers/yocto-poky/meta/recipes-devtools/btrfs-tools/btrfs-tools_4.4.bb +++ b/import-layers/yocto-poky/meta/recipes-devtools/btrfs-tools/btrfs-tools_4.7.1.bb @@ -13,10 +13,9 @@ SECTION = "base" DEPENDS = "util-linux attr e2fsprogs lzo acl" RDEPENDS_${PN} = "libgcc" -SRCREV = "21258fab2caeade405a15ba932d373b364aa6e8c" +SRCREV = "6819fbcdcab63c2d95da1a2997e37be9a71ca533" SRC_URI = "git://git.kernel.org/pub/scm/linux/kernel/git/kdave/btrfs-progs.git \ file://fix-parallel.patch \ - file://fix-symlink-creation-multiple-times.patch \ " inherit autotools-brokensep pkgconfig diff --git a/import-layers/yocto-poky/meta/recipes-devtools/build-compare/build-compare_git.bb b/import-layers/yocto-poky/meta/recipes-devtools/build-compare/build-compare_git.bb index 676f11dd8..fa9c6b45d 100644 --- a/import-layers/yocto-poky/meta/recipes-devtools/build-compare/build-compare_git.bb +++ b/import-layers/yocto-poky/meta/recipes-devtools/build-compare/build-compare_git.bb @@ -9,6 +9,12 @@ SRC_URI = "git://github.com/openSUSE/build-compare.git \ file://Rename-rpm-check.sh-to-pkg-diff.sh.patch;striplevel=1 \ file://Ignore-DWARF-sections.patch;striplevel=1 \ file://0001-Add-support-for-deb-and-ipk-packaging.patch \ + file://functions.sh-remove-space-at-head.patch \ + file://functions.sh-run-rpm-once-to-make-it-faster.patch \ + file://pkg-diff.sh-check-for-fifo-named-pipe.patch \ + file://pkg-diff.sh-check_single_file-return-at-once-when-sa.patch \ + file://pkg-diff.sh-remove-space-in-the-end-for-ftype.patch \ + file://functions.sh-improve-deb-and-ipk-checking.patch \ " SRCREV = "c5352c054c6ef15735da31b76d6d88620f4aff0a" diff --git a/import-layers/yocto-poky/meta/recipes-devtools/build-compare/files/0001-Add-support-for-deb-and-ipk-packaging.patch b/import-layers/yocto-poky/meta/recipes-devtools/build-compare/files/0001-Add-support-for-deb-and-ipk-packaging.patch index 5c15218c8..82fd8169f 100644 --- a/import-layers/yocto-poky/meta/recipes-devtools/build-compare/files/0001-Add-support-for-deb-and-ipk-packaging.patch +++ b/import-layers/yocto-poky/meta/recipes-devtools/build-compare/files/0001-Add-support-for-deb-and-ipk-packaging.patch @@ -3,7 +3,7 @@ From: Paul Eggleton <paul.eggleton@linux.intel.com> Date: Tue, 1 Sep 2015 12:04:33 +0100 Subject: [PATCH] Add support for deb and ipk packaging -Upstream-Status: Pending +Upstream-Status: Submitted [https://github.com/openSUSE/build-compare/pull/10] Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> --- @@ -34,7 +34,7 @@ index 06079df..85c9003 100644 return $RES } + -+function adjust_controlfile () { ++function adjust_controlfile() { + cat $1/control | sed '/^Version: /d' > $1/control.fixed + mv $1/control.fixed $1/control + cat $2/control | sed '/^Version: /d' > $2/control.fixed diff --git a/import-layers/yocto-poky/meta/recipes-devtools/build-compare/files/functions.sh-improve-deb-and-ipk-checking.patch b/import-layers/yocto-poky/meta/recipes-devtools/build-compare/files/functions.sh-improve-deb-and-ipk-checking.patch new file mode 100644 index 000000000..05420f89f --- /dev/null +++ b/import-layers/yocto-poky/meta/recipes-devtools/build-compare/files/functions.sh-improve-deb-and-ipk-checking.patch @@ -0,0 +1,117 @@ +From b4eb7fde10318162bd2d02b9017ef51746752a91 Mon Sep 17 00:00:00 2001 +From: Robert Yang <liezhi.yang@windriver.com> +Date: Thu, 14 Jul 2016 23:14:21 -0700 +Subject: [PATCH 4/4] functions.sh: improve deb and ipk checking + +* The deb and ipk's depends version string is like: + Depends: libc6 (>= 2.24) + Update trim_release_old and trim_release_new to match the bracket in + the end ")". + +* The deb's data tarball now is .tar.xz, and ipk's is .tar.gz. + +* Update adjust_controlfile() to make ituse trim_release_old and + trim_release_new. + +Upstream-Status: Submitted [https://github.com/openSUSE/build-compare/pull/10] + +Signed-off-by: Robert Yang <liezhi.yang@windriver.com> +--- + functions.sh | 45 ++++++++++++++++++++++++++++----------------- + 1 file changed, 28 insertions(+), 17 deletions(-) + +diff --git a/functions.sh b/functions.sh +index aa572f9..fe493ba 100755 +--- a/functions.sh ++++ b/functions.sh +@@ -78,7 +78,7 @@ check_header() + function trim_release_old() + { + sed -e " +- /\(\/boot\|\/lib\/modules\|\/lib\/firmware\|\/usr\/src\|$version_release_old_regex_l\$\)/{s,$version_release_old_regex_l,@VERSION@-@RELEASE_LONG@,g;s,$version_release_old_regex_s,@VERSION@-@RELEASE_SHORT@,g} ++ /\(\/boot\|\/lib\/modules\|\/lib\/firmware\|\/usr\/src\|$version_release_old_regex_l\$\|$version_release_old_regex_l)\)/{s,$version_release_old_regex_l,@VERSION@-@RELEASE_LONG@,g;s,$version_release_old_regex_s,@VERSION@-@RELEASE_SHORT@,g} + s/\(\/var\/adm\/update-scripts\/\)${name_ver_rel_old_regex_l}\([^[:blank:]]\+\)/\1@NAME_VER_REL@\2/g + s/^ *//g + " +@@ -86,7 +86,7 @@ function trim_release_old() + function trim_release_new() + { + sed -e " +- /\(\/boot\|\/lib\/modules\|\/lib\/firmware\|\/usr\/src\|$version_release_new_regex_l\$\)/{s,$version_release_new_regex_l,@VERSION@-@RELEASE_LONG@,g;s,$version_release_new_regex_s,@VERSION@-@RELEASE_SHORT@,g} ++ /\(\/boot\|\/lib\/modules\|\/lib\/firmware\|\/usr\/src\|$version_release_new_regex_l\$\|$version_release_new_regex_l)\)/{s,$version_release_new_regex_l,@VERSION@-@RELEASE_LONG@,g;s,$version_release_new_regex_s,@VERSION@-@RELEASE_SHORT@,g} + s/\(\/var\/adm\/update-scripts\/\)${name_ver_rel_new_regex_l}\([^[:blank:]]\+\)/\1@NAME_VER_REL@\2/g + s/^ *//g + " +@@ -133,8 +133,8 @@ function unpackage() + ar x $file + tar xf control.tar.gz + rm control.tar.gz +- tar xf data.tar.gz +- rm data.tar.gz ++ tar xf data.tar.[xg]z ++ rm data.tar.[xg]z + ;; + esac + popd 1>/dev/null +@@ -164,6 +164,22 @@ function get_value() + sed -n -e "/^___${1}___/,/^___${1}___/p" $2 | sed -e "/^___${1}___/d" + } + ++# Set version_release_old_regex_s, version_release_old_regex_l and ++# name_ver_rel_old_regex_l, also the new ones. ++function set_regex() { ++ # Remember to quote the . which is in release ++ # Short version without B_CN ++ version_release_old_regex_s=${version_release_old%.*} ++ version_release_old_regex_s=${version_release_old_regex_s//./\\.} ++ version_release_new_regex_s=${version_release_new%.*} ++ version_release_new_regex_s=${version_release_new_regex_s//./\\.} ++ # Long version with B_CNT ++ version_release_old_regex_l=${version_release_old//./\\.} ++ version_release_new_regex_l=${version_release_new//./\\.} ++ name_ver_rel_old_regex_l=${name_ver_rel_old//./\\.} ++ name_ver_rel_new_regex_l=${name_ver_rel_new//./\\.} ++} ++ + # Compare just the rpm meta data of two rpms + # Returns: + # 0 in case of same content +@@ -194,17 +210,7 @@ function cmp_spec () + version_release_old="$(get_value QF_VER_REL $spec_old)" + name_ver_rel_old="$(get_value QF_NAME_VER_REL $spec_old)" + +- # Remember to quote the . which is in release +- # Short version without B_CN +- version_release_old_regex_s=${version_release_old%.*} +- version_release_old_regex_s=${version_release_old_regex_s//./\\.} +- version_release_new_regex_s=${version_release_new%.*} +- version_release_new_regex_s=${version_release_new_regex_s//./\\.} +- # Long version with B_CNT +- version_release_old_regex_l=${version_release_old//./\\.} +- version_release_new_regex_l=${version_release_new//./\\.} +- name_ver_rel_old_regex_l=${name_ver_rel_old//./\\.} +- name_ver_rel_new_regex_l=${name_ver_rel_new//./\\.} ++ set_regex + + # Check the whole spec file at first, return 0 immediately if the + # are the same. +@@ -285,9 +291,14 @@ function cmp_spec () + } + + function adjust_controlfile() { +- cat $1/control | sed '/^Version: /d' > $1/control.fixed ++ version_release_old="`sed -ne 's/^Version: \(.*\)/\1/p' $1/control`" ++ name_ver_rel_old="`sed -n -e 's/^Package: \(.*\)/\1/p' $1/control`-`sed -n -e 's/^Version: \(.*\)/\1/p' $1/control`" ++ version_release_new="`sed -ne 's/^Version: \(.*\)/\1/p' $2/control`" ++ name_ver_rel_new="`sed -n -e 's/^Package: \(.*\)/\1/p' $2/control`-`sed -n -e 's/^Version: \(.*\)/\1/p' $2/control`" ++ set_regex ++ cat $1/control | trim_release_old > $1/control.fixed + mv $1/control.fixed $1/control +- cat $2/control | sed '/^Version: /d' > $2/control.fixed ++ cat $2/control | trim_release_new > $2/control.fixed + mv $2/control.fixed $2/control + } + +-- +2.9.0 + diff --git a/import-layers/yocto-poky/meta/recipes-devtools/build-compare/files/functions.sh-remove-space-at-head.patch b/import-layers/yocto-poky/meta/recipes-devtools/build-compare/files/functions.sh-remove-space-at-head.patch new file mode 100644 index 000000000..02e96bab5 --- /dev/null +++ b/import-layers/yocto-poky/meta/recipes-devtools/build-compare/files/functions.sh-remove-space-at-head.patch @@ -0,0 +1,41 @@ +From 402a821e604f280e62c34bf4d40c6d1b4c6c892d Mon Sep 17 00:00:00 2001 +From: Robert Yang <liezhi.yang@windriver.com> +Date: Mon, 4 Jul 2016 20:11:33 -0700 +Subject: [PATCH] functions.sh: remove space at head + +The command like: +rpm -qp --nodigest --nosignature --qf '<foo> [%{REQUIRENAME}\n]\n' + ^^space + +The space will be printed, and will impact the check result, so remove it. + +Upstream-Status: Submitted [https://github.com/openSUSE/build-compare/pull/9] + +Signed-off-by: Robert Yang <liezhi.yang@windriver.com> +--- + functions.sh | 2 ++ + 1 file changed, 2 insertions(+) + +diff --git a/functions.sh b/functions.sh +index 85c9003..b1069d2 100644 +--- a/functions.sh ++++ b/functions.sh +@@ -26,6 +26,7 @@ function trim_release_old() + sed -e " + /\(\/boot\|\/lib\/modules\|\/lib\/firmware\|\/usr\/src\|$version_release_old_regex_l\$\)/{s,$version_release_old_regex_l,@VERSION@-@RELEASE_LONG@,g;s,$version_release_old_regex_s,@VERSION@-@RELEASE_SHORT@,g} + s/\(\/var\/adm\/update-scripts\/\)${name_ver_rel_old_regex_l}\([^[:blank:]]\+\)/\1@NAME_VER_REL@\2/g ++ s/^ *//g + " + } + function trim_release_new() +@@ -33,6 +34,7 @@ function trim_release_new() + sed -e " + /\(\/boot\|\/lib\/modules\|\/lib\/firmware\|\/usr\/src\|$version_release_new_regex_l\$\)/{s,$version_release_new_regex_l,@VERSION@-@RELEASE_LONG@,g;s,$version_release_new_regex_s,@VERSION@-@RELEASE_SHORT@,g} + s/\(\/var\/adm\/update-scripts\/\)${name_ver_rel_new_regex_l}\([^[:blank:]]\+\)/\1@NAME_VER_REL@\2/g ++ s/^ *//g + " + } + # Get single directory or filename with long or short release string +-- +2.9.0 + diff --git a/import-layers/yocto-poky/meta/recipes-devtools/build-compare/files/functions.sh-run-rpm-once-to-make-it-faster.patch b/import-layers/yocto-poky/meta/recipes-devtools/build-compare/files/functions.sh-run-rpm-once-to-make-it-faster.patch new file mode 100644 index 000000000..f5b99d944 --- /dev/null +++ b/import-layers/yocto-poky/meta/recipes-devtools/build-compare/files/functions.sh-run-rpm-once-to-make-it-faster.patch @@ -0,0 +1,361 @@ +From f34d632c427b1e1570ef9136454fc01d8c9f10a6 Mon Sep 17 00:00:00 2001 +From: Robert Yang <liezhi.yang@windriver.com> +Date: Thu, 7 Jul 2016 19:34:09 -0700 +Subject: [PATCH] functions.sh: run rpm once to make it faster + +The rpm tool is a heavy process, it ran 16 (or 17 for kernel) +"rpm -qp" times when the pkgs are identical, now we only run +"rpm -qp --qf <all we need>" twice (one is for old pkg, and one is for +new), save the results to spec_old and spec_new, then use sed command to +get what we need later, this can make it 75% faster when the pkgs are +identical. Here is the rough data on my host Ubuntu 14.04.4, 32 cores +CPU and 128G mem: +* When the pkgs are identical: + - Before the patch: 1s + - After the patch: 0.26s + I compare the whole spec firstly, and return 0 if they are the same, + or go on checking one by one if not, without this, it would be 0.46s, + the gain is great when there are lot of packages, usually, we have + more than 10,000 rpms to compare. + +* When the pkgs are different: + That depends on where is the different, if the different is at the + comparing rpmtags stage: + - Before the patch: 0.26s + - After the patch: 0.29s + Increased 0.03s, but if the different is happend later than comparing + rpmtags, it will save time. + +Upstream-Status: Submitted [https://github.com/openSUSE/build-compare/pull/9] + +Signed-off-by: Robert Yang <liezhi.yang@windriver.com> +--- + functions.sh | 245 ++++++++++++++++++++++++++++++++--------------------------- + 1 file changed, 132 insertions(+), 113 deletions(-) + mode change 100644 => 100755 functions.sh + +diff --git a/functions.sh b/functions.sh +old mode 100644 +new mode 100755 +index b1069d2..aa572f9 +--- a/functions.sh ++++ b/functions.sh +@@ -10,9 +10,63 @@ + + RPM="rpm -qp --nodigest --nosignature" + +-check_header() ++# Name, Version, Release ++QF_NAME="%{NAME}" ++QF_VER_REL="%{VERSION}-%{RELEASE}" ++QF_NAME_VER_REL="%{NAME}-%{VERSION}-%{RELEASE}" ++ ++# provides destroy this because at least the self-provide includes the ++# -buildnumber :-( ++QF_PROVIDES="[%{PROVIDENAME} %{PROVIDEFLAGS} %{PROVIDEVERSION}\\n]\\n" ++QF_PROVIDES="$QF_PROVIDES [%{REQUIRENAME} %{REQUIREFLAGS} %{REQUIREVERSION}\\n]\\n" ++QF_PROVIDES="$QF_PROVIDES [%{CONFLICTNAME} %{CONFLICTFLAGS} %{CONFLICTVERSION}\\n]\\n" ++QF_PROVIDES="$QF_PROVIDES [%{OBSOLETENAME} %{OBSOLETEFLAGS} %{OBSOLETEVERSION}\\n]\\n" ++ ++# don't look at RELEASE, it contains our build number ++QF_TAGS="%{NAME} %{VERSION} %{EPOCH}\\n" ++QF_TAGS="$QF_TAGS %{SUMMARY}\\n%{DESCRIPTION}\\n" ++# the DISTURL tag can be used as checkin ID ++QF_TAGS="$QF_TAGS %{VENDOR} %{DISTRIBUTION} %{DISTURL}" ++QF_TAGS="$QF_TAGS %{LICENSE} %{LICENSE}\\n" ++QF_TAGS="$QF_TAGS %{GROUP} %{URL} %{EXCLUDEARCH} %{EXCLUDEOS} %{EXCLUSIVEARCH}\\n" ++QF_TAGS="$QF_TAGS %{EXCLUSIVEOS} %{RPMVERSION} %{PLATFORM}\\n" ++QF_TAGS="$QF_TAGS %{PAYLOADFORMAT} %{PAYLOADCOMPRESSOR} %{PAYLOADFLAGS}\\n" ++ ++# XXX We also need to check the existence (but not the content (!)) ++# of SIGGPG (and perhaps the other SIG*) ++# XXX We don't look at triggers ++QF_TAGS="$QF_TAGS [%{VERIFYSCRIPTPROG} %{VERIFYSCRIPT}]\\n" ++# Only the first ChangeLog entry; should be enough ++QF_TAGS="$QF_TAGS %{CHANGELOGTIME} %{CHANGELOGNAME} %{CHANGELOGTEXT}\\n" ++ ++# scripts, might contain release number ++QF_SCRIPT="[%{PREINPROG} %{PREIN}\\n]\\n[%{POSTINPROG} %{POSTIN}\\n]\\n[%{PREUNPROG} %{PREUN}\\n]\\n[%{POSTUNPROG} %{POSTUN}\\n]\\n" ++ ++# Now the files. We leave out mtime and size. For normal files ++# the size will influence the MD5 anyway. For directories the sizes can ++# differ, depending on which file system the package was built. To not ++# have to filter out directories we simply ignore all sizes. ++# Also leave out FILEDEVICES, FILEINODES (depends on the build host), ++# FILECOLORS, FILECLASS (normally useful but file output contains mtimes), ++# FILEDEPENDSX and FILEDEPENDSN. ++# Also FILELANGS (or?) ++QF_FILELIST="[%{FILENAMES} %{FILEFLAGS} %{FILESTATES} %{FILEMODES:octal} %{FILEUSERNAME} %{FILEGROUPNAME} %{FILERDEVS} %{FILEVERIFYFLAGS} %{FILELINKTOS}\n]\\n" ++# ??? what to do with FILEPROVIDE and FILEREQUIRE? ++ ++QF_CHECKSUM="[%{FILENAMES} %{FILEMD5S} %{FILEFLAGS}\n]\\n" ++ ++QF_ALL="\n___QF_NAME___\n${QF_NAME}\n___QF_NAME___\n" ++QF_ALL="$QF_ALL\n___QF_TAGS___\n${QF_TAGS}\n___QF_TAGS___\n" ++QF_ALL="$QF_ALL\n___QF_VER_REL___\n${QF_VER_REL}\n___QF_VER_REL___\n" ++QF_ALL="$QF_ALL\n___QF_NAME_VER_REL___\n${QF_NAME_VER_REL}\n___QF_NAME_VER_REL___\n" ++QF_ALL="$QF_ALL\n___QF_PROVIDES___\n${QF_PROVIDES}\n___QF_PROVIDES___\n" ++QF_ALL="$QF_ALL\n___QF_SCRIPT___\n${QF_SCRIPT}\n___QF_SCRIPT___\n" ++QF_ALL="$QF_ALL\n___QF_FILELIST___\n${QF_FILELIST}\n___QF_FILELIST___\n" ++QF_ALL="$QF_ALL\n___QF_CHECKSUM___\n${QF_CHECKSUM}\n___QF_CHECKSUM___\n" ++ ++check_header() + { +- $RPM --qf "$QF" "$1" ++ $RPM --qf "$1" "$2" + } + + # Trim version-release string: +@@ -47,18 +101,6 @@ function grep_release_new() + grep -E "(/boot|/lib/modules|/lib/firmware|/usr/src)/[^/]+(${version_release_new_regex_l}(\$|[^/]+\$)|${version_release_new_regex_s}(\$|[^/]+\$))" + } + +-function check_provides() +-{ +- local pkg=$1 +- # provides destroy this because at least the self-provide includes the +- # -buildnumber :-( +- QF="[%{PROVIDENAME} %{PROVIDEFLAGS} %{PROVIDEVERSION}\\n]\\n" +- QF="$QF [%{REQUIRENAME} %{REQUIREFLAGS} %{REQUIREVERSION}\\n]\\n" +- QF="$QF [%{CONFLICTNAME} %{CONFLICTFLAGS} %{CONFLICTVERSION}\\n]\\n" +- QF="$QF [%{OBSOLETENAME} %{OBSOLETEFLAGS} %{OBSOLETEVERSION}\\n]\\n" +- check_header "$pkg" +-} +- + #usage unpackage <file> $dir + # Unpack files in directory $dir + # like /usr/bin/unpackage - just for one file and with no options +@@ -98,6 +140,30 @@ function unpackage() + popd 1>/dev/null + } + ++# Run diff command on the files ++# $1: printed info ++# $2: file1 ++# $3: file2 ++function comp_file() ++{ ++ echo "comparing $1" ++ if ! diff -au $2 $3; then ++ if test -z "$check_all"; then ++ rm $2 $3 $spec_old $spec_new ++ return 1 ++ fi ++ fi ++ return 0 ++} ++ ++# Get var's value from specfile. ++# $1: var name ++# $2: specfile ++function get_value() ++{ ++ sed -n -e "/^___${1}___/,/^___${1}___/p" $2 | sed -e "/^___${1}___/d" ++} ++ + # Compare just the rpm meta data of two rpms + # Returns: + # 0 in case of same content +@@ -107,56 +173,29 @@ function unpackage() + function cmp_spec () + { + local RES +- local file1 file2 ++ local file_old file_new + local f + local sh=$1 + local oldrpm=$2 + local newrpm=$3 + +- QF="%{NAME}" +- +- # don't look at RELEASE, it contains our build number +- QF="$QF %{VERSION} %{EPOCH}\\n" +- QF="$QF %{SUMMARY}\\n%{DESCRIPTION}\\n" +- QF="$QF %{VENDOR} %{DISTRIBUTION} %{DISTURL}" +- QF="$QF %{LICENSE} %{LICENSE}\\n" +- QF="$QF %{GROUP} %{URL} %{EXCLUDEARCH} %{EXCLUDEOS} %{EXCLUSIVEARCH}\\n" +- QF="$QF %{EXCLUSIVEOS} %{RPMVERSION} %{PLATFORM}\\n" +- QF="$QF %{PAYLOADFORMAT} %{PAYLOADCOMPRESSOR} %{PAYLOADFLAGS}\\n" +- +- +- # XXX We also need to check the existence (but not the content (!)) +- # of SIGGPG (and perhaps the other SIG*) +- +- # XXX We don't look at triggers +- +- QF="$QF [%{VERIFYSCRIPTPROG} %{VERIFYSCRIPT}]\\n" +- +- # Only the first ChangeLog entry; should be enough +- QF="$QF %{CHANGELOGTIME} %{CHANGELOGNAME} %{CHANGELOGTEXT}\\n" +- +- file1=`mktemp` +- file2=`mktemp` +- +- check_header $oldrpm > $file1 +- check_header $newrpm > $file2 +- +- # the DISTURL tag can be used as checkin ID +- #echo "$QF" +- echo "comparing rpmtags" +- if ! diff -au $file1 $file2; then +- if test -z "$check_all"; then +- rm $file1 $file2 +- return 1 +- fi +- fi +- ++ file_old=`mktemp` ++ file_new=`mktemp` ++ spec_old=`mktemp` ++ spec_new=`mktemp` ++ ++ check_header "$QF_ALL" $oldrpm > $spec_old ++ check_header "$QF_ALL" $newrpm > $spec_new ++ ++ name_new="$(get_value QF_NAME $spec_new)" ++ version_release_new="$(get_value QF_VER_REL $spec_new)" ++ name_ver_rel_new="$(get_value QF_NAME_VER_REL $spec_new)" ++ ++ version_release_old="$(get_value QF_VER_REL $spec_old)" ++ name_ver_rel_old="$(get_value QF_NAME_VER_REL $spec_old)" ++ + # Remember to quote the . which is in release +- version_release_old=$($RPM --qf "%{VERSION}-%{RELEASE}" "$oldrpm") +- version_release_new=$($RPM --qf "%{VERSION}-%{RELEASE}" "$newrpm") +- name_ver_rel_old=$($RPM --qf "%{NAME}-%{VERSION}-%{RELEASE}" "$oldrpm") +- name_ver_rel_new=$($RPM --qf "%{NAME}-%{VERSION}-%{RELEASE}" "$newrpm") +- # Short version without B_CNT ++ # Short version without B_CN + version_release_old_regex_s=${version_release_old%.*} + version_release_old_regex_s=${version_release_old_regex_s//./\\.} + version_release_new_regex_s=${version_release_new%.*} +@@ -166,10 +205,27 @@ function cmp_spec () + version_release_new_regex_l=${version_release_new//./\\.} + name_ver_rel_old_regex_l=${name_ver_rel_old//./\\.} + name_ver_rel_new_regex_l=${name_ver_rel_new//./\\.} ++ ++ # Check the whole spec file at first, return 0 immediately if the ++ # are the same. ++ cat $spec_old | trim_release_old > $file_old ++ cat $spec_new | trim_release_new > $file_new ++ echo "comparing the whole specfile" ++ if diff -au $spec_old $spec_new; then ++ if test -z "$check_all"; then ++ rm $file_old $file_new $spec_old $spec_new ++ return 0 ++ fi ++ fi ++ ++ get_value QF_TAGS $spec_old > $file_old ++ get_value QF_TAGS $spec_new > $file_new ++ comp_file rpmtags $file_old $file_new || return 1 ++ + # This might happen when?! + echo "comparing RELEASE" + if [ "${version_release_old%.*}" != "${version_release_new%.*}" ] ; then +- case $($RPM --qf '%{NAME}' "$newrpm") in ++ case $name_new in + kernel-*) + # Make sure all kernel packages have the same %RELEASE + echo "release prefix mismatch" +@@ -181,71 +237,34 @@ function cmp_spec () + *) ;; + esac + fi +- +- check_provides $oldrpm | trim_release_old | sort > $file1 +- check_provides $newrpm | trim_release_new | sort > $file2 +- +- echo "comparing PROVIDES" +- if ! diff -au $file1 $file2; then +- if test -z "$check_all"; then +- rm $file1 $file2 +- return 1 +- fi +- fi + +- # scripts, might contain release number +- QF="[%{PREINPROG} %{PREIN}\\n]\\n[%{POSTINPROG} %{POSTIN}\\n]\\n[%{PREUNPROG} %{PREUN}\\n]\\n[%{POSTUNPROG} %{POSTUN}\\n]\\n" +- check_header $oldrpm | trim_release_old > $file1 +- check_header $newrpm | trim_release_new > $file2 ++ get_value QF_PROVIDES $spec_old | trim_release_old | sort > $file_old ++ get_value QF_PROVIDES $spec_new | trim_release_new | sort > $file_new ++ comp_file PROVIDES $file_old $file_new || return 1 ++ ++ get_value QF_SCRIPT $spec_old | trim_release_old > $file_old ++ get_value QF_SCRIPT $spec_new | trim_release_new > $file_new ++ comp_file scripts $file_old $file_new || return 1 + +- echo "comparing scripts" +- if ! diff -au $file1 $file2; then +- if test -z "$check_all"; then +- rm $file1 $file2 +- return 1 +- fi +- fi +- + # First check the file attributes and later the md5s +- +- # Now the files. We leave out mtime and size. For normal files +- # the size will influence the MD5 anyway. For directories the sizes can +- # differ, depending on which file system the package was built. To not +- # have to filter out directories we simply ignore all sizes. +- # Also leave out FILEDEVICES, FILEINODES (depends on the build host), +- # FILECOLORS, FILECLASS (normally useful but file output contains mtimes), +- # FILEDEPENDSX and FILEDEPENDSN. +- # Also FILELANGS (or?) +- QF="[%{FILENAMES} %{FILEFLAGS} %{FILESTATES} %{FILEMODES:octal} %{FILEUSERNAME} %{FILEGROUPNAME} %{FILERDEVS} %{FILEVERIFYFLAGS} %{FILELINKTOS}\n]\\n" +- # ??? what to do with FILEPROVIDE and FILEREQUIRE? +- +- check_header $oldrpm | trim_release_old > $file1 +- check_header $newrpm | trim_release_new > $file2 +- +- echo "comparing filelist" +- if ! diff -au $file1 $file2; then +- if test -z "$check_all"; then +- rm $file1 $file2 +- return 1 +- fi +- fi +- ++ get_value QF_FILELIST $spec_old | trim_release_old > $file_old ++ get_value QF_FILELIST $spec_new | trim_release_new > $file_new ++ comp_file filelist $file_old $file_new || return 1 ++ + # now the md5sums. if they are different, we check more detailed + # if there are different filenames, we will already have aborted before + # file flag 64 means "ghost", filter those out. +- QF="[%{FILENAMES} %{FILEMD5S} %{FILEFLAGS}\n]\\n" +- check_header $oldrpm |grep -v " 64$"| trim_release_old > $file1 +- check_header $newrpm |grep -v " 64$"| trim_release_new > $file2 +- ++ get_value QF_CHECKSUM $spec_old | grep -v " 64$" | trim_release_old > $file_old ++ get_value QF_CHECKSUM $spec_new | grep -v " 64$" | trim_release_new > $file_new + RES=2 + # done if the same + echo "comparing file checksum" +- if cmp -s $file1 $file2; then ++ if cmp -s $file_old $file_new; then + RES=0 + fi +- ++ + # Get only files with different MD5sums +- files=`diff -U0 $file1 $file2 | fgrep -v +++ | grep ^+ | cut -b2- | awk '{print $1}'` ++ files=`diff -U0 $file_old $file_new | fgrep -v +++ | grep ^+ | cut -b2- | awk '{print $1}'` + + if test -f "$sh"; then + echo "creating rename script" +@@ -261,7 +280,7 @@ function cmp_spec () + done >> "${sh}" + fi + # +- rm $file1 $file2 ++ rm $file_old $file_new + return $RES + } + +-- +2.9.0 + diff --git a/import-layers/yocto-poky/meta/recipes-devtools/build-compare/files/pkg-diff.sh-check-for-fifo-named-pipe.patch b/import-layers/yocto-poky/meta/recipes-devtools/build-compare/files/pkg-diff.sh-check-for-fifo-named-pipe.patch new file mode 100644 index 000000000..e4f0c5416 --- /dev/null +++ b/import-layers/yocto-poky/meta/recipes-devtools/build-compare/files/pkg-diff.sh-check-for-fifo-named-pipe.patch @@ -0,0 +1,35 @@ +From a78fe4f792a9ac9f4d364e836c8855f48561d6f2 Mon Sep 17 00:00:00 2001 +From: Robert Yang <liezhi.yang@windriver.com> +Date: Thu, 14 Jul 2016 19:52:18 -0700 +Subject: [PATCH 3/4] pkg-diff.sh: check for fifo(named pipe) + +Otherwise "cmp -s fifo1 fifo2" will wait for inputing forever. + +Upstream-Status: Submitted [https://github.com/openSUSE/build-compare/pull/10] + +Signed-off-by: Robert Yang <liezhi.yang@windriver.com> +--- + pkg-diff.sh | 7 +++++++ + 1 file changed, 7 insertions(+) + +diff --git a/pkg-diff.sh b/pkg-diff.sh +index 5dd3a38..1f353aa 100644 +--- a/pkg-diff.sh ++++ b/pkg-diff.sh +@@ -735,6 +735,13 @@ check_single_file() + return 1 + fi + ;; ++ fifo*pipe*) ++ ftype_new="`/usr/bin/file new/$file | sed -e 's@^[^:]\+:[[:blank:]]*@@' -e 's@[[:blank:]]*$@@'`" ++ if [ "$ftype_new" = "$ftype" ]; then ++ return 0 ++ fi ++ return 1 ++ ;; + *) + if ! diff_two_files; then + return 1 +-- +2.9.0 + diff --git a/import-layers/yocto-poky/meta/recipes-devtools/build-compare/files/pkg-diff.sh-check_single_file-return-at-once-when-sa.patch b/import-layers/yocto-poky/meta/recipes-devtools/build-compare/files/pkg-diff.sh-check_single_file-return-at-once-when-sa.patch new file mode 100644 index 000000000..b42af2531 --- /dev/null +++ b/import-layers/yocto-poky/meta/recipes-devtools/build-compare/files/pkg-diff.sh-check_single_file-return-at-once-when-sa.patch @@ -0,0 +1,37 @@ +From 657983ef9ca8f8354172682e17408c4f6b5bc667 Mon Sep 17 00:00:00 2001 +From: Robert Yang <liezhi.yang@windriver.com> +Date: Thu, 14 Jul 2016 19:46:08 -0700 +Subject: [PATCH 1/4] pkg-diff.sh: check_single_file(): return at once when + same + +If the two files are the same, return at once, this can save a lot of +time when there are archives inside archives. + +Upstream-Status: Submitted [https://github.com/openSUSE/build-compare/pull/10] + +Signed-off-by: Robert Yang <liezhi.yang@windriver.com> +--- + pkg-diff.sh | 7 +++++++ + 1 file changed, 7 insertions(+) + +diff --git a/pkg-diff.sh b/pkg-diff.sh +index 3cf10aa..402d4a4 100644 +--- a/pkg-diff.sh ++++ b/pkg-diff.sh +@@ -293,6 +293,13 @@ check_compressed_file() + check_single_file() + { + local file="$1" ++ ++ # If the two files are the same, return at once. ++ if [ -f old/$file -a -f new/$file ]; then ++ if cmp -s old/$file new/$file; then ++ return 0 ++ fi ++ fi + case $file in + *.spec) + sed -i -e "s,Release:.*$release1,Release: @RELEASE@," old/$file +-- +2.9.0 + diff --git a/import-layers/yocto-poky/meta/recipes-devtools/build-compare/files/pkg-diff.sh-remove-space-in-the-end-for-ftype.patch b/import-layers/yocto-poky/meta/recipes-devtools/build-compare/files/pkg-diff.sh-remove-space-in-the-end-for-ftype.patch new file mode 100644 index 000000000..807717233 --- /dev/null +++ b/import-layers/yocto-poky/meta/recipes-devtools/build-compare/files/pkg-diff.sh-remove-space-in-the-end-for-ftype.patch @@ -0,0 +1,32 @@ +From 836a6783df9c582a834fca239f227063a5687715 Mon Sep 17 00:00:00 2001 +From: Robert Yang <liezhi.yang@windriver.com> +Date: Thu, 14 Jul 2016 19:49:12 -0700 +Subject: [PATCH 2/4] pkg-diff.sh: remove space in the end for ftype + +Versions of file like 5.14 returns a " " in the end, for example: +ftype="directory ", but we need ftype="directory", remove the space to +fix the problem. + +Upstream-Status: Submitted [https://github.com/openSUSE/build-compare/pull/10] + +Signed-off-by: Robert Yang <liezhi.yang@windriver.com> +--- + pkg-diff.sh | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/pkg-diff.sh b/pkg-diff.sh +index 402d4a4..5dd3a38 100644 +--- a/pkg-diff.sh ++++ b/pkg-diff.sh +@@ -633,7 +633,7 @@ check_single_file() + ;; + esac + +- ftype=`/usr/bin/file old/$file | sed 's@^[^:]\+:[[:blank:]]*@@'` ++ ftype=`/usr/bin/file old/$file | sed -e 's@^[^:]\+:[[:blank:]]*@@' -e 's@[[:blank:]]*$@@'` + case $ftype in + PE32\ executable*Mono\/\.Net\ assembly*) + echo "PE32 Mono/.Net assembly: $file" +-- +2.9.0 + diff --git a/import-layers/yocto-poky/meta/recipes-devtools/ccache/ccache_3.2.4.bb b/import-layers/yocto-poky/meta/recipes-devtools/ccache/ccache_3.2.4.bb deleted file mode 100644 index fd45e4160..000000000 --- a/import-layers/yocto-poky/meta/recipes-devtools/ccache/ccache_3.2.4.bb +++ /dev/null @@ -1,10 +0,0 @@ -require ccache.inc - -LICENSE = "GPLv3+" -LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=b3c337e7664559a789d9f7a93e5283c1" - -SRCREV = "2254797f1c5cfb83c4272da7b138f7f47218eb7d" - -SRC_URI += " \ - file://0002-dev.mk.in-fix-file-name-too-long.patch \ -" diff --git a/import-layers/yocto-poky/meta/recipes-devtools/ccache/ccache_3.2.5.bb b/import-layers/yocto-poky/meta/recipes-devtools/ccache/ccache_3.2.5.bb new file mode 100644 index 000000000..afd1b0ea1 --- /dev/null +++ b/import-layers/yocto-poky/meta/recipes-devtools/ccache/ccache_3.2.5.bb @@ -0,0 +1,11 @@ +require ccache.inc + +LICENSE = "GPLv3+" +LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=b8a4fa173ed91c1a5204ea4f9c9eadc3" + +SRCREV = "424d3ae1fb73444c6c38bf189f8fc048f66d6499" + +SRC_URI += " \ + file://0002-dev.mk.in-fix-file-name-too-long.patch \ + file://Revert-Create-man-page-in-the-make-install-from-git-.patch \ +" diff --git a/import-layers/yocto-poky/meta/recipes-devtools/ccache/files/Revert-Create-man-page-in-the-make-install-from-git-.patch b/import-layers/yocto-poky/meta/recipes-devtools/ccache/files/Revert-Create-man-page-in-the-make-install-from-git-.patch new file mode 100644 index 000000000..f0208b9dc --- /dev/null +++ b/import-layers/yocto-poky/meta/recipes-devtools/ccache/files/Revert-Create-man-page-in-the-make-install-from-git-.patch @@ -0,0 +1,33 @@ +From 94fabcdda5c7e54ccdbc1f0aeccb26ce30e61226 Mon Sep 17 00:00:00 2001 +From: Robert Yang <liezhi.yang@windriver.com> +Date: Mon, 18 Jul 2016 19:53:00 -0700 +Subject: [PATCH] Revert "Create man page in the make-install-from-git-repo + case" + +This reverts commit b86784902d28defd5e475c8922de594787df4541. + +We dont' have asciidoc, so revert it. + +Upstream-Status: Inappropriate [OE-Core specific] + +Signed-off-by: Robert Yang <liezhi.yang@windriver.com> +--- + Makefile.in | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/Makefile.in b/Makefile.in +index d474f2a..c6cdc04 100644 +--- a/Makefile.in ++++ b/Makefile.in +@@ -76,7 +76,7 @@ ccache$(EXEEXT): $(ccache_objs) $(extra_libs) + $(CC) $(all_cflags) -o $@ $(ccache_objs) $(LDFLAGS) $(extra_libs) $(LIBS) + + .PHONY: install +-install: all $(srcdir)/ccache.1 ++install: all + $(installcmd) -d $(DESTDIR)$(bindir) + $(installcmd) -m 755 ccache$(EXEEXT) $(DESTDIR)$(bindir) + $(installcmd) -d $(DESTDIR)$(mandir)/man1 +-- +2.9.0 + diff --git a/import-layers/yocto-poky/meta/recipes-devtools/cmake/cmake-native_3.4.3.bb b/import-layers/yocto-poky/meta/recipes-devtools/cmake/cmake-native_3.4.3.bb deleted file mode 100644 index cb4e749d7..000000000 --- a/import-layers/yocto-poky/meta/recipes-devtools/cmake/cmake-native_3.4.3.bb +++ /dev/null @@ -1,16 +0,0 @@ -require cmake.inc -inherit native - -# Using cmake's internal libarchive, so some dependencies are needed -DEPENDS += "bzip2-native zlib-native" - -SRC_URI += "\ - file://cmlibarchive-disable-ext2fs.patch \ -" - -# Disable ccmake since we don't depend on ncurses -CMAKE_EXTRACONF = "\ - -DBUILD_CursesDialog=0 \ - -DENABLE_ACL=0 -DHAVE_ACL_LIBACL_H=0 \ - -DHAVE_SYS_ACL_H=0 \ -" diff --git a/import-layers/yocto-poky/meta/recipes-devtools/cmake/cmake-native_3.6.1.bb b/import-layers/yocto-poky/meta/recipes-devtools/cmake/cmake-native_3.6.1.bb new file mode 100644 index 000000000..aec0d64de --- /dev/null +++ b/import-layers/yocto-poky/meta/recipes-devtools/cmake/cmake-native_3.6.1.bb @@ -0,0 +1,36 @@ +require cmake.inc +inherit native + +DEPENDS += "bzip2-replacement-native expat-native xz-native zlib-native curl-native" + +SRC_URI += "\ + file://cmlibarchive-disable-ext2fs.patch \ +" + +B = "${WORKDIR}/build" +do_configure[cleandirs] = "${B}" + +# Disable ccmake since we don't depend on ncurses +CMAKE_EXTRACONF = "\ + -DCMAKE_LIBRARY_PATH=${STAGING_LIBDIR_NATIVE} \ + -DBUILD_CursesDialog=0 \ + -DCMAKE_USE_SYSTEM_LIBRARIES=1 \ + -DCMAKE_USE_SYSTEM_LIBRARY_JSONCPP=0 \ + -DCMAKE_USE_SYSTEM_LIBRARY_LIBARCHIVE=0 \ + -DENABLE_ACL=0 -DHAVE_ACL_LIBACL_H=0 \ + -DHAVE_SYS_ACL_H=0 \ +" + +do_configure () { + ${S}/configure --verbose --prefix=${prefix} -- ${CMAKE_EXTRACONF} +} + +do_compile() { + oe_runmake +} + +do_install() { + oe_runmake 'DESTDIR=${D}' install +} + +do_compile[progress] = "percent" diff --git a/import-layers/yocto-poky/meta/recipes-devtools/cmake/cmake.inc b/import-layers/yocto-poky/meta/recipes-devtools/cmake/cmake.inc index 968d003b2..4fcb0b1ed 100644 --- a/import-layers/yocto-poky/meta/recipes-devtools/cmake/cmake.inc +++ b/import-layers/yocto-poky/meta/recipes-devtools/cmake/cmake.inc @@ -6,24 +6,21 @@ HOMEPAGE = "http://www.cmake.org/" BUGTRACKER = "http://public.kitware.com/Bug/my_view_page.php" SECTION = "console/utils" LICENSE = "BSD" -LIC_FILES_CHKSUM = "file://Copyright.txt;md5=3ba5a6c34481652ce573e5c4e1d707e4 \ +LIC_FILES_CHKSUM = "file://Copyright.txt;md5=052f86c15bbde68af55c7f7b340ab639 \ file://Source/cmake.h;beginline=1;endline=10;md5=341736dae83c9e344b53eeb1bc7d7bc2" -CMAKE_MAJOR_VERSION = "${@'.'.join(d.getVar('PV',1).split('.')[0:2])}" +CMAKE_MAJOR_VERSION = "${@'.'.join(d.getVar('PV', True).split('.')[0:2])}" SRC_URI = "https://cmake.org/files/v${CMAKE_MAJOR_VERSION}/cmake-${PV}.tar.gz \ file://support-oe-qt4-tools-names.patch \ file://qt4-fail-silent.patch \ - file://0001-Add-NIOS2-CPU-support.patch \ " -SRC_URI[md5sum] = "4cb3ff35b2472aae70f542116d616e63" -SRC_URI[sha256sum] = "b73f8c1029611df7ed81796bf5ca8ba0ef41c6761132340c73ffe42704f980fa" +SRC_URI[md5sum] = "d6dd661380adacdb12f41b926ec99545" +SRC_URI[sha256sum] = "28ee98ec40427d41a45673847db7a905b59ce9243bb866eaf59dce0f58aaef11" UPSTREAM_CHECK_REGEX = "cmake-(?P<pver>\d+(\.\d+)+)\.tar" -inherit autotools - # Ugly hack to work around undefined OE_QMAKE_PATH_EXTERNAL_HOST_BINS variable # and possibly missing qmake binary (qtbase-native can be removed from sysroot # e.g. in order to upgrade it, even when there is target qtbase) @@ -46,10 +43,3 @@ do_configure_prepend() { sed -i 's/^ find_package(Qt5Widgets REQUIRED)/# find_package(Qt5Widgets REQUIRED)/g' ${S}/Tests/QtAutogen/CMakeLists.txt sed -i 's/^ find_package(Qt5Core REQUIRED)/# find_package(Qt5Core REQUIRED)/g' ${S}/Tests/QtAutogen/autorcc_depends/CMakeLists.txt } - -# Extra flags to pass to cmake invoked by bootstrap -CMAKE_EXTRACONF = "" - -do_configure () { - ${S}/configure --prefix=${prefix} -- ${CMAKE_EXTRACONF} -} diff --git a/import-layers/yocto-poky/meta/recipes-devtools/cmake/cmake/0001-Add-NIOS2-CPU-support.patch b/import-layers/yocto-poky/meta/recipes-devtools/cmake/cmake/0001-Add-NIOS2-CPU-support.patch deleted file mode 100644 index 6e0ab9fb7..000000000 --- a/import-layers/yocto-poky/meta/recipes-devtools/cmake/cmake/0001-Add-NIOS2-CPU-support.patch +++ /dev/null @@ -1,50 +0,0 @@ -From 3f8c3d3011ea192da2c761560b615f55763715ef Mon Sep 17 00:00:00 2001 -From: Marek Vasut <marex@denx.de> -Date: Thu, 26 Nov 2015 21:31:04 +0100 -Subject: [PATCH] Add NIOS2 CPU support - -Add necessary bits to support the NIOS2 little-endian CPU. - -Signed-off-by: Marek Vasut <marex@denx.de> -Cc: Ley Foon Tan <lftan@altera.com> -Cc: Thomas Chou <thomas@wytron.com.tw> -Cc: Walter Goossens <waltergoossens@home.nl> -Upstream-Status: Submitted ---- - Source/kwsys/CPU.h.in | 4 ++++ - Utilities/KWIML/ABI.h.in | 4 ++++ - 2 files changed, 8 insertions(+) - -diff --git a/Source/kwsys/CPU.h.in b/Source/kwsys/CPU.h.in -index 884d71a..66ffbb1 100644 ---- a/Source/kwsys/CPU.h.in -+++ b/Source/kwsys/CPU.h.in -@@ -88,6 +88,10 @@ - #elif defined(__mips) || defined(__mips__) || defined(__MIPS__) - # define @KWSYS_NAMESPACE@_CPU_ENDIAN_ID @KWSYS_NAMESPACE@_CPU_ENDIAN_ID_BIG - -+/* NIOS2 */ -+#elif defined(__NIOS2__) || defined(__NIOS2) || defined(__nios2__) -+# define @KWSYS_NAMESPACE@_CPU_ENDIAN_ID @KWSYS_NAMESPACE@_CPU_ENDIAN_ID_LITTLE -+ - /* OpenRISC 1000 */ - #elif defined(__or1k__) - # define @KWSYS_NAMESPACE@_CPU_ENDIAN_ID @KWSYS_NAMESPACE@_CPU_ENDIAN_ID_BIG -diff --git a/Utilities/KWIML/ABI.h.in b/Utilities/KWIML/ABI.h.in -index 6300ada..87b6e96 100644 ---- a/Utilities/KWIML/ABI.h.in -+++ b/Utilities/KWIML/ABI.h.in -@@ -398,6 +398,10 @@ suppression macro @KWIML@_ABI_NO_VERIFY was defined. - #elif defined(__mips) || defined(__mips__) || defined(__MIPS__) - # define @KWIML@_ABI_ENDIAN_ID @KWIML@_ABI_ENDIAN_ID_BIG - -+/* NIOS2 */ -+#elif defined(__NIOS2__) || defined(__NIOS2) || defined(__nios2__) -+# define @KWIML@_ABI_ENDIAN_ID @KWIML@_ABI_ENDIAN_ID_LITTLE -+ - /* OpenRISC 1000 */ - #elif defined(__or1k__) - # define @KWIML@_ABI_ENDIAN_ID @KWIML@_ABI_ENDIAN_ID_BIG --- -2.6.2 - diff --git a/import-layers/yocto-poky/meta/recipes-devtools/cmake/cmake/OEToolchainConfig.cmake b/import-layers/yocto-poky/meta/recipes-devtools/cmake/cmake/OEToolchainConfig.cmake index 60014bbf2..6518408c7 100644 --- a/import-layers/yocto-poky/meta/recipes-devtools/cmake/cmake/OEToolchainConfig.cmake +++ b/import-layers/yocto-poky/meta/recipes-devtools/cmake/cmake/OEToolchainConfig.cmake @@ -3,13 +3,17 @@ set( CMAKE_C_FLAGS $ENV{CFLAGS} CACHE STRING "" FORCE ) set( CMAKE_CXX_FLAGS $ENV{CXXFLAGS} CACHE STRING "" FORCE ) set( CMAKE ASM_FLAGS ${CMAKE_C_FLAGS} CACHE STRING "" FORCE ) set( CMAKE_LDFLAGS_FLAGS ${CMAKE_CXX_FLAGS} CACHE STRING "" FORCE ) + set( CMAKE_FIND_ROOT_PATH $ENV{OECORE_TARGET_SYSROOT} $ENV{OECORE_NATIVE_SYSROOT} ) set( CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER ) set( CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY ) set( CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY ) +set( CMAKE_FIND_ROOT_PATH_MODE_PACKAGE ONLY ) -string(REGEX MATCH "sysroots/([a-zA-Z0-9]+)" CMAKE_SYSTEM_PROCESSOR $ENV{SDKTARGETSYSROOT}) -string(REGEX REPLACE "sysroots/" "" CMAKE_SYSTEM_PROCESSOR ${CMAKE_SYSTEM_PROCESSOR}) +# Set CMAKE_SYSTEM_PROCESSOR from the sysroot name (assuming processor-distro-os). +if ($ENV{SDKTARGETSYSROOT} MATCHES "/sysroots/([a-zA-Z0-9_-]+)-.+-.+") + set(CMAKE_SYSTEM_PROCESSOR ${CMAKE_MATCH_1}) +endif() # Include the toolchain configuration subscripts file( GLOB toolchain_config_files "${CMAKE_TOOLCHAIN_FILE}.d/*.cmake" ) diff --git a/import-layers/yocto-poky/meta/recipes-devtools/cmake/cmake_3.4.3.bb b/import-layers/yocto-poky/meta/recipes-devtools/cmake/cmake_3.6.1.bb index 2f188f071..850d6de23 100644 --- a/import-layers/yocto-poky/meta/recipes-devtools/cmake/cmake_3.4.3.bb +++ b/import-layers/yocto-poky/meta/recipes-devtools/cmake/cmake_3.6.1.bb @@ -14,7 +14,7 @@ python () { docdir=d.getVar("docdir", True) if not docdir.startswith(prefix): - raise bb.build.FuncFailed('docdir must contain prefix as its prefix') + bb.fatal('docdir must contain prefix as its prefix') docdir_stripped = docdir[len(prefix):] if len(docdir_stripped) > 0 and docdir_stripped[0] == '/': @@ -25,13 +25,8 @@ python () { EXTRA_OECMAKE=" \ -DCMAKE_DOC_DIR=${docdir_stripped}/cmake-${CMAKE_MAJOR_VERSION} \ - -DCMAKE_USE_SYSTEM_LIBRARY_BZIP2=1 \ - -DCMAKE_USE_SYSTEM_LIBRARY_CURL=1 \ - -DCMAKE_USE_SYSTEM_LIBRARY_EXPAT=1 \ - -DCMAKE_USE_SYSTEM_LIBRARY_FORM=1 \ - -DCMAKE_USE_SYSTEM_LIBRARY_LIBARCHIVE=1 \ - -DCMAKE_USE_SYSTEM_LIBRARY_LIBLZMA=1 \ - -DCMAKE_USE_SYSTEM_LIBRARY_ZLIB=1 \ + -DCMAKE_USE_SYSTEM_LIBRARIES=1 \ + -DCMAKE_USE_SYSTEM_LIBRARY_JSONCPP=0 \ -DKWSYS_CHAR_IS_SIGNED=1 \ -DBUILD_CursesDialog=0 \ ${@bb.utils.contains('DISTRO_FEATURES', 'largefile', '-DKWSYS_LFS_WORKS=1', '-DKWSYS_LFS_DISABLE=1', d)} \ diff --git a/import-layers/yocto-poky/meta/recipes-devtools/cve-check-tool/cve-check-tool_5.6.4.bb b/import-layers/yocto-poky/meta/recipes-devtools/cve-check-tool/cve-check-tool_5.6.4.bb new file mode 100644 index 000000000..1baadea8e --- /dev/null +++ b/import-layers/yocto-poky/meta/recipes-devtools/cve-check-tool/cve-check-tool_5.6.4.bb @@ -0,0 +1,54 @@ +SUMMARY = "cve-check-tool" +DESCRIPTION = "cve-check-tool is a tool for checking known (public) CVEs.\ +The tool will identify potentially vunlnerable software packages within Linux distributions through version matching." +HOMEPAGE = "https://github.com/ikeydoherty/cve-check-tool" +SECTION = "Development/Tools" +LICENSE = "GPL-2.0+" +LIC_FILES_CHKSUM = "file://LICENSE;md5=e8c1458438ead3c34974bc0be3a03ed6" + +SRC_URI = "https://github.com/ikeydoherty/${BPN}/releases/download/v${PV}/${BP}.tar.xz \ + file://check-for-malloc_trim-before-using-it.patch \ + file://0001-print-progress-in-percent-when-downloading-CVE-db.patch \ + " + +SRC_URI[md5sum] = "c5f4247140fc9be3bf41491d31a34155" +SRC_URI[sha256sum] = "b8f283be718af8d31232ac1bfc10a0378fb958aaaa49af39168f8acf501e6a5b" + +DEPENDS = "libcheck glib-2.0 json-glib curl libxml2 sqlite3 openssl ca-certificates" + +RDEPENDS_${PN} = "ca-certificates" + +inherit pkgconfig autotools + +EXTRA_OECONF = "--disable-coverage" +CFLAGS_append = " -Wno-error=pedantic" + +do_populate_cve_db() { + if [ "${BB_NO_NETWORK}" = "1" ] ; then + bberror "BB_NO_NETWORK is set; Can't update cve-check-tool database, CVEs won't be checked" + return + fi + + # In case we don't inherit cve-check class, use default values defined in the class. + cve_dir="${CVE_CHECK_DB_DIR}" + cve_file="${CVE_CHECK_TMP_FILE}" + + [ -z "${cve_dir}" ] && cve_dir="${DL_DIR}/CVE_CHECK" + [ -z "${cve_file}" ] && cve_file="${TMPDIR}/cve_check" + + bbdebug 2 "Updating cve-check-tool database located in $cve_dir" + if cve-check-update -d "$cve_dir" ; then + printf "CVE database was updated on %s UTC\n\n" "$(LANG=C date --utc +'%F %T')" > "$cve_file" + else + bbwarn "Error in executing cve-check-update" + if [ "${@'1' if bb.data.inherits_class('cve-check', d) else '0'}" -ne 0 ] ; then + bbwarn "Failed to update cve-check-tool database, CVEs won't be checked" + fi + fi +} + +addtask populate_cve_db after do_populate_sysroot +do_populate_cve_db[nostamp] = "1" +do_populate_cve_db[progress] = "percent" + +BBCLASSEXTEND = "native nativesdk" diff --git a/import-layers/yocto-poky/meta/recipes-devtools/cve-check-tool/files/0001-print-progress-in-percent-when-downloading-CVE-db.patch b/import-layers/yocto-poky/meta/recipes-devtools/cve-check-tool/files/0001-print-progress-in-percent-when-downloading-CVE-db.patch new file mode 100644 index 000000000..0510e3ae0 --- /dev/null +++ b/import-layers/yocto-poky/meta/recipes-devtools/cve-check-tool/files/0001-print-progress-in-percent-when-downloading-CVE-db.patch @@ -0,0 +1,135 @@ +From e9ed26cde63f8ca7607a010a518329339f8c02d3 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Andr=C3=A9=20Draszik?= <git@andred.net> +Date: Mon, 26 Sep 2016 12:12:41 +0100 +Subject: [PATCH] print progress in percent when downloading CVE db +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Upstream-Status: Pending +Signed-off-by: André Draszik <git@andred.net> +--- + src/library/fetch.c | 28 +++++++++++++++++++++++++++- + src/library/fetch.h | 3 ++- + src/update.c | 16 ++++++++++++---- + 3 files changed, 41 insertions(+), 6 deletions(-) + +diff --git a/src/library/fetch.c b/src/library/fetch.c +index 06d4b30..0fe6d76 100644 +--- a/src/library/fetch.c ++++ b/src/library/fetch.c +@@ -37,13 +37,37 @@ static size_t write_func(void *ptr, size_t size, size_t nmemb, struct fetch_t *f + return fwrite(ptr, size, nmemb, f->f); + } + +-FetchStatus fetch_uri(const char *uri, const char *target, bool verbose) ++struct percent_t { ++ unsigned int start; ++ unsigned int end; ++}; ++ ++static int progress_callback_new(void *ptr, curl_off_t dltotal, curl_off_t dlnow, curl_off_t ultotal, curl_off_t ulnow) ++{ ++ (void) ultotal; ++ (void) ulnow; ++ ++ struct percent_t *percent = (struct percent_t *) ptr; ++ ++ if (dltotal && percent && percent->end >= percent->start) { ++ unsigned int diff = percent->end - percent->start; ++ if (diff) { ++ fprintf(stderr,"completed: "CURL_FORMAT_OFF_T"%%\r", percent->start + (diff * dlnow / dltotal)); ++ } ++ } ++ ++ return 0; ++} ++ ++FetchStatus fetch_uri(const char *uri, const char *target, bool verbose, ++ unsigned int start_percent, unsigned int end_percent) + { + FetchStatus ret = FETCH_STATUS_FAIL; + CURLcode res; + struct stat st; + CURL *curl = NULL; + struct fetch_t *f = NULL; ++ struct percent_t percent = { .start = start_percent, .end = end_percent }; + + curl = curl_easy_init(); + if (!curl) { +@@ -67,6 +91,8 @@ FetchStatus fetch_uri(const char *uri, const char *target, bool verbose) + } + if (verbose) { + (void)curl_easy_setopt(curl, CURLOPT_NOPROGRESS, 0L); ++ (void)curl_easy_setopt(curl, CURLOPT_XFERINFODATA, &percent); ++ (void)curl_easy_setopt(curl, CURLOPT_XFERINFOFUNCTION, progress_callback_new); + } + res = curl_easy_setopt(curl, CURLOPT_WRITEFUNCTION, (curl_write_callback)write_func); + if (res != CURLE_OK) { +diff --git a/src/library/fetch.h b/src/library/fetch.h +index 70c3779..4cce5d1 100644 +--- a/src/library/fetch.h ++++ b/src/library/fetch.h +@@ -28,7 +28,8 @@ typedef enum { + * @param verbose Whether to be verbose + * @return A FetchStatus, indicating the operation taken + */ +-FetchStatus fetch_uri(const char *uri, const char *target, bool verbose); ++FetchStatus fetch_uri(const char *uri, const char *target, bool verbose, ++ unsigned int this_percent, unsigned int next_percent); + + /** + * Attempt to extract the given gzipped file +diff --git a/src/update.c b/src/update.c +index 30fbe96..eaeeefd 100644 +--- a/src/update.c ++++ b/src/update.c +@@ -266,7 +266,8 @@ static inline void update_end(int fd, const char *update_fname, bool ok) + } + + static int do_fetch_update(int year, const char *db_dir, CveDB *cve_db, +- bool db_exist, bool verbose) ++ bool db_exist, bool verbose, ++ unsigned int this_percent, unsigned int next_percent) + { + const char nvd_uri[] = URI_PREFIX; + autofree(cve_string) *uri_meta = NULL; +@@ -330,14 +331,14 @@ refetch: + } + + /* Fetch NVD META file */ +- st = fetch_uri(uri_meta->str, nvdcve_meta->str, verbose); ++ st = fetch_uri(uri_meta->str, nvdcve_meta->str, verbose, this_percent, this_percent); + if (st == FETCH_STATUS_FAIL) { + fprintf(stderr, "Failed to fetch %s\n", uri_meta->str); + return -1; + } + + /* Fetch NVD XML file */ +- st = fetch_uri(uri_data_gz->str, nvdcve_data_gz->str, verbose); ++ st = fetch_uri(uri_data_gz->str, nvdcve_data_gz->str, verbose, this_percent, next_percent); + switch (st) { + case FETCH_STATUS_FAIL: + fprintf(stderr, "Failed to fetch %s\n", uri_data_gz->str); +@@ -459,10 +460,17 @@ bool update_db(bool quiet, const char *db_file) + for (int i = YEAR_START; i <= year+1; i++) { + int y = i > year ? -1 : i; + int rc; ++ unsigned int start_percent = ((i+0 - YEAR_START) * 100) / (year+2 - YEAR_START); ++ unsigned int end_percent = ((i+1 - YEAR_START) * 100) / (year+2 - YEAR_START); + +- rc = do_fetch_update(y, db_dir, cve_db, db_exist, !quiet); ++ if (!quiet) ++ fprintf(stderr, "completed: %u%%\r", start_percent); ++ rc = do_fetch_update(y, db_dir, cve_db, db_exist, !quiet, ++ start_percent, end_percent); + switch (rc) { + case 0: ++ if (!quiet) ++ fprintf(stderr,"completed: %u%%\r", end_percent); + continue; + case ENOMEM: + goto oom; +-- +2.9.3 + diff --git a/import-layers/yocto-poky/meta/recipes-devtools/cve-check-tool/files/check-for-malloc_trim-before-using-it.patch b/import-layers/yocto-poky/meta/recipes-devtools/cve-check-tool/files/check-for-malloc_trim-before-using-it.patch new file mode 100644 index 000000000..0774ad946 --- /dev/null +++ b/import-layers/yocto-poky/meta/recipes-devtools/cve-check-tool/files/check-for-malloc_trim-before-using-it.patch @@ -0,0 +1,51 @@ +From ce64633b9733e962b8d8482244301f614d8b5845 Mon Sep 17 00:00:00 2001 +From: Khem Raj <raj.khem@gmail.com> +Date: Mon, 22 Aug 2016 22:54:24 -0700 +Subject: [PATCH] Check for malloc_trim before using it + +malloc_trim is gnu specific and not all libc +implement it, threfore write a configure check +to poke for it first and use the define to +guard its use. + +Helps in compiling on musl based systems + +Signed-off-by: Khem Raj <raj.khem@gmail.com> +--- +Upstream-Status: Submitted [https://github.com/ikeydoherty/cve-check-tool/pull/48] + configure.ac | 2 ++ + src/core.c | 4 ++-- + 2 files changed, 4 insertions(+), 2 deletions(-) + +diff --git a/configure.ac b/configure.ac +index d3b66ce..79c3542 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -19,6 +19,8 @@ m4_define([json_required_version], [0.16.0]) + m4_define([openssl_required_version],[1.0.0]) + # TODO: Set minimum sqlite + ++AC_CHECK_FUNCS_ONCE(malloc_trim) ++ + PKG_CHECK_MODULES(CVE_CHECK_TOOL, + [ + glib-2.0 >= glib_required_version, +diff --git a/src/core.c b/src/core.c +index 6263031..0d5df29 100644 +--- a/src/core.c ++++ b/src/core.c +@@ -498,9 +498,9 @@ bool cve_db_load(CveDB *self, const char *fname) + } + + b = true; +- ++#ifdef HAVE_MALLOC_TRIM + malloc_trim(0); +- ++#endif + xmlFreeTextReader(r); + if (fd) { + close(fd); +-- +2.9.3 + diff --git a/import-layers/yocto-poky/meta/recipes-devtools/desktop-file-utils/desktop-file-utils-native_0.22.bb b/import-layers/yocto-poky/meta/recipes-devtools/desktop-file-utils/desktop-file-utils-native_0.23.bb index f899cd2f1..54daabef5 100644 --- a/import-layers/yocto-poky/meta/recipes-devtools/desktop-file-utils/desktop-file-utils-native_0.22.bb +++ b/import-layers/yocto-poky/meta/recipes-devtools/desktop-file-utils/desktop-file-utils-native_0.23.bb @@ -8,8 +8,8 @@ DEPENDS = "glib-2.0-native" SRC_URI = "http://freedesktop.org/software/desktop-file-utils/releases/desktop-file-utils-${PV}.tar.xz" -SRC_URI[md5sum] = "c6b9f9aac1ea143091178c23437e6cd0" -SRC_URI[sha256sum] = "843532672692f98e9b2d6ae6cc8658da562dfde1606c7f33d9d227a344de56c5" +SRC_URI[md5sum] = "599133d51cc9a41bfec186414906b6f1" +SRC_URI[sha256sum] = "6c094031bdec46c9f621708f919084e1cb5294e2c5b1e4c883b3e70cb8903385" inherit autotools native diff --git a/import-layers/yocto-poky/meta/recipes-devtools/distcc/distcc_3.1.bb b/import-layers/yocto-poky/meta/recipes-devtools/distcc/distcc_3.2.bb index f8879c87c..c084ad2b7 100644 --- a/import-layers/yocto-poky/meta/recipes-devtools/distcc/distcc_3.1.bb +++ b/import-layers/yocto-poky/meta/recipes-devtools/distcc/distcc_3.2.bb @@ -5,31 +5,28 @@ SECTION = "devel" LICENSE = "GPLv2" LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f" -DEPENDS = "avahi" +DEPENDS = "avahi binutils" -GTKCONFIG = "gtk" -GTKCONFIG_libc-uclibc = "" - -PACKAGECONFIG ??= "${@bb.utils.contains('DISTRO_FEATURES', 'x11', '${GTKCONFIG}', '', d)} popt" +PACKAGECONFIG ??= "popt" PACKAGECONFIG[gtk] = "--with-gtk,--without-gtk --without-gnome,gtk+" # use system popt by default PACKAGECONFIG[popt] = "--without-included-popt,--with-included-popt,popt" RRECOMMENDS_${PN} = "avahi-daemon" -SRC_URI = "git://github.com/distcc/distcc.git \ +SRC_URI = "git://github.com/distcc/distcc.git;branch=${PV} \ file://separatebuilddir.patch \ file://0001-zeroconf-Include-fcntl.h.patch \ file://default \ file://distccmon-gnome.desktop \ file://distcc \ file://distcc.service" -SRCREV = "9a172d3d20042754a30c0cd9a5d63fd1a8120c31" +SRCREV = "d8b18df3e9dcbe4f092bed565835d3975e99432c" S = "${WORKDIR}/git" inherit autotools pkgconfig update-rc.d useradd systemd -EXTRA_OECONF += "--disable-Werror PYTHON=/dev/null" +EXTRA_OECONF += "--disable-Werror PYTHON='' --disable-pump-mode" USERADD_PACKAGES = "${PN}" USERADD_PARAM_${PN} = "--system \ diff --git a/import-layers/yocto-poky/meta/recipes-devtools/distcc/files/separatebuilddir.patch b/import-layers/yocto-poky/meta/recipes-devtools/distcc/files/separatebuilddir.patch index b9e3e42dd..7580b5584 100644 --- a/import-layers/yocto-poky/meta/recipes-devtools/distcc/files/separatebuilddir.patch +++ b/import-layers/yocto-poky/meta/recipes-devtools/distcc/files/separatebuilddir.patch @@ -6,16 +6,16 @@ RP 2013/3/8 Upstream-Status: Pending -Index: distcc-3.1/Makefile.in +Index: git/Makefile.in =================================================================== ---- distcc-3.1.orig/Makefile.in 2008-12-02 21:50:31.000000000 +0000 -+++ distcc-3.1/Makefile.in 2013-03-08 10:49:24.224400937 +0000 -@@ -1088,7 +1088,7 @@ +--- git.orig/Makefile.in ++++ git/Makefile.in +@@ -1117,7 +1117,7 @@ install-example: $(example_DOCS) install-gnome-data: $(gnome_data) $(mkinstalldirs) "$(DESTDIR)$(pkgdatadir)" - for p in $(gnome_data); do \ -- $(INSTALL_DATA) "$$p" "$(DESTDIR)$(pkgdatadir)" || exit 1; \ -+ $(INSTALL_DATA) "$(srcdir)/$$p" "$(DESTDIR)$(pkgdatadir)" || exit 1; \ + for p in $(gnome_data); do \ +- $(INSTALL_DATA) "$$p" "$(DESTDIR)$(pkgdatadir)" || exit 1; \ ++ $(INSTALL_DATA) "$(srcdir)/$$p" "$(DESTDIR)$(pkgdatadir)" || exit 1; \ done install-conf: $(conf_files) $(default_files) diff --git a/import-layers/yocto-poky/meta/recipes-devtools/docbook-xml/docbook-xml-dtd4_4.5.bb b/import-layers/yocto-poky/meta/recipes-devtools/docbook-xml/docbook-xml-dtd4_4.5.bb index de1bc3970..2f13dba52 100644 --- a/import-layers/yocto-poky/meta/recipes-devtools/docbook-xml/docbook-xml-dtd4_4.5.bb +++ b/import-layers/yocto-poky/meta/recipes-devtools/docbook-xml/docbook-xml-dtd4_4.5.bb @@ -11,7 +11,7 @@ LIC_FILES_CHKSUM = "file://${WORKDIR}/LICENSE-OASIS;md5=c608985dd5f7f215e669e763 # Note: the upstream sources are not distributed with a license file. # LICENSE-OASIS is included as a "patch" to workaround this. When # upgrading this recipe, please verify whether this is still needed. -SRC_URI = "${DEBIAN_MIRROR}/main/d/docbook-xml/docbook-xml_${PV}.orig.tar.gz \ +SRC_URI = "http://snapshot.debian.org/archive/debian/20160728T043443Z/pool/main/d/docbook-xml/docbook-xml_${PV}.orig.tar.gz \ file://LICENSE-OASIS \ file://docbook-xml-update-catalog.xml.patch \ file://docbook-xml.xml \ @@ -20,6 +20,8 @@ SRC_URI = "${DEBIAN_MIRROR}/main/d/docbook-xml/docbook-xml_${PV}.orig.tar.gz \ SRC_URI[md5sum] = "487b4d44e15cffb1f4048af23f98208e" SRC_URI[sha256sum] = "b0f8edcf697f5318e63dd98c9a931f3fee167af0805ba441db372e0f17b2a44f" +UPSTREAM_CHECK_URI = "${DEBIAN_MIRROR}/main/d/docbook-xml/" + S="${WORKDIR}/docbook-xml-4.5.c31424" inherit allarch diff --git a/import-layers/yocto-poky/meta/recipes-devtools/docbook-xml/docbook-xsl-stylesheets/docbook-xsl.xml b/import-layers/yocto-poky/meta/recipes-devtools/docbook-xml/docbook-xsl-stylesheets/docbook-xsl.xml index a1a576a2e..c60555ae1 100644 --- a/import-layers/yocto-poky/meta/recipes-devtools/docbook-xml/docbook-xsl-stylesheets/docbook-xsl.xml +++ b/import-layers/yocto-poky/meta/recipes-devtools/docbook-xml/docbook-xsl-stylesheets/docbook-xsl.xml @@ -1,6 +1,6 @@ <?xml version="1.0"?> <!DOCTYPE catalog PUBLIC "-//OASIS//DTD Entity Resolution XML Catalog V1.0//EN" "http://www.oasis-open.org/committees/entity/release/1.0/catalog.dtd"> <catalog xmlns="urn:oasis:names:tc:entity:xmlns:xml:catalog"> -<delegateURI uriStartString="http://docbook.sourceforge.net/release/xsl/" catalog="file:///usr/share/xml/docbook/xsl-stylesheets-1.78.1/catalog.xml"/> -<delegateSystem systemIdStartString="http://docbook.sourceforge.net/release/xsl/" catalog="file:///usr/share/xml/docbook/xsl-stylesheets-1.78.1/catalog.xml"/> +<delegateURI uriStartString="http://docbook.sourceforge.net/release/xsl/" catalog="file:///usr/share/xml/docbook/xsl-stylesheets/catalog.xml"/> +<delegateSystem systemIdStartString="http://docbook.sourceforge.net/release/xsl/" catalog="file:///usr/share/xml/docbook/xsl-stylesheets/catalog.xml"/> </catalog> diff --git a/import-layers/yocto-poky/meta/recipes-devtools/docbook-xml/docbook-xsl-stylesheets_1.78.1.bb b/import-layers/yocto-poky/meta/recipes-devtools/docbook-xml/docbook-xsl-stylesheets_1.79.1.bb index 52de3ab04..aa03a82a2 100644 --- a/import-layers/yocto-poky/meta/recipes-devtools/docbook-xml/docbook-xsl-stylesheets_1.78.1.bb +++ b/import-layers/yocto-poky/meta/recipes-devtools/docbook-xml/docbook-xsl-stylesheets_1.79.1.bb @@ -1,15 +1,15 @@ SUMMARY = "XSL stylesheets for processing DocBook XML to various output formats" HOMEPAGE = "http://docbook.sourceforge.net" LICENSE = "XSL" -LIC_FILES_CHKSUM = "file://COPYING;md5=a6eeeed43d498c22a835382533356462" +LIC_FILES_CHKSUM = "file://COPYING;md5=6beadd98f9c54ab0c387e14211ee4d0e" SRC_URI = "${SOURCEFORGE_MIRROR}/docbook/docbook-xsl-${PV}.tar.bz2 \ file://docbook-xsl.xml \ file://docbook-xsl-stylesheets-no-bashism-in-docbook-xsl-up.patch \ " -SRC_URI[md5sum] = "6dd0f89131cc35bf4f2ed105a1c17771" -SRC_URI[sha256sum] = "c98f7296ab5c8ccd2e0bc07634976a37f50847df2d8a59bdb1e157664700b467" +SRC_URI[md5sum] = "b48cbf929a2ad85e6672f710777ca7bc" +SRC_URI[sha256sum] = "725f452e12b296956e8bfb876ccece71eeecdd14b94f667f3ed9091761a4a968" UPSTREAM_CHECK_URI = "http://sourceforge.net/projects/docbook/files/docbook-xsl/" # Reject versions ending in .0 as those are release candidates @@ -37,18 +37,18 @@ do_install () { install -v -m755 -d ${D}${datadir}/xml/docbook/xsl-stylesheets-${PV} ln -s xsl-stylesheets-${PV} ${D}${datadir}/xml/docbook/xsl-stylesheets - cp -v -R VERSION common eclipse epub extensions fo highlighting html \ - htmlhelp images javahelp lib manpages params profiling \ - roundtrip slides template tests tools webhelp website \ - xhtml xhtml-1_1 catalog.xml \ - ${D}${datadir}/xml/docbook/xsl-stylesheets-1.78.1 + cp -v -R VERSION assembly common eclipse epub epub3 fo \ + highlighting html htmlhelp images javahelp lib manpages \ + params profiling roundtrip slides template webhelp website \ + xhtml xhtml-1_1 xhtml5 catalog.xml \ + ${D}${datadir}/xml/docbook/xsl-stylesheets-${PV} - ln -s VERSION ${D}/${datadir}/xml/docbook/xsl-stylesheets-1.78.1/VERSION.xsl + ln -s VERSION ${D}/${datadir}/xml/docbook/xsl-stylesheets-${PV}/VERSION.xsl install -v -m644 -D README \ - ${D}${datadir}/doc/docbook-xsl-1.78.1/README.txt + ${D}${datadir}/doc/docbook-xsl-${PV}/README.txt install -v -m644 RELEASE-NOTES* NEWS* \ - ${D}${datadir}/doc/docbook-xsl-1.78.1 + ${D}${datadir}/doc/docbook-xsl-${PV} install -d ${D}${sysconfdir}/xml/ install -m 755 ${WORKDIR}/docbook-xsl.xml ${D}${sysconfdir}/xml/docbook-xsl.xml diff --git a/import-layers/yocto-poky/meta/recipes-devtools/dosfstools/dosfstools/0001-mkfs.fat-fix-incorrect-int-type.patch b/import-layers/yocto-poky/meta/recipes-devtools/dosfstools/dosfstools/0001-mkfs.fat-fix-incorrect-int-type.patch deleted file mode 100644 index 3497ca540..000000000 --- a/import-layers/yocto-poky/meta/recipes-devtools/dosfstools/dosfstools/0001-mkfs.fat-fix-incorrect-int-type.patch +++ /dev/null @@ -1,46 +0,0 @@ -From 3b95786af13e28157d889bd90a384ee255f2d91d Mon Sep 17 00:00:00 2001 -From: "Yann E. MORIN" <yann.morin.1998@free.fr> -Date: Sun, 16 Aug 2015 15:55:43 +0200 -Subject: [PATCH] mkfs.fat: fix incorrect int type - -u_int32_t is not a stanard type, while uint32_t is. This fixes builds -with the musl C library, which only defines so-called "clean" headers; -build failures are like (back-quotes and elision manually added for -readability): - - http://autobuild.buildroot.org/results/a09/a0923d7f6d4dbae02eba4c5024bbdae3a52aa85a/build-end.log - - /home/peko/autobuild/instance-1/output/host/usr/bin/x86_64-linux-gcc -D_LARGEFILE_SOURCE \ - -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Os -D_GNU_SOURCE -D_LARGEFILE_SOURCE \ - -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -c -o mkfs.fat.o src/mkfs.fat.c - src/mkfs.fat.c: In function 'main': - src/mkfs.fat.c:1415:18: error: 'u_int32_t' undeclared (first use in this function) - volume_id = (u_int32_t) ((create_timeval.tv_sec << 20) | create_timeval.tv_usec); [...] - ^ - src/mkfs.fat.c:1415:18: note: each undeclared identifier is reported only once for each - function it appears in - -Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr> -Signed-off-by: Andreas Bombe <aeb@debian.org> ---- -Upstream-Status: Backport - - src/mkfs.fat.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/src/mkfs.fat.c b/src/mkfs.fat.c -index b38d116..dddbe24 100644 ---- a/src/mkfs.fat.c -+++ b/src/mkfs.fat.c -@@ -1412,7 +1412,7 @@ int main(int argc, char **argv) - - gettimeofday(&create_timeval, NULL); - create_time = create_timeval.tv_sec; -- volume_id = (u_int32_t) ((create_timeval.tv_sec << 20) | create_timeval.tv_usec); /* Default volume ID = creation time, fudged for more uniqueness */ -+ volume_id = (uint32_t) ((create_timeval.tv_sec << 20) | create_timeval.tv_usec); /* Default volume ID = creation time, fudged for more uniqueness */ - check_atari(); - - printf("mkfs.fat " VERSION " (" VERSION_DATE ")\n"); --- -2.7.0 - diff --git a/import-layers/yocto-poky/meta/recipes-devtools/dosfstools/dosfstools/largefile.patch b/import-layers/yocto-poky/meta/recipes-devtools/dosfstools/dosfstools/largefile.patch deleted file mode 100644 index 7f7d8359d..000000000 --- a/import-layers/yocto-poky/meta/recipes-devtools/dosfstools/dosfstools/largefile.patch +++ /dev/null @@ -1,19 +0,0 @@ -defer setting largefile flags to build makery -in a cross build we can not do runtime config tests - -Signed-off-by: Khem Raj <raj.khem@gmail.com> -Upstream-Status: Inappropriate[Cross compile Specific] -Index: dosfstools-3.0.28/Makefile -=================================================================== ---- dosfstools-3.0.28.orig/Makefile -+++ dosfstools-3.0.28/Makefile -@@ -27,8 +27,7 @@ SBINDIR = $(PREFIX)/sbin - DOCDIR = $(PREFIX)/share/doc - MANDIR = $(PREFIX)/share/man - --#OPTFLAGS = -O2 -fomit-frame-pointer -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 --OPTFLAGS = -O2 -fomit-frame-pointer -D_GNU_SOURCE $(shell getconf LFS_CFLAGS) -+OPTFLAGS = -O2 -fomit-frame-pointer - #WARNFLAGS = -Wall -pedantic -std=c99 - WARNFLAGS = -Wall -Wextra -Wno-sign-compare -Wno-missing-field-initializers -Wmissing-prototypes -Wstrict-prototypes -Wwrite-strings - DEBUGFLAGS = -g diff --git a/import-layers/yocto-poky/meta/recipes-devtools/dosfstools/dosfstools_3.0.28.bb b/import-layers/yocto-poky/meta/recipes-devtools/dosfstools/dosfstools_4.0.bb index 6fc3e41df..e7b1f6109 100644 --- a/import-layers/yocto-poky/meta/recipes-devtools/dosfstools/dosfstools_3.0.28.bb +++ b/import-layers/yocto-poky/meta/recipes-devtools/dosfstools/dosfstools_4.0.bb @@ -9,23 +9,17 @@ SECTION = "base" LICENSE = "GPLv3" LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504" -SRC_URI = "https://github.com/dosfstools/dosfstools/releases/download/v3.0.28/dosfstools-3.0.28.tar.xz \ - file://largefile.patch \ - file://0001-mkfs.fat-fix-incorrect-int-type.patch \ +SRC_URI = "https://github.com/dosfstools/dosfstools/releases/download/v${PV}/${BP}.tar.xz \ " -SRC_URI[md5sum] = "6a047a6c65186b9ebb1853709adb36db" -SRC_URI[sha256sum] = "ee95913044ecf2719b63ea11212917649709a6e53209a72d622135aaa8517ee2" +SRC_URI[md5sum] = "20f8388b99702f276c973d228c7cff45" +SRC_URI[sha256sum] = "9037738953559d1efe04fc5408b6846216cc0138f7f9d32de80b6ec3c35e7daf" UPSTREAM_CHECK_URI = "https://github.com/dosfstools/dosfstools/releases" -CFLAGS += "-D_GNU_SOURCE ${@bb.utils.contains('DISTRO_FEATURES', 'largefile', '-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64', '', d)}" +inherit autotools pkgconfig -FILES_${PN} = "${base_sbindir}" -FILES_${PN}-doc = "${mandir} ${docdir}" +EXTRA_OECONF = "--without-udev --enable-compat-symlinks" -do_install () { - oe_runmake "PREFIX=${D}${prefix}" "SBINDIR=${D}${base_sbindir}" \ - "MANDIR=${D}${mandir}" "DOCDIR=${D}${docdir}" install -} +CFLAGS += "-D_GNU_SOURCE ${@bb.utils.contains('DISTRO_FEATURES', 'largefile', '-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64', '', d)}" BBCLASSEXTEND = "native" diff --git a/import-layers/yocto-poky/meta/recipes-devtools/dpkg/dpkg.inc b/import-layers/yocto-poky/meta/recipes-devtools/dpkg/dpkg.inc index 3d9e7e305..e8d8a9b4f 100644 --- a/import-layers/yocto-poky/meta/recipes-devtools/dpkg/dpkg.inc +++ b/import-layers/yocto-poky/meta/recipes-devtools/dpkg/dpkg.inc @@ -2,15 +2,13 @@ SUMMARY = "Package maintenance system from Debian" LICENSE = "GPLv2.0+" SECTION = "base" -SRC_URI = "${DEBIAN_MIRROR}/main/d/dpkg/dpkg_${PV}.tar.xz" - -SRC_URI_append_class-native = " file://0001-When-running-do_package_write_deb-we-have-trees-of-h.patch" - DEPENDS = "zlib bzip2 perl ncurses" DEPENDS_class-native = "bzip2-replacement-native zlib-native virtual/update-alternatives-native gettext-native perl-native" RDEPENDS_${PN} = "${VIRTUAL-RUNTIME_update-alternatives} xz run-postinsts perl" RDEPENDS_${PN}_class-native = "xz-native" +UPSTREAM_CHECK_URI = "${DEBIAN_MIRROR}/main/d/dpkg/" + inherit autotools gettext perlnative pkgconfig systemd python () { @@ -35,6 +33,7 @@ EXTRA_OECONF = "\ " EXTRA_OECONF += "TAR=tar" +EXTRA_OECONF_append_class-target = " DEB_HOST_ARCH=${DPKG_ARCH}" do_configure () { echo >> ${S}/m4/compiler.m4 @@ -74,6 +73,14 @@ RPROVIDES_update-alternatives-dpkg += "update-alternatives" PACKAGES += "${PN}-perl" FILES_${PN}-perl = "${libdir}/perl" -BBCLASSEXTEND = "native" +# Split out start-stop-daemon to its own package. Note that it +# is installed in a different directory than the one used for +# the bitbake version. +# +PACKAGES =+ "${PN}-start-stop" +FILES_${PN}-start-stop = "${sbindir}/start-stop-daemon" + +RDEPENDS_${PN} += "${PN}-start-stop" +BBCLASSEXTEND = "native" diff --git a/import-layers/yocto-poky/meta/recipes-devtools/dpkg/dpkg/0001-When-running-do_package_write_deb-we-have-trees-of-h.patch b/import-layers/yocto-poky/meta/recipes-devtools/dpkg/dpkg/0001-When-running-do_package_write_deb-we-have-trees-of-h.patch deleted file mode 100644 index 49ef853ff..000000000 --- a/import-layers/yocto-poky/meta/recipes-devtools/dpkg/dpkg/0001-When-running-do_package_write_deb-we-have-trees-of-h.patch +++ /dev/null @@ -1,71 +0,0 @@ -From e391bdba238d1371fc5b67cdae08b06eb5ada5c2 Mon Sep 17 00:00:00 2001 -From: Alexander Kanavin <alex.kanavin@gmail.com> -Date: Wed, 26 Aug 2015 15:48:13 +0300 -Subject: [PATCH] When running do_package_write_deb, we have trees of - hardlinked files such as the dbg source files in ${PN}-dbg. If something - makes another copy of one of those files (or deletes one), the number of - links a file has changes and tar can notice this, e.g.: - -| DEBUG: Executing python function do_package_deb -| dpkg-deb: building package `sed-ptest' in `/media/build1/poky/build/tmp/work/i586-poky-linux/sed/4.2.2-r0/deploy-debs/i586/sed-ptest_4.2.2-r0.3_i386.deb'. -| tar: ./usr/lib/sed/ptest/testsuite/tst-regex2: file changed as we read it -| dpkg-deb: error: subprocess tar -cf returned error exit status 1 - -Tar returns an error of 1 when files 'change' and other errors codes -in other error cases. We tweak dpkg-deb here so that it ignores an exit -code of 1 from tar. The files don't really change (and we have locking in -place to avoid that kind of issue). - -Upstream-Status: Inappropriate -RP 2015/3/27 ---- - dpkg-deb/build.c | 12 ++++++++---- - 1 file changed, 8 insertions(+), 4 deletions(-) - -diff --git a/dpkg-deb/build.c b/dpkg-deb/build.c -index 2ddeec6..af363f0 100644 ---- a/dpkg-deb/build.c -+++ b/dpkg-deb/build.c -@@ -452,7 +452,7 @@ static void - tarball_pack(const char *dir, filenames_feed_func *tar_filenames_feeder, - struct compress_params *tar_compress_params, int fd_out) - { -- int pipe_filenames[2], pipe_tarball[2]; -+ int pipe_filenames[2], pipe_tarball[2], rc; - pid_t pid_tar, pid_comp; - - /* Fork off a tar. We will feed it a list of filenames on stdin later. */ -@@ -493,7 +493,9 @@ tarball_pack(const char *dir, filenames_feed_func *tar_filenames_feeder, - /* All done, clean up wait for tar and <compress> to finish their job. */ - close(pipe_filenames[1]); - subproc_reap(pid_comp, _("<compress> from tar -cf"), 0); -- subproc_reap(pid_tar, "tar -cf", 0); -+ rc = subproc_reap(pid_tar, "tar -cf", SUBPROC_RETERROR); -+ if (rc && rc != 1) -+ ohshite(_("subprocess %s returned error exit status %d"), "tar -cf", rc); - } - - /** -@@ -509,7 +511,7 @@ do_build(const char *const *argv) - char *debar; - char *tfbuf; - int arfd; -- int p1[2], gzfd; -+ int p1[2], gzfd, rc; - pid_t c1, c2; - - /* Decode our arguments. */ -@@ -590,7 +592,9 @@ do_build(const char *const *argv) - } - close(p1[0]); - subproc_reap(c2, _("<compress> from tar -cf"), 0); -- subproc_reap(c1, "tar -cf", 0); -+ rc = subproc_reap(c1, "tar -cf", SUBPROC_RETERROR); -+ if (rc && rc != 1) -+ ohshite(_("subprocess %s returned error exit status %d"), "tar -cf", rc); - - if (lseek(gzfd, 0, SEEK_SET)) - ohshite(_("failed to rewind temporary file (%s)"), _("control member")); --- -2.7.0 - diff --git a/import-layers/yocto-poky/meta/recipes-devtools/dpkg/dpkg/0003-Our-pre-postinsts-expect-D-to-be-set-when-running-in.patch b/import-layers/yocto-poky/meta/recipes-devtools/dpkg/dpkg/0003-Our-pre-postinsts-expect-D-to-be-set-when-running-in.patch index 9f77c6c99..80504ce8b 100644 --- a/import-layers/yocto-poky/meta/recipes-devtools/dpkg/dpkg/0003-Our-pre-postinsts-expect-D-to-be-set-when-running-in.patch +++ b/import-layers/yocto-poky/meta/recipes-devtools/dpkg/dpkg/0003-Our-pre-postinsts-expect-D-to-be-set-when-running-in.patch @@ -8,30 +8,41 @@ Subject: [PATCH 3/5] Our pre/postinsts expect $D to be set when running in a Upstream-Status: Inappropriate [OE Specific] RP 2011/12/07 +ALIMON 2016/05/26 + --- - src/script.c | 31 ++----------------------------- - 1 file changed, 2 insertions(+), 29 deletions(-) + src/script.c | 39 +++------------------------------------ + 1 file changed, 3 insertions(+), 36 deletions(-) diff --git a/src/script.c b/src/script.c -index a958145..24c49f9 100644 +index 3c88be8..ce66a86 100644 --- a/src/script.c +++ b/src/script.c -@@ -100,36 +100,9 @@ maintscript_pre_exec(struct command *cmd) - size_t instdirl = strlen(instdir); - - if (*instdir) { +@@ -97,43 +97,10 @@ setexecute(const char *path, struct stat *stab) + static const char * + maintscript_pre_exec(struct command *cmd) + { +- const char *admindir = dpkg_db_get_dir(); +- const char *changedir = fc_script_chrootless ? instdir : "/"; +- size_t instdirl = strlen(instdir); +- +- if (*instdir && !fc_script_chrootless) { - if (strncmp(admindir, instdir, instdirl) != 0) - ohshit(_("admindir must be inside instdir for dpkg to work properly")); - if (setenv("DPKG_ADMINDIR", admindir + instdirl, 1) < 0) - ohshite(_("unable to setenv for subprocesses")); +- if (setenv("DPKG_ROOT", "", 1) < 0) +- ohshite(_("unable to setenv for subprocesses")); - - if (chroot(instdir)) - ohshite(_("failed to chroot to '%.250s'"), instdir); -- } ++ if (*instdir) { ++ setenv("D", instdir, 1); + } - /* Switch to a known good directory to give the maintainer script - * a saner environment, also needed after the chroot(). */ -- if (chdir("/")) -- ohshite(_("failed to chdir to '%.255s'"), "/"); +- if (chdir(changedir)) +- ohshite(_("failed to chdir to '%.255s'"), changedir); - if (debug_has_flag(dbg_scripts)) { - struct varbuf args = VARBUF_INIT; - const char **argv = cmd->argv; @@ -44,9 +55,8 @@ index a958145..24c49f9 100644 - debug(dbg_scripts, "fork/exec %s (%s )", cmd->filename, - args.buf); - varbuf_destroy(&args); -+ setenv("D", instdir, 1); - } -- if (!instdirl) +- } +- if (!instdirl || fc_script_chrootless) - return cmd->filename; - - assert(strlen(cmd->filename) >= instdirl); diff --git a/import-layers/yocto-poky/meta/recipes-devtools/dpkg/dpkg/add_armeb_triplet_entry.patch b/import-layers/yocto-poky/meta/recipes-devtools/dpkg/dpkg/add_armeb_triplet_entry.patch index af275dec1..dc69eb2d1 100644 --- a/import-layers/yocto-poky/meta/recipes-devtools/dpkg/dpkg/add_armeb_triplet_entry.patch +++ b/import-layers/yocto-poky/meta/recipes-devtools/dpkg/dpkg/add_armeb_triplet_entry.patch @@ -25,14 +25,22 @@ Upstream-Status: Pending Signed-off-by: Krishnanjanappa, Jagadeesh <jagadeesh.krishnanjanappa@caviumnetworks.com> -diff -Naurp dpkg-1.17.21_org/triplettable dpkg-1.17.21/triplettable ---- dpkg-1.17.21_org/triplettable 2015-04-08 17:08:52.370759171 +0530 -+++ dpkg-1.17.21/triplettable 2015-04-08 17:09:12.406752081 +0530 -@@ -9,6 +9,7 @@ musleabihf-linux-arm musl-linux-armhf - musl-linux-<cpu> musl-linux-<cpu> - gnueabihf-linux-arm armhf +--- + triplettable | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/triplettable b/triplettable +index abe4726..1e9c247 100644 +--- a/triplettable ++++ b/triplettable +@@ -11,6 +11,7 @@ gnueabihf-linux-arm armhf gnueabi-linux-arm armel + gnuabin32-linux-mips64r6el mipsn32r6el + gnuabin32-linux-mips64r6 mipsn32r6 +gnueabi-linux-armeb armeb gnuabin32-linux-mips64el mipsn32el gnuabin32-linux-mips64 mipsn32 - gnuabi64-linux-mips64el mips64el + gnuabi64-linux-mips64r6el mips64r6el +-- +2.1.4 + diff --git a/import-layers/yocto-poky/meta/recipes-devtools/dpkg/dpkg/fix-abs-redefine.patch b/import-layers/yocto-poky/meta/recipes-devtools/dpkg/dpkg/fix-abs-redefine.patch deleted file mode 100644 index e73311c29..000000000 --- a/import-layers/yocto-poky/meta/recipes-devtools/dpkg/dpkg/fix-abs-redefine.patch +++ /dev/null @@ -1,40 +0,0 @@ -Upstream-Status: Pending - -dpkg defines: -#define DPKG_BEGIN_DECLS extern "C" { - -That makes header cstdlib included in a extern "C" block which is not supported -by gcc 4.8. It fails on Fedora 19: - -/usr/include/c++/4.8.1/cstdlib: In function ‘long long int std::abs(long long int)’: -/usr/include/c++/4.8.1/cstdlib:174:20: error: declaration of C function ‘long long int std::abs(long long int)’ conflicts with - abs(long long __x) { return __builtin_llabs (__x); } - ^ -/usr/include/c++/4.8.1/cstdlib:166:3: error: previous declaration ‘long int std::abs(long int)’ here - abs(long __i) { return __builtin_labs(__i); } - ^ - -Move include gettext.h out of the extern "C" block to fix this issue. - -Signed-off-by: Kai Kang <kai.kang@windriver.com> - ---- dpkg-1.17.1/lib/dpkg/i18n.h.orig 2013-08-13 17:31:28.870935573 +0800 -+++ dpkg-1.17.1/lib/dpkg/i18n.h 2013-08-13 17:31:37.893065249 +0800 -@@ -23,8 +23,6 @@ - - #include <dpkg/macros.h> - --DPKG_BEGIN_DECLS -- - /** - * @defgroup i18n Internationalization support - * @ingroup dpkg-internal -@@ -33,6 +31,8 @@ - - #include <gettext.h> - -+DPKG_BEGIN_DECLS -+ - /* We need to include this because pgettext() uses LC_MESSAGES, but libintl.h - * which gets pulled by gettext.h only includes it if building optimized. */ - #include <locale.h> diff --git a/import-layers/yocto-poky/meta/recipes-devtools/dpkg/dpkg_1.18.4.bb b/import-layers/yocto-poky/meta/recipes-devtools/dpkg/dpkg_1.18.4.bb deleted file mode 100644 index 7876944d6..000000000 --- a/import-layers/yocto-poky/meta/recipes-devtools/dpkg/dpkg_1.18.4.bb +++ /dev/null @@ -1,20 +0,0 @@ -require dpkg.inc -LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe" - -SRC_URI_append_class-native =" file://glibc2.5-sync_file_range.patch " -SRC_URI += "file://noman.patch \ - file://remove-tar-no-timestamp.patch \ - file://fix-abs-redefine.patch \ - file://arch_pm.patch \ - file://dpkg-configure.service \ - file://add_armeb_triplet_entry.patch \ - file://0002-Adapt-to-linux-wrs-kernel-version-which-has-characte.patch \ - file://0003-Our-pre-postinsts-expect-D-to-be-set-when-running-in.patch \ - file://0004-The-lutimes-function-doesn-t-work-properly-for-all-s.patch \ - file://0005-dpkg-compiler.m4-remove-Wvla.patch \ - file://0006-add-musleabi-to-known-target-tripets.patch \ - " - -SRC_URI[md5sum] = "e95b513c89693f6ec3ab53b6b1c3defd" -SRC_URI[sha256sum] = "fe89243868888ce715bf45861f26264f767d4e4dbd0d6f1a26ce60bbbbf106da" - diff --git a/import-layers/yocto-poky/meta/recipes-devtools/dpkg/dpkg_1.18.7.bb b/import-layers/yocto-poky/meta/recipes-devtools/dpkg/dpkg_1.18.7.bb new file mode 100644 index 000000000..28fdc136a --- /dev/null +++ b/import-layers/yocto-poky/meta/recipes-devtools/dpkg/dpkg_1.18.7.bb @@ -0,0 +1,19 @@ +require dpkg.inc +LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe" + +SRC_URI = "http://snapshot.debian.org/archive/debian/20160509T100042Z/pool/main/d/${BPN}/${BPN}_${PV}.tar.xz \ + file://noman.patch \ + file://remove-tar-no-timestamp.patch \ + file://arch_pm.patch \ + file://dpkg-configure.service \ + file://add_armeb_triplet_entry.patch \ + file://0002-Adapt-to-linux-wrs-kernel-version-which-has-characte.patch \ + file://0003-Our-pre-postinsts-expect-D-to-be-set-when-running-in.patch \ + file://0004-The-lutimes-function-doesn-t-work-properly-for-all-s.patch \ + file://0005-dpkg-compiler.m4-remove-Wvla.patch \ + file://0006-add-musleabi-to-known-target-tripets.patch \ + " +SRC_URI_append_class-native = " file://glibc2.5-sync_file_range.patch " + +SRC_URI[md5sum] = "073dbf2129a54b0fc627464bf8af4a1b" +SRC_URI[sha256sum] = "ace36d3a6dc750a42baf797f9e75ec580a21f92bb9ff96b482100755d6d9b87b" diff --git a/import-layers/yocto-poky/meta/recipes-devtools/e2fsprogs/e2fsprogs.inc b/import-layers/yocto-poky/meta/recipes-devtools/e2fsprogs/e2fsprogs.inc index 09e4ea5bb..74e92f6b1 100644 --- a/import-layers/yocto-poky/meta/recipes-devtools/e2fsprogs/e2fsprogs.inc +++ b/import-layers/yocto-poky/meta/recipes-devtools/e2fsprogs/e2fsprogs.inc @@ -9,7 +9,7 @@ LICENSE_e2fsprogs-mke2fs = "GPLv2" LICENSE_e2fsprogs-fsck = "GPLv2" LICENSE_e2fsprogs-tune2fs = "GPLv2" LICENSE_e2fsprogs-badblocks = "GPLv2" -LIC_FILES_CHKSUM = "file://COPYING;md5=b48f21d765b875bd10400975d12c1ca2 \ +LIC_FILES_CHKSUM = "file://NOTICE;md5=b48f21d765b875bd10400975d12c1ca2 \ file://lib/ext2fs/ext2fs.h;beginline=1;endline=9;md5=596a8dedcb4e731c6b21c7a46fba6bef \ file://lib/e2p/e2p.h;beginline=1;endline=7;md5=8a74ade8f9d65095d70ef2d4bf48e36a \ file://lib/uuid/uuid.h.in;beginline=1;endline=32;md5=dbb8079e114a5f841934b99e59c8820a \ diff --git a/import-layers/yocto-poky/meta/recipes-devtools/e2fsprogs/e2fsprogs/Revert-mke2fs-enable-the-metadata_csum-and-64bit-fea.patch b/import-layers/yocto-poky/meta/recipes-devtools/e2fsprogs/e2fsprogs/Revert-mke2fs-enable-the-metadata_csum-and-64bit-fea.patch index 656fb6efb..e66cd4d1a 100644 --- a/import-layers/yocto-poky/meta/recipes-devtools/e2fsprogs/e2fsprogs/Revert-mke2fs-enable-the-metadata_csum-and-64bit-fea.patch +++ b/import-layers/yocto-poky/meta/recipes-devtools/e2fsprogs/e2fsprogs/Revert-mke2fs-enable-the-metadata_csum-and-64bit-fea.patch @@ -9,26 +9,31 @@ don't want to enable features by default that are not supported by the latest stable e2fsprogs release. Upstream-Status: Inappropriate [configuration] - Signed-off-by: Jonathan Liu <net147@gmail.com> + +Rebase to 1.43: +The upstream has disabled metadata_csum by default +this rebase just revert 64bit feature. +Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com> --- misc/mke2fs.conf.in | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/misc/mke2fs.conf.in b/misc/mke2fs.conf.in -index a049d61..106ee80 100644 +index 78fe50a..6f1940e 100644 --- a/misc/mke2fs.conf.in +++ b/misc/mke2fs.conf.in -@@ -11,7 +11,8 @@ +@@ -11,8 +11,9 @@ features = has_journal } ext4 = { -- features = has_journal,extent,huge_file,flex_bg,metadata_csum,64bit,dir_nlink,extra_isize +- features = has_journal,extent,huge_file,flex_bg,64bit,dir_nlink,extra_isize + features = has_journal,extent,huge_file,flex_bg,uninit_bg,dir_nlink,extra_isize -+ auto_64-bit_support = 1 inode_size = 256 ++ auto_64-bit_support = 1 } ext4dev = { + features = has_journal,extent,huge_file,flex_bg,inline_data,64bit,dir_nlink,extra_isize -- -2.7.2 +2.8.1 diff --git a/import-layers/yocto-poky/meta/recipes-devtools/e2fsprogs/e2fsprogs/e2fsprogs-fix-missing-check-for-permission-denied.patch b/import-layers/yocto-poky/meta/recipes-devtools/e2fsprogs/e2fsprogs/e2fsprogs-fix-missing-check-for-permission-denied.patch new file mode 100644 index 000000000..33054c61f --- /dev/null +++ b/import-layers/yocto-poky/meta/recipes-devtools/e2fsprogs/e2fsprogs/e2fsprogs-fix-missing-check-for-permission-denied.patch @@ -0,0 +1,32 @@ +Subject: [PATCH] Fix missing check for permission denied. + +If the path to "ROOT_SYSCONFDIR/mke2fs.conf" has a permission denied problem, +then the get_dirlist() call will return EACCES. But the code in profile_init +will treat that as a fatal error and all executions will fail with: + Couldn't init profile successfully (error: 13). + +Upstream-Status: Pending + +Written-by: Henrik Wallin <henrik.b.wallin@ericsson.com> + +Signed-off-by: Jackie Huang <jackie.huang@windriver.com> +--- + lib/support/profile.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/lib/support/profile.c b/lib/support/profile.c +index 51a3314..1c1039f 100644 +--- a/lib/support/profile.c ++++ b/lib/support/profile.c +@@ -335,7 +335,7 @@ profile_init(const char **files, profile_t *ret_profile) + *last = new_file; + last = &new_file->next; + } +- } else if ((retval != ENOTDIR) && ++ } else if ((retval != ENOTDIR) && (retval != EACCES) && + strcmp(*fs, default_filename)) + goto errout; + +-- +2.7.4 + diff --git a/import-layers/yocto-poky/meta/recipes-devtools/e2fsprogs/e2fsprogs/xattr_ordering.patch b/import-layers/yocto-poky/meta/recipes-devtools/e2fsprogs/e2fsprogs/xattr_ordering.patch deleted file mode 100644 index 782a7b187..000000000 --- a/import-layers/yocto-poky/meta/recipes-devtools/e2fsprogs/e2fsprogs/xattr_ordering.patch +++ /dev/null @@ -1,219 +0,0 @@ -From: "Darrick J. Wong" <darrick.wong@oracle.com> -To: tytso@mit.edu, darrick.wong@oracle.com -Cc: linux-ext4@vger.kernel.org, Darren Hart <dvhart@linux.intel.com>, - Richard Purdie <richard.purdie@linuxfoundation.org> -Date: Sat, 13 Feb 2016 14:38:24 -0800 -Message-ID: <20160213223824.25381.8002.stgit@birch.djwong.org> -In-Reply-To: <20160213223725.25381.20929.stgit@birch.djwong.org> -References: <20160213223725.25381.20929.stgit@birch.djwong.org> -User-Agent: StGit/0.17.1-dirty -MIME-Version: 1.0 -Content-Type: text/plain; charset="utf-8" -X-Source-IP: aserv0022.oracle.com [141.146.126.234] -X-Evolution-Source: 1358860361.4566.33@ted -Content-Transfer-Encoding: 8bit - -Richard Purdie reports that libext2fs doesn't sort attribute keys in -the xattr block correctly, causing the kernel to return -ENODATA when -querying attributes that should be there. Therefore, sort attributes -so that whatever ends up in the xattr block is sorted according to -what the kernel expects. - -Cc: Darren Hart <dvhart@linux.intel.com> -Reported-by: Richard Purdie <richard.purdie@linuxfoundation.org> -Signed-off-by: Darrick J. Wong <darrick.wong@oracle.com> ---- - lib/ext2fs/ext_attr.c | 24 +++++++++++- - tests/d_xattr_sorting/expect | 29 ++++++++++++++ - tests/d_xattr_sorting/name | 1 - tests/d_xattr_sorting/script | 86 ++++++++++++++++++++++++++++++++++++++++++ - 4 files changed, 139 insertions(+), 1 deletion(-) - create mode 100644 tests/d_xattr_sorting/expect - create mode 100644 tests/d_xattr_sorting/name - create mode 100644 tests/d_xattr_sorting/script - -Upstream-Status: Submitted - - -diff --git a/lib/ext2fs/ext_attr.c b/lib/ext2fs/ext_attr.c -index 0a4f8c0..b121837 100644 ---- a/lib/ext2fs/ext_attr.c -+++ b/lib/ext2fs/ext_attr.c -@@ -254,10 +254,15 @@ static struct ea_name_index ea_names[] = { - {0, NULL}, - }; - -+static int find_ea_index(char *fullname, char **name, int *index); -+ - /* Push empty attributes to the end and inlinedata to the front. */ - static int attr_compare(const void *a, const void *b) - { - const struct ext2_xattr *xa = a, *xb = b; -+ char *xa_suffix, *xb_suffix; -+ int xa_idx, xb_idx; -+ int cmp; - - if (xa->name == NULL) - return +1; -@@ -267,7 +272,24 @@ static int attr_compare(const void *a, const void *b) - return -1; - else if (!strcmp(xb->name, "system.data")) - return +1; -- return 0; -+ -+ /* -+ * Duplicate the kernel's sorting algorithm because xattr blocks -+ * require sorted keys. -+ */ -+ xa_suffix = xa->name; -+ xb_suffix = xb->name; -+ xa_idx = xb_idx = 0; -+ find_ea_index(xa->name, &xa_suffix, &xa_idx); -+ find_ea_index(xb->name, &xb_suffix, &xb_idx); -+ cmp = xa_idx - xb_idx; -+ if (cmp) -+ return cmp; -+ cmp = strlen(xa_suffix) - strlen(xb_suffix); -+ if (cmp) -+ return cmp; -+ cmp = strcmp(xa_suffix, xb_suffix); -+ return cmp; - } - - static const char *find_ea_prefix(int index) -diff --git a/tests/d_xattr_sorting/expect b/tests/d_xattr_sorting/expect -new file mode 100644 -index 0000000..17da663 ---- /dev/null -+++ b/tests/d_xattr_sorting/expect -@@ -0,0 +1,29 @@ -+debugfs sort extended attributes -+mke2fs -Fq -b 1024 test.img 512 -+Exit status is 0 -+ea_set / security.SMEG64 -f /tmp/b -+Exit status is 0 -+ea_set / security.imb -f /tmp/b -+Exit status is 0 -+ea_set / user.moo cow -+Exit status is 0 -+ea_list / -+Extended attributes: -+ user.moo = "cow" (3) -+ security.imb = "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" (256) -+ security.SMEG64 = "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" (256) -+Exit status is 0 -+ea_get / security.imb -+xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx -+Exit status is 0 -+ea_get / nosuchea -+ea_get: Extended attribute key not found while getting extended attribute -+Exit status is 0 -+e2fsck -yf -N test_filesys -+Pass 1: Checking inodes, blocks, and sizes -+Pass 2: Checking directory structure -+Pass 3: Checking directory connectivity -+Pass 4: Checking reference counts -+Pass 5: Checking group summary information -+test_filesys: 11/64 files (0.0% non-contiguous), 29/512 blocks -+Exit status is 0 -diff --git a/tests/d_xattr_sorting/name b/tests/d_xattr_sorting/name -new file mode 100644 -index 0000000..dde8926 ---- /dev/null -+++ b/tests/d_xattr_sorting/name -@@ -0,0 +1 @@ -+sort extended attributes in debugfs -diff --git a/tests/d_xattr_sorting/script b/tests/d_xattr_sorting/script -new file mode 100644 -index 0000000..30c189a ---- /dev/null -+++ b/tests/d_xattr_sorting/script -@@ -0,0 +1,86 @@ -+if test -x $DEBUGFS_EXE; then -+ -+OUT=$test_name.log -+EXP=$test_dir/expect -+VERIFY_FSCK_OPT=-yf -+ -+TEST_DATA=$test_name.tmp -+VERIFY_DATA=$test_name.ver.tmp -+ -+echo "debugfs sort extended attributes" > $OUT -+ -+dd if=/dev/zero of=$TMPFILE bs=1k count=512 > /dev/null 2>&1 -+ -+echo "mke2fs -Fq -b 1024 test.img 512" >> $OUT -+ -+$MKE2FS -Fq $TMPFILE 512 > /dev/null 2>&1 -+status=$? -+echo Exit status is $status >> $OUT -+ -+perl -e 'print "x" x 256;' > /tmp/b -+ -+echo "ea_set / security.SMEG64 -f /tmp/b" > $OUT.new -+$DEBUGFS -w -R "ea_set / security.SMEG64 -f /tmp/b" $TMPFILE >> $OUT.new 2>&1 -+status=$? -+echo Exit status is $status >> $OUT.new -+sed -f $cmd_dir/filter.sed $OUT.new >> $OUT -+ -+echo "ea_set / security.imb -f /tmp/b" > $OUT.new -+$DEBUGFS -w -R "ea_set / security.imb -f /tmp/b" $TMPFILE >> $OUT.new 2>&1 -+status=$? -+echo Exit status is $status >> $OUT.new -+sed -f $cmd_dir/filter.sed $OUT.new >> $OUT -+ -+echo "ea_set / user.moo cow" > $OUT.new -+$DEBUGFS -w -R "ea_set / user.moo cow" $TMPFILE >> $OUT.new 2>&1 -+status=$? -+echo Exit status is $status >> $OUT.new -+sed -f $cmd_dir/filter.sed $OUT.new >> $OUT -+ -+rm -rf /tmp/b -+ -+echo "ea_list /" > $OUT.new -+$DEBUGFS -w -R "ea_list /" $TMPFILE >> $OUT.new 2>&1 -+status=$? -+echo Exit status is $status >> $OUT.new -+sed -f $cmd_dir/filter.sed $OUT.new >> $OUT -+ -+echo "ea_get / security.imb" > $OUT.new -+$DEBUGFS -w -R "ea_get / security.imb" $TMPFILE >> $OUT.new 2>&1 -+status=$? -+echo Exit status is $status >> $OUT.new -+sed -f $cmd_dir/filter.sed $OUT.new >> $OUT -+ -+echo "ea_get / nosuchea" > $OUT.new -+$DEBUGFS -w -R "ea_get / nosuchea" $TMPFILE >> $OUT.new 2>&1 -+status=$? -+echo Exit status is $status >> $OUT.new -+sed -f $cmd_dir/filter.sed $OUT.new >> $OUT -+ -+echo e2fsck $VERIFY_FSCK_OPT -N test_filesys > $OUT.new -+$FSCK $VERIFY_FSCK_OPT -N test_filesys $TMPFILE >> $OUT.new 2>&1 -+status=$? -+echo Exit status is $status >> $OUT.new -+sed -f $cmd_dir/filter.sed $OUT.new >> $OUT -+ -+# -+# Do the verification -+# -+ -+rm -f $TMPFILE $OUT.new -+cmp -s $OUT $EXP -+status=$? -+ -+if [ "$status" = 0 ] ; then -+ echo "$test_name: $test_description: ok" -+ touch $test_name.ok -+else -+ echo "$test_name: $test_description: failed" -+ diff $DIFF_OPTS $EXP $OUT > $test_name.failed -+fi -+ -+unset VERIFY_FSCK_OPT NATIVE_FSCK_OPT OUT EXP TEST_DATA VERIFY_DATA -+ -+else #if test -x $DEBUGFS_EXE; then -+ echo "$test_name: $test_description: skipped" -+fi - - diff --git a/import-layers/yocto-poky/meta/recipes-devtools/e2fsprogs/e2fsprogs_git.bb b/import-layers/yocto-poky/meta/recipes-devtools/e2fsprogs/e2fsprogs_1.43.bb index 9cde8e46b..f4855bc43 100644 --- a/import-layers/yocto-poky/meta/recipes-devtools/e2fsprogs/e2fsprogs_git.bb +++ b/import-layers/yocto-poky/meta/recipes-devtools/e2fsprogs/e2fsprogs_1.43.bb @@ -1,17 +1,19 @@ require e2fsprogs.inc +PR = "r1" + SRC_URI += "file://acinclude.m4 \ file://remove.ldconfig.call.patch \ file://quiet-debugfs.patch \ file://run-ptest \ file://ptest.patch \ file://mkdir.patch \ - file://xattr_ordering.patch \ file://Revert-mke2fs-enable-the-metadata_csum-and-64bit-fea.patch \ " -SRCREV = "0f26747167cc9d82df849b0aad387bf824f04544" -PV = "1.42.99+1.43+git${SRCPV}" +SRC_URI_append_class-native = " file://e2fsprogs-fix-missing-check-for-permission-denied.patch" + +SRCREV = "d6adf070b0e85f209c0d7f310188b134b5cb7180" UPSTREAM_CHECK_GITTAGREGEX = "v(?P<pver>\d+\.\d+(\.\d+)*)$" EXTRA_OECONF += "--libdir=${base_libdir} --sbindir=${base_sbindir} \ @@ -50,6 +52,10 @@ do_install () { mv ${D}${bindir}/chattr ${D}${base_bindir}/chattr.e2fsprogs install -v -m 755 ${S}/contrib/populate-extfs.sh ${D}${base_sbindir}/ + + # Clean host path (build directory) in compile_et, mk_cmds + sed -i -e "s,\(ET_DIR=.*\)${S}/lib/et\(.*\),\1${datadir}/et\2,g" ${D}${bindir}/compile_et + sed -i -e "s,\(SS_DIR=.*\)${S}/lib/ss\(.*\),\1${datadir}/ss\2,g" ${D}${bindir}/mk_cmds } # Need to find the right mke2fs.conf file @@ -59,12 +65,6 @@ e2fsprogs_conf_fixup () { done } -do_install_append_class-target() { - # Clean host path in compile_et, mk_cmds - sed -i -e "s,ET_DIR=\"${S}/lib/et\",ET_DIR=\"${datadir}/et\",g" ${D}${bindir}/compile_et - sed -i -e "s,SS_DIR=\"${S}/lib/ss\",SS_DIR=\"${datadir}/ss\",g" ${D}${bindir}/mk_cmds -} - do_install_append_class-native() { e2fsprogs_conf_fixup } @@ -88,7 +88,7 @@ FILES_libcomerr = "${base_libdir}/libcom_err.so.*" FILES_libss = "${base_libdir}/libss.so.*" FILES_libe2p = "${base_libdir}/libe2p.so.*" FILES_libext2fs = "${libdir}/e2initrd_helper ${base_libdir}/libext2fs.so.*" -FILES_${PN}-dev += "${datadir}/*/*.awk ${datadir}/*/*.sed ${base_libdir}/*.so" +FILES_${PN}-dev += "${datadir}/*/*.awk ${datadir}/*/*.sed ${base_libdir}/*.so ${bindir}/compile_et ${bindir}/mk_cmds" ALTERNATIVE_${PN} = "chattr" ALTERNATIVE_PRIORITY = "100" diff --git a/import-layers/yocto-poky/meta/recipes-devtools/elfutils/elfutils-0.148/fix_for_gcc-4.7.patch b/import-layers/yocto-poky/meta/recipes-devtools/elfutils/elfutils-0.148/fix_for_gcc-4.7.patch index bd634b441..c78f95d69 100644 --- a/import-layers/yocto-poky/meta/recipes-devtools/elfutils/elfutils-0.148/fix_for_gcc-4.7.patch +++ b/import-layers/yocto-poky/meta/recipes-devtools/elfutils/elfutils-0.148/fix_for_gcc-4.7.patch @@ -2,7 +2,7 @@ Upstream-Status: pending gcc 4.7 does not like pointer conversion, so have a void * tmp var to work around following compilation issue. -Signed-Off-By: Nitin A Kamble <nitin.a.kamble@intel.com> +Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com> 2011/07/07 | md5.c: In function 'md5_finish_ctx': diff --git a/import-layers/yocto-poky/meta/recipes-devtools/elfutils/elfutils-0.148/gcc6.patch b/import-layers/yocto-poky/meta/recipes-devtools/elfutils/elfutils-0.148/gcc6.patch new file mode 100644 index 000000000..b56a754f8 --- /dev/null +++ b/import-layers/yocto-poky/meta/recipes-devtools/elfutils/elfutils-0.148/gcc6.patch @@ -0,0 +1,23 @@ +Fix warnings found with gcc6 + +| ../../elfutils-0.148/libdw/dwarf_siblingof.c: In function 'dwarf_siblingof': +| ../../elfutils-0.148/libdw/dwarf_siblingof.c:69:6: error: nonnull argument 'result' compared to NULL [-Werror=nonnull-compare] +| if (result == NULL) +| ^ + +Signed-off-by: Khem Raj <raj.khem@gmail.com> +Upstream-Status: Inappropriate [ unmaintained ] +Index: elfutils-0.148/libdw/dwarf_siblingof.c +=================================================================== +--- elfutils-0.148.orig/libdw/dwarf_siblingof.c ++++ elfutils-0.148/libdw/dwarf_siblingof.c +@@ -66,9 +66,6 @@ dwarf_siblingof (die, result) + if (die == NULL) + return -1; + +- if (result == NULL) +- return -1; +- + if (result != die) + result->addr = NULL; + diff --git a/import-layers/yocto-poky/meta/recipes-devtools/elfutils/elfutils-0.164/0001-Ignore-differences-between-mips-machine-identifiers.patch b/import-layers/yocto-poky/meta/recipes-devtools/elfutils/elfutils-0.166/0001-Ignore-differences-between-mips-machine-identifiers.patch index 3f110f98f..3f110f98f 100644 --- a/import-layers/yocto-poky/meta/recipes-devtools/elfutils/elfutils-0.164/0001-Ignore-differences-between-mips-machine-identifiers.patch +++ b/import-layers/yocto-poky/meta/recipes-devtools/elfutils/elfutils-0.166/0001-Ignore-differences-between-mips-machine-identifiers.patch diff --git a/import-layers/yocto-poky/meta/recipes-devtools/elfutils/elfutils-0.164/0001-build-Provide-alternatives-for-glibc-assumptions-hel.patch b/import-layers/yocto-poky/meta/recipes-devtools/elfutils/elfutils-0.166/0001-build-Provide-alternatives-for-glibc-assumptions-hel.patch index c8d1c8990..38b31f6a8 100644 --- a/import-layers/yocto-poky/meta/recipes-devtools/elfutils/elfutils-0.164/0001-build-Provide-alternatives-for-glibc-assumptions-hel.patch +++ b/import-layers/yocto-poky/meta/recipes-devtools/elfutils/elfutils-0.166/0001-build-Provide-alternatives-for-glibc-assumptions-hel.patch @@ -87,11 +87,11 @@ Upstream-Status: Pending tests/vdsosyms.c | 2 +- 77 files changed, 109 insertions(+), 73 deletions(-) -Index: elfutils-0.164/Makefile.am +Index: elfutils-0.166/Makefile.am =================================================================== ---- elfutils-0.164.orig/Makefile.am -+++ elfutils-0.164/Makefile.am -@@ -24,7 +24,7 @@ pkginclude_HEADERS = version.h +--- elfutils-0.166.orig/Makefile.am ++++ elfutils-0.166/Makefile.am +@@ -28,7 +28,7 @@ pkginclude_HEADERS = version.h # Add doc back when we have some real content. SUBDIRS = config m4 lib libelf libebl libdwelf libdwfl libdw libcpu libasm \ @@ -100,10 +100,10 @@ Index: elfutils-0.164/Makefile.am EXTRA_DIST = elfutils.spec GPG-KEY NOTES CONTRIBUTING \ COPYING COPYING-GPLV2 COPYING-LGPLV3 -Index: elfutils-0.164/lib/color.c +Index: elfutils-0.166/lib/color.c =================================================================== ---- elfutils-0.164.orig/lib/color.c -+++ elfutils-0.164/lib/color.c +--- elfutils-0.166.orig/lib/color.c ++++ elfutils-0.166/lib/color.c @@ -32,7 +32,7 @@ #endif @@ -113,10 +113,10 @@ Index: elfutils-0.164/lib/color.c #include <libintl.h> #include <stdlib.h> #include <string.h> -Index: elfutils-0.164/lib/crc32_file.c +Index: elfutils-0.166/lib/crc32_file.c =================================================================== ---- elfutils-0.164.orig/lib/crc32_file.c -+++ elfutils-0.164/lib/crc32_file.c +--- elfutils-0.166.orig/lib/crc32_file.c ++++ elfutils-0.166/lib/crc32_file.c @@ -30,12 +30,14 @@ # include <config.h> #endif @@ -133,10 +133,10 @@ Index: elfutils-0.164/lib/crc32_file.c int crc32_file (int fd, uint32_t *resp) { -Index: elfutils-0.164/lib/fixedsizehash.h +Index: elfutils-0.166/lib/fixedsizehash.h =================================================================== ---- elfutils-0.164.orig/lib/fixedsizehash.h -+++ elfutils-0.164/lib/fixedsizehash.h +--- elfutils-0.166.orig/lib/fixedsizehash.h ++++ elfutils-0.166/lib/fixedsizehash.h @@ -30,12 +30,12 @@ #include <errno.h> #include <stdlib.h> @@ -152,10 +152,10 @@ Index: elfutils-0.164/lib/fixedsizehash.h /* Before including this file the following macros must be defined: -Index: elfutils-0.164/lib/system.h +Index: elfutils-0.166/lib/system.h =================================================================== ---- elfutils-0.164.orig/lib/system.h -+++ elfutils-0.164/lib/system.h +--- elfutils-0.166.orig/lib/system.h ++++ elfutils-0.166/lib/system.h @@ -49,6 +49,16 @@ #else # error "Unknown byte order" @@ -173,10 +173,10 @@ Index: elfutils-0.164/lib/system.h extern void *xmalloc (size_t) __attribute__ ((__malloc__)); extern void *xcalloc (size_t, size_t) __attribute__ ((__malloc__)); -Index: elfutils-0.164/lib/xmalloc.c +Index: elfutils-0.166/lib/xmalloc.c =================================================================== ---- elfutils-0.164.orig/lib/xmalloc.c -+++ elfutils-0.164/lib/xmalloc.c +--- elfutils-0.166.orig/lib/xmalloc.c ++++ elfutils-0.166/lib/xmalloc.c @@ -30,7 +30,7 @@ # include <config.h> #endif @@ -186,10 +186,10 @@ Index: elfutils-0.164/lib/xmalloc.c #include <libintl.h> #include <stddef.h> #include <stdlib.h> -Index: elfutils-0.164/libasm/asm_end.c +Index: elfutils-0.166/libasm/asm_end.c =================================================================== ---- elfutils-0.164.orig/libasm/asm_end.c -+++ elfutils-0.164/libasm/asm_end.c +--- elfutils-0.166.orig/libasm/asm_end.c ++++ elfutils-0.166/libasm/asm_end.c @@ -32,7 +32,7 @@ #endif @@ -199,10 +199,10 @@ Index: elfutils-0.164/libasm/asm_end.c #include <libintl.h> #include <stdio.h> #include <stdlib.h> -Index: elfutils-0.164/libasm/asm_newscn.c +Index: elfutils-0.166/libasm/asm_newscn.c =================================================================== ---- elfutils-0.164.orig/libasm/asm_newscn.c -+++ elfutils-0.164/libasm/asm_newscn.c +--- elfutils-0.166.orig/libasm/asm_newscn.c ++++ elfutils-0.166/libasm/asm_newscn.c @@ -32,7 +32,7 @@ #endif @@ -212,10 +212,10 @@ Index: elfutils-0.164/libasm/asm_newscn.c #include <libintl.h> #include <stdlib.h> #include <string.h> -Index: elfutils-0.164/libcpu/i386_gendis.c +Index: elfutils-0.166/libcpu/i386_gendis.c =================================================================== ---- elfutils-0.164.orig/libcpu/i386_gendis.c -+++ elfutils-0.164/libcpu/i386_gendis.c +--- elfutils-0.166.orig/libcpu/i386_gendis.c ++++ elfutils-0.166/libcpu/i386_gendis.c @@ -31,7 +31,7 @@ # include <config.h> #endif @@ -225,11 +225,11 @@ Index: elfutils-0.164/libcpu/i386_gendis.c #include <errno.h> #include <stdio.h> #include <stdlib.h> -Index: elfutils-0.164/libcpu/i386_lex.c +Index: elfutils-0.166/libcpu/i386_lex.c =================================================================== ---- elfutils-0.164.orig/libcpu/i386_lex.c -+++ elfutils-0.164/libcpu/i386_lex.c -@@ -571,7 +571,7 @@ char *i386_text; +--- elfutils-0.166.orig/libcpu/i386_lex.c ++++ elfutils-0.166/libcpu/i386_lex.c +@@ -578,7 +578,7 @@ char *i386_text; #endif #include <ctype.h> @@ -238,10 +238,10 @@ Index: elfutils-0.164/libcpu/i386_lex.c #include <libintl.h> #include <system.h> -Index: elfutils-0.164/libcpu/i386_parse.c +Index: elfutils-0.166/libcpu/i386_parse.c =================================================================== ---- elfutils-0.164.orig/libcpu/i386_parse.c -+++ elfutils-0.164/libcpu/i386_parse.c +--- elfutils-0.166.orig/libcpu/i386_parse.c ++++ elfutils-0.166/libcpu/i386_parse.c @@ -107,7 +107,7 @@ #include <assert.h> #include <ctype.h> @@ -251,23 +251,23 @@ Index: elfutils-0.164/libcpu/i386_parse.c #include <inttypes.h> #include <libintl.h> #include <math.h> -Index: elfutils-0.164/libdw/Makefile.am +Index: elfutils-0.166/libdw/Makefile.am =================================================================== ---- elfutils-0.164.orig/libdw/Makefile.am -+++ elfutils-0.164/libdw/Makefile.am +--- elfutils-0.166.orig/libdw/Makefile.am ++++ elfutils-0.166/libdw/Makefile.am @@ -117,7 +117,7 @@ libdw.so$(EXEEXT): $(srcdir)/libdw.map l -Wl,--enable-new-dtags,-rpath,$(pkglibdir) \ -Wl,--version-script,$<,--no-undefined \ -Wl,--whole-archive $(filter-out $<,$^) -Wl,--no-whole-archive\ -- -ldl $(argp_LDADD) $(zip_LIBS) $(libdw_so_LDLIBS) -+ -ldl $(argp_LDADD) $(zip_LIBS) $(libdw_so_LDLIBS) -lfts -largp +- -ldl -lz $(argp_LDADD) $(zip_LIBS) $(libdw_so_LDLIBS) ++ -ldl -lz $(argp_LDADD) $(zip_LIBS) $(libdw_so_LDLIBS) -lfts -largp @$(textrel_check) $(AM_V_at)ln -fs $@ $@.$(VERSION) -Index: elfutils-0.164/libdw/libdw_alloc.c +Index: elfutils-0.166/libdw/libdw_alloc.c =================================================================== ---- elfutils-0.164.orig/libdw/libdw_alloc.c -+++ elfutils-0.164/libdw/libdw_alloc.c +--- elfutils-0.166.orig/libdw/libdw_alloc.c ++++ elfutils-0.166/libdw/libdw_alloc.c @@ -31,11 +31,12 @@ # include <config.h> #endif @@ -282,11 +282,11 @@ Index: elfutils-0.164/libdw/libdw_alloc.c void * -Index: elfutils-0.164/libdwfl/Makefile.am +Index: elfutils-0.166/libdwfl/Makefile.am =================================================================== ---- elfutils-0.164.orig/libdwfl/Makefile.am -+++ elfutils-0.164/libdwfl/Makefile.am -@@ -86,6 +86,8 @@ libelf = ../libelf/libelf.so +--- elfutils-0.166.orig/libdwfl/Makefile.am ++++ elfutils-0.166/libdwfl/Makefile.am +@@ -84,6 +84,8 @@ libelf = ../libelf/libelf.so libebl = ../libebl/libebl.a libeu = ../lib/libeu.a @@ -295,10 +295,10 @@ Index: elfutils-0.164/libdwfl/Makefile.am libdwfl_pic_a_SOURCES = am_libdwfl_pic_a_OBJECTS = $(libdwfl_a_SOURCES:.c=.os) -Index: elfutils-0.164/libdwfl/dwfl_build_id_find_elf.c +Index: elfutils-0.166/libdwfl/dwfl_build_id_find_elf.c =================================================================== ---- elfutils-0.164.orig/libdwfl/dwfl_build_id_find_elf.c -+++ elfutils-0.164/libdwfl/dwfl_build_id_find_elf.c +--- elfutils-0.166.orig/libdwfl/dwfl_build_id_find_elf.c ++++ elfutils-0.166/libdwfl/dwfl_build_id_find_elf.c @@ -27,6 +27,7 @@ not, see <http://www.gnu.org/licenses/>. */ @@ -316,10 +316,10 @@ Index: elfutils-0.164/libdwfl/dwfl_build_id_find_elf.c if (*file_name == NULL) { *file_name = name; -Index: elfutils-0.164/libdwfl/dwfl_error.c +Index: elfutils-0.166/libdwfl/dwfl_error.c =================================================================== ---- elfutils-0.164.orig/libdwfl/dwfl_error.c -+++ elfutils-0.164/libdwfl/dwfl_error.c +--- elfutils-0.166.orig/libdwfl/dwfl_error.c ++++ elfutils-0.166/libdwfl/dwfl_error.c @@ -140,6 +140,7 @@ __libdwfl_seterrno (Dwfl_Error error) const char * dwfl_errmsg (int error) @@ -338,10 +338,10 @@ Index: elfutils-0.164/libdwfl/dwfl_error.c case OTHER_ERROR (LIBELF): return elf_errmsg (error & 0xffff); case OTHER_ERROR (LIBDW): -Index: elfutils-0.164/libdwfl/dwfl_module_getdwarf.c +Index: elfutils-0.166/libdwfl/dwfl_module_getdwarf.c =================================================================== ---- elfutils-0.164.orig/libdwfl/dwfl_module_getdwarf.c -+++ elfutils-0.164/libdwfl/dwfl_module_getdwarf.c +--- elfutils-0.166.orig/libdwfl/dwfl_module_getdwarf.c ++++ elfutils-0.166/libdwfl/dwfl_module_getdwarf.c @@ -31,6 +31,7 @@ #include <fcntl.h> #include <string.h> @@ -350,11 +350,11 @@ Index: elfutils-0.164/libdwfl/dwfl_module_getdwarf.c #include "../libdw/libdwP.h" /* DWARF_E_* values are here. */ #include "../libelf/libelfP.h" -Index: elfutils-0.164/libdwfl/find-debuginfo.c +Index: elfutils-0.166/libdwfl/find-debuginfo.c =================================================================== ---- elfutils-0.164.orig/libdwfl/find-debuginfo.c -+++ elfutils-0.164/libdwfl/find-debuginfo.c -@@ -372,7 +372,7 @@ dwfl_standard_find_debuginfo (Dwfl_Modul +--- elfutils-0.166.orig/libdwfl/find-debuginfo.c ++++ elfutils-0.166/libdwfl/find-debuginfo.c +@@ -385,7 +385,7 @@ dwfl_standard_find_debuginfo (Dwfl_Modul /* If FILE_NAME is a symlink, the debug file might be associated with the symlink target name instead. */ @@ -363,10 +363,10 @@ Index: elfutils-0.164/libdwfl/find-debuginfo.c if (canon != NULL && strcmp (file_name, canon)) fd = find_debuginfo_in_path (mod, canon, debuglink_file, debuglink_crc, -Index: elfutils-0.164/libdwfl/libdwfl_crc32_file.c +Index: elfutils-0.166/libdwfl/libdwfl_crc32_file.c =================================================================== ---- elfutils-0.164.orig/libdwfl/libdwfl_crc32_file.c -+++ elfutils-0.164/libdwfl/libdwfl_crc32_file.c +--- elfutils-0.166.orig/libdwfl/libdwfl_crc32_file.c ++++ elfutils-0.166/libdwfl/libdwfl_crc32_file.c @@ -31,6 +31,16 @@ #define crc32_file attribute_hidden __libdwfl_crc32_file @@ -384,10 +384,10 @@ Index: elfutils-0.164/libdwfl/libdwfl_crc32_file.c #define LIB_SYSTEM_H 1 #include <libdwflP.h> #include "../lib/crc32_file.c" -Index: elfutils-0.164/libdwfl/linux-kernel-modules.c +Index: elfutils-0.166/libdwfl/linux-kernel-modules.c =================================================================== ---- elfutils-0.164.orig/libdwfl/linux-kernel-modules.c -+++ elfutils-0.164/libdwfl/linux-kernel-modules.c +--- elfutils-0.166.orig/libdwfl/linux-kernel-modules.c ++++ elfutils-0.166/libdwfl/linux-kernel-modules.c @@ -34,6 +34,7 @@ #include <config.h> @@ -396,10 +396,10 @@ Index: elfutils-0.164/libdwfl/linux-kernel-modules.c #include <inttypes.h> #include <errno.h> #include <stdio.h> -Index: elfutils-0.164/libebl/eblopenbackend.c +Index: elfutils-0.166/libebl/eblopenbackend.c =================================================================== ---- elfutils-0.164.orig/libebl/eblopenbackend.c -+++ elfutils-0.164/libebl/eblopenbackend.c +--- elfutils-0.166.orig/libebl/eblopenbackend.c ++++ elfutils-0.166/libebl/eblopenbackend.c @@ -32,7 +32,7 @@ #include <assert.h> @@ -409,10 +409,10 @@ Index: elfutils-0.164/libebl/eblopenbackend.c #include <libelfP.h> #include <dwarf.h> #include <stdlib.h> -Index: elfutils-0.164/libebl/eblwstrtab.c +Index: elfutils-0.166/libebl/eblwstrtab.c =================================================================== ---- elfutils-0.164.orig/libebl/eblwstrtab.c -+++ elfutils-0.164/libebl/eblwstrtab.c +--- elfutils-0.166.orig/libebl/eblwstrtab.c ++++ elfutils-0.166/libebl/eblwstrtab.c @@ -305,7 +305,7 @@ copystrings (struct Ebl_WStrent *nodep, /* Process the current node. */ @@ -422,10 +422,10 @@ Index: elfutils-0.164/libebl/eblwstrtab.c *offsetp += nodep->len * sizeof (wchar_t); for (subs = nodep->next; subs != NULL; subs = subs->next) -Index: elfutils-0.164/libelf/elf.h +Index: elfutils-0.166/libelf/elf.h =================================================================== ---- elfutils-0.164.orig/libelf/elf.h -+++ elfutils-0.164/libelf/elf.h +--- elfutils-0.166.orig/libelf/elf.h ++++ elfutils-0.166/libelf/elf.h @@ -21,7 +21,9 @@ #include <features.h> @@ -437,7 +437,7 @@ Index: elfutils-0.164/libelf/elf.h /* Standard ELF types. */ -@@ -3552,7 +3554,8 @@ enum +@@ -3591,7 +3593,8 @@ enum #define R_TILEGX_NUM 130 @@ -448,10 +448,10 @@ Index: elfutils-0.164/libelf/elf.h +#endif #endif /* elf.h */ -Index: elfutils-0.164/libelf/libelf.h +Index: elfutils-0.166/libelf/libelf.h =================================================================== ---- elfutils-0.164.orig/libelf/libelf.h -+++ elfutils-0.164/libelf/libelf.h +--- elfutils-0.166.orig/libelf/libelf.h ++++ elfutils-0.166/libelf/libelf.h @@ -29,6 +29,7 @@ #ifndef _LIBELF_H #define _LIBELF_H 1 @@ -460,10 +460,10 @@ Index: elfutils-0.164/libelf/libelf.h #include <stdint.h> #include <sys/types.h> -Index: elfutils-0.164/libelf/libelfP.h +Index: elfutils-0.166/libelf/libelfP.h =================================================================== ---- elfutils-0.164.orig/libelf/libelfP.h -+++ elfutils-0.164/libelf/libelfP.h +--- elfutils-0.166.orig/libelf/libelfP.h ++++ elfutils-0.166/libelf/libelfP.h @@ -36,6 +36,7 @@ #include <ar.h> @@ -471,11 +471,11 @@ Index: elfutils-0.164/libelf/libelfP.h +#include <libelf.h> #include <errno.h> - #include <stdint.h> -Index: elfutils-0.164/src/addr2line.c + #include <stdbool.h> +Index: elfutils-0.166/src/addr2line.c =================================================================== ---- elfutils-0.164.orig/src/addr2line.c -+++ elfutils-0.164/src/addr2line.c +--- elfutils-0.166.orig/src/addr2line.c ++++ elfutils-0.166/src/addr2line.c @@ -23,7 +23,7 @@ #include <argp.h> #include <assert.h> @@ -485,10 +485,10 @@ Index: elfutils-0.164/src/addr2line.c #include <fcntl.h> #include <inttypes.h> #include <libdwfl.h> -Index: elfutils-0.164/src/ar.c +Index: elfutils-0.166/src/ar.c =================================================================== ---- elfutils-0.164.orig/src/ar.c -+++ elfutils-0.164/src/ar.c +--- elfutils-0.166.orig/src/ar.c ++++ elfutils-0.166/src/ar.c @@ -22,7 +22,7 @@ #include <argp.h> @@ -498,10 +498,10 @@ Index: elfutils-0.164/src/ar.c #include <fcntl.h> #include <gelf.h> #include <libintl.h> -Index: elfutils-0.164/src/arlib.c +Index: elfutils-0.166/src/arlib.c =================================================================== ---- elfutils-0.164.orig/src/arlib.c -+++ elfutils-0.164/src/arlib.c +--- elfutils-0.166.orig/src/arlib.c ++++ elfutils-0.166/src/arlib.c @@ -21,7 +21,7 @@ #endif @@ -511,10 +511,10 @@ Index: elfutils-0.164/src/arlib.c #include <gelf.h> #include <libintl.h> #include <stdio.h> -Index: elfutils-0.164/src/arlib2.c +Index: elfutils-0.166/src/arlib2.c =================================================================== ---- elfutils-0.164.orig/src/arlib2.c -+++ elfutils-0.164/src/arlib2.c +--- elfutils-0.166.orig/src/arlib2.c ++++ elfutils-0.166/src/arlib2.c @@ -20,7 +20,7 @@ # include <config.h> #endif @@ -524,10 +524,10 @@ Index: elfutils-0.164/src/arlib2.c #include <libintl.h> #include <limits.h> #include <string.h> -Index: elfutils-0.164/src/elfcmp.c +Index: elfutils-0.166/src/elfcmp.c =================================================================== ---- elfutils-0.164.orig/src/elfcmp.c -+++ elfutils-0.164/src/elfcmp.c +--- elfutils-0.166.orig/src/elfcmp.c ++++ elfutils-0.166/src/elfcmp.c @@ -23,7 +23,7 @@ #include <argp.h> #include <assert.h> @@ -537,10 +537,10 @@ Index: elfutils-0.164/src/elfcmp.c #include <fcntl.h> #include <locale.h> #include <libintl.h> -Index: elfutils-0.164/src/elflint.c +Index: elfutils-0.166/src/elflint.c =================================================================== ---- elfutils-0.164.orig/src/elflint.c -+++ elfutils-0.164/src/elflint.c +--- elfutils-0.166.orig/src/elflint.c ++++ elfutils-0.166/src/elflint.c @@ -24,7 +24,7 @@ #include <assert.h> #include <byteswap.h> @@ -550,10 +550,10 @@ Index: elfutils-0.164/src/elflint.c #include <fcntl.h> #include <gelf.h> #include <inttypes.h> -Index: elfutils-0.164/src/findtextrel.c +Index: elfutils-0.166/src/findtextrel.c =================================================================== ---- elfutils-0.164.orig/src/findtextrel.c -+++ elfutils-0.164/src/findtextrel.c +--- elfutils-0.166.orig/src/findtextrel.c ++++ elfutils-0.166/src/findtextrel.c @@ -23,7 +23,7 @@ #include <argp.h> #include <assert.h> @@ -563,10 +563,10 @@ Index: elfutils-0.164/src/findtextrel.c #include <fcntl.h> #include <gelf.h> #include <libdw.h> -Index: elfutils-0.164/src/i386_ld.c +Index: elfutils-0.166/src/i386_ld.c =================================================================== ---- elfutils-0.164.orig/src/i386_ld.c -+++ elfutils-0.164/src/i386_ld.c +--- elfutils-0.166.orig/src/i386_ld.c ++++ elfutils-0.166/src/i386_ld.c @@ -20,7 +20,7 @@ #endif @@ -576,10 +576,10 @@ Index: elfutils-0.164/src/i386_ld.c #include <libintl.h> #include <stdlib.h> #include <string.h> -Index: elfutils-0.164/src/ld.c +Index: elfutils-0.166/src/ld.c =================================================================== ---- elfutils-0.164.orig/src/ld.c -+++ elfutils-0.164/src/ld.c +--- elfutils-0.166.orig/src/ld.c ++++ elfutils-0.166/src/ld.c @@ -21,7 +21,7 @@ #include <argp.h> @@ -589,10 +589,10 @@ Index: elfutils-0.164/src/ld.c #include <fcntl.h> #include <libelf.h> #include <libintl.h> -Index: elfutils-0.164/src/ldgeneric.c +Index: elfutils-0.166/src/ldgeneric.c =================================================================== ---- elfutils-0.164.orig/src/ldgeneric.c -+++ elfutils-0.164/src/ldgeneric.c +--- elfutils-0.166.orig/src/ldgeneric.c ++++ elfutils-0.166/src/ldgeneric.c @@ -23,7 +23,7 @@ #include <ctype.h> #include <dlfcn.h> @@ -602,11 +602,11 @@ Index: elfutils-0.164/src/ldgeneric.c #include <fcntl.h> #include <fnmatch.h> #include <gelf.h> -Index: elfutils-0.164/src/ldlex.c +Index: elfutils-0.166/src/ldlex.c =================================================================== ---- elfutils-0.164.orig/src/ldlex.c -+++ elfutils-0.164/src/ldlex.c -@@ -1099,7 +1099,7 @@ char *ldtext; +--- elfutils-0.166.orig/src/ldlex.c ++++ elfutils-0.166/src/ldlex.c +@@ -1106,7 +1106,7 @@ char *ldtext; #include <assert.h> #include <ctype.h> #include <elf.h> @@ -615,10 +615,10 @@ Index: elfutils-0.164/src/ldlex.c #include <inttypes.h> #include <libintl.h> #include <stdbool.h> -Index: elfutils-0.164/src/ldscript.c +Index: elfutils-0.166/src/ldscript.c =================================================================== ---- elfutils-0.164.orig/src/ldscript.c -+++ elfutils-0.164/src/ldscript.c +--- elfutils-0.166.orig/src/ldscript.c ++++ elfutils-0.166/src/ldscript.c @@ -95,7 +95,7 @@ #endif @@ -628,10 +628,10 @@ Index: elfutils-0.164/src/ldscript.c #include <libintl.h> #include <stdbool.h> #include <stdint.h> -Index: elfutils-0.164/src/nm.c +Index: elfutils-0.166/src/nm.c =================================================================== ---- elfutils-0.164.orig/src/nm.c -+++ elfutils-0.164/src/nm.c +--- elfutils-0.166.orig/src/nm.c ++++ elfutils-0.166/src/nm.c @@ -26,7 +26,7 @@ #include <ctype.h> #include <dwarf.h> @@ -641,10 +641,10 @@ Index: elfutils-0.164/src/nm.c #include <fcntl.h> #include <gelf.h> #include <inttypes.h> -Index: elfutils-0.164/src/objdump.c +Index: elfutils-0.166/src/objdump.c =================================================================== ---- elfutils-0.164.orig/src/objdump.c -+++ elfutils-0.164/src/objdump.c +--- elfutils-0.166.orig/src/objdump.c ++++ elfutils-0.166/src/objdump.c @@ -21,7 +21,7 @@ #endif @@ -654,10 +654,10 @@ Index: elfutils-0.164/src/objdump.c #include <fcntl.h> #include <inttypes.h> #include <libintl.h> -Index: elfutils-0.164/src/ranlib.c +Index: elfutils-0.166/src/ranlib.c =================================================================== ---- elfutils-0.164.orig/src/ranlib.c -+++ elfutils-0.164/src/ranlib.c +--- elfutils-0.166.orig/src/ranlib.c ++++ elfutils-0.166/src/ranlib.c @@ -24,7 +24,7 @@ #include <argp.h> #include <assert.h> @@ -667,10 +667,10 @@ Index: elfutils-0.164/src/ranlib.c #include <fcntl.h> #include <gelf.h> #include <libintl.h> -Index: elfutils-0.164/src/readelf.c +Index: elfutils-0.166/src/readelf.c =================================================================== ---- elfutils-0.164.orig/src/readelf.c -+++ elfutils-0.164/src/readelf.c +--- elfutils-0.166.orig/src/readelf.c ++++ elfutils-0.166/src/readelf.c @@ -25,7 +25,7 @@ #include <ctype.h> #include <dwarf.h> @@ -680,10 +680,10 @@ Index: elfutils-0.164/src/readelf.c #include <fcntl.h> #include <gelf.h> #include <inttypes.h> -Index: elfutils-0.164/src/size.c +Index: elfutils-0.166/src/size.c =================================================================== ---- elfutils-0.164.orig/src/size.c -+++ elfutils-0.164/src/size.c +--- elfutils-0.166.orig/src/size.c ++++ elfutils-0.166/src/size.c @@ -21,7 +21,7 @@ #endif @@ -693,10 +693,10 @@ Index: elfutils-0.164/src/size.c #include <fcntl.h> #include <gelf.h> #include <inttypes.h> -Index: elfutils-0.164/src/stack.c +Index: elfutils-0.166/src/stack.c =================================================================== ---- elfutils-0.164.orig/src/stack.c -+++ elfutils-0.164/src/stack.c +--- elfutils-0.166.orig/src/stack.c ++++ elfutils-0.166/src/stack.c @@ -18,7 +18,7 @@ #include <config.h> #include <assert.h> @@ -706,10 +706,10 @@ Index: elfutils-0.164/src/stack.c #include <stdlib.h> #include <inttypes.h> #include <stdio.h> -Index: elfutils-0.164/src/strings.c +Index: elfutils-0.166/src/strings.c =================================================================== ---- elfutils-0.164.orig/src/strings.c -+++ elfutils-0.164/src/strings.c +--- elfutils-0.166.orig/src/strings.c ++++ elfutils-0.166/src/strings.c @@ -25,7 +25,7 @@ #include <ctype.h> #include <endian.h> @@ -719,10 +719,10 @@ Index: elfutils-0.164/src/strings.c #include <fcntl.h> #include <gelf.h> #include <inttypes.h> -Index: elfutils-0.164/src/strip.c +Index: elfutils-0.166/src/strip.c =================================================================== ---- elfutils-0.164.orig/src/strip.c -+++ elfutils-0.164/src/strip.c +--- elfutils-0.166.orig/src/strip.c ++++ elfutils-0.166/src/strip.c @@ -24,7 +24,7 @@ #include <assert.h> #include <byteswap.h> @@ -732,10 +732,10 @@ Index: elfutils-0.164/src/strip.c #include <fcntl.h> #include <gelf.h> #include <libelf.h> -Index: elfutils-0.164/src/unstrip.c +Index: elfutils-0.166/src/unstrip.c =================================================================== ---- elfutils-0.164.orig/src/unstrip.c -+++ elfutils-0.164/src/unstrip.c +--- elfutils-0.166.orig/src/unstrip.c ++++ elfutils-0.166/src/unstrip.c @@ -31,7 +31,7 @@ #include <argp.h> #include <assert.h> @@ -745,10 +745,10 @@ Index: elfutils-0.164/src/unstrip.c #include <fcntl.h> #include <fnmatch.h> #include <libintl.h> -Index: elfutils-0.164/tests/addrscopes.c +Index: elfutils-0.166/tests/addrscopes.c =================================================================== ---- elfutils-0.164.orig/tests/addrscopes.c -+++ elfutils-0.164/tests/addrscopes.c +--- elfutils-0.166.orig/tests/addrscopes.c ++++ elfutils-0.166/tests/addrscopes.c @@ -25,7 +25,7 @@ #include <stdio_ext.h> #include <locale.h> @@ -758,10 +758,10 @@ Index: elfutils-0.164/tests/addrscopes.c #include <string.h> -Index: elfutils-0.164/tests/allregs.c +Index: elfutils-0.166/tests/allregs.c =================================================================== ---- elfutils-0.164.orig/tests/allregs.c -+++ elfutils-0.164/tests/allregs.c +--- elfutils-0.166.orig/tests/allregs.c ++++ elfutils-0.166/tests/allregs.c @@ -21,7 +21,7 @@ #include <stdio.h> #include <stdlib.h> @@ -771,10 +771,10 @@ Index: elfutils-0.164/tests/allregs.c #include <locale.h> #include <argp.h> #include <assert.h> -Index: elfutils-0.164/tests/backtrace-data.c +Index: elfutils-0.166/tests/backtrace-data.c =================================================================== ---- elfutils-0.164.orig/tests/backtrace-data.c -+++ elfutils-0.164/tests/backtrace-data.c +--- elfutils-0.166.orig/tests/backtrace-data.c ++++ elfutils-0.166/tests/backtrace-data.c @@ -27,7 +27,7 @@ #include <dirent.h> #include <stdlib.h> @@ -784,10 +784,10 @@ Index: elfutils-0.164/tests/backtrace-data.c #include <unistd.h> #include <dwarf.h> #if defined(__x86_64__) && defined(__linux__) -Index: elfutils-0.164/tests/backtrace-dwarf.c +Index: elfutils-0.166/tests/backtrace-dwarf.c =================================================================== ---- elfutils-0.164.orig/tests/backtrace-dwarf.c -+++ elfutils-0.164/tests/backtrace-dwarf.c +--- elfutils-0.166.orig/tests/backtrace-dwarf.c ++++ elfutils-0.166/tests/backtrace-dwarf.c @@ -22,7 +22,7 @@ #include <stdio_ext.h> #include <locale.h> @@ -797,10 +797,10 @@ Index: elfutils-0.164/tests/backtrace-dwarf.c #include <unistd.h> #include <sys/ptrace.h> #include <sys/types.h> -Index: elfutils-0.164/tests/backtrace.c +Index: elfutils-0.166/tests/backtrace.c =================================================================== ---- elfutils-0.164.orig/tests/backtrace.c -+++ elfutils-0.164/tests/backtrace.c +--- elfutils-0.166.orig/tests/backtrace.c ++++ elfutils-0.166/tests/backtrace.c @@ -24,7 +24,7 @@ #include <dirent.h> #include <stdlib.h> @@ -810,10 +810,10 @@ Index: elfutils-0.164/tests/backtrace.c #include <unistd.h> #include <dwarf.h> #ifdef __linux__ -Index: elfutils-0.164/tests/buildid.c +Index: elfutils-0.166/tests/buildid.c =================================================================== ---- elfutils-0.164.orig/tests/buildid.c -+++ elfutils-0.164/tests/buildid.c +--- elfutils-0.166.orig/tests/buildid.c ++++ elfutils-0.166/tests/buildid.c @@ -23,7 +23,7 @@ #include ELFUTILS_HEADER(elf) #include ELFUTILS_HEADER(dwelf) @@ -823,10 +823,10 @@ Index: elfutils-0.164/tests/buildid.c #include <string.h> #include <stdlib.h> #include <sys/types.h> -Index: elfutils-0.164/tests/debugaltlink.c +Index: elfutils-0.166/tests/debugaltlink.c =================================================================== ---- elfutils-0.164.orig/tests/debugaltlink.c -+++ elfutils-0.164/tests/debugaltlink.c +--- elfutils-0.166.orig/tests/debugaltlink.c ++++ elfutils-0.166/tests/debugaltlink.c @@ -23,7 +23,7 @@ #include ELFUTILS_HEADER(dw) #include ELFUTILS_HEADER(dwelf) @@ -836,10 +836,10 @@ Index: elfutils-0.164/tests/debugaltlink.c #include <string.h> #include <stdlib.h> #include <sys/types.h> -Index: elfutils-0.164/tests/debuglink.c +Index: elfutils-0.166/tests/debuglink.c =================================================================== ---- elfutils-0.164.orig/tests/debuglink.c -+++ elfutils-0.164/tests/debuglink.c +--- elfutils-0.166.orig/tests/debuglink.c ++++ elfutils-0.166/tests/debuglink.c @@ -21,7 +21,7 @@ #include <errno.h> #include ELFUTILS_HEADER(dwelf) @@ -849,10 +849,10 @@ Index: elfutils-0.164/tests/debuglink.c #include <string.h> #include <stdlib.h> #include <sys/types.h> -Index: elfutils-0.164/tests/deleted.c +Index: elfutils-0.166/tests/deleted.c =================================================================== ---- elfutils-0.164.orig/tests/deleted.c -+++ elfutils-0.164/tests/deleted.c +--- elfutils-0.166.orig/tests/deleted.c ++++ elfutils-0.166/tests/deleted.c @@ -21,7 +21,7 @@ #include <unistd.h> #include <assert.h> @@ -862,10 +862,10 @@ Index: elfutils-0.164/tests/deleted.c #include <errno.h> #ifdef __linux__ #include <sys/prctl.h> -Index: elfutils-0.164/tests/dwfl-addr-sect.c +Index: elfutils-0.166/tests/dwfl-addr-sect.c =================================================================== ---- elfutils-0.164.orig/tests/dwfl-addr-sect.c -+++ elfutils-0.164/tests/dwfl-addr-sect.c +--- elfutils-0.166.orig/tests/dwfl-addr-sect.c ++++ elfutils-0.166/tests/dwfl-addr-sect.c @@ -23,7 +23,7 @@ #include <stdio_ext.h> #include <stdlib.h> @@ -875,10 +875,10 @@ Index: elfutils-0.164/tests/dwfl-addr-sect.c #include <locale.h> #include <argp.h> #include ELFUTILS_HEADER(dwfl) -Index: elfutils-0.164/tests/dwfl-bug-addr-overflow.c +Index: elfutils-0.166/tests/dwfl-bug-addr-overflow.c =================================================================== ---- elfutils-0.164.orig/tests/dwfl-bug-addr-overflow.c -+++ elfutils-0.164/tests/dwfl-bug-addr-overflow.c +--- elfutils-0.166.orig/tests/dwfl-bug-addr-overflow.c ++++ elfutils-0.166/tests/dwfl-bug-addr-overflow.c @@ -20,7 +20,7 @@ #include <inttypes.h> #include <stdio.h> @@ -888,10 +888,10 @@ Index: elfutils-0.164/tests/dwfl-bug-addr-overflow.c #include <locale.h> #include ELFUTILS_HEADER(dwfl) -Index: elfutils-0.164/tests/dwfl-bug-fd-leak.c +Index: elfutils-0.166/tests/dwfl-bug-fd-leak.c =================================================================== ---- elfutils-0.164.orig/tests/dwfl-bug-fd-leak.c -+++ elfutils-0.164/tests/dwfl-bug-fd-leak.c +--- elfutils-0.166.orig/tests/dwfl-bug-fd-leak.c ++++ elfutils-0.166/tests/dwfl-bug-fd-leak.c @@ -24,7 +24,7 @@ #include <dirent.h> #include <stdlib.h> @@ -900,11 +900,11 @@ Index: elfutils-0.164/tests/dwfl-bug-fd-leak.c +#include <err.h> #include <unistd.h> #include <dwarf.h> - #include <sys/resource.h> -Index: elfutils-0.164/tests/dwfl-bug-getmodules.c + +Index: elfutils-0.166/tests/dwfl-bug-getmodules.c =================================================================== ---- elfutils-0.164.orig/tests/dwfl-bug-getmodules.c -+++ elfutils-0.164/tests/dwfl-bug-getmodules.c +--- elfutils-0.166.orig/tests/dwfl-bug-getmodules.c ++++ elfutils-0.166/tests/dwfl-bug-getmodules.c @@ -18,7 +18,7 @@ #include <config.h> #include ELFUTILS_HEADER(dwfl) @@ -914,10 +914,10 @@ Index: elfutils-0.164/tests/dwfl-bug-getmodules.c static const Dwfl_Callbacks callbacks = { -Index: elfutils-0.164/tests/dwfl-report-elf-align.c +Index: elfutils-0.166/tests/dwfl-report-elf-align.c =================================================================== ---- elfutils-0.164.orig/tests/dwfl-report-elf-align.c -+++ elfutils-0.164/tests/dwfl-report-elf-align.c +--- elfutils-0.166.orig/tests/dwfl-report-elf-align.c ++++ elfutils-0.166/tests/dwfl-report-elf-align.c @@ -20,7 +20,7 @@ #include <inttypes.h> #include <stdio.h> @@ -927,10 +927,10 @@ Index: elfutils-0.164/tests/dwfl-report-elf-align.c #include <locale.h> #include <string.h> #include <stdlib.h> -Index: elfutils-0.164/tests/dwfllines.c +Index: elfutils-0.166/tests/dwfllines.c =================================================================== ---- elfutils-0.164.orig/tests/dwfllines.c -+++ elfutils-0.164/tests/dwfllines.c +--- elfutils-0.166.orig/tests/dwfllines.c ++++ elfutils-0.166/tests/dwfllines.c @@ -27,7 +27,7 @@ #include <stdio.h> #include <stdlib.h> @@ -940,10 +940,10 @@ Index: elfutils-0.164/tests/dwfllines.c int main (int argc, char *argv[]) -Index: elfutils-0.164/tests/dwflmodtest.c +Index: elfutils-0.166/tests/dwflmodtest.c =================================================================== ---- elfutils-0.164.orig/tests/dwflmodtest.c -+++ elfutils-0.164/tests/dwflmodtest.c +--- elfutils-0.166.orig/tests/dwflmodtest.c ++++ elfutils-0.166/tests/dwflmodtest.c @@ -23,7 +23,7 @@ #include <stdio_ext.h> #include <stdlib.h> @@ -953,10 +953,10 @@ Index: elfutils-0.164/tests/dwflmodtest.c #include <locale.h> #include <argp.h> #include ELFUTILS_HEADER(dwfl) -Index: elfutils-0.164/tests/dwflsyms.c +Index: elfutils-0.166/tests/dwflsyms.c =================================================================== ---- elfutils-0.164.orig/tests/dwflsyms.c -+++ elfutils-0.164/tests/dwflsyms.c +--- elfutils-0.166.orig/tests/dwflsyms.c ++++ elfutils-0.166/tests/dwflsyms.c @@ -25,7 +25,7 @@ #include <stdio.h> #include <stdio_ext.h> @@ -966,10 +966,10 @@ Index: elfutils-0.164/tests/dwflsyms.c #include <string.h> static const char * -Index: elfutils-0.164/tests/early-offscn.c +Index: elfutils-0.166/tests/early-offscn.c =================================================================== ---- elfutils-0.164.orig/tests/early-offscn.c -+++ elfutils-0.164/tests/early-offscn.c +--- elfutils-0.166.orig/tests/early-offscn.c ++++ elfutils-0.166/tests/early-offscn.c @@ -19,7 +19,7 @@ #endif @@ -979,10 +979,10 @@ Index: elfutils-0.164/tests/early-offscn.c #include <fcntl.h> #include <gelf.h> #include <stdio.h> -Index: elfutils-0.164/tests/ecp.c +Index: elfutils-0.166/tests/ecp.c =================================================================== ---- elfutils-0.164.orig/tests/ecp.c -+++ elfutils-0.164/tests/ecp.c +--- elfutils-0.166.orig/tests/ecp.c ++++ elfutils-0.166/tests/ecp.c @@ -20,7 +20,7 @@ #endif @@ -992,10 +992,10 @@ Index: elfutils-0.164/tests/ecp.c #include <fcntl.h> #include <gelf.h> #include <stdlib.h> -Index: elfutils-0.164/tests/find-prologues.c +Index: elfutils-0.166/tests/find-prologues.c =================================================================== ---- elfutils-0.164.orig/tests/find-prologues.c -+++ elfutils-0.164/tests/find-prologues.c +--- elfutils-0.166.orig/tests/find-prologues.c ++++ elfutils-0.166/tests/find-prologues.c @@ -25,7 +25,7 @@ #include <stdio_ext.h> #include <locale.h> @@ -1005,10 +1005,10 @@ Index: elfutils-0.164/tests/find-prologues.c #include <string.h> #include <fnmatch.h> -Index: elfutils-0.164/tests/funcretval.c +Index: elfutils-0.166/tests/funcretval.c =================================================================== ---- elfutils-0.164.orig/tests/funcretval.c -+++ elfutils-0.164/tests/funcretval.c +--- elfutils-0.166.orig/tests/funcretval.c ++++ elfutils-0.166/tests/funcretval.c @@ -25,7 +25,7 @@ #include <stdio_ext.h> #include <locale.h> @@ -1018,10 +1018,10 @@ Index: elfutils-0.164/tests/funcretval.c #include <string.h> #include <fnmatch.h> -Index: elfutils-0.164/tests/funcscopes.c +Index: elfutils-0.166/tests/funcscopes.c =================================================================== ---- elfutils-0.164.orig/tests/funcscopes.c -+++ elfutils-0.164/tests/funcscopes.c +--- elfutils-0.166.orig/tests/funcscopes.c ++++ elfutils-0.166/tests/funcscopes.c @@ -25,7 +25,7 @@ #include <stdio_ext.h> #include <locale.h> @@ -1031,10 +1031,10 @@ Index: elfutils-0.164/tests/funcscopes.c #include <string.h> #include <fnmatch.h> -Index: elfutils-0.164/tests/getsrc_die.c +Index: elfutils-0.166/tests/getsrc_die.c =================================================================== ---- elfutils-0.164.orig/tests/getsrc_die.c -+++ elfutils-0.164/tests/getsrc_die.c +--- elfutils-0.166.orig/tests/getsrc_die.c ++++ elfutils-0.166/tests/getsrc_die.c @@ -19,7 +19,7 @@ #endif @@ -1044,10 +1044,10 @@ Index: elfutils-0.164/tests/getsrc_die.c #include <fcntl.h> #include <inttypes.h> #include <libelf.h> -Index: elfutils-0.164/tests/line2addr.c +Index: elfutils-0.166/tests/line2addr.c =================================================================== ---- elfutils-0.164.orig/tests/line2addr.c -+++ elfutils-0.164/tests/line2addr.c +--- elfutils-0.166.orig/tests/line2addr.c ++++ elfutils-0.166/tests/line2addr.c @@ -26,7 +26,7 @@ #include <locale.h> #include <stdlib.h> @@ -1057,10 +1057,10 @@ Index: elfutils-0.164/tests/line2addr.c static void -Index: elfutils-0.164/tests/low_high_pc.c +Index: elfutils-0.166/tests/low_high_pc.c =================================================================== ---- elfutils-0.164.orig/tests/low_high_pc.c -+++ elfutils-0.164/tests/low_high_pc.c +--- elfutils-0.166.orig/tests/low_high_pc.c ++++ elfutils-0.166/tests/low_high_pc.c @@ -25,7 +25,7 @@ #include <stdio_ext.h> #include <locale.h> @@ -1070,10 +1070,10 @@ Index: elfutils-0.164/tests/low_high_pc.c #include <string.h> #include <fnmatch.h> -Index: elfutils-0.164/tests/md5-sha1-test.c +Index: elfutils-0.166/tests/md5-sha1-test.c =================================================================== ---- elfutils-0.164.orig/tests/md5-sha1-test.c -+++ elfutils-0.164/tests/md5-sha1-test.c +--- elfutils-0.166.orig/tests/md5-sha1-test.c ++++ elfutils-0.166/tests/md5-sha1-test.c @@ -19,7 +19,7 @@ #endif @@ -1083,10 +1083,10 @@ Index: elfutils-0.164/tests/md5-sha1-test.c #include "md5.h" #include "sha1.h" -Index: elfutils-0.164/tests/rdwrmmap.c +Index: elfutils-0.166/tests/rdwrmmap.c =================================================================== ---- elfutils-0.164.orig/tests/rdwrmmap.c -+++ elfutils-0.164/tests/rdwrmmap.c +--- elfutils-0.166.orig/tests/rdwrmmap.c ++++ elfutils-0.166/tests/rdwrmmap.c @@ -19,7 +19,7 @@ #endif @@ -1096,10 +1096,10 @@ Index: elfutils-0.164/tests/rdwrmmap.c #include <stdio.h> #include <fcntl.h> #include <unistd.h> -Index: elfutils-0.164/tests/saridx.c +Index: elfutils-0.166/tests/saridx.c =================================================================== ---- elfutils-0.164.orig/tests/saridx.c -+++ elfutils-0.164/tests/saridx.c +--- elfutils-0.166.orig/tests/saridx.c ++++ elfutils-0.166/tests/saridx.c @@ -17,7 +17,7 @@ #include <config.h> @@ -1109,10 +1109,10 @@ Index: elfutils-0.164/tests/saridx.c #include <fcntl.h> #include <gelf.h> #include <stdio.h> -Index: elfutils-0.164/tests/sectiondump.c +Index: elfutils-0.166/tests/sectiondump.c =================================================================== ---- elfutils-0.164.orig/tests/sectiondump.c -+++ elfutils-0.164/tests/sectiondump.c +--- elfutils-0.166.orig/tests/sectiondump.c ++++ elfutils-0.166/tests/sectiondump.c @@ -18,7 +18,7 @@ #include <config.h> @@ -1122,10 +1122,10 @@ Index: elfutils-0.164/tests/sectiondump.c #include <fcntl.h> #include <gelf.h> #include <inttypes.h> -Index: elfutils-0.164/tests/varlocs.c +Index: elfutils-0.166/tests/varlocs.c =================================================================== ---- elfutils-0.164.orig/tests/varlocs.c -+++ elfutils-0.164/tests/varlocs.c +--- elfutils-0.166.orig/tests/varlocs.c ++++ elfutils-0.166/tests/varlocs.c @@ -25,7 +25,7 @@ #include <dwarf.h> #include <stdio.h> @@ -1135,10 +1135,10 @@ Index: elfutils-0.164/tests/varlocs.c #include <string.h> #include <sys/types.h> #include <sys/stat.h> -Index: elfutils-0.164/tests/vdsosyms.c +Index: elfutils-0.166/tests/vdsosyms.c =================================================================== ---- elfutils-0.164.orig/tests/vdsosyms.c -+++ elfutils-0.164/tests/vdsosyms.c +--- elfutils-0.166.orig/tests/vdsosyms.c ++++ elfutils-0.166/tests/vdsosyms.c @@ -18,7 +18,7 @@ #include <config.h> #include <assert.h> @@ -1148,10 +1148,10 @@ Index: elfutils-0.164/tests/vdsosyms.c #include <inttypes.h> #include <stdio.h> #include <string.h> -Index: elfutils-0.164/libelf/elf_getarsym.c +Index: elfutils-0.166/libelf/elf_getarsym.c =================================================================== ---- elfutils-0.164.orig/libelf/elf_getarsym.c -+++ elfutils-0.164/libelf/elf_getarsym.c +--- elfutils-0.166.orig/libelf/elf_getarsym.c ++++ elfutils-0.166/libelf/elf_getarsym.c @@ -302,7 +302,7 @@ elf_getarsym (Elf *elf, size_t *ptr) arsym[cnt].as_off = (*u32)[cnt]; diff --git a/import-layers/yocto-poky/meta/recipes-devtools/elfutils/elfutils-0.164/0001-elf_getarsym-Silence-Werror-maybe-uninitialized-fals.patch b/import-layers/yocto-poky/meta/recipes-devtools/elfutils/elfutils-0.166/0001-elf_getarsym-Silence-Werror-maybe-uninitialized-fals.patch index 3754c1c36..3754c1c36 100644 --- a/import-layers/yocto-poky/meta/recipes-devtools/elfutils/elfutils-0.164/0001-elf_getarsym-Silence-Werror-maybe-uninitialized-fals.patch +++ b/import-layers/yocto-poky/meta/recipes-devtools/elfutils/elfutils-0.166/0001-elf_getarsym-Silence-Werror-maybe-uninitialized-fals.patch diff --git a/import-layers/yocto-poky/meta/recipes-devtools/elfutils/elfutils-0.164/0001-fix-a-stack-usage-warning.patch b/import-layers/yocto-poky/meta/recipes-devtools/elfutils/elfutils-0.166/0001-fix-a-stack-usage-warning.patch index 6923bf705..6923bf705 100644 --- a/import-layers/yocto-poky/meta/recipes-devtools/elfutils/elfutils-0.164/0001-fix-a-stack-usage-warning.patch +++ b/import-layers/yocto-poky/meta/recipes-devtools/elfutils/elfutils-0.166/0001-fix-a-stack-usage-warning.patch diff --git a/import-layers/yocto-poky/meta/recipes-devtools/elfutils/elfutils-0.164/0001-remove-the-unneed-checking.patch b/import-layers/yocto-poky/meta/recipes-devtools/elfutils/elfutils-0.166/0001-remove-the-unneed-checking.patch index 5be92d705..5be92d705 100644 --- a/import-layers/yocto-poky/meta/recipes-devtools/elfutils/elfutils-0.164/0001-remove-the-unneed-checking.patch +++ b/import-layers/yocto-poky/meta/recipes-devtools/elfutils/elfutils-0.166/0001-remove-the-unneed-checking.patch diff --git a/import-layers/yocto-poky/meta/recipes-devtools/elfutils/elfutils-0.164/0002-Add-support-for-mips64-abis-in-mips_retval.c.patch b/import-layers/yocto-poky/meta/recipes-devtools/elfutils/elfutils-0.166/0002-Add-support-for-mips64-abis-in-mips_retval.c.patch index 72125c9ff..72125c9ff 100644 --- a/import-layers/yocto-poky/meta/recipes-devtools/elfutils/elfutils-0.164/0002-Add-support-for-mips64-abis-in-mips_retval.c.patch +++ b/import-layers/yocto-poky/meta/recipes-devtools/elfutils/elfutils-0.166/0002-Add-support-for-mips64-abis-in-mips_retval.c.patch diff --git a/import-layers/yocto-poky/meta/recipes-devtools/elfutils/elfutils-0.164/0003-Add-mips-n64-relocation-format-hack.patch b/import-layers/yocto-poky/meta/recipes-devtools/elfutils/elfutils-0.166/0003-Add-mips-n64-relocation-format-hack.patch index 14b7985ce..14b7985ce 100644 --- a/import-layers/yocto-poky/meta/recipes-devtools/elfutils/elfutils-0.164/0003-Add-mips-n64-relocation-format-hack.patch +++ b/import-layers/yocto-poky/meta/recipes-devtools/elfutils/elfutils-0.166/0003-Add-mips-n64-relocation-format-hack.patch diff --git a/import-layers/yocto-poky/meta/recipes-devtools/elfutils/elfutils-0.164/aarch64_uio.patch b/import-layers/yocto-poky/meta/recipes-devtools/elfutils/elfutils-0.166/aarch64_uio.patch index 38dc57bef..38dc57bef 100644 --- a/import-layers/yocto-poky/meta/recipes-devtools/elfutils/elfutils-0.164/aarch64_uio.patch +++ b/import-layers/yocto-poky/meta/recipes-devtools/elfutils/elfutils-0.166/aarch64_uio.patch diff --git a/import-layers/yocto-poky/meta/recipes-devtools/elfutils/elfutils-0.164/arm_backend.diff b/import-layers/yocto-poky/meta/recipes-devtools/elfutils/elfutils-0.166/arm_backend.diff index 9d47f95f2..9d47f95f2 100644 --- a/import-layers/yocto-poky/meta/recipes-devtools/elfutils/elfutils-0.164/arm_backend.diff +++ b/import-layers/yocto-poky/meta/recipes-devtools/elfutils/elfutils-0.166/arm_backend.diff diff --git a/import-layers/yocto-poky/meta/recipes-devtools/elfutils/elfutils-0.166/elfcmp-fix-self-comparision.patch b/import-layers/yocto-poky/meta/recipes-devtools/elfutils/elfutils-0.166/elfcmp-fix-self-comparision.patch new file mode 100644 index 000000000..6c150bb54 --- /dev/null +++ b/import-layers/yocto-poky/meta/recipes-devtools/elfutils/elfutils-0.166/elfcmp-fix-self-comparision.patch @@ -0,0 +1,41 @@ +From 836a16fe5b5bab4a3afe2c991c104652775ce3a3 Mon Sep 17 00:00:00 2001 +From: David Abdurachmanov <davidlt@cern.ch> +Date: Mon, 11 Apr 2016 16:00:57 +0200 +Subject: elfcmp: fix self-comparison error with GCC 6 +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Noticed with Fedora 24 Alpha, gcc (GCC) 6.0.0 20160406 +(Red Hat 6.0.0-0.20). + +elfcmp.c: In function ‘main’: +elfcmp.c:364:199: error: self-comparison always evaluates +to false [-Werror=tautological-compare] + if (unlikely (name1 == NULL || name2 == NULL + +Signed-off-by: David Abdurachmanov <davidlt@cern.ch> +--- + +Upstream-Status: Backport + + src/ChangeLog | 4 ++++ + src/elfcmp.c | 2 +- + 2 files changed, 5 insertions(+), 1 deletion(-) + +diff --git a/src/elfcmp.c b/src/elfcmp.c +index 852b92f..7b5d39c 100644 +--- a/src/elfcmp.c ++++ b/src/elfcmp.c +@@ -368,7 +368,7 @@ main (int argc, char *argv[]) + && sym1->st_shndx != SHN_UNDEF) + || sym1->st_info != sym2->st_info + || sym1->st_other != sym2->st_other +- || sym1->st_shndx != sym1->st_shndx)) ++ || sym1->st_shndx != sym2->st_shndx)) + { + // XXX Do we want to allow reordered symbol tables? + symtab_mismatch: +-- +cgit v0.12 + diff --git a/import-layers/yocto-poky/meta/recipes-devtools/elfutils/elfutils-0.164/fixheadercheck.patch b/import-layers/yocto-poky/meta/recipes-devtools/elfutils/elfutils-0.166/fixheadercheck.patch index 5de3b24c8..5de3b24c8 100644 --- a/import-layers/yocto-poky/meta/recipes-devtools/elfutils/elfutils-0.164/fixheadercheck.patch +++ b/import-layers/yocto-poky/meta/recipes-devtools/elfutils/elfutils-0.166/fixheadercheck.patch diff --git a/import-layers/yocto-poky/meta/recipes-devtools/elfutils/elfutils-0.164/hppa_backend.diff b/import-layers/yocto-poky/meta/recipes-devtools/elfutils/elfutils-0.166/hppa_backend.diff index 45456715a..45456715a 100644 --- a/import-layers/yocto-poky/meta/recipes-devtools/elfutils/elfutils-0.164/hppa_backend.diff +++ b/import-layers/yocto-poky/meta/recipes-devtools/elfutils/elfutils-0.166/hppa_backend.diff diff --git a/import-layers/yocto-poky/meta/recipes-devtools/elfutils/elfutils-0.164/kfreebsd_path.patch b/import-layers/yocto-poky/meta/recipes-devtools/elfutils/elfutils-0.166/kfreebsd_path.patch index ba454ee77..ba454ee77 100644 --- a/import-layers/yocto-poky/meta/recipes-devtools/elfutils/elfutils-0.164/kfreebsd_path.patch +++ b/import-layers/yocto-poky/meta/recipes-devtools/elfutils/elfutils-0.166/kfreebsd_path.patch diff --git a/import-layers/yocto-poky/meta/recipes-devtools/elfutils/elfutils-0.164/m68k_backend.diff b/import-layers/yocto-poky/meta/recipes-devtools/elfutils/elfutils-0.166/m68k_backend.diff index d73855b60..d73855b60 100644 --- a/import-layers/yocto-poky/meta/recipes-devtools/elfutils/elfutils-0.164/m68k_backend.diff +++ b/import-layers/yocto-poky/meta/recipes-devtools/elfutils/elfutils-0.166/m68k_backend.diff diff --git a/import-layers/yocto-poky/meta/recipes-devtools/elfutils/elfutils-0.164/mips_backend.diff b/import-layers/yocto-poky/meta/recipes-devtools/elfutils/elfutils-0.166/mips_backend.diff index de1237be0..de1237be0 100644 --- a/import-layers/yocto-poky/meta/recipes-devtools/elfutils/elfutils-0.164/mips_backend.diff +++ b/import-layers/yocto-poky/meta/recipes-devtools/elfutils/elfutils-0.166/mips_backend.diff diff --git a/import-layers/yocto-poky/meta/recipes-devtools/elfutils/elfutils-0.164/mips_readelf_w.patch b/import-layers/yocto-poky/meta/recipes-devtools/elfutils/elfutils-0.166/mips_readelf_w.patch index 930d6f664..930d6f664 100644 --- a/import-layers/yocto-poky/meta/recipes-devtools/elfutils/elfutils-0.164/mips_readelf_w.patch +++ b/import-layers/yocto-poky/meta/recipes-devtools/elfutils/elfutils-0.166/mips_readelf_w.patch diff --git a/import-layers/yocto-poky/meta/recipes-devtools/elfutils/elfutils-0.164/shadow.patch b/import-layers/yocto-poky/meta/recipes-devtools/elfutils/elfutils-0.166/shadow.patch index d31961f94..d31961f94 100644 --- a/import-layers/yocto-poky/meta/recipes-devtools/elfutils/elfutils-0.164/shadow.patch +++ b/import-layers/yocto-poky/meta/recipes-devtools/elfutils/elfutils-0.166/shadow.patch diff --git a/import-layers/yocto-poky/meta/recipes-devtools/elfutils/elfutils-0.164/testsuite-ignore-elflint.diff b/import-layers/yocto-poky/meta/recipes-devtools/elfutils/elfutils-0.166/testsuite-ignore-elflint.diff index eae5796de..eae5796de 100644 --- a/import-layers/yocto-poky/meta/recipes-devtools/elfutils/elfutils-0.164/testsuite-ignore-elflint.diff +++ b/import-layers/yocto-poky/meta/recipes-devtools/elfutils/elfutils-0.166/testsuite-ignore-elflint.diff diff --git a/import-layers/yocto-poky/meta/recipes-devtools/elfutils/elfutils-0.164/uclibc-support.patch b/import-layers/yocto-poky/meta/recipes-devtools/elfutils/elfutils-0.166/uclibc-support.patch index 966b70fcc..62999985c 100644 --- a/import-layers/yocto-poky/meta/recipes-devtools/elfutils/elfutils-0.164/uclibc-support.patch +++ b/import-layers/yocto-poky/meta/recipes-devtools/elfutils/elfutils-0.166/uclibc-support.patch @@ -25,11 +25,11 @@ Signed-off-by: Junling Zheng <zhengjunling@huawei.com> libelf/Makefile.am | 5 +++++ 4 files changed, 23 insertions(+), 1 deletion(-) -Index: elfutils-0.164/configure.ac +Index: elfutils-0.166/configure.ac =================================================================== ---- elfutils-0.164.orig/configure.ac -+++ elfutils-0.164/configure.ac -@@ -66,6 +66,14 @@ AS_IF([test "$use_locks" = yes], +--- elfutils-0.166.orig/configure.ac ++++ elfutils-0.166/configure.ac +@@ -79,6 +79,14 @@ AS_IF([test "$use_locks" = yes], AH_TEMPLATE([USE_LOCKS], [Defined if libraries should be thread-safe.]) @@ -44,7 +44,7 @@ Index: elfutils-0.164/configure.ac AC_PROG_CC AC_PROG_RANLIB AC_PROG_YACC -@@ -291,18 +299,13 @@ AC_LINK_IFELSE( +@@ -347,18 +355,13 @@ AC_LINK_IFELSE( ) dnl If our libc doesn't provide argp, then test for libargp @@ -70,10 +70,10 @@ Index: elfutils-0.164/configure.ac AC_SUBST([argp_LDADD]) dnl The directories with content. -Index: elfutils-0.164/libcpu/Makefile.am +Index: elfutils-0.166/libcpu/Makefile.am =================================================================== ---- elfutils-0.164.orig/libcpu/Makefile.am -+++ elfutils-0.164/libcpu/Makefile.am +--- elfutils-0.166.orig/libcpu/Makefile.am ++++ elfutils-0.166/libcpu/Makefile.am @@ -80,6 +80,10 @@ i386_parse_CFLAGS = -DNMNES="`wc -l < i3 i386_lex.o: i386_parse.h i386_gendis_LDADD = $(libeu) -lm @@ -85,10 +85,10 @@ Index: elfutils-0.164/libcpu/Makefile.am i386_parse.h: i386_parse.c ; EXTRA_DIST = defs/i386 -Index: elfutils-0.164/libdw/Makefile.am +Index: elfutils-0.166/libdw/Makefile.am =================================================================== ---- elfutils-0.164.orig/libdw/Makefile.am -+++ elfutils-0.164/libdw/Makefile.am +--- elfutils-0.166.orig/libdw/Makefile.am ++++ elfutils-0.166/libdw/Makefile.am @@ -102,6 +102,11 @@ endif libdw_pic_a_SOURCES = am_libdw_pic_a_OBJECTS = $(libdw_a_SOURCES:.c=.os) @@ -105,21 +105,20 @@ Index: elfutils-0.164/libdw/Makefile.am -Wl,--enable-new-dtags,-rpath,$(pkglibdir) \ -Wl,--version-script,$<,--no-undefined \ -Wl,--whole-archive $(filter-out $<,$^) -Wl,--no-whole-archive\ -- -ldl $(argp_LDADD) $(zip_LIBS) -+ -ldl $(argp_LDADD) $(zip_LIBS) $(libdw_so_LDLIBS) +- -ldl -lz $(argp_LDADD) $(zip_LIBS) ++ -ldl -lz $(argp_LDADD) $(zip_LIBS) $(libdw_so_LDLIBS) @$(textrel_check) $(AM_V_at)ln -fs $@ $@.$(VERSION) -Index: elfutils-0.164/libelf/Makefile.am +Index: elfutils-0.166/libelf/Makefile.am =================================================================== ---- elfutils-0.164.orig/libelf/Makefile.am -+++ elfutils-0.164/libelf/Makefile.am -@@ -93,7 +93,12 @@ libelf_a_SOURCES = elf_version.c elf_has - libelf_pic_a_SOURCES = +--- elfutils-0.166.orig/libelf/Makefile.am ++++ elfutils-0.166/libelf/Makefile.am +@@ -96,6 +96,11 @@ libelf_pic_a_SOURCES = am_libelf_pic_a_OBJECTS = $(libelf_a_SOURCES:.c=.os) + libelf_so_LDLIBS = -lz + - libelf_so_LDLIBS = +if USE_UCLIBC +libelf_so_LDLIBS += -lintl +endif diff --git a/import-layers/yocto-poky/meta/recipes-devtools/elfutils/elfutils_0.148.bb b/import-layers/yocto-poky/meta/recipes-devtools/elfutils/elfutils_0.148.bb index ff5325734..6080c179f 100644 --- a/import-layers/yocto-poky/meta/recipes-devtools/elfutils/elfutils_0.148.bb +++ b/import-layers/yocto-poky/meta/recipes-devtools/elfutils/elfutils_0.148.bb @@ -34,6 +34,7 @@ SRC_URI += "\ file://Fix_elf_cvt_gunhash.patch \ file://elf_begin.c-CVE-2014-9447-fix.patch \ file://fix-build-gcc-4.8.patch \ + file://gcc6.patch \ " # Only apply when building uclibc based target recipe SRC_URI_append_libc-uclibc = " file://uclibc-support-for-elfutils-0.148.patch" diff --git a/import-layers/yocto-poky/meta/recipes-devtools/elfutils/elfutils_0.164.bb b/import-layers/yocto-poky/meta/recipes-devtools/elfutils/elfutils_0.166.bb index 4964c0507..5c436d386 100644 --- a/import-layers/yocto-poky/meta/recipes-devtools/elfutils/elfutils_0.164.bb +++ b/import-layers/yocto-poky/meta/recipes-devtools/elfutils/elfutils_0.166.bb @@ -7,9 +7,8 @@ DEPENDS = "libtool bzip2 zlib virtual/libintl" DEPENDS_append_libc-musl = " argp-standalone fts " SRC_URI = "https://fedorahosted.org/releases/e/l/elfutils/${PV}/${BP}.tar.bz2" - -SRC_URI[md5sum] = "2e4536c1c48034f188a80789a59114d8" -SRC_URI[sha256sum] = "9683c025928a12d06b7fe812928aa6235249e22d197d086f7084606a48165900" +SRC_URI[md5sum] = "d4e462b7891915dc5326bccefa2024ff" +SRC_URI[sha256sum] = "3c056914c8a438b210be0d790463b960fc79d234c3f05ce707cbff80e94cba30" SRC_URI += "\ file://dso-link-change.patch \ @@ -36,6 +35,7 @@ SRC_URI += "\ file://0002-Add-support-for-mips64-abis-in-mips_retval.c.patch \ file://0003-Add-mips-n64-relocation-format-hack.patch \ file://uclibc-support.patch \ + file://elfcmp-fix-self-comparision.patch \ " SRC_URI_append_libc-musl = " file://0001-build-Provide-alternatives-for-glibc-assumptions-hel.patch " diff --git a/import-layers/yocto-poky/meta/recipes-devtools/file/file/host-file.patch b/import-layers/yocto-poky/meta/recipes-devtools/file/file/host-file.patch deleted file mode 100644 index a7efbdcbc..000000000 --- a/import-layers/yocto-poky/meta/recipes-devtools/file/file/host-file.patch +++ /dev/null @@ -1,32 +0,0 @@ -Upstream-Status: Submitted (http://bugs.gw.com/view.php?id=485) -Signed-off-by: Ross Burton <ross.burton@intel.com> - -From 3cde199d03b39632361c275cd30fa0612a03138b Mon Sep 17 00:00:00 2001 -From: Ross Burton <ross.burton@intel.com> -Date: Mon, 19 Oct 2015 10:30:57 +0100 -Subject: [PATCH 2/2] When using the host file, respect FILE_COMPILE - -If we're cross-compiling and not using the file binary that was just built, -execute the binary that we've been told to use (via FILE_COMPILE) when checking -the version instead of assuming that "file" is correct as the actual compile -uses FILE_COMPILE so different binaries may be used. ---- - magic/Makefile.am | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/magic/Makefile.am b/magic/Makefile.am -index 89ac844..67067fe 100644 ---- a/magic/Makefile.am -+++ b/magic/Makefile.am -@@ -293,7 +293,7 @@ ${MAGIC}: $(EXTRA_DIST) $(FILE_COMPILE_DEP) - @(if expr "${FILE_COMPILE}" : '.*/.*' > /dev/null; then \ - echo "Using ${FILE_COMPILE} to generate ${MAGIC}" > /dev/null; \ - else \ -- v=$$(file --version | sed -e s/file-// -e q); \ -+ v=$$(${FILE_COMPILE} --version | sed -e s/file-// -e q); \ - if [ "$$v" != "${PACKAGE_VERSION}" ]; then \ - echo "Cannot use the installed version of file ($$v) to"; \ - echo "cross-compile file ${PACKAGE_VERSION}"; \ --- -2.1.4 - diff --git a/import-layers/yocto-poky/meta/recipes-devtools/file/file_5.25.bb b/import-layers/yocto-poky/meta/recipes-devtools/file/file_5.28.bb index 68bad69b4..e64a89c80 100644 --- a/import-layers/yocto-poky/meta/recipes-devtools/file/file_5.25.bb +++ b/import-layers/yocto-poky/meta/recipes-devtools/file/file_5.28.bb @@ -17,10 +17,9 @@ UPSTREAM_CHECK_GITTAGREGEX = "FILE(?P<pver>(?!6_23).+)" SRC_URI = "git://github.com/file/file.git \ file://debian-742262.patch \ file://0001-Add-P-prompt-into-Usage-info.patch \ - file://host-file.patch \ " -SRCREV = "f45db89ddc91692b662fffbabbdafc7bc4c00f5e" +SRCREV = "3c521817322a6bf5160cfeb09b9145ccde587b2a" S = "${WORKDIR}/git" inherit autotools @@ -28,6 +27,8 @@ inherit autotools EXTRA_OEMAKE_append_class-target = "-e FILE_COMPILE=${STAGING_BINDIR_NATIVE}/file-native/file" EXTRA_OEMAKE_append_class-nativesdk = "-e FILE_COMPILE=${STAGING_BINDIR_NATIVE}/file-native/file" +CFLAGS_append = " -std=c99" + FILES_${PN} += "${datadir}/misc/*.mgc" do_install_append_class-native() { diff --git a/import-layers/yocto-poky/meta/recipes-devtools/flex/flex/0002-avoid-c-comments-in-c-code-fails-with-gcc-6.patch b/import-layers/yocto-poky/meta/recipes-devtools/flex/flex/0002-avoid-c-comments-in-c-code-fails-with-gcc-6.patch new file mode 100644 index 000000000..438ca5f52 --- /dev/null +++ b/import-layers/yocto-poky/meta/recipes-devtools/flex/flex/0002-avoid-c-comments-in-c-code-fails-with-gcc-6.patch @@ -0,0 +1,64 @@ +From 7072befe1397af4eb01c3ff7edf99f0cd5076089 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@googlemail.com> +Date: Tue, 30 Aug 2016 14:25:32 +0200 +Subject: [PATCH] avoid c++ comments in c-code - fails with gcc-6 +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +fixes: + +| error: C++ style comments are not allowed in ISO C90 +| num_to_alloc = 1; // After all that talk, this was set to 1 anyways... + +Upstream-Status: Pending + +Signed-off-by: Andreas Müller <schnitzeltony@googlemail.com> +--- + src/flex.skl | 2 +- + src/scan.c | 2 +- + src/skel.c | 2 +- + 3 files changed, 3 insertions(+), 3 deletions(-) + +diff --git a/src/flex.skl b/src/flex.skl +index 73a0b9e..ed71627 100644 +--- a/src/flex.skl ++++ b/src/flex.skl +@@ -2350,7 +2350,7 @@ void yyFlexLexer::yyensure_buffer_stack(void) + * scanner will even need a stack. We use 2 instead of 1 to avoid an + * immediate realloc on the next call. + */ +- num_to_alloc = 1; // After all that talk, this was set to 1 anyways... ++ num_to_alloc = 1; /* After all that talk, this was set to 1 anyways... */ + YY_G(yy_buffer_stack) = (struct yy_buffer_state**)yyalloc + (num_to_alloc * sizeof(struct yy_buffer_state*) + M4_YY_CALL_LAST_ARG); +diff --git a/src/scan.c b/src/scan.c +index b55df2d..f1dce75 100644 +--- a/src/scan.c ++++ b/src/scan.c +@@ -4672,7 +4672,7 @@ static void yyensure_buffer_stack (void) + * scanner will even need a stack. We use 2 instead of 1 to avoid an + * immediate realloc on the next call. + */ +- num_to_alloc = 1; // After all that talk, this was set to 1 anyways... ++ num_to_alloc = 1; /* After all that talk, this was set to 1 anyways...*/ + (yy_buffer_stack) = (struct yy_buffer_state**)yyalloc + (num_to_alloc * sizeof(struct yy_buffer_state*) + ); +diff --git a/src/skel.c b/src/skel.c +index ef657d3..26cc889 100644 +--- a/src/skel.c ++++ b/src/skel.c +@@ -2561,7 +2561,7 @@ const char *skel[] = { + " * scanner will even need a stack. We use 2 instead of 1 to avoid an", + " * immediate realloc on the next call.", + " */", +- " num_to_alloc = 1; // After all that talk, this was set to 1 anyways...", ++ " num_to_alloc = 1; /* After all that talk, this was set to 1 anyways... */", + " YY_G(yy_buffer_stack) = (struct yy_buffer_state**)yyalloc", + " (num_to_alloc * sizeof(struct yy_buffer_state*)", + " M4_YY_CALL_LAST_ARG);", +-- +2.5.5 + diff --git a/import-layers/yocto-poky/meta/recipes-devtools/flex/flex/CVE-2016-6354.patch b/import-layers/yocto-poky/meta/recipes-devtools/flex/flex/CVE-2016-6354.patch new file mode 100644 index 000000000..216ac7ae1 --- /dev/null +++ b/import-layers/yocto-poky/meta/recipes-devtools/flex/flex/CVE-2016-6354.patch @@ -0,0 +1,59 @@ +From 3939eccdff598f47e5b37b05d58bf1b44d3796e7 Mon Sep 17 00:00:00 2001 +From: Jussi Kukkonen <jussi.kukkonen@intel.com> +Date: Fri, 7 Oct 2016 14:15:38 +0300 +Subject: [PATCH] Prevent buffer overflow in yy_get_next_buffer + +This is upstream commit a5cbe929ac3255d371e698f62dc256afe7006466 +with some additional backporting to make binutils build again. + +Upstream-Status: Backport +CVE: CVE-2016-6354 +Signed-off-by: Jussi Kukkonen <jussi.kukkonen@intel.com> +--- + src/flex.skl | 2 +- + src/scan.c | 2 +- + src/skel.c | 2 +- + 3 files changed, 3 insertions(+), 3 deletions(-) + +diff --git a/src/flex.skl b/src/flex.skl +index ed71627..814d562 100644 +--- a/src/flex.skl ++++ b/src/flex.skl +@@ -1718,7 +1718,7 @@ int yyFlexLexer::yy_get_next_buffer() + + else + { +- yy_size_t num_to_read = ++ int num_to_read = + YY_CURRENT_BUFFER_LVALUE->yy_buf_size - number_to_move - 1; + + while ( num_to_read <= 0 ) +diff --git a/src/scan.c b/src/scan.c +index f1dce75..1949872 100644 +--- a/src/scan.c ++++ b/src/scan.c +@@ -4181,7 +4181,7 @@ static int yy_get_next_buffer (void) + + else + { +- yy_size_t num_to_read = ++ int num_to_read = + YY_CURRENT_BUFFER_LVALUE->yy_buf_size - number_to_move - 1; + + while ( num_to_read <= 0 ) +diff --git a/src/skel.c b/src/skel.c +index 26cc889..0344d18 100644 +--- a/src/skel.c ++++ b/src/skel.c +@@ -1929,7 +1929,7 @@ const char *skel[] = { + "", + " else", + " {", +- " yy_size_t num_to_read =", ++ " int num_to_read =", + " YY_CURRENT_BUFFER_LVALUE->yy_buf_size - number_to_move - 1;", + "", + " while ( num_to_read <= 0 )", +-- +2.1.4 + diff --git a/import-layers/yocto-poky/meta/recipes-devtools/flex/flex_2.6.0.bb b/import-layers/yocto-poky/meta/recipes-devtools/flex/flex_2.6.0.bb index 8285426d4..ab35b09f9 100644 --- a/import-layers/yocto-poky/meta/recipes-devtools/flex/flex_2.6.0.bb +++ b/import-layers/yocto-poky/meta/recipes-devtools/flex/flex_2.6.0.bb @@ -14,12 +14,16 @@ SRC_URI = "${SOURCEFORGE_MIRROR}/flex/flex-${PV}.tar.bz2 \ file://run-ptest \ file://do_not_create_pdf_doc.patch \ file://0001-tests-add-a-target-for-building-tests-without-runnin.patch \ + file://0002-avoid-c-comments-in-c-code-fails-with-gcc-6.patch \ + file://CVE-2016-6354.patch \ ${@bb.utils.contains('PTEST_ENABLED', '1', '', 'file://disable-tests.patch', d)} \ " SRC_URI[md5sum] = "266270f13c48ed043d95648075084d59" SRC_URI[sha256sum] = "24e611ef5a4703a191012f80c1027dc9d12555183ce0ecd46f3636e587e9b8e9" +# Flex has moved to github from 2.6.1 onwards +UPSTREAM_CHECK_URI = "https://github.com/westes/flex/releases" UPSTREAM_CHECK_REGEX = "flex-(?P<pver>\d+(\.\d+)+)\.tar" inherit autotools gettext texinfo ptest @@ -51,5 +55,8 @@ do_install_ptest() { cp ${S}/build-aux/test-driver ${D}${PTEST_PATH}/build-aux/ cp -r ${S}/tests/* ${D}${PTEST_PATH} cp -r ${B}/tests/* ${D}${PTEST_PATH} - sed -e 's/^Makefile:/_Makefile:/' -e 's/^srcdir = \(.*\)/srcdir = ./' -e 's/^top_srcdir = \(.*\)/top_srcdir = ./' -i ${D}${PTEST_PATH}/Makefile + sed -e 's/^Makefile:/_Makefile:/' \ + -e 's/^srcdir = \(.*\)/srcdir = ./' -e 's/^top_srcdir = \(.*\)/top_srcdir = ./' \ + -e 's/^builddir = \(.*\)/builddir = ./' -e 's/^top_builddir = \(.*\)/top_builddir = ./' \ + -i ${D}${PTEST_PATH}/Makefile } diff --git a/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-4.9.inc b/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-4.9.inc deleted file mode 100644 index 7e03f3121..000000000 --- a/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-4.9.inc +++ /dev/null @@ -1,139 +0,0 @@ -require gcc-common.inc - -# Third digit in PV should be incremented after a minor release - -PV = "4.9.3" - -# BINV should be incremented to a revision after a minor gcc release - -BINV = "4.9.3" - -FILESEXTRAPATHS =. "${FILE_DIRNAME}/gcc-4.9:" - -DEPENDS =+ "mpfr gmp libmpc zlib" -NATIVEDEPS = "mpfr-native gmp-native libmpc-native zlib-native" - -LICENSE = "GPL-3.0-with-GCC-exception & GPLv3" - -LIC_FILES_CHKSUM = "\ - file://COPYING;md5=59530bdf33659b29e73d4adb9f9f6552 \ - file://COPYING3;md5=d32239bcb673463ab874e80d47fae504 \ - file://COPYING3.LIB;md5=6a6a8e020838b23406c81b19c1d46df6 \ - file://COPYING.LIB;md5=2d5025d4aa3495befef8f17206a5b0a1 \ - file://COPYING.RUNTIME;md5=fe60d87048567d4fe8c8a0ed2448bcc8 \ -" - -SRC_URI = "\ - ${GNU_MIRROR}/gcc/gcc-${PV}/gcc-${PV}.tar.bz2 \ - file://0001-gcc-4.3.1-ARCH_FLAGS_FOR_TARGET.patch \ - file://0002-uclibc-conf.patch \ - file://0003-gcc-uclibc-locale-ctype_touplow_t.patch \ - file://0004-uclibc-locale.patch \ - file://0005-uclibc-locale-no__x.patch \ - file://0006-uclibc-locale-wchar_fix.patch \ - file://0007-uclibc-locale-update.patch \ - file://0008-missing-execinfo_h.patch \ - file://0009-c99-snprintf.patch \ - file://0010-c99-complex-ugly-hack.patch \ - file://0011-index_macro.patch \ - file://0013-libstdc-namespace.patch \ - file://0014-sh-pr24836.patch \ - file://0015-arm-Use-TARGET_ENDIAN_OPTION-for-determining-MULTILI.patch \ - file://0016-gcc-poison-system-directories.patch \ - file://0017-gcc-poison-dir-extend.patch \ - file://0018-gcc-4.3.3-SYSROOT_CFLAGS_FOR_TARGET.patch \ - file://0019-64-bit-multilib-hack.patch \ - file://0020-optional-libstdc.patch \ - file://0021-gcc-disable-MASK_RELAX_PIC_CALLS-bit.patch \ - file://0022-COLLECT_GCC_OPTIONS.patch \ - file://0023-Use-the-defaults.h-in-B-instead-of-S-and-t-oe-in-B.patch \ - file://0025-fortran-cross-compile-hack.patch \ - file://0026-libgcc-sjlj-check.patch \ - file://0027-cpp-honor-sysroot.patch \ - file://0028-MIPS64-Default-to-N64-ABI.patch \ - file://0029-Define-GLIBC_DYNAMIC_LINKER-and-UCLIBC_DYNAMIC_LINKE.patch \ - file://0030-gcc-Fix-argument-list-too-long-error.patch \ - file://0031-Disable-sdt.patch \ - file://0032-libtool.patch \ - file://0033-gcc-armv4-pass-fix-v4bx-to-linker-to-support-EABI.patch \ - file://0034-Use-the-multilib-config-files-from-B-instead-of-usin.patch \ - file://0040-fix-g++-sysroot.patch \ - file://0041-libtool-avoid-libdir.patch \ - file://0043-cpp.patch \ - file://0044-gengtypes.patch \ - file://0046-libatomic-deptracking.patch \ - file://0047-repomembug.patch \ - file://0049-Enable-SPE-AltiVec-generation-on-powepc-linux-target.patch \ - file://0050-Revert-Use-dbx_reg_number-for-spanning-registers.patch \ - file://0051-eabispe.patch \ - file://0052-Add-target-hook-to-override-DWARF2-frame-register-si.patch \ - file://0053-gcc-fix-segfault-from-calling-free-on-non-malloc-d-a.patch \ - file://0054-gcc-Makefile.in-fix-parallel-building-failure.patch \ - file://0055-dwarf-reg-processing-helper.patch \ - file://0056-define-default-cfa-register-mapping.patch \ - file://0057-aarch64-config.patch \ - file://0058-gcc-r212171.patch \ - file://0059-gcc-PR-rtl-optimization-63348.patch \ - file://0060-Only-allow-e500-double-in-SPE_SIMD_REGNO_P-registers.patch \ - file://0061-target-gcc-includedir.patch \ - file://0062-Use-SYSTEMLIBS_DIR-replacement-instead-of-hardcoding.patch \ - file://0063-nativesdk-gcc-support.patch \ - file://0064-handle-target-sysroot-multilib.patch \ - file://0065-gcc-483-universal-initializer-no-warning.patch \ - file://0066-cxxflags-for-build.patch \ - file://0067-fix-arm-thumb.patch \ - file://0067-gcc-musl-support.patch \ - file://0068-musl-dynamic-linker.patch \ - file://0069-musl-no-fixincludes.patch \ - file://0070-libstdc-musl.patch \ - file://0071-Ignore-fdebug-prefix-map-in-producer-string-by-Danie.patch \ - file://0072-support-ffile-prefix-map.patch \ - file://0073-Reuse-fdebug-prefix-map-to-replace-ffile-prefix-map.patch \ - file://0074-fdebug-prefix-map-support-to-remap-relative-path.patch \ -" -SRC_URI[md5sum] = "6f831b4d251872736e8e9cc09746f327" -SRC_URI[sha256sum] = "2332b2a5a321b57508b9031354a8503af6fdfb868b8c1748d33028d100a8b67e" - -UPSTREAM_CHECK_REGEX = "gcc-(?P<pver>4\.9\.\d+).tar" - -S = "${TMPDIR}/work-shared/gcc-${PV}-${PR}/gcc-${PV}" -B = "${WORKDIR}/gcc-${PV}/build.${HOST_SYS}.${TARGET_SYS}" - -# Language Overrides -FORTRAN = "" -JAVA = "" - -LTO = "--enable-lto" - -EXTRA_OECONF_BASE = "\ - ${LTO} \ - --enable-libssp \ - --disable-bootstrap \ - --disable-libmudflap \ - --with-system-zlib \ - --with-linker-hash-style=${LINKER_HASH_STYLE} \ - --enable-linker-build-id \ - --with-ppl=no \ - --with-cloog=no \ - --enable-checking=release \ - --enable-cheaders=c_global \ -" - -EXTRA_OECONF_INITIAL = "\ - --disable-libmudflap \ - --disable-libgomp \ - --disable-libssp \ - --disable-libquadmath \ - --with-system-zlib \ - --disable-lto \ - --disable-plugin \ - --enable-decimal-float=no \ -" - -EXTRA_OECONF_append_libc-uclibc = " --disable-decimal-float " - -EXTRA_OECONF_PATHS = "\ - --with-gxx-include-dir=/not/exist{target_includedir}/c++/${BINV} \ - --with-sysroot=/not/exist \ - --with-build-sysroot=${STAGING_DIR_TARGET} \ -" diff --git a/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-4.9/0010-c99-complex-ugly-hack.patch b/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-4.9/0010-c99-complex-ugly-hack.patch deleted file mode 100644 index b628571e5..000000000 --- a/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-4.9/0010-c99-complex-ugly-hack.patch +++ /dev/null @@ -1,29 +0,0 @@ -From 73f69d806e2c9561a54995223431a1076cfd6164 Mon Sep 17 00:00:00 2001 -From: Khem Raj <raj.khem@gmail.com> -Date: Fri, 29 Mar 2013 08:49:57 +0400 -Subject: [PATCH 10/35] c99-complex-ugly-hack - -Signed-off-by: Khem Raj <raj.khem@gmail.com> - -Upstream-Status: Inappropriate [embedded specific] ---- - libstdc++-v3/configure | 3 +++ - 1 file changed, 3 insertions(+) - -diff --git a/libstdc++-v3/configure b/libstdc++-v3/configure -index c57a751..a1333e2 100755 ---- a/libstdc++-v3/configure -+++ b/libstdc++-v3/configure -@@ -18734,6 +18734,9 @@ $as_echo_n "checking for ISO C99 support to TR1 in <complex.h>... " >&6; } - cat confdefs.h - <<_ACEOF >conftest.$ac_ext - /* end confdefs.h. */ - #include <complex.h> -+#ifdef __UCLIBC__ -+#error ugly hack to make sure configure test fails here for cross until uClibc supports the complex funcs -+#endif - int - main () - { --- -1.7.10.4 - diff --git a/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-4.9/0011-index_macro.patch b/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-4.9/0011-index_macro.patch deleted file mode 100644 index 8ee79b09b..000000000 --- a/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-4.9/0011-index_macro.patch +++ /dev/null @@ -1,44 +0,0 @@ -From b037953e40312b45ab84ed0a3ad882bb5e413101 Mon Sep 17 00:00:00 2001 -From: Khem Raj <raj.khem@gmail.com> -Date: Fri, 29 Mar 2013 08:51:02 +0400 -Subject: [PATCH 11/35] index_macro - -Signed-off-by: Khem Raj <raj.khem@gmail.com> - -Upstream-Status: Pending ---- - libstdc++-v3/include/ext/rope | 3 +++ - libstdc++-v3/include/ext/ropeimpl.h | 3 +++ - 2 files changed, 6 insertions(+) - -diff --git a/libstdc++-v3/include/ext/rope b/libstdc++-v3/include/ext/rope -index 38eb1e8..158d21a 100644 ---- a/libstdc++-v3/include/ext/rope -+++ b/libstdc++-v3/include/ext/rope -@@ -55,6 +55,9 @@ - #include <bits/gthr.h> - #include <tr1/functional> - -+/* cope w/ index defined as macro, SuSv3 proposal */ -+#undef index -+ - # ifdef __GC - # define __GC_CONST const - # else -diff --git a/libstdc++-v3/include/ext/ropeimpl.h b/libstdc++-v3/include/ext/ropeimpl.h -index d7b5cbd..b9b3acb 100644 ---- a/libstdc++-v3/include/ext/ropeimpl.h -+++ b/libstdc++-v3/include/ext/ropeimpl.h -@@ -48,6 +48,9 @@ - #include <ext/memory> // For uninitialized_copy_n - #include <ext/numeric> // For power - -+/* cope w/ index defined as macro, SuSv3 proposal */ -+#undef index -+ - namespace __gnu_cxx _GLIBCXX_VISIBILITY(default) - { - _GLIBCXX_BEGIN_NAMESPACE_VERSION --- -1.7.10.4 - diff --git a/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-4.9/0013-libstdc-namespace.patch b/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-4.9/0013-libstdc-namespace.patch deleted file mode 100644 index 4a3efdebd..000000000 --- a/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-4.9/0013-libstdc-namespace.patch +++ /dev/null @@ -1,54 +0,0 @@ -From 104e4d66208f2726b14d2f5eebce90700cbc83c8 Mon Sep 17 00:00:00 2001 -From: Khem Raj <raj.khem@gmail.com> -Date: Fri, 29 Mar 2013 08:54:02 +0400 -Subject: [PATCH 13/35] libstdc++-namespace - -Signed-off-by: Khem Raj <raj.khem@gmail.com> - -Upstream-Status: Pending ---- - libstdc++-v3/config/locale/uclibc/messages_members.h | 4 +++- - libstdc++-v3/config/locale/uclibc/time_members.h | 4 +++- - 2 files changed, 6 insertions(+), 2 deletions(-) - -diff --git a/libstdc++-v3/config/locale/uclibc/messages_members.h b/libstdc++-v3/config/locale/uclibc/messages_members.h -index 067657a..dd76a6c 100644 ---- a/libstdc++-v3/config/locale/uclibc/messages_members.h -+++ b/libstdc++-v3/config/locale/uclibc/messages_members.h -@@ -32,7 +32,8 @@ - // - - // Written by Benjamin Kosnik <bkoz@redhat.com> -- -+namespace std -+{ - #ifdef __UCLIBC_MJN3_ONLY__ - #warning fix prototypes for *textdomain funcs - #endif -@@ -116,3 +117,4 @@ - this->_S_create_c_locale(this->_M_c_locale_messages, __s); - } - } -+} -diff --git a/libstdc++-v3/config/locale/uclibc/time_members.h b/libstdc++-v3/config/locale/uclibc/time_members.h -index 1665dde..905c433 100644 ---- a/libstdc++-v3/config/locale/uclibc/time_members.h -+++ b/libstdc++-v3/config/locale/uclibc/time_members.h -@@ -33,7 +33,8 @@ - // - - // Written by Benjamin Kosnik <bkoz@redhat.com> -- -+namespace std -+{ - template<typename _CharT> - __timepunct<_CharT>::__timepunct(size_t __refs) - : facet(__refs), _M_data(NULL), _M_c_locale_timepunct(NULL), -@@ -75,3 +76,4 @@ - delete _M_data; - _S_destroy_c_locale(_M_c_locale_timepunct); - } -+} --- -1.7.10.4 - diff --git a/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-4.9/0014-sh-pr24836.patch b/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-4.9/0014-sh-pr24836.patch deleted file mode 100644 index cb8fd525b..000000000 --- a/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-4.9/0014-sh-pr24836.patch +++ /dev/null @@ -1,45 +0,0 @@ -From edc9acb181810f234b6b9f7d2820b0e4f6a1eeaf Mon Sep 17 00:00:00 2001 -From: Khem Raj <raj.khem@gmail.com> -Date: Fri, 29 Mar 2013 08:54:48 +0400 -Subject: [PATCH 14/35] sh-pr24836 - -Signed-off-by: Khem Raj <raj.khem@gmail.com> - -Upstream-Status: Pending - -http://sourceforge.net/mailarchive/forum.php?thread_id=8959304&forum_id=5348 -http://gcc.gnu.org/bugzilla/show_bug.cgi?id=24836 ---- - gcc/configure | 2 +- - gcc/configure.ac | 2 +- - 2 files changed, 2 insertions(+), 2 deletions(-) - -diff --git a/gcc/configure b/gcc/configure -index e12a180..135bbf5 100755 ---- a/gcc/configure -+++ b/gcc/configure -@@ -23378,7 +23378,7 @@ foo: .long 25 - tls_first_minor=14 - tls_as_opt="-m64 -Aesame --fatal-warnings" - ;; -- sh-*-* | sh[34]-*-*) -+ sh-*-* | sh[34]*-*-*) - conftest_s=' - .section ".tdata","awT",@progbits - foo: .long 25 -diff --git a/gcc/configure.ac b/gcc/configure.ac -index eba3577..6363a21 100644 ---- a/gcc/configure.ac -+++ b/gcc/configure.ac -@@ -3141,7 +3141,7 @@ foo: .long 25 - tls_first_minor=14 - tls_as_opt="-m64 -Aesame --fatal-warnings" - ;; -- sh-*-* | sh[34]-*-*) -+ sh-*-* | sh[34]*-*-*) - conftest_s=' - .section ".tdata","awT",@progbits - foo: .long 25 --- -1.7.10.4 - diff --git a/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-4.9/0015-arm-Use-TARGET_ENDIAN_OPTION-for-determining-MULTILI.patch b/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-4.9/0015-arm-Use-TARGET_ENDIAN_OPTION-for-determining-MULTILI.patch deleted file mode 100644 index 37c46fc2e..000000000 --- a/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-4.9/0015-arm-Use-TARGET_ENDIAN_OPTION-for-determining-MULTILI.patch +++ /dev/null @@ -1,47 +0,0 @@ -From 50e5366005b0f6af27378e2a5c3cb9f9936a7e62 Mon Sep 17 00:00:00 2001 -From: Khem Raj <raj.khem@gmail.com> -Date: Fri, 29 Mar 2013 08:58:36 +0400 -Subject: [PATCH 15/35] arm: Use TARGET_ENDIAN_OPTION for determining - MULTILIB_DEFAULTS - -Signed-off-by: Khem Raj <raj.khem@gmail.com> - -Upstream-Status: Pending ---- - gcc/config/arm/linux-elf.h | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -Index: gcc-4.9.2/gcc/config/arm/coff.h -=================================================================== ---- gcc-4.9.2.orig/gcc/config/arm/coff.h -+++ gcc-4.9.2/gcc/config/arm/coff.h -@@ -32,8 +32,11 @@ - #define TARGET_DEFAULT (MASK_APCS_FRAME) - - #ifndef MULTILIB_DEFAULTS -+#ifndef TARGET_ENDIAN_OPTION -+#define TARGET_ENDIAN_OPTION "mlittle-endian" -+#endif - #define MULTILIB_DEFAULTS \ -- { "marm", "mlittle-endian", "mfloat-abi=soft", "mno-thumb-interwork" } -+ { "marm", TARGET_ENDIAN_OPTION, "mfloat-abi=soft", "mno-thumb-interwork" } - #endif - - /* This is COFF, but prefer stabs. */ -Index: gcc-4.9.2/gcc/config/arm/elf.h -=================================================================== ---- gcc-4.9.2.orig/gcc/config/arm/elf.h -+++ gcc-4.9.2/gcc/config/arm/elf.h -@@ -116,8 +116,11 @@ - #endif - - #ifndef MULTILIB_DEFAULTS -+#ifndef TARGET_ENDIAN_OPTION -+#define TARGET_ENDIAN_OPTION "mlittle-endian" -+#endif - #define MULTILIB_DEFAULTS \ -- { "marm", "mlittle-endian", "mfloat-abi=soft", "mno-thumb-interwork", "fno-leading-underscore" } -+ { "marm", TARGET_ENDIAN_OPTION, "mfloat-abi=soft", "mno-thumb-interwork", "fno-leading-underscore" } - #endif - - #define TARGET_ASM_FILE_START_APP_OFF true diff --git a/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-4.9/0020-optional-libstdc.patch b/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-4.9/0020-optional-libstdc.patch deleted file mode 100644 index 5b466140d..000000000 --- a/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-4.9/0020-optional-libstdc.patch +++ /dev/null @@ -1,98 +0,0 @@ -From 307c8ff3ef666b7bd5ac733863f2fbb27a9d521e Mon Sep 17 00:00:00 2001 -From: Khem Raj <raj.khem@gmail.com> -Date: Fri, 29 Mar 2013 09:12:56 +0400 -Subject: [PATCH 20/35] optional libstdc - -gcc-runtime builds libstdc++ separately from gcc-cross-*. Its configure tests using g++ -will not run correctly since by default the linker will try to link against libstdc++ -which shouldn't exist yet. We need an option to disable -lstdc++ -option whilst leaving -lc, -lgcc and other automatic library dependencies added by gcc -driver. This patch adds such an option which only disables the -lstdc++. - -A "standard" gcc build uses xgcc and hence avoids this. We should ask upstream how to -do this officially, the likely answer is don't build libstdc++ separately. - -RP 29/6/10 - -Signed-off-by: Khem Raj <raj.khem@gmail.com> - -Upstream-Status: Inappropriate [embedded specific] ---- - gcc/c-family/c.opt | 4 ++++ - gcc/cp/g++spec.c | 1 + - gcc/doc/invoke.texi | 9 +++++++-- - gcc/gcc.c | 1 + - 4 files changed, 13 insertions(+), 2 deletions(-) - -Index: gcc-4.9-20140316/gcc/c-family/c.opt -=================================================================== ---- gcc-4.9-20140316.orig/gcc/c-family/c.opt -+++ gcc-4.9-20140316/gcc/c-family/c.opt -@@ -1323,6 +1323,10 @@ nostdinc++ - C++ ObjC++ - Do not search standard system include directories for C++ - -+nostdlib++ -+Driver -+Do not link standard C++ runtime library -+ - o - C ObjC C++ ObjC++ Joined Separate - ; Documented in common.opt -Index: gcc-4.9-20140316/gcc/cp/g++spec.c -=================================================================== ---- gcc-4.9-20140316.orig/gcc/cp/g++spec.c -+++ gcc-4.9-20140316/gcc/cp/g++spec.c -@@ -138,6 +138,7 @@ lang_specific_driver (struct cl_decoded_ - switch (decoded_options[i].opt_index) - { - case OPT_nostdlib: -+ case OPT_nostdlib__: - case OPT_nodefaultlibs: - library = -1; - break; -Index: gcc-4.9-20140316/gcc/doc/invoke.texi -=================================================================== ---- gcc-4.9-20140316.orig/gcc/doc/invoke.texi -+++ gcc-4.9-20140316/gcc/doc/invoke.texi -@@ -193,6 +193,7 @@ in the following sections. - -fvisibility-inlines-hidden @gol - -fvtable-verify=@var{std|preinit|none} @gol - -fvtv-counts -fvtv-debug @gol -+-nostdlib++ @gol - -fvisibility-ms-compat @gol - -fext-numeric-literals @gol - -Wabi -Wconversion-null -Wctor-dtor-privacy @gol -@@ -457,7 +458,7 @@ Objective-C and Objective-C++ Dialects}. - -nostartfiles -nodefaultlibs -nostdlib -pie -rdynamic @gol - -s -static -static-libgcc -static-libstdc++ @gol - -static-libasan -static-libtsan -static-liblsan -static-libubsan @gol ---shared -shared-libgcc -symbolic @gol -+-shared -shared-libgcc -symbolic -nostdlib++ @gol - -T @var{script} -Wl,@var{option} -Xlinker @var{option} @gol - -u @var{symbol}} - -@@ -10285,6 +10286,11 @@ These entries are usually resolved by en - libc. These entry points should be supplied through some other - mechanism when this option is specified. - -+@item -nostdlib++ -+@opindex nostdlib++ -+Do not use the standard system C++ runtime libraries when linking. -+Only the libraries you specify will be passed to the linker. -+ - @cindex @option{-lgcc}, use with @option{-nostdlib} - @cindex @option{-nostdlib} and unresolved references - @cindex unresolved references and @option{-nostdlib} -Index: gcc-4.9-20140316/gcc/gcc.c -=================================================================== ---- gcc-4.9-20140316.orig/gcc/gcc.c -+++ gcc-4.9-20140316/gcc/gcc.c -@@ -772,6 +772,7 @@ proper position among the other output f - %(mflib) " STACK_SPLIT_SPEC "\ - %{fprofile-arcs|fprofile-generate*|coverage:-lgcov} " SANITIZER_SPEC " \ - %{!nostdlib:%{!nodefaultlibs:%(link_ssp) %(link_gcc_c_sequence)}}\ -+ %{!nostdlib++:}\ - %{!nostdlib:%{!nostartfiles:%E}} %{T*} }}}}}}" - #endif - diff --git a/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-4.9/0026-libgcc-sjlj-check.patch b/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-4.9/0026-libgcc-sjlj-check.patch deleted file mode 100644 index d4efab956..000000000 --- a/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-4.9/0026-libgcc-sjlj-check.patch +++ /dev/null @@ -1,74 +0,0 @@ -From 08c2398445e6cac282488f64ae6bf29cbcd8db23 Mon Sep 17 00:00:00 2001 -From: Khem Raj <raj.khem@gmail.com> -Date: Fri, 29 Mar 2013 09:20:50 +0400 -Subject: [PATCH 26/35] libgcc-sjlj-check - -ac_fn_c_try_compile doesnt seem to keep the intermediate files -which are needed for sjlj test to pass since it greps into the -generated file. So we run the compiler command using AC_TRY_COMMAND -which then generates the needed .s file - -Signed-off-by: Khem Raj <raj.khem@gmail.com> - -Upstream-Status: Pending ---- - libgcc/configure | 10 ++++++---- - libgcc/configure.ac | 10 ++++------ - 2 files changed, 10 insertions(+), 10 deletions(-) - -diff --git a/libgcc/configure b/libgcc/configure -index 1425df6..d18e3cb 100644 ---- a/libgcc/configure -+++ b/libgcc/configure -@@ -4208,17 +4208,19 @@ void foo () - } - - _ACEOF --CFLAGS_hold=$CFLAGS --CFLAGS="--save-temps -fexceptions" - libgcc_cv_lib_sjlj_exceptions=unknown --if ac_fn_c_try_compile; then : -+if { ac_try='${CC-cc} -fexceptions -S conftest.c -o conftest.s 1>&5' -+ { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_try\""; } >&5 -+ (eval $ac_try) 2>&5 -+ ac_status=$? -+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 -+ test $ac_status = 0; }; }; then - if grep _Unwind_SjLj_Resume conftest.s >/dev/null 2>&1; then - libgcc_cv_lib_sjlj_exceptions=yes - elif grep _Unwind_Resume conftest.s >/dev/null 2>&1; then - libgcc_cv_lib_sjlj_exceptions=no - fi - fi --CFLAGS=$CFLAGS_hold - rm -f conftest* - - fi -diff --git a/libgcc/configure.ac b/libgcc/configure.ac -index 8b7aba5..c7c9644 100644 ---- a/libgcc/configure.ac -+++ b/libgcc/configure.ac -@@ -216,16 +216,14 @@ void foo () - bar(); - } - ])]) --CFLAGS_hold=$CFLAGS --CFLAGS="--save-temps -fexceptions" - libgcc_cv_lib_sjlj_exceptions=unknown --AS_IF([ac_fn_c_try_compile], -- [if grep _Unwind_SjLj_Resume conftest.s >/dev/null 2>&1; then -+if AC_TRY_COMMAND(${CC-cc} -fexceptions -S conftest.c -o conftest.s 1>&AS_MESSAGE_LOG_FD); then -+ if grep _Unwind_SjLj_Resume conftest.s >/dev/null 2>&1; then - libgcc_cv_lib_sjlj_exceptions=yes - elif grep _Unwind_Resume conftest.s >/dev/null 2>&1; then - libgcc_cv_lib_sjlj_exceptions=no -- fi]) --CFLAGS=$CFLAGS_hold -+ fi -+fi - rm -f conftest* - ]) - --- -1.7.10.4 - diff --git a/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-4.9/0028-MIPS64-Default-to-N64-ABI.patch b/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-4.9/0028-MIPS64-Default-to-N64-ABI.patch deleted file mode 100644 index 263872069..000000000 --- a/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-4.9/0028-MIPS64-Default-to-N64-ABI.patch +++ /dev/null @@ -1,31 +0,0 @@ -From 301e18d4711db5925e767fad08dffa9cfe0a2f1f Mon Sep 17 00:00:00 2001 -From: Khem Raj <raj.khem@gmail.com> -Date: Fri, 29 Mar 2013 09:23:08 +0400 -Subject: [PATCH 28/35] MIPS64: Default to N64 ABI - -MIPS64 defaults to n32 ABI, this patch makes it -so that it defaults to N64 ABI - -Signed-off-by: Khem Raj <raj.khem@gmail.com> - -Upstream-Status: Inappropriate [OE config specific] ---- - gcc/config.gcc | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/gcc/config.gcc b/gcc/config.gcc -index 1a0be50..989c2fb 100644 ---- a/gcc/config.gcc -+++ b/gcc/config.gcc -@@ -1797,7 +1797,7 @@ mips*-mti-linux*) - mips64*-*-linux* | mipsisa64*-*-linux*) - tm_file="dbxelf.h elfos.h gnu-user.h linux.h glibc-stdint.h ${tm_file} mips/gnu-user.h mips/gnu-user64.h mips/linux64.h mips/linux-common.h" - tmake_file="${tmake_file} mips/t-linux64" -- tm_defines="${tm_defines} MIPS_ABI_DEFAULT=ABI_N32" -+ tm_defines="${tm_defines} MIPS_ABI_DEFAULT=ABI_64" - case ${target} in - mips64el-st-linux-gnu) - tm_file="${tm_file} mips/st.h" --- -1.7.10.4 - diff --git a/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-4.9/0040-fix-g++-sysroot.patch b/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-4.9/0040-fix-g++-sysroot.patch deleted file mode 100644 index d50aa5c9b..000000000 --- a/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-4.9/0040-fix-g++-sysroot.patch +++ /dev/null @@ -1,40 +0,0 @@ -Portions of - -http://www.mail-archive.com/gcc-patches@gcc.gnu.org/msg26013.html - -are not upstreamed yet. So lets keep missing pieces. - -Upstream-Status: Pending - -Signed-off-by: Khem Raj <raj.khem@gmail.com> - -Index: gcc-4.8.1/gcc/configure.ac -=================================================================== ---- gcc-4.8.1.orig/gcc/configure.ac 2013-07-15 15:55:49.488399132 -0700 -+++ gcc-4.8.1/gcc/configure.ac 2013-07-15 16:02:31.772406679 -0700 -@@ -148,7 +148,9 @@ - if test "${with_sysroot+set}" = set; then - gcc_gxx_without_sysroot=`expr "${gcc_gxx_include_dir}" : "${with_sysroot}"'\(.*\)'` - if test "${gcc_gxx_without_sysroot}"; then -- gcc_gxx_include_dir="${gcc_gxx_without_sysroot}" -+ if test x${with_sysroot} != x/; then -+ gcc_gxx_include_dir="${gcc_gxx_without_sysroot}" -+ fi - gcc_gxx_include_dir_add_sysroot=1 - fi - fi -Index: gcc-4.8.1/gcc/configure -=================================================================== ---- gcc-4.8.1.orig/gcc/configure 2013-07-15 15:55:49.472399132 -0700 -+++ gcc-4.8.1/gcc/configure 2013-07-15 16:02:31.780406680 -0700 -@@ -3325,7 +3325,9 @@ - if test "${with_sysroot+set}" = set; then - gcc_gxx_without_sysroot=`expr "${gcc_gxx_include_dir}" : "${with_sysroot}"'\(.*\)'` - if test "${gcc_gxx_without_sysroot}"; then -- gcc_gxx_include_dir="${gcc_gxx_without_sysroot}" -+ if test x${with_sysroot} != x/; then -+ gcc_gxx_include_dir="${gcc_gxx_without_sysroot}" -+ fi - gcc_gxx_include_dir_add_sysroot=1 - fi - fi diff --git a/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-4.9/0043-cpp.patch b/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-4.9/0043-cpp.patch deleted file mode 100644 index eaf8646f9..000000000 --- a/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-4.9/0043-cpp.patch +++ /dev/null @@ -1,40 +0,0 @@ -The OE environment sets and exports CPP as being the target gcc. When building -gcc-cross-canadian for a mingw targetted sdk, the following can be found in -build.x86_64-pokysdk-mingw32.i586-poky-linux/build-x86_64-linux/libiberty/config.log: - -configure:3641: checking for _FILE_OFFSET_BITS value needed for large files -configure:3666: gcc -c -isystem/media/build1/poky/build/tmp/sysroots/x86_64-linux/usr/include -O2 -pipe conftest.c >&5 -configure:3666: $? = 0 -configure:3698: result: no -configure:3786: checking how to run the C preprocessor -configure:3856: result: x86_64-pokysdk-mingw32-gcc -E --sysroot=/media/build1/poky/build/tmp/sysroots/x86_64-nativesdk-mingw32-pokysdk-mingw32 -configure:3876: x86_64-pokysdk-mingw32-gcc -E --sysroot=/media/build1/poky/build/tmp/sysroots/x86_64-nativesdk-mingw32-pokysdk-mingw32 conftest.c -configure:3876: $? = 0 - -Note this is a *build* target (in build-x86_64-linux) so it should be using -the host "gcc", not x86_64-pokysdk-mingw32-gcc. Since the mingw32 headers are -very different, using the wrong cpp is a real problem. It is leaking into -configure through the CPP variable. Ultimately this leads to build failures -related to not being able to include a process.h file for pem-unix.c. - -The fix is to ensure we export a sane CPP value into the build environment when -using build targets. We could define a CPP_FOR_BUILD value which may be the version -which needs to be upstreamed but for now, this fix is good enough to avoid the -problem. - -RP 22/08/2013 - -Upstream-Status: Pending - -Index: gcc-4.8.1/Makefile.in -=================================================================== ---- gcc-4.8.1.orig/Makefile.in 2013-03-30 11:25:03.000000000 +0000 -+++ gcc-4.8.1/Makefile.in 2013-08-13 12:03:17.151988882 +0000 -@@ -149,6 +149,7 @@ - AR="$(AR_FOR_BUILD)"; export AR; \ - AS="$(AS_FOR_BUILD)"; export AS; \ - CC="$(CC_FOR_BUILD)"; export CC; \ -+ CPP="$(CC_FOR_BUILD) -E"; export CPP; \ - CFLAGS="$(CFLAGS_FOR_BUILD)"; export CFLAGS; \ - CONFIG_SHELL="$(SHELL)"; export CONFIG_SHELL; \ - CXX="$(CXX_FOR_BUILD)"; export CXX; \ diff --git a/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-4.9/0044-gengtypes.patch b/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-4.9/0044-gengtypes.patch deleted file mode 100644 index e38761d4c..000000000 --- a/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-4.9/0044-gengtypes.patch +++ /dev/null @@ -1,97 +0,0 @@ -gengtype is generated for both the build system and the target. -DGENERATOR_FILE -was added in the patch http://gcc.gnu.org/ml/gcc-patches/2012-07/msg00273.html -and was applied to both versions of gengtype. - -Unfortunately the presence of this flag triggers the build configuration (bconfig.h) -to be included for the target build of gengtype. Compiling gengtype with the target -compiler and bconfig.h can result in errors if the build and target systems are -dissimilar. An example case this fails is cross compiling gcc on linux for a darwin -target system: - -In file included from /media/build1/poky/build/tmp/work-shared/gcc-4.8.1-r0/gcc-4.8.1/gcc/gengtype-parse.c:25:0: -| /media/build1/poky/build/tmp/work-shared/gcc-4.8.1-r0/gcc-4.8.1/gcc/gengtype-parse.c: In function 'void parse_error(const char*, ...)': -| /media/build1/poky/build/tmp/work-shared/gcc-4.8.1-r0/gcc-4.8.1/gcc/system.h:93:53: error: 'fputc_unlocked' was not declared in this scope -| # define fputc(C, Stream) fputc_unlocked (C, Stream) - -which occurs since auto-build.h and auto-host.h have differnet values of -HAVE_FPUTC_UNLOCKED: - -#define HAVE_FPUTC_UNLOCKED 1 -/* #undef HAVE_FPUTS_UNLOCKED */ - -The obvious fix is to only include the flag on build/ targets which this patch does, however -this also leads to compile errors due to const_tree being undefined but used in double_int.h - -I added a GENERATOR_FILE2 flag to workaround those in the -target case and allow the build to succeed. - -Only the build/gengtypes should have the -DGENERATOR_FILE - -RP 22/8/2013 - -Upstream-Status: Pending - -Index: gcc-4.8.1/gcc/Makefile.in -=================================================================== ---- gcc-4.8.1.orig/gcc/Makefile.in 2013-08-19 11:40:36.844014424 +0000 -+++ gcc-4.8.1/gcc/Makefile.in 2013-08-19 11:40:37.784014402 +0000 -@@ -3903,27 +3903,29 @@ - - gengtype-lex.o build/gengtype-lex.o : gengtype-lex.c gengtype.h $(SYSTEM_H) - gengtype-lex.o: $(CONFIG_H) $(BCONFIG_H) --CFLAGS-gengtype-lex.o += -DGENERATOR_FILE -+CFLAGS-build/gengtype-lex.o += -DGENERATOR_FILE - build/gengtype-lex.o: $(BCONFIG_H) - - gengtype-parse.o build/gengtype-parse.o : gengtype-parse.c gengtype.h \ - $(SYSTEM_H) - gengtype-parse.o: $(CONFIG_H) --CFLAGS-gengtype-parse.o += -DGENERATOR_FILE -+CFLAGS-build/gengtype-parse.o += -DGENERATOR_FILE - build/gengtype-parse.o: $(BCONFIG_H) - - gengtype-state.o build/gengtype-state.o: gengtype-state.c $(SYSTEM_H) \ - gengtype.h errors.h double-int.h version.h $(HASHTAB_H) $(OBSTACK_H) \ - $(XREGEX_H) - gengtype-state.o: $(CONFIG_H) --CFLAGS-gengtype-state.o += -DGENERATOR_FILE -+CFLAGS-gengtype-state.o += -DGENERATOR_FILE2 -+CFLAGS-build/gengtype-state.o += -DGENERATOR_FILE - build/gengtype-state.o: $(BCONFIG_H) - - gengtype.o build/gengtype.o : gengtype.c $(SYSTEM_H) gengtype.h \ - rtl.def insn-notes.def errors.h double-int.h version.h $(HASHTAB_H) \ - $(OBSTACK_H) $(XREGEX_H) - gengtype.o: $(CONFIG_H) --CFLAGS-gengtype.o += -DGENERATOR_FILE -+CFLAGS-gengtype.o += -DGENERATOR_FILE2 -+CFLAGS-build/gengtype.o += -DGENERATOR_FILE - build/gengtype.o: $(BCONFIG_H) - - build/genmddeps.o: genmddeps.c $(BCONFIG_H) $(SYSTEM_H) coretypes.h \ -@@ -3988,7 +3990,7 @@ - # any system header is included. - gengtype-lex.c : gengtype-lex.l - -$(FLEX) $(FLEXFLAGS) -o$@ $< && { \ -- echo '#include "bconfig.h"' > $@.tmp; \ -+ echo '' > $@.tmp; \ - cat $@ >> $@.tmp; \ - mv $@.tmp $@; \ - } -Index: gcc-4.8.1/gcc/double-int.h -=================================================================== ---- gcc-4.8.1.orig/gcc/double-int.h 2013-01-30 11:04:30.000000000 +0000 -+++ gcc-4.8.1/gcc/double-int.h 2013-08-19 11:41:51.564012719 +0000 -@@ -448,10 +448,12 @@ - - - #ifndef GENERATOR_FILE -+#ifndef GENERATOR_FILE2 - /* Conversion to and from GMP integer representations. */ - - void mpz_set_double_int (mpz_t, double_int, bool); - double_int mpz_get_double_int (const_tree, mpz_t, bool); - #endif -+#endif - - #endif /* DOUBLE_INT_H */ diff --git a/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-4.9/0046-libatomic-deptracking.patch b/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-4.9/0046-libatomic-deptracking.patch deleted file mode 100644 index 6ea4f4276..000000000 --- a/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-4.9/0046-libatomic-deptracking.patch +++ /dev/null @@ -1,41 +0,0 @@ -gcc 4.8 won't build with --disable-dependency-tracking since the *.Ppo files -don't get created unless --enable-dependency-tracking is true. - -This patch ensures we only use those compiler options when its enabled. - -Upstream-Status: Submitted - -(Problem was already reported upstream, attached this patch there -http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55930) - -RP -2012/09/22 - -Index: gcc-4.8.1/libatomic/Makefile.am -=================================================================== ---- gcc-4.8.1.orig/libatomic/Makefile.am 2013-01-14 18:16:23.000000000 +0000 -+++ gcc-4.8.1/libatomic/Makefile.am 2013-09-22 10:38:18.904064750 +0000 -@@ -100,7 +100,8 @@ - IFUNC_DEF = -DIFUNC_ALT=$(PAT_S) - IFUNC_OPT = $(word $(PAT_S),$(IFUNC_OPTIONS)) - --M_DEPS = -MT $@ -MD -MP -MF $(DEPDIR)/$(@F).Ppo -+@AMDEP_TRUE@M_DEPS = -MT $@ -MD -MP -MF $(DEPDIR)/$(@F).Ppo -+@AMDEP_FALSE@M_DEPS = - M_SIZE = -DN=$(PAT_N) - M_IFUNC = $(if $(PAT_S),$(IFUNC_DEF) $(IFUNC_OPT)) - M_FILE = $(PAT_BASE)_n.c -Index: gcc-4.8.1/libatomic/Makefile.in -=================================================================== ---- gcc-4.8.1.orig/libatomic/Makefile.in 2013-05-31 09:09:26.000000000 +0000 -+++ gcc-4.8.1/libatomic/Makefile.in 2013-09-22 10:40:42.520059917 +0000 -@@ -298,7 +298,8 @@ - PAT_S = $(word 3,$(PAT_SPLIT)) - IFUNC_DEF = -DIFUNC_ALT=$(PAT_S) - IFUNC_OPT = $(word $(PAT_S),$(IFUNC_OPTIONS)) --M_DEPS = -MT $@ -MD -MP -MF $(DEPDIR)/$(@F).Ppo -+@AMDEP_TRUE@M_DEPS = -MT $@ -MD -MP -MF $(DEPDIR)/$(@F).Ppo -+@AMDEP_FALSE@M_DEPS = - M_SIZE = -DN=$(PAT_N) - M_IFUNC = $(if $(PAT_S),$(IFUNC_DEF) $(IFUNC_OPT)) - M_FILE = $(PAT_BASE)_n.c diff --git a/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-4.9/0047-repomembug.patch b/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-4.9/0047-repomembug.patch deleted file mode 100644 index 9afd55cbd..000000000 --- a/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-4.9/0047-repomembug.patch +++ /dev/null @@ -1,53 +0,0 @@ -When compiling a project using -frepo, .rpo files are written alongside -the .o file, the symbols either have O or C against them. During final linking, -the objects can be recompiled with some of the entries tweaked/chosen by the -tlink.c code (visible with TLINK_VERBOSE=3), it does this by changing O -> C -in the .rpo files. - -My tests showed that init_repo (cp/repo.c) was correctly calling -IDENTIFIER_REPO_CHOSEN against the right identifers and setting the -chosen bit. - -By the time finish_repo() or emit_repo_p() were called, the pointer returned -by get_identifier() for the symbol marked during init_repo had changed and -the chosen bit was no longer set. This lead to linking bugs like: - -collect: relinking -collect2: error: '_ZNK6sudoku5ClearINS_8SequenceEEclERS1_' was assigned to 'board.rpo', but was not defined during recompilation, or vice versa - -The problem is that the garbage collection is getting called before -finish_repo() is called and ggc_protect_identifiers is set to false -so the identifiers are not preserved. They are recreated but the -chosen bits get wiped out which is why the pointer changes and the -chosen bit is not set. - -The fix is to change ggc_protect_identifiers *after* the finish_repo -calls are made. - -Reproduction is tricky since you need to trigger the garbage collector at -just the right moment. - -RP 2013/10/9 - -[YOCTO #5133] - -Upstream-Status: Pending - -Index: gcc-4.8.1/gcc/toplev.c -=================================================================== ---- gcc-4.8.1.orig/gcc/toplev.c 2013-03-28 08:29:51.000000000 +0000 -+++ gcc-4.8.1/gcc/toplev.c 2013-10-09 20:27:17.089228023 +0000 -@@ -551,11 +551,11 @@ - if (flag_syntax_only || flag_wpa) - return; - -- ggc_protect_identifiers = false; -- - /* This must also call finalize_compilation_unit. */ - lang_hooks.decls.final_write_globals (); - -+ ggc_protect_identifiers = false; -+ - if (seen_error ()) - return; - diff --git a/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-4.9/0049-Enable-SPE-AltiVec-generation-on-powepc-linux-target.patch b/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-4.9/0049-Enable-SPE-AltiVec-generation-on-powepc-linux-target.patch deleted file mode 100644 index b98f8ff01..000000000 --- a/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-4.9/0049-Enable-SPE-AltiVec-generation-on-powepc-linux-target.patch +++ /dev/null @@ -1,42 +0,0 @@ -From 9e0e19eac2562f73858602fe26e2044eb8b20c47 Mon Sep 17 00:00:00 2001 -From: Alexandru-Cezar Sardan <alexandru.sardan@freescale.com> -Date: Wed, 5 Feb 2014 16:52:31 +0200 -Subject: [PATCH] Enable SPE & AltiVec generation on powepc*linux target - -When is configured with --target=powerpc-linux, the resulting GCC will -not be able to generate code for SPE targets (e500v1/v2). -GCC configured with --target=powerpc-linuxspe will not be able to -generate AltiVec instructions (for e6500). -This patch modifies the configured file such that SPE or AltiVec code -can be generated when gcc is configured with --target=powerpc-linux. -The ABI and speciffic instructions can be selected through the -"-mabi=spe or -mabi=altivec" and the "-mspe or -maltivec" parameters. - -Upstream-Status: Inappropriate [configuration] - -Signed-off-by: Alexandru-Cezar Sardan <alexandru.sardan@freescale.com> ---- - gcc/config.gcc | 7 ++++++- - 1 file changed, 6 insertions(+), 1 deletion(-) - -diff --git a/gcc/config.gcc b/gcc/config.gcc -index cb7a94e..d392c2b 100644 ---- a/gcc/config.gcc -+++ b/gcc/config.gcc -@@ -2068,7 +2068,12 @@ powerpc-*-rtems*) - tmake_file="rs6000/t-fprules rs6000/t-rtems t-rtems rs6000/t-ppccomm" - ;; - powerpc*-*-linux*) -- tm_file="${tm_file} dbxelf.h elfos.h freebsd-spec.h rs6000/sysv4.h" -+ case ${target} in -+ powerpc*-*-linux*spe* | powerpc*-*-linux*altivec*) -+ tm_file="${tm_file} dbxelf.h elfos.h freebsd-spec.h rs6000/sysv4.h" ;; -+ *) -+ tm_file="${tm_file} dbxelf.h elfos.h freebsd-spec.h rs6000/sysv4.h rs6000/linuxaltivec.h rs6000/linuxspe.h rs6000/e500.h" ;; -+ esac - extra_options="${extra_options} rs6000/sysv4.opt" - tmake_file="rs6000/t-fprules rs6000/t-ppcos ${tmake_file} rs6000/t-ppccomm" - case ${target} in --- -1.7.9.5 - diff --git a/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-4.9/0050-Revert-Use-dbx_reg_number-for-spanning-registers.patch b/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-4.9/0050-Revert-Use-dbx_reg_number-for-spanning-registers.patch deleted file mode 100644 index aead6f67b..000000000 --- a/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-4.9/0050-Revert-Use-dbx_reg_number-for-spanning-registers.patch +++ /dev/null @@ -1,80 +0,0 @@ -Upstream-Status: Pending - -From cb9b1c041b634a4c128896e3d3eed4082608c797 Mon Sep 17 00:00:00 2001 -From: Khem Raj <raj.khem@gmail.com> -Date: Sat, 3 May 2014 19:25:17 -0700 -Subject: [PATCH] Revert "2013-05-21 Christian Bruel - <christian.bruel@st.com>" - -This reverts commit 3983036a8b6b2710c57777194f21507819a73553. - -Signed-off-by: Khem Raj <raj.khem@gmail.com> - -Conflicts: - gcc/ChangeLog ---- - gcc/ChangeLog | 219 +++++++++++++++++++++++++++++++++++++++++++++++++++++++- - gcc/dwarf2out.c | 33 +++++---- - 2 files changed, 234 insertions(+), 18 deletions(-) - -diff --git a/gcc/dwarf2out.c b/gcc/dwarf2out.c -index 1272326..6ac2b28 100644 ---- a/gcc/dwarf2out.c -+++ b/gcc/dwarf2out.c -@@ -10870,27 +10870,25 @@ static dw_loc_descr_ref - multiple_reg_loc_descriptor (rtx rtl, rtx regs, - enum var_init_status initialized) - { -- int size, i; -+ int nregs, size, i; -+ unsigned reg; - dw_loc_descr_ref loc_result = NULL; - -- /* Simple, contiguous registers. */ -- if (regs == NULL_RTX) -- { -- unsigned reg = REGNO (rtl); -- int nregs; -- -+ reg = REGNO (rtl); - #ifdef LEAF_REG_REMAP -- if (crtl->uses_only_leaf_regs) -- { -- int leaf_reg = LEAF_REG_REMAP (reg); -- if (leaf_reg != -1) -- reg = (unsigned) leaf_reg; -- } -+ if (crtl->uses_only_leaf_regs) -+ { -+ int leaf_reg = LEAF_REG_REMAP (reg); -+ if (leaf_reg != -1) -+ reg = (unsigned) leaf_reg; -+ } - #endif -+ gcc_assert ((unsigned) DBX_REGISTER_NUMBER (reg) == dbx_reg_number (rtl)); -+ nregs = hard_regno_nregs[REGNO (rtl)][GET_MODE (rtl)]; - -- gcc_assert ((unsigned) DBX_REGISTER_NUMBER (reg) == dbx_reg_number (rtl)); -- nregs = hard_regno_nregs[REGNO (rtl)][GET_MODE (rtl)]; -- -+ /* Simple, contiguous registers. */ -+ if (regs == NULL_RTX) -+ { - size = GET_MODE_SIZE (GET_MODE (rtl)) / nregs; - - loc_result = NULL; -@@ -10918,9 +10916,10 @@ multiple_reg_loc_descriptor (rtx rtl, rtx regs, - { - dw_loc_descr_ref t; - -- t = one_reg_loc_descriptor (dbx_reg_number (XVECEXP (regs, 0, i)), -+ t = one_reg_loc_descriptor (REGNO (XVECEXP (regs, 0, i)), - VAR_INIT_STATUS_INITIALIZED); - add_loc_descr (&loc_result, t); -+ size = GET_MODE_SIZE (GET_MODE (XVECEXP (regs, 0, 0))); - add_loc_descr_op_piece (&loc_result, size); - } - --- -1.9.2 - diff --git a/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-4.9/0051-eabispe.patch b/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-4.9/0051-eabispe.patch deleted file mode 100644 index 55e38903f..000000000 --- a/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-4.9/0051-eabispe.patch +++ /dev/null @@ -1,23 +0,0 @@ -Upstream-Status: Pending - -Taken from http://gcc.gnu.org/ml/gcc-patches/2014-04/msg02064.html - -2014-04-30 Cesar Philippidis <cesar@codesourcery.com> - - gcc/ - * dwarf2cfi.c (dwf_regno): Don't assert reg is a pseudo - register. - - -diff --git a/gcc/dwarf2cfi.c b/gcc/dwarf2cfi.c -index 4180890..40ef0e2 100644 ---- a/gcc/dwarf2cfi.c -+++ b/gcc/dwarf2cfi.c -@@ -906,7 +906,6 @@ notice_eh_throw (rtx insn) - static inline unsigned - dwf_regno (const_rtx reg) - { -- gcc_assert (REGNO (reg) < FIRST_PSEUDO_REGISTER); - return DWARF_FRAME_REGNUM (REGNO (reg)); - } - diff --git a/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-4.9/0052-Add-target-hook-to-override-DWARF2-frame-register-si.patch b/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-4.9/0052-Add-target-hook-to-override-DWARF2-frame-register-si.patch deleted file mode 100644 index f6958b32c..000000000 --- a/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-4.9/0052-Add-target-hook-to-override-DWARF2-frame-register-si.patch +++ /dev/null @@ -1,138 +0,0 @@ -From d626297e87e19251a284ea1e9360e831b48999ca Mon Sep 17 00:00:00 2001 -From: mpf <mpf@138bc75d-0d04-0410-961f-82ee72b054a4> -Date: Thu, 4 Sep 2014 08:32:05 +0000 -Subject: [PATCH] Add target hook to override DWARF2 frame register size - -gcc/ - - * target.def (TARGET_DWARF_FRAME_REG_MODE): New target hook. - * targhooks.c (default_dwarf_frame_reg_mode): New function. - * targhooks.h (default_dwarf_frame_reg_mode): New prototype. - * doc/tm.texi.in (TARGET_DWARF_FRAME_REG_MODE): Document. - * doc/tm.texi: Regenerate. - * dwarf2cfi.c (expand_builtin_init_dwarf_reg_sizes): Abstract mode - selection logic to default_dwarf_frame_reg_mode. - - - -git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@214898 138bc75d-0d04-0410-961f-82ee72b054a4 - -Signed-off-by: Khem Raj <raj.khem@gmail.com> -Upstream-Status: Backport [gcc 5.0] - ---- - gcc/ChangeLog | 10 ++++++++++ - gcc/doc/tm.texi | 7 +++++++ - gcc/doc/tm.texi.in | 2 ++ - gcc/dwarf2cfi.c | 4 +--- - gcc/target.def | 11 +++++++++++ - gcc/targhooks.c | 13 +++++++++++++ - gcc/targhooks.h | 1 + - 7 files changed, 45 insertions(+), 3 deletions(-) - -Index: gcc-4.9.2/gcc/doc/tm.texi -=================================================================== ---- gcc-4.9.2.orig/gcc/doc/tm.texi -+++ gcc-4.9.2/gcc/doc/tm.texi -@@ -9017,6 +9017,13 @@ register in Dwarf. Otherwise, this hook - If not defined, the default is to return @code{NULL_RTX}. - @end deftypefn - -+@deftypefn {Target Hook} {enum machine_mode} TARGET_DWARF_FRAME_REG_MODE (int @var{regno}) -+Given a register, this hook should return the mode which the -+corresponding Dwarf frame register should have. This is normally -+used to return a smaller mode than the raw mode to prevent call -+clobbered parts of a register altering the frame register size -+@end deftypefn -+ - @deftypefn {Target Hook} void TARGET_INIT_DWARF_REG_SIZES_EXTRA (tree @var{address}) - If some registers are represented in Dwarf-2 unwind information in - multiple pieces, define this hook to fill in information about the -Index: gcc-4.9.2/gcc/doc/tm.texi.in -=================================================================== ---- gcc-4.9.2.orig/gcc/doc/tm.texi.in -+++ gcc-4.9.2/gcc/doc/tm.texi.in -@@ -6745,6 +6745,8 @@ the target supports DWARF 2 frame unwind - - @hook TARGET_DWARF_REGISTER_SPAN - -+@hook TARGET_DWARF_FRAME_REG_MODE -+ - @hook TARGET_INIT_DWARF_REG_SIZES_EXTRA - - @hook TARGET_ASM_TTYPE -Index: gcc-4.9.2/gcc/dwarf2cfi.c -=================================================================== ---- gcc-4.9.2.orig/gcc/dwarf2cfi.c -+++ gcc-4.9.2/gcc/dwarf2cfi.c -@@ -271,11 +271,9 @@ expand_builtin_init_dwarf_reg_sizes (tre - if (rnum < DWARF_FRAME_REGISTERS) - { - HOST_WIDE_INT offset = rnum * GET_MODE_SIZE (mode); -- enum machine_mode save_mode = reg_raw_mode[i]; - HOST_WIDE_INT size; -+ enum machine_mode save_mode = targetm.dwarf_frame_reg_mode (i); - -- if (HARD_REGNO_CALL_PART_CLOBBERED (i, save_mode)) -- save_mode = choose_hard_reg_mode (i, 1, true); - if (dnum == DWARF_FRAME_RETURN_COLUMN) - { - if (save_mode == VOIDmode) -Index: gcc-4.9.2/gcc/target.def -=================================================================== ---- gcc-4.9.2.orig/gcc/target.def -+++ gcc-4.9.2/gcc/target.def -@@ -3218,6 +3218,17 @@ If not defined, the default is to return - rtx, (rtx reg), - hook_rtx_rtx_null) - -+/* Given a register return the mode of the corresponding DWARF frame -+ register. */ -+DEFHOOK -+(dwarf_frame_reg_mode, -+ "Given a register, this hook should return the mode which the\n\ -+corresponding Dwarf frame register should have. This is normally\n\ -+used to return a smaller mode than the raw mode to prevent call\n\ -+clobbered parts of a register altering the frame register size", -+ enum machine_mode, (int regno), -+ default_dwarf_frame_reg_mode) -+ - /* If expand_builtin_init_dwarf_reg_sizes needs to fill in table - entries not corresponding directly to registers below - FIRST_PSEUDO_REGISTER, this hook should generate the necessary -Index: gcc-4.9.2/gcc/targhooks.c -=================================================================== ---- gcc-4.9.2.orig/gcc/targhooks.c -+++ gcc-4.9.2/gcc/targhooks.c -@@ -1438,6 +1438,19 @@ default_debug_unwind_info (void) - return UI_NONE; - } - -+/* Determine the correct mode for a Dwarf frame register that represents -+ register REGNO. */ -+ -+enum machine_mode -+default_dwarf_frame_reg_mode (int regno) -+{ -+ enum machine_mode save_mode = reg_raw_mode[regno]; -+ -+ if (HARD_REGNO_CALL_PART_CLOBBERED (regno, save_mode)) -+ save_mode = choose_hard_reg_mode (regno, 1, true); -+ return save_mode; -+} -+ - /* To be used by targets where reg_raw_mode doesn't return the right - mode for registers used in apply_builtin_return and apply_builtin_arg. */ - -Index: gcc-4.9.2/gcc/targhooks.h -=================================================================== ---- gcc-4.9.2.orig/gcc/targhooks.h -+++ gcc-4.9.2/gcc/targhooks.h -@@ -194,6 +194,7 @@ extern int default_label_align_max_skip - extern int default_jump_align_max_skip (rtx); - extern section * default_function_section(tree decl, enum node_frequency freq, - bool startup, bool exit); -+extern enum machine_mode default_dwarf_frame_reg_mode (int); - extern enum machine_mode default_get_reg_raw_mode (int); - - extern void *default_get_pch_validity (size_t *); diff --git a/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-4.9/0053-gcc-fix-segfault-from-calling-free-on-non-malloc-d-a.patch b/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-4.9/0053-gcc-fix-segfault-from-calling-free-on-non-malloc-d-a.patch deleted file mode 100644 index 23b445c9e..000000000 --- a/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-4.9/0053-gcc-fix-segfault-from-calling-free-on-non-malloc-d-a.patch +++ /dev/null @@ -1,66 +0,0 @@ -From a22a222c8f9299f6c07a0274388ade7d4ab8c28d Mon Sep 17 00:00:00 2001 -From: Paul Gortmaker <paul.gortmaker@windriver.com> -Date: Fri, 20 Jun 2014 16:41:08 -0400 -Subject: [PATCH] gcc: fix segfault from calling free on non-malloc'd area - -We see the following on a 32bit gcc installed on 64 bit host: - - Reading symbols from ./i586-pokymllib32-linux-gcc...done. - (gdb) run - Starting program: x86-pokymllib32-linux/lib32-gcc/4.9.0-r0/image/usr/bin/i586-pokymllib32-linux-gcc - - Program received signal SIGSEGV, Segmentation fault. - 0xf7e957e0 in free () from /lib/i386-linux-gnu/libc.so.6 - (gdb) bt - #0 0xf7e957e0 in free () from /lib/i386-linux-gnu/libc.so.6 - #1 0x0804b73c in set_multilib_dir () at gcc-4.9.0/gcc/gcc.c:7827 - #2 main (argc=1, argv=0xffffd504) at gcc-4.9.0/gcc/gcc.c:6688 - (gdb) - -The problem arises because we conditionally assign the pointer we -eventually free, and the conditional may assign the pointer to the -non-malloc'd internal string "." which fails when we free it here: - - if (multilib_dir == NULL && multilib_os_dir != NULL - && strcmp (multilib_os_dir, ".") == 0) - { - free (CONST_CAST (char *, multilib_os_dir)); - ... - -As suggested by Jakub, ensure the "." case is also malloc'd via -xstrdup() and hence the pointer for the "." case can be freed. - -Cc: Jakub Jelinek <jakub@redhat.com> -Cc: Jeff Law <law@redhat.com> -Cc: Matthias Klose <doko@ubuntu.com> -CC: Tobias Burnus <burnus@net-b.de> -Upstream-Status: Accepted [ https://gcc.gnu.org/ml/gcc-patches/2014-06/msg02069.html ] -Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> - -diff --git a/gcc/gcc.c b/gcc/gcc.c -index 9ac18e60d801..168acf7eb0c9 100644 ---- a/gcc/gcc.c -+++ b/gcc/gcc.c -@@ -7790,10 +7790,15 @@ set_multilib_dir (void) - q2++; - if (*q2 == ':') - ml_end = q2; -- new_multilib_os_dir = XNEWVEC (char, ml_end - q); -- memcpy (new_multilib_os_dir, q + 1, ml_end - q - 1); -- new_multilib_os_dir[ml_end - q - 1] = '\0'; -- multilib_os_dir = *new_multilib_os_dir ? new_multilib_os_dir : "."; -+ if (ml_end - q == 1) -+ multilib_os_dir = xstrdup ("."); -+ else -+ { -+ new_multilib_os_dir = XNEWVEC (char, ml_end - q); -+ memcpy (new_multilib_os_dir, q + 1, ml_end - q - 1); -+ new_multilib_os_dir[ml_end - q - 1] = '\0'; -+ multilib_os_dir = new_multilib_os_dir; -+ } - - if (q2 < end && *q2 == ':') - { --- -1.9.2 - diff --git a/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-4.9/0054-gcc-Makefile.in-fix-parallel-building-failure.patch b/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-4.9/0054-gcc-Makefile.in-fix-parallel-building-failure.patch deleted file mode 100644 index 7e8efa1e8..000000000 --- a/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-4.9/0054-gcc-Makefile.in-fix-parallel-building-failure.patch +++ /dev/null @@ -1,61 +0,0 @@ -gcc/Makefile.in: fix parallel building failure - -The gcc-ar.o, gcc-nm.o, gcc-ranlib.o and errors.o included -config.h which was a generated file. But no explicity rule -to clarify the dependency. There was potential building -failure while parallel make. - -For gcc-ar.o, gcc-nm.o and gcc-ranlib.o, they were compiled from one C -source file gcc-ar.c, we add them to ALL_HOST_BACKEND_OBJS, so the -'$(ALL_HOST_OBJS) : | $(generated_files)' rule could work for these -objects. - -For errors.o, it is part of gengtype, and the gengtype generator program -is special: Two versions are built. One is for the build machine, and one -is for the host. We refered what gengtype-parse.o did (which also is part -of gengtype). - -[GCC #61899] -https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61899 - -Upstream-Status: Submitted [gcc-patches@gcc.gnu.org] - -Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com> ---- - gcc/Makefile.in | 7 ++++++- - 1 file changed, 6 insertions(+), 1 deletion(-) - -diff --git a/gcc/Makefile.in b/gcc/Makefile.in -index 6475cba..56e50bb 100644 ---- a/gcc/Makefile.in -+++ b/gcc/Makefile.in -@@ -1481,13 +1481,16 @@ OBJS-libcommon-target = $(common_out_object_file) prefix.o params.o \ - opts.o opts-common.o options.o vec.o hooks.o common/common-targhooks.o \ - hash-table.o file-find.o - -+# Objects compiled from one C source file gcc-ar.c -+OBJS-gcc-ar = gcc-ar.o gcc-nm.o gcc-ranlib.o -+ - # This lists all host objects for the front ends. - ALL_HOST_FRONTEND_OBJS = $(foreach v,$(CONFIG_LANGUAGES),$($(v)_OBJS)) - - ALL_HOST_BACKEND_OBJS = $(GCC_OBJS) $(OBJS) $(OBJS-libcommon) \ - $(OBJS-libcommon-target) @TREEBROWSER@ main.o c-family/cppspec.o \ - $(COLLECT2_OBJS) $(EXTRA_GCC_OBJS) $(GCOV_OBJS) $(GCOV_DUMP_OBJS) \ -- lto-wrapper.o -+ lto-wrapper.o $(OBJS-gcc-ar) - - # This lists all host object files, whether they are included in this - # compilation or not. -@@ -2437,6 +2440,8 @@ gengtype-parse.o: $(CONFIG_H) - CFLAGS-build/gengtype-parse.o += -DGENERATOR_FILE - build/gengtype-parse.o: $(BCONFIG_H) - -+errors.o : $(CONFIG_H) -+ - gengtype-state.o build/gengtype-state.o: gengtype-state.c $(SYSTEM_H) \ - gengtype.h errors.h double-int.h version.h $(HASHTAB_H) $(OBSTACK_H) \ - $(XREGEX_H) --- -1.8.1.2 - diff --git a/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-4.9/0055-dwarf-reg-processing-helper.patch b/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-4.9/0055-dwarf-reg-processing-helper.patch deleted file mode 100644 index 557dab0f3..000000000 --- a/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-4.9/0055-dwarf-reg-processing-helper.patch +++ /dev/null @@ -1,148 +0,0 @@ -From 4fd39f1329379e00f958394adde6be96f0caf21f Mon Sep 17 00:00:00 2001 -From: hainque <hainque@138bc75d-0d04-0410-961f-82ee72b054a4> -Date: Fri, 5 Dec 2014 16:53:22 +0000 -Subject: [PATCH] 2014-12-05 Olivier Hainque <hainque@adacore.com> - - * dwarf2cfi.c (init_one_dwarf_reg_size): New helper, processing - one particular reg for expand_builtin_init_dwarf_reg_sizes. - (expand_builtin_init_dwarf_reg_sizes): Rework to use helper and - account for dwarf register spans. - - - -git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@218428 138bc75d-0d04-0410-961f-82ee72b054a4 - -Signed-off-by: Khem Raj <raj.khem@gmail.com> -Upstream-Status: Backport [gcc 5.0] - ---- - gcc/ChangeLog | 7 +++++ - gcc/dwarf2cfi.c | 98 +++++++++++++++++++++++++++++++++++++++++++++------------ - 2 files changed, 85 insertions(+), 20 deletions(-) - -Index: gcc-4.9.2/gcc/dwarf2cfi.c -=================================================================== ---- gcc-4.9.2.orig/gcc/dwarf2cfi.c -+++ gcc-4.9.2/gcc/dwarf2cfi.c -@@ -252,7 +252,59 @@ init_return_column_size (enum machine_mo - gen_int_mode (size, mode)); - } - --/* Generate code to initialize the register size table. */ -+/* Datastructure used by expand_builtin_init_dwarf_reg_sizes and -+ init_one_dwarf_reg_size to communicate on what has been done by the -+ latter. */ -+ -+typedef struct -+{ -+ /* Whether the dwarf return column was initialized. */ -+ bool wrote_return_column; -+ -+ /* For each hard register REGNO, whether init_one_dwarf_reg_size -+ was given REGNO to process already. */ -+ bool processed_regno [FIRST_PSEUDO_REGISTER]; -+ -+} init_one_dwarf_reg_state; -+ -+/* Helper for expand_builtin_init_dwarf_reg_sizes. Generate code to -+ initialize the dwarf register size table entry corresponding to register -+ REGNO in REGMODE. TABLE is the table base address, SLOTMODE is the mode to -+ use for the size entry to initialize, and INIT_STATE is the communication -+ datastructure conveying what we're doing to our caller. */ -+ -+static -+void init_one_dwarf_reg_size (int regno, machine_mode regmode, -+ rtx table, machine_mode slotmode, -+ init_one_dwarf_reg_state *init_state) -+{ -+ const unsigned int dnum = DWARF_FRAME_REGNUM (regno); -+ const unsigned int rnum = DWARF2_FRAME_REG_OUT (dnum, 1); -+ -+ const HOST_WIDE_INT slotoffset = rnum * GET_MODE_SIZE (slotmode); -+ const HOST_WIDE_INT regsize = GET_MODE_SIZE (regmode); -+ -+ init_state->processed_regno[regno] = true; -+ -+ if (rnum >= DWARF_FRAME_REGISTERS) -+ return; -+ -+ if (dnum == DWARF_FRAME_RETURN_COLUMN) -+ { -+ if (regmode == VOIDmode) -+ return; -+ init_state->wrote_return_column = true; -+ } -+ -+ if (slotoffset < 0) -+ return; -+ -+ emit_move_insn (adjust_address (table, slotmode, slotoffset), -+ gen_int_mode (regsize, slotmode)); -+} -+ -+/* Generate code to initialize the dwarf register size table located -+ at the provided ADDRESS. */ - - void - expand_builtin_init_dwarf_reg_sizes (tree address) -@@ -261,35 +313,40 @@ expand_builtin_init_dwarf_reg_sizes (tre - enum machine_mode mode = TYPE_MODE (char_type_node); - rtx addr = expand_normal (address); - rtx mem = gen_rtx_MEM (BLKmode, addr); -- bool wrote_return_column = false; -+ -+ init_one_dwarf_reg_state init_state; -+ -+ memset ((char *)&init_state, 0, sizeof (init_state)); - - for (i = 0; i < FIRST_PSEUDO_REGISTER; i++) - { -- unsigned int dnum = DWARF_FRAME_REGNUM (i); -- unsigned int rnum = DWARF2_FRAME_REG_OUT (dnum, 1); -- -- if (rnum < DWARF_FRAME_REGISTERS) -- { -- HOST_WIDE_INT offset = rnum * GET_MODE_SIZE (mode); -- HOST_WIDE_INT size; -- enum machine_mode save_mode = targetm.dwarf_frame_reg_mode (i); -+ machine_mode save_mode; -+ rtx span; - -- if (dnum == DWARF_FRAME_RETURN_COLUMN) -+ /* No point in processing a register multiple times. This could happen -+ with register spans, e.g. when a reg is first processed as a piece of -+ a span, then as a register on its own later on. */ -+ -+ if (init_state.processed_regno[i]) -+ continue; -+ -+ save_mode = targetm.dwarf_frame_reg_mode (i); -+ span = targetm.dwarf_register_span (gen_rtx_REG (save_mode, i)); -+ if (!span) -+ init_one_dwarf_reg_size (i, save_mode, mem, mode, &init_state); -+ else -+ { -+ for (int si = 0; si < XVECLEN (span, 0); si++) - { -- if (save_mode == VOIDmode) -- continue; -- wrote_return_column = true; -- } -- size = GET_MODE_SIZE (save_mode); -- if (offset < 0) -- continue; -+ rtx reg = XVECEXP (span, 0, si); -+ init_one_dwarf_reg_size -+ (REGNO (reg), GET_MODE (reg), mem, mode, &init_state); -+ } - -- emit_move_insn (adjust_address (mem, mode, offset), -- gen_int_mode (size, mode)); - } - } - -- if (!wrote_return_column) -+ if (!init_state.wrote_return_column) - init_return_column_size (mode, mem, DWARF_FRAME_RETURN_COLUMN); - - #ifdef DWARF_ALT_FRAME_RETURN_COLUMN diff --git a/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-4.9/0056-define-default-cfa-register-mapping.patch b/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-4.9/0056-define-default-cfa-register-mapping.patch deleted file mode 100644 index 3b6c94c49..000000000 --- a/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-4.9/0056-define-default-cfa-register-mapping.patch +++ /dev/null @@ -1,75 +0,0 @@ -From c0235a33de8c4f78cce35b2a8c2035c83fe1bd14 Mon Sep 17 00:00:00 2001 -From: hainque <hainque@138bc75d-0d04-0410-961f-82ee72b054a4> -Date: Fri, 5 Dec 2014 17:01:42 +0000 -Subject: [PATCH] 2014-12-05 Olivier Hainque <hainque@adacore.com> - - gcc/ - * defaults.h: (DWARF_REG_TO_UNWIND_COLUMN): Define default. - * dwarf2cfi.c (init_one_dwarf_reg_size): Honor - DWARF_REG_TO_UNWIND_COLUMN. - - libgcc/ - * unwind-dw2.c (DWARF_REG_TO_UNWIND_COLUMN): Remove default def, - now provided by defaults.h. - - - -git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@218429 138bc75d-0d04-0410-961f-82ee72b054a4 - -Signed-off-by: Khem Raj <raj.khem@gmail.com> -Upstream-Status: Backport [gcc 5.0] - ---- - gcc/ChangeLog | 6 ++++++ - gcc/defaults.h | 5 +++++ - gcc/dwarf2cfi.c | 3 ++- - libgcc/ChangeLog | 5 +++++ - libgcc/unwind-dw2.c | 4 ---- - 5 files changed, 18 insertions(+), 5 deletions(-) - -Index: gcc-4.9.2/gcc/defaults.h -=================================================================== ---- gcc-4.9.2.orig/gcc/defaults.h -+++ gcc-4.9.2/gcc/defaults.h -@@ -438,6 +438,11 @@ see the files COPYING3 and COPYING.RUNTI - #define DWARF_FRAME_REGNUM(REG) DBX_REGISTER_NUMBER (REG) - #endif - -+/* The mapping from dwarf CFA reg number to internal dwarf reg numbers. */ -+#ifndef DWARF_REG_TO_UNWIND_COLUMN -+#define DWARF_REG_TO_UNWIND_COLUMN(REGNO) (REGNO) -+#endif -+ - /* Map register numbers held in the call frame info that gcc has - collected using DWARF_FRAME_REGNUM to those that should be output in - .debug_frame and .eh_frame. */ -Index: gcc-4.9.2/gcc/dwarf2cfi.c -=================================================================== ---- gcc-4.9.2.orig/gcc/dwarf2cfi.c -+++ gcc-4.9.2/gcc/dwarf2cfi.c -@@ -280,8 +280,9 @@ void init_one_dwarf_reg_size (int regno, - { - const unsigned int dnum = DWARF_FRAME_REGNUM (regno); - const unsigned int rnum = DWARF2_FRAME_REG_OUT (dnum, 1); -+ const unsigned int dcol = DWARF_REG_TO_UNWIND_COLUMN (rnum); - -- const HOST_WIDE_INT slotoffset = rnum * GET_MODE_SIZE (slotmode); -+ const HOST_WIDE_INT slotoffset = dcol * GET_MODE_SIZE (slotmode); - const HOST_WIDE_INT regsize = GET_MODE_SIZE (regmode); - - init_state->processed_regno[regno] = true; -Index: gcc-4.9.2/libgcc/unwind-dw2.c -=================================================================== ---- gcc-4.9.2.orig/libgcc/unwind-dw2.c -+++ gcc-4.9.2/libgcc/unwind-dw2.c -@@ -55,10 +55,6 @@ - #define PRE_GCC3_DWARF_FRAME_REGISTERS DWARF_FRAME_REGISTERS - #endif - --#ifndef DWARF_REG_TO_UNWIND_COLUMN --#define DWARF_REG_TO_UNWIND_COLUMN(REGNO) (REGNO) --#endif -- - /* ??? For the public function interfaces, we tend to gcc_assert that the - column numbers are in range. For the dwarf2 unwind info this does happen, - although so far in a case that doesn't actually matter. diff --git a/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-4.9/0057-aarch64-config.patch b/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-4.9/0057-aarch64-config.patch deleted file mode 100644 index f29559698..000000000 --- a/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-4.9/0057-aarch64-config.patch +++ /dev/null @@ -1,32 +0,0 @@ -Disable the MULTILIB_OSDIRNAMES and other multilib options. - -Hard coding the MULTILIB_OSDIRNAMES with ../lib64 is causing problems on -systems where the libdir is NOT set to /lib64. This is allowed by the ABI, as -long as the dynamic loader is present in /lib. - -We simply want to use the default rules in gcc to find and configure the -normal libdir. - -Signed-off-by: Mark Hatle <mark.hatle@windriver.com> - -Index: gcc-4.9.1/gcc/config/aarch64/t-aarch64-linux -=================================================================== ---- gcc-4.9.1.orig/gcc/config/aarch64/t-aarch64-linux -+++ gcc-4.9.1/gcc/config/aarch64/t-aarch64-linux -@@ -21,11 +21,11 @@ - LIB1ASMSRC = aarch64/lib1funcs.asm - LIB1ASMFUNCS = _aarch64_sync_cache_range - --AARCH_BE = $(if $(findstring TARGET_BIG_ENDIAN_DEFAULT=1, $(tm_defines)),_be) --MULTILIB_OSDIRNAMES = .=../lib64$(call if_multiarch,:aarch64$(AARCH_BE)-linux-gnu) --MULTIARCH_DIRNAME = $(call if_multiarch,aarch64$(AARCH_BE)-linux-gnu) -+#AARCH_BE = $(if $(findstring TARGET_BIG_ENDIAN_DEFAULT=1, $(tm_defines)),_be) -+#MULTILIB_OSDIRNAMES = .=../lib64$(call if_multiarch,:aarch64$(AARCH_BE)-linux-gnu) -+#MULTIARCH_DIRNAME = $(call if_multiarch,aarch64$(AARCH_BE)-linux-gnu) - - # Disable the multilib for linux-gnu targets for the time being; focus - # on the baremetal targets. --MULTILIB_OPTIONS = --MULTILIB_DIRNAMES = -+#MULTILIB_OPTIONS = -+#MULTILIB_DIRNAMES = diff --git a/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-4.9/0058-gcc-r212171.patch b/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-4.9/0058-gcc-r212171.patch deleted file mode 100644 index d442ba8a8..000000000 --- a/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-4.9/0058-gcc-r212171.patch +++ /dev/null @@ -1,113 +0,0 @@ -From ca03cf1b133d66eb978c68f6dbc345e9aabcba88 Mon Sep 17 00:00:00 2001 -From: uros <uros@138bc75d-0d04-0410-961f-82ee72b054a4> -Date: Mon, 30 Jun 2014 19:30:52 +0000 -Subject: [PATCH] r212171 - -* except.c (emit_note_eh_region_end): New helper - function. (convert_to_eh_region_ranges): Use - emit_note_eh_region_end to emit EH_REGION_END note. - * jump.c (cleanup_barriers): Do not split a call and its - corresponding CALL_ARG_LOCATION note. - -git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@212171 138bc75d-0d04-0410-961f-82ee72b054a4 - -Upstream-Status: Backport [https://gcc.gnu.org/viewcvs/gcc?view=revision&revision=212171] -Signed-off-by: Baoshan Pang <baoshan.pang@windriver.com> ---- - gcc/except.c | 23 ++++++++++++++++++----- - gcc/jump.c | 19 +++++++++++++++---- - 2 files changed, 33 insertions(+), 9 deletions(-) - -diff --git a/gcc/except.c b/gcc/except.c -index dc5c1d2..7ac114f 100644 ---- a/gcc/except.c -+++ b/gcc/except.c -@@ -2466,6 +2466,20 @@ add_call_site (rtx landing_pad, int action, int section) - return call_site_base + crtl->eh.call_site_record_v[section]->length () - 1; - } - -+static rtx -+emit_note_eh_region_end (rtx insn) -+{ -+ rtx next = NEXT_INSN (insn); -+ -+ /* Make sure we do not split a call and its corresponding -+ CALL_ARG_LOCATION note. */ -+ if (next && NOTE_P (next) -+ && NOTE_KIND (next) == NOTE_INSN_CALL_ARG_LOCATION) -+ insn = next; -+ -+ return emit_note_after (NOTE_INSN_EH_REGION_END, insn); -+} -+ - /* Turn REG_EH_REGION notes back into NOTE_INSN_EH_REGION notes. - The new note numbers will not refer to region numbers, but - instead to call site entries. */ -@@ -2544,8 +2558,8 @@ convert_to_eh_region_ranges (void) - note = emit_note_before (NOTE_INSN_EH_REGION_BEG, - first_no_action_insn_before_switch); - NOTE_EH_HANDLER (note) = call_site; -- note = emit_note_after (NOTE_INSN_EH_REGION_END, -- last_no_action_insn_before_switch); -+ note -+ = emit_note_eh_region_end (last_no_action_insn_before_switch); - NOTE_EH_HANDLER (note) = call_site; - gcc_assert (last_action != -3 - || (last_action_insn -@@ -2569,8 +2583,7 @@ convert_to_eh_region_ranges (void) - first_no_action_insn = NULL_RTX; - } - -- note = emit_note_after (NOTE_INSN_EH_REGION_END, -- last_action_insn); -+ note = emit_note_eh_region_end (last_action_insn); - NOTE_EH_HANDLER (note) = call_site; - } - -@@ -2617,7 +2630,7 @@ convert_to_eh_region_ranges (void) - - if (last_action >= -1 && ! first_no_action_insn) - { -- note = emit_note_after (NOTE_INSN_EH_REGION_END, last_action_insn); -+ note = emit_note_eh_region_end (last_action_insn); - NOTE_EH_HANDLER (note) = call_site; - } - -diff --git a/gcc/jump.c b/gcc/jump.c -index 9418f65..a5e5f52 100644 ---- a/gcc/jump.c -+++ b/gcc/jump.c -@@ -121,15 +121,26 @@ rebuild_jump_labels_chain (rtx chain) - static unsigned int - cleanup_barriers (void) - { -- rtx insn, next, prev; -- for (insn = get_insns (); insn; insn = next) -+ rtx insn; -+ for (insn = get_insns (); insn; insn = NEXT_INSN (insn)) - { -- next = NEXT_INSN (insn); - if (BARRIER_P (insn)) - { -- prev = prev_nonnote_insn (insn); -+ rtx prev = prev_nonnote_insn (insn); - if (!prev) - continue; -+ -+ if (CALL_P (prev)) -+ { -+ /* Make sure we do not split a call and its corresponding -+ CALL_ARG_LOCATION note. */ -+ rtx next = NEXT_INSN (prev); -+ -+ if (NOTE_P (next) -+ && NOTE_KIND (next) == NOTE_INSN_CALL_ARG_LOCATION) -+ prev = next; -+ } -+ - if (BARRIER_P (prev)) - delete_insn (insn); - else if (prev != PREV_INSN (insn)) --- -1.7.9.5 - diff --git a/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-4.9/0059-gcc-PR-rtl-optimization-63348.patch b/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-4.9/0059-gcc-PR-rtl-optimization-63348.patch deleted file mode 100644 index de827cbda..000000000 --- a/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-4.9/0059-gcc-PR-rtl-optimization-63348.patch +++ /dev/null @@ -1,59 +0,0 @@ -From 6eae3e637fcc22d21b51d44d61e3a9cb4825e776 Mon Sep 17 00:00:00 2001 -From: Jackie Huang <jackie.huang@windriver.com> -Date: Thu, 30 Oct 2014 20:37:14 -0700 -Subject: [PATCH]PR rtl-optimization/63348 - -PR rtl-optimization/63348 -* emit-rtl.c (try_split): Do not emit extra barrier. - -Note: this patch is to fix the side effect introduced by r212171 which was reported at: -https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63348 - -git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@215613 138bc75d-0d04-0410-961f-82ee72b054a4 - -Upstream-Status: Backport [https://gcc.gnu.org/viewcvs/gcc?view=revision&revision=215613] -Signed-off-by: Baoshan Pang <baoshan.pang@windriver.com> -Signed-off-by: Jackie Huang <jackie.huang@windriver.com> ---- - gcc/emit-rtl.c | 11 ----------- - 1 files changed, 0 insertions(+), 11 deletions(-) - -diff --git a/gcc/emit-rtl.c b/gcc/emit-rtl.c -index 4736f8d..ae69dbd 100644 ---- a/gcc/emit-rtl.c -+++ b/gcc/emit-rtl.c -@@ -3422,7 +3422,6 @@ try_split (rtx pat, rtx trial, int last) - { - rtx before = PREV_INSN (trial); - rtx after = NEXT_INSN (trial); -- int has_barrier = 0; - rtx note, seq, tem; - int probability; - rtx insn_last, insn; -@@ -3441,14 +3440,6 @@ try_split (rtx pat, rtx trial, int last) - - split_branch_probability = -1; - -- /* If we are splitting a JUMP_INSN, it might be followed by a BARRIER. -- We may need to handle this specially. */ -- if (after && BARRIER_P (after)) -- { -- has_barrier = 1; -- after = NEXT_INSN (after); -- } -- - if (!seq) - return trial; - -@@ -3594,8 +3585,6 @@ try_split (rtx pat, rtx trial, int last) - tem = emit_insn_after_setloc (seq, trial, INSN_LOCATION (trial)); - - delete_insn (trial); -- if (has_barrier) -- emit_barrier_after (tem); - - /* Recursively call try_split for each new insn created; by the - time control returns here that insn will be fully split, so --- -1.7.1 - diff --git a/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-4.9/0060-Only-allow-e500-double-in-SPE_SIMD_REGNO_P-registers.patch b/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-4.9/0060-Only-allow-e500-double-in-SPE_SIMD_REGNO_P-registers.patch deleted file mode 100644 index 75a9fdd44..000000000 --- a/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-4.9/0060-Only-allow-e500-double-in-SPE_SIMD_REGNO_P-registers.patch +++ /dev/null @@ -1,55 +0,0 @@ -From 5c0092070253113cf0d9c45eacc884b3ecc34d81 Mon Sep 17 00:00:00 2001 -From: jsm28 <jsm28@138bc75d-0d04-0410-961f-82ee72b054a4> -Date: Sat, 25 Oct 2014 00:23:17 +0000 -Subject: [PATCH] Only allow e500 double in SPE_SIMD_REGNO_P registers. - -rs6000_hard_regno_nregs_internal allows SPE vectors in single -registers satisfying SPE_SIMD_REGNO_P (i.e. register numbers 0 to -31). However, the corresponding test for e500 double treats all -registers as being able to store a 64-bit value, rather than just -those GPRs. - -Logically this inconsistency is wrong; in addition, it causes problems -unwinding from signal handlers. linux-unwind.h uses -ARG_POINTER_REGNUM as a place to store the return address from a -signal handler, but this logic in rs6000_hard_regno_nregs_internal -results in that being considered an 8-byte register, resulting in -assertion failures. -(<https://gcc.gnu.org/ml/gcc-patches/2014-09/msg02625.html> first -needs to be applied for unwinding to work in general on e500.) This -patch makes rs6000_hard_regno_nregs_internal handle the e500 double -case consistently with SPE vectors. - -Tested with no regressions with cross to powerpc-linux-gnuspe (given -the aforementioned patch applied). Failures of signal handling -unwinding tests such as gcc.dg/cleanup-{8,9,10,11}.c are fixed by this -patch. - - * config/rs6000/rs6000.c (rs6000_hard_regno_nregs_internal): Do - not allow e500 double in registers not satisyfing - SPE_SIMD_REGNO_P. - - -git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@216688 138bc75d-0d04-0410-961f-82ee72b054a4 - -Signed-off-by: Khem Raj <raj.khem@gmail.com> -Upstream-Status: Backport [gcc 5.0] - ---- - gcc/ChangeLog | 6 ++++++ - gcc/config/rs6000/rs6000.c | 2 +- - 2 files changed, 7 insertions(+), 1 deletion(-) - -Index: gcc-4.9.2/gcc/config/rs6000/rs6000.c -=================================================================== ---- gcc-4.9.2.orig/gcc/config/rs6000/rs6000.c -+++ gcc-4.9.2/gcc/config/rs6000/rs6000.c -@@ -1703,7 +1703,7 @@ rs6000_hard_regno_nregs_internal (int re - SCmode so as to pass the value correctly in a pair of - registers. */ - else if (TARGET_E500_DOUBLE && FLOAT_MODE_P (mode) && mode != SCmode -- && !DECIMAL_FLOAT_MODE_P (mode)) -+ && !DECIMAL_FLOAT_MODE_P (mode) && SPE_SIMD_REGNO_P (regno)) - reg_size = UNITS_PER_FP_WORD; - - else diff --git a/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-4.9/0062-Use-SYSTEMLIBS_DIR-replacement-instead-of-hardcoding.patch b/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-4.9/0062-Use-SYSTEMLIBS_DIR-replacement-instead-of-hardcoding.patch deleted file mode 100644 index c48bd4847..000000000 --- a/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-4.9/0062-Use-SYSTEMLIBS_DIR-replacement-instead-of-hardcoding.patch +++ /dev/null @@ -1,24 +0,0 @@ -From 861bcfd4ae814f351e0c668ee26d01d1331e0422 Mon Sep 17 00:00:00 2001 -From: Khem Raj <raj.khem@gmail.com> -Date: Tue, 28 Apr 2015 23:15:27 -0700 -Subject: [PATCH 36/37] Use SYSTEMLIBS_DIR replacement instead of hardcoding - base_libdir - -Signed-off-by: Khem Raj <raj.khem@gmail.com> ---- - gcc/config/aarch64/aarch64-linux.h | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -Index: gcc-4.9.2/gcc/config/aarch64/aarch64-linux.h -=================================================================== ---- gcc-4.9.2.orig/gcc/config/aarch64/aarch64-linux.h -+++ gcc-4.9.2/gcc/config/aarch64/aarch64-linux.h -@@ -21,7 +21,7 @@ - #ifndef GCC_AARCH64_LINUX_H - #define GCC_AARCH64_LINUX_H - --#define GLIBC_DYNAMIC_LINKER "/lib/ld-linux-aarch64%{mbig-endian:_be}.so.1" -+#define GLIBC_DYNAMIC_LINKER SYSTEMLIBS_DIR "ld-linux-aarch64%{mbig-endian:_be}.so.1" - - #define CPP_SPEC "%{pthread:-D_REENTRANT}" - diff --git a/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-4.9/0065-gcc-483-universal-initializer-no-warning.patch b/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-4.9/0065-gcc-483-universal-initializer-no-warning.patch deleted file mode 100644 index fde227b8a..000000000 --- a/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-4.9/0065-gcc-483-universal-initializer-no-warning.patch +++ /dev/null @@ -1,107 +0,0 @@ -Upstream-Status: Backport - -Signed-off-by: Kai Kang <kai.kang@windriver.com> ---- -Fix for https://gcc.gnu.org/bugzilla/show_bug.cgi?id=53119 -wrong warning when using the universal zero initializer {0} - -Backported to GCC 4.8.3 - -Subject: 2014-06-05 S. Gilles <sgilles@terpmail.umd.edu> -X-Git-Url: http://repo.or.cz/w/official-gcc.git/commitdiff_plain/95cdf3fdf2d440eb7775def8e35ab970651c33d9?hp=14a3093e9943937cbc63dfbf4d51ca60f8325b29 -git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@211289 138bc75d-0d04-0410-961f-82ee72b054a4 - ---- gcc-4.8.3.org/gcc/c/c-typeck.c 2014-08-03 20:52:09.257042137 +0200 -+++ gcc-4.8.3/gcc/c/c-typeck.c 2014-08-03 20:57:10.645042614 +0200 -@@ -62,9 +62,9 @@ - if expr.original_code == SIZEOF_EXPR. */ - tree c_last_sizeof_arg; - --/* Nonzero if we've already printed a "missing braces around initializer" -- message within this initializer. */ --static int missing_braces_mentioned; -+/* Nonzero if we might need to print a "missing braces around -+ initializer" message within this initializer. */ -+static int found_missing_braces; - - static int require_constant_value; - static int require_constant_elements; -@@ -6379,6 +6379,9 @@ - /* 1 if this constructor is erroneous so far. */ - static int constructor_erroneous; - -+/* 1 if this constructor is the universal zero initializer { 0 }. */ -+static int constructor_zeroinit; -+ - /* Structure for managing pending initializer elements, organized as an - AVL tree. */ - -@@ -6540,7 +6543,7 @@ - constructor_stack = 0; - constructor_range_stack = 0; - -- missing_braces_mentioned = 0; -+ found_missing_braces = 0; - - spelling_base = 0; - spelling_size = 0; -@@ -6635,6 +6638,7 @@ - constructor_type = type; - constructor_incremental = 1; - constructor_designated = 0; -+ constructor_zeroinit = 1; - designator_depth = 0; - designator_erroneous = 0; - -@@ -6832,11 +6836,8 @@ - set_nonincremental_init (braced_init_obstack); - } - -- if (implicit == 1 && warn_missing_braces && !missing_braces_mentioned) -- { -- missing_braces_mentioned = 1; -- warning_init (OPT_Wmissing_braces, "missing braces around initializer"); -- } -+ if (implicit == 1) -+ found_missing_braces = 1; - - if (TREE_CODE (constructor_type) == RECORD_TYPE - || TREE_CODE (constructor_type) == UNION_TYPE) -@@ -6969,16 +6970,23 @@ - } - } - -+ if (vec_safe_length (constructor_elements) != 1) -+ constructor_zeroinit = 0; -+ -+ /* Warn when some structs are initialized with direct aggregation. */ -+ if (!implicit && found_missing_braces && warn_missing_braces -+ && !constructor_zeroinit) -+ { -+ warning_init (OPT_Wmissing_braces, -+ "missing braces around initializer"); -+ } -+ - /* Warn when some struct elements are implicitly initialized to zero. */ - if (warn_missing_field_initializers - && constructor_type - && TREE_CODE (constructor_type) == RECORD_TYPE - && constructor_unfilled_fields) - { -- bool constructor_zeroinit = -- (vec_safe_length (constructor_elements) == 1 -- && integer_zerop ((*constructor_elements)[0].value)); -- - /* Do not warn for flexible array members or zero-length arrays. */ - while (constructor_unfilled_fields - && (!DECL_SIZE (constructor_unfilled_fields) -@@ -8093,6 +8101,9 @@ - designator_depth = 0; - designator_erroneous = 0; - -+ if (!implicit && value.value && !integer_zerop (value.value)) -+ constructor_zeroinit = 0; -+ - /* Handle superfluous braces around string cst as in - char x[] = {"foo"}; */ - if (string_flag diff --git a/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-4.9/0067-fix-arm-thumb.patch b/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-4.9/0067-fix-arm-thumb.patch deleted file mode 100644 index 2f262e3a3..000000000 --- a/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-4.9/0067-fix-arm-thumb.patch +++ /dev/null @@ -1,39 +0,0 @@ -Upstream-Status: Accepted - -Signed-off-by: Dmitry Eremin-Solenikov <dbaryshkov@gmail.com> ---- - -2015-11-25 Vladimir Makarov <vmakarov@redhat.com> - - PR rtl-optimization/67954 - * lra-constraints.c (curr_insn_transform): Add check on scratch - pseudo when change class to NO_REGS. Add an assert. - - - -git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@230894 138bc75d-0d04-0410-961f-82ee72b054a4 ---- - -diff --git a/gcc/lra-constraints.c b/gcc/lra-constraints.c -index 4670e81..c62bf6a 100644 ---- a/gcc/lra-constraints.c -+++ b/gcc/lra-constraints.c -@@ -3725,7 +3725,8 @@ curr_insn_transform (bool check_only_p) - assigment pass and the scratch pseudo will be - spilled. Spilled scratch pseudos are transformed - back to scratches at the LRA end. */ -- && lra_former_scratch_operand_p (curr_insn, i)) -+ && lra_former_scratch_operand_p (curr_insn, i) -+ && lra_former_scratch_p (REGNO (op))) - { - int regno = REGNO (op); - lra_change_class (regno, NO_REGS, " Change to", true); -@@ -3734,6 +3735,8 @@ curr_insn_transform (bool check_only_p) - spilled pseudo as there is only one such insn, the - current one. */ - reg_renumber[regno] = -1; -+ lra_assert (bitmap_single_bit_set_p -+ (&lra_reg_info[REGNO (op)].insn_bitmap)); - } - /* We can do an optional reload. If the pseudo got a hard - reg, we might improve the code through inheritance. If diff --git a/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-4.9/0067-gcc-musl-support.patch b/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-4.9/0067-gcc-musl-support.patch deleted file mode 100644 index 9a0b5ade4..000000000 --- a/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-4.9/0067-gcc-musl-support.patch +++ /dev/null @@ -1,267 +0,0 @@ -# HG changeset patch -# Parent e5b4564f249f8634194bdabef4b3057d0e54ee97 -Adding -mmusl as a musl libc specifier, and the necessary hacks for it to know how to find musl's dynamic linker. -Upstream-Status: backport [partial] -Signed-off-by: Khem Raj <raj.khem@gmail.com> - - -Index: gcc-4.9.0/gcc/config.gcc -=================================================================== ---- gcc-4.9.0.orig/gcc/config.gcc 2014-04-22 22:44:17.153567150 -0700 -+++ gcc-4.9.0/gcc/config.gcc 2014-04-23 23:54:31.427357051 -0700 -@@ -594,7 +594,7 @@ - esac - - # Common C libraries. --tm_defines="$tm_defines LIBC_GLIBC=1 LIBC_UCLIBC=2 LIBC_BIONIC=3" -+tm_defines="$tm_defines LIBC_GLIBC=1 LIBC_UCLIBC=2 LIBC_BIONIC=3 LIBC_MUSL=4" - - # 32-bit x86 processors supported by --with-arch=. Each processor - # MUST be separated by exactly one space. -@@ -719,6 +719,9 @@ - *-*-*uclibc*) - tm_defines="$tm_defines DEFAULT_LIBC=LIBC_UCLIBC" - ;; -+ *-*-*musl*) -+ tm_defines="$tm_defines DEFAULT_LIBC=LIBC_MUSL" -+ ;; - *) - tm_defines="$tm_defines DEFAULT_LIBC=LIBC_GLIBC" - ;; -@@ -2328,6 +2331,11 @@ - powerpc*-*-linux*paired*) - tm_file="${tm_file} rs6000/750cl.h" ;; - esac -+ case ${target} in -+ *-linux*-musl*) -+ enable_secureplt=yes ;; -+ esac -+ - if test x${enable_secureplt} = xyes; then - tm_file="rs6000/secureplt.h ${tm_file}" - fi -Index: gcc-4.9.0/gcc/config/linux.h -=================================================================== ---- gcc-4.9.0.orig/gcc/config/linux.h 2014-01-02 14:23:26.000000000 -0800 -+++ gcc-4.9.0/gcc/config/linux.h 2014-04-24 00:11:29.034028895 -0700 -@@ -32,10 +32,12 @@ - #define OPTION_GLIBC (DEFAULT_LIBC == LIBC_GLIBC) - #define OPTION_UCLIBC (DEFAULT_LIBC == LIBC_UCLIBC) - #define OPTION_BIONIC (DEFAULT_LIBC == LIBC_BIONIC) -+#define OPTION_MUSL (DEFAULT_LIBC == LIBC_MUSL) - #else - #define OPTION_GLIBC (linux_libc == LIBC_GLIBC) - #define OPTION_UCLIBC (linux_libc == LIBC_UCLIBC) - #define OPTION_BIONIC (linux_libc == LIBC_BIONIC) -+#define OPTION_MUSL (linux_libc == LIBC_MUSL) - #endif - - #define GNU_USER_TARGET_OS_CPP_BUILTINS() \ -@@ -53,18 +55,21 @@ - uClibc or Bionic is the default C library and whether - -muclibc or -mglibc or -mbionic has been passed to change the default. */ - --#define CHOOSE_DYNAMIC_LINKER1(LIBC1, LIBC2, LIBC3, LD1, LD2, LD3) \ -- "%{" LIBC2 ":" LD2 ";:%{" LIBC3 ":" LD3 ";:" LD1 "}}" -+#define CHOOSE_DYNAMIC_LINKER1(LIBC1, LIBC2, LIBC3, LIBC4, LD1, LD2, LD3, LD4) \ -+ "%{" LIBC2 ":" LD2 ";:%{" LIBC3 ":" LD3 ";:%{" LIBC4 ":" LD4 ";:" LD1 "}}}" - - #if DEFAULT_LIBC == LIBC_GLIBC --#define CHOOSE_DYNAMIC_LINKER(G, U, B) \ -- CHOOSE_DYNAMIC_LINKER1 ("mglibc", "muclibc", "mbionic", G, U, B) -+#define CHOOSE_DYNAMIC_LINKER(G, U, B, M) \ -+ CHOOSE_DYNAMIC_LINKER1 ("mglibc", "muclibc", "mbionic", "mmusl", G, U, B, M) - #elif DEFAULT_LIBC == LIBC_UCLIBC --#define CHOOSE_DYNAMIC_LINKER(G, U, B) \ -- CHOOSE_DYNAMIC_LINKER1 ("muclibc", "mglibc", "mbionic", U, G, B) -+#define CHOOSE_DYNAMIC_LINKER(G, U, B, M) \ -+ CHOOSE_DYNAMIC_LINKER1 ("muclibc", "mglibc", "mbionic", "mmusl", U, G, B, M) - #elif DEFAULT_LIBC == LIBC_BIONIC --#define CHOOSE_DYNAMIC_LINKER(G, U, B) \ -- CHOOSE_DYNAMIC_LINKER1 ("mbionic", "mglibc", "muclibc", B, G, U) -+#define CHOOSE_DYNAMIC_LINKER(G, U, B, M) \ -+ CHOOSE_DYNAMIC_LINKER1 ("mbionic", "mglibc", "muclibc", "mmusl", B, G, U, M) -+#elif DEFAULT_LIBC == LIBC_MUSL -+#define CHOOSE_DYNAMIC_LINKER(G, U, B, M) \ -+ CHOOSE_DYNAMIC_LINKER1 ("mmusl", "mglibc", "muclibc", "mbionic", M, G, U, B) - #else - #error "Unsupported DEFAULT_LIBC" - #endif /* DEFAULT_LIBC */ -@@ -84,16 +89,16 @@ - - #define GNU_USER_DYNAMIC_LINKER \ - CHOOSE_DYNAMIC_LINKER (GLIBC_DYNAMIC_LINKER, UCLIBC_DYNAMIC_LINKER, \ -- BIONIC_DYNAMIC_LINKER) -+ BIONIC_DYNAMIC_LINKER, MUSL_DYNAMIC_LINKER) - #define GNU_USER_DYNAMIC_LINKER32 \ - CHOOSE_DYNAMIC_LINKER (GLIBC_DYNAMIC_LINKER32, UCLIBC_DYNAMIC_LINKER32, \ -- BIONIC_DYNAMIC_LINKER32) -+ BIONIC_DYNAMIC_LINKER32, MUSL_DYNAMIC_LINKER32) - #define GNU_USER_DYNAMIC_LINKER64 \ - CHOOSE_DYNAMIC_LINKER (GLIBC_DYNAMIC_LINKER64, UCLIBC_DYNAMIC_LINKER64, \ -- BIONIC_DYNAMIC_LINKER64) -+ BIONIC_DYNAMIC_LINKER64, MUSL_DYNAMIC_LINKER64) - #define GNU_USER_DYNAMIC_LINKERX32 \ - CHOOSE_DYNAMIC_LINKER (GLIBC_DYNAMIC_LINKERX32, UCLIBC_DYNAMIC_LINKERX32, \ -- BIONIC_DYNAMIC_LINKERX32) -+ BIONIC_DYNAMIC_LINKERX32, MUSL_DYNAMIC_LINKERX32) - - /* Whether we have Bionic libc runtime */ - #undef TARGET_HAS_BIONIC -@@ -127,3 +132,74 @@ - # define TARGET_LIBC_HAS_FUNCTION linux_libc_has_function - - #endif -+ -+/* musl avoids problematic includes by rearranging the include directories. -+ * Unfortunately, this is mostly duplicated from cppdefault.c */ -+#if DEFAULT_LIBC == LIBC_MUSL -+#define INCLUDE_DEFAULTS_MUSL_GPP \ -+ { GPLUSPLUS_INCLUDE_DIR, "G++", 1, 1, \ -+ GPLUSPLUS_INCLUDE_DIR_ADD_SYSROOT, 0 }, \ -+ { GPLUSPLUS_TOOL_INCLUDE_DIR, "G++", 1, 1, \ -+ GPLUSPLUS_INCLUDE_DIR_ADD_SYSROOT, 1 }, \ -+ { GPLUSPLUS_BACKWARD_INCLUDE_DIR, "G++", 1, 1, \ -+ GPLUSPLUS_INCLUDE_DIR_ADD_SYSROOT, 0 }, -+ -+#ifdef LOCAL_INCLUDE_DIR -+#define INCLUDE_DEFAULTS_MUSL_LOCAL \ -+ { LOCAL_INCLUDE_DIR, 0, 0, 1, 1, 2 }, \ -+ { LOCAL_INCLUDE_DIR, 0, 0, 1, 1, 0 }, -+#else -+#define INCLUDE_DEFAULTS_MUSL_LOCAL -+#endif -+ -+#ifdef PREFIX_INCLUDE_DIR -+#define INCLUDE_DEFAULTS_MUSL_PREFIX \ -+ { PREFIX_INCLUDE_DIR, 0, 0, 1, 0, 0}, -+#else -+#define INCLUDE_DEFAULTS_MUSL_PREFIX -+#endif -+ -+#ifdef CROSS_INCLUDE_DIR -+#define INCLUDE_DEFAULTS_MUSL_CROSS \ -+ { CROSS_INCLUDE_DIR, "GCC", 0, 0, 0, 0}, -+#else -+#define INCLUDE_DEFAULTS_MUSL_CROSS -+#endif -+ -+#ifdef TOOL_INCLUDE_DIR -+#define INCLUDE_DEFAULTS_MUSL_TOOL \ -+ { TOOL_INCLUDE_DIR, "BINUTILS", 0, 1, 0, 0}, -+#else -+#define INCLUDE_DEFAULTS_MUSL_TOOL -+#endif -+ -+#ifdef NATIVE_SYSTEM_HEADER_DIR -+#define INCLUDE_DEFAULTS_MUSL_NATIVE \ -+ { NATIVE_SYSTEM_HEADER_DIR, 0, 0, 0, 1, 2 }, \ -+ { NATIVE_SYSTEM_HEADER_DIR, 0, 0, 0, 1, 0 }, -+#else -+#define INCLUDE_DEFAULTS_MUSL_NATIVE -+#endif -+ -+#if defined (CROSS_DIRECTORY_STRUCTURE) && !defined (TARGET_SYSTEM_ROOT) -+# undef INCLUDE_DEFAULTS_MUSL_LOCAL -+# define INCLUDE_DEFAULTS_MUSL_LOCAL -+# undef INCLUDE_DEFAULTS_MUSL_NATIVE -+# define INCLUDE_DEFAULTS_MUSL_NATIVE -+#else -+# undef INCLUDE_DEFAULTS_MUSL_CROSS -+# define INCLUDE_DEFAULTS_MUSL_CROSS -+#endif -+ -+#undef INCLUDE_DEFAULTS -+#define INCLUDE_DEFAULTS \ -+ { \ -+ INCLUDE_DEFAULTS_MUSL_GPP \ -+ INCLUDE_DEFAULTS_MUSL_PREFIX \ -+ INCLUDE_DEFAULTS_MUSL_CROSS \ -+ INCLUDE_DEFAULTS_MUSL_TOOL \ -+ INCLUDE_DEFAULTS_MUSL_NATIVE \ -+ { GCC_INCLUDE_DIR, "GCC", 0, 1, 0, 0 }, \ -+ { 0, 0, 0, 0, 0, 0 } \ -+ } -+#endif -Index: gcc-4.9.0/gcc/config/linux.opt -=================================================================== ---- gcc-4.9.0.orig/gcc/config/linux.opt 2014-01-02 14:23:26.000000000 -0800 -+++ gcc-4.9.0/gcc/config/linux.opt 2014-04-22 22:44:17.280233817 -0700 -@@ -30,3 +30,7 @@ - muclibc - Target Report RejectNegative Var(linux_libc,LIBC_UCLIBC) Negative(mbionic) - Use uClibc C library -+ -+mmusl -+Target Report RejectNegative Var(linux_libc,LIBC_MUSL) Negative(mglibc) -+Use musl C library -Index: gcc-4.9.0/gcc/ginclude/stddef.h -=================================================================== ---- gcc-4.9.0.orig/gcc/ginclude/stddef.h 2014-01-02 14:23:26.000000000 -0800 -+++ gcc-4.9.0/gcc/ginclude/stddef.h 2014-04-22 22:44:17.280233817 -0700 -@@ -181,6 +181,7 @@ - #ifndef _GCC_SIZE_T - #ifndef _SIZET_ - #ifndef __size_t -+#ifndef __DEFINED_size_t /* musl */ - #define __size_t__ /* BeOS */ - #define __SIZE_T__ /* Cray Unicos/Mk */ - #define _SIZE_T -@@ -197,6 +198,7 @@ - #define ___int_size_t_h - #define _GCC_SIZE_T - #define _SIZET_ -+#define __DEFINED_size_t /* musl */ - #if (defined (__FreeBSD__) && (__FreeBSD__ >= 5)) \ - || defined(__FreeBSD_kernel__) - /* __size_t is a typedef on FreeBSD 5, must not trash it. */ -@@ -214,6 +216,7 @@ - typedef long ssize_t; - #endif /* __BEOS__ */ - #endif /* !(defined (__GNUG__) && defined (size_t)) */ -+#endif /* __DEFINED_size_t */ - #endif /* __size_t */ - #endif /* _SIZET_ */ - #endif /* _GCC_SIZE_T */ -Index: gcc-4.9.0/gcc/config/rs6000/secureplt.h -=================================================================== ---- gcc-4.9.0.orig/gcc/config/rs6000/secureplt.h 2014-01-02 14:23:26.000000000 -0800 -+++ gcc-4.9.0/gcc/config/rs6000/secureplt.h 2014-04-23 23:55:15.114024175 -0700 -@@ -18,3 +18,4 @@ - <http://www.gnu.org/licenses/>. */ - - #define CC1_SECURE_PLT_DEFAULT_SPEC "-msecure-plt" -+#define LINK_SECURE_PLT_DEFAULT_SPEC "--secure-plt" -Index: gcc-4.9.0/gcc/config/rs6000/sysv4.h -=================================================================== ---- gcc-4.9.0.orig/gcc/config/rs6000/sysv4.h 2014-04-23 23:52:13.854023015 -0700 -+++ gcc-4.9.0/gcc/config/rs6000/sysv4.h 2014-04-24 00:10:55.550695334 -0700 -@@ -538,6 +538,10 @@ - #define CC1_SECURE_PLT_DEFAULT_SPEC "" - #endif - -+#ifndef LINK_SECURE_PLT_DEFAULT_SPEC -+#define LINK_SECURE_PLT_DEFAULT_SPEC "" -+#endif -+ - /* Pass -G xxx to the compiler. */ - #define CC1_SPEC "%{G*} %(cc1_cpu)" \ - "%{meabi: %{!mcall-*: -mcall-sysv }} \ -@@ -585,7 +589,8 @@ - - /* Override the default target of the linker. */ - #define LINK_TARGET_SPEC \ -- ENDIAN_SELECT("", " --oformat elf32-powerpcle", "") -+ ENDIAN_SELECT("", " --oformat elf32-powerpcle", "") \ -+ "%{!mbss-plt: %{!msecure-plt: %(link_secure_plt_default)}}" - - /* Any specific OS flags. */ - #define LINK_OS_SPEC "\ -@@ -894,6 +899,7 @@ - { "link_os_openbsd", LINK_OS_OPENBSD_SPEC }, \ - { "link_os_default", LINK_OS_DEFAULT_SPEC }, \ - { "cc1_secure_plt_default", CC1_SECURE_PLT_DEFAULT_SPEC }, \ -+ { "link_secure_plt_default", LINK_SECURE_PLT_DEFAULT_SPEC }, \ - { "cpp_os_ads", CPP_OS_ADS_SPEC }, \ - { "cpp_os_yellowknife", CPP_OS_YELLOWKNIFE_SPEC }, \ - { "cpp_os_mvme", CPP_OS_MVME_SPEC }, \ diff --git a/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-4.9/0068-musl-dynamic-linker.patch b/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-4.9/0068-musl-dynamic-linker.patch deleted file mode 100644 index 605ac6675..000000000 --- a/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-4.9/0068-musl-dynamic-linker.patch +++ /dev/null @@ -1,205 +0,0 @@ -# HG changeset patch -# Parent 6738fd6f6fcc2a72f2ba527bda3325642af26885 -Support for arm-linux-musl. -Upstream-Status: Backport [partial] -Signed-off-by: Khem Raj <raj.khem@gmail.com> - - -Index: gcc-4.9.2/gcc/config/arm/linux-eabi.h -=================================================================== ---- gcc-4.9.2.orig/gcc/config/arm/linux-eabi.h -+++ gcc-4.9.2/gcc/config/arm/linux-eabi.h -@@ -81,6 +81,23 @@ - #undef TARGET_FIX_V4BX_SPEC - #define TARGET_FIX_V4BX_SPEC "%{mcpu=arm8|mcpu=arm810|mcpu=strongarm*|march=armv4: --fix-v4bx}" - -+/* For ARM musl currently supports four dynamic linkers: -+ - ld-musl-arm.so.1 - for the EABI-derived soft-float ABI -+ - ld-musl-armhf.so.1 - for the EABI-derived hard-float ABI -+ - ld-musl-armeb.so.1 - for the EABI-derived soft-float ABI, EB -+ - ld-musl-armebhf.so.1 - for the EABI-derived hard-float ABI, EB -+ musl does not support the legacy OABI mode. -+ All the dynamic linkers live in /lib. -+ We default to soft-float, EL. */ -+#undef MUSL_DYNAMIC_LINKER -+#if TARGET_BIG_ENDIAN_DEFAULT -+#define MUSL_DYNAMIC_LINKER_E "%{mlittle-endian:;:eb}" -+#else -+#define MUSL_DYNAMIC_LINKER_E "%{mbig-endian:eb}" -+#endif -+#define MUSL_DYNAMIC_LINKER \ -+ SYSTEMLIBS_DIR "ld-musl-arm" MUSL_DYNAMIC_LINKER_E "%{mfloat-abi=hard:hf}.so.1" -+ - /* At this point, bpabi.h will have clobbered LINK_SPEC. We want to - use the GNU/Linux version, not the generic BPABI version. */ - #undef LINK_SPEC -Index: gcc-4.9.2/libitm/config/arm/hwcap.cc -=================================================================== ---- gcc-4.9.2.orig/libitm/config/arm/hwcap.cc -+++ gcc-4.9.2/libitm/config/arm/hwcap.cc -@@ -40,7 +40,11 @@ int GTM_hwcap HIDDEN = 0 - - #ifdef __linux__ - #include <unistd.h> -+#ifdef __GLIBC__ - #include <sys/fcntl.h> -+#else -+#include <fcntl.h> -+#endif - #include <elf.h> - - static void __attribute__((constructor)) -Index: gcc-4.9.2/gcc/config/i386/linux.h -=================================================================== ---- gcc-4.9.2.orig/gcc/config/i386/linux.h -+++ gcc-4.9.2/gcc/config/i386/linux.h -@@ -21,3 +21,4 @@ along with GCC; see the file COPYING3. - - #define GNU_USER_LINK_EMULATION "elf_i386" - #define GLIBC_DYNAMIC_LINKER SYSTEMLIBS_DIR "ld-linux.so.2" -+#define MUSL_DYNAMIC_LINKER SYSTEMLIBS_DIR "ld-musl-i386.so.1" -Index: gcc-4.9.2/gcc/config/i386/linux64.h -=================================================================== ---- gcc-4.9.2.orig/gcc/config/i386/linux64.h -+++ gcc-4.9.2/gcc/config/i386/linux64.h -@@ -30,3 +30,8 @@ see the files COPYING3 and COPYING.RUNTI - #define GLIBC_DYNAMIC_LINKER32 SYSTEMLIBS_DIR "ld-linux.so.2" - #define GLIBC_DYNAMIC_LINKER64 SYSTEMLIBS_DIR "ld-linux-x86-64.so.2" - #define GLIBC_DYNAMIC_LINKERX32 SYSTEMLIBS_DIR "ld-linux-x32.so.2" -+ -+#define MUSL_DYNAMIC_LINKER32 SYSTEMLIBS_DIR "ld-musl-i386.so.1" -+#define MUSL_DYNAMIC_LINKER64 SYSTEMLIBS_DIR "ld-musl-x86_64.so.1" -+#define MUSL_DYNAMIC_LINKERX32 SYSTEMLIBS_DIR "ld-musl-x32.so.1" -+ -Index: gcc-4.9.2/gcc/config/mips/linux.h -=================================================================== ---- gcc-4.9.2.orig/gcc/config/mips/linux.h -+++ gcc-4.9.2/gcc/config/mips/linux.h -@@ -23,3 +23,6 @@ along with GCC; see the file COPYING3. - #undef UCLIBC_DYNAMIC_LINKER - #define UCLIBC_DYNAMIC_LINKER \ - "%{mnan=2008:" SYSTEMLIBS_DIR "ld-uClibc-mipsn8.so.0;:" SYSTEMLIBS_DIR "ld-uClibc.so.0}" -+ -+#define MUSL_DYNAMIC_LINKER SYSTEMLIBS_DIR "ld-musl-mips.so.1" -+ -Index: gcc-4.9.2/gcc/config/mips/linux64.h -=================================================================== ---- gcc-4.9.2.orig/gcc/config/mips/linux64.h -+++ gcc-4.9.2/gcc/config/mips/linux64.h -@@ -39,6 +39,11 @@ along with GCC; see the file COPYING3. - "%{mnan=2008:" SYSTEMLIBS_DIR "ld-uClibc-mipsn8.so.0;:" SYSTEMLIBS_DIR "ld-uClibc.so.0}" - - #define BIONIC_DYNAMIC_LINKERN32 "/system/bin/linker32" -+ -+#define MUSL_DYNAMIC_LINKERN32 SYSTEMLIBS_DIR "ld-musl-mips.so.1" -+#define MUSL_DYNAMIC_LINKER32 SYSTEMLIBS_DIR "ld-musl-mips.so.1" -+#define MUSL_DYNAMIC_LINKER64 SYSTEMLIBS_DIR "ld-musl-mips.so.1" -+ - #define GNU_USER_DYNAMIC_LINKERN32 \ - CHOOSE_DYNAMIC_LINKER (GLIBC_DYNAMIC_LINKERN32, UCLIBC_DYNAMIC_LINKERN32, \ -- BIONIC_DYNAMIC_LINKERN32) -+ BIONIC_DYNAMIC_LINKERN32, MUSL_DYNAMIC_LINKERN32) -Index: gcc-4.9.2/gcc/config/rs6000/linux64.h -=================================================================== ---- gcc-4.9.2.orig/gcc/config/rs6000/linux64.h -+++ gcc-4.9.2/gcc/config/rs6000/linux64.h -@@ -375,17 +375,22 @@ extern int dot_symbols; - #endif - #define UCLIBC_DYNAMIC_LINKER32 SYSTEMLIBS_DIR "ld-uClibc.so.0" - #define UCLIBC_DYNAMIC_LINKER64 SYSTEMLIBS_DIR "ld64-uClibc.so.0" -+#define MUSL_DYNAMIC_LINKER32 SYSTEMLIBS_DIR "ld-musl-powerpc.so.1" -+#define MUSL_DYNAMIC_LINKER64 SYSTEMLIBS_DIR "ld-musl-powerpc64.so.1" -+ - #if DEFAULT_LIBC == LIBC_UCLIBC --#define CHOOSE_DYNAMIC_LINKER(G, U) "%{mglibc:" G ";:" U "}" -+#define CHOOSE_DYNAMIC_LINKER(G, U, M) "%{mglibc:" G ";:%{mmusl:" M ";:" U "}}" - #elif DEFAULT_LIBC == LIBC_GLIBC --#define CHOOSE_DYNAMIC_LINKER(G, U) "%{muclibc:" U ";:" G "}" -+#define CHOOSE_DYNAMIC_LINKER(G, U, M) "%{muclibc:" U ";:%{mmusl:" M ";:" G "}}" -+#elif DEFAULT_LIBC == LIBC_MUSL -+#define CHOOSE_DYNAMIC_LINKER(G, U, M) "%{mglibc:" G ";:%{muclibc:" U ";:" M "}}" - #else - #error "Unsupported DEFAULT_LIBC" - #endif - #define GNU_USER_DYNAMIC_LINKER32 \ -- CHOOSE_DYNAMIC_LINKER (GLIBC_DYNAMIC_LINKER32, UCLIBC_DYNAMIC_LINKER32) -+ CHOOSE_DYNAMIC_LINKER (GLIBC_DYNAMIC_LINKER32, UCLIBC_DYNAMIC_LINKER32, MUSL_DYNAMIC_LINKER32) - #define GNU_USER_DYNAMIC_LINKER64 \ -- CHOOSE_DYNAMIC_LINKER (GLIBC_DYNAMIC_LINKER64, UCLIBC_DYNAMIC_LINKER64) -+ CHOOSE_DYNAMIC_LINKER (GLIBC_DYNAMIC_LINKER64, UCLIBC_DYNAMIC_LINKER64, MUSL_DYNAMIC_LINKER64) - - #undef DEFAULT_ASM_ENDIAN - #if (TARGET_DEFAULT & MASK_LITTLE_ENDIAN) -Index: gcc-4.9.2/gcc/config/rs6000/sysv4.h -=================================================================== ---- gcc-4.9.2.orig/gcc/config/rs6000/sysv4.h -+++ gcc-4.9.2/gcc/config/rs6000/sysv4.h -@@ -768,15 +768,19 @@ ENDIAN_SELECT(" -mbig", " -mlittle", DEF - - #define GLIBC_DYNAMIC_LINKER "/lib/ld.so.1" - #define UCLIBC_DYNAMIC_LINKER "/lib/ld-uClibc.so.0" -+#define MUSL_DYNAMIC_LINKER "/lib/ld-musl-powerpc.so.1" -+ - #if DEFAULT_LIBC == LIBC_UCLIBC --#define CHOOSE_DYNAMIC_LINKER(G, U) "%{mglibc:" G ";:" U "}" -+#define CHOOSE_DYNAMIC_LINKER(G, U, M) "%{mglibc:" G ";:%{mmusl:" M ";:" U "}}" -+#elif DEFAULT_LIBC == LIBC_MUSL -+#define CHOOSE_DYNAMIC_LINKER(G, U, M) "%{mglibc:" G ";:%{muclibc:" U ";:" M "}}" - #elif !defined (DEFAULT_LIBC) || DEFAULT_LIBC == LIBC_GLIBC --#define CHOOSE_DYNAMIC_LINKER(G, U) "%{muclibc:" U ";:" G "}" -+#define CHOOSE_DYNAMIC_LINKER(G, U, M) "%{muclibc:" U ";:%{mmusl:" M ";:" G "}}" - #else - #error "Unsupported DEFAULT_LIBC" - #endif - #define GNU_USER_DYNAMIC_LINKER \ -- CHOOSE_DYNAMIC_LINKER (GLIBC_DYNAMIC_LINKER, UCLIBC_DYNAMIC_LINKER) -+ CHOOSE_DYNAMIC_LINKER (GLIBC_DYNAMIC_LINKER, UCLIBC_DYNAMIC_LINKER, MUSL_DYNAMIC_LINKER) - - #define LINK_OS_LINUX_SPEC "-m elf32ppclinux %{!shared: %{!static: \ - %{rdynamic:-export-dynamic} \ -Index: gcc-4.9.2/libitm/config/linux/x86/tls.h -=================================================================== ---- gcc-4.9.2.orig/libitm/config/linux/x86/tls.h -+++ gcc-4.9.2/libitm/config/linux/x86/tls.h -@@ -25,16 +25,19 @@ - #ifndef LIBITM_X86_TLS_H - #define LIBITM_X86_TLS_H 1 - --#if defined(__GLIBC_PREREQ) && __GLIBC_PREREQ(2, 10) -+#if defined(__GLIBC_PREREQ) -+#if __GLIBC_PREREQ(2, 10) - /* Use slots in the TCB head rather than __thread lookups. - GLIBC has reserved words 10 through 13 for TM. */ - #define HAVE_ARCH_GTM_THREAD 1 - #define HAVE_ARCH_GTM_THREAD_DISP 1 - #endif -+#endif - - #include "config/generic/tls.h" - --#if defined(__GLIBC_PREREQ) && __GLIBC_PREREQ(2, 10) -+#if defined(__GLIBC_PREREQ) -+#if __GLIBC_PREREQ(2, 10) - namespace GTM HIDDEN { - - #ifdef __x86_64__ -@@ -101,5 +104,6 @@ static inline void set_abi_disp(struct a - - } // namespace GTM - #endif /* >= GLIBC 2.10 */ -+#endif - - #endif // LIBITM_X86_TLS_H -Index: gcc-4.9.2/gcc/config/aarch64/aarch64-linux.h -=================================================================== ---- gcc-4.9.2.orig/gcc/config/aarch64/aarch64-linux.h -+++ gcc-4.9.2/gcc/config/aarch64/aarch64-linux.h -@@ -25,6 +25,8 @@ - - #define CPP_SPEC "%{pthread:-D_REENTRANT}" - -+#define MUSL_DYNAMIC_LINKER SYSTEMLIBS_DIR "ld-musl-aarch64.so.1" -+ - #define LINUX_TARGET_LINK_SPEC "%{h*} \ - %{static:-Bstatic} \ - %{shared:-shared} \ diff --git a/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-4.9/0069-musl-no-fixincludes.patch b/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-4.9/0069-musl-no-fixincludes.patch deleted file mode 100644 index e2b18a402..000000000 --- a/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-4.9/0069-musl-no-fixincludes.patch +++ /dev/null @@ -1,21 +0,0 @@ -# HG changeset patch -# Parent 600a8a422ccaf5627ad1f5a138e7398df2b9e9d8 -Get rid of ever-broken fixincludes on musl. -Upstream-Status: Pending -Signed-off-by: Khem Raj <raj.khem@gmail.com> - - -Index: gcc-4.9-20140316/fixincludes/mkfixinc.sh -=================================================================== ---- gcc-4.9-20140316.orig/fixincludes/mkfixinc.sh -+++ gcc-4.9-20140316/fixincludes/mkfixinc.sh -@@ -19,7 +19,8 @@ case $machine in - powerpc-*-eabi* | \ - powerpc-*-rtems* | \ - powerpcle-*-eabisim* | \ -- powerpcle-*-eabi* ) -+ powerpcle-*-eabi* | \ -+ *-musl* ) - # IF there is no include fixing, - # THEN create a no-op fixer and exit - (echo "#! /bin/sh" ; echo "exit 0" ) > ${target} diff --git a/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-4.9/0070-libstdc-musl.patch b/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-4.9/0070-libstdc-musl.patch deleted file mode 100644 index 048e481dc..000000000 --- a/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-4.9/0070-libstdc-musl.patch +++ /dev/null @@ -1,32 +0,0 @@ -Upstream-Status: Pending -Signed-off-by: Khem Raj <raj.khem@gmail.com> - -Index: gcc-4.9-20140316/libstdc++-v3/configure.host -=================================================================== ---- gcc-4.9-20140316.orig/libstdc++-v3/configure.host 2014-03-26 01:12:19.466008193 -0700 -+++ gcc-4.9-20140316/libstdc++-v3/configure.host 2014-03-26 01:43:48.222684357 -0700 -@@ -264,14 +264,24 @@ - os_include_dir="os/bsd/freebsd" - ;; - gnu* | linux* | kfreebsd*-gnu | knetbsd*-gnu) -+ # check for musl by target -+ case "${host_os}" in -+ *-musl*) -+ os_include_dir="os/generic" -+ ;; -+ *) - if [ "$uclibc" = "yes" ]; then - os_include_dir="os/uclibc" - elif [ "$bionic" = "yes" ]; then - os_include_dir="os/bionic" -+ elif [ "$musl" = "yes" ]; then -+ os_include_dir="os/generic" - else - os_include_dir="os/gnu-linux" - fi - ;; -+ esac -+ ;; - hpux*) - os_include_dir="os/hpux" - ;; diff --git a/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-4.9/0071-Ignore-fdebug-prefix-map-in-producer-string-by-Danie.patch b/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-4.9/0071-Ignore-fdebug-prefix-map-in-producer-string-by-Danie.patch deleted file mode 100644 index e8f79b590..000000000 --- a/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-4.9/0071-Ignore-fdebug-prefix-map-in-producer-string-by-Danie.patch +++ /dev/null @@ -1,31 +0,0 @@ -From 32593b38082ea65f4c82159254adf1e0dc2423be Mon Sep 17 00:00:00 2001 -From: bernds <bernds@138bc75d-0d04-0410-961f-82ee72b054a4> -Date: Tue, 16 Feb 2016 03:15:15 -0500 -Subject: [PATCH] Ignore -fdebug-prefix-map in producer string (by Daniel Kahn - Gillmor) - -* dwarf2out.c (gen_producer_string): Ignore -fdebug-prefix-map. - -git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@231835 138bc75d-0d04-0410-961f-82ee72b054a4 - -Upstream-Status: Backport -Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com> ---- - gcc/dwarf2out.c | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/gcc/dwarf2out.c b/gcc/dwarf2out.c -index 3614c10..526f114 100644 ---- a/gcc/dwarf2out.c -+++ b/gcc/dwarf2out.c -@@ -19670,6 +19670,7 @@ gen_producer_string (void) - case OPT_fpreprocessed: - case OPT_fltrans_output_list_: - case OPT_fresolution_: -+ case OPT_fdebug_prefix_map_: - /* Ignore these. */ - continue; - default: --- -1.9.1 - diff --git a/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-5.3.inc b/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-5.4.inc index 9808be113..338530fd6 100644 --- a/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-5.3.inc +++ b/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-5.4.inc @@ -2,15 +2,15 @@ require gcc-common.inc # Third digit in PV should be incremented after a minor release -PV = "5.3.0" +PV = "5.4.0" #SNAP = "5-20150405" # BINV should be incremented to a revision after a minor gcc release -BINV = "5.3.0" +BINV = "5.4.0" -FILESEXTRAPATHS =. "${FILE_DIRNAME}/gcc-5.3:${FILE_DIRNAME}/gcc-5.3/backport:" +FILESEXTRAPATHS =. "${FILE_DIRNAME}/gcc-5.4:${FILE_DIRNAME}/gcc-5.4/backport:" DEPENDS =+ "mpfr gmp libmpc zlib" NATIVEDEPS = "mpfr-native gmp-native libmpc-native zlib-native" @@ -88,12 +88,15 @@ SRC_URI = "\ file://0056-Enable-libc-provide-ssp-and-gcc_cv_target_dl_iterate.patch \ file://0057-unwind-fix-for-musl.patch \ file://0058-fdebug-prefix-map-support-to-remap-relative-path.patch \ + file://0059-libgcc-use-ldflags.patch \ " BACKPORTS = "" -SRC_URI[md5sum] = "c9616fd448f980259c31de613e575719" -SRC_URI[sha256sum] = "b84f5592e9218b73dbae612b5253035a7b34a9a1f7688d2e1bfaaf7267d5c4db" +SRC_URI[md5sum] = "4c626ac2a83ef30dfb9260e6f59c2b30" +SRC_URI[sha256sum] = "608df76dec2d34de6558249d8af4cbee21eceddbcb580d666f7a5a583ca3303a" + +UPSTREAM_CHECK_REGEX = "gcc-(?P<pver>5\.\d+\.\d+).tar" #S = "${TMPDIR}/work-shared/gcc-${PV}-${PR}/gcc-${SNAP}" S = "${TMPDIR}/work-shared/gcc-${PV}-${PR}/gcc-${PV}" diff --git a/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-5.3/0001-gcc-4.3.1-ARCH_FLAGS_FOR_TARGET.patch b/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-5.4/0001-gcc-4.3.1-ARCH_FLAGS_FOR_TARGET.patch index 1aead9691..1aead9691 100644 --- a/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-5.3/0001-gcc-4.3.1-ARCH_FLAGS_FOR_TARGET.patch +++ b/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-5.4/0001-gcc-4.3.1-ARCH_FLAGS_FOR_TARGET.patch diff --git a/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-5.3/0002-uclibc-conf.patch b/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-5.4/0002-uclibc-conf.patch index 8d6aeb5e4..8d6aeb5e4 100644 --- a/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-5.3/0002-uclibc-conf.patch +++ b/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-5.4/0002-uclibc-conf.patch diff --git a/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-5.3/0003-gcc-uclibc-locale-ctype_touplow_t.patch b/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-5.4/0003-gcc-uclibc-locale-ctype_touplow_t.patch index bd0326343..bd0326343 100644 --- a/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-5.3/0003-gcc-uclibc-locale-ctype_touplow_t.patch +++ b/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-5.4/0003-gcc-uclibc-locale-ctype_touplow_t.patch diff --git a/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-5.3/0004-uclibc-locale.patch b/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-5.4/0004-uclibc-locale.patch index 656265a28..656265a28 100644 --- a/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-5.3/0004-uclibc-locale.patch +++ b/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-5.4/0004-uclibc-locale.patch diff --git a/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-5.3/0005-uclibc-locale-no__x.patch b/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-5.4/0005-uclibc-locale-no__x.patch index 19a86a4e1..19a86a4e1 100644 --- a/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-5.3/0005-uclibc-locale-no__x.patch +++ b/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-5.4/0005-uclibc-locale-no__x.patch diff --git a/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-5.3/0006-uclibc-locale-wchar_fix.patch b/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-5.4/0006-uclibc-locale-wchar_fix.patch index d7dbe68bd..d7dbe68bd 100644 --- a/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-5.3/0006-uclibc-locale-wchar_fix.patch +++ b/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-5.4/0006-uclibc-locale-wchar_fix.patch diff --git a/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-5.3/0007-uclibc-locale-update.patch b/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-5.4/0007-uclibc-locale-update.patch index cde749931..cde749931 100644 --- a/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-5.3/0007-uclibc-locale-update.patch +++ b/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-5.4/0007-uclibc-locale-update.patch diff --git a/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-5.3/0008-missing-execinfo_h.patch b/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-5.4/0008-missing-execinfo_h.patch index 9f8793125..9f8793125 100644 --- a/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-5.3/0008-missing-execinfo_h.patch +++ b/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-5.4/0008-missing-execinfo_h.patch diff --git a/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-5.3/0009-c99-snprintf.patch b/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-5.4/0009-c99-snprintf.patch index 6b236c62c..6b236c62c 100644 --- a/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-5.3/0009-c99-snprintf.patch +++ b/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-5.4/0009-c99-snprintf.patch diff --git a/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-5.3/0010-gcc-poison-system-directories.patch b/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-5.4/0010-gcc-poison-system-directories.patch index 2da887767..2da887767 100644 --- a/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-5.3/0010-gcc-poison-system-directories.patch +++ b/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-5.4/0010-gcc-poison-system-directories.patch diff --git a/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-5.3/0011-gcc-poison-dir-extend.patch b/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-5.4/0011-gcc-poison-dir-extend.patch index 511e69481..511e69481 100644 --- a/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-5.3/0011-gcc-poison-dir-extend.patch +++ b/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-5.4/0011-gcc-poison-dir-extend.patch diff --git a/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-5.3/0012-gcc-4.3.3-SYSROOT_CFLAGS_FOR_TARGET.patch b/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-5.4/0012-gcc-4.3.3-SYSROOT_CFLAGS_FOR_TARGET.patch index 750bbc823..750bbc823 100644 --- a/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-5.3/0012-gcc-4.3.3-SYSROOT_CFLAGS_FOR_TARGET.patch +++ b/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-5.4/0012-gcc-4.3.3-SYSROOT_CFLAGS_FOR_TARGET.patch diff --git a/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-5.3/0013-64-bit-multilib-hack.patch b/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-5.4/0013-64-bit-multilib-hack.patch index 45aaf4cc2..45aaf4cc2 100644 --- a/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-5.3/0013-64-bit-multilib-hack.patch +++ b/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-5.4/0013-64-bit-multilib-hack.patch diff --git a/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-5.3/0014-optional-libstdc.patch b/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-5.4/0014-optional-libstdc.patch index 73741f83c..73741f83c 100644 --- a/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-5.3/0014-optional-libstdc.patch +++ b/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-5.4/0014-optional-libstdc.patch diff --git a/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-5.3/0015-gcc-disable-MASK_RELAX_PIC_CALLS-bit.patch b/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-5.4/0015-gcc-disable-MASK_RELAX_PIC_CALLS-bit.patch index 1b62ef806..1b62ef806 100644 --- a/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-5.3/0015-gcc-disable-MASK_RELAX_PIC_CALLS-bit.patch +++ b/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-5.4/0015-gcc-disable-MASK_RELAX_PIC_CALLS-bit.patch diff --git a/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-5.3/0016-COLLECT_GCC_OPTIONS.patch b/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-5.4/0016-COLLECT_GCC_OPTIONS.patch index e6ae262e4..e6ae262e4 100644 --- a/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-5.3/0016-COLLECT_GCC_OPTIONS.patch +++ b/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-5.4/0016-COLLECT_GCC_OPTIONS.patch diff --git a/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-5.3/0017-Use-the-defaults.h-in-B-instead-of-S-and-t-oe-in-B.patch b/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-5.4/0017-Use-the-defaults.h-in-B-instead-of-S-and-t-oe-in-B.patch index b89a27919..b89a27919 100644 --- a/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-5.3/0017-Use-the-defaults.h-in-B-instead-of-S-and-t-oe-in-B.patch +++ b/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-5.4/0017-Use-the-defaults.h-in-B-instead-of-S-and-t-oe-in-B.patch diff --git a/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-5.3/0018-fortran-cross-compile-hack.patch b/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-5.4/0018-fortran-cross-compile-hack.patch index e8ba32558..e8ba32558 100644 --- a/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-5.3/0018-fortran-cross-compile-hack.patch +++ b/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-5.4/0018-fortran-cross-compile-hack.patch diff --git a/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-5.3/0019-libgcc-sjlj-check.patch b/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-5.4/0019-libgcc-sjlj-check.patch index 01a4d1fda..01a4d1fda 100644 --- a/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-5.3/0019-libgcc-sjlj-check.patch +++ b/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-5.4/0019-libgcc-sjlj-check.patch diff --git a/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-5.3/0020-cpp-honor-sysroot.patch b/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-5.4/0020-cpp-honor-sysroot.patch index 13f66d413..13f66d413 100644 --- a/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-5.3/0020-cpp-honor-sysroot.patch +++ b/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-5.4/0020-cpp-honor-sysroot.patch diff --git a/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-5.3/0021-MIPS64-Default-to-N64-ABI.patch b/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-5.4/0021-MIPS64-Default-to-N64-ABI.patch index c7cffe417..c7cffe417 100644 --- a/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-5.3/0021-MIPS64-Default-to-N64-ABI.patch +++ b/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-5.4/0021-MIPS64-Default-to-N64-ABI.patch diff --git a/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-5.3/0022-Define-GLIBC_DYNAMIC_LINKER-and-UCLIBC_DYNAMIC_LINKE.patch b/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-5.4/0022-Define-GLIBC_DYNAMIC_LINKER-and-UCLIBC_DYNAMIC_LINKE.patch index 620835132..620835132 100644 --- a/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-5.3/0022-Define-GLIBC_DYNAMIC_LINKER-and-UCLIBC_DYNAMIC_LINKE.patch +++ b/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-5.4/0022-Define-GLIBC_DYNAMIC_LINKER-and-UCLIBC_DYNAMIC_LINKE.patch diff --git a/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-5.3/0023-gcc-Fix-argument-list-too-long-error.patch b/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-5.4/0023-gcc-Fix-argument-list-too-long-error.patch index be91c9e63..be91c9e63 100644 --- a/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-5.3/0023-gcc-Fix-argument-list-too-long-error.patch +++ b/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-5.4/0023-gcc-Fix-argument-list-too-long-error.patch diff --git a/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-5.3/0024-Disable-sdt.patch b/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-5.4/0024-Disable-sdt.patch index b23ce9756..b23ce9756 100644 --- a/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-5.3/0024-Disable-sdt.patch +++ b/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-5.4/0024-Disable-sdt.patch diff --git a/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-5.3/0025-libtool.patch b/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-5.4/0025-libtool.patch index 8d5eb973b..8d5eb973b 100644 --- a/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-5.3/0025-libtool.patch +++ b/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-5.4/0025-libtool.patch diff --git a/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-5.3/0026-gcc-armv4-pass-fix-v4bx-to-linker-to-support-EABI.patch b/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-5.4/0026-gcc-armv4-pass-fix-v4bx-to-linker-to-support-EABI.patch index a22d95f72..a22d95f72 100644 --- a/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-5.3/0026-gcc-armv4-pass-fix-v4bx-to-linker-to-support-EABI.patch +++ b/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-5.4/0026-gcc-armv4-pass-fix-v4bx-to-linker-to-support-EABI.patch diff --git a/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-5.3/0027-Use-the-multilib-config-files-from-B-instead-of-usin.patch b/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-5.4/0027-Use-the-multilib-config-files-from-B-instead-of-usin.patch index 46815d156..46815d156 100644 --- a/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-5.3/0027-Use-the-multilib-config-files-from-B-instead-of-usin.patch +++ b/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-5.4/0027-Use-the-multilib-config-files-from-B-instead-of-usin.patch diff --git a/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-5.3/0028-Avoid-using-libdir-from-.la-which-usually-points-to-.patch b/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-5.4/0028-Avoid-using-libdir-from-.la-which-usually-points-to-.patch index 60ddd9cee..60ddd9cee 100644 --- a/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-5.3/0028-Avoid-using-libdir-from-.la-which-usually-points-to-.patch +++ b/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-5.4/0028-Avoid-using-libdir-from-.la-which-usually-points-to-.patch diff --git a/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-5.3/0029-export-CPP.patch b/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-5.4/0029-export-CPP.patch index 62195aa87..62195aa87 100644 --- a/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-5.3/0029-export-CPP.patch +++ b/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-5.4/0029-export-CPP.patch diff --git a/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-5.3/0030-Enable-SPE-AltiVec-generation-on-powepc-linux-target.patch b/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-5.4/0030-Enable-SPE-AltiVec-generation-on-powepc-linux-target.patch index 57051871b..57051871b 100644 --- a/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-5.3/0030-Enable-SPE-AltiVec-generation-on-powepc-linux-target.patch +++ b/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-5.4/0030-Enable-SPE-AltiVec-generation-on-powepc-linux-target.patch diff --git a/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-5.3/0031-Disable-the-MULTILIB_OSDIRNAMES-and-other-multilib-o.patch b/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-5.4/0031-Disable-the-MULTILIB_OSDIRNAMES-and-other-multilib-o.patch index f2bc66432..f2bc66432 100644 --- a/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-5.3/0031-Disable-the-MULTILIB_OSDIRNAMES-and-other-multilib-o.patch +++ b/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-5.4/0031-Disable-the-MULTILIB_OSDIRNAMES-and-other-multilib-o.patch diff --git a/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-5.3/0032-Ensure-target-gcc-headers-can-be-included.patch b/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-5.4/0032-Ensure-target-gcc-headers-can-be-included.patch index 89503ff60..89503ff60 100644 --- a/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-5.3/0032-Ensure-target-gcc-headers-can-be-included.patch +++ b/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-5.4/0032-Ensure-target-gcc-headers-can-be-included.patch diff --git a/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-5.3/0033-gcc-4.8-won-t-build-with-disable-dependency-tracking.patch b/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-5.4/0033-gcc-4.8-won-t-build-with-disable-dependency-tracking.patch index 19d480f3d..19d480f3d 100644 --- a/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-5.3/0033-gcc-4.8-won-t-build-with-disable-dependency-tracking.patch +++ b/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-5.4/0033-gcc-4.8-won-t-build-with-disable-dependency-tracking.patch diff --git a/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-5.3/0034-Don-t-search-host-directory-during-relink-if-inst_pr.patch b/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-5.4/0034-Don-t-search-host-directory-during-relink-if-inst_pr.patch index a453fa6b3..a453fa6b3 100644 --- a/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-5.3/0034-Don-t-search-host-directory-during-relink-if-inst_pr.patch +++ b/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-5.4/0034-Don-t-search-host-directory-during-relink-if-inst_pr.patch diff --git a/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-5.3/0035-Dont-link-the-plugins-with-libgomp-explicitly.patch b/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-5.4/0035-Dont-link-the-plugins-with-libgomp-explicitly.patch index 6ed589beb..6ed589beb 100644 --- a/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-5.3/0035-Dont-link-the-plugins-with-libgomp-explicitly.patch +++ b/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-5.4/0035-Dont-link-the-plugins-with-libgomp-explicitly.patch diff --git a/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-5.3/0036-Use-SYSTEMLIBS_DIR-replacement-instead-of-hardcoding.patch b/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-5.4/0036-Use-SYSTEMLIBS_DIR-replacement-instead-of-hardcoding.patch index 41c0294da..41c0294da 100644 --- a/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-5.3/0036-Use-SYSTEMLIBS_DIR-replacement-instead-of-hardcoding.patch +++ b/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-5.4/0036-Use-SYSTEMLIBS_DIR-replacement-instead-of-hardcoding.patch diff --git a/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-5.3/0037-aarch64-Add-support-for-musl-ldso.patch b/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-5.4/0037-aarch64-Add-support-for-musl-ldso.patch index 30dbe74ef..30dbe74ef 100644 --- a/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-5.3/0037-aarch64-Add-support-for-musl-ldso.patch +++ b/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-5.4/0037-aarch64-Add-support-for-musl-ldso.patch diff --git a/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-5.3/0038-fix-g-sysroot.patch b/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-5.4/0038-fix-g-sysroot.patch index 9ba574a5c..9ba574a5c 100644 --- a/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-5.3/0038-fix-g-sysroot.patch +++ b/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-5.4/0038-fix-g-sysroot.patch diff --git a/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-5.3/0039-libcc1-fix-libcc1-s-install-path-and-rpath.patch b/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-5.4/0039-libcc1-fix-libcc1-s-install-path-and-rpath.patch index 2e0df968b..2e0df968b 100644 --- a/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-5.3/0039-libcc1-fix-libcc1-s-install-path-and-rpath.patch +++ b/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-5.4/0039-libcc1-fix-libcc1-s-install-path-and-rpath.patch diff --git a/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-5.3/0040-handle-sysroot-support-for-nativesdk-gcc.patch b/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-5.4/0040-handle-sysroot-support-for-nativesdk-gcc.patch index 11e1310f1..11e1310f1 100644 --- a/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-5.3/0040-handle-sysroot-support-for-nativesdk-gcc.patch +++ b/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-5.4/0040-handle-sysroot-support-for-nativesdk-gcc.patch diff --git a/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-5.3/0041-Search-target-sysroot-gcc-version-specific-dirs-with.patch b/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-5.4/0041-Search-target-sysroot-gcc-version-specific-dirs-with.patch index 5a504a1f2..5a504a1f2 100644 --- a/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-5.3/0041-Search-target-sysroot-gcc-version-specific-dirs-with.patch +++ b/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-5.4/0041-Search-target-sysroot-gcc-version-specific-dirs-with.patch diff --git a/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-5.3/0042-Fix-various-_FOR_BUILD-and-related-variables.patch b/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-5.4/0042-Fix-various-_FOR_BUILD-and-related-variables.patch index 5af764b7c..5af764b7c 100644 --- a/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-5.3/0042-Fix-various-_FOR_BUILD-and-related-variables.patch +++ b/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-5.4/0042-Fix-various-_FOR_BUILD-and-related-variables.patch diff --git a/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-5.3/0043-libstdc-Support-musl.patch b/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-5.4/0043-libstdc-Support-musl.patch index bad8402ef..bad8402ef 100644 --- a/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-5.3/0043-libstdc-Support-musl.patch +++ b/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-5.4/0043-libstdc-Support-musl.patch diff --git a/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-5.3/0044-Adding-mmusl-as-a-musl-libc-specifier-and-the-necess.patch b/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-5.4/0044-Adding-mmusl-as-a-musl-libc-specifier-and-the-necess.patch index b91c02d0b..26aa96cad 100644 --- a/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-5.3/0044-Adding-mmusl-as-a-musl-libc-specifier-and-the-necess.patch +++ b/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-5.4/0044-Adding-mmusl-as-a-musl-libc-specifier-and-the-necess.patch @@ -15,10 +15,10 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com> gcc/ginclude/stddef.h | 3 ++ 6 files changed, 110 insertions(+), 13 deletions(-) -diff --git a/gcc/config.gcc b/gcc/config.gcc -index 3825bd5..39ce047 100644 ---- a/gcc/config.gcc -+++ b/gcc/config.gcc +Index: gcc-5.4.0/gcc/config.gcc +=================================================================== +--- gcc-5.4.0.orig/gcc/config.gcc ++++ gcc-5.4.0/gcc/config.gcc @@ -575,7 +575,7 @@ case ${target} in esac @@ -50,11 +50,11 @@ index 3825bd5..39ce047 100644 if test x${enable_secureplt} = xyes; then tm_file="rs6000/secureplt.h ${tm_file}" fi -diff --git a/gcc/config/linux.h b/gcc/config/linux.h -index 22b9be5..ca9a17f 100644 ---- a/gcc/config/linux.h -+++ b/gcc/config/linux.h -@@ -32,10 +32,12 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see +Index: gcc-5.4.0/gcc/config/linux.h +=================================================================== +--- gcc-5.4.0.orig/gcc/config/linux.h ++++ gcc-5.4.0/gcc/config/linux.h +@@ -32,10 +32,12 @@ see the files COPYING3 and COPYING.RUNTI #define OPTION_GLIBC (DEFAULT_LIBC == LIBC_GLIBC) #define OPTION_UCLIBC (DEFAULT_LIBC == LIBC_UCLIBC) #define OPTION_BIONIC (DEFAULT_LIBC == LIBC_BIONIC) @@ -67,7 +67,7 @@ index 22b9be5..ca9a17f 100644 #endif #define GNU_USER_TARGET_OS_CPP_BUILTINS() \ -@@ -53,18 +55,21 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see +@@ -53,18 +55,21 @@ see the files COPYING3 and COPYING.RUNTI uClibc or Bionic is the default C library and whether -muclibc or -mglibc or -mbionic has been passed to change the default. */ @@ -97,7 +97,7 @@ index 22b9be5..ca9a17f 100644 #else #error "Unsupported DEFAULT_LIBC" #endif /* DEFAULT_LIBC */ -@@ -84,16 +89,16 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see +@@ -84,16 +89,16 @@ see the files COPYING3 and COPYING.RUNTI #define GNU_USER_DYNAMIC_LINKER \ CHOOSE_DYNAMIC_LINKER (GLIBC_DYNAMIC_LINKER, UCLIBC_DYNAMIC_LINKER, \ @@ -118,7 +118,7 @@ index 22b9be5..ca9a17f 100644 /* Whether we have Bionic libc runtime */ #undef TARGET_HAS_BIONIC -@@ -123,3 +128,74 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see +@@ -123,3 +128,74 @@ see the files COPYING3 and COPYING.RUNTI # define TARGET_LIBC_HAS_FUNCTION linux_libc_has_function #endif @@ -193,32 +193,35 @@ index 22b9be5..ca9a17f 100644 + { 0, 0, 0, 0, 0, 0 } \ + } +#endif -diff --git a/gcc/config/linux.opt b/gcc/config/linux.opt -index c054338..9334f74 100644 ---- a/gcc/config/linux.opt -+++ b/gcc/config/linux.opt -@@ -30,3 +30,7 @@ Use GNU C library +Index: gcc-5.4.0/gcc/config/linux.opt +=================================================================== +--- gcc-5.4.0.orig/gcc/config/linux.opt ++++ gcc-5.4.0/gcc/config/linux.opt +@@ -28,5 +28,9 @@ Target Report RejectNegative Var(linux_l + Use GNU C library + muclibc - Target Report RejectNegative Var(linux_libc,LIBC_UCLIBC) Negative(mbionic) +-Target Report RejectNegative Var(linux_libc,LIBC_UCLIBC) Negative(mbionic) ++Target Report RejectNegative Var(linux_libc,LIBC_UCLIBC) Negative(mmusl) Use uClibc C library + +mmusl -+Target Report RejectNegative Var(linux_libc,LIBC_MUSL) Negative(mglibc) ++Target Report RejectNegative Var(linux_libc,LIBC_MUSL) Negative(mbionic) +Use musl C library -diff --git a/gcc/config/rs6000/secureplt.h b/gcc/config/rs6000/secureplt.h -index b463463..77edf2a 100644 ---- a/gcc/config/rs6000/secureplt.h -+++ b/gcc/config/rs6000/secureplt.h -@@ -18,3 +18,4 @@ along with GCC; see the file COPYING3. If not see +Index: gcc-5.4.0/gcc/config/rs6000/secureplt.h +=================================================================== +--- gcc-5.4.0.orig/gcc/config/rs6000/secureplt.h ++++ gcc-5.4.0/gcc/config/rs6000/secureplt.h +@@ -18,3 +18,4 @@ along with GCC; see the file COPYING3. <http://www.gnu.org/licenses/>. */ #define CC1_SECURE_PLT_DEFAULT_SPEC "-msecure-plt" +#define LINK_SECURE_PLT_DEFAULT_SPEC "--secure-plt" -diff --git a/gcc/config/rs6000/sysv4.h b/gcc/config/rs6000/sysv4.h -index c6c31dc..7cd07e0 100644 ---- a/gcc/config/rs6000/sysv4.h -+++ b/gcc/config/rs6000/sysv4.h -@@ -538,6 +538,10 @@ ENDIAN_SELECT(" -mbig", " -mlittle", DEFAULT_ASM_ENDIAN) +Index: gcc-5.4.0/gcc/config/rs6000/sysv4.h +=================================================================== +--- gcc-5.4.0.orig/gcc/config/rs6000/sysv4.h ++++ gcc-5.4.0/gcc/config/rs6000/sysv4.h +@@ -538,6 +538,10 @@ ENDIAN_SELECT(" -mbig", " -mlittle", DEF #define CC1_SECURE_PLT_DEFAULT_SPEC "" #endif @@ -237,10 +240,10 @@ index c6c31dc..7cd07e0 100644 { "cpp_os_ads", CPP_OS_ADS_SPEC }, \ { "cpp_os_yellowknife", CPP_OS_YELLOWKNIFE_SPEC }, \ { "cpp_os_mvme", CPP_OS_MVME_SPEC }, \ -diff --git a/gcc/ginclude/stddef.h b/gcc/ginclude/stddef.h -index f20a41b..eb879ef 100644 ---- a/gcc/ginclude/stddef.h -+++ b/gcc/ginclude/stddef.h +Index: gcc-5.4.0/gcc/ginclude/stddef.h +=================================================================== +--- gcc-5.4.0.orig/gcc/ginclude/stddef.h ++++ gcc-5.4.0/gcc/ginclude/stddef.h @@ -184,6 +184,7 @@ typedef __PTRDIFF_TYPE__ ptrdiff_t; #ifndef _GCC_SIZE_T #ifndef _SIZET_ @@ -265,6 +268,3 @@ index f20a41b..eb879ef 100644 #endif /* __size_t */ #endif /* _SIZET_ */ #endif /* _GCC_SIZE_T */ --- -2.6.3 - diff --git a/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-5.3/0045-Support-for-arm-linux-musl.patch b/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-5.4/0045-Support-for-arm-linux-musl.patch index 3c1115aa8..3c1115aa8 100644 --- a/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-5.3/0045-Support-for-arm-linux-musl.patch +++ b/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-5.4/0045-Support-for-arm-linux-musl.patch diff --git a/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-5.3/0046-Get-rid-of-ever-broken-fixincludes-on-musl.patch b/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-5.4/0046-Get-rid-of-ever-broken-fixincludes-on-musl.patch index ddb0fc4f4..ddb0fc4f4 100644 --- a/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-5.3/0046-Get-rid-of-ever-broken-fixincludes-on-musl.patch +++ b/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-5.4/0046-Get-rid-of-ever-broken-fixincludes-on-musl.patch diff --git a/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-5.3/0047-nios2-Define-MUSL_DYNAMIC_LINKER.patch b/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-5.4/0047-nios2-Define-MUSL_DYNAMIC_LINKER.patch index a1cfb9c7a..a1cfb9c7a 100644 --- a/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-5.3/0047-nios2-Define-MUSL_DYNAMIC_LINKER.patch +++ b/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-5.4/0047-nios2-Define-MUSL_DYNAMIC_LINKER.patch diff --git a/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-5.3/0048-ssp_nonshared.patch b/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-5.4/0048-ssp_nonshared.patch index 5ddd40a4a..5ddd40a4a 100644 --- a/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-5.3/0048-ssp_nonshared.patch +++ b/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-5.4/0048-ssp_nonshared.patch diff --git a/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-5.3/0049-Disable-the-weak-reference-logic-in-gthr.h-for-os-ge.patch b/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-5.4/0049-Disable-the-weak-reference-logic-in-gthr.h-for-os-ge.patch index 0ea5143e0..0ea5143e0 100644 --- a/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-5.3/0049-Disable-the-weak-reference-logic-in-gthr.h-for-os-ge.patch +++ b/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-5.4/0049-Disable-the-weak-reference-logic-in-gthr.h-for-os-ge.patch diff --git a/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-5.3/0050-powerpc-pass-secure-plt-to-the-linker.patch b/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-5.4/0050-powerpc-pass-secure-plt-to-the-linker.patch index b2f2bbdf4..b2f2bbdf4 100644 --- a/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-5.3/0050-powerpc-pass-secure-plt-to-the-linker.patch +++ b/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-5.4/0050-powerpc-pass-secure-plt-to-the-linker.patch diff --git a/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-5.3/0051-Ignore-fdebug-prefix-map-in-producer-string-by-Danie.patch b/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-5.4/0051-Ignore-fdebug-prefix-map-in-producer-string-by-Danie.patch index e8f79b590..e8f79b590 100644 --- a/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-5.3/0051-Ignore-fdebug-prefix-map-in-producer-string-by-Danie.patch +++ b/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-5.4/0051-Ignore-fdebug-prefix-map-in-producer-string-by-Danie.patch diff --git a/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-5.3/0052-nios2-use-ret-with-r31.patch b/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-5.4/0052-nios2-use-ret-with-r31.patch index f3cb47fd1..f3cb47fd1 100644 --- a/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-5.3/0052-nios2-use-ret-with-r31.patch +++ b/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-5.4/0052-nios2-use-ret-with-r31.patch diff --git a/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-5.3/0053-expr.c-PR-target-65358-Avoid-clobbering-partial-argu.patch b/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-5.4/0053-expr.c-PR-target-65358-Avoid-clobbering-partial-argu.patch index c18f40e74..c18f40e74 100644 --- a/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-5.3/0053-expr.c-PR-target-65358-Avoid-clobbering-partial-argu.patch +++ b/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-5.4/0053-expr.c-PR-target-65358-Avoid-clobbering-partial-argu.patch diff --git a/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-5.3/0054-support-ffile-prefix-map.patch b/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-5.4/0054-support-ffile-prefix-map.patch index da1687913..da1687913 100644 --- a/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-5.3/0054-support-ffile-prefix-map.patch +++ b/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-5.4/0054-support-ffile-prefix-map.patch diff --git a/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-5.3/0055-Reuse-fdebug-prefix-map-to-replace-ffile-prefix-map.patch b/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-5.4/0055-Reuse-fdebug-prefix-map-to-replace-ffile-prefix-map.patch index c7caed8c8..c7caed8c8 100644 --- a/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-5.3/0055-Reuse-fdebug-prefix-map-to-replace-ffile-prefix-map.patch +++ b/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-5.4/0055-Reuse-fdebug-prefix-map-to-replace-ffile-prefix-map.patch diff --git a/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-5.3/0056-Enable-libc-provide-ssp-and-gcc_cv_target_dl_iterate.patch b/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-5.4/0056-Enable-libc-provide-ssp-and-gcc_cv_target_dl_iterate.patch index 97913420e..97913420e 100644 --- a/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-5.3/0056-Enable-libc-provide-ssp-and-gcc_cv_target_dl_iterate.patch +++ b/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-5.4/0056-Enable-libc-provide-ssp-and-gcc_cv_target_dl_iterate.patch diff --git a/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-5.3/0057-unwind-fix-for-musl.patch b/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-5.4/0057-unwind-fix-for-musl.patch index c193587bf..c193587bf 100644 --- a/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-5.3/0057-unwind-fix-for-musl.patch +++ b/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-5.4/0057-unwind-fix-for-musl.patch diff --git a/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-5.3/0058-fdebug-prefix-map-support-to-remap-relative-path.patch b/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-5.4/0058-fdebug-prefix-map-support-to-remap-relative-path.patch index 0b91fdbbc..0b91fdbbc 100644 --- a/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-5.3/0058-fdebug-prefix-map-support-to-remap-relative-path.patch +++ b/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-5.4/0058-fdebug-prefix-map-support-to-remap-relative-path.patch diff --git a/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-5.4/0059-libgcc-use-ldflags.patch b/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-5.4/0059-libgcc-use-ldflags.patch new file mode 100644 index 000000000..325b72ab5 --- /dev/null +++ b/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-5.4/0059-libgcc-use-ldflags.patch @@ -0,0 +1,16 @@ +Link libgcc using LDFLAGS, not just SHLIB_LDFLAGS + +Signed-off-by: Christopher Larson <chris_larson@mentor.com> +Upstream-Status: Pending + +--- gcc-5.3.0.orig/libgcc/config/t-slibgcc ++++ gcc-5.3.0/libgcc/config/t-slibgcc +@@ -32,7 +32,7 @@ SHLIB_INSTALL_SOLINK = $(LN_S) $(SHLIB_S + $(DESTDIR)$(slibdir)$(SHLIB_SLIBDIR_QUAL)/$(SHLIB_SOLINK) + + SHLIB_LINK = $(CC) $(LIBGCC2_CFLAGS) -shared -nodefaultlibs \ +- $(SHLIB_LDFLAGS) \ ++ $(LDFLAGS) $(SHLIB_LDFLAGS) \ + -o $(SHLIB_DIR)/$(SHLIB_SONAME).tmp @multilib_flags@ \ + $(SHLIB_OBJS) $(SHLIB_LC) && \ + rm -f $(SHLIB_DIR)/$(SHLIB_SOLINK) && \ diff --git a/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-6.2.inc b/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-6.2.inc new file mode 100644 index 000000000..b118995e1 --- /dev/null +++ b/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-6.2.inc @@ -0,0 +1,133 @@ +require gcc-common.inc + +# Third digit in PV should be incremented after a minor release + +PV = "6.2.0" + +# BINV should be incremented to a revision after a minor gcc release + +BINV = "6.2.0" + +FILESEXTRAPATHS =. "${FILE_DIRNAME}/gcc-6.2:${FILE_DIRNAME}/gcc-6.2/backport:" + +DEPENDS =+ "mpfr gmp libmpc zlib" +NATIVEDEPS = "mpfr-native gmp-native libmpc-native zlib-native" + +LICENSE = "GPL-3.0-with-GCC-exception & GPLv3" + +LIC_FILES_CHKSUM = "\ + file://COPYING;md5=59530bdf33659b29e73d4adb9f9f6552 \ + file://COPYING3;md5=d32239bcb673463ab874e80d47fae504 \ + file://COPYING3.LIB;md5=6a6a8e020838b23406c81b19c1d46df6 \ + file://COPYING.LIB;md5=2d5025d4aa3495befef8f17206a5b0a1 \ + file://COPYING.RUNTIME;md5=fe60d87048567d4fe8c8a0ed2448bcc8 \ +" + + +BASEURI ?= "${GNU_MIRROR}/gcc/gcc-${PV}/gcc-${PV}.tar.bz2" +#SRCREV = "bd9a826d5448db11d29d2ec5884e7e679066f140" +#BASEURI ?= "git://github.com/gcc-mirror/gcc;branch=gcc-6-branch;protocol=git" +#BASEURI ?= "ftp://sourceware.org/pub/gcc/snapshots/6.2.0-RC-20160815/gcc-6.2.0-RC-20160815.tar.bz2" + +SRC_URI = "\ + ${BASEURI} \ + file://0001-gcc-4.3.1-ARCH_FLAGS_FOR_TARGET.patch \ + file://0002-uclibc-conf.patch \ + file://0003-gcc-uclibc-locale-ctype_touplow_t.patch \ + file://0004-uclibc-locale.patch \ + file://0005-uclibc-locale-no__x.patch \ + file://0006-uclibc-locale-wchar_fix.patch \ + file://0007-uclibc-locale-update.patch \ + file://0008-missing-execinfo_h.patch \ + file://0009-c99-snprintf.patch \ + file://0010-gcc-poison-system-directories.patch \ + file://0011-gcc-poison-dir-extend.patch \ + file://0012-gcc-4.3.3-SYSROOT_CFLAGS_FOR_TARGET.patch \ + file://0013-64-bit-multilib-hack.patch \ + file://0014-optional-libstdc.patch \ + file://0015-gcc-disable-MASK_RELAX_PIC_CALLS-bit.patch \ + file://0016-COLLECT_GCC_OPTIONS.patch \ + file://0017-Use-the-defaults.h-in-B-instead-of-S-and-t-oe-in-B.patch \ + file://0018-fortran-cross-compile-hack.patch \ + file://0019-cpp-honor-sysroot.patch \ + file://0020-MIPS64-Default-to-N64-ABI.patch \ + file://0021-Define-GLIBC_DYNAMIC_LINKER-and-UCLIBC_DYNAMIC_LINKE.patch \ + file://0022-gcc-Fix-argument-list-too-long-error.patch \ + file://0023-Disable-sdt.patch \ + file://0024-libtool.patch \ + file://0025-gcc-armv4-pass-fix-v4bx-to-linker-to-support-EABI.patch \ + file://0026-Use-the-multilib-config-files-from-B-instead-of-usin.patch \ + file://0027-Avoid-using-libdir-from-.la-which-usually-points-to-.patch \ + file://0028-export-CPP.patch \ + file://0029-Enable-SPE-AltiVec-generation-on-powepc-linux-target.patch \ + file://0030-Disable-the-MULTILIB_OSDIRNAMES-and-other-multilib-o.patch \ + file://0031-Ensure-target-gcc-headers-can-be-included.patch \ + file://0032-gcc-4.8-won-t-build-with-disable-dependency-tracking.patch \ + file://0033-Don-t-search-host-directory-during-relink-if-inst_pr.patch \ + file://0034-Use-SYSTEMLIBS_DIR-replacement-instead-of-hardcoding.patch \ + file://0035-aarch64-Add-support-for-musl-ldso.patch \ + file://0036-libcc1-fix-libcc1-s-install-path-and-rpath.patch \ + file://0037-handle-sysroot-support-for-nativesdk-gcc.patch \ + file://0038-Search-target-sysroot-gcc-version-specific-dirs-with.patch \ + file://0039-Fix-various-_FOR_BUILD-and-related-variables.patch \ + file://0040-nios2-Define-MUSL_DYNAMIC_LINKER.patch \ + file://0041-ssp_nonshared.patch \ + file://0042-gcc-libcpp-support-ffile-prefix-map-old-new.patch \ + file://0043-Reuse-fdebug-prefix-map-to-replace-ffile-prefix-map.patch \ + file://0044-gcc-final.c-fdebug-prefix-map-support-to-remap-sourc.patch \ + file://0045-libgcc-Add-knob-to-use-ldbl-128-on-ppc.patch \ + file://0046-Link-libgcc-using-LDFLAGS-not-just-SHLIB_LDFLAGS.patch \ + file://0047-libgcc_s-Use-alias-for-__cpu_indicator_init-instead-.patch \ + ${BACKPORTS} \ +" +BACKPORTS = "" + +SRC_URI[md5sum] = "9768625159663b300ae4de2f4745fcc4" +SRC_URI[sha256sum] = "9944589fc722d3e66308c0ce5257788ebd7872982a718aa2516123940671b7c5" + +S = "${TMPDIR}/work-shared/gcc-${PV}-${PR}/gcc-${PV}" +#S = "${TMPDIR}/work-shared/gcc-${PV}-${PR}/git" +B = "${WORKDIR}/gcc-${PV}/build.${HOST_SYS}.${TARGET_SYS}" + +# Language Overrides +FORTRAN = "" +JAVA = "" + +LTO = "--enable-lto" + +EXTRA_OECONF_BASE = "\ + ${LTO} \ + --enable-libssp \ + --enable-libitm \ + --disable-bootstrap \ + --disable-libmudflap \ + --with-system-zlib \ + --with-linker-hash-style=${LINKER_HASH_STYLE} \ + --enable-linker-build-id \ + --with-ppl=no \ + --with-cloog=no \ + --enable-checking=release \ + --enable-cheaders=c_global \ + --without-isl \ +" + +EXTRA_OECONF_INITIAL = "\ + --disable-libmudflap \ + --disable-libgomp \ + --disable-libitm \ + --disable-libquadmath \ + --with-system-zlib \ + --disable-lto \ + --disable-plugin \ + --enable-decimal-float=no \ + --without-isl \ + gcc_cv_libc_provides_ssp=yes \ +" + +EXTRA_OECONF_append_libc-uclibc = " --disable-decimal-float " + +EXTRA_OECONF_PATHS = "\ + --with-gxx-include-dir=/not/exist{target_includedir}/c++/${BINV} \ + --with-sysroot=/not/exist \ + --with-build-sysroot=${STAGING_DIR_TARGET} \ +" diff --git a/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-4.9/0001-gcc-4.3.1-ARCH_FLAGS_FOR_TARGET.patch b/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-6.2/0001-gcc-4.3.1-ARCH_FLAGS_FOR_TARGET.patch index e58801167..415f091ee 100644 --- a/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-4.9/0001-gcc-4.3.1-ARCH_FLAGS_FOR_TARGET.patch +++ b/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-6.2/0001-gcc-4.3.1-ARCH_FLAGS_FOR_TARGET.patch @@ -1,21 +1,21 @@ -From bf3d96ae58fa180b8b468d25dc2e0209daca2751 Mon Sep 17 00:00:00 2001 +From 92ed30da16b7487b334f739be177eb39885ab772 Mon Sep 17 00:00:00 2001 From: Khem Raj <raj.khem@gmail.com> Date: Fri, 29 Mar 2013 08:37:11 +0400 -Subject: [PATCH 01/35] gcc-4.3.1: ARCH_FLAGS_FOR_TARGET +Subject: [PATCH 01/46] gcc-4.3.1: ARCH_FLAGS_FOR_TARGET Signed-off-by: Khem Raj <raj.khem@gmail.com> Upstream-Status: Inappropriate [embedded specific] --- - configure | 2 +- - configure.ac | 2 +- + configure | 2 +- + configure.ac | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/configure b/configure -index d809535..1b76c90 100755 +index 35f231e..bfadc33 100755 --- a/configure +++ b/configure -@@ -7439,7 +7439,7 @@ fi +@@ -7550,7 +7550,7 @@ fi # for target_alias and gcc doesn't manage it consistently. target_configargs="--cache-file=./config.cache ${target_configargs}" @@ -25,10 +25,10 @@ index d809535..1b76c90 100755 *" newlib "*) case " $target_configargs " in diff --git a/configure.ac b/configure.ac -index 48ec1aa..89d1d3f 100644 +index 74bf58a..197d61b 100644 --- a/configure.ac +++ b/configure.ac -@@ -2873,7 +2873,7 @@ fi +@@ -3149,7 +3149,7 @@ fi # for target_alias and gcc doesn't manage it consistently. target_configargs="--cache-file=./config.cache ${target_configargs}" @@ -38,5 +38,5 @@ index 48ec1aa..89d1d3f 100644 *" newlib "*) case " $target_configargs " in -- -1.7.10.4 +2.8.2 diff --git a/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-4.9/0002-uclibc-conf.patch b/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-6.2/0002-uclibc-conf.patch index dda3b1041..4d284ef86 100644 --- a/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-4.9/0002-uclibc-conf.patch +++ b/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-6.2/0002-uclibc-conf.patch @@ -1,14 +1,14 @@ -From d030973c872c00d916921d84deee0af2c0d38081 Mon Sep 17 00:00:00 2001 +From 4efc5a258c812875743647d756f75c93c4d514a5 Mon Sep 17 00:00:00 2001 From: Khem Raj <raj.khem@gmail.com> Date: Fri, 29 Mar 2013 08:38:25 +0400 -Subject: [PATCH 02/35] uclibc-conf +Subject: [PATCH 02/46] uclibc-conf Signed-off-by: Khem Raj <raj.khem@gmail.com> Upstream-Status: Pending --- - contrib/regression/objs-gcc.sh | 4 ++++ - libjava/classpath/ltconfig | 4 ++-- + contrib/regression/objs-gcc.sh | 4 ++++ + libjava/classpath/ltconfig | 4 ++-- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/contrib/regression/objs-gcc.sh b/contrib/regression/objs-gcc.sh @@ -27,7 +27,7 @@ index 60b0497..6dc7ead 100755 make bootstrap || exit 1 make install || exit 1 diff --git a/libjava/classpath/ltconfig b/libjava/classpath/ltconfig -index 743d951..ae4ea60 100755 +index d318957..df55950 100755 --- a/libjava/classpath/ltconfig +++ b/libjava/classpath/ltconfig @@ -603,7 +603,7 @@ host_os=`echo $host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'` @@ -49,5 +49,5 @@ index 743d951..ae4ea60 100755 need_lib_prefix=no need_version=no -- -1.7.10.4 +2.8.2 diff --git a/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-4.9/0003-gcc-uclibc-locale-ctype_touplow_t.patch b/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-6.2/0003-gcc-uclibc-locale-ctype_touplow_t.patch index 7098e9950..df07febee 100644 --- a/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-4.9/0003-gcc-uclibc-locale-ctype_touplow_t.patch +++ b/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-6.2/0003-gcc-uclibc-locale-ctype_touplow_t.patch @@ -1,22 +1,22 @@ -From d2d9dd756c4356d14dd7ae003856344cb4f37985 Mon Sep 17 00:00:00 2001 +From ad5fd283fc7ef04f66c7fb003805364ea3bd34e9 Mon Sep 17 00:00:00 2001 From: Khem Raj <raj.khem@gmail.com> Date: Fri, 29 Mar 2013 08:40:12 +0400 -Subject: [PATCH 03/35] gcc-uclibc-locale-ctype_touplow_t +Subject: [PATCH 03/46] gcc-uclibc-locale-ctype_touplow_t Signed-off-by: Khem Raj <raj.khem@gmail.com> Upstream-Status: Pending --- - libstdc++-v3/config/locale/generic/c_locale.cc | 5 +++++ - libstdc++-v3/config/locale/generic/c_locale.h | 9 +++++++++ - libstdc++-v3/config/os/gnu-linux/ctype_base.h | 9 +++++++++ + libstdc++-v3/config/locale/generic/c_locale.cc | 5 +++++ + libstdc++-v3/config/locale/generic/c_locale.h | 9 +++++++++ + libstdc++-v3/config/os/gnu-linux/ctype_base.h | 9 +++++++++ 3 files changed, 23 insertions(+) diff --git a/libstdc++-v3/config/locale/generic/c_locale.cc b/libstdc++-v3/config/locale/generic/c_locale.cc -index 0d309a5..f2f1e1f 100644 +index ef6ce8f..4740636 100644 --- a/libstdc++-v3/config/locale/generic/c_locale.cc +++ b/libstdc++-v3/config/locale/generic/c_locale.cc -@@ -263,5 +263,10 @@ _GLIBCXX_END_NAMESPACE_VERSION +@@ -273,5 +273,10 @@ _GLIBCXX_END_NAMESPACE_VERSION #ifdef _GLIBCXX_LONG_DOUBLE_COMPAT #define _GLIBCXX_LDBL_COMPAT(dbl, ldbl) \ extern "C" void ldbl (void) __attribute__ ((alias (#dbl))) @@ -28,7 +28,7 @@ index 0d309a5..f2f1e1f 100644 +#endif #endif // _GLIBCXX_LONG_DOUBLE_COMPAT diff --git a/libstdc++-v3/config/locale/generic/c_locale.h b/libstdc++-v3/config/locale/generic/c_locale.h -index b5fd989..3da9a5d 100644 +index 794471e..d65f955 100644 --- a/libstdc++-v3/config/locale/generic/c_locale.h +++ b/libstdc++-v3/config/locale/generic/c_locale.h @@ -40,13 +40,22 @@ @@ -55,7 +55,7 @@ index b5fd989..3da9a5d 100644 // Convert numeric value of type double and long double to string and // return length of string. If vsnprintf is available use it, otherwise diff --git a/libstdc++-v3/config/os/gnu-linux/ctype_base.h b/libstdc++-v3/config/os/gnu-linux/ctype_base.h -index 2d8e978..14eb08f 100644 +index 591c793..55eb0e9 100644 --- a/libstdc++-v3/config/os/gnu-linux/ctype_base.h +++ b/libstdc++-v3/config/os/gnu-linux/ctype_base.h @@ -33,6 +33,11 @@ @@ -83,5 +83,5 @@ index 2d8e978..14eb08f 100644 // NB: Offsets into ctype<char>::_M_table force a particular size // on the mask type. Because of this, we don't use an enum. -- -1.7.10.4 +2.8.2 diff --git a/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-4.9/0004-uclibc-locale.patch b/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-6.2/0004-uclibc-locale.patch index 49f5f338e..ae2627c2e 100644 --- a/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-4.9/0004-uclibc-locale.patch +++ b/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-6.2/0004-uclibc-locale.patch @@ -1,28 +1,28 @@ -From a55c751a449c2cbf0b3fcc07aab1b86bf9661510 Mon Sep 17 00:00:00 2001 +From 68bd083357e78678a9baac760beb2a31f00954a5 Mon Sep 17 00:00:00 2001 From: Khem Raj <raj.khem@gmail.com> Date: Fri, 29 Mar 2013 08:41:39 +0400 -Subject: [PATCH 04/35] uclibc-locale +Subject: [PATCH 04/46] uclibc-locale Signed-off-by: Khem Raj <raj.khem@gmail.com> Upstream-Status: Pending --- - libstdc++-v3/acinclude.m4 | 37 ++ - .../config/locale/uclibc/c++locale_internal.h | 63 ++ - libstdc++-v3/config/locale/uclibc/c_locale.cc | 160 +++++ - libstdc++-v3/config/locale/uclibc/c_locale.h | 117 ++++ - .../config/locale/uclibc/codecvt_members.cc | 308 +++++++++ - .../config/locale/uclibc/collate_members.cc | 80 +++ - libstdc++-v3/config/locale/uclibc/ctype_members.cc | 300 +++++++++ - .../config/locale/uclibc/messages_members.cc | 100 +++ - .../config/locale/uclibc/messages_members.h | 118 ++++ - .../config/locale/uclibc/monetary_members.cc | 692 ++++++++++++++++++++ - .../config/locale/uclibc/numeric_members.cc | 160 +++++ - libstdc++-v3/config/locale/uclibc/time_members.cc | 406 ++++++++++++ - libstdc++-v3/config/locale/uclibc/time_members.h | 68 ++ - libstdc++-v3/configure | 75 +++ - libstdc++-v3/include/c_compatibility/wchar.h | 2 + - libstdc++-v3/include/c_std/cwchar | 2 + + libstdc++-v3/acinclude.m4 | 37 ++ + .../config/locale/uclibc/c++locale_internal.h | 63 ++ + libstdc++-v3/config/locale/uclibc/c_locale.cc | 160 +++++ + libstdc++-v3/config/locale/uclibc/c_locale.h | 117 ++++ + .../config/locale/uclibc/codecvt_members.cc | 308 +++++++++ + .../config/locale/uclibc/collate_members.cc | 80 +++ + libstdc++-v3/config/locale/uclibc/ctype_members.cc | 300 +++++++++ + .../config/locale/uclibc/messages_members.cc | 100 +++ + .../config/locale/uclibc/messages_members.h | 118 ++++ + .../config/locale/uclibc/monetary_members.cc | 692 +++++++++++++++++++++ + .../config/locale/uclibc/numeric_members.cc | 160 +++++ + libstdc++-v3/config/locale/uclibc/time_members.cc | 406 ++++++++++++ + libstdc++-v3/config/locale/uclibc/time_members.h | 68 ++ + libstdc++-v3/configure | 75 +++ + libstdc++-v3/include/c_compatibility/wchar.h | 2 + + libstdc++-v3/include/c_std/cwchar | 2 + 16 files changed, 2688 insertions(+) create mode 100644 libstdc++-v3/config/locale/uclibc/c++locale_internal.h create mode 100644 libstdc++-v3/config/locale/uclibc/c_locale.cc @@ -38,10 +38,10 @@ Upstream-Status: Pending create mode 100644 libstdc++-v3/config/locale/uclibc/time_members.h diff --git a/libstdc++-v3/acinclude.m4 b/libstdc++-v3/acinclude.m4 -index 0871a6a..326d7ef 100644 +index b0f88cb..a0ee36b 100644 --- a/libstdc++-v3/acinclude.m4 +++ b/libstdc++-v3/acinclude.m4 -@@ -1905,6 +1905,9 @@ AC_DEFUN([GLIBCXX_ENABLE_CLOCALE], [ +@@ -2358,6 +2358,9 @@ AC_DEFUN([GLIBCXX_ENABLE_CLOCALE], [ # Default to "generic". if test $enable_clocale_flag = auto; then case ${target_os} in @@ -51,7 +51,7 @@ index 0871a6a..326d7ef 100644 linux* | gnu* | kfreebsd*-gnu | knetbsd*-gnu) enable_clocale_flag=gnu ;; -@@ -2069,6 +2072,40 @@ AC_DEFUN([GLIBCXX_ENABLE_CLOCALE], [ +@@ -2542,6 +2545,40 @@ AC_DEFUN([GLIBCXX_ENABLE_CLOCALE], [ CTIME_CC=config/locale/generic/time_members.cc CLOCALE_INTERNAL_H=config/locale/generic/c++locale_internal.h ;; @@ -2737,10 +2737,10 @@ index 0000000..ba8e858 + _S_destroy_c_locale(_M_c_locale_timepunct); + } diff --git a/libstdc++-v3/configure b/libstdc++-v3/configure -index f40ddcf..c57a751 100755 +index 41797a9..8a5481c 100755 --- a/libstdc++-v3/configure +++ b/libstdc++-v3/configure -@@ -15822,6 +15822,9 @@ fi +@@ -15830,6 +15830,9 @@ fi # Default to "generic". if test $enable_clocale_flag = auto; then case ${target_os} in @@ -2750,7 +2750,7 @@ index f40ddcf..c57a751 100755 linux* | gnu* | kfreebsd*-gnu | knetbsd*-gnu) enable_clocale_flag=gnu ;; -@@ -16079,6 +16082,78 @@ $as_echo "newlib" >&6; } +@@ -16108,6 +16111,78 @@ $as_echo "newlib" >&6; } CTIME_CC=config/locale/generic/time_members.cc CLOCALE_INTERNAL_H=config/locale/generic/c++locale_internal.h ;; @@ -2830,7 +2830,7 @@ index f40ddcf..c57a751 100755 # This is where the testsuite looks for locale catalogs, using the diff --git a/libstdc++-v3/include/c_compatibility/wchar.h b/libstdc++-v3/include/c_compatibility/wchar.h -index 580d725..3fe61b8 100644 +index 55a0b52..7d8bb15 100644 --- a/libstdc++-v3/include/c_compatibility/wchar.h +++ b/libstdc++-v3/include/c_compatibility/wchar.h @@ -101,7 +101,9 @@ using std::wmemcmp; @@ -2841,10 +2841,10 @@ index 580d725..3fe61b8 100644 using std::wcsftime; +#endif - #if _GLIBCXX_USE_C99 + #if _GLIBCXX_USE_C99_WCHAR using std::wcstold; diff --git a/libstdc++-v3/include/c_std/cwchar b/libstdc++-v3/include/c_std/cwchar -index 0e6b1fc..405aee2 100644 +index dc4cef02..256d126 100644 --- a/libstdc++-v3/include/c_std/cwchar +++ b/libstdc++-v3/include/c_std/cwchar @@ -175,7 +175,9 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION @@ -2858,5 +2858,5 @@ index 0e6b1fc..405aee2 100644 using ::wcsncat; using ::wcsncmp; -- -1.7.10.4 +2.8.2 diff --git a/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-4.9/0005-uclibc-locale-no__x.patch b/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-6.2/0005-uclibc-locale-no__x.patch index dcbbfe454..3275016e7 100644 --- a/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-4.9/0005-uclibc-locale-no__x.patch +++ b/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-6.2/0005-uclibc-locale-no__x.patch @@ -1,22 +1,22 @@ -From 6a3e8506a12c12728d8b29901defd738be43757f Mon Sep 17 00:00:00 2001 +From c01c14e8e9be382ecd4121ee70f5003b4cb0f904 Mon Sep 17 00:00:00 2001 From: Khem Raj <raj.khem@gmail.com> Date: Fri, 29 Mar 2013 08:42:36 +0400 -Subject: [PATCH 05/35] uclibc-locale-no__x +Subject: [PATCH 05/46] uclibc-locale-no__x Signed-off-by: Khem Raj <raj.khem@gmail.com> Upstream-Status: Pending --- - .../config/locale/uclibc/c++locale_internal.h | 45 ++++++++++++++++++++ - libstdc++-v3/config/locale/uclibc/c_locale.cc | 14 ------ - libstdc++-v3/config/locale/uclibc/c_locale.h | 1 + - .../config/locale/uclibc/collate_members.cc | 7 --- - libstdc++-v3/config/locale/uclibc/ctype_members.cc | 7 --- - .../config/locale/uclibc/messages_members.cc | 7 +-- - .../config/locale/uclibc/messages_members.h | 18 +++----- - .../config/locale/uclibc/monetary_members.cc | 4 -- - .../config/locale/uclibc/numeric_members.cc | 3 -- - libstdc++-v3/config/locale/uclibc/time_members.cc | 3 -- + .../config/locale/uclibc/c++locale_internal.h | 45 ++++++++++++++++++++++ + libstdc++-v3/config/locale/uclibc/c_locale.cc | 14 ------- + libstdc++-v3/config/locale/uclibc/c_locale.h | 1 + + .../config/locale/uclibc/collate_members.cc | 7 ---- + libstdc++-v3/config/locale/uclibc/ctype_members.cc | 7 ---- + .../config/locale/uclibc/messages_members.cc | 7 +--- + .../config/locale/uclibc/messages_members.h | 18 ++++----- + .../config/locale/uclibc/monetary_members.cc | 4 -- + .../config/locale/uclibc/numeric_members.cc | 3 -- + libstdc++-v3/config/locale/uclibc/time_members.cc | 3 -- 10 files changed, 55 insertions(+), 54 deletions(-) diff --git a/libstdc++-v3/config/locale/uclibc/c++locale_internal.h b/libstdc++-v3/config/locale/uclibc/c++locale_internal.h @@ -253,5 +253,5 @@ index e0707d7..d848ed5 100644 namespace std { -- -1.7.10.4 +2.8.2 diff --git a/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-4.9/0006-uclibc-locale-wchar_fix.patch b/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-6.2/0006-uclibc-locale-wchar_fix.patch index 3406859e1..e45a482d5 100644 --- a/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-4.9/0006-uclibc-locale-wchar_fix.patch +++ b/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-6.2/0006-uclibc-locale-wchar_fix.patch @@ -1,14 +1,14 @@ -From 225511a3aeb193a916b3999f0b640a392caa67cd Mon Sep 17 00:00:00 2001 +From e7a4760fb40008cae33e6fc7dc4cfef6c2fd5f93 Mon Sep 17 00:00:00 2001 From: Khem Raj <raj.khem@gmail.com> Date: Fri, 29 Mar 2013 08:45:57 +0400 -Subject: [PATCH 06/35] uclibc-locale-wchar_fix +Subject: [PATCH 06/46] uclibc-locale-wchar_fix Signed-off-by: Khem Raj <raj.khem@gmail.com> Upstream-Status: Pending --- - libstdc++-v3/config/locale/uclibc/monetary_members.cc | 4 ++-- - libstdc++-v3/config/locale/uclibc/numeric_members.cc | 13 +++++++++++++ + libstdc++-v3/config/locale/uclibc/monetary_members.cc | 4 ++-- + libstdc++-v3/config/locale/uclibc/numeric_members.cc | 13 +++++++++++++ 2 files changed, 15 insertions(+), 2 deletions(-) diff --git a/libstdc++-v3/config/locale/uclibc/monetary_members.cc b/libstdc++-v3/config/locale/uclibc/monetary_members.cc @@ -64,5 +64,5 @@ index 2c70642..d5c8961 100644 if (_M_data->_M_thousands_sep == L'\0') _M_data->_M_grouping = ""; -- -1.7.10.4 +2.8.2 diff --git a/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-4.9/0007-uclibc-locale-update.patch b/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-6.2/0007-uclibc-locale-update.patch index 58511233d..b73e5914e 100644 --- a/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-4.9/0007-uclibc-locale-update.patch +++ b/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-6.2/0007-uclibc-locale-update.patch @@ -1,21 +1,21 @@ -From 6ffe7c46f52d27864c3df3663e16ec9ddee71e8f Mon Sep 17 00:00:00 2001 +From 8d53a38a3038104e6830ecea5e4beadce54457c1 Mon Sep 17 00:00:00 2001 From: Khem Raj <raj.khem@gmail.com> Date: Fri, 29 Mar 2013 08:46:58 +0400 -Subject: [PATCH 07/35] uclibc-locale-update +Subject: [PATCH 07/46] uclibc-locale-update Signed-off-by: Khem Raj <raj.khem@gmail.com> Upstream-Status: Pending --- - .../config/locale/uclibc/c++locale_internal.h | 3 + - libstdc++-v3/config/locale/uclibc/c_locale.cc | 74 +++++++++----------- - libstdc++-v3/config/locale/uclibc/c_locale.h | 42 ++++++----- - libstdc++-v3/config/locale/uclibc/ctype_members.cc | 51 ++++++++++---- - .../config/locale/uclibc/messages_members.h | 12 ++-- - .../config/locale/uclibc/monetary_members.cc | 34 +++++---- - .../config/locale/uclibc/numeric_members.cc | 5 ++ - libstdc++-v3/config/locale/uclibc/time_members.cc | 18 +++-- - libstdc++-v3/config/locale/uclibc/time_members.h | 17 +++-- + .../config/locale/uclibc/c++locale_internal.h | 3 + + libstdc++-v3/config/locale/uclibc/c_locale.cc | 74 ++++++++++------------ + libstdc++-v3/config/locale/uclibc/c_locale.h | 42 ++++++------ + libstdc++-v3/config/locale/uclibc/ctype_members.cc | 51 +++++++++++---- + .../config/locale/uclibc/messages_members.h | 12 ++-- + .../config/locale/uclibc/monetary_members.cc | 34 ++++++---- + .../config/locale/uclibc/numeric_members.cc | 5 ++ + libstdc++-v3/config/locale/uclibc/time_members.cc | 18 ++++-- + libstdc++-v3/config/locale/uclibc/time_members.h | 17 +++-- 9 files changed, 158 insertions(+), 98 deletions(-) diff --git a/libstdc++-v3/config/locale/uclibc/c++locale_internal.h b/libstdc++-v3/config/locale/uclibc/c++locale_internal.h @@ -538,5 +538,5 @@ index ba8e858..1665dde 100644 template<typename _CharT> -- -1.7.10.4 +2.8.2 diff --git a/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-4.9/0008-missing-execinfo_h.patch b/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-6.2/0008-missing-execinfo_h.patch index 282380934..01e7c9549 100644 --- a/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-4.9/0008-missing-execinfo_h.patch +++ b/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-6.2/0008-missing-execinfo_h.patch @@ -1,17 +1,17 @@ -From 9f2158451981cf0a80cfabdc79ae31bb6976a801 Mon Sep 17 00:00:00 2001 +From 6dde3da24ef4b9b357bca670d8551cab3fdda843 Mon Sep 17 00:00:00 2001 From: Khem Raj <raj.khem@gmail.com> Date: Fri, 29 Mar 2013 08:48:10 +0400 -Subject: [PATCH 08/35] missing-execinfo_h +Subject: [PATCH 08/46] missing-execinfo_h Signed-off-by: Khem Raj <raj.khem@gmail.com> Upstream-Status: Pending --- - boehm-gc/include/gc.h | 2 +- + boehm-gc/include/gc.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/boehm-gc/include/gc.h b/boehm-gc/include/gc.h -index c51e017..a7ba8dc 100644 +index 6b38f2d..fca98ff 100644 --- a/boehm-gc/include/gc.h +++ b/boehm-gc/include/gc.h @@ -503,7 +503,7 @@ GC_API GC_PTR GC_malloc_atomic_ignore_off_page GC_PROTO((size_t lb)); @@ -24,5 +24,5 @@ index c51e017..a7ba8dc 100644 # define GC_HAVE_BUILTIN_BACKTRACE # endif -- -1.7.10.4 +2.8.2 diff --git a/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-4.9/0009-c99-snprintf.patch b/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-6.2/0009-c99-snprintf.patch index 7168778df..d62341ac6 100644 --- a/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-4.9/0009-c99-snprintf.patch +++ b/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-6.2/0009-c99-snprintf.patch @@ -1,28 +1,28 @@ -From e393e076f1ab82d25e1aa04d6edea27b41d3eb06 Mon Sep 17 00:00:00 2001 +From b794f1f1c1c7c06f3f0d78cf76c4fb90c2ab8dfb Mon Sep 17 00:00:00 2001 From: Khem Raj <raj.khem@gmail.com> Date: Fri, 29 Mar 2013 08:49:03 +0400 -Subject: [PATCH 09/35] c99-snprintf +Subject: [PATCH 09/46] c99-snprintf Signed-off-by: Khem Raj <raj.khem@gmail.com> Upstream-Status: Pending --- - libstdc++-v3/include/c_std/cstdio | 2 +- + libstdc++-v3/include/c_std/cstdio | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libstdc++-v3/include/c_std/cstdio b/libstdc++-v3/include/c_std/cstdio -index e85bd83..6af839a 100644 +index a4119ba..8396f43 100644 --- a/libstdc++-v3/include/c_std/cstdio +++ b/libstdc++-v3/include/c_std/cstdio -@@ -139,7 +139,7 @@ namespace std +@@ -144,7 +144,7 @@ namespace std using ::vsprintf; } // namespace std --#if _GLIBCXX_USE_C99 -+#if _GLIBCXX_USE_C99 || defined(__UCLIBC__) +-#if _GLIBCXX_USE_C99_STDIO ++#if _GLIBCXX_USE_C99_STDIO || defined(__UCLIBC__) #undef snprintf #undef vfscanf -- -1.7.10.4 +2.8.2 diff --git a/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-4.9/0016-gcc-poison-system-directories.patch b/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-6.2/0010-gcc-poison-system-directories.patch index 475ef96b9..ac4cf442d 100644 --- a/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-4.9/0016-gcc-poison-system-directories.patch +++ b/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-6.2/0010-gcc-poison-system-directories.patch @@ -1,29 +1,28 @@ -From 160397ef3c3331099af028f1b8d3e085b07d88ad Mon Sep 17 00:00:00 2001 +From d76250323dad69212c958e4857a98d99ab51a39e Mon Sep 17 00:00:00 2001 From: Khem Raj <raj.khem@gmail.com> Date: Fri, 29 Mar 2013 08:59:00 +0400 -Subject: [PATCH 16/35] gcc: poison-system-directories +Subject: [PATCH 10/46] gcc: poison-system-directories Signed-off-by: Khem Raj <raj.khem@gmail.com> Upstream-Status: Inappropriate [distribution: codesourcery] --- - gcc/Makefile.in | 2 +- - gcc/common.opt | 4 ++++ - gcc/config.in | 6 ++++++ - gcc/configure | 20 ++++++++++++++++++-- - gcc/configure.ac | 10 ++++++++++ - gcc/doc/invoke.texi | 9 +++++++++ - gcc/gcc.c | 2 ++ - gcc/incpath.c | 19 +++++++++++++++++++ - 8 files changed, 69 insertions(+), 3 deletions(-) + gcc/common.opt | 4 ++++ + gcc/config.in | 6 ++++++ + gcc/configure | 16 ++++++++++++++++ + gcc/configure.ac | 10 ++++++++++ + gcc/doc/invoke.texi | 9 +++++++++ + gcc/gcc.c | 2 ++ + gcc/incpath.c | 19 +++++++++++++++++++ + 7 files changed, 66 insertions(+) -Index: gcc-4.9-20140316/gcc/common.opt -=================================================================== ---- gcc-4.9-20140316.orig/gcc/common.opt -+++ gcc-4.9-20140316/gcc/common.opt -@@ -603,6 +603,10 @@ Wpedantic - Common Var(pedantic) Warning - Issue warnings needed for strict compliance to the standard +diff --git a/gcc/common.opt b/gcc/common.opt +index 67048db..733185c 100644 +--- a/gcc/common.opt ++++ b/gcc/common.opt +@@ -659,6 +659,10 @@ Wreturn-local-addr + Common Var(warn_return_local_addr) Init(1) Warning + Warn about returning a pointer/reference to a local or temporary variable. +Wpoison-system-directories +Common Var(flag_poison_system_directories) Init(1) Warning @@ -31,12 +30,12 @@ Index: gcc-4.9-20140316/gcc/common.opt + Wshadow Common Var(warn_shadow) Warning - Warn when one local variable shadows another -Index: gcc-4.9-20140316/gcc/config.in -=================================================================== ---- gcc-4.9-20140316.orig/gcc/config.in -+++ gcc-4.9-20140316/gcc/config.in -@@ -138,6 +138,12 @@ + Warn when one local variable shadows another. +diff --git a/gcc/config.in b/gcc/config.in +index 115cb61..105b30f 100644 +--- a/gcc/config.in ++++ b/gcc/config.in +@@ -187,6 +187,12 @@ #endif @@ -49,11 +48,11 @@ Index: gcc-4.9-20140316/gcc/config.in /* Define if you want all operations on RTL (the basic data structure of the optimizer and back end) to be checked for dynamic type safety at runtime. This is quite expensive. */ -Index: gcc-4.9-20140316/gcc/configure -=================================================================== ---- gcc-4.9-20140316.orig/gcc/configure -+++ gcc-4.9-20140316/gcc/configure -@@ -928,6 +928,7 @@ with_system_zlib +diff --git a/gcc/configure b/gcc/configure +index 1c6e340..8f83152 100755 +--- a/gcc/configure ++++ b/gcc/configure +@@ -942,6 +942,7 @@ with_system_zlib enable_maintainer_mode enable_link_mutex enable_version_specific_runtime_libs @@ -61,7 +60,7 @@ Index: gcc-4.9-20140316/gcc/configure enable_plugin enable_host_shared enable_libquadmath_support -@@ -1648,6 +1649,8 @@ Optional Features: +@@ -1681,6 +1682,8 @@ Optional Features: --enable-version-specific-runtime-libs specify that runtime libraries should be installed in a compiler-specific directory @@ -70,7 +69,7 @@ Index: gcc-4.9-20140316/gcc/configure --enable-plugin enable plugin support --enable-host-shared build host code as shared libraries --disable-libquadmath-support -@@ -27702,6 +27705,19 @@ if test "${enable_version_specific_runti +@@ -28908,6 +28911,19 @@ if test "${enable_version_specific_runtime_libs+set}" = set; then : fi @@ -90,11 +89,11 @@ Index: gcc-4.9-20140316/gcc/configure # Substitute configuration variables -Index: gcc-4.9-20140316/gcc/configure.ac -=================================================================== ---- gcc-4.9-20140316.orig/gcc/configure.ac -+++ gcc-4.9-20140316/gcc/configure.ac -@@ -5366,6 +5366,16 @@ AC_ARG_ENABLE(version-specific-runtime-l +diff --git a/gcc/configure.ac b/gcc/configure.ac +index 6c1dcd9..0fccaef 100644 +--- a/gcc/configure.ac ++++ b/gcc/configure.ac +@@ -5861,6 +5861,16 @@ AC_ARG_ENABLE(version-specific-runtime-libs, [specify that runtime libraries should be installed in a compiler-specific directory])]) @@ -111,21 +110,21 @@ Index: gcc-4.9-20140316/gcc/configure.ac # Substitute configuration variables AC_SUBST(subdirs) AC_SUBST(srcdir) -Index: gcc-4.9-20140316/gcc/doc/invoke.texi -=================================================================== ---- gcc-4.9-20140316.orig/gcc/doc/invoke.texi -+++ gcc-4.9-20140316/gcc/doc/invoke.texi -@@ -260,6 +260,7 @@ Objective-C and Objective-C++ Dialects}. - -Woverlength-strings -Wpacked -Wpacked-bitfield-compat -Wpadded @gol - -Wparentheses -Wpedantic-ms-format -Wno-pedantic-ms-format @gol +diff --git a/gcc/doc/invoke.texi b/gcc/doc/invoke.texi +index 821f8fd..8bb49e7 100644 +--- a/gcc/doc/invoke.texi ++++ b/gcc/doc/invoke.texi +@@ -284,6 +284,7 @@ Objective-C and Objective-C++ Dialects}. + -Wparentheses -Wno-pedantic-ms-format @gol + -Wplacement-new -Wplacement-new=@var{n} @gol -Wpointer-arith -Wno-pointer-to-int-cast @gol +-Wno-poison-system-directories @gol - -Wredundant-decls -Wno-return-local-addr @gol - -Wreturn-type -Wsequence-point -Wshadow @gol - -Wsign-compare -Wsign-conversion -Wfloat-conversion @gol -@@ -4230,6 +4231,14 @@ headers---for that, @option{-Wunknown-pr - for most targets, it is made up of code and thus requires the stack - to be made executable in order for the program to work properly. + -Wno-pragmas -Wredundant-decls -Wno-return-local-addr @gol + -Wreturn-type -Wsequence-point -Wshadow -Wno-shadow-ivar @gol + -Wshift-overflow -Wshift-overflow=@var{n} @gol +@@ -4723,6 +4724,14 @@ made up of data only and thus requires no special treatment. But, for + most targets, it is made up of code and thus requires the stack to be + made executable in order for the program to work properly. +@item -Wno-poison-system-directories +@opindex Wno-poison-system-directories @@ -138,24 +137,24 @@ Index: gcc-4.9-20140316/gcc/doc/invoke.texi @item -Wfloat-equal @opindex Wfloat-equal @opindex Wno-float-equal -Index: gcc-4.9-20140316/gcc/gcc.c -=================================================================== ---- gcc-4.9-20140316.orig/gcc/gcc.c -+++ gcc-4.9-20140316/gcc/gcc.c -@@ -764,6 +764,8 @@ proper position among the other output f - "%{fuse-ld=*:-fuse-ld=%*}\ - %X %{o*} %{e*} %{N} %{n} %{r}\ - %{s} %{t} %{u*} %{z} %{Z} %{!nostdlib:%{!nostartfiles:%S}} " VTABLE_VERIFICATION_SPEC " \ -+ %{Wno-poison-system-directories:--no-poison-system-directories}\ -+ %{Werror=poison-system-directories:--error-poison-system-directories}\ - %{static:} %{L*} %(mfwrap) %(link_libgcc) " SANITIZER_EARLY_SPEC " %o\ - %{fopenmp|ftree-parallelize-loops=*:%:include(libgomp.spec)%(link_gomp)}\ - %{fgnu-tm:%:include(libitm.spec)%(link_itm)}\ -Index: gcc-4.9-20140316/gcc/incpath.c -=================================================================== ---- gcc-4.9-20140316.orig/gcc/incpath.c -+++ gcc-4.9-20140316/gcc/incpath.c -@@ -28,6 +28,7 @@ +diff --git a/gcc/gcc.c b/gcc/gcc.c +index 1af5920..4cfef7f 100644 +--- a/gcc/gcc.c ++++ b/gcc/gcc.c +@@ -1017,6 +1017,8 @@ proper position among the other output files. */ + "%{fuse-ld=*:-fuse-ld=%*} " LINK_COMPRESS_DEBUG_SPEC \ + "%X %{o*} %{e*} %{N} %{n} %{r}\ + %{s} %{t} %{u*} %{z} %{Z} %{!nostdlib:%{!nostartfiles:%S}} \ ++ %{Wno-poison-system-directories:--no-poison-system-directories} \ ++ %{Werror=poison-system-directories:--error-poison-system-directories} \ + %{static:} %{L*} %(mfwrap) %(link_libgcc) " \ + VTABLE_VERIFICATION_SPEC " " SANITIZER_EARLY_SPEC " %o " CHKP_SPEC " \ + %{fopenacc|fopenmp|%:gt(%{ftree-parallelize-loops=*:%*} 1):\ +diff --git a/gcc/incpath.c b/gcc/incpath.c +index ea40f4a..856da41 100644 +--- a/gcc/incpath.c ++++ b/gcc/incpath.c +@@ -26,6 +26,7 @@ #include "intl.h" #include "incpath.h" #include "cppdefault.h" @@ -163,7 +162,7 @@ Index: gcc-4.9-20140316/gcc/incpath.c /* Microsoft Windows does not natively support inodes. VMS has non-numeric inodes. */ -@@ -382,6 +383,24 @@ merge_include_chains (const char *sysroo +@@ -381,6 +382,24 @@ merge_include_chains (const char *sysroot, cpp_reader *pfile, int verbose) } fprintf (stderr, _("End of search list.\n")); } @@ -188,3 +187,6 @@ Index: gcc-4.9-20140316/gcc/incpath.c } /* Use given -I paths for #include "..." but not #include <...>, and +-- +2.8.2 + diff --git a/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-4.9/0017-gcc-poison-dir-extend.patch b/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-6.2/0011-gcc-poison-dir-extend.patch index 9e81efd4d..a1736aea1 100644 --- a/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-4.9/0017-gcc-poison-dir-extend.patch +++ b/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-6.2/0011-gcc-poison-dir-extend.patch @@ -1,7 +1,7 @@ -From e99c9c97266d6d3e8cac798aa91408250c4d60cf Mon Sep 17 00:00:00 2001 +From a1c24b59def393e43cd50b6768604a212c788ed3 Mon Sep 17 00:00:00 2001 From: Khem Raj <raj.khem@gmail.com> Date: Fri, 29 Mar 2013 09:00:34 +0400 -Subject: [PATCH 17/35] gcc-poison-dir-extend +Subject: [PATCH 11/46] gcc-poison-dir-extend Add /sw/include and /opt/include based on the original zecke-no-host-includes.patch patch. The original patch checked for @@ -16,14 +16,14 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com> Upstream-Status: Pending --- - gcc/incpath.c | 4 +++- + gcc/incpath.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/gcc/incpath.c b/gcc/incpath.c -index cd41c78..eac4a92 100644 +index 856da41..d2fc82c 100644 --- a/gcc/incpath.c +++ b/gcc/incpath.c -@@ -393,7 +393,9 @@ merge_include_chains (const char *sysroot, cpp_reader *pfile, int verbose) +@@ -392,7 +392,9 @@ merge_include_chains (const char *sysroot, cpp_reader *pfile, int verbose) { if ((!strncmp (p->name, "/usr/include", 12)) || (!strncmp (p->name, "/usr/local/include", 18)) @@ -35,5 +35,5 @@ index cd41c78..eac4a92 100644 "include location \"%s\" is unsafe for " "cross-compilation", -- -1.7.10.4 +2.8.2 diff --git a/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-4.9/0018-gcc-4.3.3-SYSROOT_CFLAGS_FOR_TARGET.patch b/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-6.2/0012-gcc-4.3.3-SYSROOT_CFLAGS_FOR_TARGET.patch index a28cafdf9..939b0705f 100644 --- a/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-4.9/0018-gcc-4.3.3-SYSROOT_CFLAGS_FOR_TARGET.patch +++ b/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-6.2/0012-gcc-4.3.3-SYSROOT_CFLAGS_FOR_TARGET.patch @@ -1,7 +1,7 @@ -From 56207fa2923e8edf774e98ffac82666091076be3 Mon Sep 17 00:00:00 2001 +From 00ef5f0f2a8d3b33aeb1e55c0d23439f4dd495af Mon Sep 17 00:00:00 2001 From: Khem Raj <raj.khem@gmail.com> Date: Fri, 29 Mar 2013 09:08:31 +0400 -Subject: [PATCH 18/35] gcc-4.3.3: SYSROOT_CFLAGS_FOR_TARGET +Subject: [PATCH 12/46] gcc-4.3.3: SYSROOT_CFLAGS_FOR_TARGET Before committing, I noticed that PR/32161 was marked as a dup of PR/32009, but my previous patch did not fix it. @@ -22,14 +22,14 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com> Upstream-Status: Pending --- - configure | 32 ++++++++++++++++++++++++++++++++ + configure | 32 ++++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) diff --git a/configure b/configure -index 1b76c90..e4dce7c 100755 +index bfadc33..755d382 100755 --- a/configure +++ b/configure -@@ -6772,6 +6772,38 @@ fi +@@ -6819,6 +6819,38 @@ fi @@ -69,5 +69,5 @@ index 1b76c90..e4dce7c 100755 # the named directory are copied to $(tooldir)/sys-include. if test x"${with_headers}" != x && test x"${with_headers}" != xno ; then -- -1.7.10.4 +2.8.2 diff --git a/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-4.9/0019-64-bit-multilib-hack.patch b/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-6.2/0013-64-bit-multilib-hack.patch index 058be0c40..e31cde431 100644 --- a/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-4.9/0019-64-bit-multilib-hack.patch +++ b/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-6.2/0013-64-bit-multilib-hack.patch @@ -1,7 +1,7 @@ -From 18fde5740b09324dfb9cf41e9849672573ff5fa0 Mon Sep 17 00:00:00 2001 +From 7fc7a070ac53a55950a1eac76f02877d4106b4b3 Mon Sep 17 00:00:00 2001 From: Khem Raj <raj.khem@gmail.com> Date: Fri, 29 Mar 2013 09:10:06 +0400 -Subject: [PATCH 19/35] 64-bit multilib hack. +Subject: [PATCH 13/46] 64-bit multilib hack. GCC has internal multilib handling code but it assumes a very specific rigid directory layout. The build system implementation of multilib layout is very generic and allows @@ -26,15 +26,15 @@ Signed-off-by: Elvis Dowson <elvis.dowson@gmail.com> Upstream-Status: Pending --- - gcc/config/i386/t-linux64 | 6 ++---- - gcc/config/mips/t-linux64 | 10 +++------- - gcc/config/rs6000/t-linux64 | 5 ++--- + gcc/config/i386/t-linux64 | 6 ++---- + gcc/config/mips/t-linux64 | 10 +++------- + gcc/config/rs6000/t-linux64 | 5 ++--- 3 files changed, 7 insertions(+), 14 deletions(-) -Index: gcc-4.9-20140316/gcc/config/i386/t-linux64 -=================================================================== ---- gcc-4.9-20140316.orig/gcc/config/i386/t-linux64 -+++ gcc-4.9-20140316/gcc/config/i386/t-linux64 +diff --git a/gcc/config/i386/t-linux64 b/gcc/config/i386/t-linux64 +index c0cc8a3..365a5d6 100644 +--- a/gcc/config/i386/t-linux64 ++++ b/gcc/config/i386/t-linux64 @@ -32,7 +32,5 @@ # comma=, @@ -45,10 +45,10 @@ Index: gcc-4.9-20140316/gcc/config/i386/t-linux64 -MULTILIB_OSDIRNAMES+= mx32=../libx32$(call if_multiarch,:x86_64-linux-gnux32) +MULTILIB_DIRNAMES = . . +MULTILIB_OSDIRNAMES = ../$(shell basename $(base_libdir)) ../$(shell basename $(base_libdir)) -Index: gcc-4.9-20140316/gcc/config/mips/t-linux64 -=================================================================== ---- gcc-4.9-20140316.orig/gcc/config/mips/t-linux64 -+++ gcc-4.9-20140316/gcc/config/mips/t-linux64 +diff --git a/gcc/config/mips/t-linux64 b/gcc/config/mips/t-linux64 +index 16c8adf..b932ace 100644 +--- a/gcc/config/mips/t-linux64 ++++ b/gcc/config/mips/t-linux64 @@ -17,10 +17,6 @@ # <http://www.gnu.org/licenses/>. @@ -63,10 +63,10 @@ Index: gcc-4.9-20140316/gcc/config/mips/t-linux64 +MULTILIB_DIRNAMES = . . . +MULTILIB_OSDIRNAMES = ../$(shell basename $(base_libdir)) ../$(shell basename $(base_libdir)) ../$(shell basename $(base_libdir)) + -Index: gcc-4.9-20140316/gcc/config/rs6000/t-linux64 -=================================================================== ---- gcc-4.9-20140316.orig/gcc/config/rs6000/t-linux64 -+++ gcc-4.9-20140316/gcc/config/rs6000/t-linux64 +diff --git a/gcc/config/rs6000/t-linux64 b/gcc/config/rs6000/t-linux64 +index fa7550b..9b5d9ef 100644 +--- a/gcc/config/rs6000/t-linux64 ++++ b/gcc/config/rs6000/t-linux64 @@ -26,10 +26,9 @@ # MULTILIB_OSDIRNAMES according to what is found on the target. @@ -80,3 +80,6 @@ Index: gcc-4.9-20140316/gcc/config/rs6000/t-linux64 rs6000-linux.o: $(srcdir)/config/rs6000/rs6000-linux.c $(COMPILE) $< +-- +2.8.2 + diff --git a/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-6.2/0014-optional-libstdc.patch b/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-6.2/0014-optional-libstdc.patch new file mode 100644 index 000000000..44b0cc7d6 --- /dev/null +++ b/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-6.2/0014-optional-libstdc.patch @@ -0,0 +1,125 @@ +From 36275f7981bdaf919bbc9b51a7c7fae1e192adb3 Mon Sep 17 00:00:00 2001 +From: Khem Raj <raj.khem@gmail.com> +Date: Fri, 29 Mar 2013 09:12:56 +0400 +Subject: [PATCH 14/46] optional libstdc + +gcc-runtime builds libstdc++ separately from gcc-cross-*. Its configure tests using g++ +will not run correctly since by default the linker will try to link against libstdc++ +which shouldn't exist yet. We need an option to disable -lstdc++ +option whilst leaving -lc, -lgcc and other automatic library dependencies added by gcc +driver. This patch adds such an option which only disables the -lstdc++. + +A "standard" gcc build uses xgcc and hence avoids this. We should ask upstream how to +do this officially, the likely answer is don't build libstdc++ separately. + +RP 29/6/10 + +Signed-off-by: Khem Raj <raj.khem@gmail.com> + +Upstream-Status: Inappropriate [embedded specific] +--- + gcc/c-family/c.opt | 4 ++++ + gcc/cp/g++spec.c | 1 + + gcc/doc/invoke.texi | 32 +++++++++++++++++++++++++++++++- + gcc/gcc.c | 1 + + 4 files changed, 37 insertions(+), 1 deletion(-) + +diff --git a/gcc/c-family/c.opt b/gcc/c-family/c.opt +index 4f86876..660da6c 100644 +--- a/gcc/c-family/c.opt ++++ b/gcc/c-family/c.opt +@@ -1647,6 +1647,10 @@ nostdinc++ + C++ ObjC++ + Do not search standard system include directories for C++. + ++nostdlib++ ++Driver ++Do not link standard C++ runtime library ++ + o + C ObjC C++ ObjC++ Joined Separate + ; Documented in common.opt +diff --git a/gcc/cp/g++spec.c b/gcc/cp/g++spec.c +index 03cbde0..3642540 100644 +--- a/gcc/cp/g++spec.c ++++ b/gcc/cp/g++spec.c +@@ -137,6 +137,7 @@ lang_specific_driver (struct cl_decoded_option **in_decoded_options, + switch (decoded_options[i].opt_index) + { + case OPT_nostdlib: ++ case OPT_nostdlib__: + case OPT_nodefaultlibs: + library = -1; + break; +diff --git a/gcc/doc/invoke.texi b/gcc/doc/invoke.texi +index 8bb49e7..84d68aa 100644 +--- a/gcc/doc/invoke.texi ++++ b/gcc/doc/invoke.texi +@@ -207,6 +207,9 @@ in the following sections. + -fno-weak -nostdinc++ @gol + -fvisibility-inlines-hidden @gol + -fvisibility-ms-compat @gol ++-fvtable-verify=@r{[}std@r{|}preinit@r{|}none@r{]} @gol ++-fvtv-counts -fvtv-debug @gol ++-nostdlib++ @gol + -fext-numeric-literals @gol + -Wabi=@var{n} -Wabi-tag -Wconversion-null -Wctor-dtor-privacy @gol + -Wdelete-non-virtual-dtor -Wliteral-suffix -Wmultiple-inheritance @gol +@@ -470,7 +473,7 @@ Objective-C and Objective-C++ Dialects}. + -s -static -static-libgcc -static-libstdc++ @gol + -static-libasan -static-libtsan -static-liblsan -static-libubsan @gol + -static-libmpx -static-libmpxwrappers @gol +--shared -shared-libgcc -symbolic @gol ++-shared -shared-libgcc -symbolic -nostdlib++ @gol + -T @var{script} -Wl,@var{option} -Xlinker @var{option} @gol + -u @var{symbol} -z @var{keyword}} + +@@ -10601,6 +10604,33 @@ library subroutines. + constructors are called; @pxref{Collect2,,@code{collect2}, gccint, + GNU Compiler Collection (GCC) Internals}.) + ++@item -nostdlib++ ++@opindex nostdlib++ ++Do not use the standard system C++ runtime libraries when linking. ++Only the libraries you specify will be passed to the linker. ++ ++@cindex @option{-lgcc}, use with @option{-nostdlib} ++@cindex @option{-nostdlib} and unresolved references ++@cindex unresolved references and @option{-nostdlib} ++@cindex @option{-lgcc}, use with @option{-nodefaultlibs} ++@cindex @option{-nodefaultlibs} and unresolved references ++@cindex unresolved references and @option{-nodefaultlibs} ++One of the standard libraries bypassed by @option{-nostdlib} and ++@option{-nodefaultlibs} is @file{libgcc.a}, a library of internal subroutines ++which GCC uses to overcome shortcomings of particular machines, or special ++needs for some languages. ++(@xref{Interface,,Interfacing to GCC Output,gccint,GNU Compiler ++Collection (GCC) Internals}, ++for more discussion of @file{libgcc.a}.) ++In most cases, you need @file{libgcc.a} even when you want to avoid ++other standard libraries. In other words, when you specify @option{-nostdlib} ++or @option{-nodefaultlibs} you should usually specify @option{-lgcc} as well. ++This ensures that you have no unresolved references to internal GCC ++library subroutines. ++(An example of such an internal subroutine is @code{__main}, used to ensure C++ ++constructors are called; @pxref{Collect2,,@code{collect2}, gccint, ++GNU Compiler Collection (GCC) Internals}.) ++ + @item -pie + @opindex pie + Produce a position independent executable on targets that support it. +diff --git a/gcc/gcc.c b/gcc/gcc.c +index 4cfef7f..da0b482 100644 +--- a/gcc/gcc.c ++++ b/gcc/gcc.c +@@ -1028,6 +1028,7 @@ proper position among the other output files. */ + %(mflib) " STACK_SPLIT_SPEC "\ + %{fprofile-arcs|fprofile-generate*|coverage:-lgcov} " SANITIZER_SPEC " \ + %{!nostdlib:%{!nodefaultlibs:%(link_ssp) %(link_gcc_c_sequence)}}\ ++ %{!nostdlib++:}\ + %{!nostdlib:%{!nostartfiles:%E}} %{T*} \n%(post_link) }}}}}}" + #endif + +-- +2.8.2 + diff --git a/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-4.9/0021-gcc-disable-MASK_RELAX_PIC_CALLS-bit.patch b/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-6.2/0015-gcc-disable-MASK_RELAX_PIC_CALLS-bit.patch index eb3c61f12..6fc7346f6 100644 --- a/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-4.9/0021-gcc-disable-MASK_RELAX_PIC_CALLS-bit.patch +++ b/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-6.2/0015-gcc-disable-MASK_RELAX_PIC_CALLS-bit.patch @@ -1,7 +1,7 @@ -From 004696e054ae9dc71d512cc755ccc4074fc62b2d Mon Sep 17 00:00:00 2001 +From 9346f6042d8f7f85a75ca2af15f3b8d234985165 Mon Sep 17 00:00:00 2001 From: Khem Raj <raj.khem@gmail.com> Date: Fri, 29 Mar 2013 09:14:20 +0400 -Subject: [PATCH 21/35] gcc: disable MASK_RELAX_PIC_CALLS bit +Subject: [PATCH 15/46] gcc: disable MASK_RELAX_PIC_CALLS bit The new feature added after 4.3.3 "http://www.pubbs.net/200909/gcc/94048-patch-add-support-for-rmipsjalr.html" @@ -14,15 +14,15 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com> Upstream-Status: Inappropriate [configuration] --- - gcc/configure | 7 ------- - gcc/configure.ac | 7 ------- + gcc/configure | 7 ------- + gcc/configure.ac | 7 ------- 2 files changed, 14 deletions(-) diff --git a/gcc/configure b/gcc/configure -index b65d21d..bdab45a 100755 +index 8f83152..5e72f17 100755 --- a/gcc/configure +++ b/gcc/configure -@@ -25829,13 +25829,6 @@ $as_echo_n "checking assembler and linker for explicit JALR relocation... " >&6; +@@ -27018,13 +27018,6 @@ $as_echo_n "checking assembler and linker for explicit JALR relocation... " >&6; rm -f conftest.* fi fi @@ -37,10 +37,10 @@ index b65d21d..bdab45a 100755 $as_echo "$gcc_cv_as_ld_jalr_reloc" >&6; } diff --git a/gcc/configure.ac b/gcc/configure.ac -index e226b85..5f5c909 100644 +index 0fccaef..dd8f6fa 100644 --- a/gcc/configure.ac +++ b/gcc/configure.ac -@@ -4099,13 +4099,6 @@ x: +@@ -4522,13 +4522,6 @@ x: rm -f conftest.* fi fi @@ -55,5 +55,5 @@ index e226b85..5f5c909 100644 AC_CACHE_CHECK([linker for .eh_frame personality relaxation], -- -1.7.10.4 +2.8.2 diff --git a/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-4.9/0022-COLLECT_GCC_OPTIONS.patch b/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-6.2/0016-COLLECT_GCC_OPTIONS.patch index 40c8abffa..c1548647c 100644 --- a/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-4.9/0022-COLLECT_GCC_OPTIONS.patch +++ b/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-6.2/0016-COLLECT_GCC_OPTIONS.patch @@ -1,7 +1,7 @@ -From 7f5c9dcc71c8b83a0b5596266cc4bdf0936e8e00 Mon Sep 17 00:00:00 2001 +From 1033bc2d4efc5c301bb822b607a673f5b10cc69f Mon Sep 17 00:00:00 2001 From: Khem Raj <raj.khem@gmail.com> Date: Fri, 29 Mar 2013 09:16:28 +0400 -Subject: [PATCH 22/35] COLLECT_GCC_OPTIONS +Subject: [PATCH 16/46] COLLECT_GCC_OPTIONS This patch adds --sysroot into COLLECT_GCC_OPTIONS which is used to invoke collect2. @@ -10,14 +10,14 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com> Upstream-Status: Pending --- - gcc/gcc.c | 9 +++++++++ + gcc/gcc.c | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/gcc/gcc.c b/gcc/gcc.c -index 477752f..51062aa 100644 +index da0b482..7ca129f 100644 --- a/gcc/gcc.c +++ b/gcc/gcc.c -@@ -4098,6 +4098,15 @@ set_collect_gcc_options (void) +@@ -4591,6 +4591,15 @@ set_collect_gcc_options (void) sizeof ("COLLECT_GCC_OPTIONS=") - 1); first_time = TRUE; @@ -34,5 +34,5 @@ index 477752f..51062aa 100644 { const char *const *args; -- -1.7.10.4 +2.8.2 diff --git a/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-4.9/0023-Use-the-defaults.h-in-B-instead-of-S-and-t-oe-in-B.patch b/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-6.2/0017-Use-the-defaults.h-in-B-instead-of-S-and-t-oe-in-B.patch index fddfe9e5e..0dbabd9e9 100644 --- a/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-4.9/0023-Use-the-defaults.h-in-B-instead-of-S-and-t-oe-in-B.patch +++ b/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-6.2/0017-Use-the-defaults.h-in-B-instead-of-S-and-t-oe-in-B.patch @@ -1,8 +1,8 @@ -From f7d49ca445e60faa1b5256c6b4f96c1ee5c0e353 Mon Sep 17 00:00:00 2001 +From 67123a306880af997a99ae514677c2da4973bd1a Mon Sep 17 00:00:00 2001 From: Khem Raj <raj.khem@gmail.com> Date: Fri, 29 Mar 2013 09:17:25 +0400 -Subject: [PATCH 23/35] Use the defaults.h in ${B} instead of ${S}, and t-oe - in ${B} +Subject: [PATCH 17/46] Use the defaults.h in ${B} instead of ${S}, and t-oe in + ${B} Use the defaults.h in ${B} instead of ${S}, and t-oe in ${B}, so that the source can be shared between gcc-cross-initial, @@ -20,17 +20,17 @@ tm_include_list='** ./defaults.h' So we add the test condition for this situation. Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com> --- - gcc/Makefile.in | 2 +- - gcc/configure | 4 ++-- - gcc/configure.ac | 4 ++-- - gcc/mkconfig.sh | 4 ++-- + gcc/Makefile.in | 2 +- + gcc/configure | 4 ++-- + gcc/configure.ac | 4 ++-- + gcc/mkconfig.sh | 4 ++-- 4 files changed, 7 insertions(+), 7 deletions(-) diff --git a/gcc/Makefile.in b/gcc/Makefile.in -index d1ab22f..15fe4b6 100644 +index 6c5adc0..9a1d466 100644 --- a/gcc/Makefile.in +++ b/gcc/Makefile.in -@@ -483,7 +483,7 @@ TARGET_SYSTEM_ROOT = @TARGET_SYSTEM_ROOT@ +@@ -517,7 +517,7 @@ TARGET_SYSTEM_ROOT = @TARGET_SYSTEM_ROOT@ TARGET_SYSTEM_ROOT_DEFINE = @TARGET_SYSTEM_ROOT_DEFINE@ xmake_file=@xmake_file@ @@ -40,10 +40,10 @@ index d1ab22f..15fe4b6 100644 TM_MULTILIB_CONFIG=@TM_MULTILIB_CONFIG@ TM_MULTILIB_EXCEPTIONS_CONFIG=@TM_MULTILIB_EXCEPTIONS_CONFIG@ diff --git a/gcc/configure b/gcc/configure -index 5399b2b..60a04bd 100755 +index 5e72f17..389b6d5 100755 --- a/gcc/configure +++ b/gcc/configure -@@ -11631,8 +11631,8 @@ for f in $tm_file; do +@@ -12130,8 +12130,8 @@ for f in $tm_file; do tm_include_list="${tm_include_list} $f" ;; defaults.h ) @@ -55,10 +55,10 @@ index 5399b2b..60a04bd 100755 * ) tm_file_list="${tm_file_list} \$(srcdir)/config/$f" diff --git a/gcc/configure.ac b/gcc/configure.ac -index f87c3b6..460e0d9 100644 +index dd8f6fa..91ac800 100644 --- a/gcc/configure.ac +++ b/gcc/configure.ac -@@ -1740,8 +1740,8 @@ for f in $tm_file; do +@@ -1883,8 +1883,8 @@ for f in $tm_file; do tm_include_list="${tm_include_list} $f" ;; defaults.h ) @@ -70,7 +70,7 @@ index f87c3b6..460e0d9 100644 * ) tm_file_list="${tm_file_list} \$(srcdir)/config/$f" diff --git a/gcc/mkconfig.sh b/gcc/mkconfig.sh -index c7146ed..b153f45 100644 +index 67dfac6..b73e08d 100644 --- a/gcc/mkconfig.sh +++ b/gcc/mkconfig.sh @@ -77,7 +77,7 @@ if [ -n "$HEADERS" ]; then @@ -82,7 +82,7 @@ index c7146ed..b153f45 100644 postpone_defaults_h="yes" else echo "# include \"$file\"" >> ${output}T -@@ -106,7 +106,7 @@ esac +@@ -109,7 +109,7 @@ esac # If we postponed including defaults.h, add the #include now. if test x"$postpone_defaults_h" = x"yes"; then @@ -92,5 +92,5 @@ index c7146ed..b153f45 100644 # Add multiple inclusion protection guard, part two. -- -1.9.1 +2.8.2 diff --git a/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-4.9/0025-fortran-cross-compile-hack.patch b/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-6.2/0018-fortran-cross-compile-hack.patch index 0e7914d5c..b43d89ea8 100644 --- a/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-4.9/0025-fortran-cross-compile-hack.patch +++ b/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-6.2/0018-fortran-cross-compile-hack.patch @@ -1,7 +1,7 @@ -From af8a56ea4e17b2909eff2c57704ab43ef24f28d3 Mon Sep 17 00:00:00 2001 +From e360dc3e0f1e0b9b001ef722fcf66f8120a03dbc Mon Sep 17 00:00:00 2001 From: Khem Raj <raj.khem@gmail.com> Date: Fri, 29 Mar 2013 09:20:01 +0400 -Subject: [PATCH 25/35] fortran cross-compile hack. +Subject: [PATCH 18/46] fortran cross-compile hack. * Fortran would have searched for arm-angstrom-gnueabi-gfortran but would have used used gfortan. For gcc_4.2.2.bb we want to use the gfortran compiler from our cross @@ -11,15 +11,15 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com> Upstream-Status: Inappropriate [embedded specific] --- - libgfortran/configure | 2 +- - libgfortran/configure.ac | 2 +- + libgfortran/configure | 2 +- + libgfortran/configure.ac | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/libgfortran/configure b/libgfortran/configure -index 8385e96..b8f7a92 100755 +index f746f6f..b4f3278 100755 --- a/libgfortran/configure +++ b/libgfortran/configure -@@ -12704,7 +12704,7 @@ esac +@@ -12734,7 +12734,7 @@ esac # We need gfortran to compile parts of the library #AC_PROG_FC(gfortran) @@ -29,10 +29,10 @@ index 8385e96..b8f7a92 100755 ac_compile='$FC -c $FCFLAGS $ac_fcflags_srcext conftest.$ac_ext >&5' ac_link='$FC -o conftest$ac_exeext $FCFLAGS $LDFLAGS $ac_fcflags_srcext conftest.$ac_ext $LIBS >&5' diff --git a/libgfortran/configure.ac b/libgfortran/configure.ac -index 7d97fed..3f9f484 100644 +index 8f377bb..67710b5 100644 --- a/libgfortran/configure.ac +++ b/libgfortran/configure.ac -@@ -227,7 +227,7 @@ AC_SUBST(enable_static) +@@ -240,7 +240,7 @@ AC_SUBST(enable_static) # We need gfortran to compile parts of the library #AC_PROG_FC(gfortran) @@ -42,5 +42,5 @@ index 7d97fed..3f9f484 100644 # extra LD Flags which are required for targets -- -1.7.10.4 +2.8.2 diff --git a/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-4.9/0027-cpp-honor-sysroot.patch b/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-6.2/0019-cpp-honor-sysroot.patch index 05e95219f..417a5ede4 100644 --- a/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-4.9/0027-cpp-honor-sysroot.patch +++ b/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-6.2/0019-cpp-honor-sysroot.patch @@ -1,7 +1,7 @@ -From a0f9bd09c816ad29ecf7c29d6c27f7df97710364 Mon Sep 17 00:00:00 2001 +From 98d9c0c1b5552294b2130f7304bfb522da323442 Mon Sep 17 00:00:00 2001 From: Khem Raj <raj.khem@gmail.com> Date: Fri, 29 Mar 2013 09:22:00 +0400 -Subject: [PATCH 27/35] cpp: honor sysroot. +Subject: [PATCH 19/46] cpp: honor sysroot. Currently, if the gcc toolchain is relocated and installed from sstate, then you try and compile preprocessed source (.i or .ii files), the compiler will try and access the builtin sysroot location @@ -21,15 +21,15 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com> Upstream-Status: Pending --- - gcc/cp/lang-specs.h | 2 +- - gcc/gcc.c | 2 +- + gcc/cp/lang-specs.h | 2 +- + gcc/gcc.c | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/gcc/cp/lang-specs.h b/gcc/cp/lang-specs.h -index a001c3e..1aae1e4 100644 +index 9707fac..fe487a2 100644 --- a/gcc/cp/lang-specs.h +++ b/gcc/cp/lang-specs.h -@@ -63,5 +63,5 @@ along with GCC; see the file COPYING3. If not see +@@ -64,5 +64,5 @@ along with GCC; see the file COPYING3. If not see {".ii", "@c++-cpp-output", 0, 0, 0}, {"@c++-cpp-output", "%{!M:%{!MM:%{!E:\ @@ -37,11 +37,11 @@ index a001c3e..1aae1e4 100644 + cc1plus -fpreprocessed %i %I %(cc1_options) %2\ %{!fsyntax-only:%(invoke_as)}}}}", 0, 0, 0}, diff --git a/gcc/gcc.c b/gcc/gcc.c -index 51062aa..cf6b99e 100644 +index 7ca129f..04fa81d 100644 --- a/gcc/gcc.c +++ b/gcc/gcc.c -@@ -1042,7 +1042,7 @@ static const struct compiler default_compilers[] = - %W{o*:--output-pch=%*}}%V}}}}}}", 0, 0, 0}, +@@ -1329,7 +1329,7 @@ static const struct compiler default_compilers[] = + %W{o*:--output-pch=%*}}%V}}}}}}}", 0, 0, 0}, {".i", "@cpp-output", 0, 0, 0}, {"@cpp-output", - "%{!M:%{!MM:%{!E:cc1 -fpreprocessed %i %(cc1_options) %{!fsyntax-only:%(invoke_as)}}}}", 0, 0, 0}, @@ -50,5 +50,5 @@ index 51062aa..cf6b99e 100644 {"@assembler", "%{!M:%{!MM:%{!E:%{!S:as %(asm_debug) %(asm_options) %i %A }}}}", 0, 0, 0}, -- -1.7.10.4 +2.8.2 diff --git a/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-6.2/0020-MIPS64-Default-to-N64-ABI.patch b/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-6.2/0020-MIPS64-Default-to-N64-ABI.patch new file mode 100644 index 000000000..ba612f545 --- /dev/null +++ b/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-6.2/0020-MIPS64-Default-to-N64-ABI.patch @@ -0,0 +1,57 @@ +From 1f15447fbcf65142627af8a9694761534da8d0d1 Mon Sep 17 00:00:00 2001 +From: Khem Raj <raj.khem@gmail.com> +Date: Fri, 29 Mar 2013 09:23:08 +0400 +Subject: [PATCH 20/46] MIPS64: Default to N64 ABI + +MIPS64 defaults to n32 ABI, this patch makes it +so that it defaults to N64 ABI + +Signed-off-by: Khem Raj <raj.khem@gmail.com> + +Upstream-Status: Inappropriate [OE config specific] +--- + gcc/config.gcc | 10 +++++----- + 1 file changed, 5 insertions(+), 5 deletions(-) + +diff --git a/gcc/config.gcc b/gcc/config.gcc +index f66e48c..9c6d156 100644 +--- a/gcc/config.gcc ++++ b/gcc/config.gcc +@@ -2065,29 +2065,29 @@ mips*-*-linux*) # Linux MIPS, either endian. + default_mips_arch=mips32 + ;; + mips64el-st-linux-gnu) +- default_mips_abi=n32 ++ default_mips_abi=64 + tm_file="${tm_file} mips/st.h" + tmake_file="${tmake_file} mips/t-st" + enable_mips_multilibs="yes" + ;; + mips64octeon*-*-linux*) +- default_mips_abi=n32 ++ default_mips_abi=64 + tm_defines="${tm_defines} MIPS_CPU_STRING_DEFAULT=\\\"octeon\\\"" + target_cpu_default=MASK_SOFT_FLOAT_ABI + enable_mips_multilibs="yes" + ;; + mipsisa64r6*-*-linux*) +- default_mips_abi=n32 ++ default_mips_abi=64 + default_mips_arch=mips64r6 + enable_mips_multilibs="yes" + ;; + mipsisa64r2*-*-linux*) +- default_mips_abi=n32 ++ default_mips_abi=64 + default_mips_arch=mips64r2 + enable_mips_multilibs="yes" + ;; + mips64*-*-linux* | mipsisa64*-*-linux*) +- default_mips_abi=n32 ++ default_mips_abi=64 + enable_mips_multilibs="yes" + ;; + esac +-- +2.8.2 + diff --git a/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-4.9/0029-Define-GLIBC_DYNAMIC_LINKER-and-UCLIBC_DYNAMIC_LINKE.patch b/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-6.2/0021-Define-GLIBC_DYNAMIC_LINKER-and-UCLIBC_DYNAMIC_LINKE.patch index 969d290ad..6675ce34f 100644 --- a/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-4.9/0029-Define-GLIBC_DYNAMIC_LINKER-and-UCLIBC_DYNAMIC_LINKE.patch +++ b/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-6.2/0021-Define-GLIBC_DYNAMIC_LINKER-and-UCLIBC_DYNAMIC_LINKE.patch @@ -1,7 +1,7 @@ -From 29d12344fb682a053de53eb08b95704cf3b67af2 Mon Sep 17 00:00:00 2001 +From 9f73c8918b63e6a1c9b79384fac411d1056eec1c Mon Sep 17 00:00:00 2001 From: Khem Raj <raj.khem@gmail.com> Date: Fri, 29 Mar 2013 09:24:50 +0400 -Subject: [PATCH 29/35] Define GLIBC_DYNAMIC_LINKER and UCLIBC_DYNAMIC_LINKER +Subject: [PATCH 21/46] Define GLIBC_DYNAMIC_LINKER and UCLIBC_DYNAMIC_LINKER relative to SYSTEMLIBS_DIR This patch defines GLIBC_DYNAMIC_LINKER and UCLIBC_DYNAMIC_LINKER @@ -16,24 +16,24 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com> Upstream-Status: Inappropriate [OE configuration] --- - gcc/config/alpha/linux-elf.h | 4 ++-- - gcc/config/arm/linux-eabi.h | 4 ++-- - gcc/config/arm/linux-elf.h | 2 +- - gcc/config/i386/linux.h | 2 +- - gcc/config/i386/linux64.h | 6 +++--- - gcc/config/mips/linux.h | 2 +- - gcc/config/mips/linux64.h | 8 ++++---- - gcc/config/rs6000/linux64.h | 8 ++++---- - gcc/config/sh/linux.h | 2 +- - gcc/config/sparc/linux.h | 2 +- - gcc/config/sparc/linux64.h | 4 ++-- - 11 files changed, 22 insertions(+), 22 deletions(-) + gcc/config/alpha/linux-elf.h | 4 ++-- + gcc/config/arm/linux-eabi.h | 4 ++-- + gcc/config/arm/linux-elf.h | 2 +- + gcc/config/i386/linux.h | 2 +- + gcc/config/i386/linux64.h | 6 +++--- + gcc/config/linux.h | 8 ++++---- + gcc/config/mips/linux.h | 12 ++++++------ + gcc/config/rs6000/linux64.h | 16 ++++++---------- + gcc/config/sh/linux.h | 2 +- + gcc/config/sparc/linux.h | 2 +- + gcc/config/sparc/linux64.h | 4 ++-- + 11 files changed, 29 insertions(+), 33 deletions(-) -Index: gcc-4.9.0/gcc/config/alpha/linux-elf.h -=================================================================== ---- gcc-4.9.0.orig/gcc/config/alpha/linux-elf.h 2014-05-07 16:43:50.609106535 +0000 -+++ gcc-4.9.0/gcc/config/alpha/linux-elf.h 2014-05-07 16:43:50.605106535 +0000 -@@ -23,8 +23,8 @@ +diff --git a/gcc/config/alpha/linux-elf.h b/gcc/config/alpha/linux-elf.h +index a0764d3..02f7a7c 100644 +--- a/gcc/config/alpha/linux-elf.h ++++ b/gcc/config/alpha/linux-elf.h +@@ -23,8 +23,8 @@ along with GCC; see the file COPYING3. If not see #define EXTRA_SPECS \ { "elf_dynamic_linker", ELF_DYNAMIC_LINKER }, @@ -44,10 +44,10 @@ Index: gcc-4.9.0/gcc/config/alpha/linux-elf.h #if DEFAULT_LIBC == LIBC_UCLIBC #define CHOOSE_DYNAMIC_LINKER(G, U) "%{mglibc:" G ";:" U "}" #elif DEFAULT_LIBC == LIBC_GLIBC -Index: gcc-4.9.0/gcc/config/arm/linux-eabi.h -=================================================================== ---- gcc-4.9.0.orig/gcc/config/arm/linux-eabi.h 2014-05-07 16:43:50.609106535 +0000 -+++ gcc-4.9.0/gcc/config/arm/linux-eabi.h 2014-05-07 16:43:50.605106535 +0000 +diff --git a/gcc/config/arm/linux-eabi.h b/gcc/config/arm/linux-eabi.h +index ace8481..4010435 100644 +--- a/gcc/config/arm/linux-eabi.h ++++ b/gcc/config/arm/linux-eabi.h @@ -68,8 +68,8 @@ GLIBC_DYNAMIC_LINKER_DEFAULT and TARGET_DEFAULT_FLOAT_ABI. */ @@ -59,11 +59,11 @@ Index: gcc-4.9.0/gcc/config/arm/linux-eabi.h #define GLIBC_DYNAMIC_LINKER_DEFAULT GLIBC_DYNAMIC_LINKER_SOFT_FLOAT #define GLIBC_DYNAMIC_LINKER \ -Index: gcc-4.9.0/gcc/config/arm/linux-elf.h -=================================================================== ---- gcc-4.9.0.orig/gcc/config/arm/linux-elf.h 2014-05-07 16:43:50.609106535 +0000 -+++ gcc-4.9.0/gcc/config/arm/linux-elf.h 2014-05-07 16:43:50.605106535 +0000 -@@ -57,7 +57,7 @@ +diff --git a/gcc/config/arm/linux-elf.h b/gcc/config/arm/linux-elf.h +index a94bd2d..0220628 100644 +--- a/gcc/config/arm/linux-elf.h ++++ b/gcc/config/arm/linux-elf.h +@@ -62,7 +62,7 @@ #define LIBGCC_SPEC "%{mfloat-abi=soft*:-lfloat} -lgcc" @@ -72,21 +72,24 @@ Index: gcc-4.9.0/gcc/config/arm/linux-elf.h #define LINUX_TARGET_LINK_SPEC "%{h*} \ %{static:-Bstatic} \ -Index: gcc-4.9.0/gcc/config/i386/linux.h -=================================================================== ---- gcc-4.9.0.orig/gcc/config/i386/linux.h 2014-05-07 16:43:50.609106535 +0000 -+++ gcc-4.9.0/gcc/config/i386/linux.h 2014-05-07 16:43:50.605106535 +0000 -@@ -20,4 +20,4 @@ +diff --git a/gcc/config/i386/linux.h b/gcc/config/i386/linux.h +index d37a875..edde586 100644 +--- a/gcc/config/i386/linux.h ++++ b/gcc/config/i386/linux.h +@@ -20,7 +20,7 @@ along with GCC; see the file COPYING3. If not see <http://www.gnu.org/licenses/>. */ #define GNU_USER_LINK_EMULATION "elf_i386" -#define GLIBC_DYNAMIC_LINKER "/lib/ld-linux.so.2" +#define GLIBC_DYNAMIC_LINKER SYSTEMLIBS_DIR "ld-linux.so.2" -Index: gcc-4.9.0/gcc/config/i386/linux64.h -=================================================================== ---- gcc-4.9.0.orig/gcc/config/i386/linux64.h 2014-05-07 16:43:50.609106535 +0000 -+++ gcc-4.9.0/gcc/config/i386/linux64.h 2014-05-07 16:43:50.605106535 +0000 -@@ -27,6 +27,6 @@ + + #undef MUSL_DYNAMIC_LINKER + #define MUSL_DYNAMIC_LINKER "/lib/ld-musl-i386.so.1" +diff --git a/gcc/config/i386/linux64.h b/gcc/config/i386/linux64.h +index 73d22e3..f4b5615 100644 +--- a/gcc/config/i386/linux64.h ++++ b/gcc/config/i386/linux64.h +@@ -27,9 +27,9 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see #define GNU_USER_LINK_EMULATION64 "elf_x86_64" #define GNU_USER_LINK_EMULATIONX32 "elf32_x86_64" @@ -96,26 +99,33 @@ Index: gcc-4.9.0/gcc/config/i386/linux64.h +#define GLIBC_DYNAMIC_LINKER32 SYSTEMLIBS_DIR "ld-linux.so.2" +#define GLIBC_DYNAMIC_LINKER64 SYSTEMLIBS_DIR "ld-linux-x86-64.so.2" +#define GLIBC_DYNAMIC_LINKERX32 SYSTEMLIBS_DIR "ld-linux-x32.so.2" -Index: gcc-4.9.0/gcc/config/mips/linux.h -=================================================================== ---- gcc-4.9.0.orig/gcc/config/mips/linux.h 2014-05-07 16:43:50.609106535 +0000 -+++ gcc-4.9.0/gcc/config/mips/linux.h 2014-05-07 16:43:50.605106535 +0000 -@@ -18,8 +18,8 @@ - <http://www.gnu.org/licenses/>. */ - - #define GLIBC_DYNAMIC_LINKER \ -- "%{mnan=2008:/lib/ld-linux-mipsn8.so.1;:/lib/ld.so.1}" -+ "%{mnan=2008:" SYSTEMLIBS_DIR "ld-linux-mipsn8.so.1;:" SYSTEMLIBS_DIR "ld.so.1}" - #undef UCLIBC_DYNAMIC_LINKER - #define UCLIBC_DYNAMIC_LINKER \ -- "%{mnan=2008:/lib/ld-uClibc-mipsn8.so.0;:/lib/ld-uClibc.so.0}" -+ "%{mnan=2008:" SYSTEMLIBS_DIR "ld-uClibc-mipsn8.so.0;:" SYSTEMLIBS_DIR "ld-uClibc.so.0}" -Index: gcc-4.9.0/gcc/config/mips/linux64.h -=================================================================== ---- gcc-4.9.0.orig/gcc/config/mips/linux64.h 2014-05-07 16:43:50.609106535 +0000 -+++ gcc-4.9.0/gcc/config/mips/linux64.h 2014-05-07 16:43:50.605106535 +0000 -@@ -23,20 +23,20 @@ + #undef MUSL_DYNAMIC_LINKER32 + #define MUSL_DYNAMIC_LINKER32 "/lib/ld-musl-i386.so.1" +diff --git a/gcc/config/linux.h b/gcc/config/linux.h +index 9aeeb94..b055652 100644 +--- a/gcc/config/linux.h ++++ b/gcc/config/linux.h +@@ -81,10 +81,10 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see + GLIBC_DYNAMIC_LINKER must be defined for each target using them, or + GLIBC_DYNAMIC_LINKER32 and GLIBC_DYNAMIC_LINKER64 for targets + supporting both 32-bit and 64-bit compilation. */ +-#define UCLIBC_DYNAMIC_LINKER "/lib/ld-uClibc.so.0" +-#define UCLIBC_DYNAMIC_LINKER32 "/lib/ld-uClibc.so.0" +-#define UCLIBC_DYNAMIC_LINKER64 "/lib/ld64-uClibc.so.0" +-#define UCLIBC_DYNAMIC_LINKERX32 "/lib/ldx32-uClibc.so.0" ++#define UCLIBC_DYNAMIC_LINKER SYSTEMLIBS_DIR "ld-uClibc.so.0" ++#define UCLIBC_DYNAMIC_LINKER32 SYSTEMLIBS_DIR "ld-uClibc.so.0" ++#define UCLIBC_DYNAMIC_LINKER64 SYSTEMLIBS_DIR "ld64-uClibc.so.0" ++#define UCLIBC_DYNAMIC_LINKERX32 SYSTEMLIBS_DIR "ldx32-uClibc.so.0" + #define BIONIC_DYNAMIC_LINKER "/system/bin/linker" + #define BIONIC_DYNAMIC_LINKER32 "/system/bin/linker" + #define BIONIC_DYNAMIC_LINKER64 "/system/bin/linker64" +diff --git a/gcc/config/mips/linux.h b/gcc/config/mips/linux.h +index fa253b6..da02c8d 100644 +--- a/gcc/config/mips/linux.h ++++ b/gcc/config/mips/linux.h +@@ -22,20 +22,20 @@ along with GCC; see the file COPYING3. If not see #define GNU_USER_LINK_EMULATIONN32 "elf32%{EB:b}%{EL:l}tsmipn32" #define GLIBC_DYNAMIC_LINKER32 \ @@ -140,50 +150,62 @@ Index: gcc-4.9.0/gcc/config/mips/linux64.h - "%{mnan=2008:/lib32/ld-uClibc-mipsn8.so.0;:/lib32/ld-uClibc.so.0}" + "%{mnan=2008:" SYSTEMLIBS_DIR "ld-uClibc-mipsn8.so.0;:" SYSTEMLIBS_DIR "ld-uClibc.so.0}" - #define BIONIC_DYNAMIC_LINKERN32 "/system/bin/linker32" - #define GNU_USER_DYNAMIC_LINKERN32 \ -Index: gcc-4.9.0/gcc/config/rs6000/linux64.h -=================================================================== ---- gcc-4.9.0.orig/gcc/config/rs6000/linux64.h 2014-05-07 16:43:50.609106535 +0000 -+++ gcc-4.9.0/gcc/config/rs6000/linux64.h 2014-05-07 16:43:50.605106535 +0000 -@@ -367,14 +367,14 @@ + #undef MUSL_DYNAMIC_LINKER32 + #define MUSL_DYNAMIC_LINKER32 "/lib/ld-musl-mips%{EL:el}%{msoft-float:-sf}.so.1" +diff --git a/gcc/config/rs6000/linux64.h b/gcc/config/rs6000/linux64.h +index fefa0c4..7173938 100644 +--- a/gcc/config/rs6000/linux64.h ++++ b/gcc/config/rs6000/linux64.h +@@ -412,16 +412,11 @@ extern int dot_symbols; #undef LINK_OS_DEFAULT_SPEC #define LINK_OS_DEFAULT_SPEC "%(link_os_linux)" --#define GLIBC_DYNAMIC_LINKER32 "/lib/ld.so.1" +-#define GLIBC_DYNAMIC_LINKER32 "%(dynamic_linker_prefix)/lib/ld.so.1" +- +#define GLIBC_DYNAMIC_LINKER32 SYSTEMLIBS_DIR "ld.so.1" #ifdef LINUX64_DEFAULT_ABI_ELFv2 --#define GLIBC_DYNAMIC_LINKER64 "%{mabi=elfv1:/lib64/ld64.so.1;:/lib64/ld64.so.2}" +-#define GLIBC_DYNAMIC_LINKER64 \ +-"%{mabi=elfv1:%(dynamic_linker_prefix)/lib64/ld64.so.1;" \ +-":%(dynamic_linker_prefix)/lib64/ld64.so.2}" +#define GLIBC_DYNAMIC_LINKER64 "%{mabi=elfv1:" SYSTEMLIBS_DIR "ld64.so.1;:" SYSTEMLIBS_DIR "ld64.so.2}" #else --#define GLIBC_DYNAMIC_LINKER64 "%{mabi=elfv2:/lib64/ld64.so.2;:/lib64/ld64.so.1}" +-#define GLIBC_DYNAMIC_LINKER64 \ +-"%{mabi=elfv2:%(dynamic_linker_prefix)/lib64/ld64.so.2;" \ +-":%(dynamic_linker_prefix)/lib64/ld64.so.1}" +#define GLIBC_DYNAMIC_LINKER64 "%{mabi=elfv2:" SYSTEMLIBS_DIR "ld64.so.2;:" SYSTEMLIBS_DIR "ld64.so.1}" #endif + + #define MUSL_DYNAMIC_LINKER32 \ +@@ -429,8 +424,9 @@ extern int dot_symbols; + #define MUSL_DYNAMIC_LINKER64 \ + "/lib/ld-musl-powerpc64" MUSL_DYNAMIC_LINKER_E "%{msoft-float:-sf}.so.1" + -#define UCLIBC_DYNAMIC_LINKER32 "/lib/ld-uClibc.so.0" -#define UCLIBC_DYNAMIC_LINKER64 "/lib/ld64-uClibc.so.0" +#define UCLIBC_DYNAMIC_LINKER32 SYSTEMLIBS_DIR "ld-uClibc.so.0" +#define UCLIBC_DYNAMIC_LINKER64 SYSTEMLIBS_DIR "ld64-uClibc.so.0" ++ #if DEFAULT_LIBC == LIBC_UCLIBC - #define CHOOSE_DYNAMIC_LINKER(G, U) "%{mglibc:" G ";:" U "}" - #elif DEFAULT_LIBC == LIBC_GLIBC -Index: gcc-4.9.0/gcc/config/sh/linux.h -=================================================================== ---- gcc-4.9.0.orig/gcc/config/sh/linux.h 2014-05-07 16:43:50.609106535 +0000 -+++ gcc-4.9.0/gcc/config/sh/linux.h 2014-05-07 16:43:50.605106535 +0000 -@@ -43,7 +43,7 @@ - - #define TARGET_ASM_FILE_END file_end_indicate_exec_stack + #define CHOOSE_DYNAMIC_LINKER(G, U, M) \ + "%{mglibc:" G ";:%{mmusl:" M ";:" U "}}" +diff --git a/gcc/config/sh/linux.h b/gcc/config/sh/linux.h +index 2a036ac..50fb735 100644 +--- a/gcc/config/sh/linux.h ++++ b/gcc/config/sh/linux.h +@@ -64,7 +64,7 @@ along with GCC; see the file COPYING3. If not see + "/lib/ld-musl-sh" MUSL_DYNAMIC_LINKER_E MUSL_DYNAMIC_LINKER_FP \ + "%{mfdpic:-fdpic}.so.1" -#define GLIBC_DYNAMIC_LINKER "/lib/ld-linux.so.2" +#define GLIBC_DYNAMIC_LINKER SYSTEMLIBS_DIR "ld-linux.so.2" #undef SUBTARGET_LINK_EMUL_SUFFIX - #define SUBTARGET_LINK_EMUL_SUFFIX "_linux" -Index: gcc-4.9.0/gcc/config/sparc/linux.h -=================================================================== ---- gcc-4.9.0.orig/gcc/config/sparc/linux.h 2014-05-07 16:43:50.609106535 +0000 -+++ gcc-4.9.0/gcc/config/sparc/linux.h 2014-05-07 16:43:50.605106535 +0000 -@@ -83,7 +83,7 @@ + #define SUBTARGET_LINK_EMUL_SUFFIX "%{mfdpic:_fd;:_linux}" +diff --git a/gcc/config/sparc/linux.h b/gcc/config/sparc/linux.h +index 9b32577..7bd66de 100644 +--- a/gcc/config/sparc/linux.h ++++ b/gcc/config/sparc/linux.h +@@ -83,7 +83,7 @@ extern const char *host_detect_local_cpu (int argc, const char **argv); When the -shared link option is used a final link is not being done. */ @@ -192,11 +214,11 @@ Index: gcc-4.9.0/gcc/config/sparc/linux.h #undef LINK_SPEC #define LINK_SPEC "-m elf32_sparc %{shared:-shared} \ -Index: gcc-4.9.0/gcc/config/sparc/linux64.h -=================================================================== ---- gcc-4.9.0.orig/gcc/config/sparc/linux64.h 2014-05-07 16:43:50.609106535 +0000 -+++ gcc-4.9.0/gcc/config/sparc/linux64.h 2014-05-07 16:43:50.605106535 +0000 -@@ -92,8 +92,8 @@ +diff --git a/gcc/config/sparc/linux64.h b/gcc/config/sparc/linux64.h +index a1ef325..3bae3d5 100644 +--- a/gcc/config/sparc/linux64.h ++++ b/gcc/config/sparc/linux64.h +@@ -84,8 +84,8 @@ along with GCC; see the file COPYING3. If not see When the -shared link option is used a final link is not being done. */ @@ -207,22 +229,6 @@ Index: gcc-4.9.0/gcc/config/sparc/linux64.h #ifdef SPARC_BI_ARCH -Index: gcc-4.9.0/gcc/config/linux.h -=================================================================== ---- gcc-4.9.0.orig/gcc/config/linux.h 2014-05-07 16:43:50.609106535 +0000 -+++ gcc-4.9.0/gcc/config/linux.h 2014-05-07 16:43:50.605106535 +0000 -@@ -73,10 +73,10 @@ - GLIBC_DYNAMIC_LINKER must be defined for each target using them, or - GLIBC_DYNAMIC_LINKER32 and GLIBC_DYNAMIC_LINKER64 for targets - supporting both 32-bit and 64-bit compilation. */ --#define UCLIBC_DYNAMIC_LINKER "/lib/ld-uClibc.so.0" --#define UCLIBC_DYNAMIC_LINKER32 "/lib/ld-uClibc.so.0" --#define UCLIBC_DYNAMIC_LINKER64 "/lib/ld64-uClibc.so.0" --#define UCLIBC_DYNAMIC_LINKERX32 "/lib/ldx32-uClibc.so.0" -+#define UCLIBC_DYNAMIC_LINKER SYSTEMLIBS_DIR "ld-uClibc.so.0" -+#define UCLIBC_DYNAMIC_LINKER32 SYSTEMLIBS_DIR "ld-uClibc.so.0" -+#define UCLIBC_DYNAMIC_LINKER64 SYSTEMLIBS_DIR "ld64-uClibc.so.0" -+#define UCLIBC_DYNAMIC_LINKERX32 SYSTEMLIBS_DIR "ldx32-uClibc.so.0" - #define BIONIC_DYNAMIC_LINKER "/system/bin/linker" - #define BIONIC_DYNAMIC_LINKER32 "/system/bin/linker" - #define BIONIC_DYNAMIC_LINKER64 "/system/bin/linker64" +-- +2.8.2 + diff --git a/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-4.9/0030-gcc-Fix-argument-list-too-long-error.patch b/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-6.2/0022-gcc-Fix-argument-list-too-long-error.patch index 2ceaff64f..fab6e4aeb 100644 --- a/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-4.9/0030-gcc-Fix-argument-list-too-long-error.patch +++ b/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-6.2/0022-gcc-Fix-argument-list-too-long-error.patch @@ -1,7 +1,7 @@ -From c1816c160156f99c34e6a0a0311bb0219326804e Mon Sep 17 00:00:00 2001 +From acce5157f6b3a1dc9a3676b7118ac887dc5693be Mon Sep 17 00:00:00 2001 From: Khem Raj <raj.khem@gmail.com> Date: Fri, 29 Mar 2013 09:26:37 +0400 -Subject: [PATCH 30/35] gcc: Fix argument list too long error. +Subject: [PATCH 22/46] gcc: Fix argument list too long error. There would be an "Argument list too long" error when the build directory is longer than 200, this is caused by: @@ -19,22 +19,22 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com> Upstream-Status: Pending --- - gcc/Makefile.in | 2 +- + gcc/Makefile.in | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gcc/Makefile.in b/gcc/Makefile.in -index 2320497..8562a62 100644 +index 9a1d466..450cb79 100644 --- a/gcc/Makefile.in +++ b/gcc/Makefile.in -@@ -4627,7 +4627,7 @@ install-plugin: installdirs lang.install-plugin s-header-vars install-gengtype +@@ -3349,7 +3349,7 @@ install-plugin: installdirs lang.install-plugin s-header-vars install-gengtype # We keep the directory structure for files in config or c-family and .def # files. All other files are flattened to a single directory. $(mkinstalldirs) $(DESTDIR)$(plugin_includedir) -- headers=`echo $(PLUGIN_HEADERS) | tr ' ' '\012' | sort -u`; \ -+ headers="$(sort $(PLUGIN_HEADERS))"; \ +- headers=`echo $(PLUGIN_HEADERS) $$(cd $(srcdir); echo *.h *.def) | tr ' ' '\012' | sort -u`; \ ++ headers="$(sort $(PLUGIN_HEADERS) $$(cd $(srcdir); echo *.h *.def))"; \ srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'`; \ for file in $$headers; do \ if [ -f $$file ] ; then \ -- -1.7.10.4 +2.8.2 diff --git a/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-4.9/0031-Disable-sdt.patch b/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-6.2/0023-Disable-sdt.patch index 2c1d5e086..0efd890aa 100644 --- a/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-4.9/0031-Disable-sdt.patch +++ b/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-6.2/0023-Disable-sdt.patch @@ -1,7 +1,7 @@ -From b85265bc94ec1beaf1d3b697c03db62991553467 Mon Sep 17 00:00:00 2001 +From 6573aec00ada35c48c1838c8491ce8f7798ae993 Mon Sep 17 00:00:00 2001 From: Khem Raj <raj.khem@gmail.com> Date: Fri, 29 Mar 2013 09:28:10 +0400 -Subject: [PATCH 31/35] Disable sdt. +Subject: [PATCH 23/46] Disable sdt. We don't list dtrace in DEPENDS so we shouldn't be depending on this header. It may or may not exist from preivous builds though. To be determinstic, disable @@ -25,10 +25,10 @@ Upstream-Status: Inappropriate [hack] 4 files changed, 19 insertions(+), 19 deletions(-) diff --git a/gcc/configure b/gcc/configure -index 3c550a6..01c7626 100755 +index 389b6d5..73c264d 100755 --- a/gcc/configure +++ b/gcc/configure -@@ -26812,12 +26812,12 @@ fi +@@ -28528,12 +28528,12 @@ fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking sys/sdt.h in the target C library" >&5 $as_echo_n "checking sys/sdt.h in the target C library... " >&6; } have_sys_sdt_h=no @@ -48,11 +48,11 @@ index 3c550a6..01c7626 100755 $as_echo "$have_sys_sdt_h" >&6; } diff --git a/gcc/configure.ac b/gcc/configure.ac -index 3601ab6..06e501f 100644 +index 91ac800..cecf121 100644 --- a/gcc/configure.ac +++ b/gcc/configure.ac -@@ -4779,15 +4779,15 @@ if test x$gcc_cv_libc_provides_ssp = xyes; then - fi +@@ -5514,15 +5514,15 @@ fi + AC_SUBST([enable_default_ssp]) # Test for <sys/sdt.h> on the target. -GCC_TARGET_TEMPLATE([HAVE_SYS_SDT_H]) @@ -77,10 +77,10 @@ index 3601ab6..06e501f 100644 # Check if TFmode long double should be used by default or not. # Some glibc targets used DFmode long double, but with glibc 2.4 diff --git a/libstdc++-v3/configure b/libstdc++-v3/configure -index 4953c9f..53a1145 100755 +index 8a5481c..6a40e92 100755 --- a/libstdc++-v3/configure +++ b/libstdc++-v3/configure -@@ -20578,11 +20578,11 @@ ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +@@ -21735,11 +21735,11 @@ ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu @@ -96,10 +96,10 @@ index 4953c9f..53a1145 100755 $as_echo "$glibcxx_cv_sys_sdt_h" >&6; } diff --git a/libstdc++-v3/configure.ac b/libstdc++-v3/configure.ac -index 73d430a..f2135e2 100644 +index 9e19e99..0077ffd 100644 --- a/libstdc++-v3/configure.ac +++ b/libstdc++-v3/configure.ac -@@ -211,7 +211,7 @@ GLIBCXX_CHECK_SC_NPROCESSORS_ONLN +@@ -230,7 +230,7 @@ GLIBCXX_CHECK_SC_NPROCESSORS_ONLN GLIBCXX_CHECK_SC_NPROC_ONLN GLIBCXX_CHECK_PTHREADS_NUM_PROCESSORS_NP GLIBCXX_CHECK_SYSCTL_HW_NCPU @@ -109,5 +109,5 @@ index 73d430a..f2135e2 100644 # Check for available headers. AC_CHECK_HEADERS([endian.h execinfo.h float.h fp.h ieeefp.h inttypes.h \ -- -1.8.3.1 +2.8.2 diff --git a/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-4.9/0032-libtool.patch b/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-6.2/0024-libtool.patch index 3b3d1b621..1f73b5db5 100644 --- a/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-4.9/0032-libtool.patch +++ b/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-6.2/0024-libtool.patch @@ -1,7 +1,7 @@ -From 6c715fcfa262adadca81c68a1f3f69aa3187a501 Mon Sep 17 00:00:00 2001 +From 6c0aa5c2538829248547197718037ff0b9788676 Mon Sep 17 00:00:00 2001 From: Khem Raj <raj.khem@gmail.com> Date: Fri, 29 Mar 2013 09:29:11 +0400 -Subject: [PATCH 32/35] libtool +Subject: [PATCH 24/46] libtool libstdc++ from gcc-runtime gets created with -rpath=/usr/lib/../lib for qemux86-64 when running on am x86_64 build host. @@ -19,11 +19,11 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com> Upstream-Status: Pending --- - ltmain.sh | 4 ++++ + ltmain.sh | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/ltmain.sh b/ltmain.sh -index a03433f..46f47c2 100644 +index 9503ec8..0121fba 100644 --- a/ltmain.sh +++ b/ltmain.sh @@ -6359,6 +6359,10 @@ func_mode_link () @@ -38,5 +38,5 @@ index a03433f..46f47c2 100644 oldlibs= if test -z "$rpath"; then -- -1.7.10.4 +2.8.2 diff --git a/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-4.9/0033-gcc-armv4-pass-fix-v4bx-to-linker-to-support-EABI.patch b/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-6.2/0025-gcc-armv4-pass-fix-v4bx-to-linker-to-support-EABI.patch index b236c37a5..3b7ee497f 100644 --- a/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-4.9/0033-gcc-armv4-pass-fix-v4bx-to-linker-to-support-EABI.patch +++ b/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-6.2/0025-gcc-armv4-pass-fix-v4bx-to-linker-to-support-EABI.patch @@ -1,7 +1,7 @@ -From 97e4591c20310425e7aca0e6712a8d9480e7744c Mon Sep 17 00:00:00 2001 +From b1263a48553ce75f8c3bed4fe12122af57845567 Mon Sep 17 00:00:00 2001 From: Khem Raj <raj.khem@gmail.com> Date: Fri, 29 Mar 2013 09:30:32 +0400 -Subject: [PATCH 33/35] gcc: armv4: pass fix-v4bx to linker to support EABI. +Subject: [PATCH 25/46] gcc: armv4: pass fix-v4bx to linker to support EABI. The LINK_SPEC for linux gets overwritten by linux-eabi.h which means the value of TARGET_FIX_V4BX_SPEC gets lost and as a result @@ -15,16 +15,16 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com> Upstream-Status: Pending --- - gcc/config/arm/linux-eabi.h | 6 +++++- + gcc/config/arm/linux-eabi.h | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) -Index: gcc-4.9-20140316/gcc/config/arm/linux-eabi.h -=================================================================== ---- gcc-4.9-20140316.orig/gcc/config/arm/linux-eabi.h -+++ gcc-4.9-20140316/gcc/config/arm/linux-eabi.h -@@ -77,10 +77,14 @@ - %{mfloat-abi=soft*:" GLIBC_DYNAMIC_LINKER_SOFT_FLOAT "} \ - %{!mfloat-abi=*:" GLIBC_DYNAMIC_LINKER_DEFAULT "}" +diff --git a/gcc/config/arm/linux-eabi.h b/gcc/config/arm/linux-eabi.h +index 4010435..aaea1c9 100644 +--- a/gcc/config/arm/linux-eabi.h ++++ b/gcc/config/arm/linux-eabi.h +@@ -94,10 +94,14 @@ + #define MUSL_DYNAMIC_LINKER \ + "/lib/ld-musl-arm" MUSL_DYNAMIC_LINKER_E "%{mfloat-abi=hard:hf}.so.1" +/* For armv4 we pass --fix-v4bx to linker to support EABI */ +#undef TARGET_FIX_V4BX_SPEC @@ -38,3 +38,6 @@ Index: gcc-4.9-20140316/gcc/config/arm/linux-eabi.h LINUX_OR_ANDROID_LD (LINUX_TARGET_LINK_SPEC, \ LINUX_TARGET_LINK_SPEC " " ANDROID_LINK_SPEC) +-- +2.8.2 + diff --git a/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-4.9/0034-Use-the-multilib-config-files-from-B-instead-of-usin.patch b/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-6.2/0026-Use-the-multilib-config-files-from-B-instead-of-usin.patch index 66b9f89a1..be25be616 100644 --- a/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-4.9/0034-Use-the-multilib-config-files-from-B-instead-of-usin.patch +++ b/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-6.2/0026-Use-the-multilib-config-files-from-B-instead-of-usin.patch @@ -1,7 +1,7 @@ -From fc5e4beaea856a2b486c770ad3addc0f5bb3100e Mon Sep 17 00:00:00 2001 +From b5c305fc251299f2e328410b18cfb55c75b5f038 Mon Sep 17 00:00:00 2001 From: Khem Raj <raj.khem@gmail.com> Date: Fri, 29 Mar 2013 09:33:04 +0400 -Subject: [PATCH 34/35] Use the multilib config files from ${B} instead of +Subject: [PATCH 26/46] Use the multilib config files from ${B} instead of using the ones from ${S} Use the multilib config files from ${B} instead of using the ones from ${S} @@ -13,15 +13,15 @@ Signed-off-by: Constantin Musca <constantinx.musca@intel.com> Upstream-Status: Inappropriate [configuration] --- - gcc/configure | 22 ++++++++++++++++++---- - gcc/configure.ac | 22 ++++++++++++++++++---- + gcc/configure | 22 ++++++++++++++++++---- + gcc/configure.ac | 22 ++++++++++++++++++---- 2 files changed, 36 insertions(+), 8 deletions(-) diff --git a/gcc/configure b/gcc/configure -index 8bc0c98..3cd0817 100755 +index 73c264d..377253e 100755 --- a/gcc/configure +++ b/gcc/configure -@@ -11519,10 +11519,20 @@ done +@@ -12110,10 +12110,20 @@ done tmake_file_= for f in ${tmake_file} do @@ -46,7 +46,7 @@ index 8bc0c98..3cd0817 100755 done tmake_file="${tmake_file_}" -@@ -11533,6 +11543,10 @@ tm_file_list="options.h" +@@ -12124,6 +12134,10 @@ tm_file_list="options.h" tm_include_list="options.h insn-constants.h" for f in $tm_file; do case $f in @@ -58,10 +58,10 @@ index 8bc0c98..3cd0817 100755 f=`echo $f | sed 's/^..//'` tm_file_list="${tm_file_list} $f" diff --git a/gcc/configure.ac b/gcc/configure.ac -index 5e5e84f..415a6df 100644 +index cecf121..54e7619 100644 --- a/gcc/configure.ac +++ b/gcc/configure.ac -@@ -1700,10 +1700,20 @@ done +@@ -1863,10 +1863,20 @@ done tmake_file_= for f in ${tmake_file} do @@ -86,7 +86,7 @@ index 5e5e84f..415a6df 100644 done tmake_file="${tmake_file_}" -@@ -1714,6 +1724,10 @@ tm_file_list="options.h" +@@ -1877,6 +1887,10 @@ tm_file_list="options.h" tm_include_list="options.h insn-constants.h" for f in $tm_file; do case $f in @@ -98,5 +98,5 @@ index 5e5e84f..415a6df 100644 f=`echo $f | sed 's/^..//'` tm_file_list="${tm_file_list} $f" -- -1.7.10.4 +2.8.2 diff --git a/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-4.9/0041-libtool-avoid-libdir.patch b/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-6.2/0027-Avoid-using-libdir-from-.la-which-usually-points-to-.patch index 2dd9610a2..d1bbebc0a 100644 --- a/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-4.9/0041-libtool-avoid-libdir.patch +++ b/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-6.2/0027-Avoid-using-libdir-from-.la-which-usually-points-to-.patch @@ -1,10 +1,19 @@ -Avoid using libdir from .la which usually points to a host path +From eb6178b7fb466ae429c56380c6dbc564a16d900a Mon Sep 17 00:00:00 2001 +From: Khem Raj <raj.khem@gmail.com> +Date: Fri, 20 Feb 2015 09:39:38 +0000 +Subject: [PATCH 27/46] Avoid using libdir from .la which usually points to a + host path Upstream-Status: Inappropriate [embedded specific] + Signed-off-by: Jonathan Liu <net147@gmail.com> +Signed-off-by: Khem Raj <raj.khem@gmail.com> +--- + ltmain.sh | 3 +++ + 1 file changed, 3 insertions(+) diff --git a/ltmain.sh b/ltmain.sh -index a03433f..1902a90 100644 +index 0121fba..52bdbdb 100644 --- a/ltmain.sh +++ b/ltmain.sh @@ -5628,6 +5628,9 @@ func_mode_link () @@ -17,3 +26,6 @@ index a03433f..1902a90 100644 dir="$libdir" absdir="$libdir" fi +-- +2.8.2 + diff --git a/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-6.2/0028-export-CPP.patch b/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-6.2/0028-export-CPP.patch new file mode 100644 index 000000000..c21253938 --- /dev/null +++ b/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-6.2/0028-export-CPP.patch @@ -0,0 +1,53 @@ +From 617184f35e97934d9e6268e71378574e2b776c2b Mon Sep 17 00:00:00 2001 +From: Khem Raj <raj.khem@gmail.com> +Date: Fri, 20 Feb 2015 09:40:59 +0000 +Subject: [PATCH 28/46] export CPP + +The OE environment sets and exports CPP as being the target gcc. When +building gcc-cross-canadian for a mingw targetted sdk, the following can be found +in build.x86_64-pokysdk-mingw32.i586-poky-linux/build-x86_64-linux/libiberty/config.log: + +configure:3641: checking for _FILE_OFFSET_BITS value needed for large files +configure:3666: gcc -c -isystem/media/build1/poky/build/tmp/sysroots/x86_64-linux/usr/include -O2 -pipe conftest.c >&5 +configure:3666: $? = 0 +configure:3698: result: no +configure:3786: checking how to run the C preprocessor +configure:3856: result: x86_64-pokysdk-mingw32-gcc -E --sysroot=/media/build1/poky/build/tmp/sysroots/x86_64-nativesdk-mingw32-pokysdk-mingw32 +configure:3876: x86_64-pokysdk-mingw32-gcc -E --sysroot=/media/build1/poky/build/tmp/sysroots/x86_64-nativesdk-mingw32-pokysdk-mingw32 conftest.c +configure:3876: $? = 0 + +Note this is a *build* target (in build-x86_64-linux) so it should be +using the host "gcc", not x86_64-pokysdk-mingw32-gcc. Since the mingw32 +headers are very different, using the wrong cpp is a real problem. It is leaking +into configure through the CPP variable. Ultimately this leads to build +failures related to not being able to include a process.h file for pem-unix.c. + +The fix is to ensure we export a sane CPP value into the build +environment when using build targets. We could define a CPP_FOR_BUILD value which may be +the version which needs to be upstreamed but for now, this fix is good enough to +avoid the problem. + +RP 22/08/2013 + +Upstream-Status: Pending + +Signed-off-by: Khem Raj <raj.khem@gmail.com> +--- + Makefile.in | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/Makefile.in b/Makefile.in +index 1522e39..beb9b9a 100644 +--- a/Makefile.in ++++ b/Makefile.in +@@ -149,6 +149,7 @@ BUILD_EXPORTS = \ + AR="$(AR_FOR_BUILD)"; export AR; \ + AS="$(AS_FOR_BUILD)"; export AS; \ + CC="$(CC_FOR_BUILD)"; export CC; \ ++ CPP="$(CC_FOR_BUILD) -E"; export CPP; \ + CFLAGS="$(CFLAGS_FOR_BUILD)"; export CFLAGS; \ + CONFIG_SHELL="$(SHELL)"; export CONFIG_SHELL; \ + CXX="$(CXX_FOR_BUILD)"; export CXX; \ +-- +2.8.2 + diff --git a/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-6.2/0029-Enable-SPE-AltiVec-generation-on-powepc-linux-target.patch b/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-6.2/0029-Enable-SPE-AltiVec-generation-on-powepc-linux-target.patch new file mode 100644 index 000000000..47b9c0d1b --- /dev/null +++ b/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-6.2/0029-Enable-SPE-AltiVec-generation-on-powepc-linux-target.patch @@ -0,0 +1,56 @@ +From e140700976e3b7eb4250b1ffde9bc16494456903 Mon Sep 17 00:00:00 2001 +From: Alexandru-Cezar Sardan <alexandru.sardan@freescale.com> +Date: Wed, 5 Feb 2014 16:52:31 +0200 +Subject: [PATCH 29/46] Enable SPE & AltiVec generation on powepc*linux target + +When is configured with --target=powerpc-linux, the resulting GCC will +not be able to generate code for SPE targets (e500v1/v2). +GCC configured with --target=powerpc-linuxspe will not be able to +generate AltiVec instructions (for e6500). +This patch modifies the configured file such that SPE or AltiVec code +can be generated when gcc is configured with --target=powerpc-linux. +The ABI and speciffic instructions can be selected through the +"-mabi=spe or -mabi=altivec" and the "-mspe or -maltivec" parameters. + +Upstream-Status: Inappropriate [configuration] + +Signed-off-by: Alexandru-Cezar Sardan <alexandru.sardan@freescale.com> +--- + gcc/config.gcc | 9 ++++++++- + gcc/config/rs6000/linuxspe.h | 3 --- + 2 files changed, 8 insertions(+), 4 deletions(-) + +diff --git a/gcc/config.gcc b/gcc/config.gcc +index 9c6d156..18cff5a 100644 +--- a/gcc/config.gcc ++++ b/gcc/config.gcc +@@ -2392,7 +2392,14 @@ powerpc-*-rtems*) + tmake_file="${tmake_file} rs6000/t-fprules rs6000/t-rtems rs6000/t-ppccomm" + ;; + powerpc*-*-linux*) +- tm_file="${tm_file} dbxelf.h elfos.h gnu-user.h freebsd-spec.h rs6000/sysv4.h" ++ case ${target} in ++ powerpc*-*-linux*spe* | powerpc*-*-linux*altivec*) ++ tm_file="${tm_file} dbxelf.h elfos.h gnu-user.h freebsd-spec.h rs6000/sysv4.h" ++ ;; ++ *) ++ tm_file="${tm_file} dbxelf.h elfos.h gnu-user.h freebsd-spec.h rs6000/sysv4.h rs6000/linuxaltivec.h rs6000/linuxspe.h rs6000/e500.h" ++ ;; ++ esac + extra_options="${extra_options} rs6000/sysv4.opt" + tmake_file="${tmake_file} rs6000/t-fprules rs6000/t-ppccomm" + extra_objs="$extra_objs rs6000-linux.o" +diff --git a/gcc/config/rs6000/linuxspe.h b/gcc/config/rs6000/linuxspe.h +index 35623cd..f74e00d 100644 +--- a/gcc/config/rs6000/linuxspe.h ++++ b/gcc/config/rs6000/linuxspe.h +@@ -27,6 +27,3 @@ + #undef TARGET_DEFAULT + #define TARGET_DEFAULT MASK_STRICT_ALIGN + #endif +- +-#undef ASM_DEFAULT_SPEC +-#define ASM_DEFAULT_SPEC "-mppc -mspe -me500" +-- +2.8.2 + diff --git a/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-6.2/0030-Disable-the-MULTILIB_OSDIRNAMES-and-other-multilib-o.patch b/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-6.2/0030-Disable-the-MULTILIB_OSDIRNAMES-and-other-multilib-o.patch new file mode 100644 index 000000000..c09d0192e --- /dev/null +++ b/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-6.2/0030-Disable-the-MULTILIB_OSDIRNAMES-and-other-multilib-o.patch @@ -0,0 +1,42 @@ +From 0ddcb95a86830766fd02122f19384fc929b377c5 Mon Sep 17 00:00:00 2001 +From: Khem Raj <raj.khem@gmail.com> +Date: Fri, 20 Feb 2015 10:21:55 +0000 +Subject: [PATCH 30/46] Disable the MULTILIB_OSDIRNAMES and other multilib + options. + +Hard coding the MULTILIB_OSDIRNAMES with ../lib64 is causing problems on +systems where the libdir is NOT set to /lib64. This is allowed by the +ABI, as +long as the dynamic loader is present in /lib. + +We simply want to use the default rules in gcc to find and configure the +normal libdir. + +Upstream-Status: Inappropriate[OE-Specific] + +Signed-off-by: Mark Hatle <mark.hatle@windriver.com> +Signed-off-by: Khem Raj <raj.khem@gmail.com> +--- + gcc/config/aarch64/t-aarch64-linux | 8 ++++---- + 1 file changed, 4 insertions(+), 4 deletions(-) + +diff --git a/gcc/config/aarch64/t-aarch64-linux b/gcc/config/aarch64/t-aarch64-linux +index 1cfe9f3..d688ac9 100644 +--- a/gcc/config/aarch64/t-aarch64-linux ++++ b/gcc/config/aarch64/t-aarch64-linux +@@ -21,8 +21,8 @@ + LIB1ASMSRC = aarch64/lib1funcs.asm + LIB1ASMFUNCS = _aarch64_sync_cache_range + +-AARCH_BE = $(if $(findstring TARGET_BIG_ENDIAN_DEFAULT=1, $(tm_defines)),_be) +-MULTILIB_OSDIRNAMES = mabi.lp64=../lib64$(call if_multiarch,:aarch64$(AARCH_BE)-linux-gnu) +-MULTIARCH_DIRNAME = $(call if_multiarch,aarch64$(AARCH_BE)-linux-gnu) ++#AARCH_BE = $(if $(findstring TARGET_BIG_ENDIAN_DEFAULT=1, $(tm_defines)),_be) ++#MULTILIB_OSDIRNAMES = mabi.lp64=../lib64$(call if_multiarch,:aarch64$(AARCH_BE)-linux-gnu) ++#MULTIARCH_DIRNAME = $(call if_multiarch,aarch64$(AARCH_BE)-linux-gnu) + +-MULTILIB_OSDIRNAMES += mabi.ilp32=../libilp32 ++#MULTILIB_OSDIRNAMES += mabi.ilp32=../libilp32 +-- +2.8.2 + diff --git a/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-4.9/0061-target-gcc-includedir.patch b/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-6.2/0031-Ensure-target-gcc-headers-can-be-included.patch index f48c66dca..fb1cd0f16 100644 --- a/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-4.9/0061-target-gcc-includedir.patch +++ b/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-6.2/0031-Ensure-target-gcc-headers-can-be-included.patch @@ -1,4 +1,7 @@ -Ensure target gcc headers can be included +From fc6621435a64a9d69aa251b70361da94cf2db6be Mon Sep 17 00:00:00 2001 +From: Khem Raj <raj.khem@gmail.com> +Date: Fri, 20 Feb 2015 10:25:11 +0000 +Subject: [PATCH 31/46] Ensure target gcc headers can be included There are a few headers installed as part of the OpenEmbedded gcc-runtime target (omp.h, ssp/*.h). Being installed from a recipe @@ -8,21 +11,30 @@ found by gcc with the existing search paths. Add support for picking up these headers under the sysroot supplied on the gcc command line in order to resolve this. -Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> - Upstream-Status: Pending ---- a/gcc/Makefile.in 2014-12-23 11:57:33.327873331 +0000 -+++ b/gcc/Makefile.in 2015-01-21 11:32:35.447305394 +0000 -@@ -587,6 +587,7 @@ +Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> +Signed-off-by: Khem Raj <raj.khem@gmail.com> +--- + gcc/Makefile.in | 2 ++ + gcc/cppdefault.c | 4 ++++ + gcc/defaults.h | 9 +++++++++ + gcc/gcc.c | 7 ------- + 4 files changed, 15 insertions(+), 7 deletions(-) + +diff --git a/gcc/Makefile.in b/gcc/Makefile.in +index 450cb79..cc75536 100644 +--- a/gcc/Makefile.in ++++ b/gcc/Makefile.in +@@ -593,6 +593,7 @@ libexecdir = @libexecdir@ # Directory in which the compiler finds libraries etc. - libsubdir = $(libdir)/gcc/$(target_noncanonical)/$(version) + libsubdir = $(libdir)/gcc/$(real_target_noncanonical)/$(version)$(accel_dir_suffix) +libsubdir_target = gcc/$(target_noncanonical)/$(version) # Directory in which the compiler finds executables - libexecsubdir = $(libexecdir)/gcc/$(target_noncanonical)/$(version) + libexecsubdir = $(libexecdir)/gcc/$(real_target_noncanonical)/$(version)$(accel_dir_suffix) # Directory in which all plugin resources are installed -@@ -2534,6 +2535,7 @@ +@@ -2688,6 +2689,7 @@ CFLAGS-intl.o += -DLOCALEDIR=\"$(localedir)\" PREPROCESSOR_DEFINES = \ -DGCC_INCLUDE_DIR=\"$(libsubdir)/include\" \ @@ -30,9 +42,11 @@ Upstream-Status: Pending -DFIXED_INCLUDE_DIR=\"$(libsubdir)/include-fixed\" \ -DGPLUSPLUS_INCLUDE_DIR=\"$(gcc_gxx_include_dir)\" \ -DGPLUSPLUS_INCLUDE_DIR_ADD_SYSROOT=$(gcc_gxx_include_dir_add_sysroot) \ ---- a/gcc/cppdefault.c 2015-01-13 17:40:26.131012725 +0000 -+++ b/gcc/cppdefault.c 2015-01-21 11:30:08.928426492 +0000 -@@ -59,6 +59,10 @@ +diff --git a/gcc/cppdefault.c b/gcc/cppdefault.c +index 54aaf06..7b4dd51 100644 +--- a/gcc/cppdefault.c ++++ b/gcc/cppdefault.c +@@ -59,6 +59,10 @@ const struct default_include cpp_include_defaults[] /* This is the dir for gcc's private headers. */ { GCC_INCLUDE_DIR, "GCC", 0, 0, 0, 0 }, #endif @@ -44,12 +58,12 @@ Upstream-Status: Pending /* /usr/local/include comes before the fixincluded header files. */ { LOCAL_INCLUDE_DIR, 0, 0, 1, 1, 2 }, diff --git a/gcc/defaults.h b/gcc/defaults.h -index f94ae17..d98b40b 100644 +index 3e18338..0f317f2 100644 --- a/gcc/defaults.h +++ b/gcc/defaults.h -@@ -1390,4 +1390,13 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see - - #endif /* GCC_INSN_FLAGS_H */ +@@ -1492,4 +1492,13 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see + #define DWARF_GNAT_ENCODINGS_DEFAULT DWARF_GNAT_ENCODINGS_GDB + #endif +/* Default prefixes to attach to command names. */ + @@ -62,10 +76,10 @@ index f94ae17..d98b40b 100644 + #endif /* ! GCC_DEFAULTS_H */ diff --git a/gcc/gcc.c b/gcc/gcc.c -index 9f0b781..174fca8 100644 +index 04fa81d..9750cc2 100644 --- a/gcc/gcc.c +++ b/gcc/gcc.c -@@ -1189,13 +1189,6 @@ static const char *gcc_libexec_prefix; +@@ -1450,13 +1450,6 @@ static const char *gcc_libexec_prefix; /* Default prefixes to attach to command names. */ @@ -79,3 +93,6 @@ index 9f0b781..174fca8 100644 #ifdef CROSS_DIRECTORY_STRUCTURE /* Don't use these prefixes for a cross compiler. */ #undef MD_EXEC_PREFIX #undef MD_STARTFILE_PREFIX +-- +2.8.2 + diff --git a/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-6.2/0032-gcc-4.8-won-t-build-with-disable-dependency-tracking.patch b/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-6.2/0032-gcc-4.8-won-t-build-with-disable-dependency-tracking.patch new file mode 100644 index 000000000..c0b001db5 --- /dev/null +++ b/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-6.2/0032-gcc-4.8-won-t-build-with-disable-dependency-tracking.patch @@ -0,0 +1,54 @@ +From ff939c5063d8f8d444bdb25651a0a48e608efaa4 Mon Sep 17 00:00:00 2001 +From: Khem Raj <raj.khem@gmail.com> +Date: Fri, 20 Feb 2015 11:17:19 +0000 +Subject: [PATCH 32/46] gcc 4.8+ won't build with --disable-dependency-tracking + +since the *.Ppo files don't get created unless --enable-dependency-tracking is true. + +This patch ensures we only use those compiler options when its enabled. + +Upstream-Status: Submitted + +(Problem was already reported upstream, attached this patch there +http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55930) + +RP +2012/09/22 + +Signed-off-by: Khem Raj <raj.khem@gmail.com> +--- + libatomic/Makefile.am | 3 ++- + libatomic/Makefile.in | 3 ++- + 2 files changed, 4 insertions(+), 2 deletions(-) + +diff --git a/libatomic/Makefile.am b/libatomic/Makefile.am +index b351244..399ce18 100644 +--- a/libatomic/Makefile.am ++++ b/libatomic/Makefile.am +@@ -101,7 +101,8 @@ PAT_S = $(word 3,$(PAT_SPLIT)) + IFUNC_DEF = -DIFUNC_ALT=$(PAT_S) + IFUNC_OPT = $(word $(PAT_S),$(IFUNC_OPTIONS)) + +-M_DEPS = -MT $@ -MD -MP -MF $(DEPDIR)/$(@F).Ppo ++@AMDEP_TRUE@M_DEPS = -MT $@ -MD -MP -MF $(DEPDIR)/$(@F).Ppo ++@AMDEP_FALSE@M_DEPS = + M_SIZE = -DN=$(PAT_N) + M_IFUNC = $(if $(PAT_S),$(IFUNC_DEF) $(IFUNC_OPT)) + M_FILE = $(PAT_BASE)_n.c +diff --git a/libatomic/Makefile.in b/libatomic/Makefile.in +index a083d87..a92cfce 100644 +--- a/libatomic/Makefile.in ++++ b/libatomic/Makefile.in +@@ -330,7 +330,8 @@ PAT_N = $(word 2,$(PAT_SPLIT)) + PAT_S = $(word 3,$(PAT_SPLIT)) + IFUNC_DEF = -DIFUNC_ALT=$(PAT_S) + IFUNC_OPT = $(word $(PAT_S),$(IFUNC_OPTIONS)) +-M_DEPS = -MT $@ -MD -MP -MF $(DEPDIR)/$(@F).Ppo ++@AMDEP_TRUE@M_DEPS = -MT $@ -MD -MP -MF $(DEPDIR)/$(@F).Ppo ++@AMDEP_FALSE@M_DEPS = + M_SIZE = -DN=$(PAT_N) + M_IFUNC = $(if $(PAT_S),$(IFUNC_DEF) $(IFUNC_OPT)) + M_FILE = $(PAT_BASE)_n.c +-- +2.8.2 + diff --git a/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-6.2/0033-Don-t-search-host-directory-during-relink-if-inst_pr.patch b/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-6.2/0033-Don-t-search-host-directory-during-relink-if-inst_pr.patch new file mode 100644 index 000000000..e425d7146 --- /dev/null +++ b/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-6.2/0033-Don-t-search-host-directory-during-relink-if-inst_pr.patch @@ -0,0 +1,38 @@ +From 5092f5389d02e78cd59690cf3fca24b56a97aff2 Mon Sep 17 00:00:00 2001 +From: Khem Raj <raj.khem@gmail.com> +Date: Tue, 3 Mar 2015 08:21:19 +0000 +Subject: [PATCH 33/46] Don't search host directory during "relink" if + $inst_prefix is provided + +http://lists.gnu.org/archive/html/libtool-patches/2011-01/msg00026.html + +Upstream-Status: Submitted + +Signed-off-by: Khem Raj <raj.khem@gmail.com> +--- + ltmain.sh | 5 +++-- + 1 file changed, 3 insertions(+), 2 deletions(-) + +diff --git a/ltmain.sh b/ltmain.sh +index 52bdbdb..82bcec3 100644 +--- a/ltmain.sh ++++ b/ltmain.sh +@@ -6004,12 +6004,13 @@ func_mode_link () + fi + else + # We cannot seem to hardcode it, guess we'll fake it. ++ # Default if $libdir is not relative to the prefix: + add_dir="-L$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" ++ add_dir="-L$inst_prefix_dir$libdir" + ;; + esac + fi +-- +2.8.2 + diff --git a/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-6.2/0034-Use-SYSTEMLIBS_DIR-replacement-instead-of-hardcoding.patch b/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-6.2/0034-Use-SYSTEMLIBS_DIR-replacement-instead-of-hardcoding.patch new file mode 100644 index 000000000..922a8555b --- /dev/null +++ b/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-6.2/0034-Use-SYSTEMLIBS_DIR-replacement-instead-of-hardcoding.patch @@ -0,0 +1,29 @@ +From 1faa6f69f93bb95af2b2b2bd24e181b50fb5b37c Mon Sep 17 00:00:00 2001 +From: Khem Raj <raj.khem@gmail.com> +Date: Tue, 28 Apr 2015 23:15:27 -0700 +Subject: [PATCH 34/46] Use SYSTEMLIBS_DIR replacement instead of hardcoding + base_libdir + +Signed-off-by: Khem Raj <raj.khem@gmail.com> +--- +Upstream-Status: Inappropriate [OE Configuration] + + gcc/config/aarch64/aarch64-linux.h | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/gcc/config/aarch64/aarch64-linux.h b/gcc/config/aarch64/aarch64-linux.h +index 5fcaa59..8588ac0 100644 +--- a/gcc/config/aarch64/aarch64-linux.h ++++ b/gcc/config/aarch64/aarch64-linux.h +@@ -21,7 +21,7 @@ + #ifndef GCC_AARCH64_LINUX_H + #define GCC_AARCH64_LINUX_H + +-#define GLIBC_DYNAMIC_LINKER "/lib/ld-linux-aarch64%{mbig-endian:_be}%{mabi=ilp32:_ilp32}.so.1" ++#define GLIBC_DYNAMIC_LINKER SYSTEMLIBS_DIR "ld-linux-aarch64%{mbig-endian:_be}%{mabi=ilp32:_ilp32}.so.1" + + #undef MUSL_DYNAMIC_LINKER + #define MUSL_DYNAMIC_LINKER "/lib/ld-musl-aarch64%{mbig-endian:_be}%{mabi=ilp32:_ilp32}.so.1" +-- +2.8.2 + diff --git a/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-6.2/0035-aarch64-Add-support-for-musl-ldso.patch b/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-6.2/0035-aarch64-Add-support-for-musl-ldso.patch new file mode 100644 index 000000000..9dfc47276 --- /dev/null +++ b/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-6.2/0035-aarch64-Add-support-for-musl-ldso.patch @@ -0,0 +1,28 @@ +From 3768468c1a6cc170fff88c03b808c975ac653811 Mon Sep 17 00:00:00 2001 +From: Khem Raj <raj.khem@gmail.com> +Date: Tue, 28 Apr 2015 23:18:39 -0700 +Subject: [PATCH 35/46] aarch64: Add support for musl ldso + +Signed-off-by: Khem Raj <raj.khem@gmail.com> +--- +Upstream-Status: Inappropriate [OE Configuration] + + gcc/config/aarch64/aarch64-linux.h | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/gcc/config/aarch64/aarch64-linux.h b/gcc/config/aarch64/aarch64-linux.h +index 8588ac0..946b3ca 100644 +--- a/gcc/config/aarch64/aarch64-linux.h ++++ b/gcc/config/aarch64/aarch64-linux.h +@@ -24,7 +24,7 @@ + #define GLIBC_DYNAMIC_LINKER SYSTEMLIBS_DIR "ld-linux-aarch64%{mbig-endian:_be}%{mabi=ilp32:_ilp32}.so.1" + + #undef MUSL_DYNAMIC_LINKER +-#define MUSL_DYNAMIC_LINKER "/lib/ld-musl-aarch64%{mbig-endian:_be}%{mabi=ilp32:_ilp32}.so.1" ++#define MUSL_DYNAMIC_LINKER SYSTEMLIBS_DIR "ld-musl-aarch64%{mbig-endian:_be}%{mabi=ilp32:_ilp32}.so.1" + + #undef ASAN_CC1_SPEC + #define ASAN_CC1_SPEC "%{%:sanitize(address):-funwind-tables}" +-- +2.8.2 + diff --git a/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-6.2/0036-libcc1-fix-libcc1-s-install-path-and-rpath.patch b/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-6.2/0036-libcc1-fix-libcc1-s-install-path-and-rpath.patch new file mode 100644 index 000000000..f89a8860f --- /dev/null +++ b/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-6.2/0036-libcc1-fix-libcc1-s-install-path-and-rpath.patch @@ -0,0 +1,54 @@ +From f4d3c8e970d42a43cd3d2f751e13324efa936ff8 Mon Sep 17 00:00:00 2001 +From: Robert Yang <liezhi.yang@windriver.com> +Date: Sun, 5 Jul 2015 20:25:18 -0700 +Subject: [PATCH 36/46] libcc1: fix libcc1's install path and rpath + +* Install libcc1.so and libcc1plugin.so into + $(libexecdir)/gcc/$(target_noncanonical)/$(gcc_version), as what we + had done to lto-plugin. +* Fix bad RPATH iussue: + gcc-5.2.0: package gcc-plugins contains bad RPATH /patht/to/tmp/sysroots/qemux86-64/usr/lib64/../lib64 in file + /path/to/gcc/5.2.0-r0/packages-split/gcc-plugins/usr/lib64/gcc/x86_64-poky-linux/5.2.0/plugin/libcc1plugin.so.0.0.0 + [rpaths] + +Upstream-Status: Inappropriate [OE configuration] + +Signed-off-by: Robert Yang <liezhi.yang@windriver.com> +--- + libcc1/Makefile.am | 4 ++-- + libcc1/Makefile.in | 4 ++-- + 2 files changed, 4 insertions(+), 4 deletions(-) + +diff --git a/libcc1/Makefile.am b/libcc1/Makefile.am +index b40820b..32930c5 100644 +--- a/libcc1/Makefile.am ++++ b/libcc1/Makefile.am +@@ -35,8 +35,8 @@ libiberty = $(if $(wildcard $(libiberty_noasan)),$(Wc)$(libiberty_noasan), \ + $(Wc)$(libiberty_normal))) + libiberty_dep = $(patsubst $(Wc)%,%,$(libiberty)) + +-plugindir = $(libdir)/gcc/$(target_noncanonical)/$(gcc_version)/plugin +-cc1libdir = $(libdir)/$(libsuffix) ++cc1libdir = $(libexecdir)/gcc/$(target_noncanonical)/$(gcc_version) ++plugindir = $(cc1libdir) + + if ENABLE_PLUGIN + plugin_LTLIBRARIES = libcc1plugin.la +diff --git a/libcc1/Makefile.in b/libcc1/Makefile.in +index 79d39d3..227ec22 100644 +--- a/libcc1/Makefile.in ++++ b/libcc1/Makefile.in +@@ -291,8 +291,8 @@ libiberty = $(if $(wildcard $(libiberty_noasan)),$(Wc)$(libiberty_noasan), \ + $(Wc)$(libiberty_normal))) + + libiberty_dep = $(patsubst $(Wc)%,%,$(libiberty)) +-plugindir = $(libdir)/gcc/$(target_noncanonical)/$(gcc_version)/plugin +-cc1libdir = $(libdir)/$(libsuffix) ++cc1libdir = $(libexecdir)/gcc/$(target_noncanonical)/$(gcc_version) ++plugindir = $(cc1libdir) + @ENABLE_PLUGIN_TRUE@plugin_LTLIBRARIES = libcc1plugin.la + @ENABLE_PLUGIN_TRUE@cc1lib_LTLIBRARIES = libcc1.la + BUILT_SOURCES = compiler-name.h +-- +2.8.2 + diff --git a/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-4.9/0063-nativesdk-gcc-support.patch b/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-6.2/0037-handle-sysroot-support-for-nativesdk-gcc.patch index f9efa4537..15efcb12e 100644 --- a/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-4.9/0063-nativesdk-gcc-support.patch +++ b/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-6.2/0037-handle-sysroot-support-for-nativesdk-gcc.patch @@ -1,3 +1,8 @@ +From 1475b941d7a9c9874b0fb0558d01805945467331 Mon Sep 17 00:00:00 2001 +From: Khem Raj <raj.khem@gmail.com> +Date: Mon, 7 Dec 2015 23:39:54 +0000 +Subject: [PATCH 37/46] handle sysroot support for nativesdk-gcc + Being able to build a nativesdk gcc is useful, particularly in cases where the host compiler may be of an incompatible version (or a 32 bit compiler is needed). @@ -17,69 +22,16 @@ b) Add other paths which need relocation into a .gccrelocprefix section Upstream-Status: Inappropriate RP 2015/7/28 -diff --git a/gcc/gcc.c b/gcc/gcc.c -index 5fd3d0a..2de29aa 100644 ---- a/gcc/gcc.c -+++ b/gcc/gcc.c -@@ -120,6 +120,8 @@ static const char *target_system_root = TARGET_SYSTEM_ROOT; - #else - static const char *target_system_root = 0; - #endif -+ -+static char target_relocatable_prefix[4096] __attribute__ ((section (".gccrelocprefix"))) = SYSTEMLIBS_DIR; - - /* Nonzero means pass the updated target_system_root to the compiler. */ - -@@ -384,6 +386,7 @@ or with constant text in a single argument. - %G process LIBGCC_SPEC as a spec. - %R Output the concatenation of target_system_root and - target_sysroot_suffix. -+ %r Output the base path target_relocatable_prefix - %S process STARTFILE_SPEC as a spec. A capital S is actually used here. - %E process ENDFILE_SPEC as a spec. A capital E is actually used here. - %C process CPP_SPEC as a spec. -@@ -1218,10 +1221,10 @@ static const char *gcc_libexec_prefix; - gcc_exec_prefix is set because, in that case, we know where the - compiler has been installed, and use paths relative to that - location instead. */ --static const char *const standard_exec_prefix = STANDARD_EXEC_PREFIX; --static const char *const standard_libexec_prefix = STANDARD_LIBEXEC_PREFIX; --static const char *const standard_bindir_prefix = STANDARD_BINDIR_PREFIX; --static const char *const standard_startfile_prefix = STANDARD_STARTFILE_PREFIX; -+static char standard_exec_prefix[4096] __attribute__ ((section (".gccrelocprefix"))) = STANDARD_EXEC_PREFIX; -+static char standard_libexec_prefix[4096] __attribute__ ((section (".gccrelocprefix"))) = STANDARD_LIBEXEC_PREFIX; -+static char standard_bindir_prefix[4096] __attribute__ ((section (".gccrelocprefix"))) = STANDARD_BINDIR_PREFIX; -+static char *const standard_startfile_prefix = STANDARD_STARTFILE_PREFIX; - - /* For native compilers, these are well-known paths containing - components that may be provided by the system. For cross -@@ -1229,9 +1232,9 @@ static const char *const standard_startfile_prefix = STANDARD_STARTFILE_PREFIX; - static const char *md_exec_prefix = MD_EXEC_PREFIX; - static const char *md_startfile_prefix = MD_STARTFILE_PREFIX; - static const char *md_startfile_prefix_1 = MD_STARTFILE_PREFIX_1; --static const char *const standard_startfile_prefix_1 -+static char standard_startfile_prefix_1[4096] __attribute__ ((section (".gccrelocprefix"))) - = STANDARD_STARTFILE_PREFIX_1; --static const char *const standard_startfile_prefix_2 -+static char standard_startfile_prefix_2[4096] __attribute__ ((section (".gccrelocprefix"))) - = STANDARD_STARTFILE_PREFIX_2; - - /* A relative path to be used in finding the location of tools -@@ -5305,6 +5308,11 @@ do_spec_1 (const char *spec, int inswitch, const char *soft_matched_part) - } - break; - -+ case 'r': -+ obstack_grow (&obstack, target_relocatable_prefix, -+ strlen (target_relocatable_prefix)); -+ break; -+ - case 'S': - value = do_spec_1 (startfile_spec, 0, NULL); - if (value != 0) + +Signed-off-by: Khem Raj <raj.khem@gmail.com> +--- + gcc/cppdefault.c | 50 +++++++++++++++++++++++++++++++++++++------------- + gcc/cppdefault.h | 3 ++- + gcc/gcc.c | 20 ++++++++++++++------ + 3 files changed, 53 insertions(+), 20 deletions(-) diff --git a/gcc/cppdefault.c b/gcc/cppdefault.c -index dad69e6..cf43f28 100644 +index 7b4dd51..9d1166c 100644 --- a/gcc/cppdefault.c +++ b/gcc/cppdefault.c @@ -35,6 +35,30 @@ @@ -183,7 +135,7 @@ index dad69e6..cf43f28 100644 { 0, 0, 0, 0, 0, 0 } }; diff --git a/gcc/cppdefault.h b/gcc/cppdefault.h -index 30b6fed..2ef96b7 100644 +index 8a81b45..9759efd 100644 --- a/gcc/cppdefault.h +++ b/gcc/cppdefault.h @@ -33,7 +33,8 @@ @@ -196,3 +148,66 @@ index 30b6fed..2ef96b7 100644 const char *const component; /* The component containing the directory (see update_path in prefix.c) */ const char cplusplus; /* Only look here if we're compiling C++. */ +diff --git a/gcc/gcc.c b/gcc/gcc.c +index 9750cc2..94c240e 100644 +--- a/gcc/gcc.c ++++ b/gcc/gcc.c +@@ -247,6 +247,8 @@ FILE *report_times_to_file = NULL; + #endif + static const char *target_system_root = DEFAULT_TARGET_SYSTEM_ROOT; + ++static char target_relocatable_prefix[4096] __attribute__ ((section (".gccrelocprefix"))) = SYSTEMLIBS_DIR; ++ + /* Nonzero means pass the updated target_system_root to the compiler. */ + + static int target_system_root_changed; +@@ -517,6 +519,7 @@ or with constant text in a single argument. + %G process LIBGCC_SPEC as a spec. + %R Output the concatenation of target_system_root and + target_sysroot_suffix. ++ %r Output the base path target_relocatable_prefix + %S process STARTFILE_SPEC as a spec. A capital S is actually used here. + %E process ENDFILE_SPEC as a spec. A capital E is actually used here. + %C process CPP_SPEC as a spec. +@@ -1473,10 +1476,10 @@ static const char *gcc_libexec_prefix; + gcc_exec_prefix is set because, in that case, we know where the + compiler has been installed, and use paths relative to that + location instead. */ +-static const char *const standard_exec_prefix = STANDARD_EXEC_PREFIX; +-static const char *const standard_libexec_prefix = STANDARD_LIBEXEC_PREFIX; +-static const char *const standard_bindir_prefix = STANDARD_BINDIR_PREFIX; +-static const char *const standard_startfile_prefix = STANDARD_STARTFILE_PREFIX; ++static char standard_exec_prefix[4096] __attribute__ ((section (".gccrelocprefix"))) = STANDARD_EXEC_PREFIX; ++static char standard_libexec_prefix[4096] __attribute__ ((section (".gccrelocprefix"))) = STANDARD_LIBEXEC_PREFIX; ++static char standard_bindir_prefix[4096] __attribute__ ((section (".gccrelocprefix"))) = STANDARD_BINDIR_PREFIX; ++static char *const standard_startfile_prefix = STANDARD_STARTFILE_PREFIX; + + /* For native compilers, these are well-known paths containing + components that may be provided by the system. For cross +@@ -1484,9 +1487,9 @@ static const char *const standard_startfile_prefix = STANDARD_STARTFILE_PREFIX; + static const char *md_exec_prefix = MD_EXEC_PREFIX; + static const char *md_startfile_prefix = MD_STARTFILE_PREFIX; + static const char *md_startfile_prefix_1 = MD_STARTFILE_PREFIX_1; +-static const char *const standard_startfile_prefix_1 ++static char standard_startfile_prefix_1[4096] __attribute__ ((section (".gccrelocprefix"))) + = STANDARD_STARTFILE_PREFIX_1; +-static const char *const standard_startfile_prefix_2 ++static char standard_startfile_prefix_2[4096] __attribute__ ((section (".gccrelocprefix"))) + = STANDARD_STARTFILE_PREFIX_2; + + /* A relative path to be used in finding the location of tools +@@ -5762,6 +5765,11 @@ do_spec_1 (const char *spec, int inswitch, const char *soft_matched_part) + } + break; + ++ case 'r': ++ obstack_grow (&obstack, target_relocatable_prefix, ++ strlen (target_relocatable_prefix)); ++ break; ++ + case 'S': + value = do_spec_1 (startfile_spec, 0, NULL); + if (value != 0) +-- +2.8.2 + diff --git a/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-4.9/0064-handle-target-sysroot-multilib.patch b/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-6.2/0038-Search-target-sysroot-gcc-version-specific-dirs-with.patch index 53569847f..89ee79db8 100644 --- a/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-4.9/0064-handle-target-sysroot-multilib.patch +++ b/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-6.2/0038-Search-target-sysroot-gcc-version-specific-dirs-with.patch @@ -1,18 +1,24 @@ -Search target sysroot gcc version specific dirs with multilib. +From 42e4cdcaad590536246866b0846ec279e124fa16 Mon Sep 17 00:00:00 2001 +From: Khem Raj <raj.khem@gmail.com> +Date: Mon, 7 Dec 2015 23:41:45 +0000 +Subject: [PATCH 38/46] Search target sysroot gcc version specific dirs with + multilib. We install the gcc libraries (such as crtbegin.p) into <sysroot><libdir>/<target-sys>/5.2.0/ -which is a default search path for GCC (aka multi_suffix in the +which is a default search path for GCC (aka multi_suffix in the code below). <target-sys> is 'machine' in gcc's terminology. We use -these directories so that multiple gcc versions could in theory +these directories so that multiple gcc versions could in theory co-exist on target. -We only want to build one gcc-cross-canadian per arch and have this work +We only want to build one gcc-cross-canadian per arch and have this work for all multilibs. <target-sys> can be handled by mapping the multilib -<target-sys> to the one used by gcc-cross-canadian, e.g. mips64-polkmllib32-linux +<target-sys> to the one used by gcc-cross-canadian, e.g. +mips64-polkmllib32-linux is symlinked to by mips64-poky-linux. -The default gcc search path in the target sysroot for a "lib64" mutlilib is: +The default gcc search path in the target sysroot for a "lib64" mutlilib +is: <sysroot>/lib32/mips64-poky-linux/5.2.0/ <sysroot>/lib32/../lib64/ @@ -39,11 +45,16 @@ binaries can be found first. With this change the search path becomes: Upstream-Status: Pending RP 2015/7/31 -Index: gcc-5.2.0/gcc/gcc.c -=================================================================== ---- gcc-5.2.0.orig/gcc/gcc.c -+++ gcc-5.2.0/gcc/gcc.c -@@ -2305,7 +2305,7 @@ for_each_path (const struct path_prefix +Signed-off-by: Khem Raj <raj.khem@gmail.com> +--- + gcc/gcc.c | 29 ++++++++++++++++++++++++++++- + 1 file changed, 28 insertions(+), 1 deletion(-) + +diff --git a/gcc/gcc.c b/gcc/gcc.c +index 94c240e..2812819 100644 +--- a/gcc/gcc.c ++++ b/gcc/gcc.c +@@ -2507,7 +2507,7 @@ for_each_path (const struct path_prefix *paths, if (path == NULL) { len = paths->max_len + extra_space + 1; @@ -52,7 +63,7 @@ Index: gcc-5.2.0/gcc/gcc.c path = XNEWVEC (char, len); } -@@ -2317,6 +2317,33 @@ for_each_path (const struct path_prefix +@@ -2519,6 +2519,33 @@ for_each_path (const struct path_prefix *paths, /* Look first in MACHINE/VERSION subdirectory. */ if (!skip_multi_dir) { @@ -86,3 +97,6 @@ Index: gcc-5.2.0/gcc/gcc.c memcpy (path + len, multi_suffix, suffix_len + 1); ret = callback (path, callback_info); if (ret) +-- +2.8.2 + diff --git a/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-4.9/0066-cxxflags-for-build.patch b/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-6.2/0039-Fix-various-_FOR_BUILD-and-related-variables.patch index 1105e29f6..0ce7aec79 100644 --- a/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-4.9/0066-cxxflags-for-build.patch +++ b/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-6.2/0039-Fix-various-_FOR_BUILD-and-related-variables.patch @@ -1,4 +1,7 @@ -Fix various _FOR_BUILD and related variables +From 9ced49e459ccf1887feb58adf1e8836dcb4b1bdf Mon Sep 17 00:00:00 2001 +From: Khem Raj <raj.khem@gmail.com> +Date: Mon, 7 Dec 2015 23:42:45 +0000 +Subject: [PATCH 39/46] Fix various _FOR_BUILD and related variables When doing a FOR_BUILD thing, you have to override CFLAGS with CFLAGS_FOR_BUILD. And if you use C++, you also have to override @@ -13,9 +16,17 @@ Upstream-Status: Pending Signed-off-by: Peter Seebach <peter.seebach@windriver.com> Signed-off-by: Mark Hatle <mark.hatle@windriver.com> +Signed-off-by: Khem Raj <raj.khem@gmail.com> +--- + Makefile.in | 6 ++++++ + Makefile.tpl | 5 +++++ + gcc/Makefile.in | 2 +- + gcc/configure | 2 +- + gcc/configure.ac | 2 +- + 5 files changed, 14 insertions(+), 3 deletions(-) diff --git a/Makefile.in b/Makefile.in -index 9370174..011c29a 100644 +index beb9b9a..3e1c6bc 100644 --- a/Makefile.in +++ b/Makefile.in @@ -152,6 +152,7 @@ BUILD_EXPORTS = \ @@ -44,7 +55,7 @@ index 9370174..011c29a 100644 ADA_CFLAGS="$(ADA_CFLAGS)"; export ADA_CFLAGS; \ CFLAGS="$(CFLAGS)"; export CFLAGS; \ CONFIG_SHELL="$(SHELL)"; export CONFIG_SHELL; \ -@@ -711,6 +715,7 @@ BASE_FLAGS_TO_PASS = \ +@@ -713,6 +718,7 @@ BASE_FLAGS_TO_PASS = \ "CC_FOR_BUILD=$(CC_FOR_BUILD)" \ "CFLAGS_FOR_BUILD=$(CFLAGS_FOR_BUILD)" \ "CXX_FOR_BUILD=$(CXX_FOR_BUILD)" \ @@ -53,7 +64,7 @@ index 9370174..011c29a 100644 "FLEX=$(FLEX)" \ "INSTALL=$(INSTALL)" \ diff --git a/Makefile.tpl b/Makefile.tpl -index 1ea1954..78a59c3 100644 +index 6b2eb6a..114e462 100644 --- a/Makefile.tpl +++ b/Makefile.tpl @@ -154,6 +154,7 @@ BUILD_EXPORTS = \ @@ -83,12 +94,12 @@ index 1ea1954..78a59c3 100644 CFLAGS="$(CFLAGS)"; export CFLAGS; \ CONFIG_SHELL="$(SHELL)"; export CONFIG_SHELL; \ diff --git a/gcc/Makefile.in b/gcc/Makefile.in -index cd5bc4a..98ae4f4 100644 +index cc75536..0ad2dc8 100644 --- a/gcc/Makefile.in +++ b/gcc/Makefile.in -@@ -762,7 +762,7 @@ BUILD_LINKERFLAGS = $(BUILD_CXXFLAGS) - # Native linker and preprocessor flags. For x-fragment overrides. - BUILD_LDFLAGS=@BUILD_LDFLAGS@ +@@ -780,7 +780,7 @@ BUILD_LDFLAGS=@BUILD_LDFLAGS@ + BUILD_NO_PIE_FLAG = @BUILD_NO_PIE_FLAG@ + BUILD_LDFLAGS += $(BUILD_NO_PIE_FLAG) BUILD_CPPFLAGS= -I. -I$(@D) -I$(srcdir) -I$(srcdir)/$(@D) \ - -I$(srcdir)/../include @INCINTL@ $(CPPINC) $(CPPFLAGS) + -I$(srcdir)/../include @INCINTL@ $(CPPINC) $(CPPFLAGS_FOR_BUILD) @@ -96,10 +107,10 @@ index cd5bc4a..98ae4f4 100644 # Actual name to use when installing a native compiler. GCC_INSTALL_NAME := $(shell echo gcc|sed '$(program_transform_name)') diff --git a/gcc/configure b/gcc/configure -index c7ac14b..5ac63e4 100755 +index 377253e..78fc64a 100755 --- a/gcc/configure +++ b/gcc/configure -@@ -11521,7 +11521,7 @@ else +@@ -11799,7 +11799,7 @@ else CC="${CC_FOR_BUILD}" CFLAGS="${CFLAGS_FOR_BUILD}" \ CXX="${CXX_FOR_BUILD}" CXXFLAGS="${CXXFLAGS_FOR_BUILD}" \ LD="${LD_FOR_BUILD}" LDFLAGS="${LDFLAGS_FOR_BUILD}" \ @@ -109,10 +120,10 @@ index c7ac14b..5ac63e4 100755 --enable-languages=${enable_languages-all} \ --target=$target_alias --host=$build_alias --build=$build_alias diff --git a/gcc/configure.ac b/gcc/configure.ac -index 50856e6..17a4dfd 100644 +index 54e7619..a94666e 100644 --- a/gcc/configure.ac +++ b/gcc/configure.ac -@@ -1633,7 +1633,7 @@ else +@@ -1682,7 +1682,7 @@ else CC="${CC_FOR_BUILD}" CFLAGS="${CFLAGS_FOR_BUILD}" \ CXX="${CXX_FOR_BUILD}" CXXFLAGS="${CXXFLAGS_FOR_BUILD}" \ LD="${LD_FOR_BUILD}" LDFLAGS="${LDFLAGS_FOR_BUILD}" \ @@ -121,3 +132,6 @@ index 50856e6..17a4dfd 100644 ${realsrcdir}/configure \ --enable-languages=${enable_languages-all} \ --target=$target_alias --host=$build_alias --build=$build_alias +-- +2.8.2 + diff --git a/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-6.2/0040-nios2-Define-MUSL_DYNAMIC_LINKER.patch b/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-6.2/0040-nios2-Define-MUSL_DYNAMIC_LINKER.patch new file mode 100644 index 000000000..c9a6fd0eb --- /dev/null +++ b/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-6.2/0040-nios2-Define-MUSL_DYNAMIC_LINKER.patch @@ -0,0 +1,28 @@ +From b0412c01c275aaeb6b458461cd2425120c8bcec8 Mon Sep 17 00:00:00 2001 +From: Khem Raj <raj.khem@gmail.com> +Date: Tue, 2 Feb 2016 10:26:10 -0800 +Subject: [PATCH 40/46] nios2: Define MUSL_DYNAMIC_LINKER + +Signed-off-by: Marek Vasut <marex@denx.de> +Signed-off-by: Khem Raj <raj.khem@gmail.com> +--- +Upstream-Status: Pending + + gcc/config/nios2/linux.h | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/gcc/config/nios2/linux.h b/gcc/config/nios2/linux.h +index 4ef55b5..62bc1e7 100644 +--- a/gcc/config/nios2/linux.h ++++ b/gcc/config/nios2/linux.h +@@ -30,6 +30,7 @@ + #define CPP_SPEC "%{posix:-D_POSIX_SOURCE} %{pthread:-D_REENTRANT}" + + #define GLIBC_DYNAMIC_LINKER "/lib/ld-linux-nios2.so.1" ++#define MUSL_DYNAMIC_LINKER "/lib/ld-musl-nios2.so.1" + + #undef LINK_SPEC + #define LINK_SPEC LINK_SPEC_ENDIAN \ +-- +2.8.2 + diff --git a/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-6.2/0041-ssp_nonshared.patch b/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-6.2/0041-ssp_nonshared.patch new file mode 100644 index 000000000..074452974 --- /dev/null +++ b/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-6.2/0041-ssp_nonshared.patch @@ -0,0 +1,28 @@ +From 551a5db7acb56e085a101f1c222d51b2c1b039a4 Mon Sep 17 00:00:00 2001 +From: Szabolcs Nagy <nsz@port70.net> +Date: Sat, 7 Nov 2015 14:58:40 +0000 +Subject: [PATCH 41/46] ssp_nonshared + +--- +Upstream-Status: Inappropriate [OE Configuration] + + gcc/gcc.c | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +diff --git a/gcc/gcc.c b/gcc/gcc.c +index 2812819..9de96ee 100644 +--- a/gcc/gcc.c ++++ b/gcc/gcc.c +@@ -863,7 +863,8 @@ proper position among the other output files. */ + #ifndef LINK_SSP_SPEC + #ifdef TARGET_LIBC_PROVIDES_SSP + #define LINK_SSP_SPEC "%{fstack-protector|fstack-protector-all" \ +- "|fstack-protector-strong|fstack-protector-explicit:}" ++ "|fstack-protector-strong|fstack-protector-explicit" \ ++ ":-lssp_nonshared}" + #else + #define LINK_SSP_SPEC "%{fstack-protector|fstack-protector-all" \ + "|fstack-protector-strong|fstack-protector-explicit" \ +-- +2.8.2 + diff --git a/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-4.9/0072-support-ffile-prefix-map.patch b/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-6.2/0042-gcc-libcpp-support-ffile-prefix-map-old-new.patch index 9809a6a22..861f0fd7f 100644 --- a/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-4.9/0072-support-ffile-prefix-map.patch +++ b/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-6.2/0042-gcc-libcpp-support-ffile-prefix-map-old-new.patch @@ -1,7 +1,7 @@ -From e863be798ed13312a0faf0b961275f211a8123ab Mon Sep 17 00:00:00 2001 +From ba738cc411c9a54e389e336bcaa0a2428dd4a9d2 Mon Sep 17 00:00:00 2001 From: Hongxu Jia <hongxu.jia@windriver.com> -Date: Thu, 17 Mar 2016 00:32:17 -0400 -Subject: [PATCH] gcc/libcpp: support -ffile-prefix-map=<old>=<new> +Date: Wed, 16 Mar 2016 02:27:43 -0400 +Subject: [PATCH 42/46] gcc/libcpp: support -ffile-prefix-map=<old>=<new> Similar -fdebug-prefix-map, add option -ffile-prefix-map to map one directory name (old) to another (new) in __FILE__, __BASE_FILE__ and @@ -12,31 +12,38 @@ https://gcc.gnu.org/bugzilla/show_bug.cgi?id=70268 Upstream-Status: Submitted [gcc-patches@gcc.gnu.org] Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com> --- - gcc/c-family/c-opts.c | 6 ++++ + gcc/c-family/c-opts.c | 13 +++++++ gcc/c-family/c.opt | 4 +++ gcc/dwarf2out.c | 1 + - gcc/gimplify.c | 2 ++ + gcc/gimplify.c | 3 ++ libcpp/Makefile.in | 10 +++--- libcpp/file-map.c | 92 +++++++++++++++++++++++++++++++++++++++++++++++ libcpp/include/file-map.h | 30 ++++++++++++++++ libcpp/macro.c | 2 ++ - 8 files changed, 142 insertions(+), 5 deletions(-) + 8 files changed, 150 insertions(+), 5 deletions(-) create mode 100644 libcpp/file-map.c create mode 100644 libcpp/include/file-map.h diff --git a/gcc/c-family/c-opts.c b/gcc/c-family/c-opts.c -index dd5fd23..9c004a1 100644 +index fec58bc..7a0af43 100644 --- a/gcc/c-family/c-opts.c +++ b/gcc/c-family/c-opts.c -@@ -36,6 +36,7 @@ along with GCC; see the file COPYING3. If not see - #include "options.h" +@@ -38,6 +38,14 @@ along with GCC; see the file COPYING3. If not see + #include "opts.h" #include "plugin.h" /* For PLUGIN_INCLUDE_FILE event. */ #include "mkdeps.h" +#include "file-map.h" - #include "c-target.h" - #include "tm.h" /* For BYTES_BIG_ENDIAN, - DOLLARS_IN_IDENTIFIERS, -@@ -553,6 +554,11 @@ c_common_handle_option (size_t scode, const char *arg, int value, ++#include "c-target.h" ++#include "tm.h" /* For BYTES_BIG_ENDIAN, ++ DOLLARS_IN_IDENTIFIERS, ++ STDC_0_IN_SYSTEM_HEADERS, ++ TARGET_FLT_EVAL_METHOD_NON_DEFAULT and ++ TARGET_OPTF. */ ++#include "tm_p.h" /* For C_COMMON_OVERRIDE_OPTIONS. */ + #include "dumpfile.h" + + #ifndef DOLLARS_IN_IDENTIFIERS +@@ -503,6 +511,11 @@ c_common_handle_option (size_t scode, const char *arg, int value, cpp_opts->narrow_charset = arg; break; @@ -49,12 +56,12 @@ index dd5fd23..9c004a1 100644 cpp_opts->wide_charset = arg; break; diff --git a/gcc/c-family/c.opt b/gcc/c-family/c.opt -index f295805..3a99662 100644 +index 660da6c..31f7b34 100644 --- a/gcc/c-family/c.opt +++ b/gcc/c-family/c.opt -@@ -928,6 +928,10 @@ fexec-charset= +@@ -1208,6 +1208,10 @@ fexec-charset= C ObjC C++ ObjC++ Joined RejectNegative - -fexec-charset=<cset> Convert all strings and character constants to character set <cset> + -fexec-charset=<cset> Convert all strings and character constants to character set <cset>. +ffile-prefix-map= +C ObjC C++ ObjC++ Joined RejectNegative @@ -62,12 +69,12 @@ index f295805..3a99662 100644 + fextended-identifiers C ObjC C++ ObjC++ - Permit universal character names (\\u and \\U) in identifiers + Permit universal character names (\\u and \\U) in identifiers. diff --git a/gcc/dwarf2out.c b/gcc/dwarf2out.c -index 99bf6e2..3e58cfd 100644 +index 80f2df5..a2bfcc0 100644 --- a/gcc/dwarf2out.c +++ b/gcc/dwarf2out.c -@@ -19199,6 +19199,7 @@ gen_producer_string (void) +@@ -21672,6 +21672,7 @@ gen_producer_string (void) case OPT_fltrans_output_list_: case OPT_fresolution_: case OPT_fdebug_prefix_map_: @@ -76,27 +83,28 @@ index 99bf6e2..3e58cfd 100644 continue; default: diff --git a/gcc/gimplify.c b/gcc/gimplify.c -index 89e7334..a7a97c0 100644 +index e223e59..1433c25 100644 --- a/gcc/gimplify.c +++ b/gcc/gimplify.c -@@ -59,6 +59,7 @@ along with GCC; see the file COPYING3. If not see - #include "omp-low.h" - #include "gimple-low.h" - #include "cilk.h" +@@ -57,6 +57,8 @@ along with GCC; see the file COPYING3. If not see + #include "gomp-constants.h" + #include "tree-dump.h" + #include "gimple-walk.h" +#include "file-map.h" - ++ #include "langhooks-def.h" /* FIXME: for lhd_set_decl_assembler_name */ - #include "tree-pass.h" /* FIXME: only for PROP_gimple_any */ -@@ -2288,6 +2289,7 @@ gimplify_call_expr (tree *expr_p, gimple_seq *pre_p, bool want_value) + #include "builtins.h" + +@@ -2432,6 +2434,7 @@ gimplify_call_expr (tree *expr_p, gimple_seq *pre_p, bool want_value) case BUILT_IN_FILE: { - expanded_location loc = expand_location (EXPR_LOCATION (*expr_p)); -+ loc.file = remap_file_filename (loc.file); - *expr_p = build_string_literal (strlen (loc.file) + 1, loc.file); + const char *locfile = LOCATION_FILE (EXPR_LOCATION (*expr_p)); ++ locfile = remap_file_filename (locfile); + *expr_p = build_string_literal (strlen (locfile) + 1, locfile); return GS_OK; } diff --git a/libcpp/Makefile.in b/libcpp/Makefile.in -index 5561c97..5017256 100644 +index a7d7828..3d29572 100644 --- a/libcpp/Makefile.in +++ b/libcpp/Makefile.in @@ -84,12 +84,12 @@ DEPMODE = $(CXXDEPMODE) @@ -127,7 +135,7 @@ index 5561c97..5017256 100644 cd $(srcdir) && etags $(TAGS_SOURCES) diff --git a/libcpp/file-map.c b/libcpp/file-map.c new file mode 100644 -index 0000000..04e851b +index 0000000..18035ef --- /dev/null +++ b/libcpp/file-map.c @@ -0,0 +1,92 @@ @@ -225,7 +233,7 @@ index 0000000..04e851b + diff --git a/libcpp/include/file-map.h b/libcpp/include/file-map.h new file mode 100644 -index 0000000..e6f8cbf +index 0000000..8750315 --- /dev/null +++ b/libcpp/include/file-map.h @@ -0,0 +1,30 @@ @@ -260,7 +268,7 @@ index 0000000..e6f8cbf + +#endif /* !LIBCPP_FILE_MAP_H */ diff --git a/libcpp/macro.c b/libcpp/macro.c -index 11e50f4..5c6f90e 100644 +index c251553..3ceec3d 100644 --- a/libcpp/macro.c +++ b/libcpp/macro.c @@ -26,6 +26,7 @@ along with this program; see the file COPYING3. If not see @@ -271,7 +279,7 @@ index 11e50f4..5c6f90e 100644 typedef struct macro_arg macro_arg; /* This structure represents the tokens of a macro argument. These -@@ -288,6 +289,7 @@ _cpp_builtin_macro_text (cpp_reader *pfile, cpp_hashnode *node) +@@ -301,6 +302,7 @@ _cpp_builtin_macro_text (cpp_reader *pfile, cpp_hashnode *node, if (!name) abort (); } @@ -280,5 +288,5 @@ index 11e50f4..5c6f90e 100644 buf = _cpp_unaligned_alloc (pfile, len * 2 + 3); result = buf; -- -1.9.1 +2.8.2 diff --git a/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-4.9/0073-Reuse-fdebug-prefix-map-to-replace-ffile-prefix-map.patch b/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-6.2/0043-Reuse-fdebug-prefix-map-to-replace-ffile-prefix-map.patch index 94e45ed0a..0077f80e4 100644 --- a/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-4.9/0073-Reuse-fdebug-prefix-map-to-replace-ffile-prefix-map.patch +++ b/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-6.2/0043-Reuse-fdebug-prefix-map-to-replace-ffile-prefix-map.patch @@ -1,7 +1,7 @@ -From 5e10baff84038d26dc3d59b2412ba1db92cb8274 Mon Sep 17 00:00:00 2001 +From 25c87c6cc40ec5cc6965f8bfb215bec01abd6d82 Mon Sep 17 00:00:00 2001 From: Hongxu Jia <hongxu.jia@windriver.com> -Date: Thu, 17 Mar 2016 00:34:01 -0400 -Subject: [PATCH 2/2] Reuse -fdebug-prefix-map to replace -ffile-prefix-map +Date: Wed, 16 Mar 2016 05:39:59 -0400 +Subject: [PATCH 43/46] Reuse -fdebug-prefix-map to replace -ffile-prefix-map The oe-core may use external toolchain to compile, which may not support -ffile-prefix-map. @@ -17,18 +17,18 @@ Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com> 1 file changed, 4 insertions(+) diff --git a/gcc/opts-global.c b/gcc/opts-global.c -index 111884b..037f6c8 100644 +index b7e5232..121d7b9 100644 --- a/gcc/opts-global.c +++ b/gcc/opts-global.c -@@ -42,6 +42,7 @@ along with GCC; see the file COPYING3. If not see - #include "toplev.h" - #include "tree-pass.h" - #include "context.h" +@@ -31,6 +31,7 @@ along with GCC; see the file COPYING3. If not see + #include "langhooks.h" + #include "dbgcnt.h" + #include "debug.h" +#include "file-map.h" - - typedef const char *const_char_p; /* For DEF_VEC_P. */ - -@@ -354,6 +355,9 @@ handle_common_deferred_options (void) + #include "output.h" + #include "plugin.h" + #include "toplev.h" +@@ -357,6 +358,9 @@ handle_common_deferred_options (void) case OPT_fdebug_prefix_map_: add_debug_prefix_map (opt->arg); @@ -39,5 +39,5 @@ index 111884b..037f6c8 100644 case OPT_fdump_: -- -1.9.1 +2.8.2 diff --git a/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-4.9/0074-fdebug-prefix-map-support-to-remap-relative-path.patch b/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-6.2/0044-gcc-final.c-fdebug-prefix-map-support-to-remap-sourc.patch index 0b91fdbbc..5d41af44a 100644 --- a/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-4.9/0074-fdebug-prefix-map-support-to-remap-relative-path.patch +++ b/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-6.2/0044-gcc-final.c-fdebug-prefix-map-support-to-remap-sourc.patch @@ -1,8 +1,8 @@ -From 289ad2969a5966c603bf6928ce442db74c4cbb25 Mon Sep 17 00:00:00 2001 +From 6ab23e88aef22bbabee7b9600c459ff39547bb66 Mon Sep 17 00:00:00 2001 From: Hongxu Jia <hongxu.jia@windriver.com> Date: Thu, 24 Mar 2016 11:23:14 -0400 -Subject: [PATCH] gcc/final.c: -fdebug-prefix-map support to remap sources with - relative path +Subject: [PATCH 44/46] gcc/final.c: -fdebug-prefix-map support to remap + sources with relative path PR other/70428 * final.c (remap_debug_filename): Use lrealpath to translate @@ -13,8 +13,11 @@ Upstream-Status: Submitted [gcc-patches@gcc.gnu.org] Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com> --- + gcc/final.c | 15 ++++++++++++--- + 1 file changed, 12 insertions(+), 3 deletions(-) + diff --git a/gcc/final.c b/gcc/final.c -index 55cf509..c3594c2 100644 +index 55cf509..23293e5 100644 --- a/gcc/final.c +++ b/gcc/final.c @@ -1554,16 +1554,25 @@ remap_debug_filename (const char *filename) @@ -47,5 +50,5 @@ index 55cf509..c3594c2 100644 } -- -2.7.4 +2.8.2 diff --git a/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-6.2/0045-libgcc-Add-knob-to-use-ldbl-128-on-ppc.patch b/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-6.2/0045-libgcc-Add-knob-to-use-ldbl-128-on-ppc.patch new file mode 100644 index 000000000..c62b727d6 --- /dev/null +++ b/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-6.2/0045-libgcc-Add-knob-to-use-ldbl-128-on-ppc.patch @@ -0,0 +1,125 @@ +From 5a47d404ea29e2547269e3ddf38754462d93f903 Mon Sep 17 00:00:00 2001 +From: Khem Raj <raj.khem@gmail.com> +Date: Fri, 29 Apr 2016 20:03:28 +0000 +Subject: [PATCH 45/46] libgcc: Add knob to use ldbl-128 on ppc + +musl does not support ldbl 128 so we can not assume +that linux as a whole supports ldbl-128 bits, instead +act upon configure option passed to gcc and assume no +on musl and yes otherwise if no option is passed since +default behaviour is to assume ldbl128 it does not +change the defaults + +Signed-off-by: Khem Raj <raj.khem@gmail.com> +--- +Upstream-Status: Pending + + libgcc/Makefile.in | 1 + + libgcc/config/rs6000/t-linux | 5 ++++- + libgcc/configure | 18 ++++++++++++++++++ + libgcc/configure.ac | 12 ++++++++++++ + 4 files changed, 35 insertions(+), 1 deletion(-) + mode change 100644 => 100755 libgcc/configure + +diff --git a/libgcc/Makefile.in b/libgcc/Makefile.in +index f09b39b..296cf0f 100644 +--- a/libgcc/Makefile.in ++++ b/libgcc/Makefile.in +@@ -43,6 +43,7 @@ enable_vtable_verify = @enable_vtable_verify@ + enable_decimal_float = @enable_decimal_float@ + fixed_point = @fixed_point@ + with_aix_soname = @with_aix_soname@ ++with_ldbl128 = @with_ldbl128@ + + host_noncanonical = @host_noncanonical@ + real_host_noncanonical = @real_host_noncanonical@ +diff --git a/libgcc/config/rs6000/t-linux b/libgcc/config/rs6000/t-linux +index 4f6d4c4..c50dd94 100644 +--- a/libgcc/config/rs6000/t-linux ++++ b/libgcc/config/rs6000/t-linux +@@ -1,3 +1,6 @@ + SHLIB_MAPFILES += $(srcdir)/config/rs6000/libgcc-glibc.ver + +-HOST_LIBGCC2_CFLAGS += -mlong-double-128 -mno-minimal-toc ++ifeq ($(with_ldbl128),yes) ++HOST_LIBGCC2_CFLAGS += -mlong-double-128 ++endif ++HOST_LIBGCC2_CFLAGS += -mno-minimal-toc +diff --git a/libgcc/configure b/libgcc/configure +old mode 100644 +new mode 100755 +index e7d6c75..e9a9019 +--- a/libgcc/configure ++++ b/libgcc/configure +@@ -614,6 +614,7 @@ build_vendor + build_cpu + build + with_aix_soname ++with_ldbl128 + enable_vtable_verify + enable_shared + libgcc_topdir +@@ -663,6 +664,7 @@ with_cross_host + with_ld + enable_shared + enable_vtable_verify ++with_long_double_128 + with_aix_soname + enable_version_specific_runtime_libs + with_slibdir +@@ -1319,6 +1321,7 @@ Optional Packages: + --with-target-subdir=SUBDIR Configuring in a subdirectory for target + --with-cross-host=HOST Configuring with a cross compiler + --with-ld arrange to use the specified ld (full pathname) ++ --with-long-double-128 use 128-bit long double by default + --with-aix-soname=aix|svr4|both + shared library versioning (aka "SONAME") variant to + provide on AIX +@@ -2201,6 +2204,21 @@ fi + + + ++# Check whether --with-long-double-128 was given. ++if test "${with_long_double_128+set}" = set; then : ++ withval=$with_long_double_128; with_ldbl128="$with_long_double_128" ++else ++ case "${host}" in ++ power*-*-musl*) ++ with_ldbl128="no";; ++ *) with_ldbl128="yes";; ++ esac ++ ++fi ++ ++ ++ ++ + # Check whether --with-aix-soname was given. + if test "${with_aix_soname+set}" = set; then : + withval=$with_aix_soname; case "${host}:${enable_shared}" in +diff --git a/libgcc/configure.ac b/libgcc/configure.ac +index 269997f..81dc3ba 100644 +--- a/libgcc/configure.ac ++++ b/libgcc/configure.ac +@@ -77,6 +77,18 @@ AC_ARG_ENABLE(vtable-verify, + [enable_vtable_verify=no]) + AC_SUBST(enable_vtable_verify) + ++AC_ARG_WITH(long-double-128, ++[AS_HELP_STRING([--with-long-double-128], ++ [use 128-bit long double by default])], ++ with_ldbl128="$with_long_double_128", ++[case "${host}" in ++ power*-*-musl*) ++ with_ldbl128="no";; ++ *) with_ldbl128="yes";; ++ esac ++]) ++AC_SUBST(with_ldbl128) ++ + AC_ARG_WITH(aix-soname, + [AS_HELP_STRING([--with-aix-soname=aix|svr4|both], + [shared library versioning (aka "SONAME") variant to provide on AIX])], +-- +2.8.2 + diff --git a/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-6.2/0046-Link-libgcc-using-LDFLAGS-not-just-SHLIB_LDFLAGS.patch b/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-6.2/0046-Link-libgcc-using-LDFLAGS-not-just-SHLIB_LDFLAGS.patch new file mode 100644 index 000000000..390037f7b --- /dev/null +++ b/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-6.2/0046-Link-libgcc-using-LDFLAGS-not-just-SHLIB_LDFLAGS.patch @@ -0,0 +1,29 @@ +From 513bf3c33e2f551f08bd57605091d5ddeba3536b Mon Sep 17 00:00:00 2001 +From: Khem Raj <raj.khem@gmail.com> +Date: Wed, 4 May 2016 21:11:34 -0700 +Subject: [PATCH 46/46] Link libgcc using LDFLAGS, not just SHLIB_LDFLAGS + +Upstream-Status: Pending + +Signed-off-by: Christopher Larson <chris_larson@mentor.com> +Signed-off-by: Khem Raj <raj.khem@gmail.com> +--- + libgcc/config/t-slibgcc | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/libgcc/config/t-slibgcc b/libgcc/config/t-slibgcc +index 8c5f890..29be909 100644 +--- a/libgcc/config/t-slibgcc ++++ b/libgcc/config/t-slibgcc +@@ -32,7 +32,7 @@ SHLIB_INSTALL_SOLINK = $(LN_S) $(SHLIB_SONAME) \ + $(DESTDIR)$(slibdir)$(SHLIB_SLIBDIR_QUAL)/$(SHLIB_SOLINK) + + SHLIB_LINK = $(CC) $(LIBGCC2_CFLAGS) -shared -nodefaultlibs \ +- $(SHLIB_LDFLAGS) \ ++ $(LDFLAGS) $(SHLIB_LDFLAGS) \ + -o $(SHLIB_DIR)/$(SHLIB_SONAME).tmp @multilib_flags@ \ + $(SHLIB_OBJS) $(SHLIB_LC) && \ + rm -f $(SHLIB_DIR)/$(SHLIB_SOLINK) && \ +-- +2.8.2 + diff --git a/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-6.2/0047-libgcc_s-Use-alias-for-__cpu_indicator_init-instead-.patch b/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-6.2/0047-libgcc_s-Use-alias-for-__cpu_indicator_init-instead-.patch new file mode 100644 index 000000000..ed6cd6905 --- /dev/null +++ b/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-6.2/0047-libgcc_s-Use-alias-for-__cpu_indicator_init-instead-.patch @@ -0,0 +1,85 @@ +From 0a9ed0479203cb7e69c3745b0c259007410f39ba Mon Sep 17 00:00:00 2001 +From: Szabolcs Nagy <nsz@port70.net> +Date: Sat, 24 Oct 2015 20:09:53 +0000 +Subject: [PATCH 47/47] libgcc_s: Use alias for __cpu_indicator_init instead of + symver + +Adapter from + +https://gcc.gnu.org/ml/gcc-patches/2015-05/msg00899.html + +This fix was debated but hasnt been applied gcc upstream since +they expect musl to support '@' in symbol versioning which is +a sun/gnu versioning extention. This patch however avoids the +need for the '@' symbols at all + +libgcc/Changelog: + +2015-05-11 Szabolcs Nagy <szabolcs.nagy@arm.com> + + * config/i386/cpuinfo.c (__cpu_indicator_init_local): Add. + (__cpu_indicator_init@GCC_4.8.0, __cpu_model@GCC_4.8.0): Remove. + + * config/i386/t-linux (HOST_LIBGCC2_CFLAGS): Remove -DUSE_ELF_SYMVER. + +gcc/Changelog: + +2015-05-11 Szabolcs Nagy <szabolcs.nagy@arm.com> + + * config/i386/i386.c (ix86_expand_builtin): Make __builtin_cpu_init + call __cpu_indicator_init_local instead of __cpu_indicator_init. + +Signed-off-by: Khem Raj <raj.khem@gmail.com> +--- +Upstream-Status: Rejected + + gcc/config/i386/i386.c | 4 ++-- + libgcc/config/i386/cpuinfo.c | 6 +++--- + libgcc/config/i386/t-linux | 2 +- + 3 files changed, 6 insertions(+), 6 deletions(-) + +diff --git a/gcc/config/i386/i386.c b/gcc/config/i386/i386.c +index 861a029..1c97d72 100644 +--- a/gcc/config/i386/i386.c ++++ b/gcc/config/i386/i386.c +@@ -40323,10 +40323,10 @@ ix86_expand_builtin (tree exp, rtx target, rtx subtarget, + { + case IX86_BUILTIN_CPU_INIT: + { +- /* Make it call __cpu_indicator_init in libgcc. */ ++ /* Make it call __cpu_indicator_init_local in libgcc.a. */ + tree call_expr, fndecl, type; + type = build_function_type_list (integer_type_node, NULL_TREE); +- fndecl = build_fn_decl ("__cpu_indicator_init", type); ++ fndecl = build_fn_decl ("__cpu_indicator_init_local", type); + call_expr = build_call_expr (fndecl, 0); + return expand_expr (call_expr, target, mode, EXPAND_NORMAL); + } +diff --git a/libgcc/config/i386/cpuinfo.c b/libgcc/config/i386/cpuinfo.c +index 8c2248d..6c82f15 100644 +--- a/libgcc/config/i386/cpuinfo.c ++++ b/libgcc/config/i386/cpuinfo.c +@@ -485,7 +485,7 @@ __cpu_indicator_init (void) + return 0; + } + +-#if defined SHARED && defined USE_ELF_SYMVER +-__asm__ (".symver __cpu_indicator_init, __cpu_indicator_init@GCC_4.8.0"); +-__asm__ (".symver __cpu_model, __cpu_model@GCC_4.8.0"); ++#ifndef SHARED ++int __cpu_indicator_init_local (void) ++ __attribute__ ((weak, alias ("__cpu_indicator_init"))); + #endif +diff --git a/libgcc/config/i386/t-linux b/libgcc/config/i386/t-linux +index 11bb46e..4f47f7b 100644 +--- a/libgcc/config/i386/t-linux ++++ b/libgcc/config/i386/t-linux +@@ -3,4 +3,4 @@ + # t-slibgcc-elf-ver and t-linux + SHLIB_MAPFILES = libgcc-std.ver $(srcdir)/config/i386/libgcc-glibc.ver + +-HOST_LIBGCC2_CFLAGS += -mlong-double-80 -DUSE_ELF_SYMVER ++HOST_LIBGCC2_CFLAGS += -mlong-double-80 +-- +2.9.0 + diff --git a/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-6.2/0048-ARM-PR-target-71056-Don-t-use-vectorized-builtins-wh.patch b/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-6.2/0048-ARM-PR-target-71056-Don-t-use-vectorized-builtins-wh.patch new file mode 100644 index 000000000..9c39c7f7a --- /dev/null +++ b/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-6.2/0048-ARM-PR-target-71056-Don-t-use-vectorized-builtins-wh.patch @@ -0,0 +1,92 @@ +From 84d2a5509892b65ed60d39e6e2f9719e3762e40e Mon Sep 17 00:00:00 2001 +From: ktkachov <ktkachov@138bc75d-0d04-0410-961f-82ee72b054a4> +Date: Tue, 31 May 2016 08:29:39 +0000 +Subject: [PATCH] [ARM] PR target/71056: Don't use vectorized builtins when + NEON is not available + + PR target/71056 + * config/arm/arm-builtins.c (arm_builtin_vectorized_function): Return + NULL_TREE early if NEON is not available. Remove now redundant check + in ARM_CHECK_BUILTIN_MODE. + + * gcc.target/arm/pr71056.c: New test. + + + +git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-6-branch@236910 138bc75d-0d04-0410-961f-82ee72b054a4 +--- +Upstream-Status: Backport +Signed-off-by: Khem Raj <raj.khem@gmail.com> + + gcc/ChangeLog | 7 +++++++ + gcc/config/arm/arm-builtins.c | 6 +++++- + gcc/testsuite/ChangeLog | 5 +++++ + gcc/testsuite/gcc.target/arm/pr71056.c | 32 ++++++++++++++++++++++++++++++++ + 4 files changed, 49 insertions(+), 1 deletion(-) + create mode 100644 gcc/testsuite/gcc.target/arm/pr71056.c + +diff --git a/gcc/config/arm/arm-builtins.c b/gcc/config/arm/arm-builtins.c +index 90fb40f..68b2839 100644 +--- a/gcc/config/arm/arm-builtins.c ++++ b/gcc/config/arm/arm-builtins.c +@@ -2861,6 +2861,10 @@ arm_builtin_vectorized_function (unsigned int fn, tree type_out, tree type_in) + int in_n, out_n; + bool out_unsigned_p = TYPE_UNSIGNED (type_out); + ++ /* Can't provide any vectorized builtins when we can't use NEON. */ ++ if (!TARGET_NEON) ++ return NULL_TREE; ++ + if (TREE_CODE (type_out) != VECTOR_TYPE + || TREE_CODE (type_in) != VECTOR_TYPE) + return NULL_TREE; +@@ -2875,7 +2879,7 @@ arm_builtin_vectorized_function (unsigned int fn, tree type_out, tree type_in) + NULL_TREE is returned if no such builtin is available. */ + #undef ARM_CHECK_BUILTIN_MODE + #define ARM_CHECK_BUILTIN_MODE(C) \ +- (TARGET_NEON && TARGET_FPU_ARMV8 \ ++ (TARGET_FPU_ARMV8 \ + && flag_unsafe_math_optimizations \ + && ARM_CHECK_BUILTIN_MODE_1 (C)) + +diff --git a/gcc/testsuite/gcc.target/arm/pr71056.c b/gcc/testsuite/gcc.target/arm/pr71056.c +new file mode 100644 +index 0000000..136754e +--- /dev/null ++++ b/gcc/testsuite/gcc.target/arm/pr71056.c +@@ -0,0 +1,32 @@ ++/* PR target/71056. */ ++/* { dg-do compile } */ ++/* { dg-require-effective-target arm_vfp3_ok } */ ++/* { dg-options "-O3 -mfpu=vfpv3" } */ ++ ++/* Check that compiling for a non-NEON target doesn't try to introduce ++ a NEON vectorized builtin. */ ++ ++extern char *buff; ++int f2 (); ++struct T1 ++{ ++ int reserved[2]; ++ unsigned int ip; ++ unsigned short cs; ++ unsigned short rsrv2; ++}; ++void ++f3 (const char *p) ++{ ++ struct T1 x; ++ __builtin_memcpy (&x, p, sizeof (struct T1)); ++ x.reserved[0] = __builtin_bswap32 (x.reserved[0]); ++ x.reserved[1] = __builtin_bswap32 (x.reserved[1]); ++ x.ip = __builtin_bswap32 (x.ip); ++ x.cs = x.cs << 8 | x.cs >> 8; ++ x.rsrv2 = x.rsrv2 << 8 | x.rsrv2 >> 8; ++ if (f2 ()) ++ { ++ __builtin_memcpy (buff, "\n", 1); ++ } ++} +-- +2.9.0 + diff --git a/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-6.2/CVE-2016-4490.patch b/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-6.2/CVE-2016-4490.patch new file mode 100644 index 000000000..f32e91d4f --- /dev/null +++ b/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-6.2/CVE-2016-4490.patch @@ -0,0 +1,290 @@ +From 7d235b1b5ea35352c54957ef5530d9a02c46962f Mon Sep 17 00:00:00 2001 +From: bernds <bernds@138bc75d-0d04-0410-961f-82ee72b054a4> +Date: Mon, 2 May 2016 17:06:40 +0000 +Subject: [PATCH] =?UTF-8?q?Demangler=20integer=20overflow=20fixes=20from?= + =?UTF-8?q?=20Marcel=20B=C3=B6hme.?= +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + + PR c++/70498 + * cp-demangle.c: Parse numbers as integer instead of long to avoid + overflow after sanity checks. Include <limits.h> if available. + (INT_MAX): Define if necessary. + (d_make_template_param): Takes integer argument instead of long. + (d_make_function_param): Likewise. + (d_append_num): Likewise. + (d_identifier): Likewise. + (d_number): Parse as and return integer. + (d_compact_number): Handle overflow. + (d_source_name): Change variable type to integer for parsed number. + (d_java_resource): Likewise. + (d_special_name): Likewise. + (d_discriminator): Likewise. + (d_unnamed_type): Likewise. + * testsuite/demangle-expected: Add regression test cases. + + + +git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@235767 138bc75d-0d04-0410-961f-82ee72b054a4 + +Upstream-Status: Backport +CVE: CVE-2016-4490 +[Yocto #9632] + +Signed-off-by: Armin Kuster <akuster@mvista.com> + +--- + libiberty/ChangeLog | 19 +++++++++++++ + libiberty/cp-demangle.c | 52 ++++++++++++++++++++--------------- + libiberty/testsuite/demangle-expected | 14 ++++++++-- + 3 files changed, 61 insertions(+), 24 deletions(-) + +Index: git/libiberty/ChangeLog +=================================================================== +--- git.orig/libiberty/ChangeLog ++++ git/libiberty/ChangeLog +@@ -1,3 +1,22 @@ ++2016-05-02 Marcel Böhme <boehme.marcel@gmail.com> ++ ++ PR c++/70498 ++ * cp-demangle.c: Parse numbers as integer instead of long to avoid ++ overflow after sanity checks. Include <limits.h> if available. ++ (INT_MAX): Define if necessary. ++ (d_make_template_param): Takes integer argument instead of long. ++ (d_make_function_param): Likewise. ++ (d_append_num): Likewise. ++ (d_identifier): Likewise. ++ (d_number): Parse as and return integer. ++ (d_compact_number): Handle overflow. ++ (d_source_name): Change variable type to integer for parsed number. ++ (d_java_resource): Likewise. ++ (d_special_name): Likewise. ++ (d_discriminator): Likewise. ++ (d_unnamed_type): Likewise. ++ * testsuite/demangle-expected: Add regression test cases. ++ + 2016-04-27 Release Manager + + * GCC 6.1.0 released. +Index: git/libiberty/cp-demangle.c +=================================================================== +--- git.orig/libiberty/cp-demangle.c ++++ git/libiberty/cp-demangle.c +@@ -128,6 +128,13 @@ extern char *alloca (); + # endif /* alloca */ + #endif /* HAVE_ALLOCA_H */ + ++#ifdef HAVE_LIMITS_H ++#include <limits.h> ++#endif ++#ifndef INT_MAX ++# define INT_MAX (int)(((unsigned int) ~0) >> 1) /* 0x7FFFFFFF */ ++#endif ++ + #include "ansidecl.h" + #include "libiberty.h" + #include "demangle.h" +@@ -398,7 +405,7 @@ d_make_dtor (struct d_info *, enum gnu_v + struct demangle_component *); + + static struct demangle_component * +-d_make_template_param (struct d_info *, long); ++d_make_template_param (struct d_info *, int); + + static struct demangle_component * + d_make_sub (struct d_info *, const char *, int); +@@ -421,9 +428,9 @@ static struct demangle_component *d_unqu + + static struct demangle_component *d_source_name (struct d_info *); + +-static long d_number (struct d_info *); ++static int d_number (struct d_info *); + +-static struct demangle_component *d_identifier (struct d_info *, long); ++static struct demangle_component *d_identifier (struct d_info *, int); + + static struct demangle_component *d_operator_name (struct d_info *); + +@@ -1119,7 +1126,7 @@ d_make_dtor (struct d_info *di, enum gnu + /* Add a new template parameter. */ + + static struct demangle_component * +-d_make_template_param (struct d_info *di, long i) ++d_make_template_param (struct d_info *di, int i) + { + struct demangle_component *p; + +@@ -1135,7 +1142,7 @@ d_make_template_param (struct d_info *di + /* Add a new function parameter. */ + + static struct demangle_component * +-d_make_function_param (struct d_info *di, long i) ++d_make_function_param (struct d_info *di, int i) + { + struct demangle_component *p; + +@@ -1620,7 +1627,7 @@ d_unqualified_name (struct d_info *di) + static struct demangle_component * + d_source_name (struct d_info *di) + { +- long len; ++ int len; + struct demangle_component *ret; + + len = d_number (di); +@@ -1633,12 +1640,12 @@ d_source_name (struct d_info *di) + + /* number ::= [n] <(non-negative decimal integer)> */ + +-static long ++static int + d_number (struct d_info *di) + { + int negative; + char peek; +- long ret; ++ int ret; + + negative = 0; + peek = d_peek_char (di); +@@ -1681,7 +1688,7 @@ d_number_component (struct d_info *di) + /* identifier ::= <(unqualified source code identifier)> */ + + static struct demangle_component * +-d_identifier (struct d_info *di, long len) ++d_identifier (struct d_info *di, int len) + { + const char *name; + +@@ -1702,7 +1709,7 @@ d_identifier (struct d_info *di, long le + /* Look for something which looks like a gcc encoding of an + anonymous namespace, and replace it with a more user friendly + name. */ +- if (len >= (long) ANONYMOUS_NAMESPACE_PREFIX_LEN + 2 ++ if (len >= (int) ANONYMOUS_NAMESPACE_PREFIX_LEN + 2 + && memcmp (name, ANONYMOUS_NAMESPACE_PREFIX, + ANONYMOUS_NAMESPACE_PREFIX_LEN) == 0) + { +@@ -1870,7 +1877,7 @@ d_java_resource (struct d_info *di) + { + struct demangle_component *p = NULL; + struct demangle_component *next = NULL; +- long len, i; ++ int len, i; + char c; + const char *str; + +@@ -2012,7 +2019,7 @@ d_special_name (struct d_info *di) + case 'C': + { + struct demangle_component *derived_type; +- long offset; ++ int offset; + struct demangle_component *base_type; + + derived_type = cplus_demangle_type (di); +@@ -2946,10 +2953,10 @@ d_pointer_to_member_type (struct d_info + + /* <non-negative number> _ */ + +-static long ++static int + d_compact_number (struct d_info *di) + { +- long num; ++ int num; + if (d_peek_char (di) == '_') + num = 0; + else if (d_peek_char (di) == 'n') +@@ -2957,7 +2964,7 @@ d_compact_number (struct d_info *di) + else + num = d_number (di) + 1; + +- if (! d_check_char (di, '_')) ++ if (num < 0 || ! d_check_char (di, '_')) + return -1; + return num; + } +@@ -2969,7 +2976,7 @@ d_compact_number (struct d_info *di) + static struct demangle_component * + d_template_param (struct d_info *di) + { +- long param; ++ int param; + + if (! d_check_char (di, 'T')) + return NULL; +@@ -3171,9 +3178,10 @@ d_expression_1 (struct d_info *di) + } + else + { +- index = d_compact_number (di) + 1; +- if (index == 0) ++ index = d_compact_number (di); ++ if (index == INT_MAX || index == -1) + return NULL; ++ index ++; + } + return d_make_function_param (di, index); + } +@@ -3502,7 +3510,7 @@ d_local_name (struct d_info *di) + static int + d_discriminator (struct d_info *di) + { +- long discrim; ++ int discrim; + + if (d_peek_char (di) != '_') + return 1; +@@ -3558,7 +3566,7 @@ static struct demangle_component * + d_unnamed_type (struct d_info *di) + { + struct demangle_component *ret; +- long num; ++ int num; + + if (! d_check_char (di, 'U')) + return NULL; +@@ -4086,10 +4094,10 @@ d_append_string (struct d_print_info *dp + } + + static inline void +-d_append_num (struct d_print_info *dpi, long l) ++d_append_num (struct d_print_info *dpi, int l) + { + char buf[25]; +- sprintf (buf,"%ld", l); ++ sprintf (buf,"%d", l); + d_append_string (dpi, buf); + } + +Index: git/libiberty/testsuite/demangle-expected +=================================================================== +--- git.orig/libiberty/testsuite/demangle-expected ++++ git/libiberty/testsuite/demangle-expected +@@ -4422,12 +4422,22 @@ void baz<int>(A<sizeof (foo((int)(), (fl + _Z3fooI1FEN1XIXszdtcl1PclcvT__EEE5arrayEE4TypeEv + X<sizeof ((P(((F)())())).array)>::Type foo<F>() + # +-# Tests a use-after-free problem ++# Tests a use-after-free problem PR70481 + + _Q.__0 + ::Q.(void) + # +-# Tests a use-after-free problem ++# Tests a use-after-free problem PR70481 + + _Q10-__9cafebabe. + cafebabe.::-(void) ++# ++# Tests integer overflow problem PR70492 ++ ++__vt_90000000000cafebabe ++__vt_90000000000cafebabe ++# ++# Tests write access violation PR70498 ++ ++_Z80800000000000000000000 ++_Z80800000000000000000000 diff --git a/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-common.inc b/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-common.inc index e4fd4d6f7..f540b4d96 100644 --- a/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-common.inc +++ b/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-common.inc @@ -33,6 +33,8 @@ def get_gcc_ppc_plt_settings(bb, d): def get_long_double_setting(bb, d): if d.getVar('TRANSLATED_TARGET_ARCH', True) in [ 'powerpc', 'powerpc64' ] and d.getVar('TCLIBC', True) in [ 'uclibc', 'glibc' ]: return "--with-long-double-128" + else: + return "--without-long-double-128" return "" def get_gcc_multiarch_setting(bb, d): diff --git a/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-configure-common.inc b/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-configure-common.inc index f4f76bda5..ddebbb841 100644 --- a/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-configure-common.inc +++ b/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-configure-common.inc @@ -44,6 +44,10 @@ EXTRA_OECONF = "\ ${@get_gcc_multiarch_setting(bb, d)} \ " +# Set this here since GCC configure won't auto-detect and enable +# initfini-arry when cross compiling. +EXTRA_OECONF_append = " --enable-initfini-array" + export gcc_cv_collect2_libs = 'none required' # We need to set gcc_cv_collect2_libs else there is cross-compilation badness # in the config.log files (which might not get generated until do_compile @@ -57,6 +61,10 @@ EXTRA_OECONF_append_mips64 = " --with-abi=64 --with-arch-64=mips64 --with-tune-6 EXTRA_OECONF_append_mips64el = " --with-abi=64 --with-arch-64=mips64 --with-tune-64=mips64" EXTRA_OECONF_append_mips64n32 = " --with-abi=64 --with-arch-64=mips64 --with-tune-64=mips64" EXTRA_OECONF_append_mips64eln32 = " --with-abi=64 --with-arch-64=mips64 --with-tune-64=mips64" +EXTRA_OECONF_append_mipsisa32r6el = " --with-abi=32 --with-arch=mips32r6" +EXTRA_OECONF_append_mipsisa32r6 = " --with-abi=32 --with-arch=mips32r6" +EXTRA_OECONF_append_mipsisa64r6el = " --with-abi=64 --with-arch-64=mips64r6" +EXTRA_OECONF_append_mipsisa64r6 = " --with-abi=64 --with-arch-64=mips64r6" # ARMv6+ adds atomic instructions that affect the ABI in libraries built # with TUNE_CCARGS in gcc-runtime. Make the compiler default to a diff --git a/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-cross-canadian_4.9.bb b/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-cross-canadian_5.4.bb index bf53c5cd7..bf53c5cd7 100644 --- a/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-cross-canadian_4.9.bb +++ b/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-cross-canadian_5.4.bb diff --git a/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-cross-canadian_5.3.bb b/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-cross-canadian_6.2.bb index bf53c5cd7..bf53c5cd7 100644 --- a/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-cross-canadian_5.3.bb +++ b/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-cross-canadian_6.2.bb diff --git a/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-cross-initial.inc b/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-cross-initial.inc index 048b5302b..dcf22710a 100644 --- a/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-cross-initial.inc +++ b/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-cross-initial.inc @@ -77,7 +77,7 @@ do_install () { # gcc-runtime installs libgcc into a special location in staging since it breaks doing a standalone build case ${PN} in - *gcc-cross-initial-${TARGET_ARCH}|*gcc-crosssdk-initial-${TARGET_ARCH}) + *gcc-cross-initial-${TARGET_ARCH}|*gcc-crosssdk-initial-${SDK_SYS}) dest=${D}/${includedir}/gcc-build-internal-initial-${TARGET_SYS} hardlinkdir . $dest ;; diff --git a/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-cross-initial_4.9.bb b/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-cross-initial_5.4.bb index 4c73e5ce6..4c73e5ce6 100644 --- a/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-cross-initial_4.9.bb +++ b/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-cross-initial_5.4.bb diff --git a/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-cross-initial_5.3.bb b/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-cross-initial_6.2.bb index 4c73e5ce6..4c73e5ce6 100644 --- a/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-cross-initial_5.3.bb +++ b/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-cross-initial_6.2.bb diff --git a/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-cross.inc b/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-cross.inc index f47936061..cc465a279 100644 --- a/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-cross.inc +++ b/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-cross.inc @@ -13,6 +13,11 @@ PN = "gcc-cross-${TARGET_ARCH}" require gcc-configure-common.inc +# While we want the 'gnu' hash style, we explicitly set it to sysv here to +# ensure that any recipe which doesn't obey our LDFLAGS (which also set it to +# gnu) will hit a QA failure. +LINKER_HASH_STYLE ?= "sysv" + EXTRA_OECONF += "--enable-poison-system-directories" EXTRA_OECONF_append_sh4 = " \ --with-multilib-list= \ @@ -183,12 +188,15 @@ do_install () { # gcc-runtime installs libgcc into a special location in staging since it breaks doing a standalone build case ${PN} in - *gcc-cross-${TARGET_ARCH}|*gcc-crosssdk-${TARGET_ARCH}) + *gcc-cross-${TARGET_ARCH}|*gcc-crosssdk-${SDK_SYS}) dest=${D}/${includedir}/gcc-build-internal-${TARGET_SYS} hardlinkdir . $dest ;; esac } +# This is reflected in the recipe name and target gcc shouldn't depend +# on SDK settings either +do_install[vardepsexclude] += "SDK_SYS" do_package[noexec] = "1" do_packagedata[noexec] = "1" diff --git a/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-cross_4.9.bb b/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-cross_5.4.bb index b43cca0c5..b43cca0c5 100644 --- a/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-cross_4.9.bb +++ b/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-cross_5.4.bb diff --git a/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-cross_5.3.bb b/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-cross_6.2.bb index b43cca0c5..b43cca0c5 100644 --- a/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-cross_5.3.bb +++ b/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-cross_6.2.bb diff --git a/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-crosssdk-initial.inc b/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-crosssdk-initial.inc index 7d2599cb6..08eda5d4c 100644 --- a/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-crosssdk-initial.inc +++ b/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-crosssdk-initial.inc @@ -1,6 +1,6 @@ inherit crosssdk -PN = "gcc-crosssdk-initial-${TARGET_ARCH}" +PN = "gcc-crosssdk-initial-${SDK_SYS}" SYSTEMHEADERS = "${SDKPATHNATIVE}${prefix_nativesdk}/include" SYSTEMLIBS = "${SDKPATHNATIVE}${base_libdir_nativesdk}/" diff --git a/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-crosssdk-initial_4.9.bb b/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-crosssdk-initial_5.4.bb index fd90e1140..fd90e1140 100644 --- a/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-crosssdk-initial_4.9.bb +++ b/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-crosssdk-initial_5.4.bb diff --git a/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-crosssdk-initial_5.3.bb b/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-crosssdk-initial_6.2.bb index fd90e1140..fd90e1140 100644 --- a/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-crosssdk-initial_5.3.bb +++ b/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-crosssdk-initial_6.2.bb diff --git a/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-crosssdk.inc b/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-crosssdk.inc index 53f880f39..cda292779 100644 --- a/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-crosssdk.inc +++ b/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-crosssdk.inc @@ -1,6 +1,6 @@ inherit crosssdk -PN = "gcc-crosssdk-${TARGET_ARCH}" +PN = "gcc-crosssdk-${SDK_SYS}" SYSTEMHEADERS = "${SDKPATHNATIVE}${prefix_nativesdk}/include" SYSTEMLIBS = "${SDKPATHNATIVE}${base_libdir_nativesdk}/" diff --git a/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-crosssdk_4.9.bb b/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-crosssdk_5.4.bb index 40a6c4fef..40a6c4fef 100644 --- a/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-crosssdk_4.9.bb +++ b/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-crosssdk_5.4.bb diff --git a/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-crosssdk_5.3.bb b/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-crosssdk_6.2.bb index 40a6c4fef..40a6c4fef 100644 --- a/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-crosssdk_5.3.bb +++ b/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-crosssdk_6.2.bb diff --git a/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-runtime.inc b/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-runtime.inc index 8639c1c49..15252f1a4 100644 --- a/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-runtime.inc +++ b/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-runtime.inc @@ -1,5 +1,7 @@ require gcc-configure-common.inc +SUMMARY = "Runtime libraries from GCC" + # Over-ride the LICENSE set by gcc-${PV}.inc to remove "& GPLv3" # All gcc-runtime packages are now covered by the runtime exception. LICENSE = "GPL-3.0-with-GCC-exception" @@ -19,6 +21,10 @@ RUNTIMELIBITM_mips = "" RUNTIMELIBITM_mipsel = "" RUNTIMELIBITM_mips64 = "" RUNTIMELIBITM_mips64el = "" +RUNTIMELIBITM_mipsisa32r6 = "" +RUNTIMELIBITM_mipsisa32r6el = "" +RUNTIMELIBITM_mipsisa64r6 = "" +RUNTIMELIBITM_mipsisa64r6el = "" RUNTIMELIBITM_nios2 = "" RUNTIMELIBITM_microblaze = "" @@ -73,9 +79,39 @@ do_install () { if [ "${TARGET_VENDOR_MULTILIB_ORIGINAL}" != "" -a "${TARGET_VENDOR}" != "${TARGET_VENDOR_MULTILIB_ORIGINAL}" ]; then ln -s ${TARGET_SYS} ${D}${includedir}/c++/${BINV}/${TARGET_ARCH}${TARGET_VENDOR_MULTILIB_ORIGINAL}-${TARGET_OS} fi + +} + +do_install_append_class-target () { if [ "${TARGET_OS}" = "linux-gnuspe" ]; then ln -s ${TARGET_SYS} ${D}${includedir}/c++/${BINV}/${TARGET_ARCH}${TARGET_VENDOR}-linux fi + + if [ "${TARGET_OS}" = "linux-gnun32" ]; then + if [ "${MULTILIBS}" != "" ]; then + mkdir ${D}${includedir}/c++/${BINV}/${TARGET_ARCH}-pokymllib64-linux + ln -s ../${TARGET_SYS} ${D}${includedir}/c++/${BINV}/${TARGET_ARCH}-pokymllib64-linux/32 + else + ln -s ${TARGET_SYS} ${D}${includedir}/c++/${BINV}/${TARGET_ARCH}${TARGET_VENDOR}-linux + fi + fi + if [ "${TARGET_OS}" = "linux-gnux32" ]; then + if [ "${MULTILIBS}" != "" ]; then + mkdir ${D}${includedir}/c++/${BINV}/${TARGET_ARCH}-poky-linux + ln -s ../${TARGET_SYS} ${D}${includedir}/c++/${BINV}/${TARGET_ARCH}-poky-linux/x32 + else + ln -s ${TARGET_SYS} ${D}${includedir}/c++/${BINV}/${TARGET_ARCH}${TARGET_VENDOR}-linux + fi + fi + + if [ "${TCLIBC}" != "glibc" ]; then + case "${TARGET_OS}" in + "linux-musl" | "linux-uclibc" | "linux-*spe") extra_target_os="linux";; + "linux-musleabi" | "linux-uclibceabi") extra_target_os="linux-gnueabi";; + *) extra_target_os="linux";; + esac + ln -s ${TARGET_SYS} ${D}${includedir}/c++/${BINV}/${TARGET_ARCH}${TARGET_VENDOR}-$extra_target_os + fi chown -R root:root ${D} } @@ -123,73 +159,98 @@ FILES_${PN}-dbg += "\ " FILES_libg2c = "${target_libdir}/libg2c.so.*" +SUMMARY_libg2c = "Companion runtime library for g77" FILES_libg2c-dev = "\ ${libdir}/libg2c.so \ ${libdir}/libg2c.a \ ${libdir}/libfrtbegin.a \ " +SUMMARY_libg2c-dev = "Companion runtime library for g77 - development files" FILES_libstdc++ = "${libdir}/libstdc++.so.*" +SUMMARY_libstdc++ = "GNU standard C++ library" FILES_libstdc++-dev = "\ ${includedir}/c++/ \ ${libdir}/libstdc++.so \ ${libdir}/libstdc++*.la \ ${libdir}/libsupc++.la \ " +SUMMARY_libstdc++-dev = "GNU standard C++ library - development files" FILES_libstdc++-staticdev = "\ ${libdir}/libstdc++*.a \ ${libdir}/libsupc++.a \ " +SUMMARY_libstdc++-staticdev = "GNU standard C++ library - static development files" FILES_libstdc++-precompile-dev = "${includedir}/c++/${TARGET_SYS}/bits/*.gch" +SUMMARY_libstdc++-precompile-dev = "GNU standard C++ library - precompiled header files" FILES_libssp = "${libdir}/libssp.so.*" +SUMMARY_libssp = "GNU stack smashing protection library" FILES_libssp-dev = "\ ${libdir}/libssp*.so \ ${libdir}/libssp*_nonshared.a \ ${libdir}/libssp*.la \ ${libdir}/gcc/${TARGET_SYS}/${BINV}/include/ssp \ " +SUMMARY_libssp-dev = "GNU stack smashing protection library - development files" FILES_libssp-staticdev = "${libdir}/libssp*.a" +SUMMARY_libssp-staticdev = "GNU stack smashing protection library - static development files" FILES_libquadmath = "${libdir}/libquadmath*.so.*" +SUMMARY_libquadmath = "GNU quad-precision math library" FILES_libquadmath-dev = "\ ${libdir}/gcc/${TARGET_SYS}/${BINV}/include/quadmath* \ ${libdir}/libquadmath*.so \ ${libdir}/libquadmath.la \ " +SUMMARY_libquadmath-dev = "GNU quad-precision math library - development files" FILES_libquadmath-staticdev = "${libdir}/libquadmath.a" +SUMMARY_libquadmath-staticdev = "GNU quad-precision math library - static development files" +# NOTE: mudflap has been removed as of gcc 4.9 and has been superseded by the address sanitiser FILES_libmudflap = "${libdir}/libmudflap*.so.*" +SUMMARY_libmudflap = "Pointer debugging library for gcc" FILES_libmudflap-dev = "\ ${libdir}/libmudflap*.so \ ${libdir}/libmudflap.la \ " +SUMMARY_libmudflap-dev = "Pointer debugging library for gcc - development files" FILES_libmudflap-staticdev = "${libdir}/libmudflap.a" +SUMMARY_libmudflap-staticdev = "Pointer debugging library for gcc - static development files" FILES_libgomp = "${libdir}/libgomp*${SOLIBS}" +SUMMARY_libgomp = "GNU OpenMP parallel programming library" FILES_libgomp-dev = "\ ${libdir}/libgomp*${SOLIBSDEV} \ ${libdir}/libgomp*.la \ ${libdir}/libgomp.spec \ ${libdir}/gcc/${TARGET_SYS}/${BINV}/include/omp.h \ " +SUMMARY_libgomp-dev = "GNU OpenMP parallel programming library - development files" FILES_libgomp-staticdev = "${libdir}/libgomp*.a" +SUMMARY_libgomp-staticdev = "GNU OpenMP parallel programming library - static development files" FILES_libatomic = "${libdir}/libatomic.so.*" +SUMMARY_libatomic = "GNU C++11 atomics support library" FILES_libatomic-dev = "\ ${libdir}/libatomic.so \ ${libdir}/libatomic.la \ " +SUMMARY_libatomic-dev = "GNU C++11 atomics support library - development files" FILES_libatomic-staticdev = "${libdir}/libatomic.a" +SUMMARY_libatomic-staticdev = "GNU C++11 atomics support library - static development files" FILES_libitm = "${libdir}/libitm.so.*" +SUMMARY_libitm = "GNU transactional memory support library" FILES_libitm-dev = "\ ${libdir}/libitm.so \ ${libdir}/libitm.la \ ${libdir}/libitm.spec \ " +SUMMARY_libitm-dev = "GNU transactional memory support library - development files" FILES_libitm-staticdev = "${libdir}/libitm.a" +SUMMARY_libitm-staticdev = "GNU transactional memory support library - static development files" do_package_write_ipk[depends] += "virtual/${MLPREFIX}libc:do_packagedata" do_package_write_deb[depends] += "virtual/${MLPREFIX}libc:do_packagedata" diff --git a/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-runtime_4.9.bb b/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-runtime_4.9.bb deleted file mode 100644 index 497d69168..000000000 --- a/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-runtime_4.9.bb +++ /dev/null @@ -1,3 +0,0 @@ -require recipes-devtools/gcc/gcc-${PV}.inc -require gcc-runtime.inc - diff --git a/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-runtime_5.3.bb b/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-runtime_5.4.bb index 8f31e7792..8f31e7792 100644 --- a/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-runtime_5.3.bb +++ b/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-runtime_5.4.bb diff --git a/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-runtime_6.2.bb b/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-runtime_6.2.bb new file mode 100644 index 000000000..8f31e7792 --- /dev/null +++ b/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-runtime_6.2.bb @@ -0,0 +1,7 @@ +require recipes-devtools/gcc/gcc-${PV}.inc +require gcc-runtime.inc + +FILES_libgomp-dev += "\ + ${libdir}/gcc/${TARGET_SYS}/${BINV}/include/openacc.h \ +" + diff --git a/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-sanitizers.inc b/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-sanitizers.inc index 6091a0b6f..df4e297a4 100644 --- a/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-sanitizers.inc +++ b/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-sanitizers.inc @@ -50,7 +50,7 @@ do_install () { INHIBIT_DEFAULT_DEPS = "1" ALLOW_EMPTY_${PN} = "1" -DEPENDS = "gcc-runtime" +DEPENDS = "gcc-runtime virtual/${TARGET_PREFIX}gcc" BBCLASSEXTEND = "nativesdk" diff --git a/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-sanitizers_4.9.bb b/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-sanitizers_5.4.bb index 601f66602..601f66602 100644 --- a/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-sanitizers_4.9.bb +++ b/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-sanitizers_5.4.bb diff --git a/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-sanitizers_5.3.bb b/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-sanitizers_6.2.bb index 601f66602..601f66602 100644 --- a/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-sanitizers_5.3.bb +++ b/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-sanitizers_6.2.bb diff --git a/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-source_4.9.bb b/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-source_5.4.bb index b890fa33e..b890fa33e 100644 --- a/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-source_4.9.bb +++ b/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-source_5.4.bb diff --git a/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-source_5.3.bb b/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-source_6.2.bb index b890fa33e..b890fa33e 100644 --- a/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-source_5.3.bb +++ b/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-source_6.2.bb diff --git a/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-target.inc b/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-target.inc index b8dabe574..f436fa24f 100644 --- a/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-target.inc +++ b/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc-target.inc @@ -4,7 +4,6 @@ require gcc-configure-common.inc EXTRA_OECONF_PATHS = "\ --with-sysroot=/ \ --with-build-sysroot=${STAGING_DIR_TARGET} \ - --with-native-system-header-dir=${STAGING_DIR_TARGET}${target_includedir} \ --with-gxx-include-dir=${includedir}/c++/${BINV} \ " @@ -43,6 +42,10 @@ FILES_${PN} = "\ ${gcclibdir}/${TARGET_SYS}/${BINV}/include-fixed \ " INSANE_SKIP_${PN} += "dev-so" +RRECOMMENDS_${PN} += "\ + libssp \ + libssp-dev \ +" FILES_${PN}-dev = "\ ${gcclibdir}/${TARGET_SYS}/${BINV}/lib*${SOLIBSDEV} \ @@ -70,10 +73,19 @@ FILES_g77-symlinks = "\ ${bindir}/g77 \ ${bindir}/f77 \ " +RRECOMMENDS_g77 = "\ + libg2c \ + libg2c-dev \ +" + FILES_gfortran = "\ ${bindir}/${TARGET_PREFIX}gfortran \ ${libexecdir}/gcc/${TARGET_SYS}/${BINV}/f951 \ " +RRECOMMENDS_gfortran = "\ + libquadmath \ + libquadmath-dev \ +" FILES_gfortran-symlinks = "\ ${bindir}/gfortran \ ${bindir}/f95" @@ -99,6 +111,12 @@ FILES_g++-symlinks = "\ ${bindir}/c++ \ ${bindir}/g++ \ " +RRECOMMENDS_g++ = "\ + libstdc++ \ + libstdc++-dev \ + libatomic \ + libatomic-dev \ +" FILES_${PN}-doc = "\ ${infodir} \ @@ -205,6 +223,4 @@ do_install_append () { # and builds track file dependencies (e.g. perl and its makedepends code). # For determinism we don't install this ever and rely on the copy from gcc-cross. # [YOCTO #7287] -sysroot_stage_dirs_append () { - rm -rf $to${libdir}/gcc -} +SYSROOT_DIRS_BLACKLIST += "${libdir}/gcc" diff --git a/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc_4.9.bb b/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc_4.9.bb deleted file mode 100644 index a9dc612fb..000000000 --- a/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc_4.9.bb +++ /dev/null @@ -1,13 +0,0 @@ -require recipes-devtools/gcc/gcc-${PV}.inc -require gcc-target.inc - -# http://errors.yoctoproject.org/Errors/Details/20497/ -ARM_INSTRUCTION_SET_armv4 = "arm" -ARM_INSTRUCTION_SET_armv5 = "arm" - -BBCLASSEXTEND = "nativesdk" - -#SYSTEMHEADERS_class-nativesdk = "${@'${target_includedir}'.replace(d.getVar('SDKPATH', True),'%r')}" -#SYSTEMLIBS_class-nativesdk = "${@'${target_base_libdir}'.replace(d.getVar('SDKPATH', True),'%r')}/" -#SYSTEMLIBS1_class-nativesdk = "${@'${target_libdir}'.replace(d.getVar('SDKPATH', True),'%r')}/" - diff --git a/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc_5.3.bb b/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc_5.4.bb index b0a523cae..b0a523cae 100644 --- a/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc_5.3.bb +++ b/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc_5.4.bb diff --git a/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc_6.2.bb b/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc_6.2.bb new file mode 100644 index 000000000..b0a523cae --- /dev/null +++ b/import-layers/yocto-poky/meta/recipes-devtools/gcc/gcc_6.2.bb @@ -0,0 +1,15 @@ +require recipes-devtools/gcc/gcc-${PV}.inc +require gcc-target.inc + +# Building with thumb enabled on armv4t fails with +# | gcc-4.8.1-r0/gcc-4.8.1/gcc/cp/decl.c:7438:(.text.unlikely+0x2fa): relocation truncated to fit: R_ARM_THM_CALL against symbol `fancy_abort(char const*, int, char const*)' defined in .glue_7 section in linker stubs +# | gcc-4.8.1-r0/gcc-4.8.1/gcc/cp/decl.c:7442:(.text.unlikely+0x318): additional relocation overflows omitted from the output +ARM_INSTRUCTION_SET_armv4 = "arm" + +do_configure_prepend() { + # Easiest way to stop bad RPATHs getting into the library since we have a + # broken libtool here + sed -i -e 's/hardcode_into_libs=yes/hardcode_into_libs=no/' ${S}/libcc1/configure +} + +BBCLASSEXTEND = "nativesdk" diff --git a/import-layers/yocto-poky/meta/recipes-devtools/gcc/libgcc-common.inc b/import-layers/yocto-poky/meta/recipes-devtools/gcc/libgcc-common.inc index dae07e96d..8a13f542c 100644 --- a/import-layers/yocto-poky/meta/recipes-devtools/gcc/libgcc-common.inc +++ b/import-layers/yocto-poky/meta/recipes-devtools/gcc/libgcc-common.inc @@ -1,6 +1,6 @@ BPN = "libgcc" -require gcc-shared-source.inc +require gcc-configure-common.inc INHIBIT_DEFAULT_DEPS = "1" @@ -111,9 +111,15 @@ fakeroot python do_multilib_install() { if not tune_bitness: tune_bitness = '32' # /lib => 32bit lib + tune_abiextension = tune_parameters['abiextension'] + if tune_abiextension: + libcextension = '-gnu' + tune_abiextension + else: + libcextension = '' + src = '../../../' + tune_baselib + '/' + \ tune_arch + d.getVar('TARGET_VENDOR', True) + 'ml' + ml + \ - '-' + d.getVar('TARGET_OS', True) + '/' + binv + '/' + '-' + d.getVar('TARGET_OS', True) + libcextension + '/' + binv + '/' dest = d.getVar('D', True) + d.getVar('libdir', True) + '/' + \ d.getVar('TARGET_SYS', True) + '/' + binv + '/' + tune_bitness @@ -123,15 +129,18 @@ fakeroot python do_multilib_install() { os.symlink(src, dest) } -def get_original_vendoros(d): - vendoros = d.expand('${TARGET_VENDOR}-${TARGET_OS}') +def get_original_os(d): + vendoros = d.expand('${TARGET_ARCH}${ORIG_TARGET_VENDOR}-${TARGET_OS}') for suffix in [d.getVar('ABIEXTENSION', True), d.getVar('LIBCEXTENSION', True)]: if suffix and vendoros.endswith(suffix): vendoros = vendoros[:-len(suffix)] + # Arm must use linux-gnueabi not linux as only the former is accepted by gcc + if vendoros.startswith("arm-") and not vendoros.endswith("-gnueabi"): + vendoros = vendoros + "-gnueabi" return vendoros -ORIG_TARGET_VENDOROS := "${@get_original_vendoros(d)}" -BASETARGET_SYS = "${TARGET_ARCH}${ORIG_TARGET_VENDOROS}" +ORIG_TARGET_VENDOR := "${TARGET_VENDOR}" +BASETARGET_SYS = "${@get_original_os(d)}" addtask extra_symlinks after do_multilib_install before do_package do_populate_sysroot fakeroot python do_extra_symlinks() { diff --git a/import-layers/yocto-poky/meta/recipes-devtools/gcc/libgcc-initial.inc b/import-layers/yocto-poky/meta/recipes-devtools/gcc/libgcc-initial.inc index 59e8a62e7..687a8a0b0 100644 --- a/import-layers/yocto-poky/meta/recipes-devtools/gcc/libgcc-initial.inc +++ b/import-layers/yocto-poky/meta/recipes-devtools/gcc/libgcc-initial.inc @@ -5,7 +5,7 @@ DEPENDS = "virtual/${TARGET_PREFIX}gcc-initial" LICENSE = "GPL-3.0-with-GCC-exception" STAGINGCC = "gcc-cross-initial-${TARGET_ARCH}" -STAGINGCC_class-nativesdk = "gcc-crosssdk-initial-${TARGET_ARCH}" +STAGINGCC_class-nativesdk = "gcc-crosssdk-initial-${SDK_SYS}" PATH_prepend = "${STAGING_BINDIR_TOOLCHAIN}.${STAGINGCC}:" PACKAGES = "" diff --git a/import-layers/yocto-poky/meta/recipes-devtools/gcc/libgcc-initial_4.9.bb b/import-layers/yocto-poky/meta/recipes-devtools/gcc/libgcc-initial_5.4.bb index 19f253fce..19f253fce 100644 --- a/import-layers/yocto-poky/meta/recipes-devtools/gcc/libgcc-initial_4.9.bb +++ b/import-layers/yocto-poky/meta/recipes-devtools/gcc/libgcc-initial_5.4.bb diff --git a/import-layers/yocto-poky/meta/recipes-devtools/gcc/libgcc-initial_5.3.bb b/import-layers/yocto-poky/meta/recipes-devtools/gcc/libgcc-initial_6.2.bb index 19f253fce..19f253fce 100644 --- a/import-layers/yocto-poky/meta/recipes-devtools/gcc/libgcc-initial_5.3.bb +++ b/import-layers/yocto-poky/meta/recipes-devtools/gcc/libgcc-initial_6.2.bb diff --git a/import-layers/yocto-poky/meta/recipes-devtools/gcc/libgcc.inc b/import-layers/yocto-poky/meta/recipes-devtools/gcc/libgcc.inc index 68377869c..4770394c4 100644 --- a/import-layers/yocto-poky/meta/recipes-devtools/gcc/libgcc.inc +++ b/import-layers/yocto-poky/meta/recipes-devtools/gcc/libgcc.inc @@ -2,6 +2,17 @@ require libgcc-common.inc DEPENDS = "virtual/${TARGET_PREFIX}gcc virtual/${TARGET_PREFIX}g++" +do_install_append_class-target () { + if [ "${TCLIBC}" != "glibc" ]; then + case "${TARGET_OS}" in + "linux-musl" | "linux-uclibc" | "linux-*spe") extra_target_os="linux";; + "linux-musleabi" | "linux-uclibceabi") extra_target_os="linux-gnueabi";; + *) extra_target_os="linux";; + esac + ln -s ${TARGET_SYS} ${D}${libdir}/${TARGET_ARCH}${TARGET_VENDOR}-$extra_target_os + fi +} + PACKAGES = "\ ${PN} \ ${PN}-dev \ @@ -19,6 +30,7 @@ FILES_${PN}-dev = "\ ${base_libdir}/libgcc*.so \ ${@base_conditional('BASETARGET_SYS', '${TARGET_SYS}', '', '${libdir}/${BASETARGET_SYS}', d)} \ ${libdir}/${TARGET_SYS}/${BINV}* \ + ${libdir}/${TARGET_ARCH}${TARGET_VENDOR}* \ " LIBGCCBUILDTREENAME = "gcc-build-internal-" diff --git a/import-layers/yocto-poky/meta/recipes-devtools/gcc/libgcc_4.9.bb b/import-layers/yocto-poky/meta/recipes-devtools/gcc/libgcc_5.4.bb index a5152f28e..a5152f28e 100644 --- a/import-layers/yocto-poky/meta/recipes-devtools/gcc/libgcc_4.9.bb +++ b/import-layers/yocto-poky/meta/recipes-devtools/gcc/libgcc_5.4.bb diff --git a/import-layers/yocto-poky/meta/recipes-devtools/gcc/libgcc_5.3.bb b/import-layers/yocto-poky/meta/recipes-devtools/gcc/libgcc_6.2.bb index a5152f28e..a5152f28e 100644 --- a/import-layers/yocto-poky/meta/recipes-devtools/gcc/libgcc_5.3.bb +++ b/import-layers/yocto-poky/meta/recipes-devtools/gcc/libgcc_6.2.bb diff --git a/import-layers/yocto-poky/meta/recipes-devtools/gcc/libgfortran_4.9.bb b/import-layers/yocto-poky/meta/recipes-devtools/gcc/libgfortran_5.4.bb index 71dd8b4bd..71dd8b4bd 100644 --- a/import-layers/yocto-poky/meta/recipes-devtools/gcc/libgfortran_4.9.bb +++ b/import-layers/yocto-poky/meta/recipes-devtools/gcc/libgfortran_5.4.bb diff --git a/import-layers/yocto-poky/meta/recipes-devtools/gcc/libgfortran_5.3.bb b/import-layers/yocto-poky/meta/recipes-devtools/gcc/libgfortran_6.2.bb index 71dd8b4bd..71dd8b4bd 100644 --- a/import-layers/yocto-poky/meta/recipes-devtools/gcc/libgfortran_5.3.bb +++ b/import-layers/yocto-poky/meta/recipes-devtools/gcc/libgfortran_6.2.bb diff --git a/import-layers/yocto-poky/meta/recipes-devtools/gdb/gdb-7.10.1.inc b/import-layers/yocto-poky/meta/recipes-devtools/gdb/gdb-7.11.inc index a9267d554..a9267d554 100644 --- a/import-layers/yocto-poky/meta/recipes-devtools/gdb/gdb-7.10.1.inc +++ b/import-layers/yocto-poky/meta/recipes-devtools/gdb/gdb-7.11.inc diff --git a/import-layers/yocto-poky/meta/recipes-devtools/gdb/gdb-common.inc b/import-layers/yocto-poky/meta/recipes-devtools/gdb/gdb-common.inc index 0d28ee4ee..09231434d 100644 --- a/import-layers/yocto-poky/meta/recipes-devtools/gdb/gdb-common.inc +++ b/import-layers/yocto-poky/meta/recipes-devtools/gdb/gdb-common.inc @@ -2,7 +2,7 @@ SUMMARY = "GNU debugger" HOMEPAGE = "http://www.gnu.org/software/gdb/" LICENSE = "GPLv3+" SECTION = "devel" -DEPENDS = "expat zlib ncurses ${LTTNGUST}" +DEPENDS = "expat zlib ncurses virtual/libiconv ${LTTNGUST}" LTTNGUST = "lttng-ust" LTTNGUST_aarch64 = "" @@ -16,8 +16,6 @@ LTTNGUST_mips64eln32 = "" LTTNGUST_sh4 = "" LTTNGUST_libc-musl = "" -INC_PR = "r0" - LIC_FILES_CHKSUM = "file://COPYING;md5=59530bdf33659b29e73d4adb9f9f6552 \ file://COPYING.LIB;md5=9f604d8a4f8e74f4f5140845a21b6674 \ file://COPYING3;md5=d32239bcb673463ab874e80d47fae504 \ @@ -25,8 +23,25 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=59530bdf33659b29e73d4adb9f9f6552 \ inherit autotools texinfo -SRC_URI = "${GNU_MIRROR}/gdb/gdb-${PV}.tar.gz \ - " +SRCREV = "1a982b689ce4e20523bdf69e47fdd574c4f63934" + +SRC_URI = "git://sourceware.org/git/binutils-gdb.git;branch=gdb-7.11-branch \ + file://0001-include-sys-types.h-for-mode_t.patch \ + file://0002-make-man-install-relative-to-DESTDIR.patch \ + file://0003-mips-linux-nat-Define-_ABIO32-if-not-defined.patch \ + file://0004-ppc-ptrace-Define-pt_regs-uapi_pt_regs-on-GLIBC-syst.patch \ + file://0005-Add-support-for-Renesas-SH-sh4-architecture.patch \ + file://0006-Dont-disable-libreadline.a-when-using-disable-static.patch \ + file://0007-use-asm-sgidefs.h.patch \ + file://0008-Use-exorted-definitions-of-SIGRTMIN.patch \ + file://0009-Change-order-of-CFLAGS.patch \ + file://0010-resolve-restrict-keyword-conflict.patch \ + file://0011-avx_mpx.patch \ +" + +UPSTREAM_CHECK_GITTAGREGEX = "gdb\-(?P<pver>.+)\-release" + +S = "${WORKDIR}/git" B = "${WORKDIR}/build-${TARGET_SYS}" @@ -40,12 +55,15 @@ EXTRA_OECONF = "--disable-gdbtk --disable-tui --disable-x --disable-werror \ ${GDBPROPREFIX} ${EXPAT} \ ${@bb.utils.contains('DISTRO_FEATURES', 'multiarch', '--enable-64-bit-bfd', '', d)} \ --disable-rpath \ - " + --disable-gas --disable-binutils \ + --disable-ld --disable-gold \ + --disable-gprof \ +" PACKAGECONFIG ??= "readline" # Use --without-system-readline to compile with readline 5. PACKAGECONFIG[readline] = "--with-system-readline,--without-system-readline,readline" -PACKAGECONFIG[python] = "--with-python=${WORKDIR}/python,--without-python,python,python python-codecs" +PACKAGECONFIG[python] = "--with-python=${WORKDIR}/python,--without-python,python3,python3 python3-codecs" PACKAGECONFIG[babeltrace] = "--with-babeltrace,--without-babeltrace,babeltrace" GDBPROPREFIX = "--program-prefix=''" @@ -69,4 +87,3 @@ RRECOMMENDS_gdb_append_linux = " glibc-thread-db " RRECOMMENDS_gdb_append_linux-gnueabi = " glibc-thread-db " RRECOMMENDS_gdbserver_append_linux = " glibc-thread-db " RRECOMMENDS_gdbserver_append_linux-gnueabi = " glibc-thread-db " - diff --git a/import-layers/yocto-poky/meta/recipes-devtools/gdb/gdb-cross-canadian.inc b/import-layers/yocto-poky/meta/recipes-devtools/gdb/gdb-cross-canadian.inc index 6e42af1ba..e53081d0c 100644 --- a/import-layers/yocto-poky/meta/recipes-devtools/gdb/gdb-cross-canadian.inc +++ b/import-layers/yocto-poky/meta/recipes-devtools/gdb/gdb-cross-canadian.inc @@ -1,5 +1,5 @@ inherit cross-canadian -inherit python-dir +inherit python3-dir SUMMARY = "GNU debugger (cross-canadian gdb for ${TARGET_ARCH} target)" PN = "gdb-cross-canadian-${TRANSLATED_TARGET_ARCH}" @@ -12,9 +12,9 @@ GDBPROPREFIX = "--program-prefix='${TARGET_PREFIX}'" # Overrides PACKAGECONFIG variables in gdb-common.inc PACKAGECONFIG ??= "python readline" -PACKAGECONFIG[python] = "--with-python=${WORKDIR}/python,--without-python,nativesdk-python, \ - nativesdk-python-core nativesdk-python-lang nativesdk-python-re \ - nativesdk-python-codecs nativesdk-python-netclient" +PACKAGECONFIG[python] = "--with-python=${WORKDIR}/python,--without-python,nativesdk-python3, \ + nativesdk-python3-core nativesdk-python3-lang nativesdk-python3-re \ + nativesdk-python3-codecs nativesdk-python3-netclient" PACKAGECONFIG[readline] = "--with-system-readline,--without-system-readline,nativesdk-readline" SSTATE_DUPWHITELIST += "${STAGING_DATADIR}/gdb" @@ -23,8 +23,8 @@ do_configure_prepend() { cat > ${WORKDIR}/python << EOF #! /bin/sh case "\$2" in - --includes) echo "-I${STAGING_INCDIR}/${PYTHON_DIR}/" ;; - --ldflags) echo "-Wl,-rpath-link,${STAGING_LIBDIR}/.. -Wl,-rpath,${libdir}/.. -lpthread -ldl -lutil -lm -lpython${PYTHON_BASEVERSION}" ;; + --includes) echo "-I${STAGING_INCDIR}/${PYTHON_DIR}${PYTHON_ABI}/" ;; + --ldflags) echo "-Wl,-rpath-link,${STAGING_LIBDIR}/.. -Wl,-rpath,${libdir}/.. -lpthread -ldl -lutil -lm -lpython${PYTHON_BASEVERSION}${PYTHON_ABI}" ;; --exec-prefix) echo "${exec_prefix}" ;; *) exit 1 ;; esac diff --git a/import-layers/yocto-poky/meta/recipes-devtools/gdb/gdb-cross-canadian_7.10.1.bb b/import-layers/yocto-poky/meta/recipes-devtools/gdb/gdb-cross-canadian_7.11.bb index 301035940..301035940 100644 --- a/import-layers/yocto-poky/meta/recipes-devtools/gdb/gdb-cross-canadian_7.10.1.bb +++ b/import-layers/yocto-poky/meta/recipes-devtools/gdb/gdb-cross-canadian_7.11.bb diff --git a/import-layers/yocto-poky/meta/recipes-devtools/gdb/gdb-cross.inc b/import-layers/yocto-poky/meta/recipes-devtools/gdb/gdb-cross.inc index 2468d2303..5fa7c3367 100644 --- a/import-layers/yocto-poky/meta/recipes-devtools/gdb/gdb-cross.inc +++ b/import-layers/yocto-poky/meta/recipes-devtools/gdb/gdb-cross.inc @@ -2,16 +2,14 @@ require gdb-common.inc DEPENDS = "expat-native ncurses-native" -inherit pythonnative +inherit python3native # Overrides PACKAGECONFIG variables in gdb-common.inc PACKAGECONFIG ??= "python readline" -PACKAGECONFIG[python] = "--with-python=${STAGING_BINDIR_NATIVE}/python-native/python,--without-python,python-native" +PACKAGECONFIG[python] = "--with-python=${PYTHON},--without-python,python3-native" PACKAGECONFIG[readline] = "--with-system-readline,--without-system-readline,readline-native" do_compile_prepend() { - export BUILD_SYS="${BUILD_SYS}" - export HOST_SYS="${HOST_SYS}" export STAGING_LIBDIR="${STAGING_LIBDIR_NATIVE}" export STAGING_INCDIR="${STAGING_INCDIR_NATIVE}" } diff --git a/import-layers/yocto-poky/meta/recipes-devtools/gdb/gdb-cross_7.10.1.bb b/import-layers/yocto-poky/meta/recipes-devtools/gdb/gdb-cross_7.10.1.bb deleted file mode 100644 index 3a95cfb03..000000000 --- a/import-layers/yocto-poky/meta/recipes-devtools/gdb/gdb-cross_7.10.1.bb +++ /dev/null @@ -1,4 +0,0 @@ -require gdb-cross.inc -require gdb-${PV}.inc - -SRC_URI += "file://0001-make-man-install-relative-to-DESTDIR.patch" diff --git a/import-layers/yocto-poky/meta/recipes-devtools/gdb/gdb-cross_7.11.bb b/import-layers/yocto-poky/meta/recipes-devtools/gdb/gdb-cross_7.11.bb new file mode 100644 index 000000000..50cf159fd --- /dev/null +++ b/import-layers/yocto-poky/meta/recipes-devtools/gdb/gdb-cross_7.11.bb @@ -0,0 +1,2 @@ +require gdb-cross.inc +require gdb-${PV}.inc diff --git a/import-layers/yocto-poky/meta/recipes-devtools/gdb/gdb.inc b/import-layers/yocto-poky/meta/recipes-devtools/gdb/gdb.inc index d9c864dca..52119a0aa 100644 --- a/import-layers/yocto-poky/meta/recipes-devtools/gdb/gdb.inc +++ b/import-layers/yocto-poky/meta/recipes-devtools/gdb/gdb.inc @@ -2,14 +2,6 @@ require gdb-common.inc inherit gettext -SRC_URI += "file://0002-Change-order-of-CFLAGS.patch \ - file://0003-Add-support-for-Renesas-SH-sh4-architecture.patch \ - file://0001-Use-exported-definitions-of-SIGRTMIN.patch \ - file://0001-include-sys-types.h-for-mode_t.patch \ - file://0001-use-asm-sgidefs.h.patch \ - file://force-readline-static.patch \ - file://0001-mips-linux-nat-Define-_ABIO32-if-not-defined.patch \ - " #LDFLAGS_append = " -s" #export CFLAGS_append=" -L${STAGING_LIBDIR}" diff --git a/import-layers/yocto-poky/meta/recipes-devtools/gdb/gdb/0001-Use-exported-definitions-of-SIGRTMIN.patch b/import-layers/yocto-poky/meta/recipes-devtools/gdb/gdb/0001-Use-exported-definitions-of-SIGRTMIN.patch deleted file mode 100644 index 5f0c09693..000000000 --- a/import-layers/yocto-poky/meta/recipes-devtools/gdb/gdb/0001-Use-exported-definitions-of-SIGRTMIN.patch +++ /dev/null @@ -1,54 +0,0 @@ -From 2f97e89e9e4e5797d0d973e1d05c1f44c46b4912 Mon Sep 17 00:00:00 2001 -From: Khem Raj <raj.khem@gmail.com> -Date: Fri, 5 Jun 2015 20:21:38 -0700 -Subject: [PATCH] Use exorted definitions of SIGRTMIN - -Define W_STOPCODE if not defined already - -__SIGRTMIN is internal to glibc and other libcs e.g. musl -may not provide them - -Fixes -https://sourceware.org/bugzilla/show_bug.cgi?id=13012 - -Signed-off-by: Khem Raj <raj.khem@gmail.com> ---- -Upstream-Status: Submitted - - gdb/linux-nat.c | 4 ++-- - gdb/nat/linux-nat.h | 4 ++++ - 2 files changed, 6 insertions(+), 2 deletions(-) - -diff --git a/gdb/linux-nat.c b/gdb/linux-nat.c -index 396c30c..50320ee 100644 ---- a/gdb/linux-nat.c -+++ b/gdb/linux-nat.c -@@ -4856,10 +4856,10 @@ lin_thread_get_thread_signals (sigset_t *set) - fortunately they don't change! */ - - if (restart == 0) -- restart = __SIGRTMIN; -+ restart = SIGRTMIN; - - if (cancel == 0) -- cancel = __SIGRTMIN + 1; -+ cancel = SIGRTMIN + 1; - - sigaddset (set, restart); - sigaddset (set, cancel); -diff --git a/gdb/nat/linux-nat.h b/gdb/nat/linux-nat.h -index 83a6d91..efbe0fd 100644 ---- a/gdb/nat/linux-nat.h -+++ b/gdb/nat/linux-nat.h -@@ -25,4 +25,8 @@ - instead SIGTRAP with bit 7 set. */ - #define SYSCALL_SIGTRAP (SIGTRAP | 0x80) - -+#ifndef W_STOPCODE -+#define W_STOPCODE(sig) ((sig) << 8 | 0x7f) -+#endif -+ - #endif /* LINUX_NAT_H */ --- -2.1.4 - diff --git a/import-layers/yocto-poky/meta/recipes-devtools/gdb/gdb/0001-include-sys-types.h-for-mode_t.patch b/import-layers/yocto-poky/meta/recipes-devtools/gdb/gdb/0001-include-sys-types.h-for-mode_t.patch index a0292e416..0042c0063 100644 --- a/import-layers/yocto-poky/meta/recipes-devtools/gdb/gdb/0001-include-sys-types.h-for-mode_t.patch +++ b/import-layers/yocto-poky/meta/recipes-devtools/gdb/gdb/0001-include-sys-types.h-for-mode_t.patch @@ -1,7 +1,7 @@ -From acbee4edacb80b5eeaff2480712fe98e56443997 Mon Sep 17 00:00:00 2001 +From fddd7178915968acf680814411b8b3cb137d0587 Mon Sep 17 00:00:00 2001 From: Khem Raj <raj.khem@gmail.com> Date: Tue, 19 Jan 2016 18:18:52 -0800 -Subject: [PATCH] include sys/types.h for mode_t +Subject: [PATCH 01/10] include sys/types.h for mode_t mode_t is used in target.h, so we need to include sys/types.h to get the defintion @@ -14,10 +14,10 @@ Upstream-Status: Pending 1 file changed, 1 insertion(+) diff --git a/gdb/gdbserver/target.h b/gdb/gdbserver/target.h -index 9a40867..aaecab9 100644 +index 5af2051..f42c510 100644 --- a/gdb/gdbserver/target.h +++ b/gdb/gdbserver/target.h -@@ -27,6 +27,7 @@ +@@ -28,6 +28,7 @@ #include "target/waitstatus.h" #include "mem-break.h" #include "btrace-common.h" @@ -26,5 +26,5 @@ index 9a40867..aaecab9 100644 struct emit_ops; struct buffer; -- -2.7.0 +2.8.2 diff --git a/import-layers/yocto-poky/meta/recipes-devtools/gdb/gdb/0001-make-man-install-relative-to-DESTDIR.patch b/import-layers/yocto-poky/meta/recipes-devtools/gdb/gdb/0002-make-man-install-relative-to-DESTDIR.patch index 6996c183b..defed621f 100644 --- a/import-layers/yocto-poky/meta/recipes-devtools/gdb/gdb/0001-make-man-install-relative-to-DESTDIR.patch +++ b/import-layers/yocto-poky/meta/recipes-devtools/gdb/gdb/0002-make-man-install-relative-to-DESTDIR.patch @@ -1,7 +1,7 @@ -From 12b0506951460c3cc37d775478d024db3f95e9d8 Mon Sep 17 00:00:00 2001 +From 3229cb09033eeb5003a08d91fa9d43be8ba4c86b Mon Sep 17 00:00:00 2001 From: Khem Raj <raj.khem@gmail.com> Date: Mon, 2 Mar 2015 02:27:55 +0000 -Subject: [PATCH 1/3] make man install relative to DESTDIR +Subject: [PATCH 02/10] make man install relative to DESTDIR Upstream-Status: Pending @@ -11,7 +11,7 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com> 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sim/common/Makefile.in b/sim/common/Makefile.in -index d49a93b..2121c46 100644 +index a05f507..8d0fa64 100644 --- a/sim/common/Makefile.in +++ b/sim/common/Makefile.in @@ -35,7 +35,7 @@ tooldir = $(libdir)/$(target_alias) @@ -24,5 +24,5 @@ index d49a93b..2121c46 100644 includedir = @includedir@ -- -2.1.4 +2.8.2 diff --git a/import-layers/yocto-poky/meta/recipes-devtools/gdb/gdb/0001-mips-linux-nat-Define-_ABIO32-if-not-defined.patch b/import-layers/yocto-poky/meta/recipes-devtools/gdb/gdb/0003-mips-linux-nat-Define-_ABIO32-if-not-defined.patch index 31739525a..bac793964 100644 --- a/import-layers/yocto-poky/meta/recipes-devtools/gdb/gdb/0001-mips-linux-nat-Define-_ABIO32-if-not-defined.patch +++ b/import-layers/yocto-poky/meta/recipes-devtools/gdb/gdb/0003-mips-linux-nat-Define-_ABIO32-if-not-defined.patch @@ -1,7 +1,7 @@ -From e92f8932ef488de2a56db4299131ce6a4eb170bd Mon Sep 17 00:00:00 2001 +From 88e67caed662d8344c8db56176c9f1221e6cd2a2 Mon Sep 17 00:00:00 2001 From: Khem Raj <raj.khem@gmail.com> Date: Wed, 23 Mar 2016 06:30:09 +0000 -Subject: [PATCH] mips-linux-nat: Define _ABIO32 if not defined +Subject: [PATCH 03/10] mips-linux-nat: Define _ABIO32 if not defined This helps building gdb on mips64 on musl, since musl does not provide sgidefs.h this define is @@ -17,7 +17,7 @@ Upstream-Status: Pending 1 file changed, 5 insertions(+) diff --git a/gdb/mips-linux-nat.c b/gdb/mips-linux-nat.c -index fd5c705..753f29d 100644 +index bfe9fcb..449b43a 100644 --- a/gdb/mips-linux-nat.c +++ b/gdb/mips-linux-nat.c @@ -46,6 +46,11 @@ @@ -33,5 +33,5 @@ index fd5c705..753f29d 100644 we'll clear this and use PTRACE_PEEKUSER instead. */ static int have_ptrace_regsets = 1; -- -1.8.3.1 +2.8.2 diff --git a/import-layers/yocto-poky/meta/recipes-devtools/gdb/gdb/0004-ppc-ptrace-Define-pt_regs-uapi_pt_regs-on-GLIBC-syst.patch b/import-layers/yocto-poky/meta/recipes-devtools/gdb/gdb/0004-ppc-ptrace-Define-pt_regs-uapi_pt_regs-on-GLIBC-syst.patch new file mode 100644 index 000000000..a5fe2a279 --- /dev/null +++ b/import-layers/yocto-poky/meta/recipes-devtools/gdb/gdb/0004-ppc-ptrace-Define-pt_regs-uapi_pt_regs-on-GLIBC-syst.patch @@ -0,0 +1,53 @@ +From bec564eb454bc7fc6ecfcb573aa53040bf39c1d5 Mon Sep 17 00:00:00 2001 +From: Khem Raj <raj.khem@gmail.com> +Date: Sat, 30 Apr 2016 16:46:03 +0000 +Subject: [PATCH 04/10] ppc/ptrace: Define pt_regs uapi_pt_regs on !GLIBC + systems + +Upstream-Status: Pending + +Signed-off-by: Khem Raj <raj.khem@gmail.com> +--- + gdb/gdbserver/linux-ppc-low.c | 6 ++++++ + gdb/nat/ppc-linux.h | 6 ++++++ + 2 files changed, 12 insertions(+) + +diff --git a/gdb/gdbserver/linux-ppc-low.c b/gdb/gdbserver/linux-ppc-low.c +index 2145c50..777905d 100644 +--- a/gdb/gdbserver/linux-ppc-low.c ++++ b/gdb/gdbserver/linux-ppc-low.c +@@ -21,7 +21,13 @@ + #include "linux-low.h" + + #include <elf.h> ++#if !defined(__GLIBC__) ++# define pt_regs uapi_pt_regs ++#endif + #include <asm/ptrace.h> ++#if !defined(__GLIBC__) ++# undef pt_regs ++#endif + + #include "nat/ppc-linux.h" + +diff --git a/gdb/nat/ppc-linux.h b/gdb/nat/ppc-linux.h +index 85fbcd8..cbec9c5 100644 +--- a/gdb/nat/ppc-linux.h ++++ b/gdb/nat/ppc-linux.h +@@ -18,7 +18,13 @@ + #ifndef PPC_LINUX_H + #define PPC_LINUX_H 1 + ++#if !defined(__GLIBC__) ++# define pt_regs uapi_pt_regs ++#endif + #include <asm/ptrace.h> ++#if !defined(__GLIBC__) ++# undef pt_regs ++#endif + #include <asm/cputable.h> + + /* This sometimes isn't defined. */ +-- +2.8.2 + diff --git a/import-layers/yocto-poky/meta/recipes-devtools/gdb/gdb/0003-Add-support-for-Renesas-SH-sh4-architecture.patch b/import-layers/yocto-poky/meta/recipes-devtools/gdb/gdb/0005-Add-support-for-Renesas-SH-sh4-architecture.patch index 4a3e22c44..8809e6f8b 100644 --- a/import-layers/yocto-poky/meta/recipes-devtools/gdb/gdb/0003-Add-support-for-Renesas-SH-sh4-architecture.patch +++ b/import-layers/yocto-poky/meta/recipes-devtools/gdb/gdb/0005-Add-support-for-Renesas-SH-sh4-architecture.patch @@ -1,7 +1,7 @@ -From 407cb13cfb70697f45dfb761304e005e1ecbd0e9 Mon Sep 17 00:00:00 2001 +From 8c5fe58c5a0044ddb517a41b277ed27fb3d3bedc Mon Sep 17 00:00:00 2001 From: Khem Raj <raj.khem@gmail.com> Date: Mon, 2 Mar 2015 02:31:12 +0000 -Subject: [PATCH 3/3] Add support for Renesas SH (sh4) architecture. +Subject: [PATCH 05/10] Add support for Renesas SH (sh4) architecture. gdb (7.4-1~cvs20111117.2) experimental; urgency=low . @@ -27,10 +27,10 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com> 11 files changed, 617 insertions(+), 29 deletions(-) diff --git a/gdb/Makefile.in b/gdb/Makefile.in -index 7937801..63baf81 100644 +index ec2af52..df8e84d 100644 --- a/gdb/Makefile.in +++ b/gdb/Makefile.in -@@ -1707,6 +1707,7 @@ ALLDEPFILES = \ +@@ -1736,6 +1736,7 @@ ALLDEPFILES = \ score-tdep.c \ ser-go32.c ser-pipe.c ser-tcp.c ser-mingw.c \ sh-tdep.c sh64-tdep.c shnbsd-tdep.c shnbsd-nat.c \ @@ -39,10 +39,10 @@ index 7937801..63baf81 100644 solib-svr4.c \ sparc-linux-nat.c sparc-linux-tdep.c \ diff --git a/gdb/configure.host b/gdb/configure.host -index d07be4b..b6391c5 100644 +index ef265eb..322a1e2 100644 --- a/gdb/configure.host +++ b/gdb/configure.host -@@ -150,6 +150,7 @@ powerpc*-*-linux*) gdb_host=linux ;; +@@ -149,6 +149,7 @@ powerpc*-*-linux*) gdb_host=linux ;; s390*-*-linux*) gdb_host=linux ;; @@ -51,7 +51,7 @@ index d07be4b..b6391c5 100644 gdb_host=nbsd ;; sh*-*-openbsd*) gdb_host=nbsd ;; diff --git a/gdb/sh-linux-tdep.c b/gdb/sh-linux-tdep.c -index 2ff2ee8..1a11262 100644 +index 2418d25..ac8ea9e 100644 --- a/gdb/sh-linux-tdep.c +++ b/gdb/sh-linux-tdep.c @@ -18,14 +18,37 @@ @@ -599,7 +599,7 @@ index 2ff2ee8..1a11262 100644 /* GNU/Linux uses SVR4-style shared libraries. */ diff --git a/gdb/sh-tdep.c b/gdb/sh-tdep.c -index 82cf2f4..b443e46 100644 +index 336b48e..847b271 100644 --- a/gdb/sh-tdep.c +++ b/gdb/sh-tdep.c @@ -21,6 +21,9 @@ @@ -702,7 +702,7 @@ index 82cf2f4..b443e46 100644 if (regnum < SH_NUM_REGS && cache->saved_regs[regnum] != -1) return frame_unwind_got_memory (this_frame, regnum, -@@ -2237,8 +2224,8 @@ sh_return_in_first_hidden_param_p (struct gdbarch *gdbarch, +@@ -2240,8 +2227,8 @@ sh_return_in_first_hidden_param_p (struct gdbarch *gdbarch, static struct gdbarch * sh_gdbarch_init (struct gdbarch_info info, struct gdbarch_list *arches) { @@ -712,7 +712,7 @@ index 82cf2f4..b443e46 100644 /* SH5 is handled entirely in sh64-tdep.c. */ if (info.bfd_arch_info->mach == bfd_mach_sh5) -@@ -2254,6 +2241,18 @@ sh_gdbarch_init (struct gdbarch_info info, struct gdbarch_list *arches) +@@ -2257,6 +2244,18 @@ sh_gdbarch_init (struct gdbarch_info info, struct gdbarch_list *arches) tdep = XCNEW (struct gdbarch_tdep); gdbarch = gdbarch_alloc (&info, tdep); @@ -731,7 +731,7 @@ index 82cf2f4..b443e46 100644 set_gdbarch_short_bit (gdbarch, 2 * TARGET_CHAR_BIT); set_gdbarch_int_bit (gdbarch, 4 * TARGET_CHAR_BIT); set_gdbarch_long_bit (gdbarch, 4 * TARGET_CHAR_BIT); -@@ -2404,10 +2403,11 @@ sh_gdbarch_init (struct gdbarch_info info, struct gdbarch_list *arches) +@@ -2407,10 +2406,11 @@ sh_gdbarch_init (struct gdbarch_info info, struct gdbarch_list *arches) break; } @@ -745,7 +745,7 @@ index 82cf2f4..b443e46 100644 frame_unwind_append_unwinder (gdbarch, &sh_frame_unwind); diff --git a/gdb/sh-tdep.h b/gdb/sh-tdep.h -index fc671a5..699f59f 100644 +index 666968f..62c65b5 100644 --- a/gdb/sh-tdep.h +++ b/gdb/sh-tdep.h @@ -21,6 +21,12 @@ @@ -828,10 +828,10 @@ index fc671a5..699f59f 100644 where each general-purpose register is stored inside the associated core file section. */ diff --git a/gdb/testsuite/gdb.asm/asm-source.exp b/gdb/testsuite/gdb.asm/asm-source.exp -index 8854af0..ef44682 100644 +index 6d9aef8..5b66b42 100644 --- a/gdb/testsuite/gdb.asm/asm-source.exp +++ b/gdb/testsuite/gdb.asm/asm-source.exp -@@ -113,6 +113,11 @@ switch -glob -- [istarget] { +@@ -116,6 +116,11 @@ switch -glob -- [istarget] { append link-flags " -m elf32ppc" } } @@ -873,7 +873,7 @@ index 424e1b8..0de2e7b 100644 void handle_USR1 (int sig) diff --git a/gdb/testsuite/gdb.base/annota3.c b/gdb/testsuite/gdb.base/annota3.c -index 424e1b8..952aaf2 100644 +index 424e1b8..952aaf21 100644 --- a/gdb/testsuite/gdb.base/annota3.c +++ b/gdb/testsuite/gdb.base/annota3.c @@ -1,6 +1,10 @@ @@ -917,5 +917,5 @@ index 7566068..1205a9b 100644 static int count = 0; -- -2.1.4 +2.8.2 diff --git a/import-layers/yocto-poky/meta/recipes-devtools/gdb/gdb/force-readline-static.patch b/import-layers/yocto-poky/meta/recipes-devtools/gdb/gdb/0006-Dont-disable-libreadline.a-when-using-disable-static.patch index d34ee8cee..394d26d06 100644 --- a/import-layers/yocto-poky/meta/recipes-devtools/gdb/gdb/force-readline-static.patch +++ b/import-layers/yocto-poky/meta/recipes-devtools/gdb/gdb/0006-Dont-disable-libreadline.a-when-using-disable-static.patch @@ -1,3 +1,8 @@ +From f3932cb2960fd54655a448b13d5a5b80f356f8de Mon Sep 17 00:00:00 2001 +From: Khem Raj <raj.khem@gmail.com> +Date: Sat, 30 Apr 2016 15:25:03 -0700 +Subject: [PATCH 06/10] Dont disable libreadline.a when using --disable-static + If gdb is configured with --disable-static then this is dutifully passed to readline which then disables libreadline.a, which causes a problem when gdb tries to link against that. @@ -7,12 +12,17 @@ the sub-configure. Upstream-Status: Pending Signed-off-by: Ross Burton <ross.burton@intel.com> +Signed-off-by: Khem Raj <raj.khem@gmail.com> +--- + Makefile.def | 3 ++- + Makefile.in | 2 +- + 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/Makefile.def b/Makefile.def -index 4394188..05c661a 100644 +index ea8453e..0fc66c6 100644 --- a/Makefile.def +++ b/Makefile.def -@@ -100,7 +100,8 @@ host_modules= { module= libiconv; +@@ -104,7 +104,8 @@ host_modules= { module= libiconv; missing= install-html; missing= install-info; }; host_modules= { module= m4; }; @@ -23,10 +33,10 @@ index 4394188..05c661a 100644 host_modules= { module= sim; }; host_modules= { module= texinfo; no_install= true; }; diff --git a/Makefile.in b/Makefile.in -index 61e0ab6..837f36e 100644 +index 2733c4d..3e04e80 100644 --- a/Makefile.in +++ b/Makefile.in -@@ -24971,7 +24971,7 @@ configure-readline: +@@ -25380,7 +25380,7 @@ configure-readline: $$s/$$module_srcdir/configure \ --srcdir=$${topdir}/$$module_srcdir \ $(HOST_CONFIGARGS) --build=${build_alias} --host=${host_alias} \ @@ -35,3 +45,6 @@ index 61e0ab6..837f36e 100644 || exit 1 @endif readline +-- +2.8.2 + diff --git a/import-layers/yocto-poky/meta/recipes-devtools/gdb/gdb/0001-use-asm-sgidefs.h.patch b/import-layers/yocto-poky/meta/recipes-devtools/gdb/gdb/0007-use-asm-sgidefs.h.patch index eaec39030..f32f8ee41 100644 --- a/import-layers/yocto-poky/meta/recipes-devtools/gdb/gdb/0001-use-asm-sgidefs.h.patch +++ b/import-layers/yocto-poky/meta/recipes-devtools/gdb/gdb/0007-use-asm-sgidefs.h.patch @@ -1,7 +1,7 @@ -From 677b5b56135141c0d259e370aacd0e11c810aa15 Mon Sep 17 00:00:00 2001 -From: Andre McCurdy <armccurdy@gmail.com> -Date: Fri, 5 Feb 2016 14:00:00 -0800 -Subject: [PATCH] use <asm/sgidefs.h> +From 048675a915a72989f2613386975730da016e7c5d Mon Sep 17 00:00:00 2001 +From: Andre McCurdy <amccurdy@gmail.com> +Date: Sat, 30 Apr 2016 15:29:06 -0700 +Subject: [PATCH 07/10] use <asm/sgidefs.h> Build fix for MIPS with musl libc @@ -13,12 +13,13 @@ instead. Upstream-Status: Pending Signed-off-by: Andre McCurdy <armccurdy@gmail.com> +Signed-off-by: Khem Raj <raj.khem@gmail.com> --- gdb/mips-linux-nat.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gdb/mips-linux-nat.c b/gdb/mips-linux-nat.c -index a36bb63..fd5c705 100644 +index 449b43a..09603da 100644 --- a/gdb/mips-linux-nat.c +++ b/gdb/mips-linux-nat.c @@ -31,7 +31,7 @@ @@ -27,9 +28,9 @@ index a36bb63..fd5c705 100644 -#include <sgidefs.h> +#include <asm/sgidefs.h> - #include <sys/ptrace.h> + #include "nat/gdb_ptrace.h" #include <asm/ptrace.h> -- -1.9.1 +2.8.2 diff --git a/import-layers/yocto-poky/meta/recipes-devtools/gdb/gdb/0008-Use-exorted-definitions-of-SIGRTMIN.patch b/import-layers/yocto-poky/meta/recipes-devtools/gdb/gdb/0008-Use-exorted-definitions-of-SIGRTMIN.patch new file mode 100644 index 000000000..7e58b617a --- /dev/null +++ b/import-layers/yocto-poky/meta/recipes-devtools/gdb/gdb/0008-Use-exorted-definitions-of-SIGRTMIN.patch @@ -0,0 +1,50 @@ +From e54ead9d81f4d38412751b815f909db3cb144bb1 Mon Sep 17 00:00:00 2001 +From: Khem Raj <raj.khem@gmail.com> +Date: Sat, 30 Apr 2016 15:31:40 -0700 +Subject: [PATCH 08/10] Use exorted definitions of SIGRTMIN + +Define W_STOPCODE if not defined already + +__SIGRTMIN is internal to glibc and other libcs e.g. musl +may not provide them + +Fixes +https://sourceware.org/bugzilla/show_bug.cgi?id=13012 + +Upstream-Status: Submitted + +Signed-off-by: Khem Raj <raj.khem@gmail.com> +--- + gdb/linux-nat.c | 4 ++-- + gdb/nat/linux-nat.h | 4 ++++ + 2 files changed, 6 insertions(+), 2 deletions(-) + +diff --git a/gdb/linux-nat.c b/gdb/linux-nat.c +index 0829bcb..3b8a896 100644 +--- a/gdb/linux-nat.c ++++ b/gdb/linux-nat.c +@@ -4845,6 +4845,6 @@ lin_thread_get_thread_signals (sigset_t *set) + /* NPTL reserves the first two RT signals, but does not provide any + way for the debugger to query the signal numbers - fortunately + they don't change. */ +- sigaddset (set, __SIGRTMIN); +- sigaddset (set, __SIGRTMIN + 1); ++ sigaddset (set, SIGRTMIN); ++ sigaddset (set, SIGRTMIN + 1); + } +diff --git a/gdb/nat/linux-nat.h b/gdb/nat/linux-nat.h +index 2b485db..d058afc 100644 +--- a/gdb/nat/linux-nat.h ++++ b/gdb/nat/linux-nat.h +@@ -85,4 +85,8 @@ extern enum target_stop_reason lwp_stop_reason (struct lwp_info *lwp); + + extern void linux_stop_lwp (struct lwp_info *lwp); + ++#ifndef W_STOPCODE ++#define W_STOPCODE(sig) ((sig) << 8 | 0x7f) ++#endif ++ + #endif /* LINUX_NAT_H */ +-- +2.8.2 + diff --git a/import-layers/yocto-poky/meta/recipes-devtools/gdb/gdb/0002-Change-order-of-CFLAGS.patch b/import-layers/yocto-poky/meta/recipes-devtools/gdb/gdb/0009-Change-order-of-CFLAGS.patch index bccb45fda..a230047af 100644 --- a/import-layers/yocto-poky/meta/recipes-devtools/gdb/gdb/0002-Change-order-of-CFLAGS.patch +++ b/import-layers/yocto-poky/meta/recipes-devtools/gdb/gdb/0009-Change-order-of-CFLAGS.patch @@ -1,7 +1,7 @@ -From 262ccc4fdb2a3df0f16c61a807046964ae7729c9 Mon Sep 17 00:00:00 2001 +From ba0bbf887d4911ccee9df57cb13eafb1de34bb31 Mon Sep 17 00:00:00 2001 From: Khem Raj <raj.khem@gmail.com> -Date: Mon, 2 Mar 2015 02:29:23 +0000 -Subject: [PATCH 2/3] Change order of CFLAGS +Date: Sat, 30 Apr 2016 15:35:39 -0700 +Subject: [PATCH 09/10] Change order of CFLAGS Lets us override Werror if need be @@ -13,22 +13,22 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com> 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gdb/gdbserver/Makefile.in b/gdb/gdbserver/Makefile.in -index 1ed2ec8..0cef95b 100644 +index 1e874e3..91e8550 100644 --- a/gdb/gdbserver/Makefile.in +++ b/gdb/gdbserver/Makefile.in -@@ -131,10 +131,10 @@ CFLAGS = @CFLAGS@ +@@ -138,10 +138,10 @@ CXXFLAGS = @CXXFLAGS@ CPPFLAGS = @CPPFLAGS@ # INTERNAL_CFLAGS is the aggregate of all other *CFLAGS macros. --INTERNAL_CFLAGS_BASE = ${CFLAGS} ${GLOBAL_CFLAGS} \ -+INTERNAL_CFLAGS_BASE = ${GLOBAL_CFLAGS} \ +-INTERNAL_CFLAGS_BASE = ${COMPILER_CFLAGS} ${GLOBAL_CFLAGS} \ ++INTERNAL_CFLAGS_BASE = ${GLOBAL_CFLAGS} \ ${PROFILE_CFLAGS} ${INCLUDE_CFLAGS} ${CPPFLAGS} INTERNAL_WARN_CFLAGS = ${INTERNAL_CFLAGS_BASE} $(WARN_CFLAGS) -INTERNAL_CFLAGS = ${INTERNAL_WARN_CFLAGS} $(WERROR_CFLAGS) -DGDBSERVER -+INTERNAL_CFLAGS = ${INTERNAL_WARN_CFLAGS} $(WERROR_CFLAGS) ${CFLAGS} -DGDBSERVER ++INTERNAL_CFLAGS = ${INTERNAL_WARN_CFLAGS} $(WERROR_CFLAGS) ${COMPILER_CFLAGS} -DGDBSERVER # LDFLAGS is specifically reserved for setting from the command line # when running make. -- -2.1.4 +2.8.2 diff --git a/import-layers/yocto-poky/meta/recipes-devtools/gdb/gdb/0010-resolve-restrict-keyword-conflict.patch b/import-layers/yocto-poky/meta/recipes-devtools/gdb/gdb/0010-resolve-restrict-keyword-conflict.patch new file mode 100644 index 000000000..16c34c703 --- /dev/null +++ b/import-layers/yocto-poky/meta/recipes-devtools/gdb/gdb/0010-resolve-restrict-keyword-conflict.patch @@ -0,0 +1,48 @@ +From 5a9ccb8c0728b658fc4f7f0f7b36873c64274f10 Mon Sep 17 00:00:00 2001 +From: Khem Raj <raj.khem@gmail.com> +Date: Tue, 10 May 2016 08:47:05 -0700 +Subject: [PATCH 10/10] resolve restrict keyword conflict + +GCC detects that we call 'restrict' as param name in function +signatures and complains since both params are called 'restrict' +therefore we use __restrict to denote the C99 keywork + +Upstream-Status: Pending + +Signed-off-by: Khem Raj <raj.khem@gmail.com> +--- + gdb/gnulib/import/sys_time.in.h | 8 ++++---- + 1 file changed, 4 insertions(+), 4 deletions(-) + +diff --git a/gdb/gnulib/import/sys_time.in.h b/gdb/gnulib/import/sys_time.in.h +index c556c5d..2a6107f 100644 +--- a/gdb/gnulib/import/sys_time.in.h ++++ b/gdb/gnulib/import/sys_time.in.h +@@ -93,20 +93,20 @@ struct timeval + # define gettimeofday rpl_gettimeofday + # endif + _GL_FUNCDECL_RPL (gettimeofday, int, +- (struct timeval *restrict, void *restrict) ++ (struct timeval *__restrict, void *__restrict) + _GL_ARG_NONNULL ((1))); + _GL_CXXALIAS_RPL (gettimeofday, int, +- (struct timeval *restrict, void *restrict)); ++ (struct timeval *__restrict, void *__restrict)); + # else + # if !@HAVE_GETTIMEOFDAY@ + _GL_FUNCDECL_SYS (gettimeofday, int, +- (struct timeval *restrict, void *restrict) ++ (struct timeval *__restrict, void *__restrict) + _GL_ARG_NONNULL ((1))); + # endif + /* Need to cast, because on glibc systems, by default, the second argument is + struct timezone *. */ + _GL_CXXALIAS_SYS_CAST (gettimeofday, int, +- (struct timeval *restrict, void *restrict)); ++ (struct timeval *__restrict, void *__restrict)); + # endif + _GL_CXXALIASWARN (gettimeofday); + #elif defined GNULIB_POSIXCHECK +-- +2.8.2 + diff --git a/import-layers/yocto-poky/meta/recipes-devtools/gdb/gdb/0011-avx_mpx.patch b/import-layers/yocto-poky/meta/recipes-devtools/gdb/gdb/0011-avx_mpx.patch new file mode 100644 index 000000000..209c4fcbd --- /dev/null +++ b/import-layers/yocto-poky/meta/recipes-devtools/gdb/gdb/0011-avx_mpx.patch @@ -0,0 +1,2601 @@ +gdb: Backport patch to support changes with AVX and MPX + +The current MPX target descriptions assume that MPX is always combined +with AVX, however that's not correct. We can have machines with MPX +and without AVX; or machines with AVX and without MPX. + +This patch adds new target descriptions for machines that support +both MPX and AVX, as duplicates of the existing MPX descriptions. + +The following commit will remove AVX from the MPX-only descriptions. + +Upstream-Status: Backport + +Signed-off-by: bavery <brian.avery@intel.com> + + +Orignal patch changelog and author attribution: + +2016-04-16 Walfred Tedeschi <walfred.tedeschi@intel.com> + +gdb/ChangeLog: + + * amd64-linux-tdep.c (features/i386/amd64-avx-mpx-linux.c): + New include. + (amd64_linux_core_read_description): Add case for + X86_XSTATE_AVX_MPX_MASK. + (_initialize_amd64_linux_tdep): Call initialize_tdesc_amd64_avx_mpx_linux. + * amd64-linux-tdep.h (tdesc_amd64_avx_mpx_linux): New definition. + * amd64-tdep.c (features/i386/amd64-avx-mpx.c): New include. + (amd64_target_description): Add case for X86_XSTATE_AVX_MPX_MASK. + (_initialize_amd64_tdep): Call initialize_tdesc_amd64_avx_mpx. + * common/x86-xstate.h (X86_XSTATE_MPX_MASK): Remove AVX bits. + (X86_XSTATE_AVX_MPX_MASK): New case. + * features/Makefile (i386/i386-avx-mpx, i386/i386-avx-mpx-linux) + (i386/amd64-avx-mpx, i386/amd64-avx-mpx-linux): New rules. + (i386/i386-avx-mpx-expedite, i386/i386-avx-mpx-linux-expedite) + (i386/amd64-avx-mpx-expedite, i386/amd64-avx-mpx-linux-expedite): + New expedites. + * i386-linux-tdep.c (features/i386/i386-avx-mpx-linux.c): New + include. + (i386_linux_core_read_description): Add case + X86_XSTATE_AVX_MPX_MASK. + (_initialize_i386_linux_tdep): Call + initialize_tdesc_i386_avx_mpx_linux. + * i386-linux-tdep.h (tdesc_i386_avx_mpx_linux): New include. + * i386-tdep.c (features/i386/i386-avx-mpx.c): New include. + (i386_target_description): Add case for X86_XSTATE_AVX_MPX_MASK. + * x86-linux-nat.c (x86_linux_read_description): Add case for + X86_XSTATE_AVX_MPX_MASK. + * features/i386/amd64-avx-mpx-linux.xml: New file. + * features/i386/i386-avx-mpx-linux.xml: New file. + * features/i386/i386-avx-mpx.xml: New file. + * features/i386/amd64-avx-mpx.xml: New file. + * features/i386/amd64-avx-mpx-linux.c: Generated. + * features/i386/amd64-avx-mpx.c: Generated. + * features/i386/i386-avx-mpx-linux.c: Generated. + * features/i386/i386-avx-mpx.c: Generated. + * regformats/i386/amd64-avx-mpx-linux.dat: Generated. + * regformats/i386/amd64-avx-mpx.dat: Generated. + * regformats/i386/i386-avx-mpx-linux.dat: Generated. + * regformats/i386/i386-avx-mpx.dat: Generated. + +gdb/gdbserver/ChangeLog: + + * Makefile.in (clean): Add removal for i386-avx-mpx.c, + i386-avx-mpx-linux.c, amd64-avx-mpx.c and amd64-avx-mpx-linux.c. + (i386-avx-mpx.c, i386-avx-mpx-linux.c, amd64-avx-mpx.c) + (amd64-avx-mpx-linux.c): New rules. + (amd64-avx-mpx-linux-ipa.o, i386-avx-mpx-linux-ipa.o): New rule. + * configure.srv (srv_i386_regobj): Add i386-avx-mpx.o. + (srv_i386_linux_regobj): Add i386-avx-mpx-linux.o. + (srv_amd64_regobj): Add amd64-avx-mpx.o. + (srv_amd64_linux_regobj): Add amd64-avx-mpx-linux.o. + (srv_i386_xmlfiles): Add i386/i386-avx-mpx.xml. + (srv_amd64_xmlfiles): Add i386/amd64-avx-mpx.xml. + (srv_i386_linux_xmlfiles): Add i386/i386-avx-mpx-linux.xml. + (srv_amd64_linux_xmlfiles): Add i386/amd64-avx-mpx-linux.xml. + (ipa_i386_linux_regobj): Add i386-avx-mpx-linux-ipa.o. + (ipa_amd64_linux_regobj): Add amd64-avx-mpx-linux-ipa.o. + * linux-x86-low.c (x86_linux_read_description): Add case for + X86_XSTATE_AVX_MPX_MASK. + (x86_get_ipa_tdesc_idx): Add cases for avx_mpx. + (initialize_low_arch): Call init_registers_amd64_avx_mpx_linux and + init_registers_i386_avx_mpx_linux. + * linux-i386-ipa.c (get_ipa_tdesc): Add case for avx_mpx. + (initialize_low_tracepoint): Call + init_registers_i386_avx_mpx_linux. + * linux-amd64-ipa.c (get_ipa_tdesc): Add case for avx_mpx. + (initialize_low_tracepoint): Call + init_registers_amd64_avx_mpx_linux. + * linux-x86-tdesc.h (X86_TDESC_AVX_MPX): New enum value. + (init_registers_amd64_avx_mpx_linux, tdesc_amd64_avx_mpx_linux) + (init_registers_i386_avx_mpx_linux, tdesc_i386_avx_mpx_linux): New + declarations. + + + + +diff --git a/gdb/amd64-linux-tdep.c b/gdb/amd64-linux-tdep.c +index 21bcd99..5327f7c 100644 +--- a/gdb/amd64-linux-tdep.c ++++ b/gdb/amd64-linux-tdep.c +@@ -43,6 +43,7 @@ + #include "features/i386/amd64-linux.c" + #include "features/i386/amd64-avx-linux.c" + #include "features/i386/amd64-mpx-linux.c" ++#include "features/i386/amd64-avx-mpx-linux.c" + #include "features/i386/amd64-avx512-linux.c" + + #include "features/i386/x32-linux.c" +@@ -1590,6 +1591,11 @@ amd64_linux_core_read_description (struct gdbarch *gdbarch, + return tdesc_x32_avx_linux; /* No x32 MPX falling back to AVX. */ + else + return tdesc_amd64_mpx_linux; ++ case X86_XSTATE_AVX_MPX_MASK: ++ if (gdbarch_ptr_bit (gdbarch) == 32) ++ return tdesc_x32_avx_linux; /* No x32 MPX falling back to AVX. */ ++ else ++ return tdesc_amd64_avx_mpx_linux; + case X86_XSTATE_AVX_MASK: + if (gdbarch_ptr_bit (gdbarch) == 32) + return tdesc_x32_avx_linux; +@@ -2285,6 +2291,7 @@ _initialize_amd64_linux_tdep (void) + initialize_tdesc_amd64_linux (); + initialize_tdesc_amd64_avx_linux (); + initialize_tdesc_amd64_mpx_linux (); ++ initialize_tdesc_amd64_avx_mpx_linux (); + initialize_tdesc_amd64_avx512_linux (); + + initialize_tdesc_x32_linux (); +diff --git a/gdb/amd64-linux-tdep.h b/gdb/amd64-linux-tdep.h +index 8673442..d64d5d6 100644 +--- a/gdb/amd64-linux-tdep.h ++++ b/gdb/amd64-linux-tdep.h +@@ -35,6 +35,7 @@ + extern struct target_desc *tdesc_amd64_linux; + extern struct target_desc *tdesc_amd64_avx_linux; + extern struct target_desc *tdesc_amd64_mpx_linux; ++extern struct target_desc *tdesc_amd64_avx_mpx_linux; + extern struct target_desc *tdesc_amd64_avx512_linux; + + extern struct target_desc *tdesc_x32_linux; +diff --git a/gdb/amd64-tdep.c b/gdb/amd64-tdep.c +index fae92b2..88e3bf8 100644 +--- a/gdb/amd64-tdep.c ++++ b/gdb/amd64-tdep.c +@@ -44,6 +44,7 @@ + #include "features/i386/amd64.c" + #include "features/i386/amd64-avx.c" + #include "features/i386/amd64-mpx.c" ++#include "features/i386/amd64-avx-mpx.c" + #include "features/i386/amd64-avx512.c" + + #include "features/i386/x32.c" +@@ -3132,6 +3133,8 @@ amd64_target_description (uint64_t xcr0) + return tdesc_amd64_avx512; + case X86_XSTATE_MPX_MASK: + return tdesc_amd64_mpx; ++ case X86_XSTATE_AVX_MPX_MASK: ++ return tdesc_amd64_avx_mpx; + case X86_XSTATE_AVX_MASK: + return tdesc_amd64_avx; + default: +@@ -3148,6 +3151,7 @@ _initialize_amd64_tdep (void) + initialize_tdesc_amd64 (); + initialize_tdesc_amd64_avx (); + initialize_tdesc_amd64_mpx (); ++ initialize_tdesc_amd64_avx_mpx (); + initialize_tdesc_amd64_avx512 (); + + initialize_tdesc_x32 (); +diff --git a/gdb/common/x86-xstate.h b/gdb/common/x86-xstate.h +index 8386420..0aa9164 100644 +--- a/gdb/common/x86-xstate.h ++++ b/gdb/common/x86-xstate.h +@@ -39,9 +39,10 @@ + #define X86_XSTATE_X87_MASK X86_XSTATE_X87 + #define X86_XSTATE_SSE_MASK (X86_XSTATE_X87 | X86_XSTATE_SSE) + #define X86_XSTATE_AVX_MASK (X86_XSTATE_SSE_MASK | X86_XSTATE_AVX) +-#define X86_XSTATE_MPX_MASK (X86_XSTATE_AVX_MASK | X86_XSTATE_MPX) ++#define X86_XSTATE_MPX_MASK (X86_XSTATE_SSE_MASK | X86_XSTATE_MPX) ++#define X86_XSTATE_AVX_MPX_MASK (X86_XSTATE_AVX_MASK | X86_XSTATE_MPX) + #define X86_XSTATE_AVX512_MASK (X86_XSTATE_AVX_MASK | X86_XSTATE_AVX512) +-#define X86_XSTATE_MPX_AVX512_MASK (X86_XSTATE_MPX_MASK | X86_XSTATE_AVX512) ++#define X86_XSTATE_MPX_AVX512_MASK (X86_XSTATE_AVX_MPX_MASK | X86_XSTATE_AVX512) + + #define X86_XSTATE_ALL_MASK (X86_XSTATE_MPX_AVX512_MASK) + +diff --git a/gdb/features/Makefile b/gdb/features/Makefile +index 10173cf..e5c5154 100644 +--- a/gdb/features/Makefile ++++ b/gdb/features/Makefile +@@ -50,9 +50,11 @@ WHICH = aarch64 \ + i386/amd64 i386/amd64-linux \ + i386/i386-avx i386/i386-avx-linux \ + i386/i386-mpx i386/i386-mpx-linux \ ++ i386/i386-avx-mpx i386/i386-avx-mpx-linux \ + i386/i386-avx512 i386/i386-avx512-linux \ + i386/amd64-avx i386/amd64-avx-linux \ + i386/amd64-mpx i386/amd64-mpx-linux \ ++ i386/amd64-avx-mpx i386/amd64-avx-mpx-linux \ + i386/amd64-avx512 i386/amd64-avx512-linux \ + i386/x32 i386/x32-linux \ + i386/x32-avx i386/x32-avx-linux \ +@@ -83,7 +85,9 @@ i386/amd64-linux-expedite = rbp,rsp,rip + i386/i386-avx-expedite = ebp,esp,eip + i386/i386-avx-linux-expedite = ebp,esp,eip + i386/i386-mpx-expedite = ebp,esp,eip ++i386/i386-avx-mpx-expedite = ebp,esp,eip + i386/i386-mpx-linux-expedite = ebp,esp,eip ++i386/i386-avx-mpx-linux-expedite = ebp,esp,eip + i386/i386-avx512-expedite = ebp,esp,eip + i386/i386-avx512-linux-expedite = ebp,esp,eip + i386/i386-mmx-expedite = ebp,esp,eip +@@ -91,7 +95,9 @@ i386/i386-mmx-linux-expedite = ebp,esp,eip + i386/amd64-avx-expedite = rbp,rsp,rip + i386/amd64-avx-linux-expedite = rbp,rsp,rip + i386/amd64-mpx-expedite = rbp,rsp,rip ++i386/amd64-avx-mpx-expedite = rbp,rsp,rip + i386/amd64-mpx-linux-expedite = rbp,rsp,rip ++i386/amd64-avx-mpx-linux-expedite = rbp,rsp,rip + i386/amd64-avx512-expedite = rbp,rsp,rip + i386/amd64-avx512-linux-expedite = rbp,rsp,rip + i386/x32-expedite = rbp,rsp,rip +@@ -156,6 +162,8 @@ XMLTOC = \ + i386/amd64-linux.xml \ + i386/amd64-mpx-linux.xml \ + i386/amd64-mpx.xml \ ++ i386/amd64-avx-mpx-linux.xml \ ++ i386/amd64-avx-mpx.xml \ + i386/amd64.xml \ + i386/i386-avx-linux.xml \ + i386/i386-avx.xml \ +@@ -166,6 +174,8 @@ XMLTOC = \ + i386/i386-mmx.xml \ + i386/i386-mpx-linux.xml \ + i386/i386-mpx.xml \ ++ i386/i386-avx-mpx-linux.xml \ ++ i386/i386-avx-mpx.xml \ + i386/i386.xml \ + i386/x32-avx-linux.xml \ + i386/x32-avx.xml \ +@@ -271,6 +281,10 @@ $(outdir)/i386/i386-mpx.dat: i386/32bit-core.xml i386/32bit-avx.xml \ + i386/32bit-mpx.xml + $(outdir)/i386/i386-mpx-linux.dat: i386/32bit-core.xml i386/32bit-avx.xml \ + i386/32bit-linux.xml i386/32bit-mpx.xml ++$(outdir)/i386/i386-mpx-linux.dat: i386/32bit-core.xml \ ++ i386/32bit-linux.xml i386/32bit-mpx.xml ++$(outdir)/i386/i386-avx-mpx-linux.dat: i386/32bit-core.xml \ ++ i386/32bit-linux.xml i386/32bit-mpx.xml + $(outdir)/i386/i386-avx512.dat: i386/32bit-core.xml i386/32bit-avx.xml \ + i386/32bit-mpx.xml i386/32bit-avx512.xml + $(outdir)/i386/i386-avx512-linux.dat: i386/32bit-core.xml i386/32bit-avx.xml \ +@@ -282,8 +296,12 @@ $(outdir)/i386/amd64-avx-linux.dat: i386/64bit-core.xml i386/64bit-avx.xml \ + i386/64bit-linux.xml + $(outdir)/i386/amd64-mpx-linux.dat: i386/64bit-core.xml i386/64bit-avx.xml \ + i386/64bit-linux.xml i386/64bit-mpx.xml ++$(outdir)/i386/amd64-avx-mpx-linux.dat: i386/64bit-core.xml \ ++ i386/64bit-linux.xml i386/64bit-mpx.xml + $(outdir)/i386/amd64-mpx.dat: i386/64bit-core.xml i386/64bit-avx.xml \ + i386/64bit-mpx.xml ++$(outdir)/i386/amd64-avx-mpx.dat: i386/64bit-core.xml \ ++ i386/64bit-mpx.xml + $(outdir)/i386/amd64-avx512.dat: i386/64bit-core.xml i386/64bit-avx.xml \ + i386/64bit-mpx.xml i386/64bit-avx512.xml + $(outdir)/i386/amd64-avx512-linux.dat: i386/64bit-core.xml i386/64bit-avx.xml \ +diff --git a/gdb/features/i386/amd64-avx-mpx-linux.c b/gdb/features/i386/amd64-avx-mpx-linux.c +new file mode 100644 +index 0000000..37b4c81 +--- /dev/null ++++ b/gdb/features/i386/amd64-avx-mpx-linux.c +@@ -0,0 +1,211 @@ ++/* THIS FILE IS GENERATED. -*- buffer-read-only: t -*- vi:set ro: ++ Original: amd64-avx-mpx-linux.xml */ ++ ++#include "defs.h" ++#include "osabi.h" ++#include "target-descriptions.h" ++ ++struct target_desc *tdesc_amd64_avx_mpx_linux; ++static void ++initialize_tdesc_amd64_avx_mpx_linux (void) ++{ ++ struct target_desc *result = allocate_target_description (); ++ struct tdesc_feature *feature; ++ struct tdesc_type *field_type; ++ struct tdesc_type *type; ++ ++ set_tdesc_architecture (result, bfd_scan_arch ("i386:x86-64")); ++ ++ set_tdesc_osabi (result, osabi_from_tdesc_string ("GNU/Linux")); ++ ++ feature = tdesc_create_feature (result, "org.gnu.gdb.i386.core"); ++ field_type = tdesc_create_flags (feature, "i386_eflags", 4); ++ tdesc_add_flag (field_type, 0, "CF"); ++ tdesc_add_flag (field_type, 1, ""); ++ tdesc_add_flag (field_type, 2, "PF"); ++ tdesc_add_flag (field_type, 4, "AF"); ++ tdesc_add_flag (field_type, 6, "ZF"); ++ tdesc_add_flag (field_type, 7, "SF"); ++ tdesc_add_flag (field_type, 8, "TF"); ++ tdesc_add_flag (field_type, 9, "IF"); ++ tdesc_add_flag (field_type, 10, "DF"); ++ tdesc_add_flag (field_type, 11, "OF"); ++ tdesc_add_flag (field_type, 14, "NT"); ++ tdesc_add_flag (field_type, 16, "RF"); ++ tdesc_add_flag (field_type, 17, "VM"); ++ tdesc_add_flag (field_type, 18, "AC"); ++ tdesc_add_flag (field_type, 19, "VIF"); ++ tdesc_add_flag (field_type, 20, "VIP"); ++ tdesc_add_flag (field_type, 21, "ID"); ++ ++ tdesc_create_reg (feature, "rax", 0, 1, NULL, 64, "int64"); ++ tdesc_create_reg (feature, "rbx", 1, 1, NULL, 64, "int64"); ++ tdesc_create_reg (feature, "rcx", 2, 1, NULL, 64, "int64"); ++ tdesc_create_reg (feature, "rdx", 3, 1, NULL, 64, "int64"); ++ tdesc_create_reg (feature, "rsi", 4, 1, NULL, 64, "int64"); ++ tdesc_create_reg (feature, "rdi", 5, 1, NULL, 64, "int64"); ++ tdesc_create_reg (feature, "rbp", 6, 1, NULL, 64, "data_ptr"); ++ tdesc_create_reg (feature, "rsp", 7, 1, NULL, 64, "data_ptr"); ++ tdesc_create_reg (feature, "r8", 8, 1, NULL, 64, "int64"); ++ tdesc_create_reg (feature, "r9", 9, 1, NULL, 64, "int64"); ++ tdesc_create_reg (feature, "r10", 10, 1, NULL, 64, "int64"); ++ tdesc_create_reg (feature, "r11", 11, 1, NULL, 64, "int64"); ++ tdesc_create_reg (feature, "r12", 12, 1, NULL, 64, "int64"); ++ tdesc_create_reg (feature, "r13", 13, 1, NULL, 64, "int64"); ++ tdesc_create_reg (feature, "r14", 14, 1, NULL, 64, "int64"); ++ tdesc_create_reg (feature, "r15", 15, 1, NULL, 64, "int64"); ++ tdesc_create_reg (feature, "rip", 16, 1, NULL, 64, "code_ptr"); ++ tdesc_create_reg (feature, "eflags", 17, 1, NULL, 32, "i386_eflags"); ++ tdesc_create_reg (feature, "cs", 18, 1, NULL, 32, "int32"); ++ tdesc_create_reg (feature, "ss", 19, 1, NULL, 32, "int32"); ++ tdesc_create_reg (feature, "ds", 20, 1, NULL, 32, "int32"); ++ tdesc_create_reg (feature, "es", 21, 1, NULL, 32, "int32"); ++ tdesc_create_reg (feature, "fs", 22, 1, NULL, 32, "int32"); ++ tdesc_create_reg (feature, "gs", 23, 1, NULL, 32, "int32"); ++ tdesc_create_reg (feature, "st0", 24, 1, NULL, 80, "i387_ext"); ++ tdesc_create_reg (feature, "st1", 25, 1, NULL, 80, "i387_ext"); ++ tdesc_create_reg (feature, "st2", 26, 1, NULL, 80, "i387_ext"); ++ tdesc_create_reg (feature, "st3", 27, 1, NULL, 80, "i387_ext"); ++ tdesc_create_reg (feature, "st4", 28, 1, NULL, 80, "i387_ext"); ++ tdesc_create_reg (feature, "st5", 29, 1, NULL, 80, "i387_ext"); ++ tdesc_create_reg (feature, "st6", 30, 1, NULL, 80, "i387_ext"); ++ tdesc_create_reg (feature, "st7", 31, 1, NULL, 80, "i387_ext"); ++ tdesc_create_reg (feature, "fctrl", 32, 1, "float", 32, "int"); ++ tdesc_create_reg (feature, "fstat", 33, 1, "float", 32, "int"); ++ tdesc_create_reg (feature, "ftag", 34, 1, "float", 32, "int"); ++ tdesc_create_reg (feature, "fiseg", 35, 1, "float", 32, "int"); ++ tdesc_create_reg (feature, "fioff", 36, 1, "float", 32, "int"); ++ tdesc_create_reg (feature, "foseg", 37, 1, "float", 32, "int"); ++ tdesc_create_reg (feature, "fooff", 38, 1, "float", 32, "int"); ++ tdesc_create_reg (feature, "fop", 39, 1, "float", 32, "int"); ++ ++ feature = tdesc_create_feature (result, "org.gnu.gdb.i386.sse"); ++ field_type = tdesc_named_type (feature, "ieee_single"); ++ tdesc_create_vector (feature, "v4f", field_type, 4); ++ ++ field_type = tdesc_named_type (feature, "ieee_double"); ++ tdesc_create_vector (feature, "v2d", field_type, 2); ++ ++ field_type = tdesc_named_type (feature, "int8"); ++ tdesc_create_vector (feature, "v16i8", field_type, 16); ++ ++ field_type = tdesc_named_type (feature, "int16"); ++ tdesc_create_vector (feature, "v8i16", field_type, 8); ++ ++ field_type = tdesc_named_type (feature, "int32"); ++ tdesc_create_vector (feature, "v4i32", field_type, 4); ++ ++ field_type = tdesc_named_type (feature, "int64"); ++ tdesc_create_vector (feature, "v2i64", field_type, 2); ++ ++ type = tdesc_create_union (feature, "vec128"); ++ field_type = tdesc_named_type (feature, "v4f"); ++ tdesc_add_field (type, "v4_float", field_type); ++ field_type = tdesc_named_type (feature, "v2d"); ++ tdesc_add_field (type, "v2_double", field_type); ++ field_type = tdesc_named_type (feature, "v16i8"); ++ tdesc_add_field (type, "v16_int8", field_type); ++ field_type = tdesc_named_type (feature, "v8i16"); ++ tdesc_add_field (type, "v8_int16", field_type); ++ field_type = tdesc_named_type (feature, "v4i32"); ++ tdesc_add_field (type, "v4_int32", field_type); ++ field_type = tdesc_named_type (feature, "v2i64"); ++ tdesc_add_field (type, "v2_int64", field_type); ++ field_type = tdesc_named_type (feature, "uint128"); ++ tdesc_add_field (type, "uint128", field_type); ++ ++ field_type = tdesc_create_flags (feature, "i386_mxcsr", 4); ++ tdesc_add_flag (field_type, 0, "IE"); ++ tdesc_add_flag (field_type, 1, "DE"); ++ tdesc_add_flag (field_type, 2, "ZE"); ++ tdesc_add_flag (field_type, 3, "OE"); ++ tdesc_add_flag (field_type, 4, "UE"); ++ tdesc_add_flag (field_type, 5, "PE"); ++ tdesc_add_flag (field_type, 6, "DAZ"); ++ tdesc_add_flag (field_type, 7, "IM"); ++ tdesc_add_flag (field_type, 8, "DM"); ++ tdesc_add_flag (field_type, 9, "ZM"); ++ tdesc_add_flag (field_type, 10, "OM"); ++ tdesc_add_flag (field_type, 11, "UM"); ++ tdesc_add_flag (field_type, 12, "PM"); ++ tdesc_add_flag (field_type, 15, "FZ"); ++ ++ tdesc_create_reg (feature, "xmm0", 40, 1, NULL, 128, "vec128"); ++ tdesc_create_reg (feature, "xmm1", 41, 1, NULL, 128, "vec128"); ++ tdesc_create_reg (feature, "xmm2", 42, 1, NULL, 128, "vec128"); ++ tdesc_create_reg (feature, "xmm3", 43, 1, NULL, 128, "vec128"); ++ tdesc_create_reg (feature, "xmm4", 44, 1, NULL, 128, "vec128"); ++ tdesc_create_reg (feature, "xmm5", 45, 1, NULL, 128, "vec128"); ++ tdesc_create_reg (feature, "xmm6", 46, 1, NULL, 128, "vec128"); ++ tdesc_create_reg (feature, "xmm7", 47, 1, NULL, 128, "vec128"); ++ tdesc_create_reg (feature, "xmm8", 48, 1, NULL, 128, "vec128"); ++ tdesc_create_reg (feature, "xmm9", 49, 1, NULL, 128, "vec128"); ++ tdesc_create_reg (feature, "xmm10", 50, 1, NULL, 128, "vec128"); ++ tdesc_create_reg (feature, "xmm11", 51, 1, NULL, 128, "vec128"); ++ tdesc_create_reg (feature, "xmm12", 52, 1, NULL, 128, "vec128"); ++ tdesc_create_reg (feature, "xmm13", 53, 1, NULL, 128, "vec128"); ++ tdesc_create_reg (feature, "xmm14", 54, 1, NULL, 128, "vec128"); ++ tdesc_create_reg (feature, "xmm15", 55, 1, NULL, 128, "vec128"); ++ tdesc_create_reg (feature, "mxcsr", 56, 1, "vector", 32, "i386_mxcsr"); ++ ++ feature = tdesc_create_feature (result, "org.gnu.gdb.i386.linux"); ++ tdesc_create_reg (feature, "orig_rax", 57, 1, NULL, 64, "int"); ++ ++ feature = tdesc_create_feature (result, "org.gnu.gdb.i386.avx"); ++ tdesc_create_reg (feature, "ymm0h", 58, 1, NULL, 128, "uint128"); ++ tdesc_create_reg (feature, "ymm1h", 59, 1, NULL, 128, "uint128"); ++ tdesc_create_reg (feature, "ymm2h", 60, 1, NULL, 128, "uint128"); ++ tdesc_create_reg (feature, "ymm3h", 61, 1, NULL, 128, "uint128"); ++ tdesc_create_reg (feature, "ymm4h", 62, 1, NULL, 128, "uint128"); ++ tdesc_create_reg (feature, "ymm5h", 63, 1, NULL, 128, "uint128"); ++ tdesc_create_reg (feature, "ymm6h", 64, 1, NULL, 128, "uint128"); ++ tdesc_create_reg (feature, "ymm7h", 65, 1, NULL, 128, "uint128"); ++ tdesc_create_reg (feature, "ymm8h", 66, 1, NULL, 128, "uint128"); ++ tdesc_create_reg (feature, "ymm9h", 67, 1, NULL, 128, "uint128"); ++ tdesc_create_reg (feature, "ymm10h", 68, 1, NULL, 128, "uint128"); ++ tdesc_create_reg (feature, "ymm11h", 69, 1, NULL, 128, "uint128"); ++ tdesc_create_reg (feature, "ymm12h", 70, 1, NULL, 128, "uint128"); ++ tdesc_create_reg (feature, "ymm13h", 71, 1, NULL, 128, "uint128"); ++ tdesc_create_reg (feature, "ymm14h", 72, 1, NULL, 128, "uint128"); ++ tdesc_create_reg (feature, "ymm15h", 73, 1, NULL, 128, "uint128"); ++ ++ feature = tdesc_create_feature (result, "org.gnu.gdb.i386.mpx"); ++ type = tdesc_create_struct (feature, "br128"); ++ field_type = tdesc_named_type (feature, "uint64"); ++ tdesc_add_field (type, "lbound", field_type); ++ field_type = tdesc_named_type (feature, "uint64"); ++ tdesc_add_field (type, "ubound_raw", field_type); ++ ++ type = tdesc_create_struct (feature, "_bndstatus"); ++ tdesc_set_struct_size (type, 8); ++ tdesc_add_bitfield (type, "bde", 2, 63); ++ tdesc_add_bitfield (type, "error", 0, 1); ++ ++ type = tdesc_create_union (feature, "status"); ++ field_type = tdesc_named_type (feature, "data_ptr"); ++ tdesc_add_field (type, "raw", field_type); ++ field_type = tdesc_named_type (feature, "_bndstatus"); ++ tdesc_add_field (type, "status", field_type); ++ ++ type = tdesc_create_struct (feature, "_bndcfgu"); ++ tdesc_set_struct_size (type, 8); ++ tdesc_add_bitfield (type, "base", 12, 63); ++ tdesc_add_bitfield (type, "reserved", 2, 11); ++ tdesc_add_bitfield (type, "preserved", 1, 1); ++ tdesc_add_bitfield (type, "enabled", 0, 0); ++ ++ type = tdesc_create_union (feature, "cfgu"); ++ field_type = tdesc_named_type (feature, "data_ptr"); ++ tdesc_add_field (type, "raw", field_type); ++ field_type = tdesc_named_type (feature, "_bndcfgu"); ++ tdesc_add_field (type, "config", field_type); ++ ++ tdesc_create_reg (feature, "bnd0raw", 74, 1, NULL, 128, "br128"); ++ tdesc_create_reg (feature, "bnd1raw", 75, 1, NULL, 128, "br128"); ++ tdesc_create_reg (feature, "bnd2raw", 76, 1, NULL, 128, "br128"); ++ tdesc_create_reg (feature, "bnd3raw", 77, 1, NULL, 128, "br128"); ++ tdesc_create_reg (feature, "bndcfgu", 78, 1, NULL, 64, "cfgu"); ++ tdesc_create_reg (feature, "bndstatus", 79, 1, NULL, 64, "status"); ++ ++ tdesc_amd64_avx_mpx_linux = result; ++} +diff --git a/gdb/features/i386/amd64-avx-mpx-linux.xml b/gdb/features/i386/amd64-avx-mpx-linux.xml +new file mode 100644 +index 0000000..526c700 +--- /dev/null ++++ b/gdb/features/i386/amd64-avx-mpx-linux.xml +@@ -0,0 +1,19 @@ ++<?xml version="1.0"?> ++<!-- Copyright (C) 2013-2016 Free Software Foundation, Inc. ++ ++ Copying and distribution of this file, with or without modification, ++ are permitted in any medium without royalty provided the copyright ++ notice and this notice are preserved. --> ++ ++<!-- AMD64 with AVX and MPX - Includes Linux-only special "register". --> ++ ++<!DOCTYPE target SYSTEM "gdb-target.dtd"> ++<target> ++ <architecture>i386:x86-64</architecture> ++ <osabi>GNU/Linux</osabi> ++ <xi:include href="64bit-core.xml"/> ++ <xi:include href="64bit-sse.xml"/> ++ <xi:include href="64bit-linux.xml"/> ++ <xi:include href="64bit-avx.xml"/> ++ <xi:include href="64bit-mpx.xml"/> ++</target> +diff --git a/gdb/features/i386/amd64-avx-mpx.c b/gdb/features/i386/amd64-avx-mpx.c +new file mode 100644 +index 0000000..1279f73 +--- /dev/null ++++ b/gdb/features/i386/amd64-avx-mpx.c +@@ -0,0 +1,206 @@ ++/* THIS FILE IS GENERATED. -*- buffer-read-only: t -*- vi:set ro: ++ Original: amd64-avx-mpx.xml */ ++ ++#include "defs.h" ++#include "osabi.h" ++#include "target-descriptions.h" ++ ++struct target_desc *tdesc_amd64_avx_mpx; ++static void ++initialize_tdesc_amd64_avx_mpx (void) ++{ ++ struct target_desc *result = allocate_target_description (); ++ struct tdesc_feature *feature; ++ struct tdesc_type *field_type; ++ struct tdesc_type *type; ++ ++ set_tdesc_architecture (result, bfd_scan_arch ("i386:x86-64")); ++ ++ feature = tdesc_create_feature (result, "org.gnu.gdb.i386.core"); ++ field_type = tdesc_create_flags (feature, "i386_eflags", 4); ++ tdesc_add_flag (field_type, 0, "CF"); ++ tdesc_add_flag (field_type, 1, ""); ++ tdesc_add_flag (field_type, 2, "PF"); ++ tdesc_add_flag (field_type, 4, "AF"); ++ tdesc_add_flag (field_type, 6, "ZF"); ++ tdesc_add_flag (field_type, 7, "SF"); ++ tdesc_add_flag (field_type, 8, "TF"); ++ tdesc_add_flag (field_type, 9, "IF"); ++ tdesc_add_flag (field_type, 10, "DF"); ++ tdesc_add_flag (field_type, 11, "OF"); ++ tdesc_add_flag (field_type, 14, "NT"); ++ tdesc_add_flag (field_type, 16, "RF"); ++ tdesc_add_flag (field_type, 17, "VM"); ++ tdesc_add_flag (field_type, 18, "AC"); ++ tdesc_add_flag (field_type, 19, "VIF"); ++ tdesc_add_flag (field_type, 20, "VIP"); ++ tdesc_add_flag (field_type, 21, "ID"); ++ ++ tdesc_create_reg (feature, "rax", 0, 1, NULL, 64, "int64"); ++ tdesc_create_reg (feature, "rbx", 1, 1, NULL, 64, "int64"); ++ tdesc_create_reg (feature, "rcx", 2, 1, NULL, 64, "int64"); ++ tdesc_create_reg (feature, "rdx", 3, 1, NULL, 64, "int64"); ++ tdesc_create_reg (feature, "rsi", 4, 1, NULL, 64, "int64"); ++ tdesc_create_reg (feature, "rdi", 5, 1, NULL, 64, "int64"); ++ tdesc_create_reg (feature, "rbp", 6, 1, NULL, 64, "data_ptr"); ++ tdesc_create_reg (feature, "rsp", 7, 1, NULL, 64, "data_ptr"); ++ tdesc_create_reg (feature, "r8", 8, 1, NULL, 64, "int64"); ++ tdesc_create_reg (feature, "r9", 9, 1, NULL, 64, "int64"); ++ tdesc_create_reg (feature, "r10", 10, 1, NULL, 64, "int64"); ++ tdesc_create_reg (feature, "r11", 11, 1, NULL, 64, "int64"); ++ tdesc_create_reg (feature, "r12", 12, 1, NULL, 64, "int64"); ++ tdesc_create_reg (feature, "r13", 13, 1, NULL, 64, "int64"); ++ tdesc_create_reg (feature, "r14", 14, 1, NULL, 64, "int64"); ++ tdesc_create_reg (feature, "r15", 15, 1, NULL, 64, "int64"); ++ tdesc_create_reg (feature, "rip", 16, 1, NULL, 64, "code_ptr"); ++ tdesc_create_reg (feature, "eflags", 17, 1, NULL, 32, "i386_eflags"); ++ tdesc_create_reg (feature, "cs", 18, 1, NULL, 32, "int32"); ++ tdesc_create_reg (feature, "ss", 19, 1, NULL, 32, "int32"); ++ tdesc_create_reg (feature, "ds", 20, 1, NULL, 32, "int32"); ++ tdesc_create_reg (feature, "es", 21, 1, NULL, 32, "int32"); ++ tdesc_create_reg (feature, "fs", 22, 1, NULL, 32, "int32"); ++ tdesc_create_reg (feature, "gs", 23, 1, NULL, 32, "int32"); ++ tdesc_create_reg (feature, "st0", 24, 1, NULL, 80, "i387_ext"); ++ tdesc_create_reg (feature, "st1", 25, 1, NULL, 80, "i387_ext"); ++ tdesc_create_reg (feature, "st2", 26, 1, NULL, 80, "i387_ext"); ++ tdesc_create_reg (feature, "st3", 27, 1, NULL, 80, "i387_ext"); ++ tdesc_create_reg (feature, "st4", 28, 1, NULL, 80, "i387_ext"); ++ tdesc_create_reg (feature, "st5", 29, 1, NULL, 80, "i387_ext"); ++ tdesc_create_reg (feature, "st6", 30, 1, NULL, 80, "i387_ext"); ++ tdesc_create_reg (feature, "st7", 31, 1, NULL, 80, "i387_ext"); ++ tdesc_create_reg (feature, "fctrl", 32, 1, "float", 32, "int"); ++ tdesc_create_reg (feature, "fstat", 33, 1, "float", 32, "int"); ++ tdesc_create_reg (feature, "ftag", 34, 1, "float", 32, "int"); ++ tdesc_create_reg (feature, "fiseg", 35, 1, "float", 32, "int"); ++ tdesc_create_reg (feature, "fioff", 36, 1, "float", 32, "int"); ++ tdesc_create_reg (feature, "foseg", 37, 1, "float", 32, "int"); ++ tdesc_create_reg (feature, "fooff", 38, 1, "float", 32, "int"); ++ tdesc_create_reg (feature, "fop", 39, 1, "float", 32, "int"); ++ ++ feature = tdesc_create_feature (result, "org.gnu.gdb.i386.sse"); ++ field_type = tdesc_named_type (feature, "ieee_single"); ++ tdesc_create_vector (feature, "v4f", field_type, 4); ++ ++ field_type = tdesc_named_type (feature, "ieee_double"); ++ tdesc_create_vector (feature, "v2d", field_type, 2); ++ ++ field_type = tdesc_named_type (feature, "int8"); ++ tdesc_create_vector (feature, "v16i8", field_type, 16); ++ ++ field_type = tdesc_named_type (feature, "int16"); ++ tdesc_create_vector (feature, "v8i16", field_type, 8); ++ ++ field_type = tdesc_named_type (feature, "int32"); ++ tdesc_create_vector (feature, "v4i32", field_type, 4); ++ ++ field_type = tdesc_named_type (feature, "int64"); ++ tdesc_create_vector (feature, "v2i64", field_type, 2); ++ ++ type = tdesc_create_union (feature, "vec128"); ++ field_type = tdesc_named_type (feature, "v4f"); ++ tdesc_add_field (type, "v4_float", field_type); ++ field_type = tdesc_named_type (feature, "v2d"); ++ tdesc_add_field (type, "v2_double", field_type); ++ field_type = tdesc_named_type (feature, "v16i8"); ++ tdesc_add_field (type, "v16_int8", field_type); ++ field_type = tdesc_named_type (feature, "v8i16"); ++ tdesc_add_field (type, "v8_int16", field_type); ++ field_type = tdesc_named_type (feature, "v4i32"); ++ tdesc_add_field (type, "v4_int32", field_type); ++ field_type = tdesc_named_type (feature, "v2i64"); ++ tdesc_add_field (type, "v2_int64", field_type); ++ field_type = tdesc_named_type (feature, "uint128"); ++ tdesc_add_field (type, "uint128", field_type); ++ ++ field_type = tdesc_create_flags (feature, "i386_mxcsr", 4); ++ tdesc_add_flag (field_type, 0, "IE"); ++ tdesc_add_flag (field_type, 1, "DE"); ++ tdesc_add_flag (field_type, 2, "ZE"); ++ tdesc_add_flag (field_type, 3, "OE"); ++ tdesc_add_flag (field_type, 4, "UE"); ++ tdesc_add_flag (field_type, 5, "PE"); ++ tdesc_add_flag (field_type, 6, "DAZ"); ++ tdesc_add_flag (field_type, 7, "IM"); ++ tdesc_add_flag (field_type, 8, "DM"); ++ tdesc_add_flag (field_type, 9, "ZM"); ++ tdesc_add_flag (field_type, 10, "OM"); ++ tdesc_add_flag (field_type, 11, "UM"); ++ tdesc_add_flag (field_type, 12, "PM"); ++ tdesc_add_flag (field_type, 15, "FZ"); ++ ++ tdesc_create_reg (feature, "xmm0", 40, 1, NULL, 128, "vec128"); ++ tdesc_create_reg (feature, "xmm1", 41, 1, NULL, 128, "vec128"); ++ tdesc_create_reg (feature, "xmm2", 42, 1, NULL, 128, "vec128"); ++ tdesc_create_reg (feature, "xmm3", 43, 1, NULL, 128, "vec128"); ++ tdesc_create_reg (feature, "xmm4", 44, 1, NULL, 128, "vec128"); ++ tdesc_create_reg (feature, "xmm5", 45, 1, NULL, 128, "vec128"); ++ tdesc_create_reg (feature, "xmm6", 46, 1, NULL, 128, "vec128"); ++ tdesc_create_reg (feature, "xmm7", 47, 1, NULL, 128, "vec128"); ++ tdesc_create_reg (feature, "xmm8", 48, 1, NULL, 128, "vec128"); ++ tdesc_create_reg (feature, "xmm9", 49, 1, NULL, 128, "vec128"); ++ tdesc_create_reg (feature, "xmm10", 50, 1, NULL, 128, "vec128"); ++ tdesc_create_reg (feature, "xmm11", 51, 1, NULL, 128, "vec128"); ++ tdesc_create_reg (feature, "xmm12", 52, 1, NULL, 128, "vec128"); ++ tdesc_create_reg (feature, "xmm13", 53, 1, NULL, 128, "vec128"); ++ tdesc_create_reg (feature, "xmm14", 54, 1, NULL, 128, "vec128"); ++ tdesc_create_reg (feature, "xmm15", 55, 1, NULL, 128, "vec128"); ++ tdesc_create_reg (feature, "mxcsr", 56, 1, "vector", 32, "i386_mxcsr"); ++ ++ feature = tdesc_create_feature (result, "org.gnu.gdb.i386.avx"); ++ tdesc_create_reg (feature, "ymm0h", 57, 1, NULL, 128, "uint128"); ++ tdesc_create_reg (feature, "ymm1h", 58, 1, NULL, 128, "uint128"); ++ tdesc_create_reg (feature, "ymm2h", 59, 1, NULL, 128, "uint128"); ++ tdesc_create_reg (feature, "ymm3h", 60, 1, NULL, 128, "uint128"); ++ tdesc_create_reg (feature, "ymm4h", 61, 1, NULL, 128, "uint128"); ++ tdesc_create_reg (feature, "ymm5h", 62, 1, NULL, 128, "uint128"); ++ tdesc_create_reg (feature, "ymm6h", 63, 1, NULL, 128, "uint128"); ++ tdesc_create_reg (feature, "ymm7h", 64, 1, NULL, 128, "uint128"); ++ tdesc_create_reg (feature, "ymm8h", 65, 1, NULL, 128, "uint128"); ++ tdesc_create_reg (feature, "ymm9h", 66, 1, NULL, 128, "uint128"); ++ tdesc_create_reg (feature, "ymm10h", 67, 1, NULL, 128, "uint128"); ++ tdesc_create_reg (feature, "ymm11h", 68, 1, NULL, 128, "uint128"); ++ tdesc_create_reg (feature, "ymm12h", 69, 1, NULL, 128, "uint128"); ++ tdesc_create_reg (feature, "ymm13h", 70, 1, NULL, 128, "uint128"); ++ tdesc_create_reg (feature, "ymm14h", 71, 1, NULL, 128, "uint128"); ++ tdesc_create_reg (feature, "ymm15h", 72, 1, NULL, 128, "uint128"); ++ ++ feature = tdesc_create_feature (result, "org.gnu.gdb.i386.mpx"); ++ type = tdesc_create_struct (feature, "br128"); ++ field_type = tdesc_named_type (feature, "uint64"); ++ tdesc_add_field (type, "lbound", field_type); ++ field_type = tdesc_named_type (feature, "uint64"); ++ tdesc_add_field (type, "ubound_raw", field_type); ++ ++ type = tdesc_create_struct (feature, "_bndstatus"); ++ tdesc_set_struct_size (type, 8); ++ tdesc_add_bitfield (type, "bde", 2, 63); ++ tdesc_add_bitfield (type, "error", 0, 1); ++ ++ type = tdesc_create_union (feature, "status"); ++ field_type = tdesc_named_type (feature, "data_ptr"); ++ tdesc_add_field (type, "raw", field_type); ++ field_type = tdesc_named_type (feature, "_bndstatus"); ++ tdesc_add_field (type, "status", field_type); ++ ++ type = tdesc_create_struct (feature, "_bndcfgu"); ++ tdesc_set_struct_size (type, 8); ++ tdesc_add_bitfield (type, "base", 12, 63); ++ tdesc_add_bitfield (type, "reserved", 2, 11); ++ tdesc_add_bitfield (type, "preserved", 1, 1); ++ tdesc_add_bitfield (type, "enabled", 0, 0); ++ ++ type = tdesc_create_union (feature, "cfgu"); ++ field_type = tdesc_named_type (feature, "data_ptr"); ++ tdesc_add_field (type, "raw", field_type); ++ field_type = tdesc_named_type (feature, "_bndcfgu"); ++ tdesc_add_field (type, "config", field_type); ++ ++ tdesc_create_reg (feature, "bnd0raw", 73, 1, NULL, 128, "br128"); ++ tdesc_create_reg (feature, "bnd1raw", 74, 1, NULL, 128, "br128"); ++ tdesc_create_reg (feature, "bnd2raw", 75, 1, NULL, 128, "br128"); ++ tdesc_create_reg (feature, "bnd3raw", 76, 1, NULL, 128, "br128"); ++ tdesc_create_reg (feature, "bndcfgu", 77, 1, NULL, 64, "cfgu"); ++ tdesc_create_reg (feature, "bndstatus", 78, 1, NULL, 64, "status"); ++ ++ tdesc_amd64_avx_mpx = result; ++} +diff --git a/gdb/features/i386/amd64-avx-mpx.xml b/gdb/features/i386/amd64-avx-mpx.xml +new file mode 100644 +index 0000000..3eea6dd +--- /dev/null ++++ b/gdb/features/i386/amd64-avx-mpx.xml +@@ -0,0 +1,17 @@ ++<?xml version="1.0"?> ++<!-- Copyright (C) 2013-2016 Free Software Foundation, Inc. ++ ++ Copying and distribution of this file, with or without modification, ++ are permitted in any medium without royalty provided the copyright ++ notice and this notice are preserved. --> ++ ++<!-- AMD64 with AVX and MPX --> ++ ++<!DOCTYPE target SYSTEM "gdb-target.dtd"> ++<target> ++ <architecture>i386:x86-64</architecture> ++ <xi:include href="64bit-core.xml"/> ++ <xi:include href="64bit-sse.xml"/> ++ <xi:include href="64bit-avx.xml"/> ++ <xi:include href="64bit-mpx.xml"/> ++</target> +diff --git a/gdb/features/i386/amd64-mpx-linux.c b/gdb/features/i386/amd64-mpx-linux.c +index 86a1774..5c1584b 100644 +--- a/gdb/features/i386/amd64-mpx-linux.c ++++ b/gdb/features/i386/amd64-mpx-linux.c +@@ -151,24 +151,6 @@ initialize_tdesc_amd64_mpx_linux (void) + feature = tdesc_create_feature (result, "org.gnu.gdb.i386.linux"); + tdesc_create_reg (feature, "orig_rax", 57, 1, NULL, 64, "int"); + +- feature = tdesc_create_feature (result, "org.gnu.gdb.i386.avx"); +- tdesc_create_reg (feature, "ymm0h", 58, 1, NULL, 128, "uint128"); +- tdesc_create_reg (feature, "ymm1h", 59, 1, NULL, 128, "uint128"); +- tdesc_create_reg (feature, "ymm2h", 60, 1, NULL, 128, "uint128"); +- tdesc_create_reg (feature, "ymm3h", 61, 1, NULL, 128, "uint128"); +- tdesc_create_reg (feature, "ymm4h", 62, 1, NULL, 128, "uint128"); +- tdesc_create_reg (feature, "ymm5h", 63, 1, NULL, 128, "uint128"); +- tdesc_create_reg (feature, "ymm6h", 64, 1, NULL, 128, "uint128"); +- tdesc_create_reg (feature, "ymm7h", 65, 1, NULL, 128, "uint128"); +- tdesc_create_reg (feature, "ymm8h", 66, 1, NULL, 128, "uint128"); +- tdesc_create_reg (feature, "ymm9h", 67, 1, NULL, 128, "uint128"); +- tdesc_create_reg (feature, "ymm10h", 68, 1, NULL, 128, "uint128"); +- tdesc_create_reg (feature, "ymm11h", 69, 1, NULL, 128, "uint128"); +- tdesc_create_reg (feature, "ymm12h", 70, 1, NULL, 128, "uint128"); +- tdesc_create_reg (feature, "ymm13h", 71, 1, NULL, 128, "uint128"); +- tdesc_create_reg (feature, "ymm14h", 72, 1, NULL, 128, "uint128"); +- tdesc_create_reg (feature, "ymm15h", 73, 1, NULL, 128, "uint128"); +- + feature = tdesc_create_feature (result, "org.gnu.gdb.i386.mpx"); + type = tdesc_create_struct (feature, "br128"); + field_type = tdesc_named_type (feature, "uint64"); +@@ -200,12 +182,12 @@ initialize_tdesc_amd64_mpx_linux (void) + field_type = tdesc_named_type (feature, "_bndcfgu"); + tdesc_add_field (type, "config", field_type); + +- tdesc_create_reg (feature, "bnd0raw", 74, 1, NULL, 128, "br128"); +- tdesc_create_reg (feature, "bnd1raw", 75, 1, NULL, 128, "br128"); +- tdesc_create_reg (feature, "bnd2raw", 76, 1, NULL, 128, "br128"); +- tdesc_create_reg (feature, "bnd3raw", 77, 1, NULL, 128, "br128"); +- tdesc_create_reg (feature, "bndcfgu", 78, 1, NULL, 64, "cfgu"); +- tdesc_create_reg (feature, "bndstatus", 79, 1, NULL, 64, "status"); ++ tdesc_create_reg (feature, "bnd0raw", 58, 1, NULL, 128, "br128"); ++ tdesc_create_reg (feature, "bnd1raw", 59, 1, NULL, 128, "br128"); ++ tdesc_create_reg (feature, "bnd2raw", 60, 1, NULL, 128, "br128"); ++ tdesc_create_reg (feature, "bnd3raw", 61, 1, NULL, 128, "br128"); ++ tdesc_create_reg (feature, "bndcfgu", 62, 1, NULL, 64, "cfgu"); ++ tdesc_create_reg (feature, "bndstatus", 63, 1, NULL, 64, "status"); + + tdesc_amd64_mpx_linux = result; + } +diff --git a/gdb/features/i386/amd64-mpx-linux.xml b/gdb/features/i386/amd64-mpx-linux.xml +index 15e87b4..835126b 100644 +--- a/gdb/features/i386/amd64-mpx-linux.xml ++++ b/gdb/features/i386/amd64-mpx-linux.xml +@@ -14,6 +14,5 @@ + <xi:include href="64bit-core.xml"/> + <xi:include href="64bit-sse.xml"/> + <xi:include href="64bit-linux.xml"/> +- <xi:include href="64bit-avx.xml"/> + <xi:include href="64bit-mpx.xml"/> + </target> +diff --git a/gdb/features/i386/amd64-mpx.c b/gdb/features/i386/amd64-mpx.c +index 15ae5f7..4c852ef 100644 +--- a/gdb/features/i386/amd64-mpx.c ++++ b/gdb/features/i386/amd64-mpx.c +@@ -146,24 +146,6 @@ initialize_tdesc_amd64_mpx (void) + tdesc_create_reg (feature, "xmm15", 55, 1, NULL, 128, "vec128"); + tdesc_create_reg (feature, "mxcsr", 56, 1, "vector", 32, "i386_mxcsr"); + +- feature = tdesc_create_feature (result, "org.gnu.gdb.i386.avx"); +- tdesc_create_reg (feature, "ymm0h", 57, 1, NULL, 128, "uint128"); +- tdesc_create_reg (feature, "ymm1h", 58, 1, NULL, 128, "uint128"); +- tdesc_create_reg (feature, "ymm2h", 59, 1, NULL, 128, "uint128"); +- tdesc_create_reg (feature, "ymm3h", 60, 1, NULL, 128, "uint128"); +- tdesc_create_reg (feature, "ymm4h", 61, 1, NULL, 128, "uint128"); +- tdesc_create_reg (feature, "ymm5h", 62, 1, NULL, 128, "uint128"); +- tdesc_create_reg (feature, "ymm6h", 63, 1, NULL, 128, "uint128"); +- tdesc_create_reg (feature, "ymm7h", 64, 1, NULL, 128, "uint128"); +- tdesc_create_reg (feature, "ymm8h", 65, 1, NULL, 128, "uint128"); +- tdesc_create_reg (feature, "ymm9h", 66, 1, NULL, 128, "uint128"); +- tdesc_create_reg (feature, "ymm10h", 67, 1, NULL, 128, "uint128"); +- tdesc_create_reg (feature, "ymm11h", 68, 1, NULL, 128, "uint128"); +- tdesc_create_reg (feature, "ymm12h", 69, 1, NULL, 128, "uint128"); +- tdesc_create_reg (feature, "ymm13h", 70, 1, NULL, 128, "uint128"); +- tdesc_create_reg (feature, "ymm14h", 71, 1, NULL, 128, "uint128"); +- tdesc_create_reg (feature, "ymm15h", 72, 1, NULL, 128, "uint128"); +- + feature = tdesc_create_feature (result, "org.gnu.gdb.i386.mpx"); + type = tdesc_create_struct (feature, "br128"); + field_type = tdesc_named_type (feature, "uint64"); +@@ -195,12 +177,12 @@ initialize_tdesc_amd64_mpx (void) + field_type = tdesc_named_type (feature, "_bndcfgu"); + tdesc_add_field (type, "config", field_type); + +- tdesc_create_reg (feature, "bnd0raw", 73, 1, NULL, 128, "br128"); +- tdesc_create_reg (feature, "bnd1raw", 74, 1, NULL, 128, "br128"); +- tdesc_create_reg (feature, "bnd2raw", 75, 1, NULL, 128, "br128"); +- tdesc_create_reg (feature, "bnd3raw", 76, 1, NULL, 128, "br128"); +- tdesc_create_reg (feature, "bndcfgu", 77, 1, NULL, 64, "cfgu"); +- tdesc_create_reg (feature, "bndstatus", 78, 1, NULL, 64, "status"); ++ tdesc_create_reg (feature, "bnd0raw", 57, 1, NULL, 128, "br128"); ++ tdesc_create_reg (feature, "bnd1raw", 58, 1, NULL, 128, "br128"); ++ tdesc_create_reg (feature, "bnd2raw", 59, 1, NULL, 128, "br128"); ++ tdesc_create_reg (feature, "bnd3raw", 60, 1, NULL, 128, "br128"); ++ tdesc_create_reg (feature, "bndcfgu", 61, 1, NULL, 64, "cfgu"); ++ tdesc_create_reg (feature, "bndstatus", 62, 1, NULL, 64, "status"); + + tdesc_amd64_mpx = result; + } +diff --git a/gdb/features/i386/amd64-mpx.xml b/gdb/features/i386/amd64-mpx.xml +index 21b6df3..e458736 100644 +--- a/gdb/features/i386/amd64-mpx.xml ++++ b/gdb/features/i386/amd64-mpx.xml +@@ -12,6 +12,5 @@ + <architecture>i386:x86-64</architecture> + <xi:include href="64bit-core.xml"/> + <xi:include href="64bit-sse.xml"/> +- <xi:include href="64bit-avx.xml"/> + <xi:include href="64bit-mpx.xml"/> + </target> +diff --git a/gdb/features/i386/i386-avx-mpx-linux.c b/gdb/features/i386/i386-avx-mpx-linux.c +new file mode 100644 +index 0000000..dd75403 +--- /dev/null ++++ b/gdb/features/i386/i386-avx-mpx-linux.c +@@ -0,0 +1,187 @@ ++/* THIS FILE IS GENERATED. -*- buffer-read-only: t -*- vi:set ro: ++ Original: i386-avx-mpx-linux.xml */ ++ ++#include "defs.h" ++#include "osabi.h" ++#include "target-descriptions.h" ++ ++struct target_desc *tdesc_i386_avx_mpx_linux; ++static void ++initialize_tdesc_i386_avx_mpx_linux (void) ++{ ++ struct target_desc *result = allocate_target_description (); ++ struct tdesc_feature *feature; ++ struct tdesc_type *field_type; ++ struct tdesc_type *type; ++ ++ set_tdesc_architecture (result, bfd_scan_arch ("i386")); ++ ++ set_tdesc_osabi (result, osabi_from_tdesc_string ("GNU/Linux")); ++ ++ feature = tdesc_create_feature (result, "org.gnu.gdb.i386.core"); ++ field_type = tdesc_create_flags (feature, "i386_eflags", 4); ++ tdesc_add_flag (field_type, 0, "CF"); ++ tdesc_add_flag (field_type, 1, ""); ++ tdesc_add_flag (field_type, 2, "PF"); ++ tdesc_add_flag (field_type, 4, "AF"); ++ tdesc_add_flag (field_type, 6, "ZF"); ++ tdesc_add_flag (field_type, 7, "SF"); ++ tdesc_add_flag (field_type, 8, "TF"); ++ tdesc_add_flag (field_type, 9, "IF"); ++ tdesc_add_flag (field_type, 10, "DF"); ++ tdesc_add_flag (field_type, 11, "OF"); ++ tdesc_add_flag (field_type, 14, "NT"); ++ tdesc_add_flag (field_type, 16, "RF"); ++ tdesc_add_flag (field_type, 17, "VM"); ++ tdesc_add_flag (field_type, 18, "AC"); ++ tdesc_add_flag (field_type, 19, "VIF"); ++ tdesc_add_flag (field_type, 20, "VIP"); ++ tdesc_add_flag (field_type, 21, "ID"); ++ ++ tdesc_create_reg (feature, "eax", 0, 1, NULL, 32, "int32"); ++ tdesc_create_reg (feature, "ecx", 1, 1, NULL, 32, "int32"); ++ tdesc_create_reg (feature, "edx", 2, 1, NULL, 32, "int32"); ++ tdesc_create_reg (feature, "ebx", 3, 1, NULL, 32, "int32"); ++ tdesc_create_reg (feature, "esp", 4, 1, NULL, 32, "data_ptr"); ++ tdesc_create_reg (feature, "ebp", 5, 1, NULL, 32, "data_ptr"); ++ tdesc_create_reg (feature, "esi", 6, 1, NULL, 32, "int32"); ++ tdesc_create_reg (feature, "edi", 7, 1, NULL, 32, "int32"); ++ tdesc_create_reg (feature, "eip", 8, 1, NULL, 32, "code_ptr"); ++ tdesc_create_reg (feature, "eflags", 9, 1, NULL, 32, "i386_eflags"); ++ tdesc_create_reg (feature, "cs", 10, 1, NULL, 32, "int32"); ++ tdesc_create_reg (feature, "ss", 11, 1, NULL, 32, "int32"); ++ tdesc_create_reg (feature, "ds", 12, 1, NULL, 32, "int32"); ++ tdesc_create_reg (feature, "es", 13, 1, NULL, 32, "int32"); ++ tdesc_create_reg (feature, "fs", 14, 1, NULL, 32, "int32"); ++ tdesc_create_reg (feature, "gs", 15, 1, NULL, 32, "int32"); ++ tdesc_create_reg (feature, "st0", 16, 1, NULL, 80, "i387_ext"); ++ tdesc_create_reg (feature, "st1", 17, 1, NULL, 80, "i387_ext"); ++ tdesc_create_reg (feature, "st2", 18, 1, NULL, 80, "i387_ext"); ++ tdesc_create_reg (feature, "st3", 19, 1, NULL, 80, "i387_ext"); ++ tdesc_create_reg (feature, "st4", 20, 1, NULL, 80, "i387_ext"); ++ tdesc_create_reg (feature, "st5", 21, 1, NULL, 80, "i387_ext"); ++ tdesc_create_reg (feature, "st6", 22, 1, NULL, 80, "i387_ext"); ++ tdesc_create_reg (feature, "st7", 23, 1, NULL, 80, "i387_ext"); ++ tdesc_create_reg (feature, "fctrl", 24, 1, "float", 32, "int"); ++ tdesc_create_reg (feature, "fstat", 25, 1, "float", 32, "int"); ++ tdesc_create_reg (feature, "ftag", 26, 1, "float", 32, "int"); ++ tdesc_create_reg (feature, "fiseg", 27, 1, "float", 32, "int"); ++ tdesc_create_reg (feature, "fioff", 28, 1, "float", 32, "int"); ++ tdesc_create_reg (feature, "foseg", 29, 1, "float", 32, "int"); ++ tdesc_create_reg (feature, "fooff", 30, 1, "float", 32, "int"); ++ tdesc_create_reg (feature, "fop", 31, 1, "float", 32, "int"); ++ ++ feature = tdesc_create_feature (result, "org.gnu.gdb.i386.sse"); ++ field_type = tdesc_named_type (feature, "ieee_single"); ++ tdesc_create_vector (feature, "v4f", field_type, 4); ++ ++ field_type = tdesc_named_type (feature, "ieee_double"); ++ tdesc_create_vector (feature, "v2d", field_type, 2); ++ ++ field_type = tdesc_named_type (feature, "int8"); ++ tdesc_create_vector (feature, "v16i8", field_type, 16); ++ ++ field_type = tdesc_named_type (feature, "int16"); ++ tdesc_create_vector (feature, "v8i16", field_type, 8); ++ ++ field_type = tdesc_named_type (feature, "int32"); ++ tdesc_create_vector (feature, "v4i32", field_type, 4); ++ ++ field_type = tdesc_named_type (feature, "int64"); ++ tdesc_create_vector (feature, "v2i64", field_type, 2); ++ ++ type = tdesc_create_union (feature, "vec128"); ++ field_type = tdesc_named_type (feature, "v4f"); ++ tdesc_add_field (type, "v4_float", field_type); ++ field_type = tdesc_named_type (feature, "v2d"); ++ tdesc_add_field (type, "v2_double", field_type); ++ field_type = tdesc_named_type (feature, "v16i8"); ++ tdesc_add_field (type, "v16_int8", field_type); ++ field_type = tdesc_named_type (feature, "v8i16"); ++ tdesc_add_field (type, "v8_int16", field_type); ++ field_type = tdesc_named_type (feature, "v4i32"); ++ tdesc_add_field (type, "v4_int32", field_type); ++ field_type = tdesc_named_type (feature, "v2i64"); ++ tdesc_add_field (type, "v2_int64", field_type); ++ field_type = tdesc_named_type (feature, "uint128"); ++ tdesc_add_field (type, "uint128", field_type); ++ ++ field_type = tdesc_create_flags (feature, "i386_mxcsr", 4); ++ tdesc_add_flag (field_type, 0, "IE"); ++ tdesc_add_flag (field_type, 1, "DE"); ++ tdesc_add_flag (field_type, 2, "ZE"); ++ tdesc_add_flag (field_type, 3, "OE"); ++ tdesc_add_flag (field_type, 4, "UE"); ++ tdesc_add_flag (field_type, 5, "PE"); ++ tdesc_add_flag (field_type, 6, "DAZ"); ++ tdesc_add_flag (field_type, 7, "IM"); ++ tdesc_add_flag (field_type, 8, "DM"); ++ tdesc_add_flag (field_type, 9, "ZM"); ++ tdesc_add_flag (field_type, 10, "OM"); ++ tdesc_add_flag (field_type, 11, "UM"); ++ tdesc_add_flag (field_type, 12, "PM"); ++ tdesc_add_flag (field_type, 15, "FZ"); ++ ++ tdesc_create_reg (feature, "xmm0", 32, 1, NULL, 128, "vec128"); ++ tdesc_create_reg (feature, "xmm1", 33, 1, NULL, 128, "vec128"); ++ tdesc_create_reg (feature, "xmm2", 34, 1, NULL, 128, "vec128"); ++ tdesc_create_reg (feature, "xmm3", 35, 1, NULL, 128, "vec128"); ++ tdesc_create_reg (feature, "xmm4", 36, 1, NULL, 128, "vec128"); ++ tdesc_create_reg (feature, "xmm5", 37, 1, NULL, 128, "vec128"); ++ tdesc_create_reg (feature, "xmm6", 38, 1, NULL, 128, "vec128"); ++ tdesc_create_reg (feature, "xmm7", 39, 1, NULL, 128, "vec128"); ++ tdesc_create_reg (feature, "mxcsr", 40, 1, "vector", 32, "i386_mxcsr"); ++ ++ feature = tdesc_create_feature (result, "org.gnu.gdb.i386.linux"); ++ tdesc_create_reg (feature, "orig_eax", 41, 1, NULL, 32, "int"); ++ ++ feature = tdesc_create_feature (result, "org.gnu.gdb.i386.avx"); ++ tdesc_create_reg (feature, "ymm0h", 42, 1, NULL, 128, "uint128"); ++ tdesc_create_reg (feature, "ymm1h", 43, 1, NULL, 128, "uint128"); ++ tdesc_create_reg (feature, "ymm2h", 44, 1, NULL, 128, "uint128"); ++ tdesc_create_reg (feature, "ymm3h", 45, 1, NULL, 128, "uint128"); ++ tdesc_create_reg (feature, "ymm4h", 46, 1, NULL, 128, "uint128"); ++ tdesc_create_reg (feature, "ymm5h", 47, 1, NULL, 128, "uint128"); ++ tdesc_create_reg (feature, "ymm6h", 48, 1, NULL, 128, "uint128"); ++ tdesc_create_reg (feature, "ymm7h", 49, 1, NULL, 128, "uint128"); ++ ++ feature = tdesc_create_feature (result, "org.gnu.gdb.i386.mpx"); ++ type = tdesc_create_struct (feature, "br128"); ++ field_type = tdesc_named_type (feature, "uint64"); ++ tdesc_add_field (type, "lbound", field_type); ++ field_type = tdesc_named_type (feature, "uint64"); ++ tdesc_add_field (type, "ubound_raw", field_type); ++ ++ type = tdesc_create_struct (feature, "_bndstatus"); ++ tdesc_set_struct_size (type, 8); ++ tdesc_add_bitfield (type, "bde", 2, 31); ++ tdesc_add_bitfield (type, "error", 0, 1); ++ ++ type = tdesc_create_union (feature, "status"); ++ field_type = tdesc_named_type (feature, "data_ptr"); ++ tdesc_add_field (type, "raw", field_type); ++ field_type = tdesc_named_type (feature, "_bndstatus"); ++ tdesc_add_field (type, "status", field_type); ++ ++ type = tdesc_create_struct (feature, "_bndcfgu"); ++ tdesc_set_struct_size (type, 8); ++ tdesc_add_bitfield (type, "base", 12, 31); ++ tdesc_add_bitfield (type, "reserved", 2, 11); ++ tdesc_add_bitfield (type, "preserved", 1, 1); ++ tdesc_add_bitfield (type, "enabled", 0, 1); ++ ++ type = tdesc_create_union (feature, "cfgu"); ++ field_type = tdesc_named_type (feature, "data_ptr"); ++ tdesc_add_field (type, "raw", field_type); ++ field_type = tdesc_named_type (feature, "_bndcfgu"); ++ tdesc_add_field (type, "config", field_type); ++ ++ tdesc_create_reg (feature, "bnd0raw", 50, 1, NULL, 128, "br128"); ++ tdesc_create_reg (feature, "bnd1raw", 51, 1, NULL, 128, "br128"); ++ tdesc_create_reg (feature, "bnd2raw", 52, 1, NULL, 128, "br128"); ++ tdesc_create_reg (feature, "bnd3raw", 53, 1, NULL, 128, "br128"); ++ tdesc_create_reg (feature, "bndcfgu", 54, 1, NULL, 64, "cfgu"); ++ tdesc_create_reg (feature, "bndstatus", 55, 1, NULL, 64, "status"); ++ ++ tdesc_i386_avx_mpx_linux = result; ++} +diff --git a/gdb/features/i386/i386-avx-mpx-linux.xml b/gdb/features/i386/i386-avx-mpx-linux.xml +new file mode 100644 +index 0000000..c9a1a61 +--- /dev/null ++++ b/gdb/features/i386/i386-avx-mpx-linux.xml +@@ -0,0 +1,19 @@ ++<?xml version="1.0"?> ++<!-- Copyright (C) 2013-2016 Free Software Foundation, Inc. ++ ++ Copying and distribution of this file, with or without modification, ++ are permitted in any medium without royalty provided the copyright ++ notice and this notice are preserved. --> ++ ++<!-- I386 with AVX and MPX- Includes Linux-only special "register". --> ++ ++<!DOCTYPE target SYSTEM "gdb-target.dtd"> ++<target> ++ <architecture>i386</architecture> ++ <osabi>GNU/Linux</osabi> ++ <xi:include href="32bit-core.xml"/> ++ <xi:include href="32bit-sse.xml"/> ++ <xi:include href="32bit-linux.xml"/> ++ <xi:include href="32bit-avx.xml"/> ++ <xi:include href="32bit-mpx.xml"/> ++</target> +diff --git a/gdb/features/i386/i386-avx-mpx.c b/gdb/features/i386/i386-avx-mpx.c +new file mode 100644 +index 0000000..f104e4b +--- /dev/null ++++ b/gdb/features/i386/i386-avx-mpx.c +@@ -0,0 +1,182 @@ ++/* THIS FILE IS GENERATED. -*- buffer-read-only: t -*- vi:set ro: ++ Original: i386-avx-mpx.xml */ ++ ++#include "defs.h" ++#include "osabi.h" ++#include "target-descriptions.h" ++ ++struct target_desc *tdesc_i386_avx_mpx; ++static void ++initialize_tdesc_i386_avx_mpx (void) ++{ ++ struct target_desc *result = allocate_target_description (); ++ struct tdesc_feature *feature; ++ struct tdesc_type *field_type; ++ struct tdesc_type *type; ++ ++ set_tdesc_architecture (result, bfd_scan_arch ("i386")); ++ ++ feature = tdesc_create_feature (result, "org.gnu.gdb.i386.core"); ++ field_type = tdesc_create_flags (feature, "i386_eflags", 4); ++ tdesc_add_flag (field_type, 0, "CF"); ++ tdesc_add_flag (field_type, 1, ""); ++ tdesc_add_flag (field_type, 2, "PF"); ++ tdesc_add_flag (field_type, 4, "AF"); ++ tdesc_add_flag (field_type, 6, "ZF"); ++ tdesc_add_flag (field_type, 7, "SF"); ++ tdesc_add_flag (field_type, 8, "TF"); ++ tdesc_add_flag (field_type, 9, "IF"); ++ tdesc_add_flag (field_type, 10, "DF"); ++ tdesc_add_flag (field_type, 11, "OF"); ++ tdesc_add_flag (field_type, 14, "NT"); ++ tdesc_add_flag (field_type, 16, "RF"); ++ tdesc_add_flag (field_type, 17, "VM"); ++ tdesc_add_flag (field_type, 18, "AC"); ++ tdesc_add_flag (field_type, 19, "VIF"); ++ tdesc_add_flag (field_type, 20, "VIP"); ++ tdesc_add_flag (field_type, 21, "ID"); ++ ++ tdesc_create_reg (feature, "eax", 0, 1, NULL, 32, "int32"); ++ tdesc_create_reg (feature, "ecx", 1, 1, NULL, 32, "int32"); ++ tdesc_create_reg (feature, "edx", 2, 1, NULL, 32, "int32"); ++ tdesc_create_reg (feature, "ebx", 3, 1, NULL, 32, "int32"); ++ tdesc_create_reg (feature, "esp", 4, 1, NULL, 32, "data_ptr"); ++ tdesc_create_reg (feature, "ebp", 5, 1, NULL, 32, "data_ptr"); ++ tdesc_create_reg (feature, "esi", 6, 1, NULL, 32, "int32"); ++ tdesc_create_reg (feature, "edi", 7, 1, NULL, 32, "int32"); ++ tdesc_create_reg (feature, "eip", 8, 1, NULL, 32, "code_ptr"); ++ tdesc_create_reg (feature, "eflags", 9, 1, NULL, 32, "i386_eflags"); ++ tdesc_create_reg (feature, "cs", 10, 1, NULL, 32, "int32"); ++ tdesc_create_reg (feature, "ss", 11, 1, NULL, 32, "int32"); ++ tdesc_create_reg (feature, "ds", 12, 1, NULL, 32, "int32"); ++ tdesc_create_reg (feature, "es", 13, 1, NULL, 32, "int32"); ++ tdesc_create_reg (feature, "fs", 14, 1, NULL, 32, "int32"); ++ tdesc_create_reg (feature, "gs", 15, 1, NULL, 32, "int32"); ++ tdesc_create_reg (feature, "st0", 16, 1, NULL, 80, "i387_ext"); ++ tdesc_create_reg (feature, "st1", 17, 1, NULL, 80, "i387_ext"); ++ tdesc_create_reg (feature, "st2", 18, 1, NULL, 80, "i387_ext"); ++ tdesc_create_reg (feature, "st3", 19, 1, NULL, 80, "i387_ext"); ++ tdesc_create_reg (feature, "st4", 20, 1, NULL, 80, "i387_ext"); ++ tdesc_create_reg (feature, "st5", 21, 1, NULL, 80, "i387_ext"); ++ tdesc_create_reg (feature, "st6", 22, 1, NULL, 80, "i387_ext"); ++ tdesc_create_reg (feature, "st7", 23, 1, NULL, 80, "i387_ext"); ++ tdesc_create_reg (feature, "fctrl", 24, 1, "float", 32, "int"); ++ tdesc_create_reg (feature, "fstat", 25, 1, "float", 32, "int"); ++ tdesc_create_reg (feature, "ftag", 26, 1, "float", 32, "int"); ++ tdesc_create_reg (feature, "fiseg", 27, 1, "float", 32, "int"); ++ tdesc_create_reg (feature, "fioff", 28, 1, "float", 32, "int"); ++ tdesc_create_reg (feature, "foseg", 29, 1, "float", 32, "int"); ++ tdesc_create_reg (feature, "fooff", 30, 1, "float", 32, "int"); ++ tdesc_create_reg (feature, "fop", 31, 1, "float", 32, "int"); ++ ++ feature = tdesc_create_feature (result, "org.gnu.gdb.i386.sse"); ++ field_type = tdesc_named_type (feature, "ieee_single"); ++ tdesc_create_vector (feature, "v4f", field_type, 4); ++ ++ field_type = tdesc_named_type (feature, "ieee_double"); ++ tdesc_create_vector (feature, "v2d", field_type, 2); ++ ++ field_type = tdesc_named_type (feature, "int8"); ++ tdesc_create_vector (feature, "v16i8", field_type, 16); ++ ++ field_type = tdesc_named_type (feature, "int16"); ++ tdesc_create_vector (feature, "v8i16", field_type, 8); ++ ++ field_type = tdesc_named_type (feature, "int32"); ++ tdesc_create_vector (feature, "v4i32", field_type, 4); ++ ++ field_type = tdesc_named_type (feature, "int64"); ++ tdesc_create_vector (feature, "v2i64", field_type, 2); ++ ++ type = tdesc_create_union (feature, "vec128"); ++ field_type = tdesc_named_type (feature, "v4f"); ++ tdesc_add_field (type, "v4_float", field_type); ++ field_type = tdesc_named_type (feature, "v2d"); ++ tdesc_add_field (type, "v2_double", field_type); ++ field_type = tdesc_named_type (feature, "v16i8"); ++ tdesc_add_field (type, "v16_int8", field_type); ++ field_type = tdesc_named_type (feature, "v8i16"); ++ tdesc_add_field (type, "v8_int16", field_type); ++ field_type = tdesc_named_type (feature, "v4i32"); ++ tdesc_add_field (type, "v4_int32", field_type); ++ field_type = tdesc_named_type (feature, "v2i64"); ++ tdesc_add_field (type, "v2_int64", field_type); ++ field_type = tdesc_named_type (feature, "uint128"); ++ tdesc_add_field (type, "uint128", field_type); ++ ++ field_type = tdesc_create_flags (feature, "i386_mxcsr", 4); ++ tdesc_add_flag (field_type, 0, "IE"); ++ tdesc_add_flag (field_type, 1, "DE"); ++ tdesc_add_flag (field_type, 2, "ZE"); ++ tdesc_add_flag (field_type, 3, "OE"); ++ tdesc_add_flag (field_type, 4, "UE"); ++ tdesc_add_flag (field_type, 5, "PE"); ++ tdesc_add_flag (field_type, 6, "DAZ"); ++ tdesc_add_flag (field_type, 7, "IM"); ++ tdesc_add_flag (field_type, 8, "DM"); ++ tdesc_add_flag (field_type, 9, "ZM"); ++ tdesc_add_flag (field_type, 10, "OM"); ++ tdesc_add_flag (field_type, 11, "UM"); ++ tdesc_add_flag (field_type, 12, "PM"); ++ tdesc_add_flag (field_type, 15, "FZ"); ++ ++ tdesc_create_reg (feature, "xmm0", 32, 1, NULL, 128, "vec128"); ++ tdesc_create_reg (feature, "xmm1", 33, 1, NULL, 128, "vec128"); ++ tdesc_create_reg (feature, "xmm2", 34, 1, NULL, 128, "vec128"); ++ tdesc_create_reg (feature, "xmm3", 35, 1, NULL, 128, "vec128"); ++ tdesc_create_reg (feature, "xmm4", 36, 1, NULL, 128, "vec128"); ++ tdesc_create_reg (feature, "xmm5", 37, 1, NULL, 128, "vec128"); ++ tdesc_create_reg (feature, "xmm6", 38, 1, NULL, 128, "vec128"); ++ tdesc_create_reg (feature, "xmm7", 39, 1, NULL, 128, "vec128"); ++ tdesc_create_reg (feature, "mxcsr", 40, 1, "vector", 32, "i386_mxcsr"); ++ ++ feature = tdesc_create_feature (result, "org.gnu.gdb.i386.avx"); ++ tdesc_create_reg (feature, "ymm0h", 41, 1, NULL, 128, "uint128"); ++ tdesc_create_reg (feature, "ymm1h", 42, 1, NULL, 128, "uint128"); ++ tdesc_create_reg (feature, "ymm2h", 43, 1, NULL, 128, "uint128"); ++ tdesc_create_reg (feature, "ymm3h", 44, 1, NULL, 128, "uint128"); ++ tdesc_create_reg (feature, "ymm4h", 45, 1, NULL, 128, "uint128"); ++ tdesc_create_reg (feature, "ymm5h", 46, 1, NULL, 128, "uint128"); ++ tdesc_create_reg (feature, "ymm6h", 47, 1, NULL, 128, "uint128"); ++ tdesc_create_reg (feature, "ymm7h", 48, 1, NULL, 128, "uint128"); ++ ++ feature = tdesc_create_feature (result, "org.gnu.gdb.i386.mpx"); ++ type = tdesc_create_struct (feature, "br128"); ++ field_type = tdesc_named_type (feature, "uint64"); ++ tdesc_add_field (type, "lbound", field_type); ++ field_type = tdesc_named_type (feature, "uint64"); ++ tdesc_add_field (type, "ubound_raw", field_type); ++ ++ type = tdesc_create_struct (feature, "_bndstatus"); ++ tdesc_set_struct_size (type, 8); ++ tdesc_add_bitfield (type, "bde", 2, 31); ++ tdesc_add_bitfield (type, "error", 0, 1); ++ ++ type = tdesc_create_union (feature, "status"); ++ field_type = tdesc_named_type (feature, "data_ptr"); ++ tdesc_add_field (type, "raw", field_type); ++ field_type = tdesc_named_type (feature, "_bndstatus"); ++ tdesc_add_field (type, "status", field_type); ++ ++ type = tdesc_create_struct (feature, "_bndcfgu"); ++ tdesc_set_struct_size (type, 8); ++ tdesc_add_bitfield (type, "base", 12, 31); ++ tdesc_add_bitfield (type, "reserved", 2, 11); ++ tdesc_add_bitfield (type, "preserved", 1, 1); ++ tdesc_add_bitfield (type, "enabled", 0, 1); ++ ++ type = tdesc_create_union (feature, "cfgu"); ++ field_type = tdesc_named_type (feature, "data_ptr"); ++ tdesc_add_field (type, "raw", field_type); ++ field_type = tdesc_named_type (feature, "_bndcfgu"); ++ tdesc_add_field (type, "config", field_type); ++ ++ tdesc_create_reg (feature, "bnd0raw", 49, 1, NULL, 128, "br128"); ++ tdesc_create_reg (feature, "bnd1raw", 50, 1, NULL, 128, "br128"); ++ tdesc_create_reg (feature, "bnd2raw", 51, 1, NULL, 128, "br128"); ++ tdesc_create_reg (feature, "bnd3raw", 52, 1, NULL, 128, "br128"); ++ tdesc_create_reg (feature, "bndcfgu", 53, 1, NULL, 64, "cfgu"); ++ tdesc_create_reg (feature, "bndstatus", 54, 1, NULL, 64, "status"); ++ ++ tdesc_i386_avx_mpx = result; ++} +diff --git a/gdb/features/i386/i386-avx-mpx.xml b/gdb/features/i386/i386-avx-mpx.xml +new file mode 100644 +index 0000000..ab97367 +--- /dev/null ++++ b/gdb/features/i386/i386-avx-mpx.xml +@@ -0,0 +1,17 @@ ++<?xml version="1.0"?> ++<!-- Copyright (C) 2013-2016 Free Software Foundation, Inc. ++ ++ Copying and distribution of this file, with or without modification, ++ are permitted in any medium without royalty provided the copyright ++ notice and this notice are preserved. --> ++ ++<!-- I386 with AVX and MPX --> ++ ++<!DOCTYPE target SYSTEM "gdb-target.dtd"> ++<target> ++ <architecture>i386</architecture> ++ <xi:include href="32bit-core.xml"/> ++ <xi:include href="32bit-sse.xml"/> ++ <xi:include href="32bit-avx.xml"/> ++ <xi:include href="32bit-mpx.xml"/> ++</target> +diff --git a/gdb/features/i386/i386-mpx-linux.c b/gdb/features/i386/i386-mpx-linux.c +index dbf8789..c6bafea 100644 +--- a/gdb/features/i386/i386-mpx-linux.c ++++ b/gdb/features/i386/i386-mpx-linux.c +@@ -135,16 +135,6 @@ initialize_tdesc_i386_mpx_linux (void) + feature = tdesc_create_feature (result, "org.gnu.gdb.i386.linux"); + tdesc_create_reg (feature, "orig_eax", 41, 1, NULL, 32, "int"); + +- feature = tdesc_create_feature (result, "org.gnu.gdb.i386.avx"); +- tdesc_create_reg (feature, "ymm0h", 42, 1, NULL, 128, "uint128"); +- tdesc_create_reg (feature, "ymm1h", 43, 1, NULL, 128, "uint128"); +- tdesc_create_reg (feature, "ymm2h", 44, 1, NULL, 128, "uint128"); +- tdesc_create_reg (feature, "ymm3h", 45, 1, NULL, 128, "uint128"); +- tdesc_create_reg (feature, "ymm4h", 46, 1, NULL, 128, "uint128"); +- tdesc_create_reg (feature, "ymm5h", 47, 1, NULL, 128, "uint128"); +- tdesc_create_reg (feature, "ymm6h", 48, 1, NULL, 128, "uint128"); +- tdesc_create_reg (feature, "ymm7h", 49, 1, NULL, 128, "uint128"); +- + feature = tdesc_create_feature (result, "org.gnu.gdb.i386.mpx"); + type = tdesc_create_struct (feature, "br128"); + field_type = tdesc_named_type (feature, "uint64"); +@@ -176,12 +166,12 @@ initialize_tdesc_i386_mpx_linux (void) + field_type = tdesc_named_type (feature, "_bndcfgu"); + tdesc_add_field (type, "config", field_type); + +- tdesc_create_reg (feature, "bnd0raw", 50, 1, NULL, 128, "br128"); +- tdesc_create_reg (feature, "bnd1raw", 51, 1, NULL, 128, "br128"); +- tdesc_create_reg (feature, "bnd2raw", 52, 1, NULL, 128, "br128"); +- tdesc_create_reg (feature, "bnd3raw", 53, 1, NULL, 128, "br128"); +- tdesc_create_reg (feature, "bndcfgu", 54, 1, NULL, 64, "cfgu"); +- tdesc_create_reg (feature, "bndstatus", 55, 1, NULL, 64, "status"); ++ tdesc_create_reg (feature, "bnd0raw", 42, 1, NULL, 128, "br128"); ++ tdesc_create_reg (feature, "bnd1raw", 43, 1, NULL, 128, "br128"); ++ tdesc_create_reg (feature, "bnd2raw", 44, 1, NULL, 128, "br128"); ++ tdesc_create_reg (feature, "bnd3raw", 45, 1, NULL, 128, "br128"); ++ tdesc_create_reg (feature, "bndcfgu", 46, 1, NULL, 64, "cfgu"); ++ tdesc_create_reg (feature, "bndstatus", 47, 1, NULL, 64, "status"); + + tdesc_i386_mpx_linux = result; + } +diff --git a/gdb/features/i386/i386-mpx-linux.xml b/gdb/features/i386/i386-mpx-linux.xml +index c4004d6..4228cf5 100644 +--- a/gdb/features/i386/i386-mpx-linux.xml ++++ b/gdb/features/i386/i386-mpx-linux.xml +@@ -14,6 +14,5 @@ + <xi:include href="32bit-core.xml"/> + <xi:include href="32bit-sse.xml"/> + <xi:include href="32bit-linux.xml"/> +- <xi:include href="32bit-avx.xml"/> + <xi:include href="32bit-mpx.xml"/> + </target> +diff --git a/gdb/features/i386/i386-mpx.c b/gdb/features/i386/i386-mpx.c +index 1e04afd..430db3f 100644 +--- a/gdb/features/i386/i386-mpx.c ++++ b/gdb/features/i386/i386-mpx.c +@@ -130,16 +130,6 @@ initialize_tdesc_i386_mpx (void) + tdesc_create_reg (feature, "xmm7", 39, 1, NULL, 128, "vec128"); + tdesc_create_reg (feature, "mxcsr", 40, 1, "vector", 32, "i386_mxcsr"); + +- feature = tdesc_create_feature (result, "org.gnu.gdb.i386.avx"); +- tdesc_create_reg (feature, "ymm0h", 41, 1, NULL, 128, "uint128"); +- tdesc_create_reg (feature, "ymm1h", 42, 1, NULL, 128, "uint128"); +- tdesc_create_reg (feature, "ymm2h", 43, 1, NULL, 128, "uint128"); +- tdesc_create_reg (feature, "ymm3h", 44, 1, NULL, 128, "uint128"); +- tdesc_create_reg (feature, "ymm4h", 45, 1, NULL, 128, "uint128"); +- tdesc_create_reg (feature, "ymm5h", 46, 1, NULL, 128, "uint128"); +- tdesc_create_reg (feature, "ymm6h", 47, 1, NULL, 128, "uint128"); +- tdesc_create_reg (feature, "ymm7h", 48, 1, NULL, 128, "uint128"); +- + feature = tdesc_create_feature (result, "org.gnu.gdb.i386.mpx"); + type = tdesc_create_struct (feature, "br128"); + field_type = tdesc_named_type (feature, "uint64"); +@@ -171,12 +161,12 @@ initialize_tdesc_i386_mpx (void) + field_type = tdesc_named_type (feature, "_bndcfgu"); + tdesc_add_field (type, "config", field_type); + +- tdesc_create_reg (feature, "bnd0raw", 49, 1, NULL, 128, "br128"); +- tdesc_create_reg (feature, "bnd1raw", 50, 1, NULL, 128, "br128"); +- tdesc_create_reg (feature, "bnd2raw", 51, 1, NULL, 128, "br128"); +- tdesc_create_reg (feature, "bnd3raw", 52, 1, NULL, 128, "br128"); +- tdesc_create_reg (feature, "bndcfgu", 53, 1, NULL, 64, "cfgu"); +- tdesc_create_reg (feature, "bndstatus", 54, 1, NULL, 64, "status"); ++ tdesc_create_reg (feature, "bnd0raw", 41, 1, NULL, 128, "br128"); ++ tdesc_create_reg (feature, "bnd1raw", 42, 1, NULL, 128, "br128"); ++ tdesc_create_reg (feature, "bnd2raw", 43, 1, NULL, 128, "br128"); ++ tdesc_create_reg (feature, "bnd3raw", 44, 1, NULL, 128, "br128"); ++ tdesc_create_reg (feature, "bndcfgu", 45, 1, NULL, 64, "cfgu"); ++ tdesc_create_reg (feature, "bndstatus", 46, 1, NULL, 64, "status"); + + tdesc_i386_mpx = result; + } +diff --git a/gdb/features/i386/i386-mpx.xml b/gdb/features/i386/i386-mpx.xml +index 52a68db..c1806cb 100644 +--- a/gdb/features/i386/i386-mpx.xml ++++ b/gdb/features/i386/i386-mpx.xml +@@ -12,6 +12,5 @@ + <architecture>i386</architecture> + <xi:include href="32bit-core.xml"/> + <xi:include href="32bit-sse.xml"/> +- <xi:include href="32bit-avx.xml"/> + <xi:include href="32bit-mpx.xml"/> + </target> +diff --git a/gdb/gdbserver/Makefile.in b/gdb/gdbserver/Makefile.in +index 1e874e3..dee2ea1 100644 +--- a/gdb/gdbserver/Makefile.in ++++ b/gdb/gdbserver/Makefile.in +@@ -376,9 +376,11 @@ clean: + rm -f xml-builtin.c stamp-xml + rm -f i386-avx.c i386-avx-linux.c + rm -f i386-mpx.c i386-mpx-linux.c ++ rm -f i386-avx-mpx.c i386-avx-mpx-linux.c + rm -f i386-avx512.c i386-avx512-linux.c + rm -f amd64-avx.c amd64-avx-linux.c + rm -f amd64-mpx.c amd64-mpx-linux.c ++ rm -f amd64-avx-mpx.c amd64-avx-mpx-linux.c + rm -f amd64-avx512.c amd64-avx512-linux.c + rm -f i386-mmx.c i386-mmx-linux.c + rm -f x32.c x32-linux.c +@@ -495,6 +497,21 @@ regcache-ipa.o: regcache.c + i386-linux-ipa.o: i386-linux.c + $(IPAGENT_COMPILE) $< + $(POSTCOMPILE) ++i386-mmx-linux-ipa.o: i386-mmx-linux.c ++ $(IPAGENT_COMPILE) $< ++ $(POSTCOMPILE) ++i386-avx-linux-ipa.o: i386-avx-linux.c ++ $(IPAGENT_COMPILE) $< ++ $(POSTCOMPILE) ++i386-mpx-linux-ipa.o: i386-mpx-linux.c ++ $(IPAGENT_COMPILE) $< ++ $(POSTCOMPILE) ++i386-avx-mpx-linux-ipa.o: i386-avx-mpx-linux.c ++ $(IPAGENT_COMPILE) $< ++ $(POSTCOMPILE) ++i386-avx512-linux-ipa.o: i386-avx512-linux.c ++ $(IPAGENT_COMPILE) $< ++ $(POSTCOMPILE) + linux-i386-ipa.o: linux-i386-ipa.c + $(IPAGENT_COMPILE) $< + $(POSTCOMPILE) +@@ -504,6 +521,18 @@ linux-amd64-ipa.o: linux-amd64-ipa.c + amd64-linux-ipa.o: amd64-linux.c + $(IPAGENT_COMPILE) $< + $(POSTCOMPILE) ++amd64-avx-linux-ipa.o: amd64-avx-linux.c ++ $(IPAGENT_COMPILE) $< ++ $(POSTCOMPILE) ++amd64-mpx-linux-ipa.o: amd64-mpx-linux.c ++ $(IPAGENT_COMPILE) $< ++ $(POSTCOMPILE) ++amd64-avx-mpx-linux-ipa.o: amd64-avx-mpx-linux.c ++ $(IPAGENT_COMPILE) $< ++ $(POSTCOMPILE) ++amd64-avx512-linux-ipa.o: amd64-avx512-linux.c ++ $(IPAGENT_COMPILE) $< ++ $(POSTCOMPILE) + linux-aarch64-ipa.o: linux-aarch64-ipa.c + $(IPAGENT_COMPILE) $< + $(POSTCOMPILE) +@@ -694,6 +723,10 @@ i386-mpx.c : $(srcdir)/../regformats/i386/i386-mpx.dat $(regdat_sh) + $(SHELL) $(regdat_sh) $(srcdir)/../regformats/i386/i386-mpx.dat i386-mpx.c + i386-mpx-linux.c : $(srcdir)/../regformats/i386/i386-mpx-linux.dat $(regdat_sh) + $(SHELL) $(regdat_sh) $(srcdir)/../regformats/i386/i386-mpx-linux.dat i386-mpx-linux.c ++i386-avx-mpx.c : $(srcdir)/../regformats/i386/i386-avx-mpx.dat $(regdat_sh) ++ $(SHELL) $(regdat_sh) $(srcdir)/../regformats/i386/i386-avx-mpx.dat i386-avx-mpx.c ++i386-avx-mpx-linux.c : $(srcdir)/../regformats/i386/i386-avx-mpx-linux.dat $(regdat_sh) ++ $(SHELL) $(regdat_sh) $(srcdir)/../regformats/i386/i386-avx-mpx-linux.dat i386-avx-mpx-linux.c + i386-mmx.c : $(srcdir)/../regformats/i386/i386-mmx.dat $(regdat_sh) + $(SHELL) $(regdat_sh) $(srcdir)/../regformats/i386/i386-mmx.dat i386-mmx.c + i386-mmx-linux.c : $(srcdir)/../regformats/i386/i386-mmx-linux.dat $(regdat_sh) +@@ -808,6 +841,10 @@ amd64-mpx.c : $(srcdir)/../regformats/i386/amd64-mpx.dat $(regdat_sh) + $(SHELL) $(regdat_sh) $(srcdir)/../regformats/i386/amd64-mpx.dat amd64-mpx.c + amd64-mpx-linux.c : $(srcdir)/../regformats/i386/amd64-mpx-linux.dat $(regdat_sh) + $(SHELL) $(regdat_sh) $(srcdir)/../regformats/i386/amd64-mpx-linux.dat amd64-mpx-linux.c ++amd64-avx-mpx.c : $(srcdir)/../regformats/i386/amd64-avx-mpx.dat $(regdat_sh) ++ $(SHELL) $(regdat_sh) $(srcdir)/../regformats/i386/amd64-avx-mpx.dat amd64-avx-mpx.c ++amd64-avx-mpx-linux.c : $(srcdir)/../regformats/i386/amd64-avx-mpx-linux.dat $(regdat_sh) ++ $(SHELL) $(regdat_sh) $(srcdir)/../regformats/i386/amd64-avx-mpx-linux.dat amd64-avx-mpx-linux.c + x32.c : $(srcdir)/../regformats/i386/x32.dat $(regdat_sh) + $(SHELL) $(regdat_sh) $(srcdir)/../regformats/i386/x32.dat x32.c + x32-linux.c : $(srcdir)/../regformats/i386/x32-linux.dat $(regdat_sh) +diff --git a/gdb/gdbserver/configure.srv b/gdb/gdbserver/configure.srv +index a54b9e7..4935a36 100644 +--- a/gdb/gdbserver/configure.srv ++++ b/gdb/gdbserver/configure.srv +@@ -24,20 +24,23 @@ + # Default hostio_last_error implementation + srv_hostio_err_objs="hostio-errno.o" + +-srv_i386_regobj="i386.o i386-avx.o i386-avx512.o i386-mpx.o i386-mmx.o" +-srv_i386_linux_regobj="i386-linux.o i386-avx-linux.o i386-avx512-linux.o i386-mpx-linux.o i386-mmx-linux.o" +-srv_amd64_regobj="amd64.o amd64-avx.o amd64-avx512.o amd64-mpx.o x32.o x32-avx.o x32-avx512.o" +-srv_amd64_linux_regobj="amd64-linux.o amd64-avx-linux.o amd64-avx512-linux.o amd64-mpx-linux.o x32-linux.o x32-avx-linux.o x32-avx512-linux.o" ++srv_i386_regobj="i386.o i386-avx.o i386-avx512.o i386-mpx.o i386-avx-mpx.o i386-mmx.o" ++srv_i386_linux_regobj="i386-linux.o i386-avx-linux.o i386-avx512-linux.o i386-mpx-linux.o i386-avx-mpx-linux.o i386-mmx-linux.o" ++srv_amd64_regobj="amd64.o amd64-avx.o amd64-avx512.o amd64-mpx.o amd64-avx-mpx.o x32.o x32-avx.o x32-avx512.o" ++srv_amd64_linux_regobj="amd64-linux.o amd64-avx-linux.o amd64-avx512-linux.o amd64-mpx-linux.o amd64-avx-mpx-linux.o x32-linux.o x32-avx-linux.o x32-avx512-linux.o" ++ ++ ++ipa_i386_linux_regobj="i386-linux-ipa.o i386-avx-linux-ipa.o i386-avx-mpx-linux-ipa.o i386-avx512-linux-ipa.o i386-mpx-linux-ipa.o i386-mmx-linux-ipa.o" ++ipa_amd64_linux_regobj="amd64-linux-ipa.o amd64-avx-linux-ipa.o amd64-avx-mpx-linux-ipa.o amd64-avx512-linux-ipa.o amd64-mpx-linux-ipa.o" + +-ipa_i386_linux_regobj=i386-linux-ipa.o +-ipa_amd64_linux_regobj=amd64-linux-ipa.o + + srv_i386_32bit_xmlfiles="i386/32bit-core.xml i386/32bit-sse.xml i386/32bit-avx.xml i386/32bit-avx512.xml i386/32bit-mpx.xml" + srv_i386_64bit_xmlfiles="i386/64bit-core.xml i386/64bit-sse.xml i386/64bit-avx.xml i386/64bit-avx512.xml i386/x32-core.xml i386/64bit-mpx.xml" +-srv_i386_xmlfiles="i386/i386.xml i386/i386-avx.xml i386/i386-avx512.xml i386/i386-mpx.xml i386/i386-mmx.xml $srv_i386_32bit_xmlfiles" +-srv_amd64_xmlfiles="i386/amd64.xml i386/amd64-avx.xml i386/amd64-avx512.xml i386/x32.xml i386/x32-avx.xml i386/x32-avx512.xml i386/amd64-mpx.xml $srv_i386_64bit_xmlfiles" +-srv_i386_linux_xmlfiles="i386/i386-linux.xml i386/i386-avx-linux.xml i386/i386-avx512-linux.xml i386/i386-mmx-linux.xml i386/32bit-linux.xml i386/i386-mpx-linux.xml $srv_i386_32bit_xmlfiles" +-srv_amd64_linux_xmlfiles="i386/amd64-linux.xml i386/amd64-avx-linux.xml i386/amd64-avx512-linux.xml i386/64bit-linux.xml i386/amd64-mpx-linux.xml i386/x32-linux.xml i386/x32-avx-linux.xml i386/x32-avx512-linux.xml $srv_i386_64bit_xmlfiles" ++srv_i386_xmlfiles="i386/i386.xml i386/i386-avx.xml i386/i386-avx512.xml i386/i386-mpx.xml i386/i386-avx-mpx.xml i386/i386-mmx.xml $srv_i386_32bit_xmlfiles" ++srv_amd64_xmlfiles="i386/amd64.xml i386/amd64-avx.xml i386/amd64-avx512.xml i386/x32.xml i386/x32-avx.xml i386/x32-avx512.xml i386/amd64-mpx.xml i386/amd64-avx-mpx.xml $srv_i386_64bit_xmlfiles" ++srv_i386_linux_xmlfiles="i386/i386-linux.xml i386/i386-avx-linux.xml i386/i386-avx512-linux.xml i386/i386-mmx-linux.xml i386/32bit-linux.xml i386/i386-mpx-linux.xml i386/i386-avx-mpx-linux.xml $srv_i386_32bit_xmlfiles" ++srv_amd64_linux_xmlfiles="i386/amd64-linux.xml i386/amd64-avx-linux.xml i386/amd64-avx512-linux.xml i386/64bit-linux.xml i386/amd64-mpx-linux.xml i386/amd64-avx-mpx-linux.xml i386/x32-linux.xml i386/x32-avx-linux.xml i386/x32-avx512-linux.xml $srv_i386_64bit_xmlfiles" ++ + + + # Linux object files. This is so we don't have to repeat +diff --git a/gdb/gdbserver/linux-aarch64-ipa.c b/gdb/gdbserver/linux-aarch64-ipa.c +index 758708d..f1eaa70 100644 +--- a/gdb/gdbserver/linux-aarch64-ipa.c ++++ b/gdb/gdbserver/linux-aarch64-ipa.c +@@ -143,9 +143,18 @@ gdb_agent_get_raw_reg (const unsigned char *raw_regs, int regnum) + + aarch64_ft_collect_regmap[regnum] * FT_CR_SIZE); + } + ++/* Return target_desc to use for IPA, given the tdesc index passed by ++ gdbserver. Index is ignored, since we have only one tdesc ++ at the moment. */ ++ ++const struct target_desc * ++get_ipa_tdesc (int idx) ++{ ++ return tdesc_aarch64; ++} ++ + void + initialize_low_tracepoint (void) + { + init_registers_aarch64 (); +- ipa_tdesc = tdesc_aarch64; + } +diff --git a/gdb/gdbserver/linux-amd64-ipa.c b/gdb/gdbserver/linux-amd64-ipa.c +index 2eeedcd..f9c72a0 100644 +--- a/gdb/gdbserver/linux-amd64-ipa.c ++++ b/gdb/gdbserver/linux-amd64-ipa.c +@@ -20,6 +20,7 @@ + + #include "server.h" + #include "tracepoint.h" ++#include "linux-x86-tdesc.h" + + /* Defined in auto-generated file amd64-linux.c. */ + void init_registers_amd64_linux (void); +@@ -166,9 +167,37 @@ supply_static_tracepoint_registers (struct regcache *regcache, + + #endif /* HAVE_UST */ + ++/* Return target_desc to use for IPA, given the tdesc index passed by ++ gdbserver. */ ++ ++const struct target_desc * ++get_ipa_tdesc (int idx) ++{ ++ switch (idx) ++ { ++ case X86_TDESC_SSE: ++ return tdesc_amd64_linux; ++ case X86_TDESC_AVX: ++ return tdesc_amd64_avx_linux; ++ case X86_TDESC_MPX: ++ return tdesc_amd64_mpx_linux; ++ case X86_TDESC_AVX_MPX: ++ return tdesc_amd64_avx_mpx_linux; ++ case X86_TDESC_AVX512: ++ return tdesc_amd64_avx512_linux; ++ default: ++ internal_error (__FILE__, __LINE__, ++ "unknown ipa tdesc index: %d", idx); ++ return tdesc_amd64_linux; ++ } ++} ++ + void + initialize_low_tracepoint (void) + { + init_registers_amd64_linux (); +- ipa_tdesc = tdesc_amd64_linux; ++ init_registers_amd64_avx_linux (); ++ init_registers_amd64_avx_mpx_linux (); ++ init_registers_amd64_mpx_linux (); ++ init_registers_amd64_avx512_linux (); + } +diff --git a/gdb/gdbserver/linux-i386-ipa.c b/gdb/gdbserver/linux-i386-ipa.c +index 11dc038..d7a8e7d 100644 +--- a/gdb/gdbserver/linux-i386-ipa.c ++++ b/gdb/gdbserver/linux-i386-ipa.c +@@ -21,6 +21,7 @@ + #include "server.h" + #include <sys/mman.h> + #include "tracepoint.h" ++#include "linux-x86-tdesc.h" + + /* GDB register numbers. */ + +@@ -47,10 +48,6 @@ enum i386_gdb_regnum + + #define i386_num_regs 16 + +-/* Defined in auto-generated file i386-linux.c. */ +-void init_registers_i386_linux (void); +-extern const struct target_desc *tdesc_i386_linux; +- + #define FT_CR_EAX 15 + #define FT_CR_ECX 14 + #define FT_CR_EDX 13 +@@ -247,10 +244,40 @@ initialize_fast_tracepoint_trampoline_buffer (void) + } + } + ++/* Return target_desc to use for IPA, given the tdesc index passed by ++ gdbserver. */ ++ ++const struct target_desc * ++get_ipa_tdesc (int idx) ++{ ++ switch (idx) ++ { ++ case X86_TDESC_MMX: ++ return tdesc_i386_mmx_linux; ++ case X86_TDESC_SSE: ++ return tdesc_i386_linux; ++ case X86_TDESC_AVX: ++ return tdesc_i386_avx_linux; ++ case X86_TDESC_MPX: ++ return tdesc_i386_mpx_linux; ++ case X86_TDESC_AVX_MPX: ++ return tdesc_i386_avx_mpx_linux; ++ case X86_TDESC_AVX512: ++ return tdesc_i386_avx512_linux; ++ default: ++ internal_error (__FILE__, __LINE__, ++ "unknown ipa tdesc index: %d", idx); ++ return tdesc_i386_linux; ++ } ++} ++ + void + initialize_low_tracepoint (void) + { ++ init_registers_i386_mmx_linux (); + init_registers_i386_linux (); +- ipa_tdesc = tdesc_i386_linux; ++ init_registers_i386_avx_linux (); ++ init_registers_i386_mpx_linux (); ++ init_registers_i386_avx512_linux (); + initialize_fast_tracepoint_trampoline_buffer (); + } +diff --git a/gdb/gdbserver/linux-low.c b/gdb/gdbserver/linux-low.c +index 8b025bd..a142c2c 100644 +--- a/gdb/gdbserver/linux-low.c ++++ b/gdb/gdbserver/linux-low.c +@@ -6432,6 +6432,15 @@ linux_supports_catch_syscall (void) + } + + static int ++linux_get_ipa_tdesc_idx (void) ++{ ++ if (the_low_target.get_ipa_tdesc_idx == NULL) ++ return 0; ++ ++ return (*the_low_target.get_ipa_tdesc_idx) (); ++} ++ ++static int + linux_supports_tracepoints (void) + { + if (*the_low_target.supports_tracepoints == NULL) +@@ -7408,6 +7417,7 @@ static struct target_ops linux_target_ops = { + linux_breakpoint_kind_from_current_state, + linux_supports_software_single_step, + linux_supports_catch_syscall, ++ linux_get_ipa_tdesc_idx, + }; + + #ifdef HAVE_LINUX_REGSETS +diff --git a/gdb/gdbserver/linux-low.h b/gdb/gdbserver/linux-low.h +index 4ec8550..d4946c1 100644 +--- a/gdb/gdbserver/linux-low.h ++++ b/gdb/gdbserver/linux-low.h +@@ -246,6 +246,9 @@ struct linux_target_ops + due to SYSCALL_SIGTRAP. */ + void (*get_syscall_trapinfo) (struct regcache *regcache, + int *sysno, int *sysret); ++ ++ /* See target.h. */ ++ int (*get_ipa_tdesc_idx) (void); + }; + + extern struct linux_target_ops the_low_target; +diff --git a/gdb/gdbserver/linux-x86-low.c b/gdb/gdbserver/linux-x86-low.c +index 0c4954a..2535959 100644 +--- a/gdb/gdbserver/linux-x86-low.c ++++ b/gdb/gdbserver/linux-x86-low.c +@@ -45,57 +45,7 @@ + #include "nat/linux-nat.h" + #include "nat/x86-linux.h" + #include "nat/x86-linux-dregs.h" +- +-#ifdef __x86_64__ +-/* Defined in auto-generated file amd64-linux.c. */ +-void init_registers_amd64_linux (void); +-extern const struct target_desc *tdesc_amd64_linux; +- +-/* Defined in auto-generated file amd64-avx-linux.c. */ +-void init_registers_amd64_avx_linux (void); +-extern const struct target_desc *tdesc_amd64_avx_linux; +- +-/* Defined in auto-generated file amd64-avx512-linux.c. */ +-void init_registers_amd64_avx512_linux (void); +-extern const struct target_desc *tdesc_amd64_avx512_linux; +- +-/* Defined in auto-generated file amd64-mpx-linux.c. */ +-void init_registers_amd64_mpx_linux (void); +-extern const struct target_desc *tdesc_amd64_mpx_linux; +- +-/* Defined in auto-generated file x32-linux.c. */ +-void init_registers_x32_linux (void); +-extern const struct target_desc *tdesc_x32_linux; +- +-/* Defined in auto-generated file x32-avx-linux.c. */ +-void init_registers_x32_avx_linux (void); +-extern const struct target_desc *tdesc_x32_avx_linux; +- +-/* Defined in auto-generated file x32-avx512-linux.c. */ +-void init_registers_x32_avx512_linux (void); +-extern const struct target_desc *tdesc_x32_avx512_linux; +- +-#endif +- +-/* Defined in auto-generated file i386-linux.c. */ +-void init_registers_i386_linux (void); +-extern const struct target_desc *tdesc_i386_linux; +- +-/* Defined in auto-generated file i386-mmx-linux.c. */ +-void init_registers_i386_mmx_linux (void); +-extern const struct target_desc *tdesc_i386_mmx_linux; +- +-/* Defined in auto-generated file i386-avx-linux.c. */ +-void init_registers_i386_avx_linux (void); +-extern const struct target_desc *tdesc_i386_avx_linux; +- +-/* Defined in auto-generated file i386-avx512-linux.c. */ +-void init_registers_i386_avx512_linux (void); +-extern const struct target_desc *tdesc_i386_avx512_linux; +- +-/* Defined in auto-generated file i386-mpx-linux.c. */ +-void init_registers_i386_mpx_linux (void); +-extern const struct target_desc *tdesc_i386_mpx_linux; ++#include "linux-x86-tdesc.h" + + #ifdef __x86_64__ + static struct target_desc *tdesc_amd64_linux_no_xml; +@@ -839,6 +789,9 @@ x86_linux_read_description (void) + case X86_XSTATE_AVX512_MASK: + return tdesc_amd64_avx512_linux; + ++ case X86_XSTATE_AVX_MPX_MASK: ++ return tdesc_amd64_avx_mpx_linux; ++ + case X86_XSTATE_MPX_MASK: + return tdesc_amd64_mpx_linux; + +@@ -886,6 +839,9 @@ x86_linux_read_description (void) + case (X86_XSTATE_MPX_MASK): + return tdesc_i386_mpx_linux; + ++ case (X86_XSTATE_AVX_MPX_MASK): ++ return tdesc_i386_avx_mpx_linux; ++ + case (X86_XSTATE_AVX_MASK): + return tdesc_i386_avx_linux; + +@@ -2891,6 +2847,42 @@ x86_supports_hardware_single_step (void) + return 1; + } + ++static int ++x86_get_ipa_tdesc_idx (void) ++{ ++ struct regcache *regcache = get_thread_regcache (current_thread, 0); ++ const struct target_desc *tdesc = regcache->tdesc; ++ ++#ifdef __x86_64__ ++ if (tdesc == tdesc_amd64_linux || tdesc == tdesc_amd64_linux_no_xml ++ || tdesc == tdesc_x32_linux) ++ return X86_TDESC_SSE; ++ if (tdesc == tdesc_amd64_avx_linux || tdesc == tdesc_x32_avx_linux) ++ return X86_TDESC_AVX; ++ if (tdesc == tdesc_amd64_mpx_linux) ++ return X86_TDESC_MPX; ++ if (tdesc == tdesc_amd64_avx_mpx_linux) ++ return X86_TDESC_AVX_MPX; ++ if (tdesc == tdesc_amd64_avx512_linux || tdesc == tdesc_x32_avx512_linux) ++ return X86_TDESC_AVX512; ++#endif ++ ++ if (tdesc == tdesc_i386_mmx_linux) ++ return X86_TDESC_MMX; ++ if (tdesc == tdesc_i386_linux || tdesc == tdesc_i386_linux_no_xml) ++ return X86_TDESC_SSE; ++ if (tdesc == tdesc_i386_avx_linux) ++ return X86_TDESC_AVX; ++ if (tdesc == tdesc_i386_mpx_linux) ++ return X86_TDESC_MPX; ++ if (tdesc == tdesc_i386_avx_mpx_linux) ++ return X86_TDESC_AVX_MPX; ++ if (tdesc == tdesc_i386_avx512_linux) ++ return X86_TDESC_AVX512; ++ ++ return 0; ++} ++ + /* This is initialized assuming an amd64 target. + x86_arch_setup will correct it for i386 or amd64 targets. */ + +@@ -2934,6 +2926,7 @@ struct linux_target_ops the_low_target = + NULL, /* breakpoint_kind_from_current_state */ + x86_supports_hardware_single_step, + x86_get_syscall_trapinfo, ++ x86_get_ipa_tdesc_idx, + }; + + void +@@ -2945,6 +2938,7 @@ initialize_low_arch (void) + init_registers_amd64_avx_linux (); + init_registers_amd64_avx512_linux (); + init_registers_amd64_mpx_linux (); ++ init_registers_amd64_avx_mpx_linux (); + + init_registers_x32_linux (); + init_registers_x32_avx_linux (); +@@ -2959,6 +2953,7 @@ initialize_low_arch (void) + init_registers_i386_avx_linux (); + init_registers_i386_avx512_linux (); + init_registers_i386_mpx_linux (); ++ init_registers_i386_avx_mpx_linux (); + + tdesc_i386_linux_no_xml = XNEW (struct target_desc); + copy_target_description (tdesc_i386_linux_no_xml, tdesc_i386_linux); +diff --git a/gdb/gdbserver/linux-x86-tdesc.h b/gdb/gdbserver/linux-x86-tdesc.h +new file mode 100644 +index 0000000..720f50c +--- /dev/null ++++ b/gdb/gdbserver/linux-x86-tdesc.h +@@ -0,0 +1,98 @@ ++/* Low level support for x86 (i386 and x86-64), shared between gdbserver ++ and IPA. ++ ++ Copyright (C) 2016 Free Software Foundation, Inc. ++ ++ This file is part of GDB. ++ ++ This program is free software; you can redistribute it and/or modify ++ it under the terms of the GNU General Public License as published by ++ the Free Software Foundation; either version 3 of the License, or ++ (at your option) any later version. ++ ++ This program is distributed in the hope that it will be useful, ++ but WITHOUT ANY WARRANTY; without even the implied warranty of ++ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++ GNU General Public License for more details. ++ ++ You should have received a copy of the GNU General Public License ++ along with this program. If not, see <http://www.gnu.org/licenses/>. */ ++ ++/* Note: since IPA obviously knows what ABI it's running on (i386 vs x86_64 ++ vs x32), it's sufficient to pass only the register set here. This, ++ together with the ABI known at IPA compile time, maps to a tdesc. */ ++ ++enum x86_linux_tdesc { ++ X86_TDESC_MMX = 0, ++ X86_TDESC_SSE = 1, ++ X86_TDESC_AVX = 2, ++ X86_TDESC_MPX = 3, ++ X86_TDESC_AVX_MPX = 4, ++ X86_TDESC_AVX512 = 5, ++}; ++ ++#ifdef __x86_64__ ++ ++#if defined __LP64__ || !defined IN_PROCESS_AGENT ++/* Defined in auto-generated file amd64-linux.c. */ ++void init_registers_amd64_linux (void); ++extern const struct target_desc *tdesc_amd64_linux; ++ ++/* Defined in auto-generated file amd64-avx-linux.c. */ ++void init_registers_amd64_avx_linux (void); ++extern const struct target_desc *tdesc_amd64_avx_linux; ++ ++/* Defined in auto-generated file amd64-avx512-linux.c. */ ++void init_registers_amd64_avx512_linux (void); ++extern const struct target_desc *tdesc_amd64_avx512_linux; ++ ++/* Defined in auto-generated file amd64-avx-mpx-linux.c. */ ++void init_registers_amd64_avx_mpx_linux (void); ++extern const struct target_desc *tdesc_amd64_avx_mpx_linux; ++ ++/* Defined in auto-generated file amd64-mpx-linux.c. */ ++void init_registers_amd64_mpx_linux (void); ++extern const struct target_desc *tdesc_amd64_mpx_linux; ++#endif ++ ++#if defined __ILP32__ || !defined IN_PROCESS_AGENT ++/* Defined in auto-generated file x32-linux.c. */ ++void init_registers_x32_linux (void); ++extern const struct target_desc *tdesc_x32_linux; ++ ++/* Defined in auto-generated file x32-avx-linux.c. */ ++void init_registers_x32_avx_linux (void); ++extern const struct target_desc *tdesc_x32_avx_linux; ++ ++/* Defined in auto-generated file x32-avx512-linux.c. */ ++void init_registers_x32_avx512_linux (void); ++extern const struct target_desc *tdesc_x32_avx512_linux; ++#endif ++ ++#endif ++ ++#if defined __i386__ || !defined IN_PROCESS_AGENT ++/* Defined in auto-generated file i386-linux.c. */ ++void init_registers_i386_linux (void); ++extern const struct target_desc *tdesc_i386_linux; ++ ++/* Defined in auto-generated file i386-mmx-linux.c. */ ++void init_registers_i386_mmx_linux (void); ++extern const struct target_desc *tdesc_i386_mmx_linux; ++ ++/* Defined in auto-generated file i386-avx-linux.c. */ ++void init_registers_i386_avx_linux (void); ++extern const struct target_desc *tdesc_i386_avx_linux; ++ ++/* Defined in auto-generated file i386-avx-mpx-linux.c. */ ++void init_registers_i386_avx_mpx_linux (void); ++extern const struct target_desc *tdesc_i386_avx_mpx_linux; ++ ++/* Defined in auto-generated file i386-avx512-linux.c. */ ++void init_registers_i386_avx512_linux (void); ++extern const struct target_desc *tdesc_i386_avx512_linux; ++ ++/* Defined in auto-generated file i386-mpx-linux.c. */ ++void init_registers_i386_mpx_linux (void); ++extern const struct target_desc *tdesc_i386_mpx_linux; ++#endif +diff --git a/gdb/gdbserver/target.h b/gdb/gdbserver/target.h +index 5af2051..4c14c20 100644 +--- a/gdb/gdbserver/target.h ++++ b/gdb/gdbserver/target.h +@@ -471,6 +471,9 @@ struct target_ops + /* Return 1 if the target supports catch syscall, 0 (or leave the + callback NULL) otherwise. */ + int (*supports_catch_syscall) (void); ++ ++ /* Return tdesc index for IPA. */ ++ int (*get_ipa_tdesc_idx) (void); + }; + + extern struct target_ops *the_target; +@@ -550,6 +553,10 @@ int kill_inferior (int); + (the_target->supports_catch_syscall ? \ + (*the_target->supports_catch_syscall) () : 0) + ++#define target_get_ipa_tdesc_idx() \ ++ (the_target->get_ipa_tdesc_idx \ ++ ? (*the_target->get_ipa_tdesc_idx) () : 0) ++ + #define target_supports_tracepoints() \ + (the_target->supports_tracepoints \ + ? (*the_target->supports_tracepoints) () : 0) +diff --git a/gdb/gdbserver/tracepoint.c b/gdb/gdbserver/tracepoint.c +index 0671999..cc86677 100644 +--- a/gdb/gdbserver/tracepoint.c ++++ b/gdb/gdbserver/tracepoint.c +@@ -134,6 +134,7 @@ trace_vdebug (const char *fmt, ...) + # define ust_loaded IPA_SYM_EXPORTED_NAME (ust_loaded) + # define helper_thread_id IPA_SYM_EXPORTED_NAME (helper_thread_id) + # define cmd_buf IPA_SYM_EXPORTED_NAME (cmd_buf) ++# define ipa_tdesc_idx IPA_SYM_EXPORTED_NAME (ipa_tdesc_idx) + #endif + + #ifndef IN_PROCESS_AGENT +@@ -171,6 +172,7 @@ struct ipa_sym_addresses + CORE_ADDR addr_get_trace_state_variable_value; + CORE_ADDR addr_set_trace_state_variable_value; + CORE_ADDR addr_ust_loaded; ++ CORE_ADDR addr_ipa_tdesc_idx; + }; + + static struct +@@ -207,6 +209,7 @@ static struct + IPA_SYM(get_trace_state_variable_value), + IPA_SYM(set_trace_state_variable_value), + IPA_SYM(ust_loaded), ++ IPA_SYM(ipa_tdesc_idx), + }; + + static struct ipa_sym_addresses ipa_sym_addrs; +@@ -3231,6 +3234,11 @@ cmd_qtstart (char *packet) + + *packet = '\0'; + ++ /* Tell IPA about the correct tdesc. */ ++ if (write_inferior_integer (ipa_sym_addrs.addr_ipa_tdesc_idx, ++ target_get_ipa_tdesc_idx ())) ++ error ("Error setting ipa_tdesc_idx variable in lib"); ++ + /* Start out empty. */ + if (agent_loaded_p ()) + write_inferior_data_ptr (ipa_sym_addrs.addr_tracepoints, 0); +@@ -4714,19 +4722,20 @@ collect_data_at_step (struct tracepoint_hit_ctx *ctx, + #endif + + #ifdef IN_PROCESS_AGENT +-/* The target description used by the IPA. Given that the IPA library +- is built for a specific architecture that is loaded into the +- inferior, there only needs to be one such description per +- build. */ +-const struct target_desc *ipa_tdesc; ++/* The target description index for IPA. Passed from gdbserver, used ++ to select ipa_tdesc. */ ++EXTERN_C_PUSH ++IP_AGENT_EXPORT_VAR int ipa_tdesc_idx; ++EXTERN_C_POP + #endif + + static struct regcache * + get_context_regcache (struct tracepoint_hit_ctx *ctx) + { + struct regcache *regcache = NULL; +- + #ifdef IN_PROCESS_AGENT ++ const struct target_desc *ipa_tdesc = get_ipa_tdesc (ipa_tdesc_idx); ++ + if (ctx->type == fast_tracepoint) + { + struct fast_tracepoint_ctx *fctx = (struct fast_tracepoint_ctx *) ctx; +@@ -5799,11 +5808,13 @@ IP_AGENT_EXPORT_FUNC void + gdb_collect (struct tracepoint *tpoint, unsigned char *regs) + { + struct fast_tracepoint_ctx ctx; ++ const struct target_desc *ipa_tdesc; + + /* Don't do anything until the trace run is completely set up. */ + if (!tracing) + return; + ++ ipa_tdesc = get_ipa_tdesc (ipa_tdesc_idx); + ctx.base.type = fast_tracepoint; + ctx.regs = regs; + ctx.regcache_initted = 0; +@@ -6660,6 +6671,7 @@ gdb_probe (const struct marker *mdata, void *probe_private, + { + struct tracepoint *tpoint; + struct static_tracepoint_ctx ctx; ++ const struct target_desc *ipa_tdesc; + + /* Don't do anything until the trace run is completely set up. */ + if (!tracing) +@@ -6668,6 +6680,7 @@ gdb_probe (const struct marker *mdata, void *probe_private, + return; + } + ++ ipa_tdesc = get_ipa_tdesc (ipa_tdesc_idx); + ctx.base.type = static_tracepoint; + ctx.regcache_initted = 0; + ctx.regs = regs; +diff --git a/gdb/gdbserver/tracepoint.h b/gdb/gdbserver/tracepoint.h +index cab89cf..e30f4f7 100644 +--- a/gdb/gdbserver/tracepoint.h ++++ b/gdb/gdbserver/tracepoint.h +@@ -124,6 +124,7 @@ int handle_tracepoint_bkpts (struct thread_info *tinfo, CORE_ADDR stop_pc); + + #ifdef IN_PROCESS_AGENT + void initialize_low_tracepoint (void); ++const struct target_desc *get_ipa_tdesc (int idx); + void supply_fast_tracepoint_registers (struct regcache *regcache, + const unsigned char *regs); + void supply_static_tracepoint_registers (struct regcache *regcache, +@@ -131,9 +132,6 @@ void supply_static_tracepoint_registers (struct regcache *regcache, + CORE_ADDR pc); + void set_trampoline_buffer_space (CORE_ADDR begin, CORE_ADDR end, + char *errmsg); +- +-extern const struct target_desc *ipa_tdesc; +- + #else + void stop_tracing (void); + +diff --git a/gdb/i386-linux-tdep.c b/gdb/i386-linux-tdep.c +index af39e78..df47efd 100644 +--- a/gdb/i386-linux-tdep.c ++++ b/gdb/i386-linux-tdep.c +@@ -47,6 +47,7 @@ + #include "features/i386/i386-linux.c" + #include "features/i386/i386-mmx-linux.c" + #include "features/i386/i386-mpx-linux.c" ++#include "features/i386/i386-avx-mpx-linux.c" + #include "features/i386/i386-avx-linux.c" + #include "features/i386/i386-avx512-linux.c" + +@@ -630,6 +631,8 @@ i386_linux_core_read_description (struct gdbarch *gdbarch, + return tdesc_i386_avx512_linux; + case X86_XSTATE_MPX_MASK: + return tdesc_i386_mpx_linux; ++ case X86_XSTATE_AVX_MPX_MASK: ++ return tdesc_i386_avx_mpx_linux; + case X86_XSTATE_AVX_MASK: + return tdesc_i386_avx_linux; + case X86_XSTATE_SSE_MASK: +@@ -1018,5 +1021,6 @@ _initialize_i386_linux_tdep (void) + initialize_tdesc_i386_mmx_linux (); + initialize_tdesc_i386_avx_linux (); + initialize_tdesc_i386_mpx_linux (); ++ initialize_tdesc_i386_avx_mpx_linux (); + initialize_tdesc_i386_avx512_linux (); + } +diff --git a/gdb/i386-linux-tdep.h b/gdb/i386-linux-tdep.h +index ecc9e31..0cb0c4d 100644 +--- a/gdb/i386-linux-tdep.h ++++ b/gdb/i386-linux-tdep.h +@@ -42,6 +42,7 @@ extern struct target_desc *tdesc_i386_linux; + extern struct target_desc *tdesc_i386_mmx_linux; + extern struct target_desc *tdesc_i386_avx_linux; + extern struct target_desc *tdesc_i386_mpx_linux; ++extern struct target_desc *tdesc_i386_avx_mpx_linux; + extern struct target_desc *tdesc_i386_avx512_linux; + + /* Format of XSAVE extended state is: +diff --git a/gdb/i386-tdep.c b/gdb/i386-tdep.c +index b706463..1ec0a08 100644 +--- a/gdb/i386-tdep.c ++++ b/gdb/i386-tdep.c +@@ -53,6 +53,7 @@ + #include "features/i386/i386.c" + #include "features/i386/i386-avx.c" + #include "features/i386/i386-mpx.c" ++#include "features/i386/i386-avx-mpx.c" + #include "features/i386/i386-avx512.c" + #include "features/i386/i386-mmx.c" + +@@ -8618,6 +8619,8 @@ i386_target_description (uint64_t xcr0) + case X86_XSTATE_MPX_AVX512_MASK: + case X86_XSTATE_AVX512_MASK: + return tdesc_i386_avx512; ++ case X86_XSTATE_AVX_MPX_MASK: ++ return tdesc_i386_avx_mpx; + case X86_XSTATE_MPX_MASK: + return tdesc_i386_mpx; + case X86_XSTATE_AVX_MASK: +@@ -8957,6 +8960,7 @@ Show Intel Memory Protection Extensions specific variables."), + initialize_tdesc_i386_mmx (); + initialize_tdesc_i386_avx (); + initialize_tdesc_i386_mpx (); ++ initialize_tdesc_i386_avx_mpx (); + initialize_tdesc_i386_avx512 (); + + /* Tell remote stub that we support XML target description. */ +diff --git a/gdb/regformats/i386/amd64-avx-mpx-linux.dat b/gdb/regformats/i386/amd64-avx-mpx-linux.dat +new file mode 100644 +index 0000000..6d45324 +--- /dev/null ++++ b/gdb/regformats/i386/amd64-avx-mpx-linux.dat +@@ -0,0 +1,85 @@ ++# THIS FILE IS GENERATED. -*- buffer-read-only: t -*- vi :set ro: ++# Generated from: i386/amd64-avx-mpx-linux.xml ++name:amd64_avx_mpx_linux ++xmltarget:amd64-avx-mpx-linux.xml ++expedite:rbp,rsp,rip ++64:rax ++64:rbx ++64:rcx ++64:rdx ++64:rsi ++64:rdi ++64:rbp ++64:rsp ++64:r8 ++64:r9 ++64:r10 ++64:r11 ++64:r12 ++64:r13 ++64:r14 ++64:r15 ++64:rip ++32:eflags ++32:cs ++32:ss ++32:ds ++32:es ++32:fs ++32:gs ++80:st0 ++80:st1 ++80:st2 ++80:st3 ++80:st4 ++80:st5 ++80:st6 ++80:st7 ++32:fctrl ++32:fstat ++32:ftag ++32:fiseg ++32:fioff ++32:foseg ++32:fooff ++32:fop ++128:xmm0 ++128:xmm1 ++128:xmm2 ++128:xmm3 ++128:xmm4 ++128:xmm5 ++128:xmm6 ++128:xmm7 ++128:xmm8 ++128:xmm9 ++128:xmm10 ++128:xmm11 ++128:xmm12 ++128:xmm13 ++128:xmm14 ++128:xmm15 ++32:mxcsr ++64:orig_rax ++128:ymm0h ++128:ymm1h ++128:ymm2h ++128:ymm3h ++128:ymm4h ++128:ymm5h ++128:ymm6h ++128:ymm7h ++128:ymm8h ++128:ymm9h ++128:ymm10h ++128:ymm11h ++128:ymm12h ++128:ymm13h ++128:ymm14h ++128:ymm15h ++128:bnd0raw ++128:bnd1raw ++128:bnd2raw ++128:bnd3raw ++64:bndcfgu ++64:bndstatus +diff --git a/gdb/regformats/i386/amd64-avx-mpx.dat b/gdb/regformats/i386/amd64-avx-mpx.dat +new file mode 100644 +index 0000000..d985641 +--- /dev/null ++++ b/gdb/regformats/i386/amd64-avx-mpx.dat +@@ -0,0 +1,84 @@ ++# THIS FILE IS GENERATED. -*- buffer-read-only: t -*- vi :set ro: ++# Generated from: i386/amd64-avx-mpx.xml ++name:amd64_avx_mpx ++xmltarget:amd64-avx-mpx.xml ++expedite:rbp,rsp,rip ++64:rax ++64:rbx ++64:rcx ++64:rdx ++64:rsi ++64:rdi ++64:rbp ++64:rsp ++64:r8 ++64:r9 ++64:r10 ++64:r11 ++64:r12 ++64:r13 ++64:r14 ++64:r15 ++64:rip ++32:eflags ++32:cs ++32:ss ++32:ds ++32:es ++32:fs ++32:gs ++80:st0 ++80:st1 ++80:st2 ++80:st3 ++80:st4 ++80:st5 ++80:st6 ++80:st7 ++32:fctrl ++32:fstat ++32:ftag ++32:fiseg ++32:fioff ++32:foseg ++32:fooff ++32:fop ++128:xmm0 ++128:xmm1 ++128:xmm2 ++128:xmm3 ++128:xmm4 ++128:xmm5 ++128:xmm6 ++128:xmm7 ++128:xmm8 ++128:xmm9 ++128:xmm10 ++128:xmm11 ++128:xmm12 ++128:xmm13 ++128:xmm14 ++128:xmm15 ++32:mxcsr ++128:ymm0h ++128:ymm1h ++128:ymm2h ++128:ymm3h ++128:ymm4h ++128:ymm5h ++128:ymm6h ++128:ymm7h ++128:ymm8h ++128:ymm9h ++128:ymm10h ++128:ymm11h ++128:ymm12h ++128:ymm13h ++128:ymm14h ++128:ymm15h ++128:bnd0raw ++128:bnd1raw ++128:bnd2raw ++128:bnd3raw ++64:bndcfgu ++64:bndstatus +diff --git a/gdb/regformats/i386/amd64-mpx-linux.dat b/gdb/regformats/i386/amd64-mpx-linux.dat +index 7a05cfe..523ae01 100644 +--- a/gdb/regformats/i386/amd64-mpx-linux.dat ++++ b/gdb/regformats/i386/amd64-mpx-linux.dat +@@ -61,22 +61,6 @@ expedite:rbp,rsp,rip + 128:xmm15 + 32:mxcsr + 64:orig_rax +-128:ymm0h +-128:ymm1h +-128:ymm2h +-128:ymm3h +-128:ymm4h +-128:ymm5h +-128:ymm6h +-128:ymm7h +-128:ymm8h +-128:ymm9h +-128:ymm10h +-128:ymm11h +-128:ymm12h +-128:ymm13h +-128:ymm14h +-128:ymm15h + 128:bnd0raw + 128:bnd1raw + 128:bnd2raw +diff --git a/gdb/regformats/i386/amd64-mpx.dat b/gdb/regformats/i386/amd64-mpx.dat +index 1b75f4d..43b8776 100644 +--- a/gdb/regformats/i386/amd64-mpx.dat ++++ b/gdb/regformats/i386/amd64-mpx.dat +@@ -60,22 +60,6 @@ expedite:rbp,rsp,rip + 128:xmm14 + 128:xmm15 + 32:mxcsr +-128:ymm0h +-128:ymm1h +-128:ymm2h +-128:ymm3h +-128:ymm4h +-128:ymm5h +-128:ymm6h +-128:ymm7h +-128:ymm8h +-128:ymm9h +-128:ymm10h +-128:ymm11h +-128:ymm12h +-128:ymm13h +-128:ymm14h +-128:ymm15h + 128:bnd0raw + 128:bnd1raw + 128:bnd2raw +diff --git a/gdb/regformats/i386/i386-avx-mpx-linux.dat b/gdb/regformats/i386/i386-avx-mpx-linux.dat +new file mode 100644 +index 0000000..831c476 +--- /dev/null ++++ b/gdb/regformats/i386/i386-avx-mpx-linux.dat +@@ -0,0 +1,61 @@ ++# THIS FILE IS GENERATED. -*- buffer-read-only: t -*- vi :set ro: ++# Generated from: i386/i386-avx-mpx-linux.xml ++name:i386_avx_mpx_linux ++xmltarget:i386-avx-mpx-linux.xml ++expedite:ebp,esp,eip ++32:eax ++32:ecx ++32:edx ++32:ebx ++32:esp ++32:ebp ++32:esi ++32:edi ++32:eip ++32:eflags ++32:cs ++32:ss ++32:ds ++32:es ++32:fs ++32:gs ++80:st0 ++80:st1 ++80:st2 ++80:st3 ++80:st4 ++80:st5 ++80:st6 ++80:st7 ++32:fctrl ++32:fstat ++32:ftag ++32:fiseg ++32:fioff ++32:foseg ++32:fooff ++32:fop ++128:xmm0 ++128:xmm1 ++128:xmm2 ++128:xmm3 ++128:xmm4 ++128:xmm5 ++128:xmm6 ++128:xmm7 ++32:mxcsr ++32:orig_eax ++128:ymm0h ++128:ymm1h ++128:ymm2h ++128:ymm3h ++128:ymm4h ++128:ymm5h ++128:ymm6h ++128:ymm7h ++128:bnd0raw ++128:bnd1raw ++128:bnd2raw ++128:bnd3raw ++64:bndcfgu ++64:bndstatus +diff --git a/gdb/regformats/i386/i386-avx-mpx.dat b/gdb/regformats/i386/i386-avx-mpx.dat +new file mode 100644 +index 0000000..8caef75 +--- /dev/null ++++ b/gdb/regformats/i386/i386-avx-mpx.dat +@@ -0,0 +1,60 @@ ++# THIS FILE IS GENERATED. -*- buffer-read-only: t -*- vi :set ro: ++# Generated from: i386/i386-avx-mpx.xml ++name:i386_avx_mpx ++xmltarget:i386-avx-mpx.xml ++expedite:ebp,esp,eip ++32:eax ++32:ecx ++32:edx ++32:ebx ++32:esp ++32:ebp ++32:esi ++32:edi ++32:eip ++32:eflags ++32:cs ++32:ss ++32:ds ++32:es ++32:fs ++32:gs ++80:st0 ++80:st1 ++80:st2 ++80:st3 ++80:st4 ++80:st5 ++80:st6 ++80:st7 ++32:fctrl ++32:fstat ++32:ftag ++32:fiseg ++32:fioff ++32:foseg ++32:fooff ++32:fop ++128:xmm0 ++128:xmm1 ++128:xmm2 ++128:xmm3 ++128:xmm4 ++128:xmm5 ++128:xmm6 ++128:xmm7 ++32:mxcsr ++128:ymm0h ++128:ymm1h ++128:ymm2h ++128:ymm3h ++128:ymm4h ++128:ymm5h ++128:ymm6h ++128:ymm7h ++128:bnd0raw ++128:bnd1raw ++128:bnd2raw ++128:bnd3raw ++64:bndcfgu ++64:bndstatus +diff --git a/gdb/regformats/i386/i386-mpx-linux.dat b/gdb/regformats/i386/i386-mpx-linux.dat +index b52b68d..1dcdce9 100644 +--- a/gdb/regformats/i386/i386-mpx-linux.dat ++++ b/gdb/regformats/i386/i386-mpx-linux.dat +@@ -45,14 +45,6 @@ expedite:ebp,esp,eip + 128:xmm7 + 32:mxcsr + 32:orig_eax +-128:ymm0h +-128:ymm1h +-128:ymm2h +-128:ymm3h +-128:ymm4h +-128:ymm5h +-128:ymm6h +-128:ymm7h + 128:bnd0raw + 128:bnd1raw + 128:bnd2raw +diff --git a/gdb/regformats/i386/i386-mpx.dat b/gdb/regformats/i386/i386-mpx.dat +index 0ea420b..dda5164 100644 +--- a/gdb/regformats/i386/i386-mpx.dat ++++ b/gdb/regformats/i386/i386-mpx.dat +@@ -44,14 +44,6 @@ expedite:ebp,esp,eip + 128:xmm6 + 128:xmm7 + 32:mxcsr +-128:ymm0h +-128:ymm1h +-128:ymm2h +-128:ymm3h +-128:ymm4h +-128:ymm5h +-128:ymm6h +-128:ymm7h + 128:bnd0raw + 128:bnd1raw + 128:bnd2raw +diff --git a/gdb/testsuite/gdb.trace/ftrace.exp b/gdb/testsuite/gdb.trace/ftrace.exp +index 15ad7e7..3a94471 100644 +--- a/gdb/testsuite/gdb.trace/ftrace.exp ++++ b/gdb/testsuite/gdb.trace/ftrace.exp +@@ -132,7 +132,6 @@ proc test_fast_tracepoints {} { + gdb_test "tfind pc *set_point" "Found trace frame .*" \ + "tfind set_point frame, first time" + +- setup_kfail "gdb/13808" "x86_64-*-linux*" + gdb_test "print globvar" " = 1" + + gdb_test "tfind pc *set_point" "Found trace frame .*" \ +diff --git a/gdb/x86-linux-nat.c b/gdb/x86-linux-nat.c +index 3cc18c1..107576f 100644 +--- a/gdb/x86-linux-nat.c ++++ b/gdb/x86-linux-nat.c +@@ -215,6 +215,11 @@ x86_linux_read_description (struct target_ops *ops) + return tdesc_x32_avx_linux; /* No MPX on x32 using AVX. */ + else + return tdesc_amd64_mpx_linux; ++ case X86_XSTATE_AVX_MPX_MASK: ++ if (is_x32) ++ return tdesc_x32_avx_linux; /* No MPX on x32 using AVX. */ ++ else ++ return tdesc_amd64_avx_mpx_linux; + case X86_XSTATE_AVX_MASK: + if (is_x32) + return tdesc_x32_avx_linux; +@@ -237,6 +242,8 @@ x86_linux_read_description (struct target_ops *ops) + return tdesc_i386_avx512_linux; + case X86_XSTATE_MPX_MASK: + return tdesc_i386_mpx_linux; ++ case X86_XSTATE_AVX_MPX_MASK: ++ return tdesc_i386_avx_mpx_linux; + case X86_XSTATE_AVX_MASK: + return tdesc_i386_avx_linux; + default: diff --git a/import-layers/yocto-poky/meta/recipes-devtools/gdb/gdb_7.10.1.bb b/import-layers/yocto-poky/meta/recipes-devtools/gdb/gdb_7.11.bb index f897e1213..57cffc998 100644 --- a/import-layers/yocto-poky/meta/recipes-devtools/gdb/gdb_7.10.1.bb +++ b/import-layers/yocto-poky/meta/recipes-devtools/gdb/gdb_7.11.bb @@ -1,15 +1,20 @@ require gdb.inc require gdb-${PV}.inc -inherit python-dir +inherit python3-dir + +EXTRA_OEMAKE_append_libc-musl = "\ + gt_cv_func_gnugettext1_libc=yes \ + gt_cv_func_gnugettext2_libc=yes \ + " do_configure_prepend() { if [ -n "${@bb.utils.contains('PACKAGECONFIG', 'python', 'python', '', d)}" ]; then cat > ${WORKDIR}/python << EOF #!/bin/sh case "\$2" in - --includes) echo "-I${STAGING_INCDIR}/${PYTHON_DIR}/" ;; - --ldflags) echo "-Wl,-rpath-link,${STAGING_LIBDIR}/.. -Wl,-rpath,${libdir}/.. -lpthread -ldl -lutil -lm -lpython${PYTHON_BASEVERSION}" ;; + --includes) echo "-I${STAGING_INCDIR}/${PYTHON_DIR}${PYTHON_ABI}/" ;; + --ldflags) echo "-Wl,-rpath-link,${STAGING_LIBDIR}/.. -Wl,-rpath,${libdir}/.. -lpthread -ldl -lutil -lm -lpython${PYTHON_BASEVERSION}${PYTHON_ABI}" ;; --exec-prefix) echo "${exec_prefix}" ;; *) exit 1 ;; esac @@ -18,3 +23,4 @@ EOF chmod +x ${WORKDIR}/python fi } +CFLAGS_append_libc-musl = " -Drpl_gettimeofday=gettimeofday" diff --git a/import-layers/yocto-poky/meta/recipes-devtools/git/git.inc b/import-layers/yocto-poky/meta/recipes-devtools/git/git.inc index a1d0300be..753b0472a 100644 --- a/import-layers/yocto-poky/meta/recipes-devtools/git/git.inc +++ b/import-layers/yocto-poky/meta/recipes-devtools/git/git.inc @@ -17,6 +17,7 @@ EXTRA_OECONF = "--with-perl=${STAGING_BINDIR_NATIVE}/perl-native/perl \ --without-tcltk \ " +# Needs brokensep as this doesn't use automake inherit autotools-brokensep perlnative bash-completion EXTRA_OEMAKE = "NO_PYTHON=1 CFLAGS='${CFLAGS}' LDFLAGS='${LDFLAGS}'" @@ -31,8 +32,7 @@ do_compile_prepend () { do_install () { oe_runmake install DESTDIR="${D}" bindir=${bindir} \ - template_dir=${datadir}/git-core/templates \ - GIT_PYTHON_DIR=${D}${datadir}/git-core/python + template_dir=${datadir}/git-core/templates install -d ${D}/${mandir}/man1 install -d ${D}/${mandir}/man5 install -d ${D}/${mandir}/man7 @@ -107,10 +107,6 @@ FILES_${PN}-perltools += " \ " RDEPENDS_${PN}-perltools = "${PN} perl perl-module-file-path findutils" -PACKAGES =+ "${PN}-python" -FILES_${PN}-python = "${libdir}/python*" - - # git-tk package with gitk and git-gui PACKAGES =+ "${PN}-tk" #RDEPENDS_${PN}-tk = "${PN} tk tcl" diff --git a/import-layers/yocto-poky/meta/recipes-devtools/git/git_2.7.4.bb b/import-layers/yocto-poky/meta/recipes-devtools/git/git_2.7.4.bb deleted file mode 100644 index bc72793d4..000000000 --- a/import-layers/yocto-poky/meta/recipes-devtools/git/git_2.7.4.bb +++ /dev/null @@ -1,11 +0,0 @@ -require git.inc - -EXTRA_OECONF += "ac_cv_snprintf_returns_bogus=no \ - ac_cv_fread_reads_directories=${ac_cv_fread_reads_directories=yes} \ - " -EXTRA_OEMAKE += "NO_GETTEXT=1" - -SRC_URI[tarball.md5sum] = "c64012d491e24c7d65cd389f75383d91" -SRC_URI[tarball.sha256sum] = "7104c4f5d948a75b499a954524cb281fe30c6649d8abe20982936f75ec1f275b" -SRC_URI[manpages.md5sum] = "58020dc13a5801c49f7986fef7027535" -SRC_URI[manpages.sha256sum] = "0dfe1931ad302873470e0280248e3aa50502b5edd00dcc3e9c9173667b6fea6a" diff --git a/import-layers/yocto-poky/meta/recipes-devtools/git/git_2.9.3.bb b/import-layers/yocto-poky/meta/recipes-devtools/git/git_2.9.3.bb new file mode 100644 index 000000000..d59f3d283 --- /dev/null +++ b/import-layers/yocto-poky/meta/recipes-devtools/git/git_2.9.3.bb @@ -0,0 +1,11 @@ +require git.inc + +EXTRA_OECONF += "ac_cv_snprintf_returns_bogus=no \ + ac_cv_fread_reads_directories=${ac_cv_fread_reads_directories=yes} \ + " +EXTRA_OEMAKE += "NO_GETTEXT=1" + +SRC_URI[tarball.md5sum] = "c783361be894b8bfa5373811b1b65602" +SRC_URI[tarball.sha256sum] = "a252b6636b12d5ba57732c8469701544c26c2b1689933bd1b425e603cbb247c0" +SRC_URI[manpages.md5sum] = "66fafd61d65f9d2d99581133170eb186" +SRC_URI[manpages.sha256sum] = "8ea1a55b048fafbf0c0c6fcbca4b5b0f5e9917893221fc7345c09051d65832ce" diff --git a/import-layers/yocto-poky/meta/recipes-devtools/guile/files/0001-libguile-Check-for-strtol_l-during-configure.patch b/import-layers/yocto-poky/meta/recipes-devtools/guile/files/0001-libguile-Check-for-strtol_l-during-configure.patch deleted file mode 100644 index 24f073f9f..000000000 --- a/import-layers/yocto-poky/meta/recipes-devtools/guile/files/0001-libguile-Check-for-strtol_l-during-configure.patch +++ /dev/null @@ -1,56 +0,0 @@ -From 814d6fb6c1f4a544c8fd37f5a390ba020c2d8c85 Mon Sep 17 00:00:00 2001 -From: Khem Raj <raj.khem@gmail.com> -Date: Sun, 10 Jan 2016 22:28:17 +0000 -Subject: [PATCH] libguile: Check for strtol_l during configure - -strtol_l is a gnu extention which may not be available on other linux -libc implementations e.g. musl. Therefore check for this funciton and -conditionalize the use of it. - -Signed-off-by: Khem Raj <raj.khem@gmail.com> ---- -Upstream-Status: Pending - - configure.ac | 5 +++-- - libguile/i18n.c | 2 +- - 2 files changed, 4 insertions(+), 3 deletions(-) - -diff --git a/configure.ac b/configure.ac -index 3969929..f8a6a1a 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -752,7 +752,8 @@ AC_CHECK_HEADERS([assert.h crt_externs.h]) - # truncate - not in mingw - # isblank - available as a GNU extension or in C99 - # _NSGetEnviron - Darwin specific --# strcoll_l, newlocale - GNU extensions (glibc), also available on Darwin -+# strcoll_l, newlocale, strtol_l - GNU extensions (glibc), -+# also available on Darwin - # fork - unavailable on Windows - # utimensat - posix.1-2008 - # sched_getaffinity, sched_setaffinity - GNU extensions (glibc) -@@ -768,7 +769,7 @@ AC_CHECK_FUNCS([DINFINITY DQNAN cexp chsize clog clog10 ctermid \ - getgrent kill getppid getpgrp fork setitimer getitimer strchr strcmp \ - index bcopy memcpy rindex truncate unsetenv isblank _NSGetEnviron \ - strcoll strcoll_l newlocale utimensat sched_getaffinity \ -- sched_setaffinity sendfile]) -+ sched_setaffinity sendfile strtol_l]) - - AM_CONDITIONAL([BUILD_ICE_9_POPEN], - [test "x$enable_posix" = "xyes" && test "x$ac_cv_func_fork" = "xyes"]) -diff --git a/libguile/i18n.c b/libguile/i18n.c -index 97d44b0..9fb6976 100644 ---- a/libguile/i18n.c -+++ b/libguile/i18n.c -@@ -1352,7 +1352,7 @@ SCM_DEFINE (scm_locale_string_to_integer, "locale-string->integer", - - if (c_locale != NULL) - { --#ifdef USE_GNU_LOCALE_API -+#if defined(USE_GNU_LOCALE_API) && defined(HAVE_STRTOL_L) - c_result = strtol_l (c_str, &c_endptr, c_base, c_locale); - #else - RUN_IN_LOCALE_SECTION (c_locale, --- -2.7.0 - diff --git a/import-layers/yocto-poky/meta/recipes-devtools/guile/files/0002-Recognize-nios2-as-compilation-target.patch b/import-layers/yocto-poky/meta/recipes-devtools/guile/files/0002-Recognize-nios2-as-compilation-target.patch index 519585b8e..8e8474770 100644 --- a/import-layers/yocto-poky/meta/recipes-devtools/guile/files/0002-Recognize-nios2-as-compilation-target.patch +++ b/import-layers/yocto-poky/meta/recipes-devtools/guile/files/0002-Recognize-nios2-as-compilation-target.patch @@ -10,27 +10,23 @@ Upstream-Status: Submitted [ http://debbugs.gnu.org/cgi/bugreport.cgi?bug=22480 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/module/system/base/target.scm b/module/system/base/target.scm -index d60a8e0..d1f6cff 100644 --- a/module/system/base/target.scm +++ b/module/system/base/target.scm @@ -65,7 +65,7 @@ (cond ((string-match "^i[0-9]86$" cpu) (endianness little)) ((member cpu '("x86_64" "ia64" -- "powerpcle" "powerpc64le" "mipsel" "mips64el")) -+ "powerpcle" "powerpc64le" "mipsel" "mips64el" "nios2")) +- "powerpcle" "powerpc64le" "mipsel" "mips64el" "sh4")) ++ "powerpcle" "powerpc64le" "mipsel" "mips64el" "sh4" "nios2")) (endianness little)) ((member cpu '("sparc" "sparc64" "powerpc" "powerpc64" "spu" - "mips" "mips64")) -@@ -100,7 +100,7 @@ + "mips" "mips64" "m68k" "s390x")) +@@ -108,7 +108,7 @@ ((string-match "64$" cpu) 8) - ((string-match "64[lbe][lbe]$" cpu) 8) -- ((member cpu '("sparc" "powerpc" "mips" "mipsel")) 4) -+ ((member cpu '("sparc" "powerpc" "mips" "mipsel" "nios2")) 4) + ((string-match "64_?[lbe][lbe]$" cpu) 8) +- ((member cpu '("sparc" "powerpc" "mips" "mipsel" "m68k" "sh4")) 4) ++ ((member cpu '("sparc" "powerpc" "mips" "mipsel" "m68k" "sh4" "nios2")) 4) + ((member cpu '("s390x")) 8) ((string-match "^arm.*" cpu) 4) (else (error "unknown CPU word size" cpu))))) - --- -2.7.0.rc3 - diff --git a/import-layers/yocto-poky/meta/recipes-devtools/guile/files/debian/0002-Mark-Unused-modules-are-removed-gc-test-as-unresolve.patch b/import-layers/yocto-poky/meta/recipes-devtools/guile/files/debian/0002-Mark-Unused-modules-are-removed-gc-test-as-unresolve.patch index 43238a7d2..c7bf635ac 100644 --- a/import-layers/yocto-poky/meta/recipes-devtools/guile/files/debian/0002-Mark-Unused-modules-are-removed-gc-test-as-unresolve.patch +++ b/import-layers/yocto-poky/meta/recipes-devtools/guile/files/debian/0002-Mark-Unused-modules-are-removed-gc-test-as-unresolve.patch @@ -1,6 +1,6 @@ Upstream-Status: Inappropriate [debian patch] -Signed-Off-by: Nitin A Kamble <nitin.a.kamble@intel.com> +Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com> From e52bfcdbaca5dce498678d8f512381e3e39a4066 Mon Sep 17 00:00:00 2001 From: Rob Browning <rlb@defaultvalue.org> diff --git a/import-layers/yocto-poky/meta/recipes-devtools/guile/files/debian/0003-Mark-mutex-with-owner-not-retained-threads-test-as-u.patch b/import-layers/yocto-poky/meta/recipes-devtools/guile/files/debian/0003-Mark-mutex-with-owner-not-retained-threads-test-as-u.patch index 34be3b96e..d3faf3e01 100644 --- a/import-layers/yocto-poky/meta/recipes-devtools/guile/files/debian/0003-Mark-mutex-with-owner-not-retained-threads-test-as-u.patch +++ b/import-layers/yocto-poky/meta/recipes-devtools/guile/files/debian/0003-Mark-mutex-with-owner-not-retained-threads-test-as-u.patch @@ -1,6 +1,6 @@ Upstream-Status: Inappropriate [debian patch] -Signed-Off-by: Nitin A Kamble <nitin.a.kamble@intel.com> +Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com> From 848543091d55dddb54a85612155964506d712852 Mon Sep 17 00:00:00 2001 From: Rob Browning <rlb@defaultvalue.org> diff --git a/import-layers/yocto-poky/meta/recipes-devtools/guile/files/guile_2.0.6_fix_sed_error.patch b/import-layers/yocto-poky/meta/recipes-devtools/guile/files/guile_2.0.6_fix_sed_error.patch index e5dc22637..5597bb21f 100644 --- a/import-layers/yocto-poky/meta/recipes-devtools/guile/files/guile_2.0.6_fix_sed_error.patch +++ b/import-layers/yocto-poky/meta/recipes-devtools/guile/files/guile_2.0.6_fix_sed_error.patch @@ -6,7 +6,7 @@ autoreconf error avoided: | sed: -e expression #1, char 9: unknown option to `s' | configure.ac:39: error: AC_INIT should be called with package and version arguments -Signed-Off-by: Nitin A Kamble <nitin.a.kamble@intel.com> +Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com> 2012/05/01 Index: guile-2.0.5/build-aux/git-version-gen diff --git a/import-layers/yocto-poky/meta/recipes-devtools/guile/files/libguile-VM-ASM_MUL-for-ARM-Add-earlyclobber.patch b/import-layers/yocto-poky/meta/recipes-devtools/guile/files/libguile-VM-ASM_MUL-for-ARM-Add-earlyclobber.patch deleted file mode 100644 index e50059a7e..000000000 --- a/import-layers/yocto-poky/meta/recipes-devtools/guile/files/libguile-VM-ASM_MUL-for-ARM-Add-earlyclobber.patch +++ /dev/null @@ -1,43 +0,0 @@ -From a85c78ea1393985fdb6e6678dea19135c553d341 Mon Sep 17 00:00:00 2001 -From: Mark H Weaver <mhw@netris.org> -Date: Fri, 19 Sep 2014 21:18:09 -0400 -Subject: [PATCH] VM: ASM_MUL for ARM: Add earlyclobber constraint to the SMULL - outputs. - -Reported by Rob Browning <rlb@defaultvalue.org>. - -* libguile/vm-i-scheme.c (ASM_MUL)[ARM]: Add earlyclobber (&) constraint - to the SMULL output registers. - -Author: Mark H Weaver <mhw@netris.org> - -Upstream-Status: Backport - -Signed-off-by: Jackie Huang <jackie.huang@windriver.com> ---- - libguile/vm-i-scheme.c | 5 ++--- - 1 file changed, 2 insertions(+), 3 deletions(-) - -diff --git a/libguile/vm-i-scheme.c b/libguile/vm-i-scheme.c -index 587aa95..162efab 100644 ---- a/libguile/vm-i-scheme.c -+++ b/libguile/vm-i-scheme.c -@@ -1,5 +1,4 @@ --/* Copyright (C) 2001, 2009, 2010, 2011, 2012, 2013, -- * 2014 Free Software Foundation, Inc. -+/* Copyright (C) 2001, 2009-2014 Free Software Foundation, Inc. - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public License -@@ -363,7 +362,7 @@ VM_DEFINE_FUNCTION (149, ge, "ge?", 2) - { \ - scm_t_signed_bits rlo, rhi; \ - asm ("smull %0, %1, %2, %3\n" \ -- : "=r" (rlo), "=r" (rhi) \ -+ : "=&r" (rlo), "=&r" (rhi) \ - : "r" (SCM_UNPACK (x) - scm_tc2_int), \ - "r" (SCM_I_INUM (y))); \ - if (SCM_LIKELY (SCM_SRS (rlo, 31) == rhi)) \ --- -2.3.5 - diff --git a/import-layers/yocto-poky/meta/recipes-devtools/guile/files/opensuse/guile-64bit.patch b/import-layers/yocto-poky/meta/recipes-devtools/guile/files/opensuse/guile-64bit.patch index d3e312f77..da69b5fd7 100644 --- a/import-layers/yocto-poky/meta/recipes-devtools/guile/files/opensuse/guile-64bit.patch +++ b/import-layers/yocto-poky/meta/recipes-devtools/guile/files/opensuse/guile-64bit.patch @@ -1,6 +1,6 @@ Upstream-Status: Inappropriate [opensuse patch] -Signed-Off-by: Nitin A Kamble <nitin.a.kamble@intel.com> +Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com> Index: guile-2.0.3/libguile/hash.c =================================================================== diff --git a/import-layers/yocto-poky/meta/recipes-devtools/guile/files/opensuse/guile-turn-off-gc-test.patch b/import-layers/yocto-poky/meta/recipes-devtools/guile/files/opensuse/guile-turn-off-gc-test.patch deleted file mode 100644 index e20148628..000000000 --- a/import-layers/yocto-poky/meta/recipes-devtools/guile/files/opensuse/guile-turn-off-gc-test.patch +++ /dev/null @@ -1,49 +0,0 @@ -Upstream-Status: Inappropriate [opensuse patch] - -Signed-Off-by: Nitin A Kamble <nitin.a.kamble@intel.com> - -See http://debbugs.gnu.org/cgi/bugreport.cgi?bug=10096 -why this test is turned off. -Index: guile-2.0.3/test-suite/tests/gc.test -=================================================================== ---- guile-2.0.3.orig/test-suite/tests/gc.test 2011-10-15 09:34:40.000000000 -0700 -+++ guile-2.0.3/test-suite/tests/gc.test 2012-01-13 21:52:10.282540355 -0800 -@@ -65,23 +65,23 @@ - foo))) - - --(with-test-prefix "gc" -- (pass-if "Unused modules are removed" -- (let* ((guard (make-guardian)) -- (total 1000)) -- -- (for-each (lambda (x) (guard (make-module))) (iota total)) -+;;(with-test-prefix "gc" -+;; (pass-if "Unused modules are removed" -+;; (let* ((guard (make-guardian)) -+;; (total 1000)) -+;; -+;; (for-each (lambda (x) (guard (make-module))) (iota total)) - - ;; Avoid false references to the modules on the stack. -- (stack-cleanup 20) -+;; (stack-cleanup 20) - -- (gc) -- (gc) ;; twice: have to kill the weak vectors. -- (gc) ;; thrice: because the test doesn't succeed with only -+;; (gc) -+;; (gc) ;; twice: have to kill the weak vectors. -+;; (gc) ;; thrice: because the test doesn't succeed with only - ;; one gc round. not sure why. - -- (= (let lp ((i 0)) -- (if (guard) -- (lp (1+ i)) -- i)) -- total)))) -+;; (= (let lp ((i 0)) -+;; (if (guard) -+;; (lp (1+ i)) -+;; i)) -+;; total)))) diff --git a/import-layers/yocto-poky/meta/recipes-devtools/guile/files/remove_strcase_l_funcs.patch b/import-layers/yocto-poky/meta/recipes-devtools/guile/files/remove_strcase_l_funcs.patch deleted file mode 100644 index e7a06fef1..000000000 --- a/import-layers/yocto-poky/meta/recipes-devtools/guile/files/remove_strcase_l_funcs.patch +++ /dev/null @@ -1,38 +0,0 @@ -These unused functions cause build failures with uclibc since they reference __uclibc_locale_struct -and this is exposed by uclibc API headers only if C locales are built, but for OE we build full locale -support - -Signed-off-by: Khem Raj <raj.khem@gmail.com> -Upstream-Status: Pending -Index: guile-2.0.11/libguile/i18n.c -=================================================================== ---- guile-2.0.11.orig/libguile/i18n.c -+++ guile-2.0.11/libguile/i18n.c -@@ -851,27 +851,6 @@ str_downcase (register char *dst, regist - *dst = '\0'; - } - --#ifdef USE_GNU_LOCALE_API --static inline void --str_upcase_l (register char *dst, register const char *src, -- scm_t_locale locale) --{ -- for (; *src != '\0'; src++, dst++) -- *dst = toupper_l (*src, locale); -- *dst = '\0'; --} -- --static inline void --str_downcase_l (register char *dst, register const char *src, -- scm_t_locale locale) --{ -- for (; *src != '\0'; src++, dst++) -- *dst = tolower_l (*src, locale); -- *dst = '\0'; --} --#endif -- -- - SCM_DEFINE (scm_string_locale_lt, "string-locale<?", 2, 1, 0, - (SCM s1, SCM s2, SCM locale), - "Compare strings @var{s1} and @var{s2} in a locale-dependent way." diff --git a/import-layers/yocto-poky/meta/recipes-devtools/guile/guile_2.0.11.bb b/import-layers/yocto-poky/meta/recipes-devtools/guile/guile_2.0.12.bb index 6cefe6649..d2fe511ae 100644 --- a/import-layers/yocto-poky/meta/recipes-devtools/guile/guile_2.0.11.bb +++ b/import-layers/yocto-poky/meta/recipes-devtools/guile/guile_2.0.12.bb @@ -22,18 +22,11 @@ SRC_URI = "${GNU_MIRROR}/guile/guile-${PV}.tar.xz \ file://arm_aarch64.patch \ file://workaround-ice-ssa-corruption.patch \ file://libguile-Makefile.am-hook.patch \ - file://libguile-VM-ASM_MUL-for-ARM-Add-earlyclobber.patch \ - file://remove_strcase_l_funcs.patch \ - file://0001-libguile-Check-for-strtol_l-during-configure.patch \ file://0002-Recognize-nios2-as-compilation-target.patch \ " -# file://debian/0001-Change-guile-to-guile-X.Y-for-info-pages.patch -# file://opensuse/guile-turn-off-gc-test.patch - -SRC_URI[md5sum] = "03f1bce1a4983076d955003472306a13" -SRC_URI[sha256sum] = "aed0a4a6db4e310cbdfeb3613fa6f86fddc91ef624c1e3f8937a6304c69103e2" - +SRC_URI[md5sum] = "081fdf80cd3a76f260a2a0d87f773d6b" +SRC_URI[sha256sum] = "de8187736f9b260f2fa776ed39b52cb74dd389ccf7039c042f0606270196b7e9" inherit autotools gettext pkgconfig texinfo BBCLASSEXTEND = "native" diff --git a/import-layers/yocto-poky/meta/recipes-devtools/help2man/help2man-native_1.47.3.bb b/import-layers/yocto-poky/meta/recipes-devtools/help2man/help2man-native_1.47.4.bb index 232b0c37a..64dc32cb9 100644 --- a/import-layers/yocto-poky/meta/recipes-devtools/help2man/help2man-native_1.47.3.bb +++ b/import-layers/yocto-poky/meta/recipes-devtools/help2man/help2man-native_1.47.4.bb @@ -6,8 +6,8 @@ DEPENDS = "autoconf-native automake-native" SRC_URI = "${GNU_MIRROR}/${BPN}/${BPN}-${PV}.tar.xz" -SRC_URI[md5sum] = "d1d44a7a7b2bd61755a2045d96ecaea0" -SRC_URI[sha256sum] = "c232af6475ef65bee02770862a362f4c4c2e6c9967d39e987eb94cadcfc13856" +SRC_URI[md5sum] = "544aca496a7d89de3e5d99e56a2f03d3" +SRC_URI[sha256sum] = "d4ecf697d13f14dd1a78c5995f06459bff706fd1ce593d1c02d81667c0207753" inherit autotools native diff --git a/import-layers/yocto-poky/meta/recipes-devtools/intltool/intltool.inc b/import-layers/yocto-poky/meta/recipes-devtools/intltool/intltool.inc deleted file mode 100644 index eb7ae004a..000000000 --- a/import-layers/yocto-poky/meta/recipes-devtools/intltool/intltool.inc +++ /dev/null @@ -1,30 +0,0 @@ -SUMMARY = "Utility scripts for internationalizing XML" -SECTION = "devel" -LICENSE = "GPLv2" - -URLV="${@'.'.join(d.getVar('PV',1).split('.')[0:2])}" -SRC_URI = "http://launchpad.net/${BPN}/trunk/${PV}/+download/${BP}.tar.gz" - -UPSTREAM_CHECK_URI = "https://launchpad.net/intltool/trunk/" - -S = "${WORKDIR}/intltool-${PV}" - -DEPENDS = "libxml-parser-perl-native" -RDEPENDS_${PN} = "gettext-dev libxml-parser-perl" -DEPENDS_class-native = "libxml-parser-perl-native" -# gettext is assumed to exist on the host -RDEPENDS_${PN}_class-native = "libxml-parser-perl-native" -RRECOMMENDS_${PN} = "perl-modules" -RRECOMMENDS_${PN}_class-native = "" - -FILES_${PN}-dev = "" -FILES_${PN} += "${datadir}/aclocal" - -INSANE_SKIP_${PN} += "dev-deps" - -inherit autotools pkgconfig perlnative - -export PERL = "${bindir}/env perl" -PERL_class-native = "/usr/bin/env nativeperl" - -BBCLASSEXTEND = "native" diff --git a/import-layers/yocto-poky/meta/recipes-devtools/intltool/intltool/remove-perl-check.patch b/import-layers/yocto-poky/meta/recipes-devtools/intltool/intltool/remove-perl-check.patch new file mode 100644 index 000000000..5f57ea333 --- /dev/null +++ b/import-layers/yocto-poky/meta/recipes-devtools/intltool/intltool/remove-perl-check.patch @@ -0,0 +1,45 @@ +Remove the perl checks in intltool.m4. This can find a different perl binary to +the one that the intltool scripts will actually be using (as they hard-code a +specific binary), for example in the intltool-native case they'll be using +nativeperl yet this fragment can find and test the host perl. + +This can result in recipes failing in do_configure as intltool.m4 finds a host +perl which doesn't have XML::Parser installed, despite the fact that intltool +will work fine as nativeperl has XML::Parser. + +Upstream-Status: Submitted (https://bugs.launchpad.net/intltool/+bug/1197875) +Signed-off-by: Ross Burton <ross.burton@intel.com> + +--- a/intltool.m4.orig 2013-07-02 11:22:23.000000000 -0700 ++++ b/intltool.m4 2013-07-02 11:22:32.000000000 -0700 +@@ -26,1 +26,1 @@ dnl IT_PROG_INTLTOOL([MINIMUM-VERSION], [no-xml]) +-# serial 42 IT_PROG_INTLTOOL ++# serial 42.1 IT_PROG_INTLTOOL +@@ -131,27 +131,6 @@ if test -z "$xgversion" -o -z "$mmversio + AC_MSG_ERROR([GNU gettext tools not found; required for intltool]) + fi + +-AC_PATH_PROG(INTLTOOL_PERL, perl) +-if test -z "$INTLTOOL_PERL"; then +- AC_MSG_ERROR([perl not found]) +-fi +-AC_MSG_CHECKING([for perl >= 5.8.1]) +-$INTLTOOL_PERL -e "use 5.8.1;" > /dev/null 2>&1 +-if test $? -ne 0; then +- AC_MSG_ERROR([perl 5.8.1 is required for intltool]) +-else +- IT_PERL_VERSION=`$INTLTOOL_PERL -e "printf '%vd', $^V"` +- AC_MSG_RESULT([$IT_PERL_VERSION]) +-fi +-if test "x$2" != "xno-xml"; then +- AC_MSG_CHECKING([for XML::Parser]) +- if `$INTLTOOL_PERL -e "require XML::Parser" 2>/dev/null`; then +- AC_MSG_RESULT([ok]) +- else +- AC_MSG_ERROR([XML::Parser perl module is required for intltool]) +- fi +-fi +- + # Substitute ALL_LINGUAS so we can use it in po/Makefile + AC_SUBST(ALL_LINGUAS) + diff --git a/import-layers/yocto-poky/meta/recipes-devtools/intltool/intltool/remove-xml-check.patch b/import-layers/yocto-poky/meta/recipes-devtools/intltool/intltool/remove-xml-check.patch deleted file mode 100644 index fc69e37b4..000000000 --- a/import-layers/yocto-poky/meta/recipes-devtools/intltool/intltool/remove-xml-check.patch +++ /dev/null @@ -1,33 +0,0 @@ -Signed-off-by: Florin Sarbu <florin.sarbu@windriver.com> - -Upstream-Status: Inappropriate [OE specific] - -Index: intltool-0.40.6/intltool.m4 -=================================================================== ---- intltool-0.40.6.orig/intltool.m4 2009-02-14 14:12:28.000000000 -0800 -+++ intltool-0.40.6/intltool.m4 2011-11-23 15:39:34.689561872 -0800 -@@ -122,14 +122,16 @@ - IT_PERL_VERSION="`$INTLTOOL_PERL -e \"printf '%vd', $^V\"`" - AC_MSG_RESULT([$IT_PERL_VERSION]) - fi --if test "x$2" != "xno-xml"; then -- AC_MSG_CHECKING([for XML::Parser]) -- if `$INTLTOOL_PERL -e "require XML::Parser" 2>/dev/null`; then -- AC_MSG_RESULT([ok]) -- else -- AC_MSG_ERROR([XML::Parser perl module is required for intltool]) -- fi --fi -+ -+# Disable this check since we know XML::Parser is installed -+#if test "x$2" != "xno-xml"; then -+# AC_MSG_CHECKING([for XML::Parser]) -+# if `$INTLTOOL_PERL -e "require XML::Parser" 2>/dev/null`; then -+# AC_MSG_RESULT([ok]) -+# else -+# AC_MSG_ERROR([XML::Parser perl module is required for intltool]) -+# fi -+#fi - - # Substitute ALL_LINGUAS so we can use it in po/Makefile - AC_SUBST(ALL_LINGUAS) diff --git a/import-layers/yocto-poky/meta/recipes-devtools/intltool/intltool/use-nativeperl.patch b/import-layers/yocto-poky/meta/recipes-devtools/intltool/intltool/use-nativeperl.patch deleted file mode 100644 index 5f5fed385..000000000 --- a/import-layers/yocto-poky/meta/recipes-devtools/intltool/intltool/use-nativeperl.patch +++ /dev/null @@ -1,20 +0,0 @@ -OE has perl binary as 'nativeperl' in native sysroot so we look for it -in order to avoid intltool searching and finding perl from /usr/bin -on build system which may not have all the modules that it needs. - -Signed-off-by: Khem Raj <raj.khem@gmail.com> - -Upstream-Status: Inappropriate [OE specific] -Index: intltool-0.40.6/intltool.m4 -=================================================================== ---- intltool-0.40.6.orig/intltool.m4 2009-02-14 14:12:28.000000000 -0800 -+++ intltool-0.40.6/intltool.m4 2011-08-09 08:07:16.427347846 -0700 -@@ -110,7 +110,7 @@ - AC_MSG_ERROR([GNU gettext tools not found; required for intltool]) - fi - --AC_PATH_PROG(INTLTOOL_PERL, perl) -+AC_PATH_PROG(INTLTOOL_PERL, nativeperl) - if test -z "$INTLTOOL_PERL"; then - AC_MSG_ERROR([perl not found]) - fi diff --git a/import-layers/yocto-poky/meta/recipes-devtools/intltool/intltool_0.51.0.bb b/import-layers/yocto-poky/meta/recipes-devtools/intltool/intltool_0.51.0.bb index d520d43c1..a7ea3b727 100644 --- a/import-layers/yocto-poky/meta/recipes-devtools/intltool/intltool_0.51.0.bb +++ b/import-layers/yocto-poky/meta/recipes-devtools/intltool/intltool_0.51.0.bb @@ -1,19 +1,36 @@ -require intltool.inc +SUMMARY = "Utility scripts for internationalizing XML" +SECTION = "devel" LICENSE = "GPLv2" LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f" -SRC_URI += "file://intltool-nowarn.patch \ - file://perl-522-deprecations.patch \ - ${NATIVEPATCHES} \ +SRC_URI = "http://launchpad.net/${BPN}/trunk/${PV}/+download/${BP}.tar.gz \ + file://intltool-nowarn.patch \ + file://perl-522-deprecations.patch \ + file://remove-perl-check.patch \ + file://noperlcheck.patch \ " - -# -# All of the intltool scripts have the correct paths to perl already -# embedded into them and can find perl fine, so we add the remove xml-check -# in the intltool.m4 via the remove-xml-check.patch -NATIVEPATCHES = "file://noperlcheck.patch \ - file://remove-xml-check.patch" -NATIVEPATCHES_class-native = "file://use-nativeperl.patch" - SRC_URI[md5sum] = "12e517cac2b57a0121cda351570f1e63" SRC_URI[sha256sum] = "67c74d94196b153b774ab9f89b2fa6c6ba79352407037c8c14d5aeb334e959cd" + +UPSTREAM_CHECK_URI = "https://launchpad.net/intltool/trunk/" + +DEPENDS = "libxml-parser-perl-native" +RDEPENDS_${PN} = "gettext-dev libxml-parser-perl" +DEPENDS_class-native = "libxml-parser-perl-native" + +inherit autotools pkgconfig perlnative + +export PERL = "${bindir}/env perl" +PERL_class-native = "/usr/bin/env nativeperl" + +# gettext is assumed to exist on the host +RDEPENDS_${PN}_class-native = "libxml-parser-perl-native" +RRECOMMENDS_${PN} = "perl-modules" +RRECOMMENDS_${PN}_class-native = "" + +FILES_${PN}-dev = "" +FILES_${PN} += "${datadir}/aclocal" + +INSANE_SKIP_${PN} += "dev-deps" + +BBCLASSEXTEND = "native" diff --git a/import-layers/yocto-poky/meta/recipes-devtools/json-c/json-c/0001-Link-against-libm-when-needed.patch b/import-layers/yocto-poky/meta/recipes-devtools/json-c/json-c/0001-Link-against-libm-when-needed.patch new file mode 100644 index 000000000..bfe9d7231 --- /dev/null +++ b/import-layers/yocto-poky/meta/recipes-devtools/json-c/json-c/0001-Link-against-libm-when-needed.patch @@ -0,0 +1,53 @@ +From 93582ad85ef48c18ac12f00a9a9e124989b1fcab Mon Sep 17 00:00:00 2001 +From: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> +Date: Fri, 1 May 2015 12:52:18 +0200 +Subject: [PATCH] Link against libm when needed + +In certain C libraries (e.g uClibc), isnan() and related functions are +implemented in libm, so json-c needs to link against it. This commit +therefore adds an AC_TRY_LINK() test to check whether a program +calling isnan() can be properly linked with no special flags. If not, +we assume linking against libm is needed. + +The json-c.pc.in file is also adjusted so that in the case of static +linking against json-c, -lm is also used. + +Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> +--- +Upstream-Status: Backport + + configure.ac | 4 ++++ + json-c.pc.in | 3 ++- + 2 files changed, 6 insertions(+), 1 deletion(-) + +diff --git a/configure.ac b/configure.ac +index c50f81b..30e7174 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -50,6 +50,10 @@ AC_CHECK_DECLS([isinf], [], [], [[#include <math.h>]]) + AC_CHECK_DECLS([_isnan], [], [], [[#include <float.h>]]) + AC_CHECK_DECLS([_finite], [], [], [[#include <float.h>]]) + ++if test "$ac_cv_have_decl_isnan" = "yes" ; then ++ AC_TRY_LINK([#include <math.h>], [float f = 0.0; return isnan(f)], [], [LIBS="$LIBS -lm"]) ++fi ++ + #check if .section.gnu.warning accepts long strings (for __warn_references) + AC_LANG_PUSH([C]) + +diff --git a/json-c.pc.in b/json-c.pc.in +index 037739d..05bfbc8 100644 +--- a/json-c.pc.in ++++ b/json-c.pc.in +@@ -6,6 +6,7 @@ includedir=@includedir@ + Name: json-c + Description: JSON implementation in C + Version: @VERSION@ +-Requires: ++Requires: ++Libs.private: @LIBS@ + Libs: -L${libdir} -ljson-c + Cflags: -I${includedir}/json-c +-- +2.8.1 + diff --git a/import-layers/yocto-poky/meta/recipes-devtools/json-c/json-c_0.12.bb b/import-layers/yocto-poky/meta/recipes-devtools/json-c/json-c_0.12.bb index 1a5c3948e..a15455c9b 100644 --- a/import-layers/yocto-poky/meta/recipes-devtools/json-c/json-c_0.12.bb +++ b/import-layers/yocto-poky/meta/recipes-devtools/json-c/json-c_0.12.bb @@ -6,6 +6,7 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=de54b60fbbc35123ba193fea8ee216f2" SRC_URI = "https://s3.amazonaws.com/json-c_releases/releases/${BP}.tar.gz \ file://0001-json_tokener-requires-INF-and-NAN.patch \ + file://0001-Link-against-libm-when-needed.patch \ " SRC_URI[md5sum] = "3ca4bbb881dfc4017e8021b5e0a8c491" @@ -27,3 +28,5 @@ do_configure_prepend() { # Clean up autoconf cruft that should not be in the tarball rm -f ${S}/config.status } + +BBCLASSEXTEND = "native nativesdk" diff --git a/import-layers/yocto-poky/meta/recipes-devtools/kconfig-frontends/kconfig-frontends_3.12.0.0.bb b/import-layers/yocto-poky/meta/recipes-devtools/kconfig-frontends/kconfig-frontends_3.12.0.0.bb index 48a2f935b..9b65a991d 100644 --- a/import-layers/yocto-poky/meta/recipes-devtools/kconfig-frontends/kconfig-frontends_3.12.0.0.bb +++ b/import-layers/yocto-poky/meta/recipes-devtools/kconfig-frontends/kconfig-frontends_3.12.0.0.bb @@ -11,14 +11,14 @@ HOMEPAGE = "http://ymorin.is-a-geek.org/projects/kconfig-frontends" LICENSE = "GPL-2.0" LIC_FILES_CHKSUM = "file://COPYING;md5=9b8cf60ff39767ff04b671fca8302408" SECTION = "devel" -DEPENDS += "ncurses flex bison gperf-native pkgconfig-native" +DEPENDS += "ncurses flex bison gperf-native" RDEPENDS_${PN} += "python bash" SRC_URI = "http://ymorin.is-a-geek.org/download/${BPN}/${BP}.tar.xz" SRC_URI[md5sum] = "b939280dcc83f8feabd87a1d5f9b00c2" SRC_URI[sha256sum] = "ea2615a62c74bea6ce3b38402f00c7513858f307f6ba7aa9fdbf0bbc12bcf407" -inherit autotools +inherit autotools pkgconfig do_configure_prepend () { mkdir -p scripts/.autostuff/m4 } @@ -32,7 +32,7 @@ EXTRA_OECONF += "--disable-gconf --disable-qconf" # Some packages have the version preceeding the .so instead properly # versioned .so.<version>, so we need to reorder and repackage. -SOLIBS = "-${@d.getVar('PV',1)[:-2]}.so" +SOLIBS = "-${@d.getVar('PV', True)[:-2]}.so" FILES_SOLIBSDEV = "${libdir}/libkconfig-parser.so" BBCLASSEXTEND = "native" diff --git a/import-layers/yocto-poky/meta/recipes-devtools/libtool/libtool-cross_2.4.6.bb b/import-layers/yocto-poky/meta/recipes-devtools/libtool/libtool-cross_2.4.6.bb index 0204d347b..b26831046 100644 --- a/import-layers/yocto-poky/meta/recipes-devtools/libtool/libtool-cross_2.4.6.bb +++ b/import-layers/yocto-poky/meta/recipes-devtools/libtool/libtool-cross_2.4.6.bb @@ -35,11 +35,6 @@ do_install () { install -c -m 0644 ${S}/m4/*.m4 ${D}${target_datadir}/aclocal/ } -SYSROOT_PREPROCESS_FUNCS += "libtoolcross_sysroot_preprocess" - -libtoolcross_sysroot_preprocess () { - sysroot_stage_dir ${D}${bindir_crossscripts} ${SYSROOT_DESTDIR}${bindir_crossscripts} - sysroot_stage_dir ${D}${target_datadir} ${SYSROOT_DESTDIR}${target_datadir} -} +SYSROOT_DIRS += "${bindir_crossscripts} ${target_datadir}" SSTATE_SCAN_FILES += "libtoolize *-libtool" diff --git a/import-layers/yocto-poky/meta/recipes-devtools/libtool/libtool_2.4.6.bb b/import-layers/yocto-poky/meta/recipes-devtools/libtool/libtool_2.4.6.bb index 3851ec7f8..8858f6eef 100644 --- a/import-layers/yocto-poky/meta/recipes-devtools/libtool/libtool_2.4.6.bb +++ b/import-layers/yocto-poky/meta/recipes-devtools/libtool/libtool_2.4.6.bb @@ -5,7 +5,11 @@ RDEPENDS_${PN} += "bash" # # We want the results of libtool-cross preserved - don't stage anything ourselves. # -SYSROOT_PREPROCESS_FUNCS += "libtool_sysroot_preprocess" +SYSROOT_DIRS_BLACKLIST += " \ + ${bindir} \ + ${datadir}/aclocal \ + ${datadir}/libtool/build-aux \ +" do_install_append () { sed -e 's@--sysroot=${STAGING_DIR_HOST}@@g' \ @@ -18,10 +22,3 @@ do_install_append () { -e 's@^\(postdep_objects="\).*@\1"@' \ -i ${D}${bindir}/libtool } - -libtool_sysroot_preprocess () { - rm -rf ${SYSROOT_DESTDIR}${bindir}/* - rm -rf ${SYSROOT_DESTDIR}${datadir}/aclocal/* - rm -rf ${SYSROOT_DESTDIR}${datadir}/libtool/build-aux/* -} - diff --git a/import-layers/yocto-poky/meta/recipes-devtools/linuxdoc-tools/linuxdoc-tools-native_0.9.69.bb b/import-layers/yocto-poky/meta/recipes-devtools/linuxdoc-tools/linuxdoc-tools-native_0.9.69.bb index a8a90fc82..a5deb2e2d 100644 --- a/import-layers/yocto-poky/meta/recipes-devtools/linuxdoc-tools/linuxdoc-tools-native_0.9.69.bb +++ b/import-layers/yocto-poky/meta/recipes-devtools/linuxdoc-tools/linuxdoc-tools-native_0.9.69.bb @@ -5,7 +5,7 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=077ef64ec3ac257fb0d786531cf26931" DEPENDS = "groff-native openjade-native" -SRC_URI = "${DEBIAN_MIRROR}/main/l/linuxdoc-tools/linuxdoc-tools_${PV}.orig.tar.gz \ +SRC_URI = "http://snapshot.debian.org/archive/debian/20160728T043443Z/pool/main/l/${BPN}/${BPN}_${PV}.orig.tar.gz \ file://disable_sgml2rtf.patch \ file://disable_txt_doc.patch \ file://disable_tex_doc.patch \ @@ -14,6 +14,7 @@ SRC_URI = "${DEBIAN_MIRROR}/main/l/linuxdoc-tools/linuxdoc-tools_${PV}.orig.tar. SRC_URI[md5sum] = "1d13d500918a7a145b0edc2f16f61dd1" SRC_URI[sha256sum] = "7103facee18a2ea97186ca459d743d22f7f89ad4b5cd1dfd1c34f83d6bfd4101" +UPSTREAM_CHECK_URI = "${DEBIAN_MIRROR}/main/l/linuxdoc-tools/" inherit autotools-brokensep native do_configure () { diff --git a/import-layers/yocto-poky/meta/recipes-devtools/make/make-3.81/make_fix_for_automake-1.12.patch b/import-layers/yocto-poky/meta/recipes-devtools/make/make-3.81/make_fix_for_automake-1.12.patch index 9b2e96431..102fe79ab 100644 --- a/import-layers/yocto-poky/meta/recipes-devtools/make/make-3.81/make_fix_for_automake-1.12.patch +++ b/import-layers/yocto-poky/meta/recipes-devtools/make/make-3.81/make_fix_for_automake-1.12.patch @@ -11,7 +11,7 @@ this patch avoids these kinds of errors: | ERROR: autoreconf execution failed. -Signed-Off-By: Nitin A Kamble <nitin.a.kamble@intel.com> +Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com> 2012/05/04 Index: make-3.81/configure.in diff --git a/import-layers/yocto-poky/meta/recipes-devtools/make/make-4.1/0001-main.c-main-SV-43434-Handle-NULL-returns-from-ttynam.patch b/import-layers/yocto-poky/meta/recipes-devtools/make/make-4.1/0001-main.c-main-SV-43434-Handle-NULL-returns-from-ttynam.patch deleted file mode 100644 index 7a5f4ba05..000000000 --- a/import-layers/yocto-poky/meta/recipes-devtools/make/make-4.1/0001-main.c-main-SV-43434-Handle-NULL-returns-from-ttynam.patch +++ /dev/null @@ -1,63 +0,0 @@ -From 292da6f6867b75a5af7ddbb639a1feae022f438f Mon Sep 17 00:00:00 2001 -From: Paul Smith <psmith@gnu.org> -Date: Mon, 20 Oct 2014 01:54:56 -0400 -Subject: [PATCH] * main.c (main): [SV 43434] Handle NULL returns from - ttyname(). - -Upstream-Status: Backport - -From: http://git.savannah.gnu.org/cgit/make.git/commit/?id=292da6f6867b75a5af7ddbb639a1feae022f438f - ---- - main.c | 15 ++++++++++----- - makeint.h | 3 ++- - 2 files changed, 12 insertions(+), 6 deletions(-) - -diff --git a/main.c b/main.c -index b2d169c..0cdb8a8 100644 ---- a/main.c -+++ b/main.c -@@ -1429,13 +1429,18 @@ main (int argc, char **argv, char **envp) - #ifdef HAVE_ISATTY - if (isatty (fileno (stdout))) - if (! lookup_variable (STRING_SIZE_TUPLE ("MAKE_TERMOUT"))) -- define_variable_cname ("MAKE_TERMOUT", TTYNAME (fileno (stdout)), -- o_default, 0)->export = v_export; -- -+ { -+ const char *tty = TTYNAME (fileno (stdout)); -+ define_variable_cname ("MAKE_TERMOUT", tty ? tty : DEFAULT_TTYNAME, -+ o_default, 0)->export = v_export; -+ } - if (isatty (fileno (stderr))) - if (! lookup_variable (STRING_SIZE_TUPLE ("MAKE_TERMERR"))) -- define_variable_cname ("MAKE_TERMERR", TTYNAME (fileno (stderr)), -- o_default, 0)->export = v_export; -+ { -+ const char *tty = TTYNAME (fileno (stderr)); -+ define_variable_cname ("MAKE_TERMERR", tty ? tty : DEFAULT_TTYNAME, -+ o_default, 0)->export = v_export; -+ } - #endif - - /* Reset in case the switches changed our minds. */ -diff --git a/makeint.h b/makeint.h -index 6223936..2009f41 100644 ---- a/makeint.h -+++ b/makeint.h -@@ -436,10 +436,11 @@ extern struct rlimit stack_limit; - /* The number of bytes needed to represent the largest integer as a string. */ - #define INTSTR_LENGTH CSTRLEN ("18446744073709551616") - -+#define DEFAULT_TTYNAME "true" - #ifdef HAVE_TTYNAME - # define TTYNAME(_f) ttyname (_f) - #else --# define TTYNAME(_f) "true" -+# define TTYNAME(_f) DEFAULT_TTYNAME - #endif - - --- -1.9.1 - diff --git a/import-layers/yocto-poky/meta/recipes-devtools/make/make_4.1.bb b/import-layers/yocto-poky/meta/recipes-devtools/make/make_4.2.1.bb index 78fe0b547..c6e6a0cd5 100644 --- a/import-layers/yocto-poky/meta/recipes-devtools/make/make_4.1.bb +++ b/import-layers/yocto-poky/meta/recipes-devtools/make/make_4.2.1.bb @@ -4,11 +4,9 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504 \ file://glob/COPYING.LIB;md5=4a770b67e6be0f60da244beb2de0fce4" require make.inc -SRC_URI += "file://0001-main.c-main-SV-43434-Handle-NULL-returns-from-ttynam.patch" - EXTRA_OECONF += "--without-guile" -SRC_URI[md5sum] = "57a7a224a822f94789a587ccbcedff69" -SRC_URI[sha256sum] = "0bc7613389650ee6a24554b52572a272f7356164fd2c4132b0bcf13123e4fca5" +SRC_URI[md5sum] = "15b012617e7c44c0ed482721629577ac" +SRC_URI[sha256sum] = "d6e262bf3601b42d2b1e4ef8310029e1dcf20083c5446b4b7aa67081fdffc589" BBCLASSEXTEND = "native nativesdk" diff --git a/import-layers/yocto-poky/meta/recipes-devtools/makedevs/makedevs/makedevs.c b/import-layers/yocto-poky/meta/recipes-devtools/makedevs/makedevs/makedevs.c index 771f33ef5..cba768141 100644 --- a/import-layers/yocto-poky/meta/recipes-devtools/makedevs/makedevs/makedevs.c +++ b/import-layers/yocto-poky/meta/recipes-devtools/makedevs/makedevs/makedevs.c @@ -360,7 +360,7 @@ static int interpret_table_entry(char *line) unsigned long mode = 0755, uid = 0, gid = 0, major = 0, minor = 0; unsigned long start = 0, increment = 1, count = 0; - if (0 > sscanf(line, "%40s %c %lo %40s %40s %lu %lu %lu %lu %lu", path, + if (0 > sscanf(line, "%4095s %c %lo %40s %40s %lu %lu %lu %lu %lu", path, &type, &mode, usr_buf, grp_buf, &major, &minor, &start, &increment, &count)) { @@ -510,7 +510,7 @@ int main(int argc, char **argv) umask (0); if (argc==1) { - fprintf(stderr, helptext); + fputs( helptext , stderr ); exit(1); } @@ -525,7 +525,7 @@ int main(int argc, char **argv) error_msg_and_die("%s: not a proper device table file", optarg); break; case 'h': - printf(helptext); + puts(helptext); exit(0); case 'r': case 'd': /* for compatibility with mkfs.jffs, genext2fs, etc... */ @@ -553,13 +553,13 @@ int main(int argc, char **argv) printf("%s: %s\n", app_name, VERSION); exit(0); default: - fprintf(stderr, helptext); + fputs(helptext,stderr); exit(1); } } if (argv[optind] != NULL) { - fprintf(stderr, helptext); + fputs(helptext,stderr); exit(1); } diff --git a/import-layers/yocto-poky/meta/recipes-devtools/mkelfimage/mkelfimage/cross-compile.patch b/import-layers/yocto-poky/meta/recipes-devtools/mkelfimage/mkelfimage/cross-compile.patch index 769270972..a162eb7d1 100644 --- a/import-layers/yocto-poky/meta/recipes-devtools/mkelfimage/mkelfimage/cross-compile.patch +++ b/import-layers/yocto-poky/meta/recipes-devtools/mkelfimage/mkelfimage/cross-compile.patch @@ -1,13 +1,43 @@ -make the tool to be cross compilable. +From dc2712119d6832e24a9b7bed9ed4ce5ae03ce0a3 Mon Sep 17 00:00:00 2001 +From: Khem Raj <raj.khem@gmail.com> +Date: Sat, 14 Jul 2012 14:14:07 -0700 +Subject: [PATCH] mkelfimage: Fix cross build + +Make the tool to be cross compilable, by separating the variables for build +tools from those for the target. Also modified to obey LDFLAGS. Signed-off-by: Khem Raj <raj.khem@gmail.com> +Signed-off-by: Christopher Larson <chris_larson@mentor.com> + Upstream-Status: Pending -Index: mkelfImage/configure.ac -=================================================================== ---- mkelfImage.orig/configure.ac 2012-07-14 14:04:48.964898667 -0700 -+++ mkelfImage/configure.ac 2012-07-14 14:10:47.800916083 -0700 -@@ -70,6 +70,9 @@ +--- + Makefile.conf.in | 3 +++ + configure.ac | 7 +++++-- + linux-i386/Makefile | 2 +- + linux-ia64/Makefile | 2 +- + main/Makefile | 4 ++-- + 5 files changed, 12 insertions(+), 6 deletions(-) + +diff --git a/Makefile.conf.in b/Makefile.conf.in +index 4645e44..dcb6cf2 100644 +--- a/Makefile.conf.in ++++ b/Makefile.conf.in +@@ -17,6 +17,9 @@ DEFS=@DEFS@ + LIBS=@LIBS@ + HOST_CC=@HOST_CC@ + HOST_CFLAGS=@HOST_CFLAGS@ $(DEFS) ++CC=@CC@ ++CFLAGS=@CFLAGS@ $(DEFS) ++LDFLAGS=@LDFLAGS@ + + I386_CC =@I386_CC@ + I386_LD =@I386_LD@ +diff --git a/configure.ac b/configure.ac +index 652b952..0f2ac72 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -70,6 +70,9 @@ if test "with_default" != no ; then AC_MSG_ERROR([cc not found]) fi eval "${with_default}_CC='$CC'" @@ -17,55 +47,60 @@ Index: mkelfImage/configure.ac AC_PROG_CPP if test "$CPP" = no; then AC_MSG_ERROR([cpp not found]) -@@ -172,7 +175,6 @@ +@@ -172,8 +175,8 @@ fi dnl ---Output variables... -HOST_CC=$CC - HOST_CFLAGS="$HOST_CFLAGS -O2 -Wall \$(HOST_CPPFLAGS)" +-HOST_CFLAGS="$HOST_CFLAGS -O2 -Wall \$(HOST_CPPFLAGS)" ++CFLAGS="${CFLAGS:--O2} -Wall \$(CPPFLAGS)" ++HOST_CFLAGS="${HOST_CFLAGS:--O2} -Wall \$(HOST_CPPFLAGS)" dnl TODO: figure out how to set these appropriately for compilers other than gcc -Index: mkelfImage/linux-i386/Makefile -=================================================================== ---- mkelfImage.orig/linux-i386/Makefile 2012-07-14 14:04:48.964898667 -0700 -+++ mkelfImage/linux-i386/Makefile 2012-07-14 14:04:49.032898671 -0700 -@@ -4,7 +4,7 @@ + I386_CFLAGS="$I386_CFLAGS -Os -ffreestanding -Wall -W -Wno-format \$(I386_CPPFLAGS)" +diff --git a/linux-i386/Makefile b/linux-i386/Makefile +index 51531d6..7e8aa3c 100644 +--- a/linux-i386/Makefile ++++ b/linux-i386/Makefile +@@ -4,7 +4,7 @@ LI386_DEP=Makefile Makefile.conf $(LI386_DIR)/Makefile $(LI386_OBJ)/mkelf-linux-i386.o: $(LI386_DIR)/mkelf-linux-i386.c $(LI386_DIR)/convert.bin.c $(LI386_DEP) $(MKDIR) -p $(@D) - $(HOST_CC) $(HOST_CFLAGS) -c -g $< -o $@ -+ $(CC) $(HOST_CFLAGS) -c -g $< -o $@ ++ $(CC) $(CFLAGS) -c -g $< -o $@ ifdef I386_CC -Index: mkelfImage/linux-ia64/Makefile -=================================================================== ---- mkelfImage.orig/linux-ia64/Makefile 2012-07-14 14:04:48.964898667 -0700 -+++ mkelfImage/linux-ia64/Makefile 2012-07-14 14:04:49.032898671 -0700 -@@ -4,7 +4,7 @@ +diff --git a/linux-ia64/Makefile b/linux-ia64/Makefile +index 38f5d8c..5df8870 100644 +--- a/linux-ia64/Makefile ++++ b/linux-ia64/Makefile +@@ -4,7 +4,7 @@ LIA64_DEP=Makefile Makefile.conf $(LIA64_DIR)/Makefile $(LIA64_OBJ)/mkelf-linux-ia64.o: $(LIA64_DIR)/mkelf-linux-ia64.c $(LIA64_DIR)/convert.bin.c $(LIA64_DEP) $(MKDIR) -p $(@D) - $(HOST_CC) $(HOST_CFLAGS) -c -g $< -o $@ -+ $(CC) $(HOST_CFLAGS) -c -g $< -o $@ ++ $(CC) $(CFLAGS) -c -g $< -o $@ ifdef IA64_CC -Index: mkelfImage/main/Makefile -=================================================================== ---- mkelfImage.orig/main/Makefile 2012-07-14 14:04:48.964898667 -0700 -+++ mkelfImage/main/Makefile 2012-07-14 14:04:49.032898671 -0700 -@@ -4,11 +4,11 @@ +diff --git a/main/Makefile b/main/Makefile +index 403b0a4..cd53613 100644 +--- a/main/Makefile ++++ b/main/Makefile +@@ -4,11 +4,11 @@ MKELF_OBJS=$(OBJDIR)/main/mkelfImage.o \ $(OBJDIR)/sbin/mkelfImage: $(MKELF_OBJS) $(DEPS) $(MKDIR) -p $(@D) - $(HOST_CC) $(HOST_CFLAGS) $(MKELF_OBJS) -o $@ $(LIBS) -+ $(CC) $(HOST_CFLAGS) $(MKELF_OBJS) -o $@ $(LIBS) ++ $(CC) $(CFLAGS) $(LDFLAGS) $(MKELF_OBJS) -o $@ $(LIBS) $(OBJDIR)/main/mkelfImage.o: main/mkelfImage.c include/mkelfImage.h $(DEPS) $(MKDIR) -p $(@D) - $(HOST_CC) $(HOST_CFLAGS) -c $< -o $@ -+ $(CC) $(HOST_CFLAGS) -c $< -o $@ ++ $(CC) $(CFLAGS) -c $< -o $@ $(OBJDIR)/man/man8/mkelfImage.8: main/mkelfImage.man $(MKDIR) -p $(@D) +-- +2.8.0 diff --git a/import-layers/yocto-poky/meta/recipes-devtools/mkelfimage/mkelfimage_git.bb b/import-layers/yocto-poky/meta/recipes-devtools/mkelfimage/mkelfimage_git.bb index 92435cd1c..2bcc8d7bd 100644 --- a/import-layers/yocto-poky/meta/recipes-devtools/mkelfimage/mkelfimage_git.bb +++ b/import-layers/yocto-poky/meta/recipes-devtools/mkelfimage/mkelfimage_git.bb @@ -13,8 +13,8 @@ http://review.coreboot.org/gitweb?p=coreboot.git;a=commit;h=34fc4ab80b507739e258 DEPENDS += "zlib" SRC_URI = "git://review.coreboot.org/p/coreboot;protocol=http \ - file://cross-compile.patch \ - " + file://cross-compile.patch \ + " SRC_URI_append_class-native = " \ file://fix-makefile-to-find-libz.patch \ " @@ -24,8 +24,11 @@ CLEANBROKEN = "1" S = "${WORKDIR}/git/util/mkelfImage" CFLAGS += "-fno-stack-protector" -CACHED_CONFIGUREVARS += "HOST_CC='${BUILD_CC}'" -EXTRA_OEMAKE += "HOST_CPPFLAGS='${BUILD_CPPFLAGS}'" +CACHED_CONFIGUREVARS += "\ + HOST_CC='${BUILD_CC}' \ + HOST_CFLAGS='${BUILD_CFLAGS}' \ + HOST_CPPFLAGS='${BUILD_CPPFLAGS}' \ +" inherit autotools-brokensep diff --git a/import-layers/yocto-poky/meta/recipes-devtools/mklibs/mklibs-native_0.1.40.bb b/import-layers/yocto-poky/meta/recipes-devtools/mklibs/mklibs-native_0.1.41.bb index 59fec29a0..b3c1b5ba7 100644 --- a/import-layers/yocto-poky/meta/recipes-devtools/mklibs/mklibs-native_0.1.40.bb +++ b/import-layers/yocto-poky/meta/recipes-devtools/mklibs/mklibs-native_0.1.41.bb @@ -6,7 +6,7 @@ LICENSE = "GPLv2+" LIC_FILES_CHKSUM = "file://debian/copyright;md5=98d31037b13d896e33890738ef01af64" DEPENDS = "python-native" -SRC_URI = "http://ftp.de.debian.org/debian/pool/main/m/mklibs/${BPN}_${PV}.tar.xz \ +SRC_URI = "http://snapshot.debian.org/archive/debian/20160207T221625Z/pool/main/m/${BPN}/${BPN}_${PV}.tar.xz \ file://ac_init_fix.patch\ file://fix_STT_GNU_IFUNC.patch\ file://sysrooted-ldso.patch \ @@ -15,7 +15,7 @@ SRC_URI = "http://ftp.de.debian.org/debian/pool/main/m/mklibs/${BPN}_${PV}.tar.x file://fix_cross_compile.patch \ " -SRC_URI[md5sum] = "e1dafe5f962caa9dc5f2651c0723812a" -SRC_URI[sha256sum] = "1db24ae779d21ccfed49f22e49a2b7ee43ec0e9197bc206d81cd02f96e91e125" +SRC_URI[md5sum] = "6b2979876a611717df3d49e7f9cf291d" +SRC_URI[sha256sum] = "058c7349f8ec8a03b529c546a95cd6426741bd819f1e1211f499273eb4bf5d89" inherit autotools gettext native pythonnative diff --git a/import-layers/yocto-poky/meta/recipes-devtools/mmc/mmc-utils_git.bb b/import-layers/yocto-poky/meta/recipes-devtools/mmc/mmc-utils_git.bb index 64b8910a2..0a8da19e0 100644 --- a/import-layers/yocto-poky/meta/recipes-devtools/mmc/mmc-utils_git.bb +++ b/import-layers/yocto-poky/meta/recipes-devtools/mmc/mmc-utils_git.bb @@ -1,10 +1,10 @@ SUMMARY = "Userspace tools for MMC/SD devices" HOMEPAGE = "http://git.kernel.org/cgit/linux/kernel/git/cjb/mmc-utils.git/" LICENSE = "GPLv2" -LIC_FILES_CHKSUM = "file://mmc.c;beginline=1;endline=17;md5=d7747fc87f1eb22b946ef819969503f0" +LIC_FILES_CHKSUM = "file://mmc.c;beginline=1;endline=20;md5=fae32792e20f4d27ade1c5a762d16b7d" SRCBRANCH ?= "master" -SRCREV = "44f94b925894577f9ffcf2c418dd013a5e582648" +SRCREV = "bb779acfc385d135b32a6998c1d1fceef0491400" PV = "0.1" diff --git a/import-layers/yocto-poky/meta/recipes-devtools/mtd/mtd-utils_git.bb b/import-layers/yocto-poky/meta/recipes-devtools/mtd/mtd-utils_git.bb index cd9ae06ce..8a3afaf62 100644 --- a/import-layers/yocto-poky/meta/recipes-devtools/mtd/mtd-utils_git.bb +++ b/import-layers/yocto-poky/meta/recipes-devtools/mtd/mtd-utils_git.bb @@ -39,7 +39,7 @@ FILES_mtd-utils-jffs2 = "${sbindir}/mkfs.jffs2 ${sbindir}/jffs2dump ${sbindir}/j FILES_mtd-utils-ubifs = "${sbindir}/mkfs.ubifs ${sbindir}/ubi*" FILES_mtd-utils-misc = "${sbindir}/nftl* ${sbindir}/ftl* ${sbindir}/rfd* ${sbindir}/doc* ${sbindir}/serve_image ${sbindir}/recv_image" -BBCLASSEXTEND = "native" +BBCLASSEXTEND = "native nativesdk" # git/.compr.c.dep:46: warning: NUL character seen; rest of line ignored # git/.compr.c.dep:47: *** missing separator. Stop. diff --git a/import-layers/yocto-poky/meta/recipes-devtools/mtools/mtools/0001-Continue-even-if-fs-size-is-not-divisible-by-sectors.patch b/import-layers/yocto-poky/meta/recipes-devtools/mtools/mtools/0001-Continue-even-if-fs-size-is-not-divisible-by-sectors.patch new file mode 100644 index 000000000..1f8f8351c --- /dev/null +++ b/import-layers/yocto-poky/meta/recipes-devtools/mtools/mtools/0001-Continue-even-if-fs-size-is-not-divisible-by-sectors.patch @@ -0,0 +1,34 @@ +From 5cc8d1f96ab6d3459e13631d8356f87381562352 Mon Sep 17 00:00:00 2001 +From: Jussi Kukkonen <jussi.kukkonen@intel.com> +Date: Thu, 2 Jun 2016 09:49:44 +0300 +Subject: [PATCH] Continue even if fs size is not divisible by + sectors-per-track + +Filesystem with a size that is not divisible by sectors-per-track is +not broken or invalid: it might be unoptimized on media where +heads and cylinders actually matter but that should be it. + +Preserve the warning but make mtools continue even if fs size is not +divisible by sectors-per-track. + +Upstream-Status: Submitted [info-mtools@gnu.org] +Signed-off-by: Jussi Kukkonen <jussi.kukkonen@intel.com> +--- + init.c | 1 - + 1 file changed, 1 deletion(-) + +diff --git a/init.c b/init.c +index c9152e0..4e16a01 100644 +--- a/init.c ++++ b/init.c +@@ -338,7 +338,6 @@ Stream_t *fs_init(char drive, int mode, int *isRop) + fprintf(stderr, + "Add mtools_skip_check=1 to your .mtoolsrc file " + "to skip this test\n"); +- exit(1); + } + + /* full cylinder buffering */ +-- +2.1.4 + diff --git a/import-layers/yocto-poky/meta/recipes-devtools/mtools/mtools_3.9.9.bb b/import-layers/yocto-poky/meta/recipes-devtools/mtools/mtools_3.9.9.bb index 3423917d0..2904ff4f9 100644 --- a/import-layers/yocto-poky/meta/recipes-devtools/mtools/mtools_3.9.9.bb +++ b/import-layers/yocto-poky/meta/recipes-devtools/mtools/mtools_3.9.9.bb @@ -33,7 +33,9 @@ SRC_URI = "http://downloads.yoctoproject.org/mirror/sources/mtools-${PV}.tar.gz file://mtools-makeinfo.patch \ file://mtools.patch \ file://no-x11.patch \ - file://fix-broken-lz.patch" + file://fix-broken-lz.patch \ + file://0001-Continue-even-if-fs-size-is-not-divisible-by-sectors.patch \ + " inherit autotools texinfo diff --git a/import-layers/yocto-poky/meta/recipes-devtools/mtools/mtools_4.0.18.bb b/import-layers/yocto-poky/meta/recipes-devtools/mtools/mtools_4.0.18.bb index efde547e2..b0efc9ecf 100644 --- a/import-layers/yocto-poky/meta/recipes-devtools/mtools/mtools_4.0.18.bb +++ b/import-layers/yocto-poky/meta/recipes-devtools/mtools/mtools_4.0.18.bb @@ -29,7 +29,9 @@ SRC_URI[sha256sum] = "59e9cf80885399c4f229e5d87e49c0c2bfeec044e1386d59fcd0b0aead SRC_URI = "${GNU_MIRROR}/mtools/mtools-${PV}.tar.bz2 \ file://mtools-makeinfo.patch \ - file://no-x11.gplv3.patch" + file://no-x11.gplv3.patch \ + file://0001-Continue-even-if-fs-size-is-not-divisible-by-sectors.patch \ + " inherit autotools texinfo diff --git a/import-layers/yocto-poky/meta/recipes-devtools/nasm/nasm_2.11.08.bb b/import-layers/yocto-poky/meta/recipes-devtools/nasm/nasm_2.12.02.bb index e0724e68a..9c4b60f84 100644 --- a/import-layers/yocto-poky/meta/recipes-devtools/nasm/nasm_2.11.08.bb +++ b/import-layers/yocto-poky/meta/recipes-devtools/nasm/nasm_2.12.02.bb @@ -4,11 +4,10 @@ LICENSE = "BSD-2-Clause" LIC_FILES_CHKSUM = "file://LICENSE;md5=90904486f8fbf1861cf42752e1a39efe" COMPATIBLE_HOST = '(x86_64|i.86).*-(linux|freebsd.*)' - SRC_URI = "http://www.nasm.us/pub/nasm/releasebuilds/${PV}/nasm-${PV}.tar.bz2 " -SRC_URI[md5sum] = "7aae5cb8e03fac48029c82a7470ab066" -SRC_URI[sha256sum] = "9da3a0291a0bdc06305b7ba194f1e2c2b55ae6f11210b4af43729868149d5445" +SRC_URI[md5sum] = "d15843c3fb7db39af80571ee27ec6fad" +SRC_URI[sha256sum] = "00b0891c678c065446ca59bcee64719d0096d54d6886e6e472aeee2e170ae324" inherit autotools-brokensep diff --git a/import-layers/yocto-poky/meta/recipes-devtools/openjade/openjade-native_1.3.2.bb b/import-layers/yocto-poky/meta/recipes-devtools/openjade/openjade-native_1.3.2.bb index bc250080f..8b15b0c7e 100644 --- a/import-layers/yocto-poky/meta/recipes-devtools/openjade/openjade-native_1.3.2.bb +++ b/import-layers/yocto-poky/meta/recipes-devtools/openjade/openjade-native_1.3.2.bb @@ -44,10 +44,10 @@ CONFIGUREOPTS := "${@d.getVar('CONFIGUREOPTS', True).replace('--datadir=${datadi oe_runconf[vardepsexclude] += "CONFIGUREOPTS" CFLAGS =+ "-I${S}/include" +CXXFLAGS += "-fno-tree-dse" SSTATEPOSTINSTFUNCS += "openjade_sstate_postinst" SYSROOT_PREPROCESS_FUNCS += "openjade_sysroot_preprocess" -CLEANFUNCS += "openjade_sstate_clean" # configure.in needs to be reloacted to trigger reautoconf do_extraunpack () { @@ -103,6 +103,15 @@ openjade_sstate_postinst() { ${SYSROOT_DESTDIR}${bindir_crossscripts}/install-catalog-openjade \ --add ${sysconfdir}/sgml/sgml-docbook.cat \ ${sysconfdir}/sgml/openjade-${PV}.cat + cat << EOF > ${SSTATE_INST_POSTRM} +#!/bin/sh +# Ensure that the catalog file sgml-docbook.cat is properly +# updated when the package is removed from sstate cache. +files="${sysconfdir}/sgml/sgml-docbook.bak ${sysconfdir}/sgml/sgml-docbook.cat" +for f in \$files; do + [ ! -f \$f ] || sed -i '/\/sgml\/openjade-${PV}.cat/d' \$f +done +EOF fi } @@ -110,12 +119,3 @@ openjade_sysroot_preprocess () { install -d ${SYSROOT_DESTDIR}${bindir_crossscripts}/ install -m 755 ${STAGING_BINDIR_NATIVE}/install-catalog ${SYSROOT_DESTDIR}${bindir_crossscripts}/install-catalog-openjade } - -openjade_sstate_clean () { - # Ensure that the catalog file sgml-docbook.cat is properly - # updated when the package is removed from sstate cache. - files="${sysconfdir}/sgml/sgml-docbook.bak ${sysconfdir}/sgml/sgml-docbook.cat" - for f in $files; do - [ ! -f $f ] || sed -i '/\/sgml\/openjade-${PV}.cat/d' $f - done -} diff --git a/import-layers/yocto-poky/meta/recipes-devtools/opkg-utils/opkg-utils/0001-opkg-build-re-do-find-ls-code-to-not-fail-on-filenam.patch b/import-layers/yocto-poky/meta/recipes-devtools/opkg-utils/opkg-utils/0001-opkg-build-re-do-find-ls-code-to-not-fail-on-filenam.patch deleted file mode 100644 index 5cbb55a7d..000000000 --- a/import-layers/yocto-poky/meta/recipes-devtools/opkg-utils/opkg-utils/0001-opkg-build-re-do-find-ls-code-to-not-fail-on-filenam.patch +++ /dev/null @@ -1,56 +0,0 @@ -From 8e424296ce2af4a5a7392c38a31f8723f9b9fbda Mon Sep 17 00:00:00 2001 -From: Denys Dmytriyenko <denys@ti.com> -Date: Thu, 7 Apr 2016 20:43:13 -0400 -Subject: [PATCH] opkg-build: re-do find/ls code to not fail on filenames with - spaces - -Signed-off-by: Denys Dmytriyenko <denys@ti.com> ---- - opkg-build | 9 ++++----- - 1 file changed, 4 insertions(+), 5 deletions(-) - -diff --git a/opkg-build b/opkg-build -index a9ccad2..07305b2 100755 ---- a/opkg-build -+++ b/opkg-build -@@ -6,7 +6,6 @@ - # 2003-04-25 rea@sr.unh.edu - # Updated to work on Familiar Pre0.7rc1, with busybox tar. - # Note it Requires: binutils-ar (since the busybox ar can't create) --# For UID debugging it needs a better "find". - set -e - - version=1.0 -@@ -47,12 +46,12 @@ pkg_appears_sane() { - - PKG_ERROR=0 - -- tilde_files=`find . -name '*~'` -+ tilde_files=`find . -name '*~' -ls -printf '\\\n'` - if [ -n "$tilde_files" ]; then - if [ "$noclean" = "1" ]; then - echo "*** Warning: The following files have names ending in '~'. - You probably want to remove them: " >&2 -- ls -ld $tilde_files -+ echo -e $tilde_files - if [ $? -ne 0 ]; then - echo "*** Error: Fail to list files have names ending in '~'." - exit 1 -@@ -64,12 +63,12 @@ You probably want to remove them: " >&2 - fi - fi - -- large_uid_files=`find . -uid +99 || true` -+ large_uid_files=`find . -uid +99 -ls -printf '\\\n' || true` - - if [ "$ogargs" = "" ] && [ -n "$large_uid_files" ]; then - echo "*** Warning: The following files have a UID greater than 99. - You probably want to chown these to a system user: " >&2 -- ls -ld $large_uid_files -+ echo -e $large_uid_files - if [ $? -ne 0 ]; then - echo "*** Error: Fail to list files have a UID greater than 99." - exit 1 --- -2.2.0 - diff --git a/import-layers/yocto-poky/meta/recipes-devtools/opkg-utils/opkg-utils/opkg-build-Exit-when-fail-to-list-files.patch b/import-layers/yocto-poky/meta/recipes-devtools/opkg-utils/opkg-utils/opkg-build-Exit-when-fail-to-list-files.patch deleted file mode 100644 index 6c66902ef..000000000 --- a/import-layers/yocto-poky/meta/recipes-devtools/opkg-utils/opkg-utils/opkg-build-Exit-when-fail-to-list-files.patch +++ /dev/null @@ -1,45 +0,0 @@ -We have an issue when ls segfaults in some cases [1] so it's -better to detect the failure at this level instead of continue -the build process. - -[YOCTO #8926] - -Upstream-Status: Submitted [2] - -[1] https://bugzilla.yoctoproject.org/show_bug.cgi?id=8926#c0 -[2] https://groups.google.com/forum/#!topic/opkg-devel/cmX02bgHZms - -Signed-off-by: AnÃbal Limón <anibal.limon@linux.intel.com> ---- - opkg-build | 8 ++++++++ - 1 file changed, 8 insertions(+) - -diff --git a/opkg-build b/opkg-build -index 98008b6..a9ccad2 100755 ---- a/opkg-build -+++ b/opkg-build -@@ -53,6 +53,10 @@ pkg_appears_sane() { - echo "*** Warning: The following files have names ending in '~'. - You probably want to remove them: " >&2 - ls -ld $tilde_files -+ if [ $? -ne 0 ]; then -+ echo "*** Error: Fail to list files have names ending in '~'." -+ exit 1 -+ fi - echo >&2 - else - echo "*** Removing the following files: $tilde_files" -@@ -66,6 +70,10 @@ You probably want to remove them: " >&2 - echo "*** Warning: The following files have a UID greater than 99. - You probably want to chown these to a system user: " >&2 - ls -ld $large_uid_files -+ if [ $? -ne 0 ]; then -+ echo "*** Error: Fail to list files have a UID greater than 99." -+ exit 1 -+ fi - echo >&2 - fi - --- -2.1.4 - diff --git a/import-layers/yocto-poky/meta/recipes-devtools/opkg-utils/opkg-utils_git.bb b/import-layers/yocto-poky/meta/recipes-devtools/opkg-utils/opkg-utils_git.bb index 8873b2870..a7aec45f8 100644 --- a/import-layers/yocto-poky/meta/recipes-devtools/opkg-utils/opkg-utils_git.bb +++ b/import-layers/yocto-poky/meta/recipes-devtools/opkg-utils/opkg-utils_git.bb @@ -1,18 +1,16 @@ SUMMARY = "Additional utilities for the opkg package manager" SUMMARY_update-alternatives-opkg = "Utility for managing the alternatives system" SECTION = "base" -HOMEPAGE = "http://code.google.com/p/opkg/" +HOMEPAGE = "http://git.yoctoproject.org/cgit/cgit.cgi/opkg-utils" LICENSE = "GPLv2+" LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f \ file://opkg.py;beginline=1;endline=18;md5=15917491ad6bf7acc666ca5f7cc1e083" PROVIDES += "${@bb.utils.contains('PACKAGECONFIG', 'update-alternatives', 'virtual/update-alternatives', '', d)}" -SRCREV = "53274f087565fd45d8452c5367997ba6a682a37a" -PV = "0.1.8+git${SRCPV}" +SRCREV = "3ffece9bf19a844edacc563aa092fd1fbfcffeee" +PV = "0.3.2+git${SRCPV}" -SRC_URI = "git://git.yoctoproject.org/opkg-utils \ - file://opkg-build-Exit-when-fail-to-list-files.patch \ - file://0001-opkg-build-re-do-find-ls-code-to-not-fail-on-filenam.patch" +SRC_URI = "git://git.yoctoproject.org/opkg-utils" SRC_URI_append_class-native = " file://tar_ignore_error.patch" S = "${WORKDIR}/git" diff --git a/import-layers/yocto-poky/meta/recipes-devtools/opkg/opkg/0001-configure.ac-use-pkg-config-for-libsolv.patch b/import-layers/yocto-poky/meta/recipes-devtools/opkg/opkg/0001-configure.ac-use-pkg-config-for-libsolv.patch deleted file mode 100644 index e67ec7479..000000000 --- a/import-layers/yocto-poky/meta/recipes-devtools/opkg/opkg/0001-configure.ac-use-pkg-config-for-libsolv.patch +++ /dev/null @@ -1,36 +0,0 @@ -From 2a43027f7ecf2bb3ce73f95bcf575c56bc495d07 Mon Sep 17 00:00:00 2001 -From: Alejandro del Castillo <alejandro.delcastillo@ni.com> -Date: Wed, 9 Dec 2015 17:38:05 -0600 -Subject: [PATCH] configure.ac: use pkg-config for libsolv - -Signed-off-by: Alejandro del Castillo <alejandro.delcastillo@ni.com> ---- - configure.ac | 12 +----------- - 1 file changed, 1 insertion(+), 11 deletions(-) - -diff --git a/configure.ac b/configure.ac -index 52e1025..d17dc5c 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -159,17 +159,7 @@ if test "x$want_solver" != "xno"; then - AC_MSG_ERROR(Specify which solver with --enable-solver=<SOLVER>)], - [libsolv], - [AC_MSG_RESULT(libsolv) -- -- SOLVER_CFLAGS="-I/usr/local/include/" -- SOLVER_LIBS="-lsolv -lsolvext" -- AC_CHECK_LIB([solv], -- [solver_solve], -- [], -- [AC_MSG_ERROR(libsolv not found)]) -- dnl TODO: remove previous 6 lines and uncomment line below to use -- dnl pkg-config once there is a release of libsolv with pkg-config: -- dnl PKG_CHECK_MODULES(SOLVER, libsolv) -- -+ PKG_CHECK_MODULES(SOLVER, libsolv) - AC_DEFINE(HAVE_SOLVER_LIBSOLV,1,[Define if you want to use libsolv])], - # default - [AC_MSG_RESULT(no) --- -1.9.1 - diff --git a/import-layers/yocto-poky/meta/recipes-devtools/opkg/opkg/0001-libsolv_solver_set_arch_policy-use-correct-logic-dur.patch b/import-layers/yocto-poky/meta/recipes-devtools/opkg/opkg/0001-libsolv_solver_set_arch_policy-use-correct-logic-dur.patch deleted file mode 100644 index 1ab1790d6..000000000 --- a/import-layers/yocto-poky/meta/recipes-devtools/opkg/opkg/0001-libsolv_solver_set_arch_policy-use-correct-logic-dur.patch +++ /dev/null @@ -1,35 +0,0 @@ -From 3e562bed7dced25eb3e9174ca9395324b6c873c1 Mon Sep 17 00:00:00 2001 -From: Alejandro del Castillo <alejandro.delcastillo@ni.com> -Date: Wed, 9 Dec 2015 13:36:14 -0600 -Subject: [PATCH] libsolv_solver_set_arch_policy: use correct logic during - archs resizing - -If there are more than INITIAL_ARCH_LIST_SIZE archs defined in the -configuration, libsolv_solver_set_arch_policy crashes due to flawed -logic when resizing the archs array. - -Signed-off-by: Alejandro del Castillo <alejandro.delcastillo@ni.com> ---- - libopkg/opkg_solver_libsolv.c | 6 ++++-- - 1 file changed, 4 insertions(+), 2 deletions(-) - -diff --git a/libopkg/opkg_solver_libsolv.c b/libopkg/opkg_solver_libsolv.c -index 1cdcf1f..b5af0fa 100644 ---- a/libopkg/opkg_solver_libsolv.c -+++ b/libopkg/opkg_solver_libsolv.c -@@ -66,8 +66,10 @@ static void libsolv_solver_set_arch_policy(libsolv_solver_t *libsolv_solver) - nv_pair_list_elt_t *arch_info; - - list_for_each_entry(arch_info, &opkg_config->arch_list.head, node) { -- if (arch_count > arch_list_size) -- archs = xrealloc(archs, arch_list_size *= 2); -+ if (arch_count >= arch_list_size) { -+ arch_list_size *= 2; -+ archs = xrealloc(archs, arch_list_size * sizeof(arch_data_t)); -+ } - - archs[arch_count].arch = ((nv_pair_t *)(arch_info->data))->name; - archs[arch_count].priority = atoi(((nv_pair_t *) --- -1.9.1 - diff --git a/import-layers/yocto-poky/meta/recipes-devtools/opkg/opkg_0.3.1.bb b/import-layers/yocto-poky/meta/recipes-devtools/opkg/opkg_0.3.3.bb index 577f49534..bce72fcd2 100644 --- a/import-layers/yocto-poky/meta/recipes-devtools/opkg/opkg_0.3.1.bb +++ b/import-layers/yocto-poky/meta/recipes-devtools/opkg/opkg_0.3.3.bb @@ -15,12 +15,10 @@ SRC_URI = "http://downloads.yoctoproject.org/releases/${BPN}/${BPN}-${PV}.tar.gz file://opkg-configure.service \ file://opkg.conf \ file://0001-opkg_conf-create-opkg.lock-in-run-instead-of-var-run.patch \ - file://0001-libsolv_solver_set_arch_policy-use-correct-logic-dur.patch \ - file://0001-configure.ac-use-pkg-config-for-libsolv.patch \ " -SRC_URI[md5sum] = "43735e5dc1ebf46bd6ce56a7cdfdc720" -SRC_URI[sha256sum] = "d2c6c02a8384ec21168a1f0a186cb5e9f577d1452f491d02ed3e56b2ea8b87df" +SRC_URI[md5sum] = "a4613038c8afc7d8d482f5c53f137bdf" +SRC_URI[sha256sum] = "19db9e73121a5e4c91fa228b0a6a4c55cc3591056130cfb3c66c30aa32f8d00e" inherit autotools pkgconfig systemd @@ -37,7 +35,7 @@ PACKAGECONFIG[ssl-curl] = "--enable-ssl-curl,--disable-ssl-curl,curl openssl" PACKAGECONFIG[openssl] = "--enable-openssl,--disable-openssl,openssl" PACKAGECONFIG[sha256] = "--enable-sha256,--disable-sha256" PACKAGECONFIG[pathfinder] = "--enable-pathfinder,--disable-pathfinder,pathfinder" -PACKAGECONFIG[libsolv] = "--enable-solver=libsolv,--disable-solver,libsolv" +PACKAGECONFIG[libsolv] = "--with-libsolv,--without-libsolv,libsolv" do_install_append () { install -d ${D}${sysconfdir}/opkg diff --git a/import-layers/yocto-poky/meta/recipes-devtools/orc/orc_0.4.24.bb b/import-layers/yocto-poky/meta/recipes-devtools/orc/orc_0.4.25.bb index 520f88d92..897493a7d 100644 --- a/import-layers/yocto-poky/meta/recipes-devtools/orc/orc_0.4.24.bb +++ b/import-layers/yocto-poky/meta/recipes-devtools/orc/orc_0.4.25.bb @@ -5,10 +5,10 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=1400bd9d09e8af56b9ec982b3d85797e" SRC_URI = "http://gstreamer.freedesktop.org/src/orc/orc-${PV}.tar.xz" -SRC_URI[md5sum] = "9e793ec34c0e20339659dd4bbbf62135" -SRC_URI[sha256sum] = "338cd493b5247300149821c6312bdf7422a3593ae98691fc75d7e4fe727bd39b" +SRC_URI[md5sum] = "8582a28b15f53110c88d8043d9f55bcf" +SRC_URI[sha256sum] = "c1b1d54a58f26d483f0b3881538984789fe5d5460ab8fab74a1cacbd3d1c53d1" -inherit autotools pkgconfig +inherit autotools pkgconfig gtk-doc BBCLASSEXTEND = "native nativesdk" diff --git a/import-layers/yocto-poky/meta/recipes-devtools/ossp-uuid/ossp-uuid/install-pc.patch b/import-layers/yocto-poky/meta/recipes-devtools/ossp-uuid/ossp-uuid/install-pc.patch index 04222cbf7..63b80f6a1 100644 --- a/import-layers/yocto-poky/meta/recipes-devtools/ossp-uuid/ossp-uuid/install-pc.patch +++ b/import-layers/yocto-poky/meta/recipes-devtools/ossp-uuid/ossp-uuid/install-pc.patch @@ -2,7 +2,7 @@ uuid.pc is generated at build time so should be installed from the current directory, and not $S. Upstream-Status: Pending [should be submitted] -Signed-Off-By: Ross Burton <ross.burton@intel.com> +Signed-off-by: Ross Burton <ross.burton@intel.com> Index: uuid-1.6.2/Makefile.in =================================================================== diff --git a/import-layers/yocto-poky/meta/recipes-devtools/ossp-uuid/ossp-uuid_1.6.2.bb b/import-layers/yocto-poky/meta/recipes-devtools/ossp-uuid/ossp-uuid_1.6.2.bb index 08926ba6b..85a1bcf5c 100644 --- a/import-layers/yocto-poky/meta/recipes-devtools/ossp-uuid/ossp-uuid_1.6.2.bb +++ b/import-layers/yocto-poky/meta/recipes-devtools/ossp-uuid/ossp-uuid_1.6.2.bb @@ -16,8 +16,9 @@ LIC_FILES_CHKSUM = "file://README;beginline=30;endline=55;md5=b394fadb039bbfca6a file://uuid_md5.c;beginline=1;endline=28;md5=9c1f4b2218546deae24c91be1dcf00dd" PR = "r2" +UPSTREAM_CHECK_URI = "${DEBIAN_MIRROR}/main/o/ossp-uuid/" -SRC_URI = "${DEBIAN_MIRROR}/main/o/${BPN}/${BPN}_${PV}.orig.tar.gz \ +SRC_URI = "http://snapshot.debian.org/archive/debian/20160728T043443Z/pool/main/o/${BPN}/${BPN}_${PV}.orig.tar.gz \ file://0001-Change-library-name.patch \ file://0002-uuid-preserve-m-option-status-in-v-option-handling.patch \ file://0003-Fix-whatis-entries.patch \ diff --git a/import-layers/yocto-poky/meta/recipes-devtools/packagegroups/packagegroup-core-device-devel.bb b/import-layers/yocto-poky/meta/recipes-devtools/packagegroups/packagegroup-core-device-devel.bb index e83186005..edee474ec 100644 --- a/import-layers/yocto-poky/meta/recipes-devtools/packagegroups/packagegroup-core-device-devel.bb +++ b/import-layers/yocto-poky/meta/recipes-devtools/packagegroups/packagegroup-core-device-devel.bb @@ -1,5 +1,4 @@ SUMMARY = "Provides a small set of tools for development on the device" -LICENSE = "MIT" PR = "r1" @@ -11,8 +10,7 @@ RCONFLICTS_${PN} = "qemu-config" RDEPENDS_${PN} = "\ distcc-config \ - oprofileui-server \ nfs-export-root \ bash \ + binutils-symlinks \ " - diff --git a/import-layers/yocto-poky/meta/recipes-devtools/patchelf/patchelf/Increase-maxSize-to-64MB.patch b/import-layers/yocto-poky/meta/recipes-devtools/patchelf/patchelf/Increase-maxSize-to-64MB.patch new file mode 100644 index 000000000..49050a18d --- /dev/null +++ b/import-layers/yocto-poky/meta/recipes-devtools/patchelf/patchelf/Increase-maxSize-to-64MB.patch @@ -0,0 +1,46 @@ +From e3658740ec100e4c8cf83295460b032979e1a99a Mon Sep 17 00:00:00 2001 +From: Fabio Berton <fabio.berton@ossystems.com.br> +Date: Fri, 9 Sep 2016 18:21:32 -0300 +Subject: [PATCH] Increase maxSize to 64MB +Organization: O.S. Systems Software LTDA. + +Fix error: + +/ +|ERROR: qemu-native-2.5.0-r1 do_populate_sysroot_setscene: '('patchelf-uninative', +|'--set-interpreter', '../build/tmp/sysroots-uninative/x86_64-linux/lib/ +|ld-linux-x86-64.so.2', '../build/tmp/work/x86_64-linux/qemu-native/2.5.0-r1/ +|sstate-install-populate_sysroot/x86_64-linux/usr/bin/qemu-mips64')' +|failed with exit code 1 and the following output: +|warning: working around a Linux kernel bug by creating a hole of 36032512 +|bytes in ‘../build/tmp/work/x86_64-linux/qemu-native/2.5.0-r1/ +|sstate-install-populate_sysroot/x86_64-linux/usr/bin/qemu-mips64’ +|maximum file size exceeded +\ + +Similar issue is discussed here: +https://github.com/NixOS/patchelf/issues/47 + +Upstream-Status: Inappropriate [embedded specific] + +Signed-off-by: Fabio Berton <fabio.berton@ossystems.com.br> +--- + src/patchelf.cc | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/src/patchelf.cc b/src/patchelf.cc +index a59c12d..0fd7355 100644 +--- a/src/patchelf.cc ++++ b/src/patchelf.cc +@@ -279,7 +279,7 @@ static void readFile(string fileName) + struct stat st; + if (stat(fileName.c_str(), &st) != 0) error("stat"); + fileSize = st.st_size; +- maxSize = fileSize + 32 * 1024 * 1024; ++ maxSize = fileSize + 64 * 1024 * 1024; + + contents = (unsigned char *) malloc(fileSize + maxSize); + if (!contents) abort(); +-- +2.1.4 + diff --git a/import-layers/yocto-poky/meta/recipes-devtools/patchelf/patchelf/Skip-empty-section-fixes-66.patch b/import-layers/yocto-poky/meta/recipes-devtools/patchelf/patchelf/Skip-empty-section-fixes-66.patch new file mode 100644 index 000000000..9ee8a554a --- /dev/null +++ b/import-layers/yocto-poky/meta/recipes-devtools/patchelf/patchelf/Skip-empty-section-fixes-66.patch @@ -0,0 +1,30 @@ +From 73526cb546ae6b00ea6169e40b01fb7b5f0dbb50 Mon Sep 17 00:00:00 2001 +From: Fabio Berton <fabio.berton@ossystems.com.br> +Date: Thu, 28 Jul 2016 11:05:06 -0300 +Subject: [PATCH] Skip empty section (fixes #66) +Organization: O.S. Systems Software LTDA. + +Upstream-Status: Pending + +Signed-off-by: Fabio Berton <fabio.berton@ossystems.com.br> +--- + src/patchelf.cc | 3 +++ + 1 file changed, 3 insertions(+) + +diff --git a/src/patchelf.cc b/src/patchelf.cc +index 136098f..2677a26 100644 +--- a/src/patchelf.cc ++++ b/src/patchelf.cc +@@ -684,6 +684,9 @@ void ElfFile<ElfFileParamNames>::rewriteSectionsExecutable() + for (unsigned int i = 1; i <= lastReplaced; ++i) { + Elf_Shdr & shdr(shdrs[i]); + string sectionName = getSectionName(shdr); ++ if (sectionName == "") { ++ continue; ++ } + debug("looking at section `%s'\n", sectionName.c_str()); + /* !!! Why do we stop after a .dynstr section? I can't + remember! */ +-- +2.1.4 + diff --git a/import-layers/yocto-poky/meta/recipes-devtools/patchelf/patchelf/handle-read-only-files.patch b/import-layers/yocto-poky/meta/recipes-devtools/patchelf/patchelf/handle-read-only-files.patch new file mode 100644 index 000000000..9fafec4b5 --- /dev/null +++ b/import-layers/yocto-poky/meta/recipes-devtools/patchelf/patchelf/handle-read-only-files.patch @@ -0,0 +1,53 @@ +From 2a603acb65993698c21f1c6eb7664f93ad830d52 Mon Sep 17 00:00:00 2001 +From: Fabio Berton <fabio.berton@ossystems.com.br> +Date: Fri, 9 Sep 2016 16:00:42 -0300 +Subject: [PATCH] handle read-only files +Organization: O.S. Systems Software LTDA. + +Patch from: +https://github.com/darealshinji/patchelf/commit/40e66392bc4b96e9b4eda496827d26348a503509 + +Upstream-Status: Pending + +Signed-off-by: Fabio Berton <fabio.berton@ossystems.com.br> +--- + src/patchelf.cc | 16 +++++++++++++++- + 1 file changed, 15 insertions(+), 1 deletion(-) + +diff --git a/src/patchelf.cc b/src/patchelf.cc +index 136098f..aea360e 100644 +--- a/src/patchelf.cc ++++ b/src/patchelf.cc +@@ -388,7 +388,17 @@ void ElfFile<ElfFileParamNames>::sortShdrs() + + static void writeFile(string fileName) + { +- int fd = open(fileName.c_str(), O_TRUNC | O_WRONLY); ++ struct stat st; ++ int fd; ++ ++ if (stat(fileName.c_str(), &st) != 0) ++ error("stat"); ++ ++ if (chmod(fileName.c_str(), 0600) != 0) ++ error("chmod"); ++ ++ fd = open(fileName.c_str(), O_TRUNC | O_WRONLY); ++ + if (fd == -1) + error("open"); + +@@ -397,6 +407,10 @@ static void writeFile(string fileName) + + if (close(fd) != 0) + error("close"); ++ ++ if (chmod(fileName.c_str(), st.st_mode) != 0) ++ error("chmod"); ++ + } + + +-- +2.1.4 + diff --git a/import-layers/yocto-poky/meta/recipes-devtools/patchelf/patchelf/maxsize.patch b/import-layers/yocto-poky/meta/recipes-devtools/patchelf/patchelf/maxsize.patch deleted file mode 100644 index cc04a89e6..000000000 --- a/import-layers/yocto-poky/meta/recipes-devtools/patchelf/patchelf/maxsize.patch +++ /dev/null @@ -1,30 +0,0 @@ -From f6886c2c33a1cf8771163919f3d20f6340c0ce38 Mon Sep 17 00:00:00 2001 -From: Eelco Dolstra <eelco.dolstra@logicblox.com> -Date: Fri, 10 Jul 2015 18:12:37 +0200 -Subject: [PATCH] Quick fix for #47 - -https://github.com/NixOS/patchelf/issues/47 - -Avoid issues with holes in binaries such as qemu-pcc from qemu-native. - -Upstream-Status: Submitted -RP -2016/2/3 - ---- - src/patchelf.cc | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/src/patchelf.cc b/src/patchelf.cc -index 8566ed9..df75593 100644 ---- a/src/patchelf.cc -+++ b/src/patchelf.cc -@@ -248,7 +248,7 @@ static void readFile(string fileName, mode_t * fileMode) - if (stat(fileName.c_str(), &st) != 0) error("stat"); - fileSize = st.st_size; - *fileMode = st.st_mode; -- maxSize = fileSize + 8 * 1024 * 1024; -+ maxSize = fileSize + 64 * 1024 * 1024; - - contents = (unsigned char *) malloc(fileSize + maxSize); - if (!contents) abort();
\ No newline at end of file diff --git a/import-layers/yocto-poky/meta/recipes-devtools/patchelf/patchelf_0.8.bb b/import-layers/yocto-poky/meta/recipes-devtools/patchelf/patchelf_0.9.bb index 8484a7e58..54e654bdc 100644 --- a/import-layers/yocto-poky/meta/recipes-devtools/patchelf/patchelf_0.8.bb +++ b/import-layers/yocto-poky/meta/recipes-devtools/patchelf/patchelf_0.9.bb @@ -1,10 +1,14 @@ SRC_URI = "http://nixos.org/releases/${BPN}/${BPN}-${PV}/${BPN}-${PV}.tar.bz2 \ - file://maxsize.patch" + file://Skip-empty-section-fixes-66.patch \ + file://handle-read-only-files.patch \ + file://Increase-maxSize-to-64MB.patch \ +" + LICENSE = "GPLv3" SUMMARY = "Tool to allow editing of RPATH and interpreter fields in ELF binaries" -SRC_URI[md5sum] = "5b151e3c83b31f5931b4a9fc01635bfd" -SRC_URI[sha256sum] = "c99f84d124347340c36707089ec8f70530abd56e7827c54d506eb4cc097a17e7" +SRC_URI[md5sum] = "d02687629c7e1698a486a93a0d607947" +SRC_URI[sha256sum] = "a0f65c1ba148890e9f2f7823f4bedf7ecad5417772f64f994004f59a39014f83" LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504" diff --git a/import-layers/yocto-poky/meta/recipes-devtools/pax-utils/pax-utils_1.1.5.bb b/import-layers/yocto-poky/meta/recipes-devtools/pax-utils/pax-utils_1.1.6.bb index a887c037d..5cc546301 100644 --- a/import-layers/yocto-poky/meta/recipes-devtools/pax-utils/pax-utils_1.1.5.bb +++ b/import-layers/yocto-poky/meta/recipes-devtools/pax-utils/pax-utils_1.1.6.bb @@ -10,8 +10,8 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=eb723b61539feef013de476e68b5c50a" SRC_URI = "http://gentoo.osuosl.org/distfiles/pax-utils-${PV}.tar.xz \ " -SRC_URI[md5sum] = "bc3614322eaf88f167a608ae85d6b207" -SRC_URI[sha256sum] = "2945b3e4df2e0dc95800bfbd3d88ab2243b2ee4ff064bbfc75734f6d9d986a89" +SRC_URI[md5sum] = "96f56a5a10ed50f2448c5ccebd27764f" +SRC_URI[sha256sum] = "f5436c517bea40f7035ec29a6f34034c739b943f2e3a080d76df5dfd7fd41b12" RDEPENDS_${PN} += "bash" diff --git a/import-layers/yocto-poky/meta/recipes-devtools/perl/libxml-parser-perl_2.44.bb b/import-layers/yocto-poky/meta/recipes-devtools/perl/libxml-parser-perl_2.44.bb index 9561a5955..3acd82686 100644 --- a/import-layers/yocto-poky/meta/recipes-devtools/perl/libxml-parser-perl_2.44.bb +++ b/import-layers/yocto-poky/meta/recipes-devtools/perl/libxml-parser-perl_2.44.bb @@ -3,7 +3,7 @@ SECTION = "libs" LICENSE = "Artistic-1.0 | GPL-1.0+" LIC_FILES_CHKSUM = "file://README;beginline=2;endline=6;md5=c8767d7516229f07b26e42d1cf8b51f1" -DEPENDS += "expat expat-native" +DEPENDS += "expat" SRC_URI = "http://www.cpan.org/modules/by-module/XML/XML-Parser-${PV}.tar.gz" SRC_URI[md5sum] = "af4813fe3952362451201ced6fbce379" @@ -32,4 +32,3 @@ do_compile_class-native() { } BBCLASSEXTEND="native" - diff --git a/import-layers/yocto-poky/meta/recipes-devtools/perl/perl-native_5.22.1.bb b/import-layers/yocto-poky/meta/recipes-devtools/perl/perl-native_5.22.1.bb index ed8222f24..1c21522be 100644 --- a/import-layers/yocto-poky/meta/recipes-devtools/perl/perl-native_5.22.1.bb +++ b/import-layers/yocto-poky/meta/recipes-devtools/perl/perl-native_5.22.1.bb @@ -11,6 +11,7 @@ SRC_URI += "\ file://debian/errno_ver.diff \ file://dynaloaderhack.patch \ file://perl-PathTools-don-t-filter-out-blib-from-INC.patch \ + file://perl-remove-nm-from-libswanted.patch \ " SRC_URI[md5sum] = "6671e4829cbaf9cecafa9a84f141b0a3" diff --git a/import-layers/yocto-poky/meta/recipes-devtools/perl/perl-ptest.inc b/import-layers/yocto-poky/meta/recipes-devtools/perl/perl-ptest.inc index 948ea7cdd..d136c5c0e 100644 --- a/import-layers/yocto-poky/meta/recipes-devtools/perl/perl-ptest.inc +++ b/import-layers/yocto-poky/meta/recipes-devtools/perl/perl-ptest.inc @@ -5,10 +5,11 @@ SRC_URI += "file://run-ptest \ do_install_ptest () { mkdir -p ${D}${PTEST_PATH} + sed -e "s:\/usr\/local:${bindir}:g" -i cpan/version/t/* sed -e "s:\/opt:\/usr:" -i Porting/add-package.pl sed -e "s:\/local\/gnu\/:\/:" -i hints/cxux.sh - tar -cf - * --exclude \*.o --exclude libperl.so --exclude Makefile --exclude makefile --exclude hostperl \ - --exclude miniperl --exclude generate_uudmap --exclude patches | ( cd ${D}${PTEST_PATH} && tar -xf - ) + tar -c --exclude=\*.o --exclude=libperl.so --exclude=Makefile --exclude=makefile --exclude=hostperl \ + --exclude=miniperl --exclude=generate_uudmap --exclude=patches * | ( cd ${D}${PTEST_PATH} && tar -x ) sed -i -e "s,${D},,g" \ -e "s,--sysroot=${STAGING_DIR_HOST},,g" \ @@ -34,4 +35,4 @@ python populate_packages_prepend() { '${PN}-ptest%s', '%s', recursive=True, match_path=True) } -RDEPENDS_${PN}-ptest += "${PN}-modules ${PN}-doc ${PN}-misc sed" +RDEPENDS_${PN}-ptest += "${PN}-modules ${PN}-doc ${PN}-misc sed libssp" diff --git a/import-layers/yocto-poky/meta/recipes-devtools/perl/perl-rdepends_5.22.1.inc b/import-layers/yocto-poky/meta/recipes-devtools/perl/perl-rdepends_5.22.1.inc index 830ecce53..2c497fe6a 100644 --- a/import-layers/yocto-poky/meta/recipes-devtools/perl/perl-rdepends_5.22.1.inc +++ b/import-layers/yocto-poky/meta/recipes-devtools/perl/perl-rdepends_5.22.1.inc @@ -18,8 +18,9 @@ RDEPENDS_${PN}-pod += "perl" # Some additional dependencies that the above doesn't manage to figure out RDEPENDS_${PN}-module-file-spec += "${PN}-module-file-spec-unix" -DEPENDS_${PN}-module-math-bigint += "${PN}-module-math-bigint-calc" +RDEPENDS_${PN}-module-math-bigint += "${PN}-module-math-bigint-calc" RDEPENDS_${PN}-module-thread-queue += "${PN}-module-attributes" +RDEPENDS_${PN}-module-overload += "${PN}-module-overloading" # Depends list diff --git a/import-layers/yocto-poky/meta/recipes-devtools/perl/perl/config.sh b/import-layers/yocto-poky/meta/recipes-devtools/perl/perl/config.sh index 59e016e4d..b2a7f2cc4 100644 --- a/import-layers/yocto-poky/meta/recipes-devtools/perl/perl/config.sh +++ b/import-layers/yocto-poky/meta/recipes-devtools/perl/perl/config.sh @@ -8,7 +8,7 @@ # Package name : perl5 # Source directory : . -# Configuration time: Thu Jun 18 05:37:27 UTC 2015 +# Configuration time: Fri May 6 20:13:46 PDT 2016 # Configured by : Open Embedded # Target system : linux qemux86-64 3.19.5-yocto-standard #1 smp preempt tue jun 16 00:28:17 pdt 2015 x86_64 gnulinux @@ -66,7 +66,7 @@ aphostname='' api_revision='5' api_subversion='0' api_version='22' -api_versionstring='5.22.1' +api_versionstring='5.22.0' ar='ar' archlib='@LIBDIR@/perl/5.22.1/@ARCH@-thread-multi' archlibexp='@STAGINGDIR@@LIBDIR@/perl/5.22.1/@ARCH@-thread-multi' @@ -96,7 +96,7 @@ ccsymbols='' ccversion='' cf_by='Open Embedded' cf_email='Open Embedded@localhost.localdomain' -cf_time='Thu Jun 18 05:37:27 UTC 2015' +cf_time='Fri May 6 20:13:46 PDT 2016' charbits='8' charsize='1' chgrp='' @@ -1194,7 +1194,7 @@ vendorprefixexp='@EXECPREFIX@' vendorscript='@USRBIN@' vendorscriptexp='@USRBIN@' version='5.22.1' -version_patchlevel_string='version 22 subversion 0' +version_patchlevel_string='version 22 subversion 1' versiononly='undef' vi='' xlibpth='@LIBDIR@/386 @BASELIBDIR@386' @@ -1204,7 +1204,7 @@ zcat='' zip='zip' PERL_REVISION=5 PERL_VERSION=22 -PERL_SUBVERSION=0 +PERL_SUBVERSION=1 PERL_API_REVISION=5 PERL_API_VERSION=22 PERL_API_SUBVERSION=0 diff --git a/import-layers/yocto-poky/meta/recipes-devtools/perl/perl/fix_bad_rpath.patch b/import-layers/yocto-poky/meta/recipes-devtools/perl/perl/fix_bad_rpath.patch index 69ac43477..76501283e 100644 --- a/import-layers/yocto-poky/meta/recipes-devtools/perl/perl/fix_bad_rpath.patch +++ b/import-layers/yocto-poky/meta/recipes-devtools/perl/perl/fix_bad_rpath.patch @@ -1,5 +1,5 @@ Upstream-Status:Inappropriate [embedded specific] -Signed-Off-By: Nitin A Kamble <nitin.a.kamble@intel.com> +Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com> 2011/07/01 Fix these Package QA warnings before they are converted into fetal errors: diff --git a/import-layers/yocto-poky/meta/recipes-devtools/perl/perl/perl-configure.sh b/import-layers/yocto-poky/meta/recipes-devtools/perl/perl/perl-configure.sh index e72ce49f9..25e7f8b96 100755 --- a/import-layers/yocto-poky/meta/recipes-devtools/perl/perl/perl-configure.sh +++ b/import-layers/yocto-poky/meta/recipes-devtools/perl/perl/perl-configure.sh @@ -15,7 +15,7 @@ echo sh Configure -des \ -Dprefix=/usr \ -Dvendorprefix=/usr \ -Dsiteprefix=/usr \ - -Dotherlibdirs=/usr/lib/perl5/5.12.3 \ + -Dotherlibdirs=/usr/lib/perl5/5.22.1 \ -Duseshrplib \ -Dusethreads \ -Duseithreads \ diff --git a/import-layers/yocto-poky/meta/recipes-devtools/perl/perl/perl-fix-CVE-2015-8607.patch b/import-layers/yocto-poky/meta/recipes-devtools/perl/perl/perl-fix-CVE-2015-8607.patch new file mode 100644 index 000000000..7b4a0015c --- /dev/null +++ b/import-layers/yocto-poky/meta/recipes-devtools/perl/perl/perl-fix-CVE-2015-8607.patch @@ -0,0 +1,74 @@ +From 652c8d4852a69f1bb4d387946f9b76350a1f0d0e Mon Sep 17 00:00:00 2001 +From: Tony Cook <tony@develop-help.com> +Date: Tue, 15 Dec 2015 10:56:54 +1100 +Subject: [PATCH] perl: fix CVE-2015-8607 + +ensure File::Spec::canonpath() preserves taint + +Previously the unix specific XS implementation of canonpath() would +return an untainted path when supplied a tainted path. + +For the empty string case, newSVpvs() already sets taint as needed on +its result. + +This issue was assigned CVE-2015-8607. [perl #126862] + +Backport patch from http://perl5.git.perl.org/perl.git/commitdiff/0b6f93036de171c12ba95d415e264d9cf7f4e1fd + +Upstream-Status: Backport +CVE: CVE-2015-8607 +Signed-off-by: Mingli Yu <Mingli.Yu@windriver.com> +--- + dist/PathTools/Cwd.xs | 1 + + dist/PathTools/t/taint.t | 19 ++++++++++++++++++- + 2 files changed, 19 insertions(+), 1 deletion(-) + +diff --git a/dist/PathTools/Cwd.xs b/dist/PathTools/Cwd.xs +index 9d4dcf0..3d018dc 100644 +--- a/dist/PathTools/Cwd.xs ++++ b/dist/PathTools/Cwd.xs +@@ -535,6 +535,7 @@ THX_unix_canonpath(pTHX_ SV *path) + *o = 0; + SvPOK_on(retval); + SvCUR_set(retval, o - SvPVX(retval)); ++ SvTAINT(retval); + return retval; + } + +diff --git a/dist/PathTools/t/taint.t b/dist/PathTools/t/taint.t +index 309b3e5..48f8c5b 100644 +--- a/dist/PathTools/t/taint.t ++++ b/dist/PathTools/t/taint.t +@@ -12,7 +12,7 @@ use Test::More; + BEGIN { + plan( + ${^TAINT} +- ? (tests => 17) ++ ? (tests => 21) + : (skip_all => "A perl without taint support") + ); + } +@@ -34,3 +34,20 @@ foreach my $func (@Functions) { + + # Previous versions of Cwd tainted $^O + is !tainted($^O), 1, "\$^O should not be tainted"; ++ ++{ ++ # [perl #126862] canonpath() loses taint ++ my $tainted = substr($ENV{PATH}, 0, 0); ++ # yes, getcwd()'s result should be tainted, and is tested above ++ # but be sure ++ ok tainted(File::Spec->canonpath($tainted . Cwd::getcwd)), ++ "canonpath() keeps taint on non-empty string"; ++ ok tainted(File::Spec->canonpath($tainted)), ++ "canonpath() keeps taint on empty string"; ++ ++ (Cwd::getcwd() =~ /^(.*)/); ++ my $untainted = $1; ++ ok !tainted($untainted), "make sure our untainted value is untainted"; ++ ok !tainted(File::Spec->canonpath($untainted)), ++ "canonpath() doesn't add taint to untainted string"; ++} +-- +2.8.1 + diff --git a/import-layers/yocto-poky/meta/recipes-devtools/perl/perl/perl-fix-CVE-2016-1238.patch b/import-layers/yocto-poky/meta/recipes-devtools/perl/perl/perl-fix-CVE-2016-1238.patch new file mode 100644 index 000000000..730ef178a --- /dev/null +++ b/import-layers/yocto-poky/meta/recipes-devtools/perl/perl/perl-fix-CVE-2016-1238.patch @@ -0,0 +1,352 @@ +From 9987be3d24286d96d9dccec0433253ee8ad894b4 Mon Sep 17 00:00:00 2001 +From: Tony Cook <tony@develop-help.com> +Date: Tue, 21 Jun 2016 10:02:02 +1000 +Subject: [PATCH] perl: fix CVE-2016-1238 + +(perl #127834) remove . from the end of @INC if complex modules are loaded + +While currently Encode and Storable are know to attempt to load modules +not included in the core, updates to other modules may lead to those +also attempting to load new modules, so be safe and remove . for those +as well. + +Backport patch from http://perl5.git.perl.org/perl.git/commitdiff/cee96d52c39b1e7b36e1c62d38bcd8d86e9a41ab + +Upstream-Status: Backport +CVE: CVE-2016-1238 +Signed-off-by: Mingli Yu <Mingli.Yu@windriver.com> +--- + cpan/Archive-Tar/bin/ptar | 1 + + cpan/Archive-Tar/bin/ptardiff | 1 + + cpan/Archive-Tar/bin/ptargrep | 1 + + cpan/CPAN/scripts/cpan | 1 + + cpan/Digest-SHA/shasum | 1 + + cpan/Encode/bin/enc2xs | 1 + + cpan/Encode/bin/encguess | 1 + + cpan/Encode/bin/piconv | 1 + + cpan/Encode/bin/ucmlint | 1 + + cpan/Encode/bin/unidump | 1 + + cpan/ExtUtils-MakeMaker/bin/instmodsh | 1 + + cpan/IO-Compress/bin/zipdetails | 1 + + cpan/JSON-PP/bin/json_pp | 1 + + cpan/Test-Harness/bin/prove | 1 + + dist/ExtUtils-ParseXS/lib/ExtUtils/xsubpp | 1 + + dist/Module-CoreList/corelist | 1 + + ext/Pod-Html/bin/pod2html | 1 + + utils/c2ph.PL | 1 + + utils/h2ph.PL | 2 ++ + utils/h2xs.PL | 2 ++ + utils/libnetcfg.PL | 1 + + utils/perlbug.PL | 1 + + utils/perldoc.PL | 5 ++++- + utils/perlivp.PL | 2 ++ + utils/splain.PL | 6 ++++++ + 25 files changed, 36 insertions(+), 1 deletion(-) + +diff --git a/cpan/Archive-Tar/bin/ptar b/cpan/Archive-Tar/bin/ptar +index 0eaffa7..9dc6402 100644 +--- a/cpan/Archive-Tar/bin/ptar ++++ b/cpan/Archive-Tar/bin/ptar +@@ -1,6 +1,7 @@ + #!/usr/bin/perl + use strict; + ++BEGIN { pop @INC if $INC[-1] eq '.' } + use File::Find; + use Getopt::Std; + use Archive::Tar; +diff --git a/cpan/Archive-Tar/bin/ptardiff b/cpan/Archive-Tar/bin/ptardiff +index 66bd859..4668fa6 100644 +--- a/cpan/Archive-Tar/bin/ptardiff ++++ b/cpan/Archive-Tar/bin/ptardiff +@@ -1,5 +1,6 @@ + #!/usr/bin/perl + ++BEGIN { pop @INC if $INC[-1] eq '.' } + use strict; + use Archive::Tar; + use Getopt::Std; +diff --git a/cpan/Archive-Tar/bin/ptargrep b/cpan/Archive-Tar/bin/ptargrep +index 1a320f1..8dc6b4f 100644 +--- a/cpan/Archive-Tar/bin/ptargrep ++++ b/cpan/Archive-Tar/bin/ptargrep +@@ -4,6 +4,7 @@ + # archive. See 'ptargrep --help' for more documentation. + # + ++BEGIN { pop @INC if $INC[-1] eq '.' } + use strict; + use warnings; + +diff --git a/cpan/CPAN/scripts/cpan b/cpan/CPAN/scripts/cpan +index 5f4320e..ccba47e 100644 +--- a/cpan/CPAN/scripts/cpan ++++ b/cpan/CPAN/scripts/cpan +@@ -1,5 +1,6 @@ + #!/usr/local/bin/perl + ++BEGIN { pop @INC if $INC[-1] eq '.' } + use strict; + use vars qw($VERSION); + +diff --git a/cpan/Digest-SHA/shasum b/cpan/Digest-SHA/shasum +index 14ddd60..62a2b0e 100644 +--- a/cpan/Digest-SHA/shasum ++++ b/cpan/Digest-SHA/shasum +@@ -13,6 +13,7 @@ + ## "-0" option for reading bit strings, and + ## "-p" option for portable digests (to be deprecated). + ++BEGIN { pop @INC if $INC[-1] eq '.' } + use strict; + use warnings; + use Fcntl; +diff --git a/cpan/Encode/bin/enc2xs b/cpan/Encode/bin/enc2xs +index 4d64e38..473a15c 100644 +--- a/cpan/Encode/bin/enc2xs ++++ b/cpan/Encode/bin/enc2xs +@@ -4,6 +4,7 @@ BEGIN { + # with $ENV{PERL_CORE} set + # In case we need it in future... + require Config; import Config; ++ pop @INC if $INC[-1] eq '.'; + } + use strict; + use warnings; +diff --git a/cpan/Encode/bin/encguess b/cpan/Encode/bin/encguess +index 5d7ac80..0be5c7c 100644 +--- a/cpan/Encode/bin/encguess ++++ b/cpan/Encode/bin/encguess +@@ -1,5 +1,6 @@ + #!./perl + use 5.008001; ++BEGIN { pop @INC if $INC[-1] eq '.' } + use strict; + use warnings; + use Encode; +diff --git a/cpan/Encode/bin/piconv b/cpan/Encode/bin/piconv +index c1dad9e..60b2a59 100644 +--- a/cpan/Encode/bin/piconv ++++ b/cpan/Encode/bin/piconv +@@ -1,6 +1,7 @@ + #!./perl + # $Id: piconv,v 2.7 2014/05/31 09:48:48 dankogai Exp $ + # ++BEGIN { pop @INC if $INC[-1] eq '.' } + use 5.8.0; + use strict; + use Encode ; +diff --git a/cpan/Encode/bin/ucmlint b/cpan/Encode/bin/ucmlint +index 622376d..25e0d67 100644 +--- a/cpan/Encode/bin/ucmlint ++++ b/cpan/Encode/bin/ucmlint +@@ -3,6 +3,7 @@ + # $Id: ucmlint,v 2.2 2008/03/12 09:51:11 dankogai Exp $ + # + ++BEGIN { pop @INC if $INC[-1] eq '.' } + use strict; + our $VERSION = do { my @r = (q$Revision: 2.2 $ =~ /\d+/g); sprintf "%d."."%02d" x $#r, @r }; + +diff --git a/cpan/Encode/bin/unidump b/cpan/Encode/bin/unidump +index ae0da30..f190827 100644 +--- a/cpan/Encode/bin/unidump ++++ b/cpan/Encode/bin/unidump +@@ -1,5 +1,6 @@ + #!./perl + ++BEGIN { pop @INC if $INC[-1] eq '.' } + use strict; + use Encode; + use Getopt::Std; +diff --git a/cpan/ExtUtils-MakeMaker/bin/instmodsh b/cpan/ExtUtils-MakeMaker/bin/instmodsh +index e551434..b3b109f 100644 +--- a/cpan/ExtUtils-MakeMaker/bin/instmodsh ++++ b/cpan/ExtUtils-MakeMaker/bin/instmodsh +@@ -1,5 +1,6 @@ + #!/usr/bin/perl -w + ++BEGIN { pop @INC if $INC[-1] eq '.' } + use strict; + use IO::File; + use ExtUtils::Packlist; +diff --git a/cpan/IO-Compress/bin/zipdetails b/cpan/IO-Compress/bin/zipdetails +index 0249850..1b9c70a 100644 +--- a/cpan/IO-Compress/bin/zipdetails ++++ b/cpan/IO-Compress/bin/zipdetails +@@ -5,6 +5,7 @@ + # Display info on the contents of a Zip file + # + ++BEGIN { pop @INC if $INC[-1] eq '.' } + use strict; + use warnings ; + +diff --git a/cpan/JSON-PP/bin/json_pp b/cpan/JSON-PP/bin/json_pp +index df9d243..896cd2f 100644 +--- a/cpan/JSON-PP/bin/json_pp ++++ b/cpan/JSON-PP/bin/json_pp +@@ -1,5 +1,6 @@ + #!/usr/bin/perl + ++BEGIN { pop @INC if $INC[-1] eq '.' } + use strict; + use Getopt::Long; + +diff --git a/cpan/Test-Harness/bin/prove b/cpan/Test-Harness/bin/prove +index 6637cc4..d71b238 100644 +--- a/cpan/Test-Harness/bin/prove ++++ b/cpan/Test-Harness/bin/prove +@@ -1,5 +1,6 @@ + #!/usr/bin/perl -w + ++BEGIN { pop @INC if $INC[-1] eq '.' } + use strict; + use warnings; + use App::Prove; +diff --git a/dist/ExtUtils-ParseXS/lib/ExtUtils/xsubpp b/dist/ExtUtils-ParseXS/lib/ExtUtils/xsubpp +index e2ac71a..d596cdf 100644 +--- a/dist/ExtUtils-ParseXS/lib/ExtUtils/xsubpp ++++ b/dist/ExtUtils-ParseXS/lib/ExtUtils/xsubpp +@@ -1,5 +1,6 @@ + #!perl + use 5.006; ++BEGIN { pop @INC if $INC[-1] eq '.' } + use strict; + eval { + require ExtUtils::ParseXS; +diff --git a/dist/Module-CoreList/corelist b/dist/Module-CoreList/corelist +index aa4a945..bbe61cc 100644 +--- a/dist/Module-CoreList/corelist ++++ b/dist/Module-CoreList/corelist +@@ -130,6 +130,7 @@ requested perl versions. + + =cut + ++BEGIN { pop @INC if $INC[-1] eq '.' } + use Module::CoreList; + use Getopt::Long qw(:config no_ignore_case); + use Pod::Usage; +diff --git a/ext/Pod-Html/bin/pod2html b/ext/Pod-Html/bin/pod2html +index b022859..7d1d232 100644 +--- a/ext/Pod-Html/bin/pod2html ++++ b/ext/Pod-Html/bin/pod2html +@@ -216,6 +216,7 @@ This program is distributed under the Artistic License. + + =cut + ++BEGIN { pop @INC if $INC[-1] eq '.' } + use Pod::Html; + + pod2html @ARGV; +diff --git a/utils/c2ph.PL b/utils/c2ph.PL +index 13389ec..cef0b5c 100644 +--- a/utils/c2ph.PL ++++ b/utils/c2ph.PL +@@ -280,6 +280,7 @@ Anyway, here it is. Should run on perl v4 or greater. Maybe less. + + $RCSID = '$Id: c2ph,v 1.7 95/10/28 10:41:47 tchrist Exp Locker: tchrist $'; + ++BEGIN { pop @INC if $INC[-1] eq '.' } + use File::Temp; + + ###################################################################### +diff --git a/utils/h2ph.PL b/utils/h2ph.PL +index 55c1f72..300b756 100644 +--- a/utils/h2ph.PL ++++ b/utils/h2ph.PL +@@ -36,6 +36,8 @@ $Config{startperl} + + print OUT <<'!NO!SUBS!'; + ++BEGIN { pop @INC if $INC[-1] eq '.' } ++ + use strict; + + use Config; +diff --git a/utils/h2xs.PL b/utils/h2xs.PL +index 268f680..f95ee0c 100644 +--- a/utils/h2xs.PL ++++ b/utils/h2xs.PL +@@ -35,6 +35,8 @@ $Config{startperl} + + print OUT <<'!NO!SUBS!'; + ++BEGIN { pop @INC if $INC[-1] eq '.' } ++ + use warnings; + + =head1 NAME +diff --git a/utils/libnetcfg.PL b/utils/libnetcfg.PL +index 59a2de8..26d2f99 100644 +--- a/utils/libnetcfg.PL ++++ b/utils/libnetcfg.PL +@@ -97,6 +97,7 @@ Jarkko Hietaniemi, conversion into libnetcfg for inclusion into Perl 5.8. + + # $Id: Configure,v 1.8 1997/03/04 09:22:32 gbarr Exp $ + ++BEGIN { pop @INC if $INC[-1] eq '.' } + use strict; + use IO::File; + use Getopt::Std; +diff --git a/utils/perlbug.PL b/utils/perlbug.PL +index 885785a..ae8c343 100644 +--- a/utils/perlbug.PL ++++ b/utils/perlbug.PL +@@ -57,6 +57,7 @@ print OUT <<'!NO!SUBS!'; + my @patches = Config::local_patches(); + my $patch_tags = join "", map /(\S+)/ ? "+$1 " : (), @patches; + ++BEGIN { pop @INC if $INC[-1] eq '.' } + use warnings; + use strict; + use Config; +diff --git a/utils/perldoc.PL b/utils/perldoc.PL +index e201de9..cd60bd4 100644 +--- a/utils/perldoc.PL ++++ b/utils/perldoc.PL +@@ -44,7 +44,10 @@ $Config{startperl} + # This "$file" file was generated by "$0" + + require 5; +-BEGIN { \$^W = 1 if \$ENV{'PERLDOCDEBUG'} } ++BEGIN { ++ \$^W = 1 if \$ENV{'PERLDOCDEBUG'}; ++ pop \@INC if \$INC[-1] eq '.'; ++} + use Pod::Perldoc; + exit( Pod::Perldoc->run() ); + +diff --git a/utils/perlivp.PL b/utils/perlivp.PL +index cc49f96..696a44e 100644 +--- a/utils/perlivp.PL ++++ b/utils/perlivp.PL +@@ -39,6 +39,8 @@ print OUT "\n# perlivp $^V\n"; + + print OUT <<'!NO!SUBS!'; + ++BEGIN { pop @INC if $INC[-1] eq '.' } ++ + sub usage { + warn "@_\n" if @_; + print << " EOUSAGE"; +diff --git a/utils/splain.PL b/utils/splain.PL +index 9c70b61..cae84a0 100644 +--- a/utils/splain.PL ++++ b/utils/splain.PL +@@ -38,6 +38,12 @@ $Config{startperl} + if \$running_under_some_shell; + !GROK!THIS! + ++print <<'!NO!SUBS!'; ++ ++BEGIN { pop @INC if $INC[-1] eq '.' } ++ ++!NO!SUBS! ++ + while (<IN>) { + print OUT unless /^package diagnostics/; + } +-- +2.8.1 + diff --git a/import-layers/yocto-poky/meta/recipes-devtools/perl/perl/perl-fix-CVE-2016-2381.patch b/import-layers/yocto-poky/meta/recipes-devtools/perl/perl/perl-fix-CVE-2016-2381.patch new file mode 100644 index 000000000..99fa8d9a6 --- /dev/null +++ b/import-layers/yocto-poky/meta/recipes-devtools/perl/perl/perl-fix-CVE-2016-2381.patch @@ -0,0 +1,114 @@ +CVE: CVE-2016-2381 +Upstream-Status: Backport + +Backport patch to fix CVE-2016-2381 from + +http://perl5.git.perl.org/perl.git/commitdiff/ae37b791a73a9e78dedb89fb2429d2628cf58076 + +Signed-off-by: Kai Kang <kai.kang@windriver.com> +--- +From: Tony Cook <tony@develop-help.com> +Date: Wed, 27 Jan 2016 00:52:15 +0000 (+1100) +Subject: remove duplicate environment variables from environ +X-Git-Tag: v5.23.9~170 +X-Git-Url: http://perl5.git.perl.org/perl.git/commitdiff_plain/ae37b791a73a9e78dedb89fb2429d2628cf58076 + +remove duplicate environment variables from environ + +If we see duplicate environment variables while iterating over +environ[]: + +a) make sure we use the same value in %ENV that getenv() returns. + +Previously on a duplicate, %ENV would have the last entry for the name +from environ[], but a typical getenv() would return the first entry. + +Rather than assuming all getenv() implementations return the first entry +explicitly call getenv() to ensure they agree. + +b) remove duplicate entries from environ + +Previously if there was a duplicate definition for a name in environ[] +setting that name in %ENV could result in an unsafe value being passed +to a child process, so ensure environ[] has no duplicates. + +CVE-2016-2381 +--- + +diff --git a/perl.c b/perl.c +index 4a324c6..5c71fd0 100644 +--- a/perl.c ++++ b/perl.c +@@ -4329,23 +4329,70 @@ S_init_postdump_symbols(pTHX_ int argc, char **argv, char **env) + } + if (env) { + char *s, *old_var; ++ STRLEN nlen; + SV *sv; ++ HV *dups = newHV(); ++ + for (; *env; env++) { + old_var = *env; + + if (!(s = strchr(old_var,'=')) || s == old_var) + continue; ++ nlen = s - old_var; + + #if defined(MSDOS) && !defined(DJGPP) + *s = '\0'; + (void)strupr(old_var); + *s = '='; + #endif +- sv = newSVpv(s+1, 0); +- (void)hv_store(hv, old_var, s - old_var, sv, 0); ++ if (hv_exists(hv, old_var, nlen)) { ++ const char *name = savepvn(old_var, nlen); ++ ++ /* make sure we use the same value as getenv(), otherwise code that ++ uses getenv() (like setlocale()) might see a different value to %ENV ++ */ ++ sv = newSVpv(PerlEnv_getenv(name), 0); ++ ++ /* keep a count of the dups of this name so we can de-dup environ later */ ++ if (hv_exists(dups, name, nlen)) ++ ++SvIVX(*hv_fetch(dups, name, nlen, 0)); ++ else ++ (void)hv_store(dups, name, nlen, newSViv(1), 0); ++ ++ Safefree(name); ++ } ++ else { ++ sv = newSVpv(s+1, 0); ++ } ++ (void)hv_store(hv, old_var, nlen, sv, 0); + if (env_is_not_environ) + mg_set(sv); + } ++ if (HvKEYS(dups)) { ++ /* environ has some duplicate definitions, remove them */ ++ HE *entry; ++ hv_iterinit(dups); ++ while ((entry = hv_iternext_flags(dups, 0))) { ++ STRLEN nlen; ++ const char *name = HePV(entry, nlen); ++ IV count = SvIV(HeVAL(entry)); ++ IV i; ++ SV **valp = hv_fetch(hv, name, nlen, 0); ++ ++ assert(valp); ++ ++ /* try to remove any duplicate names, depending on the ++ * implementation used in my_setenv() the iteration might ++ * not be necessary, but let's be safe. ++ */ ++ for (i = 0; i < count; ++i) ++ my_setenv(name, 0); ++ ++ /* and set it back to the value we set $ENV{name} to */ ++ my_setenv(name, SvPV_nolen(*valp)); ++ } ++ } ++ SvREFCNT_dec_NN(dups); + } + #endif /* USE_ENVIRON_ARRAY */ + #endif /* !PERL_MICRO */ diff --git a/import-layers/yocto-poky/meta/recipes-devtools/perl/perl/perl-fix-CVE-2016-6185.patch b/import-layers/yocto-poky/meta/recipes-devtools/perl/perl/perl-fix-CVE-2016-6185.patch new file mode 100644 index 000000000..2722af35b --- /dev/null +++ b/import-layers/yocto-poky/meta/recipes-devtools/perl/perl/perl-fix-CVE-2016-6185.patch @@ -0,0 +1,128 @@ +From 7cedaa8bc2ca9e63369d0e2d4c4c23af9febb93a Mon Sep 17 00:00:00 2001 +From: Father Chrysostomos <sprout@cpan.org> +Date: Sat, 2 Jul 2016 22:56:51 -0700 +Subject: [PATCH] perl: fix CVE-2016-6185 +MIME-Version: 1.0 + +Don't let XSLoader load relative paths + +[rt.cpan.org #115808] + +The logic in XSLoader for determining the library goes like this: + + my $c = () = split(/::/,$caller,-1); + $modlibname =~ s,[\\/][^\\/]+$,, while $c--; # Q&D basename + my $file = "$modlibname/auto/$modpname/$modfname.bundle"; + +(That last line varies by platform.) + +$caller is the calling package. $modlibname is the calling file. It +removes as many path segments from $modlibname as there are segments +in $caller. So if you have Foo/Bar/XS.pm calling XSLoader from the +Foo::Bar package, the $modlibname will end up containing the path in +@INC where XS.pm was found, followed by "/Foo". Usually the fallback +to Dynaloader::bootstrap_inherit, which does an @INC search, makes +things Just Work. + +But if our hypothetical Foo/Bar/XS.pm actually calls +XSLoader::load from inside a string eval, then path ends up being +"(eval 1)/auto/Foo/Bar/Bar.bundle". + +So if someone creates a directory named '(eval 1)' with a naughty +binary file in it, it will be loaded if a script using Foo::Bar is run +in the parent directory. + +This commit makes XSLoader fall back to Dynaloader's @INC search if +the calling file has a relative path that is not found in @INC. + +Backport patch from http://perl5.git.perl.org/perl.git/commitdiff/08e3451d7 + +Upstream-Status: Backport +CVE: CVE-2016-6185 +Signed-off-by: Mingli Yu <Mingli.Yu@windriver.com> +--- + dist/XSLoader/XSLoader_pm.PL | 25 +++++++++++++++++++++++++ + dist/XSLoader/t/XSLoader.t | 27 ++++++++++++++++++++++++++- + 2 files changed, 51 insertions(+), 1 deletion(-) + +diff --git a/dist/XSLoader/XSLoader_pm.PL b/dist/XSLoader/XSLoader_pm.PL +index 668411d..778e46b 100644 +--- a/dist/XSLoader/XSLoader_pm.PL ++++ b/dist/XSLoader/XSLoader_pm.PL +@@ -104,6 +104,31 @@ print OUT <<'EOT'; + my $modpname = join('/',@modparts); + my $c = () = split(/::/,$caller,-1); + $modlibname =~ s,[\\/][^\\/]+$,, while $c--; # Q&D basename ++ # Does this look like a relative path? ++ if ($modlibname !~ m|^[\\/]|) { ++ # Someone may have a #line directive that changes the file name, or ++ # may be calling XSLoader::load from inside a string eval. We cer- ++ # tainly do not want to go loading some code that is not in @INC, ++ # as it could be untrusted. ++ # ++ # We could just fall back to DynaLoader here, but then the rest of ++ # this function would go untested in the perl core, since all @INC ++ # paths are relative during testing. That would be a time bomb ++ # waiting to happen, since bugs could be introduced into the code. ++ # ++ # So look through @INC to see if $modlibname is in it. A rela- ++ # tive $modlibname is not a common occurrence, so this block is ++ # not hot code. ++ FOUND: { ++ for (@INC) { ++ if ($_ eq $modlibname) { ++ last FOUND; ++ } ++ } ++ # Not found. Fall back to DynaLoader. ++ goto \&XSLoader::bootstrap_inherit; ++ } ++ } + EOT + + my $dl_dlext = quotemeta($Config::Config{'dlext'}); +diff --git a/dist/XSLoader/t/XSLoader.t b/dist/XSLoader/t/XSLoader.t +index 2ff11fe..1e86faa 100644 +--- a/dist/XSLoader/t/XSLoader.t ++++ b/dist/XSLoader/t/XSLoader.t +@@ -33,7 +33,7 @@ my %modules = ( + 'Time::HiRes'=> q| ::can_ok( 'Time::HiRes' => 'usleep' ) |, # 5.7.3 + ); + +-plan tests => keys(%modules) * 3 + 9; ++plan tests => keys(%modules) * 3 + 10; + + # Try to load the module + use_ok( 'XSLoader' ); +@@ -125,3 +125,28 @@ XSLoader::load("Devel::Peek"); + EOS + or ::diag $@; + } ++ ++SKIP: { ++ skip "File::Path not available", 1 ++ unless eval { require File::Path }; ++ my $name = "phooo$$"; ++ File::Path::make_path("$name/auto/Foo/Bar"); ++ open my $fh, ++ ">$name/auto/Foo/Bar/Bar.$Config::Config{'dlext'}"; ++ close $fh; ++ my $fell_back; ++ local *XSLoader::bootstrap_inherit = sub { ++ $fell_back++; ++ # Break out of the calling subs ++ goto the_test; ++ }; ++ eval <<END; ++#line 1 $name ++package Foo::Bar; ++XSLoader::load("Foo::Bar"); ++END ++ the_test: ++ ok $fell_back, ++ 'XSLoader will not load relative paths based on (caller)[1]'; ++ File::Path::remove_tree($name); ++} +-- +2.8.1 + diff --git a/import-layers/yocto-poky/meta/recipes-devtools/perl/perl/perl-fix-conflict-between-skip_all-and-END.patch b/import-layers/yocto-poky/meta/recipes-devtools/perl/perl/perl-fix-conflict-between-skip_all-and-END.patch new file mode 100644 index 000000000..de946dbec --- /dev/null +++ b/import-layers/yocto-poky/meta/recipes-devtools/perl/perl/perl-fix-conflict-between-skip_all-and-END.patch @@ -0,0 +1,181 @@ +Some Perl tests fail when run on a cross-compiled target machine. Apply +a slightly tweaked upstream patch to fix the problems. Notes: + 1. as of 2 Jun 2016, the original patch has been applied to the current + EUMM releases, but has not made it into perl core yet. + 2. when the base perl package is upgraded in Yocto, this patch may need + to be replaced by the original upstream version to correctly apply + to the current version of ExtUtils-MakeMaker at that time. + +[YOCTO #8656] + +Upstream-Status: Backport + +Signed-off-by: Bill Randle <william.c.randle@intel.com> + +From 4a07a3bd18363986112cf2b39dec3c2985353ffb Mon Sep 17 00:00:00 2001 +From: Francois Perrad <francois.perrad@gadz.org> +Date: Mon, 22 Dec 2014 19:04:34 +0100 +Subject: [PATCH] fix conflict between skip_all and END section + +since the commit 430de781809a6be3bcd25a349dc40ce54405ab53 +the test suite fails in cross-compil environment (perl-5.21.6 & perl-5.21.7) +like this : + + $ ./perl harness -v ../cpan/ExtUtils-MakeMaker/t/INSTALL_BASE.t + ../cpan/ExtUtils-MakeMaker/t/INSTALL_BASE.t .. + 1..0 # SKIP cross-compiling and make not available + ok 1 - chdir updir + ok 2 - teardown + # Looks like you planned 0 tests but ran 2. + skipped: cross-compiling and make not available + +this commit restores the implicit call of plan() at import time of Test::More + +Signed-off-by: Francois Perrad <francois.perrad@gadz.org> +--- + cpan/ExtUtils-MakeMaker/t/INSTALL_BASE.t | 7 ++++--- + cpan/ExtUtils-MakeMaker/t/PL_FILES.t | 4 ++-- + cpan/ExtUtils-MakeMaker/t/basic.t | 4 ++-- + cpan/ExtUtils-MakeMaker/t/echo.t | 6 +++--- + cpan/ExtUtils-MakeMaker/t/min_perl_version.t | 4 ++-- + cpan/ExtUtils-MakeMaker/t/pm_to_blib.t | 4 ++-- + cpan/ExtUtils-MakeMaker/t/recurs.t | 4 ++-- + cpan/ExtUtils-MakeMaker/t/several_authors.t | 4 ++-- + 8 files changed, 19 insertions(+), 18 deletions(-) + +diff --git a/cpan/ExtUtils-MakeMaker/t/INSTALL_BASE.t b/cpan/ExtUtils-MakeMaker/t/INSTALL_BASE.t +index f27b62c..3bbb3a6 100644 +--- a/cpan/ExtUtils-MakeMaker/t/INSTALL_BASE.t ++++ b/cpan/ExtUtils-MakeMaker/t/INSTALL_BASE.t +@@ -15,12 +15,13 @@ $CLEANUP &&= 1; # so always 1 or numerically 0 + + use MakeMaker::Test::Utils; + use MakeMaker::Test::Setup::BFD; +-use Test::More; + use Config; + use ExtUtils::MM; +-plan !MM->can_run(make()) && $ENV{PERL_CORE} && $Config{'usecrosscompile'} ++use Test::More ++ !MM->can_run(make()) && $ENV{PERL_CORE} && $Config{'usecrosscompile'} + ? (skip_all => "cross-compiling and make not available") +- : (tests => 3 + $CLEANUP + @INSTDIRS * (15 + $CLEANUP)); ++ : (); ++plan tests => 3 + $CLEANUP + @INSTDIRS * (15 + $CLEANUP); + + my $Is_VMS = $^O eq 'VMS'; + +diff --git a/cpan/ExtUtils-MakeMaker/t/PL_FILES.t b/cpan/ExtUtils-MakeMaker/t/PL_FILES.t +index 0779dbb..85d53a5 100644 +--- a/cpan/ExtUtils-MakeMaker/t/PL_FILES.t ++++ b/cpan/ExtUtils-MakeMaker/t/PL_FILES.t +@@ -11,9 +11,9 @@ use File::Temp qw[tempdir]; + use MakeMaker::Test::Setup::PL_FILES; + use MakeMaker::Test::Utils; + use Config; +-use Test::More; + use ExtUtils::MM; +-plan !MM->can_run(make()) && $ENV{PERL_CORE} && $Config{'usecrosscompile'} ++use Test::More ++ !MM->can_run(make()) && $ENV{PERL_CORE} && $Config{'usecrosscompile'} + ? (skip_all => "cross-compiling and make not available") + : (tests => 9); + +diff --git a/cpan/ExtUtils-MakeMaker/t/basic.t b/cpan/ExtUtils-MakeMaker/t/basic.t +index 3dd66ad..eddf2e9 100644 +--- a/cpan/ExtUtils-MakeMaker/t/basic.t ++++ b/cpan/ExtUtils-MakeMaker/t/basic.t +@@ -20,9 +20,9 @@ use utf8; + use MakeMaker::Test::Utils; + use MakeMaker::Test::Setup::BFD; + use Config; +-use Test::More; + use ExtUtils::MM; +-plan !MM->can_run(make()) && $ENV{PERL_CORE} && $Config{'usecrosscompile'} ++use Test::More ++ !MM->can_run(make()) && $ENV{PERL_CORE} && $Config{'usecrosscompile'} + ? (skip_all => "cross-compiling and make not available") + : (tests => 171); + use File::Find; +diff --git a/cpan/ExtUtils-MakeMaker/t/echo.t b/cpan/ExtUtils-MakeMaker/t/echo.t +index 789b85f..c43bc47 100644 +--- a/cpan/ExtUtils-MakeMaker/t/echo.t ++++ b/cpan/ExtUtils-MakeMaker/t/echo.t +@@ -14,11 +14,11 @@ use MakeMaker::Test::Utils; + use File::Temp; + use Cwd 'abs_path'; + +-use Test::More; + use ExtUtils::MM; +-plan !MM->can_run(make()) && $ENV{PERL_CORE} && $Config{'usecrosscompile'} ++use Test::More ++ !MM->can_run(make()) && $ENV{PERL_CORE} && $Config{'usecrosscompile'} + ? (skip_all => "cross-compiling and make not available") +- : (); ++ : (tests => 18); + + #--------------------- Setup + +diff --git a/cpan/ExtUtils-MakeMaker/t/min_perl_version.t b/cpan/ExtUtils-MakeMaker/t/min_perl_version.t +index c5d78d6..2ef118d 100644 +--- a/cpan/ExtUtils-MakeMaker/t/min_perl_version.t ++++ b/cpan/ExtUtils-MakeMaker/t/min_perl_version.t +@@ -13,9 +13,9 @@ use TieOut; + use MakeMaker::Test::Utils; + use MakeMaker::Test::Setup::MPV; + use Config; +-use Test::More; + use ExtUtils::MM; +-plan !MM->can_run(make()) && $ENV{PERL_CORE} && $Config{'usecrosscompile'} ++use Test::More ++ !MM->can_run(make()) && $ENV{PERL_CORE} && $Config{'usecrosscompile'} + ? (skip_all => "cross-compiling and make not available") + : (tests => 36); + use File::Path; +diff --git a/cpan/ExtUtils-MakeMaker/t/pm_to_blib.t b/cpan/ExtUtils-MakeMaker/t/pm_to_blib.t +index f1e348e..ebfa26c 100644 +--- a/cpan/ExtUtils-MakeMaker/t/pm_to_blib.t ++++ b/cpan/ExtUtils-MakeMaker/t/pm_to_blib.t +@@ -12,9 +12,9 @@ use ExtUtils::MakeMaker; + use MakeMaker::Test::Utils; + use MakeMaker::Test::Setup::BFD; + use Config; +-use Test::More; + use ExtUtils::MM; +-plan !MM->can_run(make()) && $ENV{PERL_CORE} && $Config{'usecrosscompile'} ++use Test::More ++ !MM->can_run(make()) && $ENV{PERL_CORE} && $Config{'usecrosscompile'} + ? (skip_all => "cross-compiling and make not available") + : 'no_plan'; + +diff --git a/cpan/ExtUtils-MakeMaker/t/recurs.t b/cpan/ExtUtils-MakeMaker/t/recurs.t +index 84c09a2..661e0db 100644 +--- a/cpan/ExtUtils-MakeMaker/t/recurs.t ++++ b/cpan/ExtUtils-MakeMaker/t/recurs.t +@@ -14,9 +14,9 @@ use File::Temp qw[tempdir]; + use MakeMaker::Test::Utils; + use MakeMaker::Test::Setup::Recurs; + use Config; +-use Test::More; + use ExtUtils::MM; +-plan !MM->can_run(make()) && $ENV{PERL_CORE} && $Config{'usecrosscompile'} ++use Test::More ++ !MM->can_run(make()) && $ENV{PERL_CORE} && $Config{'usecrosscompile'} + ? (skip_all => "cross-compiling and make not available") + : (tests => 26); + +diff --git a/cpan/ExtUtils-MakeMaker/t/several_authors.t b/cpan/ExtUtils-MakeMaker/t/several_authors.t +index 1a75a3e..869e9f0 100644 +--- a/cpan/ExtUtils-MakeMaker/t/several_authors.t ++++ b/cpan/ExtUtils-MakeMaker/t/several_authors.t +@@ -13,9 +13,9 @@ use TieOut; + use MakeMaker::Test::Utils; + use MakeMaker::Test::Setup::SAS; + use Config; +-use Test::More; + use ExtUtils::MM; +-plan !MM->can_run(make()) && $ENV{PERL_CORE} && $Config{'usecrosscompile'} ++use Test::More ++ !MM->can_run(make()) && $ENV{PERL_CORE} && $Config{'usecrosscompile'} + ? (skip_all => "cross-compiling and make not available") + : (tests => 20); + use File::Path; diff --git a/import-layers/yocto-poky/meta/recipes-devtools/perl/perl/perl-remove-nm-from-libswanted.patch b/import-layers/yocto-poky/meta/recipes-devtools/perl/perl/perl-remove-nm-from-libswanted.patch new file mode 100644 index 000000000..c489f05bf --- /dev/null +++ b/import-layers/yocto-poky/meta/recipes-devtools/perl/perl/perl-remove-nm-from-libswanted.patch @@ -0,0 +1,30 @@ +From 4732711e2548b6d734ca831d65dbcf501a89774e Mon Sep 17 00:00:00 2001 +From: Andreas Koenig <andk@cpan.org> +Date: Sun, 3 Jan 2016 08:40:33 +0100 +Subject: [PATCH] Remove nm from libswanted + +Nm stood for "New Math" library in the context of 1994. 2014 a conflicting +library libnm appeared that has a network manager context. + +Upstream-Status: Backport [commit 4732711e on branch blead, tag v5.25.0] + +--- + Configure | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/Configure b/Configure +index 0e71b4b..cfbdaa1 100755 +--- a/Configure ++++ b/Configure +@@ -1464,7 +1464,7 @@ libswanted_uselargefiles='' + : set usesocks on the Configure command line to enable socks. + : List of libraries we want. + : If anyone needs extra -lxxx, put those in a hint file. +-libswanted="cl pthread socket bind inet nsl nm ndbm gdbm dbm db malloc dl ld" ++libswanted="cl pthread socket bind inet nsl ndbm gdbm dbm db malloc dl ld" + libswanted="$libswanted sun m crypt sec util c cposix posix ucb bsd BSD" + : We probably want to search /usr/shlib before most other libraries. + : This is only used by the lib/ExtUtils/MakeMaker.pm routine extliblist. +-- +2.9.2 + diff --git a/import-layers/yocto-poky/meta/recipes-devtools/perl/perl/perl-test-customized.patch b/import-layers/yocto-poky/meta/recipes-devtools/perl/perl/perl-test-customized.patch new file mode 100644 index 000000000..84b0b88f2 --- /dev/null +++ b/import-layers/yocto-poky/meta/recipes-devtools/perl/perl/perl-test-customized.patch @@ -0,0 +1,61 @@ +The OE core recipies customize some ExtUtils-MakeMaker modules, +which causes their MD5 sum to mismatch the provided table and the +corresponding tests to fail. Also, we patch several test files with +a backported patch. Update list of hashes to reflect the patched files. + +Upstream-Status: Inappropriate [embedded specific] + +Signed-off-by: Bill Randle <william.c.randle@intel.com> + +Index: perl-5.22.1/t/porting/customized.dat +=================================================================== +--- perl-5.22.1.orig/t/porting/customized.dat 2015-10-31 13:36:16.000000000 +0000 ++++ perl-5.22.1/t/porting/customized.dat 2016-06-02 12:50:10.381030204 -0700 +@@ -1,8 +1,8 @@ + CPAN cpan/CPAN/lib/CPAN.pm ce62c43d72f101c011184dbbc59e21c2790826f0 + ExtUtils::MakeMaker cpan/ExtUtils-MakeMaker/lib/ExtUtils/Command/MM.pm 7f4dfd0fe884bd42412bcf04ca80ef97b39c1d54 + ExtUtils::MakeMaker cpan/ExtUtils-MakeMaker/lib/ExtUtils/Liblist.pm bef099988b15fb0b2a1f5ac48c01af1f7f36d329 +-ExtUtils::MakeMaker cpan/ExtUtils-MakeMaker/lib/ExtUtils/Liblist/Kid.pm 8168e18f0e3ce3ece4bb7e7c72d57ec07c67c402 +-ExtUtils::MakeMaker cpan/ExtUtils-MakeMaker/lib/ExtUtils/MakeMaker.pm 7115e97a53559cb3ec061dd6f7f344e522724c4a ++ExtUtils::MakeMaker cpan/ExtUtils-MakeMaker/lib/ExtUtils/Liblist/Kid.pm a08ecf80c8f0a234243817713b2a5ab0dcae3c0a ++ExtUtils::MakeMaker cpan/ExtUtils-MakeMaker/lib/ExtUtils/MakeMaker.pm 3d7abd674b15ed323f743594ef0bd09db76b1aee + ExtUtils::MakeMaker cpan/ExtUtils-MakeMaker/lib/ExtUtils/MakeMaker/Config.pm f8db8d4245bf0684b8210c811f50d7cfb1a27d78 + ExtUtils::MakeMaker cpan/ExtUtils-MakeMaker/lib/ExtUtils/MakeMaker/FAQ.pod 757bffb47857521311f8f3bde43ebe165f8d5191 + ExtUtils::MakeMaker cpan/ExtUtils-MakeMaker/lib/ExtUtils/MakeMaker/Locale.pm 82be06851deb84c6419ad003ce9b6d1957f395f3 +@@ -14,7 +14,7 @@ + ExtUtils::MakeMaker cpan/ExtUtils-MakeMaker/lib/ExtUtils/Mksymlists.pm ab80029ab16d38d4f2e41dc88d2ceb9f3790e477 + ExtUtils::MakeMaker cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM.pm 453e0abbc4bb38db4c0820ad5c4846f313b66291 + ExtUtils::MakeMaker cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_AIX.pm c1b1babda8f43ae7a2caba1cb4f70f92af5a0e34 +-ExtUtils::MakeMaker cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Any.pm 6f90d94ad3e7aa0045a3b1a10a1bb18391f89f57 ++ExtUtils::MakeMaker cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Any.pm 21bde53290bf1a4da4457290b65bd1b0ca6f1d16 + ExtUtils::MakeMaker cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_BeOS.pm cab2b3ce08b71a4ce89aa630f236eb08b852439d + ExtUtils::MakeMaker cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Cygwin.pm 61fced0faf518bf87c265fcb51ed330ba354623f + ExtUtils::MakeMaker cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Darwin.pm ae0ef51a7b6dd0b05aa61c779df7167dda5f5119 +@@ -23,7 +23,7 @@ + ExtUtils::MakeMaker cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_NW5.pm 433135eecb85b4b1d90d3027432f329436c78447 + ExtUtils::MakeMaker cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_OS2.pm 1fbb5605bfb47feee4083feba8aa85e659628f70 + ExtUtils::MakeMaker cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_QNX.pm 5b66d1f485a6034d96fc24ba1665b1bad9e447f1 +-ExtUtils::MakeMaker cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Unix.pm 8cef99a9bd370ecfd07ddb0efbdcbb4101255e45 ++ExtUtils::MakeMaker cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Unix.pm 860d520234d7c9036d91f0b143a1dddf2a5e8cb7 + ExtUtils::MakeMaker cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_UWIN.pm 939572fde3d59ba77c2e677fe2df2bed4bed5898 + ExtUtils::MakeMaker cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_VMS.pm 09c2049bfd25b735e2a5bcf56a6cff7b4827f9c8 + ExtUtils::MakeMaker cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_VOS.pm d65d63f8217a55c36f62e249814988974f593c79 +@@ -31,8 +31,16 @@ + ExtUtils::MakeMaker cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Win95.pm 12df38eacceeed73cab94c423236bfaed0fbbfec + ExtUtils::MakeMaker cpan/ExtUtils-MakeMaker/lib/ExtUtils/MY.pm 22fe9596a0237252f45399a36abc83b7813bc328 + ExtUtils::MakeMaker cpan/ExtUtils-MakeMaker/lib/ExtUtils/testlib.pm 7fbc42ca2ebc6c677b79ae5fd5647243cf069463 +-ExtUtils::MakeMaker cpan/ExtUtils-MakeMaker/t/basic.t 6cdc7701b50e586bc9c4cfb1616de8eb0b1baf34 +-ExtUtils::MakeMaker cpan/ExtUtils-MakeMaker/t/pm_to_blib.t 71ebcee355691ce374fcad251b12d8b2412462b3 ++ExtUtils::MakeMaker cpan/ExtUtils-MakeMaker/t/basic.t d78fdec7a4512dc8d2a7abd62b8104530af8ecf9 ++ExtUtils::MakeMaker cpan/ExtUtils-MakeMaker/t/echo.t 9427f4adebbb13b57b4a76fef2972adf63c9bd96 ++ExtUtils::MakeMaker cpan/ExtUtils-MakeMaker/t/INSTALL_BASE.t ef356c196bb5c3c428ae309d7f989bdd6d79b86d ++ExtUtils::MakeMaker cpan/ExtUtils-MakeMaker/t/INST_PREFIX.t 3e6d4d6eb2eab42e983ac70eb5737a759af0916f ++ExtUtils::MakeMaker cpan/ExtUtils-MakeMaker/t/INST.t e553fa0d53c894c8d36aafb69edd55b38a9355f8 ++ExtUtils::MakeMaker cpan/ExtUtils-MakeMaker/t/min_perl_version.t e930ec9217de5a1785d0247c30b159e6f7f5673f ++ExtUtils::MakeMaker cpan/ExtUtils-MakeMaker/t/PL_FILES.t 7e49ab6c4d467826d22023fa03d77b85f935b58e ++ExtUtils::MakeMaker cpan/ExtUtils-MakeMaker/t/pm_to_blib.t a04c96eecfab17e4094604e0fb998dd93cf93b93 ++ExtUtils::MakeMaker cpan/ExtUtils-MakeMaker/t/recurs.t 94cce3bff875a878ed27816b3f5df2ca4225c714 ++ExtUtils::MakeMaker cpan/ExtUtils-MakeMaker/t/several_authors.t f811d993c0835c66dc501ed55083acb29bf33bf7 + Text::ParseWords cpan/Text-ParseWords/t/ParseWords.t 9bae51c9b944cd5c0bbabe9d397e573976a2be8e + Win32API::File cpan/Win32API-File/buffers.h 02d230ac9ac7091365128161a0ed671898baefae + Win32API::File cpan/Win32API-File/cFile.h fca7e383e76979c3ac3adf12d11d1bcd2618e489 diff --git a/import-layers/yocto-poky/meta/recipes-devtools/perl/perl_5.22.1.bb b/import-layers/yocto-poky/meta/recipes-devtools/perl/perl_5.22.1.bb index bf8b3b60b..792a65b5b 100644 --- a/import-layers/yocto-poky/meta/recipes-devtools/perl/perl_5.22.1.bb +++ b/import-layers/yocto-poky/meta/recipes-devtools/perl/perl_5.22.1.bb @@ -63,6 +63,12 @@ SRC_URI += " \ file://ext-ODBM_File-t-odbm.t-fix-the-path-of-dbmt_common.p.patch \ file://perl-PathTools-don-t-filter-out-blib-from-INC.patch \ file://perl-errno-generation-gcc5.patch \ + file://perl-fix-conflict-between-skip_all-and-END.patch \ + file://perl-test-customized.patch \ + file://perl-fix-CVE-2016-2381.patch \ + file://perl-fix-CVE-2016-6185.patch \ + file://perl-fix-CVE-2015-8607.patch \ + file://perl-fix-CVE-2016-1238.patch \ " # Fix test case issues @@ -340,7 +346,9 @@ FILES_perl-module-unicore += "${libdir}/perl/${PV}/unicore" ALLOW_EMPTY_perl-modules = "1" PACKAGES_append = " perl-modules " -python populate_packages_prepend () { +PACKAGESPLITFUNCS_prepend = "split_perl_packages " + +python split_perl_packages () { libdir = d.expand('${libdir}/perl/${PV}') do_split_packages(d, libdir, 'auto/([^.]*)/[^/]*\.(so|ld|ix|al)', 'perl-module-%s', 'perl module %s', recursive=True, match_path=True, prepend=False) do_split_packages(d, libdir, 'Module/([^\/]*)\.pm', 'perl-module-%s', 'perl module %s', recursive=True, allow_dirs=False, match_path=True, prepend=False) diff --git a/import-layers/yocto-poky/meta/recipes-devtools/pkgconfig/pkgconfig/0001-gdate-Move-warning-pragma-outside-of-function.patch b/import-layers/yocto-poky/meta/recipes-devtools/pkgconfig/pkgconfig/0001-gdate-Move-warning-pragma-outside-of-function.patch new file mode 100644 index 000000000..14c8293a5 --- /dev/null +++ b/import-layers/yocto-poky/meta/recipes-devtools/pkgconfig/pkgconfig/0001-gdate-Move-warning-pragma-outside-of-function.patch @@ -0,0 +1,39 @@ +From 946d36266d8a30f04fe34d3183bf4929141934d2 Mon Sep 17 00:00:00 2001 +From: coypu <coypu@sdf.org> +Date: Wed, 2 Mar 2016 19:38:48 +0200 +Subject: [PATCH] gdate: Move warning pragma outside of function + +Commit 0817af40e8c74c721c30f6ef482b1f53d12044c7 breaks the build on +older versions of GCC, which don't allow pragma inside functions. + +https://bugzilla.gnome.org/761550 +--- +Upstream-Status: Backport +Signed-off-by: Khem Raj <raj.khem@gmail.com> + + glib/glib/gdate.c | 5 +++++ + 1 file changed, 5 insertions(+) + +diff --git a/glib/glib/gdate.c b/glib/glib/gdate.c +index 1978cf7..20e6c4a 100644 +--- a/glib/glib/gdate.c ++++ b/glib/glib/gdate.c +@@ -2439,6 +2439,9 @@ win32_strftime_helper (const GDate *d, + * + * Returns: number of characters written to the buffer, or 0 the buffer was too small + */ ++#pragma GCC diagnostic push ++#pragma GCC diagnostic ignored "-Wformat-nonliteral" ++ + gsize + g_date_strftime (gchar *s, + gsize slen, +@@ -2549,3 +2552,5 @@ g_date_strftime (gchar *s, + return retval; + #endif + } ++ ++#pragma GCC diagnostic pop +-- +1.9.1 + diff --git a/import-layers/yocto-poky/meta/recipes-devtools/pkgconfig/pkgconfig/0001-glib-gettext.m4-Update-AM_GLIB_GNU_GETTEXT-to-match-.patch b/import-layers/yocto-poky/meta/recipes-devtools/pkgconfig/pkgconfig/0001-glib-gettext.m4-Update-AM_GLIB_GNU_GETTEXT-to-match-.patch new file mode 100644 index 000000000..80310cd37 --- /dev/null +++ b/import-layers/yocto-poky/meta/recipes-devtools/pkgconfig/pkgconfig/0001-glib-gettext.m4-Update-AM_GLIB_GNU_GETTEXT-to-match-.patch @@ -0,0 +1,41 @@ +From e404e27de77d8b993c4cc87013d707200b3a5547 Mon Sep 17 00:00:00 2001 +From: Jussi Kukkonen <jussi.kukkonen@intel.com> +Date: Tue, 17 May 2016 13:26:27 +0300 +Subject: [PATCH] glib-gettext.m4: Update AM_GLIB_GNU_GETTEXT to match glib + +This avoids + error: m4_copy: won't overwrite defined macro: glib_DEFUN + +Signed-off-by: Jussi Kukkonen <jussi.kukkonen@intel.com> +Upstream-Status: Pending + +--- + glib/m4macros/glib-gettext.m4 | 5 +++-- + 1 file changed, 3 insertions(+), 2 deletions(-) + +diff --git a/glib/m4macros/glib-gettext.m4 b/glib/m4macros/glib-gettext.m4 +index 5217fd8..155b1d8 100644 +--- a/glib/m4macros/glib-gettext.m4 ++++ b/glib/m4macros/glib-gettext.m4 +@@ -313,7 +313,7 @@ msgstr "" + # on various variables needed by the Makefile.in.in installed by + # glib-gettextize. + dnl +-glib_DEFUN([GLIB_GNU_GETTEXT], ++AU_DEFUN([GLIB_GNU_GETTEXT], + [AC_REQUIRE([AC_PROG_CC])dnl + + GLIB_LC_MESSAGES +@@ -383,7 +383,8 @@ glib_DEFUN([GLIB_GNU_GETTEXT], + rm -f po/POTFILES + sed -e "/^#/d" -e "/^\$/d" -e "s,.*, $posrcprefix& \\\\," -e "\$s/\(.*\) \\\\/\1/" \ + < $srcdir/po/POTFILES.in > po/POTFILES +- ]) ++ ], ++ [[$0: This macro is deprecated. You should use upstream gettext instead.]]) + + # AM_GLIB_DEFINE_LOCALEDIR(VARIABLE) + # ------------------------------- +-- +2.1.4 + diff --git a/import-layers/yocto-poky/meta/recipes-devtools/pkgconfig/pkgconfig_git.bb b/import-layers/yocto-poky/meta/recipes-devtools/pkgconfig/pkgconfig_git.bb index d34f608f1..ff8254cfc 100644 --- a/import-layers/yocto-poky/meta/recipes-devtools/pkgconfig/pkgconfig_git.bb +++ b/import-layers/yocto-poky/meta/recipes-devtools/pkgconfig/pkgconfig_git.bb @@ -12,12 +12,14 @@ DEPENDS = "glib-2.0" DEPENDS_class-native = "" DEPENDS_class-nativesdk = "" -SRCREV = "5914edfe9604abfedd220103cbac382fc4d268bb" -PV = "0.29+git${SRCPV}" +SRCREV = "87152c05be88ca8be71a3a563f275b3686d32c28" +PV = "0.29.1+git${SRCPV}" SRC_URI = "git://anongit.freedesktop.org/pkg-config \ file://pkg-config-native.in \ file://fix-glib-configure-libtool-usage.patch \ + file://0001-gdate-Move-warning-pragma-outside-of-function.patch \ + file://0001-glib-gettext.m4-Update-AM_GLIB_GNU_GETTEXT-to-match-.patch \ " S = "${WORKDIR}/git" diff --git a/import-layers/yocto-poky/meta/recipes-devtools/prelink/prelink_git.bb b/import-layers/yocto-poky/meta/recipes-devtools/prelink/prelink_git.bb index e223ef689..0856b1c66 100644 --- a/import-layers/yocto-poky/meta/recipes-devtools/prelink/prelink_git.bb +++ b/import-layers/yocto-poky/meta/recipes-devtools/prelink/prelink_git.bb @@ -8,7 +8,7 @@ and executables, so that far fewer relocations need to be resolved at \ runtime and thus programs come up faster." LICENSE = "GPLv2" LIC_FILES_CHKSUM = "file://COPYING;md5=c93c0550bd3173f4504b2cbd8991e50b" -SRCREV = "927979bbd115eeb8a75db3231906ef6aca4c4eb6" +SRCREV = "ef20628dd78b92e1a3123afc67b64cf010bdd9e4" PV = "1.0+git${SRCPV}" # @@ -44,6 +44,99 @@ BBCLASSEXTEND = "native" EXTRA_OECONF = "--disable-selinux --with-pkgversion=${PV}-${PR} \ --with-bugurl=http://bugzilla.yoctoproject.org/" + +# +# For target prelink we need to ensure paths match the lib path layout +# including for any configured multilibs +# +python do_linkerpaths () { + values = all_multilib_tune_list(["TUNE_ARCH", "baselib", "ABIEXTENSION"], d) + + arches = values["TUNE_ARCH"] + baselibs = values["baselib"] + abis = values["ABIEXTENSION"] + + def replace_lines(f, search, replacement, d, firstonly = False, secondonly = False): + f = d.expand(f) + if search == replacement: + return + bb.debug(2, "Replacing %s with %s in %s" % (search, replacement, f)) + with open(f, "r") as data: + lines = data.readlines() + with open(f, "w") as data: + for line in lines: + if not secondonly and not firstonly: + line = line.replace(search, replacement) + elif secondonly and search in line: + secondonly = False + elif firstonly and search and search in line: + line = line.replace(search, replacement) + search = None + data.write(line) + + def replace_lines_rtld(f, search, replacement, section, d): + f = d.expand(f) + bb.debug(2, "Replacing %s with %s in %s" % (search, replacement, f)) + with open(f, "r") as data: + lines = data.readlines() + found = False + found2 = False + with open(f, "w") as data: + for line in lines: + if section in line: + if section == "else" and "if" in line: + found = False + else: + found = True + if found and "dst_LIB =" in line: + found2 = True + elif "}" in line: + found = False + found2 = False + if found2: + line = line.replace(search, replacement) + data.write(line) + + for i, arch in enumerate(arches): + tune_baselib = baselibs[i] + abi = abis[i] + + bits = 32 + if arch == "powerpc": + replace_lines("${S}/src/arch-ppc.c", "/lib/ld.so.1", "/" + tune_baselib + "/ld.so.1", d) + elif arch == "powerpc64": + replace_lines("${S}/src/arch-ppc64.c", "/lib64/ld64.so.1", "/" + tune_baselib + "/ld64.so.1", d) + bits = 64 + elif arch == "x86_64": + if abi == "x32": + replace_lines("${S}/src/arch-x86_64.c", "/libx32/ld-linux-x32.so.2", "/" + tune_baselib + "/ld-linux-x32.so.2", d) + else: + replace_lines("${S}/src/arch-x86_64.c", "/lib64/ld-linux-x86-64.so.2", "/" + tune_baselib + "/ld-linux-x86-64.so.2", d) + bits = 64 + elif arch == "arm": + replace_lines("${S}/src/arch-arm.c", "/lib/ld-linux.so.3", "/" + tune_baselib + "/ld-linux.so.3", d) + replace_lines("${S}/src/arch-arm.c", "/lib/ld-linux-armhf.so.3", "/" + tune_baselib + "/ld-linux-armhf.so.3", d) + elif arch == "mips" or arch == "mipsel": + replace_lines("${S}/src/arch-mips.c", "/lib/ld.so.1", "/" + tune_baselib + "/ld.so.1", d, firstonly=True) + replace_lines("${S}/src/arch-mips.c", "/lib32/ld.so.1", "/" + tune_baselib + "/ld.so.1", d) + elif arch == "mips64" or arch == "mips64el": + replace_lines("${S}/src/arch-mips.c", "/lib/ld.so.1", "/" + tune_baselib + "/ld.so.1", d, secondonly=True) + replace_lines("${S}/src/arch-mips.c", "/lib64/ld.so.1", "/" + tune_baselib + "/ld.so.1", d) + bits = 64 + elif arch.endswith("86"): + replace_lines("${S}/src/arch-i386.c", "/lib/ld-linux.so.2", "/" + tune_baselib + "/ld-linux.so.2", d) + if bits == 32 and tune_baselib != "lib": + replace_lines_rtld("${S}/src/rtld/rtld.c", "lib", tune_baselib, "else", d) + if bits == 64 and tune_baselib != "lib64": + replace_lines_rtld("${S}/src/rtld/rtld.c", "lib64", tune_baselib, "use_64bit", d) +} + +python () { + overrides = d.getVar("OVERRIDES", True).split(":") + if "class-target" in overrides: + bb.build.addtask('do_linkerpaths', 'do_configure', 'do_patch', d) +} + do_configure_prepend () { # Disable documentation! echo "all:" > ${S}/doc/Makefile.am diff --git a/import-layers/yocto-poky/meta/recipes-devtools/pseudo/files/0001-Don-t-send-SIGUSR1-to-init.patch b/import-layers/yocto-poky/meta/recipes-devtools/pseudo/files/0001-Don-t-send-SIGUSR1-to-init.patch new file mode 100644 index 000000000..6c694ceb0 --- /dev/null +++ b/import-layers/yocto-poky/meta/recipes-devtools/pseudo/files/0001-Don-t-send-SIGUSR1-to-init.patch @@ -0,0 +1,48 @@ +From befc6dbd6469d428c9e0830dbe51bdf7ac39d9ae Mon Sep 17 00:00:00 2001 +From: Seebs <seebs@seebs.net> +Date: Thu, 22 Sep 2016 14:35:04 -0500 +Subject: [PATCH] Don't send SIGUSR1 to init. + +If the parent exits due to child process being slow, getppid() will return +1, and we'll send SIGUSR1 to init, which can break things like dumbinit +which aren't adequately protected against non-root processes sending them +signals. + +Signed-off-by: Seebs <seebs@seebs.net> + +Upstream-Status: Backport (commit befc6dbd6469d428c9e0830dbe51bdf7ac39d9ae) + +[YOCTO #10324] + +This resolves an issue where a docker container running builds would die +due to it's 'mini init' being signaled by pseudo. + +Signed-off-by: Mark Hatle <mark.hatle@windriver.com> +--- + pseudo_server.c | 11 ++++++++--- + +diff --git a/pseudo_server.c b/pseudo_server.c +index 65102dd..8731d20 100644 +--- a/pseudo_server.c ++++ b/pseudo_server.c +@@ -358,9 +358,14 @@ pseudo_server_start(int daemonize) { + signal(SIGTERM, quit_now); + /* tell parent process to stop waiting */ + if (daemonize) { +- pseudo_diag("Setup complete, sending SIGUSR1 to pid %d.\n", +- getppid()); +- kill(getppid(), SIGUSR1); ++ pid_t ppid = getppid(); ++ if (ppid == 1) { ++ pseudo_diag("Setup complete, but parent is init, not sending SIGUSR1.\n"); ++ } else { ++ pseudo_diag("Setup complete, sending SIGUSR1 to pid %d.\n", ++ ppid); ++ kill(ppid, SIGUSR1); ++ } + } + pseudo_server_loop(); + return 0; +-- +2.5.5 + diff --git a/import-layers/yocto-poky/meta/recipes-devtools/pseudo/files/0001-Quiet-diagnostics-during-startup-for-pseudo-d.patch b/import-layers/yocto-poky/meta/recipes-devtools/pseudo/files/0001-Quiet-diagnostics-during-startup-for-pseudo-d.patch new file mode 100644 index 000000000..d4b9f6a0f --- /dev/null +++ b/import-layers/yocto-poky/meta/recipes-devtools/pseudo/files/0001-Quiet-diagnostics-during-startup-for-pseudo-d.patch @@ -0,0 +1,54 @@ +From eead8a505245a292c43f070c0e836cdfeb7bd7bd Mon Sep 17 00:00:00 2001 +From: Seebs <seebs@seebs.net> +Date: Wed, 28 Sep 2016 17:05:17 -0500 +Subject: [PATCH 1/2] Quiet diagnostics during startup for pseudo -d + +When the client spawns a pseudo server, it starts out sending diagnostics +to stderr. This can be spammy in some cases with races during startup; +everything resolves, but we get scary-looking diagnostics. So shove +those into a log file. + +Signed-off-by: Seebs <seebs@seebs.net> + +Upstream-Status: Backport +Signed-off-by: Robert Yang <liezhi.yang@windriver.com> +--- + ChangeLog.txt | 5 +++++ + pseudo_server.c | 4 +++- + 2 files changed, 8 insertions(+), 1 deletion(-) + +diff --git a/ChangeLog.txt b/ChangeLog.txt +index d6359ca..4cc24de 100644 +--- a/ChangeLog.txt ++++ b/ChangeLog.txt +@@ -1,3 +1,8 @@ ++2016-09-28: ++ * (seebs) Send errors to log when daemonizing, but do that a lot ++ sooner to prevent startup messages which can show up spuriously ++ with multiple clients. ++ + 2016-07-28: + * (seebs) Fix performance issue on deletion with xattr changes. + +diff --git a/pseudo_server.c b/pseudo_server.c +index 8731d20..7c2db2f 100644 +--- a/pseudo_server.c ++++ b/pseudo_server.c +@@ -162,6 +162,9 @@ pseudo_server_start(int daemonize) { + * SIGUSR1, or until too much time has passed. */ + if (daemonize) { + int child; ++ ++ /* make startup messages go away when invoked-as-daemon */ ++ pseudo_debug_logfile(PSEUDO_LOGFILE, 2); + child = fork(); + if (child == -1) { + pseudo_diag("Couldn't fork child process: %s\n", +@@ -231,7 +234,6 @@ pseudo_server_start(int daemonize) { + setsid(); + fclose(stdin); + fclose(stdout); +- pseudo_debug_logfile(PSEUDO_LOGFILE, 2); + /* and then just execute the server code normally. */ + /* Any logging will presumably go to logfile, but + * exit status will make it back to the parent for diff --git a/import-layers/yocto-poky/meta/recipes-devtools/pseudo/files/0002-Use-correct-file-descriptor.patch b/import-layers/yocto-poky/meta/recipes-devtools/pseudo/files/0002-Use-correct-file-descriptor.patch new file mode 100644 index 000000000..dd6fd87ae --- /dev/null +++ b/import-layers/yocto-poky/meta/recipes-devtools/pseudo/files/0002-Use-correct-file-descriptor.patch @@ -0,0 +1,53 @@ +From 7a0632cad851826d804db0540d9a59773e6bf29c Mon Sep 17 00:00:00 2001 +From: Seebs <seebs@seebs.net> +Date: Wed, 28 Sep 2016 22:12:29 -0500 +Subject: [PATCH 2/2] Use correct file descriptor + +So it turns out that pseudo_logfile() was returning 0 or -1, and +pseudo_debug_logfile() was expecting it to be the correct file descriptor +to use. And it's basically a mystery that any of that ever worked. + +Signed-off-by: Seebs <seebs@seebs.net> + +Upstream-Status: Backport +Signed-off-by: Robert Yang <liezhi.yang@windriver.com> +--- + ChangeLog.txt | 3 +++ + pseudo_util.c | 3 ++- + 2 files changed, 5 insertions(+), 1 deletion(-) + +diff --git a/ChangeLog.txt b/ChangeLog.txt +index 4cc24de..49a6c36 100644 +--- a/ChangeLog.txt ++++ b/ChangeLog.txt +@@ -2,6 +2,9 @@ + * (seebs) Send errors to log when daemonizing, but do that a lot + sooner to prevent startup messages which can show up spuriously + with multiple clients. ++ * (seebs) return file descriptor from pseudo_logfile, so we set ++ pseudo_util_debug_fd to the right value instead of to stdin. ++ Nice bug. + + 2016-07-28: + * (seebs) Fix performance issue on deletion with xattr changes. +diff --git a/pseudo_util.c b/pseudo_util.c +index 0c156cf..a60c74b 100644 +--- a/pseudo_util.c ++++ b/pseudo_util.c +@@ -1569,7 +1569,7 @@ pseudo_logfile(char *filename, char *defname, int prefer_fd) { + if (fd == -1) + return -1; + else +- return 0; ++ return fd; + } + + int +@@ -1579,6 +1579,7 @@ pseudo_debug_logfile(char *defname, int prefer_fd) { + + fd = pseudo_logfile(filename, defname, prefer_fd); + if (fd > -1) { ++ pseudo_diag("debug_logfile: fd %d\n", fd); + pseudo_util_debug_fd = fd; + return 0; + } diff --git a/import-layers/yocto-poky/meta/recipes-devtools/pseudo/files/0003-Fix-renameat-parallel-to-previous-fix-to-rename.patch b/import-layers/yocto-poky/meta/recipes-devtools/pseudo/files/0003-Fix-renameat-parallel-to-previous-fix-to-rename.patch new file mode 100644 index 000000000..739c03ee6 --- /dev/null +++ b/import-layers/yocto-poky/meta/recipes-devtools/pseudo/files/0003-Fix-renameat-parallel-to-previous-fix-to-rename.patch @@ -0,0 +1,64 @@ +From d9ab3a0acc94151048498b1ea4d69e7707df1526 Mon Sep 17 00:00:00 2001 +From: Seebs <seebs@seebs.net> +Date: Fri, 30 Sep 2016 10:56:35 -0500 +Subject: [PATCH 3/3] Fix renameat (parallel to previous fix to rename) + +There was a bug in rename(), which was duplicated when renameat() was +implemented, and which got fixed two years ago for rename(), but no +one ever uses renameat() so it didn't get fixed there. Thanks +to Anton Gerasimov <anton@advancedtelematic.com> for the bug report +and patch. + +Signed-off-by: Seebs <seebs@seebs.net> + +Upstream-Status: Backport +Signed-off-by: Joshua Lock <joshua.g.lock@intel.com> + +--- + ChangeLog.txt | 4 ++++ + ports/unix/guts/renameat.c | 7 ++++++- + 2 files changed, 10 insertions(+), 1 deletion(-) + +diff --git a/ChangeLog.txt b/ChangeLog.txt +index 65b9759..ca04cc0 100644 +--- a/ChangeLog.txt ++++ b/ChangeLog.txt +@@ -1,3 +1,7 @@ ++2016-09-30: ++ * (seebs) Fix rename at, matching fix from ee00f63d for rename. Bug ++ and fix provided by Anton Gerasimov <anton@advancedtelematic.com>. ++ + 2016-09-28: + * (seebs) Send errors to log when daemonizing, but do that a lot + sooner to prevent startup messages which can show up spuriously +diff --git a/ports/unix/guts/renameat.c b/ports/unix/guts/renameat.c +index ade0509..d5e36fa 100644 +--- a/ports/unix/guts/renameat.c ++++ b/ports/unix/guts/renameat.c +@@ -11,6 +11,7 @@ + int oldrc, newrc; + int save_errno; + int old_db_entry = 0; ++ int may_unlinked = 0; + + pseudo_debug(PDBGF_FILE, "renameat: %d,%s->%d,%s\n", + olddirfd, oldpath ? oldpath : "<nil>", +@@ -44,10 +45,14 @@ + /* as with unlink, we have to mark that the file may get deleted */ + msg = pseudo_client_op(OP_MAY_UNLINK, 0, -1, newdirfd, newpath, newrc ? NULL : &newbuf); + if (msg && msg->result == RESULT_SUCCEED) ++ may_unlinked = 1; ++ msg = pseudo_client_op(OP_STAT, 0, -1, olddirfd, oldpath, oldrc ? NULL : &oldbuf); ++ if (msg && msg->result == RESULT_SUCCEED) + old_db_entry = 1; ++ + rc = real_renameat(olddirfd, oldpath, newdirfd, newpath); + save_errno = errno; +- if (old_db_entry) { ++ if (may_unlinked) { + if (rc == -1) { + /* since we failed, that wasn't really unlinked -- put + * it back. +-- +2.7.4 + diff --git a/import-layers/yocto-poky/meta/recipes-devtools/pseudo/files/Fix-xattr-performance.patch b/import-layers/yocto-poky/meta/recipes-devtools/pseudo/files/Fix-xattr-performance.patch new file mode 100644 index 000000000..4e072e6c4 --- /dev/null +++ b/import-layers/yocto-poky/meta/recipes-devtools/pseudo/files/Fix-xattr-performance.patch @@ -0,0 +1,117 @@ +From 0d9071f3090bbd7880558f3b488b236ac19b44fc Mon Sep 17 00:00:00 2001 +From: seebs <seebs@seebs.net> +Date: Thu, 28 Jul 2016 14:02:12 -0500 +Subject: [PATCH 1/2] Fix xattr performance + +When deleting files, we *do* know the inode and attribute, most of the +time, so we pass those in whenever possible. The full purge of unmatched +xattrs should not happen when the correct dev/ino are believed to be known. + +Signed-off-by: Seebs <seebs@seebs.net> + +[YOCTO #9929] +Upstream-Status: Backport (0d9071f3090bbd7880558f3b488b236ac19b44fc) +Signed-off-by: Joshua Lock <joshua.g.lock@intel.com> +--- + ChangeLog.txt | 3 +++ + pseudo.c | 11 ++++++++--- + pseudo_db.c | 15 +++++++++------ + pseudo_db.h | 2 +- + 4 files changed, 21 insertions(+), 10 deletions(-) + +diff --git a/ChangeLog.txt b/ChangeLog.txt +index 131f163..d6359ca 100644 +--- a/ChangeLog.txt ++++ b/ChangeLog.txt +@@ -1,3 +1,6 @@ ++2016-07-28: ++ * (seebs) Fix performance issue on deletion with xattr changes. ++ + 2016-07-08: + * (RP) release 1.8.1 + * (joshuagl) Fix log table creation issue +diff --git a/pseudo.c b/pseudo.c +index 52f649f..db1c400 100644 +--- a/pseudo.c ++++ b/pseudo.c +@@ -600,7 +600,12 @@ pseudo_op(pseudo_msg_t *msg, const char *program, const char *tag, char **respon + if (by_path.deleting != 0) { + pseudo_debug(PDBGF_FILE, "inode mismatch for '%s' -- old one was marked for deletion, deleting.\n", + msg->path); +- pdb_did_unlink_file(msg->path, by_path.deleting); ++ /* in this case, we don't trust the ++ * existing entries, so we will do the ++ * more expensive sweep for stray ++ * xattrs. ++ */ ++ pdb_did_unlink_file(msg->path, NULL, by_path.deleting); + } else { + pseudo_diag("inode mismatch: '%s' ino %llu in db, %llu in request.\n", + msg->path, +@@ -698,7 +703,7 @@ pseudo_op(pseudo_msg_t *msg, const char *program, const char *tag, char **respon + if (by_ino.deleting != 0) { + pseudo_debug(PDBGF_FILE, "inode mismatch for '%s' -- old one was marked for deletion, deleting.\n", + msg->path); +- pdb_did_unlink_file(path_by_ino, by_ino.deleting); ++ pdb_did_unlink_file(path_by_ino, &by_ino, by_ino.deleting); + } else { + pseudo_diag("path mismatch [%d link%s]: ino %llu db '%s' req '%s'.\n", + msg->nlink, +@@ -930,7 +935,7 @@ pseudo_op(pseudo_msg_t *msg, const char *program, const char *tag, char **respon + } + break; + case OP_DID_UNLINK: +- pdb_did_unlink_file(msg->path, msg->client); ++ pdb_did_unlink_file(msg->path, msg, msg->client); + break; + case OP_CANCEL_UNLINK: + pdb_cancel_unlink_file(msg); +diff --git a/pseudo_db.c b/pseudo_db.c +index 289bb29..e7dd193 100644 +--- a/pseudo_db.c ++++ b/pseudo_db.c +@@ -1848,7 +1848,7 @@ pdb_did_unlink_files(int deleting) { + + /* confirm deletion of a specific file by a given client */ + int +-pdb_did_unlink_file(char *path, int deleting) { ++pdb_did_unlink_file(char *path, pseudo_msg_t *msg, int deleting) { + static sqlite3_stmt *delete_exact; + int rc, exact; + char *sql_delete_exact = "DELETE FROM files WHERE path = ? AND deleting = ?;"; +@@ -1878,11 +1878,14 @@ pdb_did_unlink_file(char *path, int deleting) { + exact = sqlite3_changes(file_db); + pseudo_debug(PDBGF_DB, "(exact %d)\n", exact); + sqlite3_reset(delete_exact); +- sqlite3_clear_bindings(delete_exact); +- /* we have to clean everything because we don't know for sure the +- * device/inode... +- */ +- pdb_clear_unused_xattrs(); ++ if (msg) { ++ pdb_clear_xattrs(msg); ++ } else { ++ /* we have to clean everything because we don't know for sure the ++ * device/inode... ++ */ ++ pdb_clear_unused_xattrs(); ++ } + return rc != SQLITE_DONE; + } + +diff --git a/pseudo_db.h b/pseudo_db.h +index a54f3c1..1b2599c 100644 +--- a/pseudo_db.h ++++ b/pseudo_db.h +@@ -39,7 +39,7 @@ typedef struct { + + extern int pdb_maybe_backup(void); + extern int pdb_cancel_unlink_file(pseudo_msg_t *msg); +-extern int pdb_did_unlink_file(char *path, int deleting); ++extern int pdb_did_unlink_file(char *path, pseudo_msg_t *msg, int deleting); + extern int pdb_did_unlink_files(int deleting); + extern int pdb_link_file(pseudo_msg_t *msg); + extern int pdb_may_unlink_file(pseudo_msg_t *msg, int deleting); +-- +2.7.4 + diff --git a/import-layers/yocto-poky/meta/recipes-devtools/pseudo/files/fallback-group b/import-layers/yocto-poky/meta/recipes-devtools/pseudo/files/fallback-group index 81bf73231..bb3dbca60 100644 --- a/import-layers/yocto-poky/meta/recipes-devtools/pseudo/files/fallback-group +++ b/import-layers/yocto-poky/meta/recipes-devtools/pseudo/files/fallback-group @@ -1,2 +1,3 @@ root:*:0: mail:*:8: +nobody:*:99: diff --git a/import-layers/yocto-poky/meta/recipes-devtools/pseudo/files/fallback-passwd b/import-layers/yocto-poky/meta/recipes-devtools/pseudo/files/fallback-passwd index c1458dc0f..0889c5704 100644 --- a/import-layers/yocto-poky/meta/recipes-devtools/pseudo/files/fallback-passwd +++ b/import-layers/yocto-poky/meta/recipes-devtools/pseudo/files/fallback-passwd @@ -1 +1,2 @@ root::0:0:root:/home/root:/bin/sh +nobody:*:65534:65534:nobody:/nonexistent:/bin/sh diff --git a/import-layers/yocto-poky/meta/recipes-devtools/pseudo/files/handle-remove-xattr.patch b/import-layers/yocto-poky/meta/recipes-devtools/pseudo/files/handle-remove-xattr.patch deleted file mode 100644 index 8b7f30c66..000000000 --- a/import-layers/yocto-poky/meta/recipes-devtools/pseudo/files/handle-remove-xattr.patch +++ /dev/null @@ -1,36 +0,0 @@ -From a24cf102967a4966bfabe36c3542fb65f35bf539 Mon Sep 17 00:00:00 2001 -From: Peter Seebach <peter.seebach@windriver.com> -Date: Wed, 23 Mar 2016 11:55:25 -0500 -Subject: actually handle remove_xattr correctly - -The path is required but wasn't being extracted from the client's message, -resulting in xattr removal never working. This does not fully address some -deeper problems with the xattr implementation, but at least the common -removal case works. - -Upstream-Status: Backport - -Index: pseudo-1.7.5/ChangeLog.txt -=================================================================== ---- pseudo-1.7.5.orig/ChangeLog.txt -+++ pseudo-1.7.5/ChangeLog.txt -@@ -1,3 +1,7 @@ -+2016-03-22: -+ * (seebs) extract path from message for remove_xattr so it -+ actually works. -+ - 2016-02-09: - * (seebs) 1.7.5 release - -Index: pseudo-1.7.5/pseudo.c -=================================================================== ---- pseudo-1.7.5.orig/pseudo.c -+++ pseudo-1.7.5/pseudo.c -@@ -543,6 +543,7 @@ pseudo_op(pseudo_msg_t *msg, const char - case OP_GET_XATTR: - case OP_LIST_XATTR: - case OP_REPLACE_XATTR: -+ case OP_REMOVE_XATTR: - case OP_SET_XATTR: - /* In a rename there are two paths, null separated in msg->path */ - initial_len = strlen(msg->path); diff --git a/import-layers/yocto-poky/meta/recipes-devtools/pseudo/files/moreretries.patch b/import-layers/yocto-poky/meta/recipes-devtools/pseudo/files/moreretries.patch index c1e555236..adea2665b 100644 --- a/import-layers/yocto-poky/meta/recipes-devtools/pseudo/files/moreretries.patch +++ b/import-layers/yocto-poky/meta/recipes-devtools/pseudo/files/moreretries.patch @@ -4,15 +4,15 @@ server shutdowns. Upstream-Status: Pending RP 2016/2/28 -Index: pseudo-1.7.5/pseudo_client.c +Index: git/pseudo_client.c =================================================================== ---- pseudo-1.7.5.orig/pseudo_client.c -+++ pseudo-1.7.5/pseudo_client.c -@@ -1214,7 +1214,7 @@ pseudo_client_setup(void) { - return 1; +--- git.orig/pseudo_client.c ++++ git/pseudo_client.c +@@ -1282,7 +1282,7 @@ pseudo_client_setup(void) { + } } --#define PSEUDO_RETRIES 50 +-#define PSEUDO_RETRIES 20 +#define PSEUDO_RETRIES 250 static pseudo_msg_t * pseudo_client_request(pseudo_msg_t *msg, size_t len, const char *path) { diff --git a/import-layers/yocto-poky/meta/recipes-devtools/pseudo/pseudo.inc b/import-layers/yocto-poky/meta/recipes-devtools/pseudo/pseudo.inc index 0de7b3615..18ce9f925 100644 --- a/import-layers/yocto-poky/meta/recipes-devtools/pseudo/pseudo.inc +++ b/import-layers/yocto-poky/meta/recipes-devtools/pseudo/pseudo.inc @@ -26,6 +26,8 @@ do_configure () { NO32LIBS ??= "1" NO32LIBS_class-nativesdk = "1" +PSEUDO_EXTRA_OPTS ?= "--enable-force-async --without-passwd-fallback" + # Compile for the local machine arch... do_compile () { if [ "${SITEINFO_BITS}" = "64" ]; then @@ -112,10 +114,15 @@ do_install () { oe_runmake 'DESTDIR=${D}' ${MAKEOPTS} 'LIB=lib/pseudo/lib$(MARK64)' install } -# Two below are the same -# If necessary install for the alternative machine arch. This is only -# necessary in a native build. do_install_append_class-native () { + install -d ${D}${sysconfdir} + # The fallback files should never be modified + install -m 444 ${WORKDIR}/fallback-passwd ${D}${sysconfdir}/passwd + install -m 444 ${WORKDIR}/fallback-group ${D}${sysconfdir}/group + + # Two native/nativesdk entries below are the same + # If necessary install for the alternative machine arch. This is only + # necessary in a native build. maybe_make32 if $make32; then mkdir -p ${D}${prefix}/lib/pseudo/lib @@ -129,6 +136,7 @@ do_install_append_class-nativesdk () { mkdir -p ${D}${prefix}/lib/pseudo/lib cp lib/pseudo/lib/libpseudo.so ${D}${prefix}/lib/pseudo/lib/. fi + chrpath -d ${D}${prefix}/lib/pseudo/lib*/libpseudo.so } BBCLASSEXTEND = "native nativesdk" diff --git a/import-layers/yocto-poky/meta/recipes-devtools/pseudo/pseudo_1.6.7.bb b/import-layers/yocto-poky/meta/recipes-devtools/pseudo/pseudo_1.6.7.bb deleted file mode 100644 index b8c20ad65..000000000 --- a/import-layers/yocto-poky/meta/recipes-devtools/pseudo/pseudo_1.6.7.bb +++ /dev/null @@ -1,19 +0,0 @@ -require pseudo.inc - -SRC_URI = " \ - http://downloads.yoctoproject.org/releases/pseudo/${BPN}-${PV}.tar.bz2 \ - file://fallback-passwd \ - file://fallback-group \ -" - -SRC_URI[md5sum] = "4cd39502f9bd0e734dee80e08b28a5f1" -SRC_URI[sha256sum] = "9f2caca5f1579a376a509cd81a81156fc208650add9f0af275da9e911f18f291" - -PSEUDO_EXTRA_OPTS ?= "--enable-force-async --without-passwd-fallback" - -do_install_append_class-native () { - install -d ${D}${sysconfdir} - # The fallback files should never be modified - install -m 444 ${WORKDIR}/fallback-passwd ${D}${sysconfdir}/passwd - install -m 444 ${WORKDIR}/fallback-group ${D}${sysconfdir}/group -} diff --git a/import-layers/yocto-poky/meta/recipes-devtools/pseudo/pseudo_1.7.5.bb b/import-layers/yocto-poky/meta/recipes-devtools/pseudo/pseudo_1.7.5.bb deleted file mode 100644 index d90e64445..000000000 --- a/import-layers/yocto-poky/meta/recipes-devtools/pseudo/pseudo_1.7.5.bb +++ /dev/null @@ -1,22 +0,0 @@ -require pseudo.inc - -SRC_URI = " \ - http://downloads.yoctoproject.org/releases/pseudo/${BPN}-${PV}.tar.bz2 \ - file://0001-configure-Prune-PIE-flags.patch \ - file://fallback-passwd \ - file://fallback-group \ - file://moreretries.patch \ - file://handle-remove-xattr.patch \ -" - -SRC_URI[md5sum] = "c10209938f03128d0c193f041ff3596d" -SRC_URI[sha256sum] = "fd89cadec984d3b8202aca465898b1bb4350e0d63ba9aa9ac899f6f50270e688" - -PSEUDO_EXTRA_OPTS ?= "--enable-force-async --without-passwd-fallback" - -do_install_append_class-native () { - install -d ${D}${sysconfdir} - # The fallback files should never be modified - install -m 444 ${WORKDIR}/fallback-passwd ${D}${sysconfdir}/passwd - install -m 444 ${WORKDIR}/fallback-group ${D}${sysconfdir}/group -} diff --git a/import-layers/yocto-poky/meta/recipes-devtools/pseudo/pseudo_1.8.1.bb b/import-layers/yocto-poky/meta/recipes-devtools/pseudo/pseudo_1.8.1.bb new file mode 100644 index 000000000..fb70034b4 --- /dev/null +++ b/import-layers/yocto-poky/meta/recipes-devtools/pseudo/pseudo_1.8.1.bb @@ -0,0 +1,16 @@ +require pseudo.inc + +SRC_URI = "http://downloads.yoctoproject.org/releases/pseudo/${BPN}-${PV}.tar.bz2 \ + file://0001-configure-Prune-PIE-flags.patch \ + file://fallback-passwd \ + file://fallback-group \ + file://moreretries.patch \ + file://Fix-xattr-performance.patch \ + file://0001-Don-t-send-SIGUSR1-to-init.patch \ + file://0001-Quiet-diagnostics-during-startup-for-pseudo-d.patch \ + file://0002-Use-correct-file-descriptor.patch \ + file://0003-Fix-renameat-parallel-to-previous-fix-to-rename.patch \ + " + +SRC_URI[md5sum] = "ee38e4fb62ff88ad067b1a5a3825bac7" +SRC_URI[sha256sum] = "dac4ad2d21228053151121320f629d41dd5c0c87695ac4e7aea286c414192ab5" diff --git a/import-layers/yocto-poky/meta/recipes-devtools/pseudo/pseudo_git.bb b/import-layers/yocto-poky/meta/recipes-devtools/pseudo/pseudo_git.bb index abff1cfd3..8110b1a19 100644 --- a/import-layers/yocto-poky/meta/recipes-devtools/pseudo/pseudo_git.bb +++ b/import-layers/yocto-poky/meta/recipes-devtools/pseudo/pseudo_git.bb @@ -1,11 +1,15 @@ require pseudo.inc -SRCREV = "786c6d3813622d18e12d36c4aa722af6a417c8fa" -PV = "1.7.5+git${SRCPV}" +SRCREV = "befc6dbd6469d428c9e0830dbe51bdf7ac39d9ae" +PV = "1.8.1+git${SRCPV}" DEFAULT_PREFERENCE = "-1" -SRC_URI = "git://git.yoctoproject.org/pseudo" +SRC_URI = "git://git.yoctoproject.org/pseudo \ + file://0001-configure-Prune-PIE-flags.patch \ + file://fallback-passwd \ + file://fallback-group \ + file://moreretries.patch" S = "${WORKDIR}/git" diff --git a/import-layers/yocto-poky/meta/recipes-devtools/python/python-numpy/0001-Don-t-search-usr-and-so-on-for-libraries-by-default-.patch b/import-layers/yocto-poky/meta/recipes-devtools/python-numpy/files/0001-Don-t-search-usr-and-so-on-for-libraries-by-default-.patch index 5b134edf0..5b134edf0 100644 --- a/import-layers/yocto-poky/meta/recipes-devtools/python/python-numpy/0001-Don-t-search-usr-and-so-on-for-libraries-by-default-.patch +++ b/import-layers/yocto-poky/meta/recipes-devtools/python-numpy/files/0001-Don-t-search-usr-and-so-on-for-libraries-by-default-.patch diff --git a/import-layers/yocto-poky/meta/recipes-devtools/python/python-numpy/aarch64/_numpyconfig.h b/import-layers/yocto-poky/meta/recipes-devtools/python-numpy/files/aarch64/_numpyconfig.h index 191e5a19e..109deb043 100644 --- a/import-layers/yocto-poky/meta/recipes-devtools/python/python-numpy/aarch64/_numpyconfig.h +++ b/import-layers/yocto-poky/meta/recipes-devtools/python-numpy/files/aarch64/_numpyconfig.h @@ -11,6 +11,7 @@ #define NPY_SIZEOF_PY_INTPTR_T 8 #define NPY_SIZEOF_PY_LONG_LONG 8 #define NPY_SIZEOF_LONGLONG 8 +#define NPY_SIZEOF_OFF_T 8 #define NPY_NO_SMP 0 #define NPY_HAVE_DECL_ISNAN #define NPY_HAVE_DECL_ISINF diff --git a/import-layers/yocto-poky/meta/recipes-devtools/python/python-numpy/aarch64/config.h b/import-layers/yocto-poky/meta/recipes-devtools/python-numpy/files/aarch64/config.h index c30b868f2..c30b868f2 100644 --- a/import-layers/yocto-poky/meta/recipes-devtools/python/python-numpy/aarch64/config.h +++ b/import-layers/yocto-poky/meta/recipes-devtools/python-numpy/files/aarch64/config.h diff --git a/import-layers/yocto-poky/meta/recipes-devtools/python/python-numpy/arm/config.h b/import-layers/yocto-poky/meta/recipes-devtools/python-numpy/files/arm/config.h index 17ef186d5..17ef186d5 100644 --- a/import-layers/yocto-poky/meta/recipes-devtools/python/python-numpy/arm/config.h +++ b/import-layers/yocto-poky/meta/recipes-devtools/python-numpy/files/arm/config.h diff --git a/import-layers/yocto-poky/meta/recipes-devtools/python/python-numpy/arm/numpyconfig.h b/import-layers/yocto-poky/meta/recipes-devtools/python-numpy/files/arm/numpyconfig.h index c4bf6547f..c4bf6547f 100644 --- a/import-layers/yocto-poky/meta/recipes-devtools/python/python-numpy/arm/numpyconfig.h +++ b/import-layers/yocto-poky/meta/recipes-devtools/python-numpy/files/arm/numpyconfig.h diff --git a/import-layers/yocto-poky/meta/recipes-devtools/python/python-numpy/armeb/config.h b/import-layers/yocto-poky/meta/recipes-devtools/python-numpy/files/armeb/config.h index 17ef186d5..17ef186d5 100644 --- a/import-layers/yocto-poky/meta/recipes-devtools/python/python-numpy/armeb/config.h +++ b/import-layers/yocto-poky/meta/recipes-devtools/python-numpy/files/armeb/config.h diff --git a/import-layers/yocto-poky/meta/recipes-devtools/python/python-numpy/armeb/numpyconfig.h b/import-layers/yocto-poky/meta/recipes-devtools/python-numpy/files/armeb/numpyconfig.h index c4bf6547f..c4bf6547f 100644 --- a/import-layers/yocto-poky/meta/recipes-devtools/python/python-numpy/armeb/numpyconfig.h +++ b/import-layers/yocto-poky/meta/recipes-devtools/python-numpy/files/armeb/numpyconfig.h diff --git a/import-layers/yocto-poky/meta/recipes-devtools/python-numpy/files/fix_shebang_f2py.patch b/import-layers/yocto-poky/meta/recipes-devtools/python-numpy/files/fix_shebang_f2py.patch new file mode 100644 index 000000000..8be6e4d21 --- /dev/null +++ b/import-layers/yocto-poky/meta/recipes-devtools/python-numpy/files/fix_shebang_f2py.patch @@ -0,0 +1,29 @@ +Upstream-Status: Inappropriate [embedded specific] + +Avoids using python from the HOSTs native sysroot for f2py, +uses TARGET env python instead. + +Signed-off-by: Alejandro Hernandez <alejandro.hernandez@linux.intel.com> + +Index: numpy-1.11.0/numpy/f2py/setup.py +=================================================================== +--- numpy-1.11.0.orig/numpy/f2py/setup.py ++++ numpy-1.11.0/numpy/f2py/setup.py +@@ -37,10 +37,13 @@ def _get_f2py_shebang(): + should be ``#!python`` rather than ``#!`` followed by the contents of + ``sys.executable``. + """ +- if set(('bdist_wheel', 'bdist_egg', 'bdist_wininst', +- 'bdist_rpm')).intersection(sys.argv): +- return '#!python' +- return '#!' + sys.executable ++ #if set(('bdist_wheel', 'bdist_egg', 'bdist_wininst', ++ # 'bdist_rpm')).intersection(sys.argv): ++ # return '#!python' ++ #return '#!' + sys.executable ++ ++ # On OE, we need to avoid using the HOSTs python-native, we return env python instead ++ return '#!/usr/bin/env python' + + + def configuration(parent_package='', top_path=None): diff --git a/import-layers/yocto-poky/meta/recipes-devtools/python/python-numpy/mips/_numpyconfig.h b/import-layers/yocto-poky/meta/recipes-devtools/python-numpy/files/mips/_numpyconfig.h index 05d2b8b94..4c465c216 100644 --- a/import-layers/yocto-poky/meta/recipes-devtools/python/python-numpy/mips/_numpyconfig.h +++ b/import-layers/yocto-poky/meta/recipes-devtools/python-numpy/files/mips/_numpyconfig.h @@ -12,6 +12,7 @@ #define NPY_SIZEOF_PY_INTPTR_T 4 #define NPY_SIZEOF_PY_LONG_LONG 8 #define NPY_SIZEOF_LONGLONG 8 +#define NPY_SIZEOF_OFF_T 8 #define NPY_NO_SMP 0 #define NPY_HAVE_DECL_ISNAN #define NPY_HAVE_DECL_ISINF diff --git a/import-layers/yocto-poky/meta/recipes-devtools/python/python-numpy/mips/config.h b/import-layers/yocto-poky/meta/recipes-devtools/python-numpy/files/mips/config.h index 2f6135adc..2f6135adc 100644 --- a/import-layers/yocto-poky/meta/recipes-devtools/python/python-numpy/mips/config.h +++ b/import-layers/yocto-poky/meta/recipes-devtools/python-numpy/files/mips/config.h diff --git a/import-layers/yocto-poky/meta/recipes-devtools/python/python-numpy/powerpc64/_numpyconfig.h b/import-layers/yocto-poky/meta/recipes-devtools/python-numpy/files/mips64/_numpyconfig.h index 8e2b5d094..debb39009 100644 --- a/import-layers/yocto-poky/meta/recipes-devtools/python/python-numpy/powerpc64/_numpyconfig.h +++ b/import-layers/yocto-poky/meta/recipes-devtools/python-numpy/files/mips64/_numpyconfig.h @@ -12,6 +12,7 @@ #define NPY_SIZEOF_PY_INTPTR_T 8 #define NPY_SIZEOF_PY_LONG_LONG 8 #define NPY_SIZEOF_LONGLONG 8 +#define NPY_SIZEOF_OFF_T 8 #define NPY_NO_SMP 0 #define NPY_HAVE_DECL_ISNAN #define NPY_HAVE_DECL_ISINF diff --git a/import-layers/yocto-poky/meta/recipes-devtools/python/python-numpy/mips64/config.h b/import-layers/yocto-poky/meta/recipes-devtools/python-numpy/files/mips64/config.h index c30b868f2..c30b868f2 100644 --- a/import-layers/yocto-poky/meta/recipes-devtools/python/python-numpy/mips64/config.h +++ b/import-layers/yocto-poky/meta/recipes-devtools/python-numpy/files/mips64/config.h diff --git a/import-layers/yocto-poky/meta/recipes-devtools/python/python-numpy/mips64/_numpyconfig.h b/import-layers/yocto-poky/meta/recipes-devtools/python-numpy/files/mips64n32/_numpyconfig.h index 8e2b5d094..8e2b5d094 100644 --- a/import-layers/yocto-poky/meta/recipes-devtools/python/python-numpy/mips64/_numpyconfig.h +++ b/import-layers/yocto-poky/meta/recipes-devtools/python-numpy/files/mips64n32/_numpyconfig.h diff --git a/import-layers/yocto-poky/meta/recipes-devtools/python/python-numpy/mips64n32/config.h b/import-layers/yocto-poky/meta/recipes-devtools/python-numpy/files/mips64n32/config.h index c30b868f2..c30b868f2 100644 --- a/import-layers/yocto-poky/meta/recipes-devtools/python/python-numpy/mips64n32/config.h +++ b/import-layers/yocto-poky/meta/recipes-devtools/python-numpy/files/mips64n32/config.h diff --git a/import-layers/yocto-poky/meta/recipes-devtools/python/python-numpy/mipsel/config.h b/import-layers/yocto-poky/meta/recipes-devtools/python-numpy/files/mipsel/config.h index 17ef186d5..17ef186d5 100644 --- a/import-layers/yocto-poky/meta/recipes-devtools/python/python-numpy/mipsel/config.h +++ b/import-layers/yocto-poky/meta/recipes-devtools/python-numpy/files/mipsel/config.h diff --git a/import-layers/yocto-poky/meta/recipes-devtools/python/python-numpy/mipsel/numpyconfig.h b/import-layers/yocto-poky/meta/recipes-devtools/python-numpy/files/mipsel/numpyconfig.h index c4bf6547f..0b7cd51af 100644 --- a/import-layers/yocto-poky/meta/recipes-devtools/python/python-numpy/mipsel/numpyconfig.h +++ b/import-layers/yocto-poky/meta/recipes-devtools/python-numpy/files/mipsel/numpyconfig.h @@ -13,5 +13,6 @@ #define NPY_SIZEOF_LONGLONG 8 #define NPY_SIZEOF_PY_LONG_LONG 8 +#define NPY_SIZEOF_OFF_T 8 /* #define CHAR_BIT 8 */ diff --git a/import-layers/yocto-poky/meta/recipes-devtools/python/python-numpy/powerpc/_numpyconfig.h b/import-layers/yocto-poky/meta/recipes-devtools/python-numpy/files/powerpc/_numpyconfig.h index 0f45d5bd4..6e7262ad9 100644 --- a/import-layers/yocto-poky/meta/recipes-devtools/python/python-numpy/powerpc/_numpyconfig.h +++ b/import-layers/yocto-poky/meta/recipes-devtools/python-numpy/files/powerpc/_numpyconfig.h @@ -12,6 +12,7 @@ #define NPY_SIZEOF_PY_INTPTR_T 4 #define NPY_SIZEOF_PY_LONG_LONG 8 #define NPY_SIZEOF_LONGLONG 8 +#define NPY_SIZEOF_OFF_T 8 #define NPY_NO_SMP 0 #define NPY_HAVE_DECL_ISNAN #define NPY_HAVE_DECL_ISINF diff --git a/import-layers/yocto-poky/meta/recipes-devtools/python/python-numpy/powerpc/config.h b/import-layers/yocto-poky/meta/recipes-devtools/python-numpy/files/powerpc/config.h index f65d39d5d..f65d39d5d 100644 --- a/import-layers/yocto-poky/meta/recipes-devtools/python/python-numpy/powerpc/config.h +++ b/import-layers/yocto-poky/meta/recipes-devtools/python-numpy/files/powerpc/config.h diff --git a/import-layers/yocto-poky/meta/recipes-devtools/python/python-numpy/mips64n32/_numpyconfig.h b/import-layers/yocto-poky/meta/recipes-devtools/python-numpy/files/powerpc64/_numpyconfig.h index 8e2b5d094..debb39009 100644 --- a/import-layers/yocto-poky/meta/recipes-devtools/python/python-numpy/mips64n32/_numpyconfig.h +++ b/import-layers/yocto-poky/meta/recipes-devtools/python-numpy/files/powerpc64/_numpyconfig.h @@ -12,6 +12,7 @@ #define NPY_SIZEOF_PY_INTPTR_T 8 #define NPY_SIZEOF_PY_LONG_LONG 8 #define NPY_SIZEOF_LONGLONG 8 +#define NPY_SIZEOF_OFF_T 8 #define NPY_NO_SMP 0 #define NPY_HAVE_DECL_ISNAN #define NPY_HAVE_DECL_ISINF diff --git a/import-layers/yocto-poky/meta/recipes-devtools/python/python-numpy/powerpc64/config.h b/import-layers/yocto-poky/meta/recipes-devtools/python-numpy/files/powerpc64/config.h index c30b868f2..c30b868f2 100644 --- a/import-layers/yocto-poky/meta/recipes-devtools/python/python-numpy/powerpc64/config.h +++ b/import-layers/yocto-poky/meta/recipes-devtools/python-numpy/files/powerpc64/config.h diff --git a/import-layers/yocto-poky/meta/recipes-devtools/python/python-numpy/remove-build-path-in-comments.patch b/import-layers/yocto-poky/meta/recipes-devtools/python-numpy/files/remove-build-path-in-comments.patch index eb8a71a2e..eb8a71a2e 100644 --- a/import-layers/yocto-poky/meta/recipes-devtools/python/python-numpy/remove-build-path-in-comments.patch +++ b/import-layers/yocto-poky/meta/recipes-devtools/python-numpy/files/remove-build-path-in-comments.patch diff --git a/import-layers/yocto-poky/meta/recipes-devtools/python/python-numpy/x86-64/_numpyconfig.h b/import-layers/yocto-poky/meta/recipes-devtools/python-numpy/files/x86-64/_numpyconfig.h index b33036164..b33036164 100644 --- a/import-layers/yocto-poky/meta/recipes-devtools/python/python-numpy/x86-64/_numpyconfig.h +++ b/import-layers/yocto-poky/meta/recipes-devtools/python-numpy/files/x86-64/_numpyconfig.h diff --git a/import-layers/yocto-poky/meta/recipes-devtools/python/python-numpy/x86-64/config.h b/import-layers/yocto-poky/meta/recipes-devtools/python-numpy/files/x86-64/config.h index 0ce63b7d2..0ce63b7d2 100644 --- a/import-layers/yocto-poky/meta/recipes-devtools/python/python-numpy/x86-64/config.h +++ b/import-layers/yocto-poky/meta/recipes-devtools/python-numpy/files/x86-64/config.h diff --git a/import-layers/yocto-poky/meta/recipes-devtools/python/python-numpy/x86/config.h b/import-layers/yocto-poky/meta/recipes-devtools/python-numpy/files/x86/config.h index 08e41e3d9..08e41e3d9 100644 --- a/import-layers/yocto-poky/meta/recipes-devtools/python/python-numpy/x86/config.h +++ b/import-layers/yocto-poky/meta/recipes-devtools/python-numpy/files/x86/config.h diff --git a/import-layers/yocto-poky/meta/recipes-devtools/python/python-numpy/x86/numpyconfig.h b/import-layers/yocto-poky/meta/recipes-devtools/python-numpy/files/x86/numpyconfig.h index ff7938cd9..ff7938cd9 100644 --- a/import-layers/yocto-poky/meta/recipes-devtools/python/python-numpy/x86/numpyconfig.h +++ b/import-layers/yocto-poky/meta/recipes-devtools/python-numpy/files/x86/numpyconfig.h diff --git a/import-layers/yocto-poky/meta/recipes-devtools/python/python-numpy_1.10.4.bb b/import-layers/yocto-poky/meta/recipes-devtools/python-numpy/python-numpy_1.11.1.bb index 8a562dcb9..c5af720a9 100644 --- a/import-layers/yocto-poky/meta/recipes-devtools/python/python-numpy_1.10.4.bb +++ b/import-layers/yocto-poky/meta/recipes-devtools/python-numpy/python-numpy_1.11.1.bb @@ -1,13 +1,16 @@ SUMMARY = "A sophisticated Numeric Processing Package for Python" SECTION = "devel/python" LICENSE = "PSF" -LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=9f4e88b5748e8313caaf33d081ce65a3" +LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=7e51a5677b22b865abbfb3dff6ffb2d0" -SRC_URI = "${SOURCEFORGE_MIRROR}/numpy/numpy-${PV}.tar.gz \ +SRCNAME = "numpy" + +SRC_URI = "https://files.pythonhosted.org/packages/source/n/${SRCNAME}/${SRCNAME}-${PV}.tar.gz \ file://0001-Don-t-search-usr-and-so-on-for-libraries-by-default-.patch \ file://remove-build-path-in-comments.patch \ - file://add-glibc-check.patch \ + file://fix_shebang_f2py.patch \ ${CONFIGFILESURI} " +UPSTREAM_CHECK_URI = "https://sourceforge.net/projects/numpy/files/" CONFIGFILESURI ?= "" @@ -58,12 +61,11 @@ CONFIGFILESURI_mips64n32 = " \ S = "${WORKDIR}/numpy-${PV}" -inherit distutils +inherit setuptools # Make the build fail and replace *config.h with proper one # This is a ugly, ugly hack - Koen do_compile_prepend_class-target() { - BUILD_SYS=${BUILD_SYS} HOST_SYS=${HOST_SYS} \ ${STAGING_BINDIR_NATIVE}/python-native/python setup.py build ${DISTUTILS_BUILD_ARGS} || \ true cp ${WORKDIR}/*config.h ${S}/build/$(ls ${S}/build | grep src)/numpy/core/include/numpy/ @@ -71,8 +73,8 @@ do_compile_prepend_class-target() { FILES_${PN}-staticdev += "${PYTHON_SITEPACKAGES_DIR}/numpy/core/lib/*.a" -SRC_URI[md5sum] = "90bb9034652cefbada19cf7d141a6a61" -SRC_URI[sha256sum] = "f7f91842056a7cf680b0eaf8cefc5e46c69e2521e651128d2e6aaaccec8652ae" +SRC_URI[md5sum] = "2f44a895a8104ffac140c3a70edbd450" +SRC_URI[sha256sum] = "dc4082c43979cc856a2bf352a8297ea109ccb3244d783ae067eb2ee5b0d577cd" # install what is needed for numpy.test() RDEPENDS_${PN} = "python-unittest \ diff --git a/import-layers/yocto-poky/meta/recipes-devtools/python-numpy/python3-numpy_1.11.0.bb b/import-layers/yocto-poky/meta/recipes-devtools/python-numpy/python3-numpy_1.11.0.bb new file mode 100644 index 000000000..3cca2239d --- /dev/null +++ b/import-layers/yocto-poky/meta/recipes-devtools/python-numpy/python3-numpy_1.11.0.bb @@ -0,0 +1,105 @@ +SUMMARY = "A sophisticated Numeric Processing Package for Python" +SECTION = "devel/python" +LICENSE = "PSF" +LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=7e51a5677b22b865abbfb3dff6ffb2d0" + +SRCNAME = "numpy" + +SRC_URI = "https://files.pythonhosted.org/packages/source/n/${SRCNAME}/${SRCNAME}-${PV}.tar.gz \ + file://0001-Don-t-search-usr-and-so-on-for-libraries-by-default-.patch \ + file://remove-build-path-in-comments.patch \ + file://fix_shebang_f2py.patch \ + ${CONFIGFILESURI} " +UPSTREAM_CHECK_URI = "https://sourceforge.net/projects/numpy/files/" + +CONFIGFILESURI ?= "" + +CONFIGFILESURI_aarch64 = " \ + file://config.h \ + file://_numpyconfig.h \ +" +CONFIGFILESURI_arm = " \ + file://config.h \ + file://numpyconfig.h \ +" +CONFIGFILESURI_armeb = " \ + file://config.h \ + file://numpyconfig.h \ +" +CONFIGFILESURI_mipsel = " \ + file://config.h \ + file://numpyconfig.h \ +" +CONFIGFILESURI_x86 = " \ + file://config.h \ + file://numpyconfig.h \ +" +CONFIGFILESURI_x86-64 = " \ + file://config.h \ + file://_numpyconfig.h \ +" +CONFIGFILESURI_mips = " \ + file://config.h \ + file://_numpyconfig.h \ +" +CONFIGFILESURI_powerpc = " \ + file://config.h \ + file://_numpyconfig.h \ +" +CONFIGFILESURI_powerpc64 = " \ + file://config.h \ + file://_numpyconfig.h \ +" +CONFIGFILESURI_mips64 = " \ + file://config.h \ + file://_numpyconfig.h \ +" +CONFIGFILESURI_mips64n32 = " \ + file://config.h \ + file://_numpyconfig.h \ +" + +S = "${WORKDIR}/numpy-${PV}" + +inherit setuptools3 + +# Make the build fail and replace *config.h with proper one +# This is a ugly, ugly hack - Koen +do_compile_prepend_class-target() { + ${STAGING_BINDIR_NATIVE}/python3-native/python3 setup.py build ${DISTUTILS_BUILD_ARGS} || \ + true + cp ${WORKDIR}/*config.h ${S}/build/$(ls ${S}/build | grep src)/numpy/core/include/numpy/ +} + +FILES_${PN}-staticdev += "${PYTHON_SITEPACKAGES_DIR}/numpy/core/lib/*.a" + +SRC_URI[md5sum] = "bc56fb9fc2895aa4961802ffbdb31d0b" +SRC_URI[sha256sum] = "a1d1268d200816bfb9727a7a27b78d8e37ecec2e4d5ebd33eb64e2789e0db43e" + +# install what is needed for numpy.test() +RDEPENDS_${PN} = "python3-unittest \ + python3-difflib \ + python3-pprint \ + python3-pickle \ + python3-shell \ + python3-nose \ + python3-doctest \ + python3-datetime \ + python3-distutils \ + python3-misc \ + python3-mmap \ + python3-netclient \ + python3-numbers \ + python3-pydoc \ + python3-pkgutil \ + python3-email \ + python3-subprocess \ + python3-compression \ + python3-ctypes \ + python3-threading \ + python3-textutils \ +" + +RDEPENDS_${PN}_class-native = "" + +BBCLASSEXTEND = "native nativesdk" diff --git a/import-layers/yocto-poky/meta/recipes-devtools/python/python-3.5-manifest.inc b/import-layers/yocto-poky/meta/recipes-devtools/python/python-3.5-manifest.inc index 335c3ffdb..304611432 100644 --- a/import-layers/yocto-poky/meta/recipes-devtools/python/python-3.5-manifest.inc +++ b/import-layers/yocto-poky/meta/recipes-devtools/python/python-3.5-manifest.inc @@ -5,14 +5,18 @@ -PROVIDES+="${PN}-2to3 ${PN}-asyncio ${PN}-audio ${PN}-codecs ${PN}-compile ${PN}-compression ${PN}-core ${PN}-crypt ${PN}-ctypes ${PN}-curses ${PN}-datetime ${PN}-db ${PN}-debugger ${PN}-dev ${PN}-difflib ${PN}-distutils ${PN}-distutils-staticdev ${PN}-doctest ${PN}-email ${PN}-fcntl ${PN}-gdbm ${PN}-html ${PN}-idle ${PN}-image ${PN}-importlib ${PN}-io ${PN}-json ${PN}-lang ${PN}-logging ${PN}-mailbox ${PN}-math ${PN}-mime ${PN}-mmap ${PN}-multiprocessing ${PN}-netclient ${PN}-netserver ${PN}-numbers ${PN}-pickle ${PN}-pkgutil ${PN}-pprint ${PN}-profile ${PN}-pydoc ${PN}-re ${PN}-readline ${PN}-reprlib ${PN}-resource ${PN}-shell ${PN}-smtpd ${PN}-sqlite3 ${PN}-sqlite3-tests ${PN}-stringold ${PN}-subprocess ${PN}-syslog ${PN}-terminal ${PN}-tests ${PN}-textutils ${PN}-threading ${PN}-tkinter ${PN}-unittest ${PN}-unixadmin ${PN}-xml ${PN}-xmlrpc " +PROVIDES+="${PN}-2to3 ${PN}-argparse ${PN}-asyncio ${PN}-audio ${PN}-codecs ${PN}-compile ${PN}-compression ${PN}-core ${PN}-crypt ${PN}-ctypes ${PN}-curses ${PN}-datetime ${PN}-db ${PN}-debugger ${PN}-dev ${PN}-difflib ${PN}-distutils ${PN}-distutils-staticdev ${PN}-doctest ${PN}-email ${PN}-enum ${PN}-fcntl ${PN}-gdbm ${PN}-html ${PN}-idle ${PN}-image ${PN}-importlib ${PN}-io ${PN}-json ${PN}-lang ${PN}-logging ${PN}-mailbox ${PN}-math ${PN}-mime ${PN}-mmap ${PN}-multiprocessing ${PN}-netclient ${PN}-netserver ${PN}-numbers ${PN}-pickle ${PN}-pkgutil ${PN}-pprint ${PN}-profile ${PN}-pydoc ${PN}-re ${PN}-readline ${PN}-reprlib ${PN}-resource ${PN}-selectors ${PN}-shell ${PN}-signal ${PN}-smtpd ${PN}-sqlite3 ${PN}-sqlite3-tests ${PN}-stringold ${PN}-subprocess ${PN}-syslog ${PN}-terminal ${PN}-tests ${PN}-textutils ${PN}-threading ${PN}-tkinter ${PN}-unittest ${PN}-unixadmin ${PN}-xml ${PN}-xmlrpc " -PACKAGES="${PN}-dbg ${PN}-2to3 ${PN}-asyncio ${PN}-audio ${PN}-codecs ${PN}-compile ${PN}-compression ${PN}-core ${PN}-crypt ${PN}-ctypes ${PN}-curses ${PN}-datetime ${PN}-db ${PN}-debugger ${PN}-dev ${PN}-difflib ${PN}-distutils-staticdev ${PN}-distutils ${PN}-doctest ${PN}-email ${PN}-fcntl ${PN}-gdbm ${PN}-html ${PN}-idle ${PN}-image ${PN}-importlib ${PN}-io ${PN}-json ${PN}-lang ${PN}-logging ${PN}-mailbox ${PN}-math ${PN}-mime ${PN}-mmap ${PN}-multiprocessing ${PN}-netclient ${PN}-netserver ${PN}-numbers ${PN}-pickle ${PN}-pkgutil ${PN}-pprint ${PN}-profile ${PN}-pydoc ${PN}-re ${PN}-readline ${PN}-reprlib ${PN}-resource ${PN}-shell ${PN}-smtpd ${PN}-sqlite3 ${PN}-sqlite3-tests ${PN}-stringold ${PN}-subprocess ${PN}-syslog ${PN}-terminal ${PN}-tests ${PN}-textutils ${PN}-threading ${PN}-tkinter ${PN}-unittest ${PN}-unixadmin ${PN}-xml ${PN}-xmlrpc ${PN}-modules" +PACKAGES="${PN}-dbg ${PN}-2to3 ${PN}-argparse ${PN}-asyncio ${PN}-audio ${PN}-codecs ${PN}-compile ${PN}-compression ${PN}-core ${PN}-crypt ${PN}-ctypes ${PN}-curses ${PN}-datetime ${PN}-db ${PN}-debugger ${PN}-dev ${PN}-difflib ${PN}-distutils-staticdev ${PN}-distutils ${PN}-doctest ${PN}-email ${PN}-enum ${PN}-fcntl ${PN}-gdbm ${PN}-html ${PN}-idle ${PN}-image ${PN}-importlib ${PN}-io ${PN}-json ${PN}-lang ${PN}-logging ${PN}-mailbox ${PN}-math ${PN}-mime ${PN}-mmap ${PN}-multiprocessing ${PN}-netclient ${PN}-netserver ${PN}-numbers ${PN}-pickle ${PN}-pkgutil ${PN}-pprint ${PN}-profile ${PN}-pydoc ${PN}-re ${PN}-readline ${PN}-reprlib ${PN}-resource ${PN}-selectors ${PN}-shell ${PN}-signal ${PN}-smtpd ${PN}-sqlite3 ${PN}-sqlite3-tests ${PN}-stringold ${PN}-subprocess ${PN}-syslog ${PN}-terminal ${PN}-tests ${PN}-textutils ${PN}-threading ${PN}-tkinter ${PN}-unittest ${PN}-unixadmin ${PN}-xml ${PN}-xmlrpc ${PN}-modules" SUMMARY_${PN}-2to3="Python automated Python 2 to 3 code translator" RDEPENDS_${PN}-2to3="${PN}-core" FILES_${PN}-2to3="${libdir}/python3.5/lib2to3 " +SUMMARY_${PN}-argparse="Python command line argument parser" +RDEPENDS_${PN}-argparse="${PN}-core ${PN}-codecs ${PN}-textutils" +FILES_${PN}-argparse="${libdir}/python3.5/argparse.* " + SUMMARY_${PN}-asyncio="Python Asynchronous I/O, event loop, coroutines and tasks" RDEPENDS_${PN}-asyncio="${PN}-core" FILES_${PN}-asyncio="${libdir}/python3.5/asyncio " @@ -30,19 +34,19 @@ RDEPENDS_${PN}-compile="${PN}-core" FILES_${PN}-compile="${libdir}/python3.5/py_compile.* ${libdir}/python3.5/compileall.* " SUMMARY_${PN}-compression="Python high-level compression support" -RDEPENDS_${PN}-compression="${PN}-core ${PN}-codecs" -FILES_${PN}-compression="${libdir}/python3.5/gzip.* ${libdir}/python3.5/zipfile.* ${libdir}/python3.5/tarfile.* ${libdir}/python3.5/lib-dynload/bz2.*.so " +RDEPENDS_${PN}-compression="${PN}-core ${PN}-codecs ${PN}-importlib ${PN}-threading ${PN}-shell" +FILES_${PN}-compression="${libdir}/python3.5/gzip.* ${libdir}/python3.5/zipfile.* ${libdir}/python3.5/tarfile.* ${libdir}/python3.5/lib-dynload/bz2.*.so ${libdir}/python3.5/lib-dynload/zlib.*.so " SUMMARY_${PN}-core="Python interpreter and core modules" RDEPENDS_${PN}-core="${PN}-lang ${PN}-re ${PN}-reprlib ${PN}-codecs ${PN}-io ${PN}-math" -FILES_${PN}-core="${libdir}/python3.5/__future__.* ${libdir}/python3.5/_abcoll.* ${libdir}/python3.5/abc.* ${libdir}/python3.5/ast.* ${libdir}/python3.5/copy.* ${libdir}/python3.5/copyreg.* ${libdir}/python3.5/ConfigParser.* ${libdir}/python3.5/genericpath.* ${libdir}/python3.5/getopt.* ${libdir}/python3.5/linecache.* ${libdir}/python3.5/new.* ${libdir}/python3.5/os.* ${libdir}/python3.5/posixpath.* ${libdir}/python3.5/struct.* ${libdir}/python3.5/warnings.* ${libdir}/python3.5/site.* ${libdir}/python3.5/stat.* ${libdir}/python3.5/UserDict.* ${libdir}/python3.5/UserList.* ${libdir}/python3.5/UserString.* ${libdir}/python3.5/lib-dynload/binascii.*.so ${libdir}/python3.5/lib-dynload/_struct.*.so ${libdir}/python3.5/lib-dynload/time.*.so ${libdir}/python3.5/lib-dynload/xreadlines.*.so ${libdir}/python3.5/types.* ${libdir}/python3.5/platform.* ${bindir}/python* ${libdir}/python3.5/_weakrefset.* ${libdir}/python3.5/sysconfig.* ${libdir}/python3.5/_sysconfigdata.* ${libdir}/python3.5/config/Makefile ${includedir}/python${PYTHON_BINABI}/pyconfig*.h ${libdir}/python${PYTHON_MAJMIN}/collections ${libdir}/python${PYTHON_MAJMIN}/_collections_abc.* ${libdir}/python${PYTHON_MAJMIN}/_sitebuiltins.* ${libdir}/python${PYTHON_MAJMIN}/sitecustomize.py " +FILES_${PN}-core="${libdir}/python3.5/__future__.* ${libdir}/python3.5/_abcoll.* ${libdir}/python3.5/abc.* ${libdir}/python3.5/ast.* ${libdir}/python3.5/copy.* ${libdir}/python3.5/copyreg.* ${libdir}/python3.5/configparser.* ${libdir}/python3.5/genericpath.* ${libdir}/python3.5/getopt.* ${libdir}/python3.5/linecache.* ${libdir}/python3.5/new.* ${libdir}/python3.5/os.* ${libdir}/python3.5/posixpath.* ${libdir}/python3.5/struct.* ${libdir}/python3.5/warnings.* ${libdir}/python3.5/site.* ${libdir}/python3.5/stat.* ${libdir}/python3.5/UserDict.* ${libdir}/python3.5/UserList.* ${libdir}/python3.5/UserString.* ${libdir}/python3.5/lib-dynload/binascii.*.so ${libdir}/python3.5/lib-dynload/_struct.*.so ${libdir}/python3.5/lib-dynload/time.*.so ${libdir}/python3.5/lib-dynload/xreadlines.*.so ${libdir}/python3.5/types.* ${libdir}/python3.5/platform.* ${bindir}/python* ${libdir}/python3.5/_weakrefset.* ${libdir}/python3.5/sysconfig.* ${libdir}/python3.5/_sysconfigdata.* ${libdir}/python3.5/config/Makefile ${includedir}/python${PYTHON_BINABI}/pyconfig*.h ${libdir}/python${PYTHON_MAJMIN}/collections ${libdir}/python${PYTHON_MAJMIN}/_collections_abc.* ${libdir}/python${PYTHON_MAJMIN}/_sitebuiltins.* ${libdir}/python${PYTHON_MAJMIN}/sitecustomize.py " SUMMARY_${PN}-crypt="Python basic cryptographic and hashing support" RDEPENDS_${PN}-crypt="${PN}-core" FILES_${PN}-crypt="${libdir}/python3.5/hashlib.* ${libdir}/python3.5/md5.* ${libdir}/python3.5/sha.* ${libdir}/python3.5/lib-dynload/crypt.*.so ${libdir}/python3.5/lib-dynload/_hashlib.*.so ${libdir}/python3.5/lib-dynload/_sha256.*.so ${libdir}/python3.5/lib-dynload/_sha512.*.so " SUMMARY_${PN}-ctypes="Python C types support" -RDEPENDS_${PN}-ctypes="${PN}-core" +RDEPENDS_${PN}-ctypes="${PN}-core ${PN}-subprocess" FILES_${PN}-ctypes="${libdir}/python3.5/ctypes ${libdir}/python3.5/lib-dynload/_ctypes.*.so ${libdir}/python3.5/lib-dynload/_ctypes_test.*.so " SUMMARY_${PN}-curses="Python curses support" @@ -51,7 +55,7 @@ FILES_${PN}-curses="${libdir}/python3.5/curses ${libdir}/python3.5/lib-dynload/_ SUMMARY_${PN}-datetime="Python calendar and time support" RDEPENDS_${PN}-datetime="${PN}-core ${PN}-codecs" -FILES_${PN}-datetime="${libdir}/python3.5/_strptime.* ${libdir}/python3.5/calendar.* ${libdir}/python3.5/lib-dynload/datetime.*.so " +FILES_${PN}-datetime="${libdir}/python3.5/_strptime.* ${libdir}/python3.5/calendar.* ${libdir}/python3.5/datetime.* ${libdir}/python3.5/lib-dynload/_datetime.*.so " SUMMARY_${PN}-db="Python file-based database support" RDEPENDS_${PN}-db="${PN}-core" @@ -85,6 +89,10 @@ SUMMARY_${PN}-email="Python email support" RDEPENDS_${PN}-email="${PN}-core ${PN}-io ${PN}-re ${PN}-mime ${PN}-audio ${PN}-image ${PN}-netclient" FILES_${PN}-email="${libdir}/python3.5/imaplib.* ${libdir}/python3.5/email " +SUMMARY_${PN}-enum="Python support for enumerations" +RDEPENDS_${PN}-enum="${PN}-core" +FILES_${PN}-enum="${libdir}/python3.5/enum.* " + SUMMARY_${PN}-fcntl="Python's fcntl interface" RDEPENDS_${PN}-fcntl="${PN}-core" FILES_${PN}-fcntl="${libdir}/python3.5/lib-dynload/fcntl.*.so " @@ -106,7 +114,7 @@ RDEPENDS_${PN}-image="${PN}-core" FILES_${PN}-image="${libdir}/python3.5/colorsys.* ${libdir}/python3.5/imghdr.* ${libdir}/python3.5/lib-dynload/imageop.*.so ${libdir}/python3.5/lib-dynload/rgbimg.*.so " SUMMARY_${PN}-importlib="Python import implementation library" -RDEPENDS_${PN}-importlib="${PN}-core" +RDEPENDS_${PN}-importlib="${PN}-core ${PN}-lang" FILES_${PN}-importlib="${libdir}/python3.5/importlib " SUMMARY_${PN}-io="Python low-level I/O" @@ -118,8 +126,8 @@ RDEPENDS_${PN}-json="${PN}-core ${PN}-math ${PN}-re" FILES_${PN}-json="${libdir}/python3.5/json ${libdir}/python3.5/lib-dynload/_json.*.so " SUMMARY_${PN}-lang="Python low-level language support" -RDEPENDS_${PN}-lang="${PN}-core" -FILES_${PN}-lang="${libdir}/python3.5/lib-dynload/_bisect.*.so ${libdir}/python3.5/lib-dynload/_collections.*.so ${libdir}/python3.5/lib-dynload/_heapq.*.so ${libdir}/python3.5/lib-dynload/_weakref.*.so ${libdir}/python3.5/lib-dynload/_functools.*.so ${libdir}/python3.5/lib-dynload/array.*.so ${libdir}/python3.5/lib-dynload/itertools.*.so ${libdir}/python3.5/lib-dynload/operator.*.so ${libdir}/python3.5/lib-dynload/parser.*.so ${libdir}/python3.5/atexit.* ${libdir}/python3.5/bisect.* ${libdir}/python3.5/code.* ${libdir}/python3.5/codeop.* ${libdir}/python3.5/collections.* ${libdir}/python3.5/_collections_abc.* ${libdir}/python3.5/dis.* ${libdir}/python3.5/functools.* ${libdir}/python3.5/heapq.* ${libdir}/python3.5/inspect.* ${libdir}/python3.5/keyword.* ${libdir}/python3.5/opcode.* ${libdir}/python3.5/symbol.* ${libdir}/python3.5/repr.* ${libdir}/python3.5/token.* ${libdir}/python3.5/tokenize.* ${libdir}/python3.5/traceback.* ${libdir}/python3.5/weakref.* " +RDEPENDS_${PN}-lang="${PN}-core ${PN}-importlib" +FILES_${PN}-lang="${libdir}/python3.5/lib-dynload/_bisect.*.so ${libdir}/python3.5/lib-dynload/_collections.*.so ${libdir}/python3.5/lib-dynload/_heapq.*.so ${libdir}/python3.5/lib-dynload/_weakref.*.so ${libdir}/python3.5/lib-dynload/_functools.*.so ${libdir}/python3.5/lib-dynload/array.*.so ${libdir}/python3.5/lib-dynload/itertools.*.so ${libdir}/python3.5/lib-dynload/operator.*.so ${libdir}/python3.5/lib-dynload/parser.*.so ${libdir}/python3.5/atexit.* ${libdir}/python3.5/bisect.* ${libdir}/python3.5/code.* ${libdir}/python3.5/codeop.* ${libdir}/python3.5/collections.* ${libdir}/python3.5/_collections_abc.* ${libdir}/python3.5/contextlib.* ${libdir}/python3.5/dis.* ${libdir}/python3.5/functools.* ${libdir}/python3.5/heapq.* ${libdir}/python3.5/inspect.* ${libdir}/python3.5/keyword.* ${libdir}/python3.5/opcode.* ${libdir}/python3.5/operator.* ${libdir}/python3.5/symbol.* ${libdir}/python3.5/repr.* ${libdir}/python3.5/token.* ${libdir}/python3.5/tokenize.* ${libdir}/python3.5/traceback.* ${libdir}/python3.5/weakref.* " SUMMARY_${PN}-logging="Python logging support" RDEPENDS_${PN}-logging="${PN}-core ${PN}-io ${PN}-lang ${PN}-pickle ${PN}-stringold" @@ -130,7 +138,7 @@ RDEPENDS_${PN}-mailbox="${PN}-core ${PN}-mime" FILES_${PN}-mailbox="${libdir}/python3.5/mailbox.* " SUMMARY_${PN}-math="Python math support" -RDEPENDS_${PN}-math="${PN}-core" +RDEPENDS_${PN}-math="${PN}-core ${PN}-crypt" FILES_${PN}-math="${libdir}/python3.5/lib-dynload/cmath.*.so ${libdir}/python3.5/lib-dynload/math.*.so ${libdir}/python3.5/lib-dynload/_random.*.so ${libdir}/python3.5/random.* ${libdir}/python3.5/sets.* " SUMMARY_${PN}-mime="Python MIME handling APIs" @@ -193,10 +201,18 @@ SUMMARY_${PN}-resource="Python resource control interface" RDEPENDS_${PN}-resource="${PN}-core" FILES_${PN}-resource="${libdir}/python3.5/lib-dynload/resource.*.so " +SUMMARY_${PN}-selectors="Python High-level I/O multiplexing" +RDEPENDS_${PN}-selectors="${PN}-core" +FILES_${PN}-selectors="${libdir}/python3.5/selectors.* " + SUMMARY_${PN}-shell="Python shell-like functionality" -RDEPENDS_${PN}-shell="${PN}-core ${PN}-re" +RDEPENDS_${PN}-shell="${PN}-core ${PN}-re ${PN}-compression" FILES_${PN}-shell="${libdir}/python3.5/cmd.* ${libdir}/python3.5/commands.* ${libdir}/python3.5/dircache.* ${libdir}/python3.5/fnmatch.* ${libdir}/python3.5/glob.* ${libdir}/python3.5/popen2.* ${libdir}/python3.5/shlex.* ${libdir}/python3.5/shutil.* " +SUMMARY_${PN}-signal="Python set handlers for asynchronous events support" +RDEPENDS_${PN}-signal="${PN}-core ${PN}-enum" +FILES_${PN}-signal="${libdir}/python3.5/signal.* " + SUMMARY_${PN}-smtpd="Python Simple Mail Transport Daemon" RDEPENDS_${PN}-smtpd="${PN}-core ${PN}-netserver ${PN}-email ${PN}-mime" FILES_${PN}-smtpd="${bindir}/smtpd.* ${libdir}/python3.5/smtpd.* " @@ -214,8 +230,8 @@ RDEPENDS_${PN}-stringold="${PN}-core ${PN}-re" FILES_${PN}-stringold="${libdir}/python3.5/lib-dynload/strop.*.so ${libdir}/python3.5/string.* ${libdir}/python3.5/stringold.* " SUMMARY_${PN}-subprocess="Python subprocess support" -RDEPENDS_${PN}-subprocess="${PN}-core ${PN}-io ${PN}-re ${PN}-fcntl ${PN}-pickle" -FILES_${PN}-subprocess="${libdir}/python3.5/subprocess.* " +RDEPENDS_${PN}-subprocess="${PN}-core ${PN}-io ${PN}-re ${PN}-fcntl ${PN}-pickle ${PN}-threading ${PN}-signal ${PN}-selectors" +FILES_${PN}-subprocess="${libdir}/python3.5/subprocess.* ${libdir}/python3.5/lib-dynload/_posixsubprocess.*.so " SUMMARY_${PN}-syslog="Python syslog interface" RDEPENDS_${PN}-syslog="${PN}-core" @@ -235,7 +251,7 @@ FILES_${PN}-textutils="${libdir}/python3.5/lib-dynload/_csv.*.so ${libdir}/pytho SUMMARY_${PN}-threading="Python threading & synchronization support" RDEPENDS_${PN}-threading="${PN}-core ${PN}-lang" -FILES_${PN}-threading="${libdir}/python3.5/_threading_local.* ${libdir}/python3.5/dummy_thread.* ${libdir}/python3.5/dummy_threading.* ${libdir}/python3.5/mutex.* ${libdir}/python3.5/threading.* ${libdir}/python3.5/Queue.* " +FILES_${PN}-threading="${libdir}/python3.5/_threading_local.* ${libdir}/python3.5/dummy_thread.* ${libdir}/python3.5/dummy_threading.* ${libdir}/python3.5/mutex.* ${libdir}/python3.5/threading.* ${libdir}/python3.5/queue.* " SUMMARY_${PN}-tkinter="Python Tcl/Tk bindings" RDEPENDS_${PN}-tkinter="${PN}-core" @@ -258,7 +274,7 @@ RDEPENDS_${PN}-xmlrpc="${PN}-core ${PN}-xml ${PN}-netserver ${PN}-lang" FILES_${PN}-xmlrpc="${libdir}/python3.5/xmlrpclib.* ${libdir}/python3.5/SimpleXMLRPCServer.* ${libdir}/python3.5/DocXMLRPCServer.* ${libdir}/python3.5/xmlrpc " SUMMARY_${PN}-modules="All Python modules" -RDEPENDS_${PN}-modules="${PN}-2to3 ${PN}-asyncio ${PN}-audio ${PN}-codecs ${PN}-compile ${PN}-compression ${PN}-core ${PN}-crypt ${PN}-ctypes ${PN}-curses ${PN}-datetime ${PN}-db ${PN}-debugger ${PN}-difflib ${PN}-distutils ${PN}-doctest ${PN}-email ${PN}-fcntl ${PN}-gdbm ${PN}-html ${PN}-idle ${PN}-image ${PN}-importlib ${PN}-io ${PN}-json ${PN}-lang ${PN}-logging ${PN}-mailbox ${PN}-math ${PN}-mime ${PN}-mmap ${PN}-multiprocessing ${PN}-netclient ${PN}-netserver ${PN}-numbers ${PN}-pickle ${PN}-pkgutil ${PN}-pprint ${PN}-profile ${PN}-pydoc ${PN}-re ${PN}-readline ${PN}-reprlib ${PN}-resource ${PN}-shell ${PN}-smtpd ${PN}-sqlite3 ${PN}-sqlite3-tests ${PN}-stringold ${PN}-subprocess ${PN}-syslog ${PN}-terminal ${PN}-tests ${PN}-textutils ${PN}-threading ${PN}-tkinter ${PN}-unittest ${PN}-unixadmin ${PN}-xml ${PN}-xmlrpc " +RDEPENDS_${PN}-modules="${PN}-2to3 ${PN}-argparse ${PN}-asyncio ${PN}-audio ${PN}-codecs ${PN}-compile ${PN}-compression ${PN}-core ${PN}-crypt ${PN}-ctypes ${PN}-curses ${PN}-datetime ${PN}-db ${PN}-debugger ${PN}-difflib ${PN}-distutils ${PN}-doctest ${PN}-email ${PN}-enum ${PN}-fcntl ${PN}-gdbm ${PN}-html ${PN}-idle ${PN}-image ${PN}-importlib ${PN}-io ${PN}-json ${PN}-lang ${PN}-logging ${PN}-mailbox ${PN}-math ${PN}-mime ${PN}-mmap ${PN}-multiprocessing ${PN}-netclient ${PN}-netserver ${PN}-numbers ${PN}-pickle ${PN}-pkgutil ${PN}-pprint ${PN}-profile ${PN}-pydoc ${PN}-re ${PN}-readline ${PN}-reprlib ${PN}-resource ${PN}-selectors ${PN}-shell ${PN}-signal ${PN}-smtpd ${PN}-sqlite3 ${PN}-sqlite3-tests ${PN}-stringold ${PN}-subprocess ${PN}-syslog ${PN}-terminal ${PN}-tests ${PN}-textutils ${PN}-threading ${PN}-tkinter ${PN}-unittest ${PN}-unixadmin ${PN}-xml ${PN}-xmlrpc " ALLOW_EMPTY_${PN}-modules = "1" diff --git a/import-layers/yocto-poky/meta/recipes-devtools/python/python-async.inc b/import-layers/yocto-poky/meta/recipes-devtools/python/python-async.inc new file mode 100644 index 000000000..2c5cb4d19 --- /dev/null +++ b/import-layers/yocto-poky/meta/recipes-devtools/python/python-async.inc @@ -0,0 +1,15 @@ +SUMMARY = "Python framework to process interdependent tasks in a pool of workers" +HOMEPAGE = "http://github.com/gitpython-developers/async" +SECTION = "devel/python" +LICENSE = "BSD" +LIC_FILES_CHKSUM = "file://PKG-INFO;beginline=8;endline=8;md5=88df8e78b9edfd744953862179f2d14e" + +SRC_URI = "https://files.pythonhosted.org/packages/source/a/async/async-${PV}.tar.gz" +SRC_URI[md5sum] = "9b06b5997de2154f3bc0273f80bcef6b" +SRC_URI[sha256sum] = "ac6894d876e45878faae493b0cf61d0e28ec417334448ac0a6ea2229d8343051" + +UPSTREAM_CHECK_URI = "https://pypi.python.org/pypi/async/" + +S = "${WORKDIR}/async-${PV}" + +BBCLASSEXTEND = "nativesdk" diff --git a/import-layers/yocto-poky/meta/recipes-devtools/python/python-async_0.6.2.bb b/import-layers/yocto-poky/meta/recipes-devtools/python/python-async_0.6.2.bb index ad0a61776..d855e42a7 100644 --- a/import-layers/yocto-poky/meta/recipes-devtools/python/python-async_0.6.2.bb +++ b/import-layers/yocto-poky/meta/recipes-devtools/python/python-async_0.6.2.bb @@ -1,19 +1,5 @@ -SUMMARY = "Python framework to process interdependent tasks in a pool of workers" -HOMEPAGE = "http://github.com/gitpython-developers/async" -SECTION = "devel/python" -LICENSE = "BSD" -LIC_FILES_CHKSUM = "file://PKG-INFO;beginline=8;endline=8;md5=88df8e78b9edfd744953862179f2d14e" - -SRC_URI = "http://pypi.python.org/packages/source/a/async/async-${PV}.tar.gz" -SRC_URI[md5sum] = "9b06b5997de2154f3bc0273f80bcef6b" -SRC_URI[sha256sum] = "ac6894d876e45878faae493b0cf61d0e28ec417334448ac0a6ea2229d8343051" - -UPSTREAM_CHECK_URI = "https://pypi.python.org/pypi/async/" - -S = "${WORKDIR}/async-${PV}" +require python-async.inc inherit setuptools RDEPENDS_${PN} += "python-threading python-lang" - -BBCLASSEXTEND = "nativesdk" diff --git a/import-layers/yocto-poky/meta/recipes-devtools/python/python-git_1.0.2.bb b/import-layers/yocto-poky/meta/recipes-devtools/python/python-git.inc index f00f805a8..13c097abf 100644 --- a/import-layers/yocto-poky/meta/recipes-devtools/python/python-git_1.0.2.bb +++ b/import-layers/yocto-poky/meta/recipes-devtools/python/python-git.inc @@ -7,20 +7,15 @@ HOMEPAGE = "http://github.com/gitpython-developers/GitPython" SECTION = "devel/python" LICENSE = "BSD-3-Clause" LIC_FILES_CHKSUM = "file://LICENSE;md5=8b8d26c37c1d5a04f9b0186edbebc183" -DEPENDS = "python-gitdb" -SRC_URI = "http://pypi.python.org/packages/source/G/GitPython/GitPython-${PV}.tar.gz" +SRC_URI = "https://files.pythonhosted.org/packages/source/G/GitPython/GitPython-${PV}.tar.gz" -SRC_URI[md5sum] = "d92d96a8da0fc77cf141d3e16084e094" -SRC_URI[sha256sum] = "85de72556781480a38897a77de5b458ae3838b0fd589593679a1b5f34d181d84" +SRC_URI[md5sum] = "aa0ba9df0abe4c8f35dd7bb9be85d56e" +SRC_URI[sha256sum] = "d8e7adaacceedd3d043e6cd2544f57dbe00c53fc26374880b7cea67f3188aa68" UPSTREAM_CHECK_URI = "https://pypi.python.org/pypi/GitPython/" UPSTREAM_CHECK_REGEX = "/GitPython/(?P<pver>(\d+[\.\-_]*)+)" S = "${WORKDIR}/GitPython-${PV}" -inherit setuptools - -RDEPENDS_${PN} += "python-gitdb python-lang python-io python-shell python-math python-re python-subprocess python-stringold python-unixadmin" - BBCLASSEXTEND = "nativesdk" diff --git a/import-layers/yocto-poky/meta/recipes-devtools/python/python-git_2.0.7.bb b/import-layers/yocto-poky/meta/recipes-devtools/python/python-git_2.0.7.bb new file mode 100644 index 000000000..e49dbea54 --- /dev/null +++ b/import-layers/yocto-poky/meta/recipes-devtools/python/python-git_2.0.7.bb @@ -0,0 +1,7 @@ +require python-git.inc + +DEPENDS = "python-gitdb" + +inherit setuptools + +RDEPENDS_${PN} += "python-gitdb python-lang python-io python-shell python-math python-re python-subprocess python-stringold python-unixadmin" diff --git a/import-layers/yocto-poky/meta/recipes-devtools/python/python-gitdb.inc b/import-layers/yocto-poky/meta/recipes-devtools/python/python-gitdb.inc new file mode 100644 index 000000000..08193fbf2 --- /dev/null +++ b/import-layers/yocto-poky/meta/recipes-devtools/python/python-gitdb.inc @@ -0,0 +1,16 @@ +SUMMARY = "A pure-Python git object database" +HOMEPAGE = "http://github.com/gitpython-developers/gitdb" +SECTION = "devel/python" +LICENSE = "BSD-3-Clause" +LIC_FILES_CHKSUM = "file://LICENSE;md5=59e5ecb13339a936eedf83282eaf4528" + +SRC_URI = "https://files.pythonhosted.org/packages/source/g/gitdb/gitdb-${PV}.tar.gz" + +SRC_URI[md5sum] = "44e4366b8bdfd306b075c3a52c96ae1a" +SRC_URI[sha256sum] = "a3ebbc27be035a2e874ed904df516e35f4a29a778a764385de09de9e0f139658" + +UPSTREAM_CHECK_URI = "https://pypi.python.org/pypi/gitdb/" + +S = "${WORKDIR}/gitdb-${PV}" + +BBCLASSEXTEND = "nativesdk" diff --git a/import-layers/yocto-poky/meta/recipes-devtools/python/python-gitdb_0.6.4.bb b/import-layers/yocto-poky/meta/recipes-devtools/python/python-gitdb_0.6.4.bb index c82df1ef7..177739579 100644 --- a/import-layers/yocto-poky/meta/recipes-devtools/python/python-gitdb_0.6.4.bb +++ b/import-layers/yocto-poky/meta/recipes-devtools/python/python-gitdb_0.6.4.bb @@ -1,21 +1,7 @@ -SUMMARY = "A pure-Python git object database" -HOMEPAGE = "http://github.com/gitpython-developers/gitdb" -SECTION = "devel/python" -LICENSE = "BSD-3-Clause" -LIC_FILES_CHKSUM = "file://LICENSE;md5=59e5ecb13339a936eedf83282eaf4528" -DEPENDS = "python-async python-smmap" - -SRC_URI = "https://pypi.python.org/packages/source/g/gitdb/gitdb-${PV}.tar.gz" - -SRC_URI[md5sum] = "44e4366b8bdfd306b075c3a52c96ae1a" -SRC_URI[sha256sum] = "a3ebbc27be035a2e874ed904df516e35f4a29a778a764385de09de9e0f139658" +require python-gitdb.inc -UPSTREAM_CHECK_URI = "https://pypi.python.org/pypi/gitdb/" - -S = "${WORKDIR}/gitdb-${PV}" +DEPENDS = "python-async python-smmap" inherit distutils RDEPENDS_${PN} += "python-smmap python-async python-mmap python-lang python-zlib python-io python-shell" - -BBCLASSEXTEND = "nativesdk" diff --git a/import-layers/yocto-poky/meta/recipes-devtools/python/python-imaging/0001-python-imaging-setup.py-force-paths-for-zlib-freetyp.patch b/import-layers/yocto-poky/meta/recipes-devtools/python/python-imaging/0001-python-imaging-setup.py-force-paths-for-zlib-freetyp.patch deleted file mode 100644 index 2575306be..000000000 --- a/import-layers/yocto-poky/meta/recipes-devtools/python/python-imaging/0001-python-imaging-setup.py-force-paths-for-zlib-freetyp.patch +++ /dev/null @@ -1,55 +0,0 @@ -From 07d4f095a9e22ae676a8d68073101131e65012dc Mon Sep 17 00:00:00 2001 -From: Koen Kooi <koen@dominion.thruhere.net> -Date: Tue, 15 Nov 2011 13:16:54 +0100 -Subject: [PATCH] python imaging setup.py: force paths for zlib, freetype and jpeg and don't add host paths - -Signed-off-by: Koen Kooi <koen@dominion.thruhere.net> - -Upstream-Status: Inappropriate [embedded specific] ---- - setup.py | 14 +++----------- - 1 files changed, 3 insertions(+), 11 deletions(-) - -diff --git a/setup.py b/setup.py -index 5d4d53a..b1a22ec 100644 ---- a/setup.py -+++ b/setup.py -@@ -34,10 +34,10 @@ def libinclude(root): - # TIFF_ROOT = libinclude("/opt/tiff") - - TCL_ROOT = None --JPEG_ROOT = None --ZLIB_ROOT = None -+JPEG_ROOT = os.environ['STAGING_LIBDIR'] -+ZLIB_ROOT = os.environ['STAGING_LIBDIR'] - TIFF_ROOT = None --FREETYPE_ROOT = None -+FREETYPE_ROOT = os.environ['STAGING_LIBDIR'], os.environ['STAGING_INCDIR'] - LCMS_ROOT = None - - # FIXME: add mechanism to explicitly *disable* the use of a library -@@ -147,7 +147,6 @@ class pil_build_ext(build_ext): - add_directory(library_dirs, "/opt/local/lib") - add_directory(include_dirs, "/opt/local/include") - -- add_directory(library_dirs, "/usr/local/lib") - # FIXME: check /opt/stuff directories here? - - prefix = sysconfig.get_config_var("prefix") -@@ -207,13 +206,6 @@ class pil_build_ext(build_ext): - if os.path.isfile(os.path.join(tcl_dir, "tk.h")): - add_directory(include_dirs, tcl_dir) - -- # standard locations -- add_directory(library_dirs, "/usr/local/lib") -- add_directory(include_dirs, "/usr/local/include") -- -- add_directory(library_dirs, "/usr/lib") -- add_directory(include_dirs, "/usr/include") -- - # - # insert new dirs *before* default libs, to avoid conflicts - # between Python PYD stub libs and real libraries --- -1.7.2.5 - diff --git a/import-layers/yocto-poky/meta/recipes-devtools/python/python-imaging/allow.to.disable.some.features.patch b/import-layers/yocto-poky/meta/recipes-devtools/python/python-imaging/allow.to.disable.some.features.patch deleted file mode 100644 index 4960ed466..000000000 --- a/import-layers/yocto-poky/meta/recipes-devtools/python/python-imaging/allow.to.disable.some.features.patch +++ /dev/null @@ -1,65 +0,0 @@ -At least lcms wasn't deterministicly detected from sysroot. - -This will allow to export LCMS_ENABLED=False when lcms isn't in PACKAGECONFIG. - -Upstream-Status: Inappropriate [configuration] - -Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com> - -diff -uNr Imaging-1.1.7.orig/setup.py Imaging-1.1.7/setup.py ---- Imaging-1.1.7.orig/setup.py 2013-07-22 10:17:02.081457075 +0200 -+++ Imaging-1.1.7/setup.py 2013-07-22 13:10:09.029707492 +0200 -@@ -39,6 +39,12 @@ - TIFF_ROOT = None - FREETYPE_ROOT = os.environ['STAGING_LIBDIR'], os.environ['STAGING_INCDIR'] - LCMS_ROOT = None -+TCL_ENABLED = os.getenv('TCL_ENABLED', "True") -+JPEG_ENABLED = os.getenv('JPEG_ENABLED', "True") -+ZLIB_ENABLED = os.getenv('ZLIB_ENABLED', "True") -+TIFF_ENABLED = os.getenv('TIFF_ENABLED', "True") -+FREETYPE_ENABLED = os.getenv('FREETYPE_ENABLED', "True") -+LCMS_ENABLED = os.getenv('LCMS_ENABLED', "True") - - # FIXME: add mechanism to explicitly *disable* the use of a library - -@@ -220,22 +226,22 @@ - zlib = jpeg = tiff = freetype = tcl = tk = lcms = None - feature = feature() - -- if find_include_file(self, "zlib.h"): -+ if ZLIB_ENABLED == 'True' and find_include_file(self, "zlib.h"): - if find_library_file(self, "z"): - feature.zlib = "z" - elif sys.platform == "win32" and find_library_file(self, "zlib"): - feature.zlib = "zlib" # alternative name - -- if find_include_file(self, "jpeglib.h"): -+ if JPEG_ENABLED == 'True' and find_include_file(self, "jpeglib.h"): - if find_library_file(self, "jpeg"): - feature.jpeg = "jpeg" - elif sys.platform == "win32" and find_library_file(self, "libjpeg"): - feature.jpeg = "libjpeg" # alternative name - -- if find_library_file(self, "tiff"): -+ if TIFF_ENABLED == 'True' and find_library_file(self, "tiff"): - feature.tiff = "tiff" - -- if find_library_file(self, "freetype"): -+ if FREETYPE_ENABLED == 'True' and find_library_file(self, "freetype"): - # look for freetype2 include files - freetype_version = 0 - for dir in self.compiler.include_dirs: -@@ -256,11 +262,11 @@ - if dir: - add_directory(self.compiler.include_dirs, dir, 0) - -- if find_include_file(self, "lcms.h"): -+ if LCMS_ENABLED == 'True' and find_include_file(self, "lcms.h"): - if find_library_file(self, "lcms"): - feature.lcms = "lcms" - -- if _tkinter and find_include_file(self, "tk.h"): -+ if TCL_ENABLED == 'True' and _tkinter and find_include_file(self, "tk.h"): - # the library names may vary somewhat (e.g. tcl84 or tcl8.4) - version = TCL_VERSION[0] + TCL_VERSION[2] - if find_library_file(self, "tcl" + version): diff --git a/import-layers/yocto-poky/meta/recipes-devtools/python/python-imaging/fix-freetype-includes.patch b/import-layers/yocto-poky/meta/recipes-devtools/python/python-imaging/fix-freetype-includes.patch deleted file mode 100644 index 9ecc63a0d..000000000 --- a/import-layers/yocto-poky/meta/recipes-devtools/python/python-imaging/fix-freetype-includes.patch +++ /dev/null @@ -1,30 +0,0 @@ -Upstream-Status: Backport -Signed-off-by: Ross Burton <ross.burton@intel.com> - -From c6040f618d8f2706a7b46d1cdf37d1a587f9701f Mon Sep 17 00:00:00 2001 -From: Andrew Stromnov <stromnov@gmail.com> -Date: Thu, 28 Nov 2013 16:58:43 +0400 -Subject: [PATCH] fix compiling with FreeType 2.5.1 - ---- - _imagingft.c | 4 ++++ - 1 file changed, 4 insertions(+) - -diff --git a/_imagingft.c b/_imagingft.c -index 47d50bd..f19555b 100644 ---- a/_imagingft.c -+++ b/_imagingft.c -@@ -59,7 +59,11 @@ struct { - const char* message; - } ft_errors[] = - -+#if defined(USE_FREETYPE_2_1) -+#include FT_ERRORS_H -+#else - #include <freetype/fterrors.h> -+#endif - - /* -------------------------------------------------------------------- */ - /* font objects */ --- -1.8.5.1 diff --git a/import-layers/yocto-poky/meta/recipes-devtools/python/python-imaging_1.1.7.bb b/import-layers/yocto-poky/meta/recipes-devtools/python/python-imaging_1.1.7.bb deleted file mode 100644 index a67832827..000000000 --- a/import-layers/yocto-poky/meta/recipes-devtools/python/python-imaging_1.1.7.bb +++ /dev/null @@ -1,45 +0,0 @@ -SUMMARY = "Python Imaging Library (PIL)" -SECTION = "devel/python" -LICENSE = "MIT" -LIC_FILES_CHKSUM = "file://README;beginline=92;endline=120;md5=c4371af4579f1e489cf881c1443dd4ec" -DEPENDS = "freetype jpeg tiff" -SRCNAME = "Imaging" -PR = "r5" - -SRC_URI = "http://effbot.org/downloads/Imaging-${PV}.tar.gz \ - file://0001-python-imaging-setup.py-force-paths-for-zlib-freetyp.patch \ - file://allow.to.disable.some.features.patch \ - file://fix-freetype-includes.patch" - -SRC_URI[md5sum] = "fc14a54e1ce02a0225be8854bfba478e" -SRC_URI[sha256sum] = "895bc7c2498c8e1f9b99938f1a40dc86b3f149741f105cf7c7bd2e0725405211" -S = "${WORKDIR}/${SRCNAME}-${PV}" - -# There isn't enable/disable option, and lcms is in meta-oe, at least make it explicit when enabled -# setup.py already has FIXME: add mechanism to explicitly *disable* the use of a library -PACKAGECONFIG ??= "" -PACKAGECONFIG[lcms] = ",,lcms" - -inherit distutils - -do_compile() { - export STAGING_LIBDIR=${STAGING_LIBDIR} - export STAGING_INCDIR=${STAGING_INCDIR} - export LCMS_ENABLED=${@bb.utils.contains('PACKAGECONFIG', 'lcms', 'True', 'False', d)} - distutils_do_compile -} - -do_install() { - export STAGING_LIBDIR=${STAGING_LIBDIR} - export STAGING_INCDIR=${STAGING_INCDIR} - export LCMS_ENABLED=${@bb.utils.contains('PACKAGECONFIG', 'lcms', 'True', 'False', d)} - distutils_do_install - install -d ${D}${datadir}/doc/${BPN}/html/ - install -m 0644 ${S}/README ${D}${datadir}/doc/${BPN}/ - install -m 0644 ${S}/Docs/* ${D}${datadir}/doc/${BPN}/html/ - - # get rid of #!/usr/local/bin/python - sed -i -e 's:/usr/local/bin/:${bindir}/env :g' ${D}${bindir}/* -} - -RDEPENDS_${PN} += "python-lang python-stringold" diff --git a/import-layers/yocto-poky/meta/recipes-devtools/python/python-mako.inc b/import-layers/yocto-poky/meta/recipes-devtools/python/python-mako.inc new file mode 100644 index 000000000..85ec21768 --- /dev/null +++ b/import-layers/yocto-poky/meta/recipes-devtools/python/python-mako.inc @@ -0,0 +1,15 @@ +SUMMARY = "Templating library for Python" +SECTION = "devel/python" +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://LICENSE;md5=1bb21fa2d2f7a534c884b990430a6863" + +SRC_URI = "https://files.pythonhosted.org/packages/source/M/Mako/Mako-${PV}.tar.gz" + +SRC_URI[md5sum] = "c5fc31a323dd4990683d2f2da02d4e20" +SRC_URI[sha256sum] = "fed99dbe4d0ddb27a33ee4910d8708aca9ef1fe854e668387a9ab9a90cbf9059" + +UPSTREAM_CHECK_URI = "https://pypi.python.org/pypi/mako/" +UPSTREAM_CHECK_REGEX = "/Mako/(?P<pver>(\d+[\.\-_]*)+)" + +S = "${WORKDIR}/Mako-${PV}" + diff --git a/import-layers/yocto-poky/meta/recipes-devtools/python/python-mako_1.0.3.bb b/import-layers/yocto-poky/meta/recipes-devtools/python/python-mako_1.0.3.bb deleted file mode 100644 index 9efd700dc..000000000 --- a/import-layers/yocto-poky/meta/recipes-devtools/python/python-mako_1.0.3.bb +++ /dev/null @@ -1,24 +0,0 @@ -SUMMARY = "Templating library for Python" -SECTION = "devel/python" -LICENSE = "MIT" -LIC_FILES_CHKSUM = "file://LICENSE;md5=deb3ff8e4c17aaf7b80889b6b2bf4c83" - -SRC_URI = "https://pypi.python.org/packages/source/M/Mako/Mako-${PV}.tar.gz" - -SRC_URI[md5sum] = "a78f20f6366a8a0659ce5532f8614e53" -SRC_URI[sha256sum] = "7644bc0ee35965d2e146dde31827b8982ed70a58281085fac42869a09764d38c" - -UPSTREAM_CHECK_URI = "https://pypi.python.org/pypi/mako/" -UPSTREAM_CHECK_REGEX = "/Mako/(?P<pver>(\d+[\.\-_]*)+)" - -S = "${WORKDIR}/Mako-${PV}" - -inherit setuptools - -RDEPENDS_${PN} = "python-threading \ - python-netclient \ - python-html \ -" -RDEPENDS_${PN}_class-native = "" - -BBCLASSEXTEND = "native nativesdk" diff --git a/import-layers/yocto-poky/meta/recipes-devtools/python/python-mako_1.0.4.bb b/import-layers/yocto-poky/meta/recipes-devtools/python/python-mako_1.0.4.bb new file mode 100644 index 000000000..230044e1a --- /dev/null +++ b/import-layers/yocto-poky/meta/recipes-devtools/python/python-mako_1.0.4.bb @@ -0,0 +1,17 @@ +require python-mako.inc + +inherit setuptools + +RDEPENDS_${PN} = "python-threading \ + python-netclient \ + python-html \ +" +RDEPENDS_${PN}_class-native = "" + +BBCLASSEXTEND = "native nativesdk" + +# The same utility is packaged in python3-mako, so it would conflict +do_install_append() { + rm -f ${D}${bindir}/mako-render + rmdir ${D}${bindir} +} diff --git a/import-layers/yocto-poky/meta/recipes-devtools/python/python-native/12-distutils-prefix-is-inside-staging-area.patch b/import-layers/yocto-poky/meta/recipes-devtools/python/python-native/12-distutils-prefix-is-inside-staging-area.patch deleted file mode 100644 index f89aaff7b..000000000 --- a/import-layers/yocto-poky/meta/recipes-devtools/python/python-native/12-distutils-prefix-is-inside-staging-area.patch +++ /dev/null @@ -1,65 +0,0 @@ -Upstream-Status: Inappropriate [embedded specific] - -# The proper prefix is inside our staging area. -# Signed-Off: Michael 'Mickey' Lauer <mickey@vanille-media.de> -# Signed-off-by: Phil Blundell <philb@gnu.org> - ---- Python-2.6.6/Lib/distutils/sysconfig.py.orig 2012-01-03 14:02:03.027005296 +0000 -+++ Python-2.6.6/Lib/distutils/sysconfig.py 2012-01-03 14:02:31.517601081 +0000 -@@ -19,8 +19,8 @@ - from distutils.errors import DistutilsPlatformError - - # These are needed in a couple of spots, so just compute them once. --PREFIX = os.path.normpath(sys.prefix) --EXEC_PREFIX = os.path.normpath(sys.exec_prefix) -+PREFIX = os.path.normpath(sys.prefix).replace( os.getenv("BUILD_SYS"), os.getenv("HOST_SYS") ) -+EXEC_PREFIX = os.path.normpath(sys.exec_prefix).replace( os.getenv("BUILD_SYS"), os.getenv("HOST_SYS") ) - - # Path to the base directory of the project. On Windows the binary may - # live in project/PCBuild9. If we're dealing with an x64 Windows build, -@@ -70,7 +70,7 @@ - sys.exec_prefix -- i.e., ignore 'plat_specific'. - """ - if prefix is None: -- prefix = plat_specific and EXEC_PREFIX or PREFIX -+ prefix = os.environ['STAGING_INCDIR'].rstrip('include') - - if os.name == "posix": - if python_build: -@@ -115,12 +115,16 @@ - If 'prefix' is supplied, use it instead of sys.prefix or - sys.exec_prefix -- i.e., ignore 'plat_specific'. - """ -+ lib_basename = os.environ['STAGING_LIBDIR'].split('/')[-1] - if prefix is None: -- prefix = plat_specific and EXEC_PREFIX or PREFIX -+ if plat_specific: -+ prefix = os.environ['STAGING_LIBDIR'].rstrip(lib_basename) -+ else: -+ prefix = PREFIX - - if os.name == "posix": - libpython = os.path.join(prefix, -- "lib", "python" + get_python_version()) -+ lib_basename, "python" + get_python_version()) - if standard_lib: - return libpython - else: -@@ -216,7 +220,7 @@ - else: - # The name of the config.h file changed in 2.2 - config_h = 'pyconfig.h' -- return os.path.join(inc_dir, config_h) -+ return os.path.join(inc_dir, config_h).replace( os.getenv("BUILD_SYS"), os.getenv("HOST_SYS") ) - - - def get_makefile_filename(): -@@ -225,7 +229,7 @@ - return os.path.join(os.path.dirname(os.path.realpath(sys.executable)), - "Makefile") - lib_dir = get_python_lib(plat_specific=1, standard_lib=1) -- return os.path.join(lib_dir, "config", "Makefile") -+ return os.path.join(lib_dir, "config", "Makefile").replace( os.getenv("BUILD_SYS"), os.getenv("HOST_SYS") ) - - - def parse_config_h(fp, g=None): diff --git a/import-layers/yocto-poky/meta/recipes-devtools/python/python-native/avoid_parallel_make_races_on_pgen.patch b/import-layers/yocto-poky/meta/recipes-devtools/python/python-native/avoid_parallel_make_races_on_pgen.patch index 5279e7c3b..a592ea40a 100644 --- a/import-layers/yocto-poky/meta/recipes-devtools/python/python-native/avoid_parallel_make_races_on_pgen.patch +++ b/import-layers/yocto-poky/meta/recipes-devtools/python/python-native/avoid_parallel_make_races_on_pgen.patch @@ -4,8 +4,8 @@ Avoids parallel make races linking errors when making Parser/PGEN - Implements Richard Purdie's idea -Signed-Off-By: Richard Purdie <richard.purdie@linuxfoundation.org> -Signed-Off-By: Alejandro Hernandez <alejandro.hernandez@linux.intel.com> +Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org> +Signed-off-by: Alejandro Hernandez <alejandro.hernandez@linux.intel.com> Index: Python-2.7.9/Makefile.pre.in =================================================================== diff --git a/import-layers/yocto-poky/meta/recipes-devtools/python/python-native/debug.patch b/import-layers/yocto-poky/meta/recipes-devtools/python/python-native/debug.patch index 5ec10d6b2..361788264 100644 --- a/import-layers/yocto-poky/meta/recipes-devtools/python/python-native/debug.patch +++ b/import-layers/yocto-poky/meta/recipes-devtools/python/python-native/debug.patch @@ -1,24 +1,27 @@ Upstream-Status: Pending -Index: Python-2.6.1/Lib/distutils/unixccompiler.py +Index: Python-2.7.12/Lib/distutils/unixccompiler.py =================================================================== ---- Python-2.6.1.orig/Lib/distutils/unixccompiler.py 2009-11-13 16:04:54.000000000 +0000 -+++ Python-2.6.1/Lib/distutils/unixccompiler.py 2009-11-13 16:06:27.000000000 +0000 -@@ -300,6 +300,8 @@ - dylib_f = self.library_filename(lib, lib_type='dylib') - static_f = self.library_filename(lib, lib_type='static') +--- Python-2.7.12.orig/Lib/distutils/unixccompiler.py ++++ Python-2.7.12/Lib/distutils/unixccompiler.py +@@ -278,6 +278,8 @@ class UnixCCompiler(CCompiler): + + + print "Looking in %s for %s" % (lib, dirs) + for dir in dirs: shared = os.path.join(dir, shared_f) dylib = os.path.join(dir, dylib_f) -@@ -309,10 +311,13 @@ +@@ -298,12 +300,16 @@ class UnixCCompiler(CCompiler): # assuming that *all* Unix C compilers do. And of course I'm # ignoring even GCC's "-static" option. So sue me. if os.path.exists(dylib): + print "Found %s" % (dylib) return dylib + elif os.path.exists(xcode_stub): ++ print "Found %s" % (xcode_stub) + return xcode_stub elif os.path.exists(shared): + print "Found %s" % (shared) return shared diff --git a/import-layers/yocto-poky/meta/recipes-devtools/python/python-native/multilib.patch b/import-layers/yocto-poky/meta/recipes-devtools/python/python-native/multilib.patch index 8ca89e7c5..916b40f4a 100644 --- a/import-layers/yocto-poky/meta/recipes-devtools/python/python-native/multilib.patch +++ b/import-layers/yocto-poky/meta/recipes-devtools/python/python-native/multilib.patch @@ -1,6 +1,6 @@ Rebased for Python 2.7.9 -Signed-Off-By: Alejandro Hernandez <alejandro.hernandez@linux.intel.com> +Signed-off-by: Alejandro Hernandez <alejandro.hernandez@linux.intel.com> 2011/09/29 The python recipe building was failing because python-native @@ -10,12 +10,12 @@ recipe. Upstream-Status: Inappropriate [oe-specific] -Signed-Off-By: Nitin A Kamble <nitin.a.kamble@intel.com> +Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com> -Index: Python-2.7.9/Include/pythonrun.h +Index: Python-2.7.12/Include/pythonrun.h =================================================================== ---- Python-2.7.9.orig/Include/pythonrun.h -+++ Python-2.7.9/Include/pythonrun.h +--- Python-2.7.12.orig/Include/pythonrun.h ++++ Python-2.7.12/Include/pythonrun.h @@ -108,6 +108,7 @@ PyAPI_FUNC(char *) Py_GetPath(void); /* In their own files */ PyAPI_FUNC(const char *) Py_GetVersion(void); @@ -24,10 +24,10 @@ Index: Python-2.7.9/Include/pythonrun.h PyAPI_FUNC(const char *) Py_GetCopyright(void); PyAPI_FUNC(const char *) Py_GetCompiler(void); PyAPI_FUNC(const char *) Py_GetBuildInfo(void); -Index: Python-2.7.9/Lib/distutils/command/install.py +Index: Python-2.7.12/Lib/distutils/command/install.py =================================================================== ---- Python-2.7.9.orig/Lib/distutils/command/install.py -+++ Python-2.7.9/Lib/distutils/command/install.py +--- Python-2.7.12.orig/Lib/distutils/command/install.py ++++ Python-2.7.12/Lib/distutils/command/install.py @@ -22,6 +22,8 @@ from site import USER_BASE from site import USER_SITE @@ -46,11 +46,11 @@ Index: Python-2.7.9/Lib/distutils/command/install.py 'headers': '$base/include/python$py_version_short/$dist_name', 'scripts': '$base/bin', 'data' : '$base', -Index: Python-2.7.9/Lib/pydoc.py +Index: Python-2.7.12/Lib/pydoc.py =================================================================== ---- Python-2.7.9.orig/Lib/pydoc.py -+++ Python-2.7.9/Lib/pydoc.py -@@ -383,7 +383,7 @@ class Doc: +--- Python-2.7.12.orig/Lib/pydoc.py ++++ Python-2.7.12/Lib/pydoc.py +@@ -384,7 +384,7 @@ class Doc: docloc = os.environ.get("PYTHONDOCS", "http://docs.python.org/library") @@ -59,10 +59,10 @@ Index: Python-2.7.9/Lib/pydoc.py "python"+sys.version[0:3]) if (isinstance(object, type(os)) and (object.__name__ in ('errno', 'exceptions', 'gc', 'imp', -Index: Python-2.7.9/Lib/site.py +Index: Python-2.7.12/Lib/site.py =================================================================== ---- Python-2.7.9.orig/Lib/site.py -+++ Python-2.7.9/Lib/site.py +--- Python-2.7.12.orig/Lib/site.py ++++ Python-2.7.12/Lib/site.py @@ -288,13 +288,19 @@ def getsitepackages(): if sys.platform in ('os2emx', 'riscos'): sitepackages.append(os.path.join(prefix, "Lib", "site-packages")) @@ -86,10 +86,10 @@ Index: Python-2.7.9/Lib/site.py if sys.platform == "darwin": # for framework builds *only* we add the standard Apple # locations. -Index: Python-2.7.9/Lib/test/test_dl.py +Index: Python-2.7.12/Lib/test/test_dl.py =================================================================== ---- Python-2.7.9.orig/Lib/test/test_dl.py -+++ Python-2.7.9/Lib/test/test_dl.py +--- Python-2.7.12.orig/Lib/test/test_dl.py ++++ Python-2.7.12/Lib/test/test_dl.py @@ -4,10 +4,11 @@ import unittest from test.test_support import verbose, import_module @@ -104,10 +104,10 @@ Index: Python-2.7.9/Lib/test/test_dl.py ('/usr/bin/cygwin1.dll', 'getpid'), ('/usr/lib/libc.dylib', 'getpid'), ] -Index: Python-2.7.9/Lib/trace.py +Index: Python-2.7.12/Lib/trace.py =================================================================== ---- Python-2.7.9.orig/Lib/trace.py -+++ Python-2.7.9/Lib/trace.py +--- Python-2.7.12.orig/Lib/trace.py ++++ Python-2.7.12/Lib/trace.py @@ -754,10 +754,10 @@ def main(argv=None): # should I also call expanduser? (after all, could use $HOME) @@ -121,11 +121,11 @@ Index: Python-2.7.9/Lib/trace.py "python" + sys.version[:3])) s = os.path.normpath(s) ignore_dirs.append(s) -Index: Python-2.7.9/Makefile.pre.in +Index: Python-2.7.12/Makefile.pre.in =================================================================== ---- Python-2.7.9.orig/Makefile.pre.in -+++ Python-2.7.9/Makefile.pre.in -@@ -87,6 +87,7 @@ PY_CFLAGS= $(CFLAGS) $(CPPFLAGS) $(CFLAG +--- Python-2.7.12.orig/Makefile.pre.in ++++ Python-2.7.12/Makefile.pre.in +@@ -92,6 +92,7 @@ PY_CFLAGS= $(CFLAGS) $(CPPFLAGS) $(CFLAG # Machine-dependent subdirectories MACHDEP= @MACHDEP@ @@ -133,7 +133,7 @@ Index: Python-2.7.9/Makefile.pre.in # Multiarch directory (may be empty) MULTIARCH= @MULTIARCH@ -@@ -106,7 +107,7 @@ LIBDIR= @libdir@ +@@ -111,7 +112,7 @@ LIBDIR= @libdir@ MANDIR= @mandir@ INCLUDEDIR= @includedir@ CONFINCLUDEDIR= $(exec_prefix)/include @@ -142,7 +142,7 @@ Index: Python-2.7.9/Makefile.pre.in # Detailed destination directories BINLIBDEST= $(LIBDIR)/python$(VERSION) -@@ -597,6 +598,7 @@ Modules/getpath.o: $(srcdir)/Modules/get +@@ -669,6 +670,7 @@ Modules/getpath.o: $(srcdir)/Modules/get -DEXEC_PREFIX='"$(exec_prefix)"' \ -DVERSION='"$(VERSION)"' \ -DVPATH='"$(VPATH)"' \ @@ -150,7 +150,7 @@ Index: Python-2.7.9/Makefile.pre.in -o $@ $(srcdir)/Modules/getpath.c Modules/python.o: $(srcdir)/Modules/python.c -@@ -639,7 +641,7 @@ $(AST_C): $(AST_ASDL) $(ASDLGEN_FILES) +@@ -720,7 +722,7 @@ $(AST_C): $(AST_ASDL) $(ASDLGEN_FILES) Python/compile.o Python/symtable.o Python/ast.o: $(GRAMMAR_H) $(AST_H) Python/getplatform.o: $(srcdir)/Python/getplatform.c @@ -159,25 +159,25 @@ Index: Python-2.7.9/Makefile.pre.in Python/importdl.o: $(srcdir)/Python/importdl.c $(CC) -c $(PY_CFLAGS) -I$(DLINCLDIR) -o $@ $(srcdir)/Python/importdl.c -Index: Python-2.7.9/Modules/getpath.c +Index: Python-2.7.12/Modules/getpath.c =================================================================== ---- Python-2.7.9.orig/Modules/getpath.c -+++ Python-2.7.9/Modules/getpath.c -@@ -116,9 +116,11 @@ - #define EXEC_PREFIX PREFIX +--- Python-2.7.12.orig/Modules/getpath.c ++++ Python-2.7.12/Modules/getpath.c +@@ -100,6 +100,13 @@ + #error "PREFIX, EXEC_PREFIX, VERSION, and VPATH must be constant defined" #endif +#define LIB_PYTHON LIB "/python" VERSION + - #ifndef PYTHONPATH --#define PYTHONPATH PREFIX "/lib/python" VERSION ":" \ -- EXEC_PREFIX "/lib/python" VERSION "/lib-dynload" ++#ifndef PYTHONPATH +#define PYTHONPATH PREFIX "/" LIB_PYTHON ":" \ -+ EXEC_PREFIX "/" LIB_PYTHON "/lib-dynload" - #endif - ++ EXEC_PREFIX "/" LIB_PYTHON "/lib-dynload" ++#endif ++ #ifndef LANDMARK -@@ -129,7 +131,7 @@ static char prefix[MAXPATHLEN+1]; + #define LANDMARK "os.py" + #endif +@@ -108,7 +115,7 @@ static char prefix[MAXPATHLEN+1]; static char exec_prefix[MAXPATHLEN+1]; static char progpath[MAXPATHLEN+1]; static char *module_search_path = NULL; @@ -186,10 +186,10 @@ Index: Python-2.7.9/Modules/getpath.c static void reduce(char *dir) -Index: Python-2.7.9/Python/getplatform.c +Index: Python-2.7.12/Python/getplatform.c =================================================================== ---- Python-2.7.9.orig/Python/getplatform.c -+++ Python-2.7.9/Python/getplatform.c +--- Python-2.7.12.orig/Python/getplatform.c ++++ Python-2.7.12/Python/getplatform.c @@ -10,3 +10,13 @@ Py_GetPlatform(void) { return PLATFORM; @@ -204,10 +204,10 @@ Index: Python-2.7.9/Python/getplatform.c +{ + return LIB; +} -Index: Python-2.7.9/Python/sysmodule.c +Index: Python-2.7.12/Python/sysmodule.c =================================================================== ---- Python-2.7.9.orig/Python/sysmodule.c -+++ Python-2.7.9/Python/sysmodule.c +--- Python-2.7.12.orig/Python/sysmodule.c ++++ Python-2.7.12/Python/sysmodule.c @@ -1437,6 +1437,8 @@ _PySys_Init(void) PyString_FromString(Py_GetCopyright())); SET_SYS_FROM_STRING("platform", @@ -217,11 +217,11 @@ Index: Python-2.7.9/Python/sysmodule.c SET_SYS_FROM_STRING("executable", PyString_FromString(Py_GetProgramFullPath())); SET_SYS_FROM_STRING("prefix", -Index: Python-2.7.9/configure.ac +Index: Python-2.7.12/configure.ac =================================================================== ---- Python-2.7.9.orig/configure.ac -+++ Python-2.7.9/configure.ac -@@ -736,6 +736,11 @@ SunOS*) +--- Python-2.7.12.orig/configure.ac ++++ Python-2.7.12/configure.ac +@@ -756,6 +756,11 @@ SunOS*) ;; esac diff --git a/import-layers/yocto-poky/meta/recipes-devtools/python/python-native/nohostlibs.patch b/import-layers/yocto-poky/meta/recipes-devtools/python/python-native/nohostlibs.patch index 8a452e94d..078060b49 100644 --- a/import-layers/yocto-poky/meta/recipes-devtools/python/python-native/nohostlibs.patch +++ b/import-layers/yocto-poky/meta/recipes-devtools/python/python-native/nohostlibs.patch @@ -2,8 +2,8 @@ Upstream-Status: Inappropriate [embedded specific] 2014/12/15 Rebased for python-2.7.9 -Signed-Off-By: Nitin A Kamble <nitin.a.kamble@intel.com> -Signed-Off-By: Alejandro Hernandez <alejandro.hernandez@linux.intel.com> +Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com> +Signed-off-by: Alejandro Hernandez <alejandro.hernandez@linux.intel.com> Index: Python-2.7.9/setup.py =================================================================== diff --git a/import-layers/yocto-poky/meta/recipes-devtools/python/python-native_2.7.11.bb b/import-layers/yocto-poky/meta/recipes-devtools/python/python-native_2.7.12.bb index 4c204a4f0..de83cbd76 100644 --- a/import-layers/yocto-poky/meta/recipes-devtools/python/python-native_2.7.11.bb +++ b/import-layers/yocto-poky/meta/recipes-devtools/python/python-native_2.7.12.bb @@ -1,14 +1,14 @@ require python.inc EXTRANATIVEPATH += "bzip2-native" -DEPENDS = "openssl-native bzip2-replacement-native zlib-native readline-native sqlite3-native" +DEPENDS = "openssl-native bzip2-replacement-native zlib-native readline-native sqlite3-native expat-native" PR = "${INC_PR}.1" SRC_URI += "\ file://05-enable-ctypes-cross-build.patch \ file://10-distutils-fix-swig-parameter.patch \ file://11-distutils-never-modify-shebang-line.patch \ - file://12-distutils-prefix-is-inside-staging-area.patch \ + file://0001-distutils-set-the-prefix-to-be-inside-staging-direct.patch \ file://debug.patch \ file://unixccompiler.patch \ file://nohostlibs.patch \ @@ -17,8 +17,8 @@ SRC_URI += "\ file://builddir.patch \ file://parallel-makeinst-create-bindir.patch \ file://revert_use_of_sysconfigdata.patch \ - file://avoid_parallel_make_races_on_pgen.patch \ " + S = "${WORKDIR}/Python-${PV}" FILESEXTRAPATHS =. "${FILE_DIRNAME}/${PN}:" @@ -27,11 +27,9 @@ inherit native RPROVIDES += "python-distutils-native python-compression-native python-textutils-native python-codecs-native python-core-native python-unittest-native" -EXTRA_OECONF_append = " --bindir=${bindir}/${PN}" +EXTRA_OECONF_append = " --bindir=${bindir}/${PN} --with-system-expat=${STAGING_DIR_HOST}" EXTRA_OEMAKE = '\ - BUILD_SYS="" \ - HOST_SYS="" \ LIBC="" \ STAGING_LIBDIR=${STAGING_LIBDIR_NATIVE} \ STAGING_INCDIR=${STAGING_INCDIR_NATIVE} \ diff --git a/import-layers/yocto-poky/meta/recipes-devtools/python/python-nose_1.3.7.bb b/import-layers/yocto-poky/meta/recipes-devtools/python/python-nose_1.3.7.bb index ec6158fab..3757f3a8b 100644 --- a/import-layers/yocto-poky/meta/recipes-devtools/python/python-nose_1.3.7.bb +++ b/import-layers/yocto-poky/meta/recipes-devtools/python/python-nose_1.3.7.bb @@ -5,7 +5,7 @@ SECTION = "devel/python" LICENSE = "LGPLv2.1" LIC_FILES_CHKSUM = "file://lgpl.txt;md5=a6f89e2100d9b6cdffcea4f398e37343" -SRC_URI = "http://pypi.python.org/packages/source/n/nose/nose-${PV}.tar.gz" +SRC_URI = "https://files.pythonhosted.org/packages/source/n/nose/nose-${PV}.tar.gz" SRC_URI[md5sum] = "4d3ad0ff07b61373d2cefc89c5d0b20b" SRC_URI[sha256sum] = "f1bffef9cbc82628f6e7d7b40d7e255aefaa1adb6a1b1d26c69a8b79e6208a98" diff --git a/import-layers/yocto-poky/meta/recipes-devtools/python/python-numpy/add-glibc-check.patch b/import-layers/yocto-poky/meta/recipes-devtools/python/python-numpy/add-glibc-check.patch deleted file mode 100644 index 29768f34d..000000000 --- a/import-layers/yocto-poky/meta/recipes-devtools/python/python-numpy/add-glibc-check.patch +++ /dev/null @@ -1,36 +0,0 @@ -Dont punish musl for glibc's trignometeric functions problems -additionally ensure that glibc specific macros are not used -unconditionally - -Signed-off-by: Khem Raj <raj.khem@gmail.com> -Upstream-Status: Pending -Index: numpy-1.10.4/numpy/core/src/private/npy_config.h -=================================================================== ---- numpy-1.10.4.orig/numpy/core/src/private/npy_config.h -+++ numpy-1.10.4/numpy/core/src/private/npy_config.h -@@ -75,10 +75,12 @@ - - #if defined(HAVE_FEATURES_H) - #include <features.h> -+#ifdef __GLIBC__ - #define TRIG_OK __GLIBC_PREREQ(2, 16) - #else - #define TRIG_OK 0 - #endif -+#endif - - #if !TRIG_OK - #undef HAVE_CASIN -Index: numpy-1.10.4/numpy/core/src/npymath/ieee754.c.src -=================================================================== ---- numpy-1.10.4.orig/numpy/core/src/npymath/ieee754.c.src -+++ numpy-1.10.4/numpy/core/src/npymath/ieee754.c.src -@@ -612,7 +612,7 @@ void npy_set_floatstatus_invalid(void) - } - - --#elif defined(__GLIBC__) || defined(__APPLE__) || \ -+#elif defined(__linux__) || defined(__APPLE__) || \ - defined(__CYGWIN__) || defined(__MINGW32__) || \ - (defined(__FreeBSD__) && (__FreeBSD_version >= 502114)) - # include <fenv.h> diff --git a/import-layers/yocto-poky/meta/recipes-devtools/python/python-pexpect_4.0.1.bb b/import-layers/yocto-poky/meta/recipes-devtools/python/python-pexpect_4.2.0.bb index 7f142a385..82e0fa886 100644 --- a/import-layers/yocto-poky/meta/recipes-devtools/python/python-pexpect_4.0.1.bb +++ b/import-layers/yocto-poky/meta/recipes-devtools/python/python-pexpect_4.2.0.bb @@ -2,17 +2,19 @@ SUMMARY = "A Pure Python Expect like Module for Python" HOMEPAGE = "http://pexpect.readthedocs.org/" SECTION = "devel/python" LICENSE = "ISC" -LIC_FILES_CHKSUM = "file://LICENSE;md5=66c2378a96b307d56bfb3a9e58edafa8" +LIC_FILES_CHKSUM = "file://LICENSE;md5=1c7a725251880af8c6a148181665385b" -SRC_URI = "https://pypi.python.org/packages/source/p/pexpect/pexpect-${PV}.tar.gz" -SRC_URI[md5sum] = "056df81e6ca7081f1015b4b147b977b7" -SRC_URI[sha256sum] = "232795ebcaaf2e120396dbbaa3a129eda51757eeaae1911558f4ef8ee414fc6c" +SRCNAME = "pexpect" + +SRC_URI = "https://files.pythonhosted.org/packages/source/p/${SRCNAME}/${SRCNAME}-${PV}.tar.gz" +SRC_URI[md5sum] = "8071ec5df0f3d515daedafad672d1632" +SRC_URI[sha256sum] = "bf6816b8cc8d301a499e7adf338828b39bc7548eb64dbed4dd410ed93d95f853" UPSTREAM_CHECK_URI = "https://pypi.python.org/pypi/pexpect" S = "${WORKDIR}/pexpect-${PV}" -inherit distutils +inherit setuptools RDEPENDS_${PN} = "\ python-core \ @@ -20,6 +22,7 @@ RDEPENDS_${PN} = "\ python-terminal \ python-resource \ python-fcntl \ + python-ptyprocess \ " BBCLASSEXTEND = "nativesdk" diff --git a/import-layers/yocto-poky/meta/recipes-devtools/python/python-ptyprocess_0.5.1.bb b/import-layers/yocto-poky/meta/recipes-devtools/python/python-ptyprocess_0.5.1.bb new file mode 100644 index 000000000..931e5a7d4 --- /dev/null +++ b/import-layers/yocto-poky/meta/recipes-devtools/python/python-ptyprocess_0.5.1.bb @@ -0,0 +1,23 @@ +SUMMARY = "Run a subprocess in a pseudo terminal" +HOMEPAGE = "http://ptyprocess.readthedocs.io/en/latest/" +SECTION = "devel/python" +LICENSE = "ISC" +LIC_FILES_CHKSUM = "file://LICENSE;md5=cfdcd51fa7d5808da4e74346ee394490" + +SRCNAME = "ptyprocess" + +SRC_URI = "https://files.pythonhosted.org/packages/source/p/${SRCNAME}/${SRCNAME}-${PV}.tar.gz" +SRC_URI[md5sum] = "94e537122914cc9ec9c1eadcd36e73a1" +SRC_URI[sha256sum] = "0530ce63a9295bfae7bd06edc02b6aa935619f486f0f1dc0972f516265ee81a6" + +UPSTREAM_CHECK_URI = "https://pypi.python.org/pypi/ptyprocess" + +S = "${WORKDIR}/${SRCNAME}-${PV}" + +inherit setuptools + +RDEPENDS_${PN} = "\ + python-core \ +" + +BBCLASSEXTEND = "nativesdk" diff --git a/import-layers/yocto-poky/meta/recipes-devtools/python/python-pycairo_1.10.0.bb b/import-layers/yocto-poky/meta/recipes-devtools/python/python-pycairo_1.10.0.bb deleted file mode 100644 index 70fe25c1a..000000000 --- a/import-layers/yocto-poky/meta/recipes-devtools/python/python-pycairo_1.10.0.bb +++ /dev/null @@ -1,41 +0,0 @@ -SUMMARY = "Python bindings for the Cairo canvas library" -HOMEPAGE = "http://cairographics.org/pycairo" -BUGTRACKER = "http://bugs.freedesktop.org" -SECTION = "python-devel" -LICENSE = "LGPLv2.1 & MPL-1.1" -LIC_FILES_CHKSUM = "file://COPYING;md5=f2e071ab72978431b294a0d696327421 \ - file://COPYING-LGPL-2.1;md5=fad9b3332be894bab9bc501572864b29 \ - file://COPYING-MPL-1.1;md5=bfe1f75d606912a4111c90743d6c7325" - -# cairo >= 1.8.8 -DEPENDS = "cairo" -PR = "r2" - -SRC_URI = "http://cairographics.org/releases/py2cairo-${PV}.tar.bz2" - -SRC_URI[md5sum] = "20337132c4ab06c1146ad384d55372c5" -SRC_URI[sha256sum] = "d30439f06c2ec1a39e27464c6c828b6eface3b22ee17b2de05dc409e429a7431" - -S = "${WORKDIR}/py2cairo-${PV}" - -inherit distutils pkgconfig - -BBCLASSEXTEND = "native" - -do_configure() { - BUILD_SYS=${BUILD_SYS} HOST_SYS=${HOST_SYS} ./waf configure --prefix=${D}${prefix} --libdir=${D}${libdir} -} - -do_compile() { - ./waf build ${PARALLEL_MAKE} -} - -do_install() { - ./waf install - sed \ - -e 's:@prefix@:${prefix}:' \ - -e 's:@VERSION@:${PV}:' \ - -e 's:@includedir@:${includedir}:' \ - pycairo.pc.in > pycairo.pc - install -m 0644 pycairo.pc ${D}${libdir}/pkgconfig/ -} diff --git a/import-layers/yocto-poky/meta/recipes-devtools/python/python-pyrex-native_0.9.9.bb b/import-layers/yocto-poky/meta/recipes-devtools/python/python-pyrex-native_0.9.9.bb deleted file mode 100644 index e8ef1aa12..000000000 --- a/import-layers/yocto-poky/meta/recipes-devtools/python/python-pyrex-native_0.9.9.bb +++ /dev/null @@ -1,5 +0,0 @@ -require python-pyrex_${PV}.bb -inherit native pythonnative -DEPENDS = "python-native" -RDEPENDS_${PN} = "" -PR = "r3" diff --git a/import-layers/yocto-poky/meta/recipes-devtools/python/python-pyrex/pyrex-fix-optimized-mode.patch b/import-layers/yocto-poky/meta/recipes-devtools/python/python-pyrex/pyrex-fix-optimized-mode.patch deleted file mode 100644 index c58c3280e..000000000 --- a/import-layers/yocto-poky/meta/recipes-devtools/python/python-pyrex/pyrex-fix-optimized-mode.patch +++ /dev/null @@ -1,15 +0,0 @@ -Upstream-Status: Pending - -Index: Pyrex-0.9.8.4/Pyrex/Distutils/extension.py -=================================================================== ---- Pyrex-0.9.8.4.orig/Pyrex/Distutils/extension.py -+++ Pyrex-0.9.8.4/Pyrex/Distutils/extension.py -@@ -15,7 +15,7 @@ except ImportError: - warnings = None - - class Extension(_Extension.Extension): -- _Extension.Extension.__doc__ + \ -+ _Extension.Extension.__doc__ or "" + \ - """pyrex_include_dirs : [string] - list of directories to search for Pyrex header files (.pxd) (in - Unix form for portability) diff --git a/import-layers/yocto-poky/meta/recipes-devtools/python/python-pyrex_0.9.9.bb b/import-layers/yocto-poky/meta/recipes-devtools/python/python-pyrex_0.9.9.bb deleted file mode 100644 index c4dd2e69b..000000000 --- a/import-layers/yocto-poky/meta/recipes-devtools/python/python-pyrex_0.9.9.bb +++ /dev/null @@ -1,22 +0,0 @@ -SUMMARY = "Language for writing Python extension modules" -DESCRIPTION = "Pyrex is a language specially designed for writing Python extension modules. \ -It's designed to bridge the gap between the nice, high-level, easy-to-use world of Python \ -and the messy, low-level world of C." -SECTION = "devel/python" -LICENSE = "Apache-2.0" -LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=771d472f53f933033f57eeee7808e5bd" -SRCNAME = "Pyrex" -PR = "r4" - -SRC_URI = "\ - http://www.cosc.canterbury.ac.nz/greg.ewing/python/${SRCNAME}/${SRCNAME}-${PV}.tar.gz \ - file://pyrex-fix-optimized-mode.patch \ -" - -SRC_URI[md5sum] = "515dee67d15d4393841e2d60e8341947" -SRC_URI[sha256sum] = "5f87df06831d0b3412eb4bc9d3fc2ee7bfae1b913d7da8c23ab2bf5699fb6b50" -S = "${WORKDIR}/${SRCNAME}-${PV}" - -inherit distutils - -FILES_${PN} += "${datadir}${base_libdir}/${PYTHON_DIR}/site-packages/Pyrex/Compiler/Lexicon.pickle" diff --git a/import-layers/yocto-poky/meta/recipes-devtools/python/python-scons-native_2.4.1.bb b/import-layers/yocto-poky/meta/recipes-devtools/python/python-scons-native_2.5.0.bb index dae89ab5d..dae89ab5d 100644 --- a/import-layers/yocto-poky/meta/recipes-devtools/python/python-scons-native_2.4.1.bb +++ b/import-layers/yocto-poky/meta/recipes-devtools/python/python-scons-native_2.5.0.bb diff --git a/import-layers/yocto-poky/meta/recipes-devtools/python/python-scons_2.4.1.bb b/import-layers/yocto-poky/meta/recipes-devtools/python/python-scons_2.4.1.bb deleted file mode 100644 index 096cf5c96..000000000 --- a/import-layers/yocto-poky/meta/recipes-devtools/python/python-scons_2.4.1.bb +++ /dev/null @@ -1,22 +0,0 @@ -SUMMARY = "Software Construction tool (make/autotools replacement)" -SECTION = "devel/python" -LICENSE = "MIT" -LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=23bc1530c55e9f0d1b709056bcea237d" -SRCNAME = "scons" - -SRC_URI = "${SOURCEFORGE_MIRROR}/scons/scons-${PV}.tar.gz" - -SRC_URI[md5sum] = "9a0ddf33d9839f04380e0fae87cc4b40" -SRC_URI[sha256sum] = "8fc4f42928c69bcbb33e1be94b646f2c700b659693fabc778c192d4d22f753a7" - -UPSTREAM_CHECK_URI = "http://sourceforge.net/projects/scons/files/scons/" -UPSTREAM_CHECK_REGEX = "/scons/(?P<pver>(\d+[\.\-_]*)+)/" - -S = "${WORKDIR}/${SRCNAME}-${PV}" - -inherit distutils - -RDEPENDS_${PN} = "\ - python-fcntl \ - python-io \ - " diff --git a/import-layers/yocto-poky/meta/recipes-devtools/python/python-scons_2.5.0.bb b/import-layers/yocto-poky/meta/recipes-devtools/python/python-scons_2.5.0.bb new file mode 100644 index 000000000..8543c4182 --- /dev/null +++ b/import-layers/yocto-poky/meta/recipes-devtools/python/python-scons_2.5.0.bb @@ -0,0 +1,23 @@ +SUMMARY = "Software Construction tool (make/autotools replacement)" +SECTION = "devel/python" +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=3a885dff6d14e4cd876d9008a09a42de" +SRCNAME = "scons" + +SRC_URI = "https://files.pythonhosted.org/packages/source/s/${SRCNAME}/${SRCNAME}-${PV}.tar.gz" + +SRC_URI[md5sum] = "bda5530a70a41a7831d83c8b191c021e" +SRC_URI[sha256sum] = "01f1b3d6023516a8e1b5e77799e5a82a23b32953b1102d339059ffeca8600493" + +UPSTREAM_CHECK_URI = "https://pypi.python.org/pypi/SCons/" + +S = "${WORKDIR}/${SRCNAME}-${PV}" + +inherit setuptools + +RDEPENDS_${PN} = "\ + python-fcntl \ + python-io \ + python-json \ + python-subprocess \ + " diff --git a/import-layers/yocto-poky/meta/recipes-devtools/python/python-setuptools.inc b/import-layers/yocto-poky/meta/recipes-devtools/python/python-setuptools.inc index 0917e88ab..92ca9a002 100644 --- a/import-layers/yocto-poky/meta/recipes-devtools/python/python-setuptools.inc +++ b/import-layers/yocto-poky/meta/recipes-devtools/python/python-setuptools.inc @@ -1,21 +1,21 @@ SUMMARY = "Download, build, install, upgrade, and uninstall Python packages" HOMEPAGE = "https://pypi.python.org/pypi/setuptools" SECTION = "devel/python" -LICENSE = "PSF | ZPL-2.0" +LICENSE = "MIT" -LIC_FILES_CHKSUM = "file://setup.py;beginline=78;endline=78;md5=8a314270dd7a8dbca741775415f1716e" +LIC_FILES_CHKSUM = "file://setup.py;beginline=134;endline=134;md5=3e8df024d6c1442d18e84acf8fbbc475" SRCNAME = "setuptools" -SRC_URI = "http://pypi.python.org/packages/source/s/${SRCNAME}/${SRCNAME}-${PV}.tar.gz" +SRC_URI = "https://files.pythonhosted.org/packages/source/s/${SRCNAME}/${SRCNAME}-${PV}.tar.gz" -SRC_URI[md5sum] = "c5a7d90c1e0acf8c4ec5c2bf31bc25b5" -SRC_URI[sha256sum] = "214bf29933f47cf25e6faa569f710731728a07a19cae91ea64f826051f68a8cf" +SRC_URI[md5sum] = "869f3029dcc66a64ba39875e2a2f044a" +SRC_URI[sha256sum] = "19aad19471052d5daefe96f2c1fa2e88dcdb17488bf8708d7e6356881ea833cb" UPSTREAM_CHECK_URI = "https://pypi.python.org/pypi/setuptools" S = "${WORKDIR}/${SRCNAME}-${PV}" do_install_prepend() { - install -d ${D}/${libdir}/${PYTHON_DIR}/site-packages + install -d ${D}${PYTHON_SITEPACKAGES_DIR} } diff --git a/import-layers/yocto-poky/meta/recipes-devtools/python/python-setuptools_19.4.bb b/import-layers/yocto-poky/meta/recipes-devtools/python/python-setuptools_22.0.5.bb index c17203923..526474c7e 100644 --- a/import-layers/yocto-poky/meta/recipes-devtools/python/python-setuptools_19.4.bb +++ b/import-layers/yocto-poky/meta/recipes-devtools/python/python-setuptools_22.0.5.bb @@ -7,7 +7,7 @@ DEPENDS_class-native += "python-native" inherit distutils -DISTUTILS_INSTALL_ARGS += "--install-lib=${D}${libdir}/${PYTHON_DIR}/site-packages" +DISTUTILS_INSTALL_ARGS += "--install-lib=${D}${PYTHON_SITEPACKAGES_DIR}" RDEPENDS_${PN} = "\ python-stringold \ diff --git a/import-layers/yocto-poky/meta/recipes-devtools/python/python-six.inc b/import-layers/yocto-poky/meta/recipes-devtools/python/python-six.inc new file mode 100644 index 000000000..bd12fa94a --- /dev/null +++ b/import-layers/yocto-poky/meta/recipes-devtools/python/python-six.inc @@ -0,0 +1,16 @@ +SUMMARY = "Python 2 and 3 compatibility library" +HOMEPAGE = "https://pypi.python.org/pypi/six/" +SECTION = "devel/python" +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://LICENSE;md5=6f00d4a50713fa859858dd9abaa35b21" + +SRC_URI = "https://files.pythonhosted.org/packages/source/s/six/six-${PV}.tar.gz" +SRC_URI[md5sum] = "34eed507548117b2ab523ab14b2f8b55" +SRC_URI[sha256sum] = "105f8d68616f8248e24bf0e9372ef04d3cc10104f1980f54d57b2ce73a5ad56a" + +UPSTREAM_CHECK_URI = "https://pypi.python.org/pypi/six/" +UPSTREAM_CHECK_REGEX = "/six/(?P<pver>(\d+[\.\-_]*)+)" + +BBCLASSEXTEND = "native nativesdk" + +S = "${WORKDIR}/six-${PV}" diff --git a/import-layers/yocto-poky/meta/recipes-devtools/python/python-six_1.10.0.bb b/import-layers/yocto-poky/meta/recipes-devtools/python/python-six_1.10.0.bb new file mode 100644 index 000000000..4350485f7 --- /dev/null +++ b/import-layers/yocto-poky/meta/recipes-devtools/python/python-six_1.10.0.bb @@ -0,0 +1,4 @@ +inherit setuptools +require python-six.inc + +RDEPENDS_${PN} += "python-io" diff --git a/import-layers/yocto-poky/meta/recipes-devtools/python/python-smartpm/channels-rpm_sys-use-md5sum-instead-of-mtime-as-the-.patch b/import-layers/yocto-poky/meta/recipes-devtools/python/python-smartpm/channels-rpm_sys-use-md5sum-instead-of-mtime-as-the-.patch new file mode 100644 index 000000000..2f14a124e --- /dev/null +++ b/import-layers/yocto-poky/meta/recipes-devtools/python/python-smartpm/channels-rpm_sys-use-md5sum-instead-of-mtime-as-the-.patch @@ -0,0 +1,38 @@ +channels/rpm_sys: use md5sum instead of mtime as the digest + +Use the internal getFileDigest() function (which defaults to md5) instead of +mtime for getting the file digest. On some systems mtime proved to be +unreliable because of delayed update. This caused smart to miss rpm db updates +and thus get its understanding of installed packages out of sync. + +Upstream-Status: Pending + +Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com> +--- + smart/channels/rpm_sys.py | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +diff --git a/smart/channels/rpm_sys.py b/smart/channels/rpm_sys.py +index b9fda27..6f1fe94 100644 +--- a/smart/channels/rpm_sys.py ++++ b/smart/channels/rpm_sys.py +@@ -22,6 +22,7 @@ + from smart.backends.rpm.header import RPMDBLoader + from smart.backends.rpm.base import getTS, rpm_join_dbpath + from smart.channel import PackageChannel ++from smart.util.filetools import getFileDigest + from smart import * + import os + +@@ -35,7 +36,7 @@ class RPMSysChannel(PackageChannel): + dbdir = rpm_join_dbpath(sysconf.get("rpm-root", "/"), + sysconf.get("rpm-dbpath", "var/lib/rpm")) + path = os.path.join(dbdir, "Packages") +- digest = os.path.getmtime(path) ++ digest = getFileDigest(path) + if digest == self._digest: + return True + self.removeLoaders() +-- +2.6.6 + diff --git a/import-layers/yocto-poky/meta/recipes-devtools/python/python-smartpm/smart-add-deugging-when-targetpath-is-empty.patch b/import-layers/yocto-poky/meta/recipes-devtools/python/python-smartpm/smart-add-deugging-when-targetpath-is-empty.patch new file mode 100644 index 000000000..5e80804bf --- /dev/null +++ b/import-layers/yocto-poky/meta/recipes-devtools/python/python-smartpm/smart-add-deugging-when-targetpath-is-empty.patch @@ -0,0 +1,47 @@ +From 01e51afd03131947f8d74b9a23fdbc0078249499 Mon Sep 17 00:00:00 2001 +From: Mariano Lopez <mariano.lopez@linux.intel.com> +Date: Wed, 3 Aug 2016 07:47:09 +0000 +Subject: [PATCH] fetcher.py: Add debugging when targetpath is empty + +There are several errors when openining files or manipulating +path strings, those errors point targetpath passed to +setSucceeded() is empty. This patch won't solve the problems, +but will add debugging to give an idea why is failing. + +Upstream-Status: Inappropriate [debugging] + +Signed-off-by: Mariano Lopez <mariano.lopez@linux.intel.com> +--- + smart/fetcher.py | 16 ++++++++++++++++ + 1 file changed, 16 insertions(+) + +diff --git a/smart/fetcher.py b/smart/fetcher.py +index dd3ff6b..64aa979 100644 +--- a/smart/fetcher.py ++++ b/smart/fetcher.py +@@ -594,6 +594,22 @@ class FetchItem(object): + self._eta = None + + def setSucceeded(self, targetpath, fetchedsize=0): ++ # It seems the in some odd cases targetpath here ++ # is empty, this will lead to bugs in several places ++ if not targetpath: ++ import traceback ++ tb_str = "" ++ for threadId, stack in sys._current_frames().items(): ++ tb_str += '\nThreadID: %s' % threadId ++ for filename, lineno, name, line in traceback.extract_stack(stack): ++ tb_str += '\nFile: "%s", line %d, in %s' % (filename, lineno, name) ++ if line: ++ tb_str += "\n %s" % line.strip() ++ error_string = ["No file path specified", ++ "URL: %s" % self._url, ++ "Status: %s" % self._status, ++ "Traceback: %s" % tb_str] ++ raise Error, _("\n".join(error_string)) + if self._status is not FAILED: + self._status = SUCCEEDED + self._targetpath = targetpath +-- +2.6.6 + diff --git a/import-layers/yocto-poky/meta/recipes-devtools/python/python-smartpm/smart-attempt.patch b/import-layers/yocto-poky/meta/recipes-devtools/python/python-smartpm/smart-attempt.patch index ec98e03c0..5aedc8826 100644 --- a/import-layers/yocto-poky/meta/recipes-devtools/python/python-smartpm/smart-attempt.patch +++ b/import-layers/yocto-poky/meta/recipes-devtools/python/python-smartpm/smart-attempt.patch @@ -36,7 +36,7 @@ index 9bbd952..ba6405a 100644 finally: del getTS.ts cb.grabOutput(False) -+ if probs and sysconf.has("attempt-install", soft=True): ++ if (probs is not None) and sysconf.has("attempt-install", soft=True): + def remove_conflict(pkgNEVR): + for key in changeset.keys(): + if pkgNEVR == str(key): @@ -67,8 +67,8 @@ index 9bbd952..ba6405a 100644 + retry = 0 + prog.setDone() -- if probs: -+ if probs and (not retry): +- if probs is not None: ++ if (probs is not None) and (not retry): raise Error, "\n".join([x[0] for x in probs]) prog.stop() + if retry and len(changeset): diff --git a/import-layers/yocto-poky/meta/recipes-devtools/python/python-smartpm/smart-channel-remove-all.patch b/import-layers/yocto-poky/meta/recipes-devtools/python/python-smartpm/smart-channel-remove-all.patch new file mode 100644 index 000000000..da23e7ce4 --- /dev/null +++ b/import-layers/yocto-poky/meta/recipes-devtools/python/python-smartpm/smart-channel-remove-all.patch @@ -0,0 +1,33 @@ +From 6d2363a705697f615d9e5af5d6703b291e618b46 Mon Sep 17 00:00:00 2001 +From: Daniel Klauer <daniel.klauer@gin.de> +Date: Thu, 12 May 2016 17:55:01 +0200 +Subject: [PATCH] Fix channel command --remove-all option parsing + +Option.take_action() stores a list of options given for validation later. +It strips leading dashes and turns remaining dashes into underscores. +This list is what ensure_action() will compare its arguments against, +thus we must use underscores here. + +Upstream-Status: Pending + +Signed-off-by: Daniel Klauer <daniel.klauer@gin.de> +--- + smart/commands/channel.py | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/smart/commands/channel.py b/smart/commands/channel.py +index 108f3f1..6234f69 100644 +--- a/smart/commands/channel.py ++++ b/smart/commands/channel.py +@@ -164,7 +164,7 @@ def main(ctrl, opts): + opts.check_args_of_option("edit", 0) + opts.check_args_of_option("enable", -1) + opts.check_args_of_option("disable", -1) +- opts.ensure_action("channel", ["add", "set", "remove", "remove-all", ++ opts.ensure_action("channel", ["add", "set", "remove", "remove_all", + "list", "show", "yaml", "enable", "disable"]) + opts.check_remaining_args() + +-- +1.9.1 + diff --git a/import-layers/yocto-poky/meta/recipes-devtools/python/python-smartpm/smart-improve-error-reporting.patch b/import-layers/yocto-poky/meta/recipes-devtools/python/python-smartpm/smart-improve-error-reporting.patch deleted file mode 100644 index b82265b3f..000000000 --- a/import-layers/yocto-poky/meta/recipes-devtools/python/python-smartpm/smart-improve-error-reporting.patch +++ /dev/null @@ -1,91 +0,0 @@ -Improve error reporting in smart - -Add code to check proper command line arguments for various -smart commands. Exit with error if erroneous/additional arguments -are given in the command line. - -Upstream-Status: Pending - -Signed-off-by: Bogdan Marinescu <bogdan.a.marinescu@intel.com> - -diff --git a/smart/util/optparse.py b/smart/util/optparse.py -index 6fff1bc..f445a3b 100644 ---- a/smart/util/optparse.py -+++ b/smart/util/optparse.py -@@ -70,6 +70,8 @@ import sys, os - import types - import textwrap - from gettext import gettext as _ -+from smart import Error -+import re - - def _repr(self): - return "<%s at 0x%x: %s>" % (self.__class__.__name__, id(self), self) -@@ -710,6 +712,12 @@ class Option: - self.action, self.dest, opt, value, values, parser) - - def take_action(self, action, dest, opt, value, values, parser): -+ # Keep all the options in the command line in the '_given_opts' array -+ # This will be used later to validate the command line -+ given_opts = getattr(parser.values, "_given_opts", []) -+ user_opt = re.sub(r"^\-*", "", opt).replace("-", "_") -+ given_opts.append(user_opt) -+ setattr(parser.values, "_given_opts", given_opts) - if action == "store": - setattr(values, dest, value) - elif action == "store_const": -@@ -821,6 +829,54 @@ class Values: - setattr(self, attr, value) - return getattr(self, attr) - -+ # Check if the given option has the specified number of arguments -+ # Raise an error if the option has an invalid number of arguments -+ # A negative number for 'nargs' means "at least |nargs| arguments are needed" -+ def check_args_of_option(self, opt, nargs, err=None): -+ given_opts = getattr(self, "_given_opts", []) -+ if not opt in given_opts: -+ return -+ values = getattr(self, opt, []) -+ if type(values) != type([]): -+ return -+ if nargs < 0: -+ nargs = -nargs -+ if len(values) >= nargs: -+ return -+ if not err: -+ if nargs == 1: -+ err = _("Option '%s' requires at least one argument") % opt -+ else: -+ err = _("Option '%s' requires at least %d arguments") % (opt, nargs) -+ raise Error, err -+ elif nargs == 0: -+ if len( values ) == 0: -+ return -+ raise Error, err -+ else: -+ if len(values) == nargs: -+ return -+ if not err: -+ if nargs == 1: -+ err = _("Option '%s' requires one argument") % opt -+ else: -+ err = _("Option '%s' requires %d arguments") % (opt, nargs) -+ raise Error, err -+ -+ # Check that at least one of the options in 'actlist' was given as an argument -+ # to the command 'cmdname' -+ def ensure_action(self, cmdname, actlist): -+ given_opts = getattr(self, "_given_opts", []) -+ for action in actlist: -+ if action in given_opts: -+ return -+ raise Error, _("No action specified for command '%s'") % cmdname -+ -+ # Check if there are any other arguments left after parsing the command line and -+ # raise an error if such arguments are found -+ def check_remaining_args(self): -+ if self.args: -+ raise Error, _("Invalid argument(s) '%s'" % str(self.args)) - - class OptionContainer: - diff --git a/import-layers/yocto-poky/meta/recipes-devtools/python/python-smartpm/smart-locale.patch b/import-layers/yocto-poky/meta/recipes-devtools/python/python-smartpm/smart-locale.patch new file mode 100644 index 000000000..0f1dfb91d --- /dev/null +++ b/import-layers/yocto-poky/meta/recipes-devtools/python/python-smartpm/smart-locale.patch @@ -0,0 +1,27 @@ +rpm or commands run by rpm can use output which isn't strictly acsii such +as quotation characters around expression which are character 0xe2. + +Use utf-8 as an encoding rather than whatever the system suggests to +ensure smart copes with this rather than erroring with unicode errors. + +RP 2016/5/19 +Upstream-Status: Pending + + +Index: git/smart/backends/rpm/pm.py +=================================================================== +--- git.orig/smart/backends/rpm/pm.py ++++ git/smart/backends/rpm/pm.py +@@ -32,11 +32,7 @@ from smart.pm import PackageManager + from smart import sysconf, iface, Error, _ + + +-try: +- ENCODING = locale.getpreferredencoding() +-except locale.Error: +- ENCODING = "ascii" +- ++ENCODING = "utf-8" + + def get_public_key(header): + return header.sprintf("%|DSAHEADER?{%{DSAHEADER:pgpsig}}:" diff --git a/import-layers/yocto-poky/meta/recipes-devtools/python/python-smartpm/smart-rpm-transaction-failure-check.patch b/import-layers/yocto-poky/meta/recipes-devtools/python/python-smartpm/smart-rpm-transaction-failure-check.patch new file mode 100644 index 000000000..bb8c3afdb --- /dev/null +++ b/import-layers/yocto-poky/meta/recipes-devtools/python/python-smartpm/smart-rpm-transaction-failure-check.patch @@ -0,0 +1,57 @@ +From 0c55d7e18f40465e95e8e4bf22af01f5d4477d3c Mon Sep 17 00:00:00 2001 +From: Daniel Klauer <daniel.klauer@gin.de> +Date: Wed, 11 May 2016 17:22:49 +0200 +Subject: [PATCH] rpm: Don't ignore transaction error with empty problems list + +SmartPM could misinterpret RPM transaction error as success, +if ts.run() (RPM Python API) returns an empty problems list, +because of incorrect check for None which treated empty list +to be the same as None when it has different meaning. + +ts.run() returns: +* None in case of success +* problems list in case of error, may be empty +(look at rpmts_Run() in rpm-5.4.14/python/rpmts-py.c [1]) + +"if mylist" is not good enough to check for error here, because it will +treat an empty list as "false" because its len() == 0 [2]. + +ts.check() seems to be different (it's ok for it to return an empty list), +but for consistency it should be made clear that it can return either None, +an empty list or a non-empty list. + +[1] http://rpm5.org/cvs/fileview?f=rpm/python/rpmts-py.c&v=1.111.2.3 +[2] https://docs.python.org/2/library/stdtypes.html#truth-value-testing + +Upstream-Status: Pending + +Signed-off-by: Daniel Klauer <daniel.klauer@gin.de> +--- + smart/backends/rpm/pm.py | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/smart/backends/rpm/pm.py b/smart/backends/rpm/pm.py +index 9bbd952..635f726 100644 +--- a/smart/backends/rpm/pm.py ++++ b/smart/backends/rpm/pm.py +@@ -208,7 +208,7 @@ class RPMPackageManager(PackageManager): + force = sysconf.get("rpm-force", False) + if not force: + probs = ts.check() +- if probs: ++ if (probs is not None) and (len(probs) != 0): + problines = [] + for prob in probs: + name1 = "%s-%s-%s" % prob[0] +@@ -247,7 +247,7 @@ class RPMPackageManager(PackageManager): + del getTS.ts + cb.grabOutput(False) + prog.setDone() +- if probs: ++ if probs is not None: + raise Error, "\n".join([x[0] for x in probs]) + prog.stop() + +-- +1.9.1 + diff --git a/import-layers/yocto-poky/meta/recipes-devtools/python/python-smartpm/smartpm-rpm5-nodig.patch b/import-layers/yocto-poky/meta/recipes-devtools/python/python-smartpm/smartpm-rpm5-nodig.patch deleted file mode 100644 index fefb29a66..000000000 --- a/import-layers/yocto-poky/meta/recipes-devtools/python/python-smartpm/smartpm-rpm5-nodig.patch +++ /dev/null @@ -1,59 +0,0 @@ -RPM5 has removed support for RPMVSF_NOSIGNATURES - -Patch smart to no longer use this flag - -Upstream-Status: Pending - -Signed-off-by: Mark Hatle <mark.hatle@windriver.com> - -diff --git a/smart/backends/rpm/base.py b/smart/backends/rpm/base.py ---- a/smart/backends/rpm/base.py -+++ b/smart/backends/rpm/base.py -@@ -63,11 +63,11 @@ def getTS(new=False): - if sysconf.get("rpm-dbpath"): - rpm.addMacro('_dbpath', "/" + sysconf.get("rpm-dbpath")) - getTS.ts = rpm.ts(getTS.root) -- if not sysconf.get("rpm-check-signatures", False): -- if hasattr(rpm, '_RPMVSF_NOSIGNATURES'): -- getTS.ts.setVSFlags(rpm._RPMVSF_NOSIGNATURES) -- else: -- raise Error, _("rpm requires checking signatures") -+ #if not sysconf.get("rpm-check-signatures", False): -+ # if hasattr(rpm, '_RPMVSF_NOSIGNATURES'): -+ # getTS.ts.setVSFlags(rpm._RPMVSF_NOSIGNATURES) -+ # else: -+ # raise Error, _("rpm requires checking signatures") - rpm_dbpath = sysconf.get("rpm-dbpath", "var/lib/rpm") - dbdir = rpm_join_dbpath(getTS.root, rpm_dbpath) - if not os.path.isdir(dbdir): -@@ -89,11 +89,11 @@ def getTS(new=False): - if sysconf.get("rpm-dbpath"): - rpm.addMacro('_dbpath', "/" + sysconf.get("rpm-dbpath")) - ts = rpm.ts(getTS.root) -- if not sysconf.get("rpm-check-signatures", False): -- if hasattr(rpm, '_RPMVSF_NOSIGNATURES'): -- ts.setVSFlags(rpm._RPMVSF_NOSIGNATURES) -- else: -- raise Error, _("rpm requires checking signatures") -+ #if not sysconf.get("rpm-check-signatures", False): -+ # if hasattr(rpm, '_RPMVSF_NOSIGNATURES'): -+ # ts.setVSFlags(rpm._RPMVSF_NOSIGNATURES) -+ # else: -+ # raise Error, _("rpm requires checking signatures") - return ts - else: - return getTS.ts -diff --git a/smart/plugins/yumchannelsync.py b/smart/plugins/yumchannelsync.py ---- a/smart/plugins/yumchannelsync.py -+++ b/smart/plugins/yumchannelsync.py -@@ -56,8 +56,8 @@ def _getreleasever(): - - rpmroot = sysconf.get("rpm-root", "/") - ts = rpmUtils.transaction.initReadOnlyTransaction(root=rpmroot) -- if hasattr(rpm, '_RPMVSF_NOSIGNATURES') and hasattr(rpm, '_RPMVSF_NODIGESTS'): -- ts.pushVSFlags(~(rpm._RPMVSF_NOSIGNATURES|rpm._RPMVSF_NODIGESTS)) -+ #if hasattr(rpm, '_RPMVSF_NOSIGNATURES') and hasattr(rpm, '_RPMVSF_NODIGESTS'): -+ # ts.pushVSFlags(~(rpm._RPMVSF_NOSIGNATURES|rpm._RPMVSF_NODIGESTS)) - releasever = None - # HACK: we're hard-coding the most used distros, will add more if needed - idx = ts.dbMatch('provides', 'fedora-release') diff --git a/import-layers/yocto-poky/meta/recipes-devtools/python/python-smartpm/smartpm-rpm5-support-check-signatures.patch b/import-layers/yocto-poky/meta/recipes-devtools/python/python-smartpm/smartpm-rpm5-support-check-signatures.patch new file mode 100644 index 000000000..4067a90a0 --- /dev/null +++ b/import-layers/yocto-poky/meta/recipes-devtools/python/python-smartpm/smartpm-rpm5-support-check-signatures.patch @@ -0,0 +1,112 @@ +From 5b79e28bd70a0ec5b34c5ff19b66cbbdd1e48835 Mon Sep 17 00:00:00 2001 +From: Haiqing Bai <Haiqing.Bai@windriver.com> +Date: Fri, 18 Mar 2016 13:34:07 +0800 +Subject: [PATCH] Make smartpm to support check signatures of rpmv5. + +The original support for 'rpm-check-signatures' has been +disabled for the RPMv5 does not support '_RPMVSF_NOSIGNATURES' +now. This fix replaces the '_RPMVSF_NOSIGNATURES' with +rpm VS flags set:RPMVSF_NODSAHEADER|RPMVSF_NORSAHEADER| +RPMVSF_NODSA|RPMVSF_NORSA. + +Upstream-Status: Pending +Signed-off-by: Haiqing Bai <Haiqing.Bai@windriver.com> +--- + smart/backends/rpm/base.py | 43 +++++++++++++++++++++++++++++++---------- + smart/backends/rpm/pm.py | 2 +- + smart/plugins/yumchannelsync.py | 5 +++-- + 3 files changed, 37 insertions(+), 13 deletions(-) + +diff --git a/smart/backends/rpm/base.py b/smart/backends/rpm/base.py +index 85f4d49..dbd6165 100644 +--- a/smart/backends/rpm/base.py ++++ b/smart/backends/rpm/base.py +@@ -63,11 +63,23 @@ def getTS(new=False): + if sysconf.get("rpm-dbpath"): + rpm.addMacro('_dbpath', "/" + sysconf.get("rpm-dbpath")) + getTS.ts = rpm.ts(getTS.root) +- if not sysconf.get("rpm-check-signatures", False): +- if hasattr(rpm, '_RPMVSF_NOSIGNATURES'): +- getTS.ts.setVSFlags(rpm._RPMVSF_NOSIGNATURES) +- else: +- raise Error, _("rpm requires checking signatures") ++ ++ # _RPMVSF_NOSIGNATURES is not supported in RPMv5, so here uses ++ # RPMVSF_NODSAHEADER|RPMVSF_NORSAHEADER|RPMVSF_NODSA|RPMVSF_NORSA ++ # to replace '_RPMVSF_NOSIGNATURES' to continue to support check ++ # rpm signatures ++ ++ #if not sysconf.get("rpm-check-signatures", False): ++ # if hasattr(rpm, '_RPMVSF_NOSIGNATURES'): ++ # getTS.ts.setVSFlags(rpm._RPMVSF_NOSIGNATURES) ++ # else: ++ # raise Error, _("rpm requires checking signatures") ++ if sysconf.get("rpm-check-signatures") == False: ++ getTS.ts.setVSFlags(rpm.RPMVSF_NODSAHEADER|rpm.RPMVSF_NORSAHEADER|\ ++ rpm.RPMVSF_NODSA|rpm.RPMVSF_NORSA) ++ else: ++ getTS.ts.setVSFlags(0) ++ + rpm_dbpath = sysconf.get("rpm-dbpath", "var/lib/rpm") + dbdir = rpm_join_dbpath(getTS.root, rpm_dbpath) + if not os.path.isdir(dbdir): +@@ -89,11 +101,22 @@ def getTS(new=False): + if sysconf.get("rpm-dbpath"): + rpm.addMacro('_dbpath', "/" + sysconf.get("rpm-dbpath")) + ts = rpm.ts(getTS.root) +- if not sysconf.get("rpm-check-signatures", False): +- if hasattr(rpm, '_RPMVSF_NOSIGNATURES'): +- ts.setVSFlags(rpm._RPMVSF_NOSIGNATURES) +- else: +- raise Error, _("rpm requires checking signatures") ++ ++ # _RPMVSF_NOSIGNATURES is not supported in RPMv5, so here uses ++ # RPMVSF_NODSAHEADER|RPMVSF_NORSAHEADER|RPMVSF_NODSA|RPMVSF_NORSA ++ # to replace '_RPMVSF_NOSIGNATURES' to continue to support check ++ # rpm signatures ++ ++ #if not sysconf.get("rpm-check-signatures", False): ++ # if hasattr(rpm, '_RPMVSF_NOSIGNATURES'): ++ # ts.setVSFlags(rpm._RPMVSF_NOSIGNATURES) ++ # else: ++ # raise Error, _("rpm requires checking signatures") ++ if sysconf.get("rpm-check-signatures") == False: ++ ts.setVSFlags(rpm.RPMVSF_NODSAHEADER|rpm.RPMVSF_NORSAHEADER|\ ++ rpm.RPMVSF_NODSA|rpm.RPMVSF_NORSA) ++ else: ++ ts.setVSFlags(0) + return ts + else: + return getTS.ts +diff --git a/smart/backends/rpm/pm.py b/smart/backends/rpm/pm.py +index b57a844..7b651b5 100644 +--- a/smart/backends/rpm/pm.py ++++ b/smart/backends/rpm/pm.py +@@ -180,7 +180,7 @@ class RPMPackageManager(PackageManager): + fd = os.open(path, os.O_RDONLY) + try: + h = ts.hdrFromFdno(fd) +- if sysconf.get("rpm-check-signatures", False): ++ if sysconf.get("rpm-check-signatures", True): + if get_public_key(h) == '(none)': + raise rpm.error('package is not signed') + except rpm.error, e: +diff --git a/smart/plugins/yumchannelsync.py b/smart/plugins/yumchannelsync.py +index f8107e6..2dc5482 100644 +--- a/smart/plugins/yumchannelsync.py ++++ b/smart/plugins/yumchannelsync.py +@@ -56,8 +56,9 @@ def _getreleasever(): + + rpmroot = sysconf.get("rpm-root", "/") + ts = rpmUtils.transaction.initReadOnlyTransaction(root=rpmroot) +- if hasattr(rpm, '_RPMVSF_NOSIGNATURES') and hasattr(rpm, '_RPMVSF_NODIGESTS'): +- ts.pushVSFlags(~(rpm._RPMVSF_NOSIGNATURES|rpm._RPMVSF_NODIGESTS)) ++ #_RPMVSF_NOSIGNATURES is not supported in RPMv5 ++ #if hasattr(rpm, '_RPMVSF_NOSIGNATURES') and hasattr(rpm, '_RPMVSF_NODIGESTS'): ++ # ts.pushVSFlags(~(rpm._RPMVSF_NOSIGNATURES|rpm._RPMVSF_NODIGESTS)) + releasever = None + # HACK: we're hard-coding the most used distros, will add more if needed + idx = ts.dbMatch('provides', 'fedora-release') +-- +1.9.1 + diff --git a/import-layers/yocto-poky/meta/recipes-devtools/python/python-smartpm_git.bb b/import-layers/yocto-poky/meta/recipes-devtools/python/python-smartpm_git.bb index d9a908db2..861910cc2 100644 --- a/import-layers/yocto-poky/meta/recipes-devtools/python/python-smartpm_git.bb +++ b/import-layers/yocto-poky/meta/recipes-devtools/python/python-smartpm_git.bb @@ -13,16 +13,20 @@ SRCNAME = "smart" SRC_URI = "\ git://github.com/smartpm/smart.git \ - file://smartpm-rpm5-nodig.patch \ file://smart-recommends.patch \ - file://smart-improve-error-reporting.patch \ file://smart-channelsdir.patch \ + file://smart-rpm-transaction-failure-check.patch \ file://smart-attempt.patch \ file://smart-attempt-fix.patch \ file://smart-add-for-rpm-ignoresize-check.patch \ file://smart-already-installed-message.patch \ file://smart-set-noprogress-for-pycurl.patch \ file://smart-cache.py-getPackages-matches-name-version.patch \ + file://smart-channel-remove-all.patch \ + file://smart-locale.patch \ + file://smartpm-rpm5-support-check-signatures.patch \ + file://smart-add-deugging-when-targetpath-is-empty.patch \ + file://channels-rpm_sys-use-md5sum-instead-of-mtime-as-the-.patch \ " SRCREV = "407a7eca766431257dcd1da15175cc36a1bb22d0" @@ -53,41 +57,41 @@ inherit distutils do_install_append() { # We don't support the following items - rm -rf ${D}${libdir}/python*/site-packages/smart/backends/slack - rm -rf ${D}${libdir}/python*/site-packages/smart/backends/arch - rm -rf ${D}${libdir}/python*/site-packages/smart/interfaces/qt + rm -rf ${D}${PYTHON_SITEPACKAGES_DIR}/smart/backends/slack + rm -rf ${D}${PYTHON_SITEPACKAGES_DIR}/smart/backends/arch + rm -rf ${D}${PYTHON_SITEPACKAGES_DIR}/smart/interfaces/qt # Temporary, debian support in OE is missing the python module - rm -f ${D}${libdir}/python*/site-packages/smart/plugins/aptchannelsync.py* - rm -f ${D}${libdir}/python*/site-packages/smart/plugins/debdir.py* - rm -rf ${D}${libdir}/python*/site-packages/smart/backends/deb + rm -f ${D}${PYTHON_SITEPACKAGES_DIR}/smart/plugins/aptchannelsync.py* + rm -f ${D}${PYTHON_SITEPACKAGES_DIR}/smart/plugins/debdir.py* + rm -rf ${D}${PYTHON_SITEPACKAGES_DIR}/smart/backends/deb # Disable automatic channel detection - rm -f ${D}${libdir}/python*/site-packages/smart/plugins/detectsys.py* + rm -f ${D}${PYTHON_SITEPACKAGES_DIR}/smart/plugins/detectsys.py* # Disable landscape support - rm -f ${D}${libdir}/python*/site-packages/smart/plugins/landscape.py* + rm -f ${D}${PYTHON_SITEPACKAGES_DIR}/smart/plugins/landscape.py* # Disable urpmi channel support - rm -f ${D}${libdir}/python*/site-packages/smart/plugins/urpmichannelsync.py* + rm -f ${D}${PYTHON_SITEPACKAGES_DIR}/smart/plugins/urpmichannelsync.py* # Disable yum channel support - rm -f ${D}${libdir}/python*/site-packages/smart/plugins/yumchannelsync.py* + rm -f ${D}${PYTHON_SITEPACKAGES_DIR}/smart/plugins/yumchannelsync.py* # Disable zypper channel support - rm -f ${D}${libdir}/python*/site-packages/smart/plugins/zyppchannelsync.py* + rm -f ${D}${PYTHON_SITEPACKAGES_DIR}/smart/plugins/zyppchannelsync.py* if [ -z "${@bb.utils.contains('PACKAGECONFIG', 'rpm', 'rpm', '', d)}" ]; then - rm -f ${D}${libdir}/python*/site-packages/smart/plugins/rpmdir.py* - rm -rf ${D}${libdir}/python*/site-packages/smart/backends/rpm + rm -f ${D}${PYTHON_SITEPACKAGES_DIR}/smart/plugins/rpmdir.py* + rm -rf ${D}${PYTHON_SITEPACKAGES_DIR}/smart/backends/rpm fi if [ -z "${@bb.utils.contains('PACKAGECONFIG', 'qt4', 'qt4', '', d)}" ]; then - rm -rf ${D}${libdir}/python*/site-packages/smart/interfaces/qt4 + rm -rf ${D}${PYTHON_SITEPACKAGES_DIR}/smart/interfaces/qt4 fi if [ -z "${@bb.utils.contains('PACKAGECONFIG', 'gtk+', 'gtk', '', d)}" ]; then - rm -rf ${D}${libdir}/python*/site-packages/smart/interfaces/gtk + rm -rf ${D}${PYTHON_SITEPACKAGES_DIR}/smart/interfaces/gtk fi } @@ -127,10 +131,10 @@ RDEPENDS_${PN}-interface-gtk = "gtk+ ${PN}-interface-images" FILES_smartpm = "${bindir}/smart" -FILES_${PN}-backend-rpm = "${libdir}/python*/site-packages/smart/backends/rpm" +FILES_${PN}-backend-rpm = "${PYTHON_SITEPACKAGES_DIR}/smart/backends/rpm" -FILES_${PN}-interface-qt4 = "${libdir}/python*/site-packages/smart/interfaces/qt4" -FILES_${PN}-interface-gtk = "${libdir}/python*/site-packages/smart/interfaces/gtk" +FILES_${PN}-interface-qt4 = "${PYTHON_SITEPACKAGES_DIR}/smart/interfaces/qt4" +FILES_${PN}-interface-gtk = "${PYTHON_SITEPACKAGES_DIR}/smart/interfaces/gtk" FILES_${PN}-interface-images = "${datadir}/${baselib}/python*/site-packages/smart/interfaces/images" BBCLASSEXTEND = "native nativesdk" diff --git a/import-layers/yocto-poky/meta/recipes-devtools/python/python-smmap.inc b/import-layers/yocto-poky/meta/recipes-devtools/python/python-smmap.inc new file mode 100644 index 000000000..d67e6b541 --- /dev/null +++ b/import-layers/yocto-poky/meta/recipes-devtools/python/python-smmap.inc @@ -0,0 +1,19 @@ +SUMMARY = "Python implementation of a sliding window memory map manager" +DESCRIPTION = "A pure Python implementation of a sliding memory map to \ +help unifying memory mapped access on 32 and 64 bit systems and to help \ +managing resources more efficiently." +HOMEPAGE = "http://github.com/gitpython-developers/GitPython" +SECTION = "devel/python" +LICENSE = "BSD" +LIC_FILES_CHKSUM = "file://PKG-INFO;beginline=8;endline=8;md5=e910b35b0ef4e1f665b9a75d6afb7709" + +SRC_URI = "https://files.pythonhosted.org/packages/source/s/smmap/smmap-${PV}.tar.gz" +SRC_URI[md5sum] = "d7932d5ace206bf4ae15198cf36fb6ab" +SRC_URI[sha256sum] = "0e2b62b497bd5f0afebc002eda4d90df9d209c30ef257e8673c90a6b5c119d62" + +UPSTREAM_CHECK_URI = "https://pypi.python.org/pypi/smmap/" +UPSTREAM_CHECK_REGEX = "/smmap/(?P<pver>(\d+[\.\-_]*)+)" + +S = "${WORKDIR}/smmap-${PV}" + +BBCLASSEXTEND = "nativesdk" diff --git a/import-layers/yocto-poky/meta/recipes-devtools/python/python-smmap_0.9.0.bb b/import-layers/yocto-poky/meta/recipes-devtools/python/python-smmap_0.9.0.bb index 5f9cf452e..c118dd8d6 100644 --- a/import-layers/yocto-poky/meta/recipes-devtools/python/python-smmap_0.9.0.bb +++ b/import-layers/yocto-poky/meta/recipes-devtools/python/python-smmap_0.9.0.bb @@ -1,23 +1,5 @@ -SUMMARY = "Python implementation of a sliding window memory map manager" -DESCRIPTION = "A pure Python implementation of a sliding memory map to \ -help unifying memory mapped access on 32 and 64 bit systems and to help \ -managing resources more efficiently." -HOMEPAGE = "http://github.com/gitpython-developers/GitPython" -SECTION = "devel/python" -LICENSE = "BSD" -LIC_FILES_CHKSUM = "file://PKG-INFO;beginline=8;endline=8;md5=e910b35b0ef4e1f665b9a75d6afb7709" - -SRC_URI = "http://pypi.python.org/packages/source/s/smmap/smmap-${PV}.tar.gz" -SRC_URI[md5sum] = "d7932d5ace206bf4ae15198cf36fb6ab" -SRC_URI[sha256sum] = "0e2b62b497bd5f0afebc002eda4d90df9d209c30ef257e8673c90a6b5c119d62" - -UPSTREAM_CHECK_URI = "https://pypi.python.org/pypi/smmap/" -UPSTREAM_CHECK_REGEX = "/smmap/(?P<pver>(\d+[\.\-_]*)+)" - -S = "${WORKDIR}/smmap-${PV}" +require python-smmap.inc inherit setuptools RDEPENDS_${PN} += "python-codecs python-mmap python-lang" - -BBCLASSEXTEND = "nativesdk" diff --git a/import-layers/yocto-poky/meta/recipes-devtools/python/python.inc b/import-layers/yocto-poky/meta/recipes-devtools/python/python.inc index f4818c6a8..79a431c7e 100644 --- a/import-layers/yocto-poky/meta/recipes-devtools/python/python.inc +++ b/import-layers/yocto-poky/meta/recipes-devtools/python/python.inc @@ -5,12 +5,12 @@ SECTION = "devel/python" # bump this on every change in contrib/python/generate-manifest-2.7.py INC_PR = "r1" -LIC_FILES_CHKSUM = "file://LICENSE;md5=dd98d01d471fac8d8dbdd975229dba03" +LIC_FILES_CHKSUM = "file://LICENSE;md5=6b60258130e4ed10d3101517eb5b9385" SRC_URI = "http://www.python.org/ftp/python/${PV}/Python-${PV}.tar.xz" -SRC_URI[md5sum] = "1dbcc848b4cd8399a8199d000f9f823c" -SRC_URI[sha256sum] = "962b4c45af50124ea61f11a30deb4342fc0bc21126790fa1d7f6c79809413f46" +SRC_URI[md5sum] = "57dffcee9cee8bb2ab5f82af1d8e9a69" +SRC_URI[sha256sum] = "d7837121dd5652a05fef807c361909d255d173280c4e1a4ded94d73d80a1f978" # python recipe is actually python 2.x # also, exclude pre-releases for both python 2.x and 3.x diff --git a/import-layers/yocto-poky/meta/recipes-devtools/python/python/0001-distutils-set-the-prefix-to-be-inside-staging-direct.patch b/import-layers/yocto-poky/meta/recipes-devtools/python/python/0001-distutils-set-the-prefix-to-be-inside-staging-direct.patch new file mode 100644 index 000000000..502f84980 --- /dev/null +++ b/import-layers/yocto-poky/meta/recipes-devtools/python/python/0001-distutils-set-the-prefix-to-be-inside-staging-direct.patch @@ -0,0 +1,51 @@ +From 4cdf2e9df13c6327fcc94d53e4953005543aef3d Mon Sep 17 00:00:00 2001 +From: Alexander Kanavin <alex.kanavin@gmail.com> +Date: Wed, 6 Apr 2016 17:43:02 +0300 +Subject: [PATCH 01/10] distutils: set the prefix to be inside staging + directory + +The proper prefix is inside our staging area. + +Upstream-Status: Inappropriate [embedded specific] +Signed-off-by: Michael 'Mickey' Lauer <mickey@vanille-media.de> +Signed-off-by: Phil Blundell <philb@gnu.org> +Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com> +--- + Lib/distutils/sysconfig.py | 10 +++++++--- + 1 file changed, 7 insertions(+), 3 deletions(-) + +diff --git a/Lib/distutils/sysconfig.py b/Lib/distutils/sysconfig.py +index de7da1d..f3aacf7 100644 +--- a/Lib/distutils/sysconfig.py ++++ b/Lib/distutils/sysconfig.py +@@ -75,7 +75,7 @@ def get_python_inc(plat_specific=0, prefix=None): + sys.exec_prefix -- i.e., ignore 'plat_specific'. + """ + if prefix is None: +- prefix = plat_specific and EXEC_PREFIX or PREFIX ++ prefix = os.environ['STAGING_INCDIR'].rstrip('include') + + if os.name == "posix": + if python_build: +@@ -115,12 +115,16 @@ def get_python_lib(plat_specific=0, standard_lib=0, prefix=None): + If 'prefix' is supplied, use it instead of sys.prefix or + sys.exec_prefix -- i.e., ignore 'plat_specific'. + """ ++ lib_basename = os.environ['STAGING_LIBDIR'].split('/')[-1] + if prefix is None: +- prefix = plat_specific and EXEC_PREFIX or PREFIX ++ if plat_specific: ++ prefix = os.environ['STAGING_LIBDIR'].rstrip(lib_basename) ++ else: ++ prefix = PREFIX + + if os.name == "posix": + libpython = os.path.join(prefix, +- "lib", "python" + get_python_version()) ++ lib_basename, "python" + get_python_version()) + if standard_lib: + return libpython + else: +-- +2.8.0.rc3 + diff --git a/import-layers/yocto-poky/meta/recipes-devtools/python/python/01-use-proper-tools-for-cross-build.patch b/import-layers/yocto-poky/meta/recipes-devtools/python/python/01-use-proper-tools-for-cross-build.patch index 1257ca655..b2a8c3b5a 100644 --- a/import-layers/yocto-poky/meta/recipes-devtools/python/python/01-use-proper-tools-for-cross-build.patch +++ b/import-layers/yocto-poky/meta/recipes-devtools/python/python/01-use-proper-tools-for-cross-build.patch @@ -7,13 +7,13 @@ Signed-off-by: Michael 'Mickey' Lauer <mickey@vanille-media.de> Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Rebased for python-2.7.9 -Signed-Off-By: Alejandro Hernandez <alejandro.hernandez@linux.intel.com> +Signed-off-by: Alejandro Hernandez <alejandro.hernandez@linux.intel.com> -Index: Python-2.7.9/Makefile.pre.in +Index: Python-2.7.12/Makefile.pre.in =================================================================== ---- Python-2.7.9.orig/Makefile.pre.in -+++ Python-2.7.9/Makefile.pre.in -@@ -234,6 +234,7 @@ LIBFFI_INCLUDEDIR= @LIBFFI_INCLUDEDIR@ +--- Python-2.7.12.orig/Makefile.pre.in ++++ Python-2.7.12/Makefile.pre.in +@@ -246,6 +246,7 @@ LIBFFI_INCLUDEDIR= @LIBFFI_INCLUDEDIR@ ########################################################################## # Parser PGEN= Parser/pgen$(EXE) @@ -21,7 +21,7 @@ Index: Python-2.7.9/Makefile.pre.in PSRCS= \ Parser/acceler.c \ -@@ -445,7 +446,7 @@ $(BUILDPYTHON): Modules/python.o $(LIBRA +@@ -513,7 +514,7 @@ $(BUILDPYTHON): Modules/python.o $(LIBRA $(BLDLIBRARY) $(LIBS) $(MODLIBS) $(SYSLIBS) $(LDLAST) platform: $(BUILDPYTHON) pybuilddir.txt @@ -30,16 +30,16 @@ Index: Python-2.7.9/Makefile.pre.in # Create build directory and generate the sysconfig build-time data there. # pybuilddir.txt contains the name of the build dir and is used for -@@ -611,7 +612,7 @@ Modules/pwdmodule.o: $(srcdir)/Modules/p - $(GRAMMAR_H): $(GRAMMAR_INPUT) $(PGENSRCS) - @$(MKDIR_P) Include - $(MAKE) $(PGEN) -- $(PGEN) $(GRAMMAR_INPUT) $(GRAMMAR_H) $(GRAMMAR_C) -+ $(HOSTPGEN) $(GRAMMAR_INPUT) $(GRAMMAR_H) $(GRAMMAR_C) - $(GRAMMAR_C): $(GRAMMAR_H) $(GRAMMAR_INPUT) $(PGENSRCS) - $(MAKE) $(GRAMMAR_H) - touch $(GRAMMAR_C) -@@ -1043,27 +1044,27 @@ libinstall: build_all $(srcdir)/Lib/$(PL +@@ -684,7 +685,7 @@ $(GRAMMAR_H): $(GRAMMAR_INPUT) $(PGEN) + @$(MKDIR_P) Include + # Avoid copying the file onto itself for an in-tree build + if test "$(cross_compiling)" != "yes"; then \ +- $(PGEN) $(GRAMMAR_INPUT) $(GRAMMAR_H) $(GRAMMAR_C); \ ++ $(HOSTPGEN) $(GRAMMAR_INPUT) $(GRAMMAR_H) $(GRAMMAR_C); \ + else \ + cp $(srcdir)/Include/graminit.h $(GRAMMAR_H).tmp; \ + mv $(GRAMMAR_H).tmp $(GRAMMAR_H); \ +@@ -1133,27 +1134,27 @@ libinstall: build_all $(srcdir)/Lib/$(PL $(DESTDIR)$(LIBDEST)/distutils/tests ; \ fi PYTHONPATH=$(DESTDIR)$(LIBDEST) $(RUNSHARED) \ @@ -73,11 +73,11 @@ Index: Python-2.7.9/Makefile.pre.in # Create the PLATDIR source directory, if one wasn't distributed.. $(srcdir)/Lib/$(PLATDIR): -Index: Python-2.7.9/setup.py +Index: Python-2.7.12/setup.py =================================================================== ---- Python-2.7.9.orig/setup.py -+++ Python-2.7.9/setup.py -@@ -334,6 +334,7 @@ class PyBuildExt(build_ext): +--- Python-2.7.12.orig/setup.py ++++ Python-2.7.12/setup.py +@@ -350,6 +350,7 @@ class PyBuildExt(build_ext): self.failed.append(ext.name) self.announce('*** WARNING: renaming "%s" since importing it' ' failed: %s' % (ext.name, why), level=3) @@ -85,7 +85,7 @@ Index: Python-2.7.9/setup.py assert not self.inplace basename, tail = os.path.splitext(ext_filename) newname = basename + "_failed" + tail -@@ -558,6 +559,9 @@ class PyBuildExt(build_ext): +@@ -574,6 +575,9 @@ class PyBuildExt(build_ext): # XXX Omitted modules: gl, pure, dl, SGI-specific modules diff --git a/import-layers/yocto-poky/meta/recipes-devtools/python/python/06-avoid_usr_lib_termcap_path_in_linking.patch b/import-layers/yocto-poky/meta/recipes-devtools/python/python/06-avoid_usr_lib_termcap_path_in_linking.patch index e452cb6ac..435b31901 100644 --- a/import-layers/yocto-poky/meta/recipes-devtools/python/python/06-avoid_usr_lib_termcap_path_in_linking.patch +++ b/import-layers/yocto-poky/meta/recipes-devtools/python/python/06-avoid_usr_lib_termcap_path_in_linking.patch @@ -11,7 +11,7 @@ Nitin A Kamble <nitin.a.kamble@intel.com> 2011/09/29 Rebased for python 2.7.2 -Signed-Off-By: Nitin A Kamble <nitin.a.kamble@intel.com> +Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com> Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> diff --git a/import-layers/yocto-poky/meta/recipes-devtools/python/python/CVE-2016-5636.patch b/import-layers/yocto-poky/meta/recipes-devtools/python/python/CVE-2016-5636.patch new file mode 100644 index 000000000..9a3747145 --- /dev/null +++ b/import-layers/yocto-poky/meta/recipes-devtools/python/python/CVE-2016-5636.patch @@ -0,0 +1,44 @@ + +# HG changeset patch +# User Benjamin Peterson <benjamin@python.org> +# Date 1453357424 28800 +# Node ID 985fc64c60d6adffd1138b6cc46df388ca91ca5d +# Parent 7ec954b9fc54448a35b56d271340ba109eb381b9 +prevent buffer overflow in get_data (closes #26171) + +Upstream-Status: Backport +https://hg.python.org/cpython/rev/985fc64c60d6 + +CVE: CVE-2016-5636 +Signed-off-by: Armin Kuster <akuster@mvista.com> + +Index: Python-2.7.11/Misc/NEWS +=================================================================== +--- Python-2.7.11.orig/Misc/NEWS ++++ Python-2.7.11/Misc/NEWS +@@ -7,6 +7,9 @@ What's New in Python 2.7.11? + + *Release date: 2015-12-05* + ++- Issue #26171: Fix possible integer overflow and heap corruption in ++ zipimporter.get_data(). ++ + Library + ------- + +Index: Python-2.7.11/Modules/zipimport.c +=================================================================== +--- Python-2.7.11.orig/Modules/zipimport.c ++++ Python-2.7.11/Modules/zipimport.c +@@ -895,6 +895,11 @@ get_data(char *archive, PyObject *toc_en + PyMarshal_ReadShortFromFile(fp); /* local header size */ + file_offset += l; /* Start of file data */ + ++ if (data_size > LONG_MAX - 1) { ++ fclose(fp); ++ PyErr_NoMemory(); ++ return NULL; ++ } + raw_data = PyString_FromStringAndSize((char *)NULL, compress == 0 ? + data_size : data_size + 1); + if (raw_data == NULL) { diff --git a/import-layers/yocto-poky/meta/recipes-devtools/python/python/avoid_parallel_make_races_on_pgen.patch b/import-layers/yocto-poky/meta/recipes-devtools/python/python/avoid_parallel_make_races_on_pgen.patch index e9bae324f..8012245af 100644 --- a/import-layers/yocto-poky/meta/recipes-devtools/python/python/avoid_parallel_make_races_on_pgen.patch +++ b/import-layers/yocto-poky/meta/recipes-devtools/python/python/avoid_parallel_make_races_on_pgen.patch @@ -4,8 +4,8 @@ Avoids parallel make races linking errors when making Parser/PGEN - Implements Richard Purdie's idea -Signed-Off-By: Richard Purdie <richard.purdie@linuxfoundation.org> -Signed-Off-By: Alejandro Hernandez <alejandro.hernandez@linux.intel.com> +Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org> +Signed-off-by: Alejandro Hernandez <alejandro.hernandez@linux.intel.com> Index: Python-2.7.9/Makefile.pre.in =================================================================== diff --git a/import-layers/yocto-poky/meta/recipes-devtools/python/python/fix_for_using_different_libdir.patch b/import-layers/yocto-poky/meta/recipes-devtools/python/python/fix_for_using_different_libdir.patch index e4262d9ef..5f7309367 100644 --- a/import-layers/yocto-poky/meta/recipes-devtools/python/python/fix_for_using_different_libdir.patch +++ b/import-layers/yocto-poky/meta/recipes-devtools/python/python/fix_for_using_different_libdir.patch @@ -4,15 +4,15 @@ This patch fixes issuing with different libdir like lib64. This patch makes the native python binary modules findable in the install process of the host python. -Signed-Off-By: Nitin A Kamble <nitin.a.kamble@intel.com> +Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com> Date: 2012/03/14 Updated for python 2.7.3 -Signed-Off-By: Nitin A Kamble <nitin.a.kamble@intel.com> +Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com> Date: 2012/05/01 Rebased for python-2.7.9 -Signed-Off-By: Alejandro Hernandez <alejandro.hernandez@linux.intel.com> +Signed-off-by: Alejandro Hernandez <alejandro.hernandez@linux.intel.com> Index: Python-2.7.9/Lib/sysconfig.py diff --git a/import-layers/yocto-poky/meta/recipes-devtools/python/python/multilib.patch b/import-layers/yocto-poky/meta/recipes-devtools/python/python/multilib.patch index 0bfa0d2cf..b169133d7 100644 --- a/import-layers/yocto-poky/meta/recipes-devtools/python/python/multilib.patch +++ b/import-layers/yocto-poky/meta/recipes-devtools/python/python/multilib.patch @@ -1,11 +1,11 @@ Rebased for python-2.7.9 -Signed-Off-By: Alejandro Hernandez <alejandro.hernandez@linux.intel.com> +Signed-off-by: Alejandro Hernandez <alejandro.hernandez@linux.intel.com> -Index: Python-2.7.9/configure.ac +Index: Python-2.7.12/configure.ac =================================================================== ---- Python-2.7.9.orig/configure.ac -+++ Python-2.7.9/configure.ac -@@ -736,6 +736,10 @@ SunOS*) +--- Python-2.7.12.orig/configure.ac ++++ Python-2.7.12/configure.ac +@@ -756,6 +756,10 @@ SunOS*) ;; esac @@ -16,10 +16,10 @@ Index: Python-2.7.9/configure.ac AC_SUBST(LIBRARY) AC_MSG_CHECKING(LIBRARY) -Index: Python-2.7.9/Include/pythonrun.h +Index: Python-2.7.12/Include/pythonrun.h =================================================================== ---- Python-2.7.9.orig/Include/pythonrun.h -+++ Python-2.7.9/Include/pythonrun.h +--- Python-2.7.12.orig/Include/pythonrun.h ++++ Python-2.7.12/Include/pythonrun.h @@ -108,6 +108,7 @@ PyAPI_FUNC(char *) Py_GetPath(void); /* In their own files */ PyAPI_FUNC(const char *) Py_GetVersion(void); @@ -28,10 +28,10 @@ Index: Python-2.7.9/Include/pythonrun.h PyAPI_FUNC(const char *) Py_GetCopyright(void); PyAPI_FUNC(const char *) Py_GetCompiler(void); PyAPI_FUNC(const char *) Py_GetBuildInfo(void); -Index: Python-2.7.9/Lib/distutils/command/install.py +Index: Python-2.7.12/Lib/distutils/command/install.py =================================================================== ---- Python-2.7.9.orig/Lib/distutils/command/install.py -+++ Python-2.7.9/Lib/distutils/command/install.py +--- Python-2.7.12.orig/Lib/distutils/command/install.py ++++ Python-2.7.12/Lib/distutils/command/install.py @@ -22,6 +22,8 @@ from site import USER_BASE from site import USER_SITE @@ -50,10 +50,10 @@ Index: Python-2.7.9/Lib/distutils/command/install.py 'headers': '$base/include/python$py_version_short/$dist_name', 'scripts': '$base/bin', 'data' : '$base', -Index: Python-2.7.9/Lib/distutils/sysconfig.py +Index: Python-2.7.12/Lib/distutils/sysconfig.py =================================================================== ---- Python-2.7.9.orig/Lib/distutils/sysconfig.py -+++ Python-2.7.9/Lib/distutils/sysconfig.py +--- Python-2.7.12.orig/Lib/distutils/sysconfig.py ++++ Python-2.7.12/Lib/distutils/sysconfig.py @@ -119,8 +119,11 @@ def get_python_lib(plat_specific=0, stan prefix = plat_specific and EXEC_PREFIX or PREFIX @@ -68,11 +68,11 @@ Index: Python-2.7.9/Lib/distutils/sysconfig.py if standard_lib: return libpython else: -Index: Python-2.7.9/Lib/pydoc.py +Index: Python-2.7.12/Lib/pydoc.py =================================================================== ---- Python-2.7.9.orig/Lib/pydoc.py -+++ Python-2.7.9/Lib/pydoc.py -@@ -383,7 +383,7 @@ class Doc: +--- Python-2.7.12.orig/Lib/pydoc.py ++++ Python-2.7.12/Lib/pydoc.py +@@ -384,7 +384,7 @@ class Doc: docloc = os.environ.get("PYTHONDOCS", "http://docs.python.org/library") @@ -81,10 +81,10 @@ Index: Python-2.7.9/Lib/pydoc.py "python"+sys.version[0:3]) if (isinstance(object, type(os)) and (object.__name__ in ('errno', 'exceptions', 'gc', 'imp', -Index: Python-2.7.9/Lib/site.py +Index: Python-2.7.12/Lib/site.py =================================================================== ---- Python-2.7.9.orig/Lib/site.py -+++ Python-2.7.9/Lib/site.py +--- Python-2.7.12.orig/Lib/site.py ++++ Python-2.7.12/Lib/site.py @@ -288,13 +288,18 @@ def getsitepackages(): if sys.platform in ('os2emx', 'riscos'): sitepackages.append(os.path.join(prefix, "Lib", "site-packages")) @@ -107,10 +107,10 @@ Index: Python-2.7.9/Lib/site.py if sys.platform == "darwin": # for framework builds *only* we add the standard Apple # locations. -Index: Python-2.7.9/Lib/sysconfig.py +Index: Python-2.7.12/Lib/sysconfig.py =================================================================== ---- Python-2.7.9.orig/Lib/sysconfig.py -+++ Python-2.7.9/Lib/sysconfig.py +--- Python-2.7.12.orig/Lib/sysconfig.py ++++ Python-2.7.12/Lib/sysconfig.py @@ -7,10 +7,10 @@ from os.path import pardir, realpath _INSTALL_SCHEMES = { @@ -139,10 +139,10 @@ Index: Python-2.7.9/Lib/sysconfig.py 'include': '{userbase}/include/python{py_version_short}', 'scripts': '{userbase}/bin', 'data' : '{userbase}', -Index: Python-2.7.9/Lib/test/test_dl.py +Index: Python-2.7.12/Lib/test/test_dl.py =================================================================== ---- Python-2.7.9.orig/Lib/test/test_dl.py -+++ Python-2.7.9/Lib/test/test_dl.py +--- Python-2.7.12.orig/Lib/test/test_dl.py ++++ Python-2.7.12/Lib/test/test_dl.py @@ -4,10 +4,11 @@ import unittest from test.test_support import verbose, import_module @@ -157,11 +157,11 @@ Index: Python-2.7.9/Lib/test/test_dl.py ('/usr/bin/cygwin1.dll', 'getpid'), ('/usr/lib/libc.dylib', 'getpid'), ] -Index: Python-2.7.9/Lib/test/test_site.py +Index: Python-2.7.12/Lib/test/test_site.py =================================================================== ---- Python-2.7.9.orig/Lib/test/test_site.py -+++ Python-2.7.9/Lib/test/test_site.py -@@ -241,12 +241,16 @@ class HelperFunctionsTests(unittest.Test +--- Python-2.7.12.orig/Lib/test/test_site.py ++++ Python-2.7.12/Lib/test/test_site.py +@@ -246,12 +246,16 @@ class HelperFunctionsTests(unittest.Test self.assertEqual(dirs[2], wanted) elif os.sep == '/': # OS X non-framwework builds, Linux, FreeBSD, etc @@ -181,10 +181,10 @@ Index: Python-2.7.9/Lib/test/test_site.py else: # other platforms self.assertEqual(len(dirs), 2) -Index: Python-2.7.9/Lib/trace.py +Index: Python-2.7.12/Lib/trace.py =================================================================== ---- Python-2.7.9.orig/Lib/trace.py -+++ Python-2.7.9/Lib/trace.py +--- Python-2.7.12.orig/Lib/trace.py ++++ Python-2.7.12/Lib/trace.py @@ -754,10 +754,10 @@ def main(argv=None): # should I also call expanduser? (after all, could use $HOME) @@ -198,11 +198,11 @@ Index: Python-2.7.9/Lib/trace.py "python" + sys.version[:3])) s = os.path.normpath(s) ignore_dirs.append(s) -Index: Python-2.7.9/Makefile.pre.in +Index: Python-2.7.12/Makefile.pre.in =================================================================== ---- Python-2.7.9.orig/Makefile.pre.in -+++ Python-2.7.9/Makefile.pre.in -@@ -87,6 +87,7 @@ PY_CFLAGS= $(CFLAGS) $(CPPFLAGS) $(CFLAG +--- Python-2.7.12.orig/Makefile.pre.in ++++ Python-2.7.12/Makefile.pre.in +@@ -92,6 +92,7 @@ PY_CFLAGS= $(CFLAGS) $(CPPFLAGS) $(CFLAG # Machine-dependent subdirectories MACHDEP= @MACHDEP@ @@ -210,7 +210,7 @@ Index: Python-2.7.9/Makefile.pre.in # Multiarch directory (may be empty) MULTIARCH= @MULTIARCH@ -@@ -106,7 +107,7 @@ LIBDIR= @libdir@ +@@ -111,7 +112,7 @@ LIBDIR= @libdir@ MANDIR= @mandir@ INCLUDEDIR= @includedir@ CONFINCLUDEDIR= $(exec_prefix)/include @@ -219,7 +219,7 @@ Index: Python-2.7.9/Makefile.pre.in # Detailed destination directories BINLIBDEST= $(LIBDIR)/python$(VERSION) -@@ -598,6 +599,7 @@ Modules/getpath.o: $(srcdir)/Modules/get +@@ -670,6 +671,7 @@ Modules/getpath.o: $(srcdir)/Modules/get -DEXEC_PREFIX='"$(exec_prefix)"' \ -DVERSION='"$(VERSION)"' \ -DVPATH='"$(VPATH)"' \ @@ -227,7 +227,7 @@ Index: Python-2.7.9/Makefile.pre.in -o $@ $(srcdir)/Modules/getpath.c Modules/python.o: $(srcdir)/Modules/python.c -@@ -640,7 +642,7 @@ $(AST_C): $(AST_ASDL) $(ASDLGEN_FILES) +@@ -721,7 +723,7 @@ $(AST_C): $(AST_ASDL) $(ASDLGEN_FILES) Python/compile.o Python/symtable.o Python/ast.o: $(GRAMMAR_H) $(AST_H) Python/getplatform.o: $(srcdir)/Python/getplatform.c @@ -236,25 +236,25 @@ Index: Python-2.7.9/Makefile.pre.in Python/importdl.o: $(srcdir)/Python/importdl.c $(CC) -c $(PY_CFLAGS) -I$(DLINCLDIR) -o $@ $(srcdir)/Python/importdl.c -Index: Python-2.7.9/Modules/getpath.c +Index: Python-2.7.12/Modules/getpath.c =================================================================== ---- Python-2.7.9.orig/Modules/getpath.c -+++ Python-2.7.9/Modules/getpath.c -@@ -116,9 +116,11 @@ - #define EXEC_PREFIX PREFIX +--- Python-2.7.12.orig/Modules/getpath.c ++++ Python-2.7.12/Modules/getpath.c +@@ -100,6 +100,13 @@ + #error "PREFIX, EXEC_PREFIX, VERSION, and VPATH must be constant defined" #endif +#define LIB_PYTHON LIB "/python" VERSION + - #ifndef PYTHONPATH --#define PYTHONPATH PREFIX "/lib/python" VERSION ":" \ -- EXEC_PREFIX "/lib/python" VERSION "/lib-dynload" ++#ifndef PYTHONPATH +#define PYTHONPATH PREFIX "/" LIB_PYTHON ":" \ + EXEC_PREFIX "/" LIB_PYTHON "/lib-dynload" - #endif - ++#endif ++ #ifndef LANDMARK -@@ -129,7 +131,7 @@ static char prefix[MAXPATHLEN+1]; + #define LANDMARK "os.py" + #endif +@@ -108,7 +115,7 @@ static char prefix[MAXPATHLEN+1]; static char exec_prefix[MAXPATHLEN+1]; static char progpath[MAXPATHLEN+1]; static char *module_search_path = NULL; @@ -263,10 +263,10 @@ Index: Python-2.7.9/Modules/getpath.c static void reduce(char *dir) -Index: Python-2.7.9/Python/getplatform.c +Index: Python-2.7.12/Python/getplatform.c =================================================================== ---- Python-2.7.9.orig/Python/getplatform.c -+++ Python-2.7.9/Python/getplatform.c +--- Python-2.7.12.orig/Python/getplatform.c ++++ Python-2.7.12/Python/getplatform.c @@ -10,3 +10,13 @@ Py_GetPlatform(void) { return PLATFORM; @@ -281,10 +281,10 @@ Index: Python-2.7.9/Python/getplatform.c +{ + return LIB; +} -Index: Python-2.7.9/Python/sysmodule.c +Index: Python-2.7.12/Python/sysmodule.c =================================================================== ---- Python-2.7.9.orig/Python/sysmodule.c -+++ Python-2.7.9/Python/sysmodule.c +--- Python-2.7.12.orig/Python/sysmodule.c ++++ Python-2.7.12/Python/sysmodule.c @@ -1437,6 +1437,8 @@ _PySys_Init(void) PyString_FromString(Py_GetCopyright())); SET_SYS_FROM_STRING("platform", diff --git a/import-layers/yocto-poky/meta/recipes-devtools/python/python/python-fix-CVE-2016-1000110.patch b/import-layers/yocto-poky/meta/recipes-devtools/python/python/python-fix-CVE-2016-1000110.patch new file mode 100644 index 000000000..97888e2b0 --- /dev/null +++ b/import-layers/yocto-poky/meta/recipes-devtools/python/python/python-fix-CVE-2016-1000110.patch @@ -0,0 +1,162 @@ +From cb25fbd5abc0f4eb07dbb8ea819e9c26bda4fc99 Mon Sep 17 00:00:00 2001 +From: Senthil Kumaran <senthil@uthcode.com> +Date: Sat, 30 Jul 2016 05:49:53 -0700 +Subject: [PATCH] python: fix CVE-2016-1000110 +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Prevent HTTPoxy attack (CVE-2016-1000110) + +Ignore the HTTP_PROXY variable when REQUEST_METHOD environment is set, which +indicates that the script is in CGI mode. + +Issue reported and patch contributed by Rémi Rampin. + +Backport patch from https://hg.python.org/cpython/rev/ba915d561667/ + +Upstream-Status: Backport +CVE: CVE-2016-1000110 +Signed-off-by: Mingli Yu <Mingli.Yu@windriver.com> +--- + Doc/howto/urllib2.rst | 5 +++++ + Doc/library/urllib.rst | 10 ++++++++++ + Doc/library/urllib2.rst | 5 +++++ + Lib/test/test_urllib.py | 12 ++++++++++++ + Lib/urllib.py | 9 +++++++++ + Misc/ACKS | 1 + + Misc/NEWS | 4 ++++ + 7 files changed, 46 insertions(+) + +diff --git a/Doc/howto/urllib2.rst b/Doc/howto/urllib2.rst +index 6bb06d4..5cf2c0c 100644 +--- a/Doc/howto/urllib2.rst ++++ b/Doc/howto/urllib2.rst +@@ -525,6 +525,11 @@ setting up a `Basic Authentication`_ handler: :: + through a proxy. However, this can be enabled by extending urllib2 as + shown in the recipe [#]_. + ++.. note:: ++ ++ ``HTTP_PROXY`` will be ignored if a variable ``REQUEST_METHOD`` is set; see ++ the documentation on :func:`~urllib.getproxies`. ++ + + Sockets and Layers + ================== +diff --git a/Doc/library/urllib.rst b/Doc/library/urllib.rst +index 3b5dc16..bddcba9 100644 +--- a/Doc/library/urllib.rst ++++ b/Doc/library/urllib.rst +@@ -295,6 +295,16 @@ Utility functions + If both lowercase and uppercase environment variables exist (and disagree), + lowercase is preferred. + ++ .. note:: ++ ++ If the environment variable ``REQUEST_METHOD`` is set, which usually ++ indicates your script is running in a CGI environment, the environment ++ variable ``HTTP_PROXY`` (uppercase ``_PROXY``) will be ignored. This is ++ because that variable can be injected by a client using the "Proxy:" ++ HTTP header. If you need to use an HTTP proxy in a CGI environment, ++ either use ``ProxyHandler`` explicitly, or make sure the variable name ++ is in lowercase (or at least the ``_proxy`` suffix). ++ + .. note:: + urllib also exposes certain utility functions like splittype, splithost and + others parsing URL into various components. But it is recommended to use +diff --git a/Doc/library/urllib2.rst b/Doc/library/urllib2.rst +index 8a4c80e..b808b98 100644 +--- a/Doc/library/urllib2.rst ++++ b/Doc/library/urllib2.rst +@@ -229,6 +229,11 @@ The following classes are provided: + + To disable autodetected proxy pass an empty dictionary. + ++ .. note:: ++ ++ ``HTTP_PROXY`` will be ignored if a variable ``REQUEST_METHOD`` is set; ++ see the documentation on :func:`~urllib.getproxies`. ++ + + .. class:: HTTPPasswordMgr() + +diff --git a/Lib/test/test_urllib.py b/Lib/test/test_urllib.py +index 434d533..27a1d38 100644 +--- a/Lib/test/test_urllib.py ++++ b/Lib/test/test_urllib.py +@@ -170,6 +170,18 @@ class ProxyTests(unittest.TestCase): + self.assertTrue(urllib.proxy_bypass_environment('anotherdomain.com:8888')) + self.assertTrue(urllib.proxy_bypass_environment('newdomain.com:1234')) + ++ def test_proxy_cgi_ignore(self): ++ try: ++ self.env.set('HTTP_PROXY', 'http://somewhere:3128') ++ proxies = urllib.getproxies_environment() ++ self.assertEqual('http://somewhere:3128', proxies['http']) ++ self.env.set('REQUEST_METHOD', 'GET') ++ proxies = urllib.getproxies_environment() ++ self.assertNotIn('http', proxies) ++ finally: ++ self.env.unset('REQUEST_METHOD') ++ self.env.unset('HTTP_PROXY') ++ + def test_proxy_bypass_environment_host_match(self): + bypass = urllib.proxy_bypass_environment + self.env.set('NO_PROXY', +diff --git a/Lib/urllib.py b/Lib/urllib.py +index 139fab9..c3ba2c9 100644 +--- a/Lib/urllib.py ++++ b/Lib/urllib.py +@@ -1380,12 +1380,21 @@ def getproxies_environment(): + If you need a different way, you can pass a proxies dictionary to the + [Fancy]URLopener constructor. + """ ++ # Get all variables + proxies = {} + for name, value in os.environ.items(): + name = name.lower() + if value and name[-6:] == '_proxy': + proxies[name[:-6]] = value + ++ # CVE-2016-1000110 - If we are running as CGI script, forget HTTP_PROXY ++ # (non-all-lowercase) as it may be set from the web server by a "Proxy:" ++ # header from the client ++ # If "proxy" is lowercase, it will still be used thanks to the next block ++ if 'REQUEST_METHOD' in os.environ: ++ proxies.pop('http', None) ++ ++ # Get lowercase variables + for name, value in os.environ.items(): + if name[-6:] == '_proxy': + name = name.lower() +diff --git a/Misc/ACKS b/Misc/ACKS +index ee3a465..9c374b7 100644 +--- a/Misc/ACKS ++++ b/Misc/ACKS +@@ -1121,6 +1121,7 @@ Burton Radons + Jeff Ramnani + Varpu Rantala + Brodie Rao ++Rémi Rampin + Senko Rasic + Antti Rasinen + Nikolaus Rath +diff --git a/Misc/NEWS b/Misc/NEWS +index 4ab3a70..cc2f65b 100644 +--- a/Misc/NEWS ++++ b/Misc/NEWS +@@ -187,6 +187,10 @@ Library + - Issue #26644: Raise ValueError rather than SystemError when a negative + length is passed to SSLSocket.recv() or read(). + ++- Issue #27568: Prevent HTTPoxy attack (CVE-2016-1000110). Ignore the ++ HTTP_PROXY variable when REQUEST_METHOD environment is set, which indicates ++ that the script is in CGI mode. ++ + - Issue #23804: Fix SSL recv(0) and read(0) methods to return zero bytes + instead of up to 1024. + +-- +2.8.1 + diff --git a/import-layers/yocto-poky/meta/recipes-devtools/python/python3-async_0.6.2.bb b/import-layers/yocto-poky/meta/recipes-devtools/python/python3-async_0.6.2.bb new file mode 100644 index 000000000..54a30f549 --- /dev/null +++ b/import-layers/yocto-poky/meta/recipes-devtools/python/python3-async_0.6.2.bb @@ -0,0 +1,6 @@ +require python-async.inc + +inherit setuptools3 + +RDEPENDS_${PN} += "python3-threading python3-lang" + diff --git a/import-layers/yocto-poky/meta/recipes-devtools/python/python-dbus_1.2.0.bb b/import-layers/yocto-poky/meta/recipes-devtools/python/python3-dbus_1.2.4.bb index b314dce1c..de5a01c7f 100644 --- a/import-layers/yocto-poky/meta/recipes-devtools/python/python-dbus_1.2.0.bb +++ b/import-layers/yocto-poky/meta/recipes-devtools/python/python3-dbus_1.2.4.bb @@ -3,27 +3,21 @@ SECTION = "devel/python" HOMEPAGE = "http://www.freedesktop.org/Software/dbus" LICENSE = "MIT" LIC_FILES_CHKSUM = "file://COPYING;md5=0b83047ce9e948b67c0facc5f233476a" -DEPENDS = "expat dbus dbus-glib virtual/libintl python-pyrex-native" +DEPENDS = "expat dbus dbus-glib virtual/libintl" SRC_URI = "http://dbus.freedesktop.org/releases/dbus-python/dbus-python-${PV}.tar.gz \ " -SRC_URI[md5sum] = "b09cd2d1a057cc432ce944de3fc06bf7" -SRC_URI[sha256sum] = "e12c6c8b2bf3a9302f75166952cbe41d6b38c3441bbc6767dbd498942316c6df" +SRC_URI[md5sum] = "7372a588c83a7232b4e08159bfd48fe5" +SRC_URI[sha256sum] = "e2f1d6871f74fba23652e51d10873e54f71adab0525833c19bad9e99b1b2f9cc" S = "${WORKDIR}/dbus-python-${PV}" -inherit distutils-base autotools pkgconfig +inherit distutils3-base autotools pkgconfig PACKAGECONFIG ?= "" -PACKAGECONFIG[docs] = "--enable-html-docs,--disable-html-docs,python-docutils-native" -PACKAGECONFIG[api-docs] = "--enable-api-docs,--disable-api-docs,python-docutils-native python-epydoc-native" +PACKAGECONFIG[docs] = "--enable-html-docs,--disable-html-docs,python3-docutils-native" +PACKAGECONFIG[api-docs] = "--enable-api-docs,--disable-api-docs,python3-docutils-native python3-epydoc-native" -export BUILD_SYS -export HOST_SYS - -export STAGING_LIBDIR -export STAGING_INCDIR - -RDEPENDS_${PN} = "python-io python-logging python-stringold python-threading python-xml" +RDEPENDS_${PN} = "python3-io python3-logging python3-stringold python3-threading python3-xml" FILES_${PN}-dev += "${libdir}/pkgconfig" diff --git a/import-layers/yocto-poky/meta/recipes-devtools/python/python-docutils_0.12.bb b/import-layers/yocto-poky/meta/recipes-devtools/python/python3-docutils_0.12.bb index 8cda88d27..e78fa3bbc 100644 --- a/import-layers/yocto-poky/meta/recipes-devtools/python/python-docutils_0.12.bb +++ b/import-layers/yocto-poky/meta/recipes-devtools/python/python3-docutils_0.12.bb @@ -4,7 +4,7 @@ SECTION = "devel/python" LICENSE = "PSF & BSD-2-Clause & GPLv3" LIC_FILES_CHKSUM = "file://COPYING.txt;md5=a722fbdc20347db7b69223594dd54574" -DEPENDS = "python" +DEPENDS = "python3" SRC_URI = "${SOURCEFORGE_MIRROR}/docutils/docutils-${PV}.tar.gz" SRC_URI[md5sum] = "4622263b62c5c771c03502afa3157768" @@ -12,7 +12,7 @@ SRC_URI[sha256sum] = "c7db717810ab6965f66c8cf0398a98c9d8df982da39b4cd7f162911eb8 S = "${WORKDIR}/docutils-${PV}" -inherit distutils +inherit distutils3 BBCLASSEXTEND = "native" diff --git a/import-layers/yocto-poky/meta/recipes-devtools/python/python3-git_2.0.7.bb b/import-layers/yocto-poky/meta/recipes-devtools/python/python3-git_2.0.7.bb new file mode 100644 index 000000000..c9fe9baa2 --- /dev/null +++ b/import-layers/yocto-poky/meta/recipes-devtools/python/python3-git_2.0.7.bb @@ -0,0 +1,7 @@ +require python-git.inc + +DEPENDS = "python3-gitdb" + +inherit setuptools3 + +RDEPENDS_${PN} += "python3-gitdb python3-lang python3-io python3-shell python3-math python3-re python3-subprocess python3-stringold python3-unixadmin python3-enum python3-logging python3-datetime python3-netclient" diff --git a/import-layers/yocto-poky/meta/recipes-devtools/python/python3-gitdb_0.6.4.bb b/import-layers/yocto-poky/meta/recipes-devtools/python/python3-gitdb_0.6.4.bb new file mode 100644 index 000000000..80d9d469a --- /dev/null +++ b/import-layers/yocto-poky/meta/recipes-devtools/python/python3-gitdb_0.6.4.bb @@ -0,0 +1,7 @@ +require python-gitdb.inc + +DEPENDS = "python3-async python3-smmap" + +inherit distutils3 + +RDEPENDS_${PN} += "python3-smmap python3-async python3-mmap python3-lang python3-io python3-shell python3-crypt python3-compression" diff --git a/import-layers/yocto-poky/meta/recipes-devtools/python/python3-mako_1.0.4.bb b/import-layers/yocto-poky/meta/recipes-devtools/python/python3-mako_1.0.4.bb new file mode 100644 index 000000000..2b50ffd08 --- /dev/null +++ b/import-layers/yocto-poky/meta/recipes-devtools/python/python3-mako_1.0.4.bb @@ -0,0 +1,11 @@ +require python-mako.inc + +inherit setuptools3 + +RDEPENDS_${PN} = "python3-threading \ + python3-netclient \ + python3-html \ +" +RDEPENDS_${PN}_class-native = "" + +BBCLASSEXTEND = "native nativesdk" diff --git a/import-layers/yocto-poky/meta/recipes-devtools/python/python3-native_3.5.1.bb b/import-layers/yocto-poky/meta/recipes-devtools/python/python3-native_3.5.2.bb index 7bad11aaf..594f15c7c 100644 --- a/import-layers/yocto-poky/meta/recipes-devtools/python/python3-native_3.5.1.bb +++ b/import-layers/yocto-poky/meta/recipes-devtools/python/python3-native_3.5.2.bb @@ -12,7 +12,6 @@ file://020-dont-compile-python-files.patch \ file://030-fixup-include-dirs.patch \ file://070-dont-clean-ipkg-install.patch \ file://080-distutils-dont_adjust_files.patch \ -file://110-enable-zlib.patch \ file://130-readline-setup.patch \ file://150-fix-setupterm.patch \ file://python-3.3-multilib.patch \ @@ -27,10 +26,11 @@ file://sysconfig.py-add-_PYTHON_PROJECT_SRC.patch \ file://setup.py-check-cross_compiling-when-get-FLAGS.patch \ file://0001-Do-not-use-the-shell-version-of-python-config-that-w.patch \ " -SRC_URI[md5sum] = "e9ea6f2623fffcdd871b7b19113fde80" -SRC_URI[sha256sum] = "c6d57c0c366d9060ab6c0cdf889ebf3d92711d466cc0119c441dbf2746f725c9" -LIC_FILES_CHKSUM = "file://LICENSE;md5=dd98d01d471fac8d8dbdd975229dba03" +SRC_URI[md5sum] = "8906efbacfcdc7c3c9198aeefafd159e" +SRC_URI[sha256sum] = "0010f56100b9b74259ebcd5d4b295a32324b58b517403a10d1a2aa7cb22bca40" + +LIC_FILES_CHKSUM = "file://LICENSE;md5=6b60258130e4ed10d3101517eb5b9385" # exclude pre-releases for both python 2.x and 3.x UPSTREAM_CHECK_REGEX = "[Pp]ython-(?P<pver>\d+(\.\d+)+).tar" @@ -42,13 +42,32 @@ DEPENDS = "openssl-native bzip2-replacement-native zlib-native readline-native s inherit native -RPROVIDES += "python3-distutils-native python3-compression-native python3-textutils-native python3-core-native" +RPROVIDES += " \ + python3-compression-native \ + python3-core-native \ + python3-distutils-native \ + python3-email-native \ + python3-importlib-native \ + python3-io-native \ + python3-json-native \ + python3-lang-native \ + python3-misc-native \ + python3-netclient-native \ + python3-netserver-native \ + python3-numbers-native \ + python3-pkgutil-native \ + python3-pprint-native \ + python3-re-native \ + python3-shell-native \ + python3-subprocess-native \ + python3-textutils-native \ + python3-threading-native \ + python3-unittest-native \ +" EXTRA_OECONF_append = " --bindir=${bindir}/${PN} --without-ensurepip" EXTRA_OEMAKE = '\ - BUILD_SYS="" \ - HOST_SYS="" \ LIBC="" \ STAGING_LIBDIR=${STAGING_LIBDIR_NATIVE} \ STAGING_INCDIR=${STAGING_INCDIR_NATIVE} \ diff --git a/import-layers/yocto-poky/meta/recipes-devtools/python/python3-nose_1.3.7.bb b/import-layers/yocto-poky/meta/recipes-devtools/python/python3-nose_1.3.7.bb new file mode 100644 index 000000000..99bba4403 --- /dev/null +++ b/import-layers/yocto-poky/meta/recipes-devtools/python/python3-nose_1.3.7.bb @@ -0,0 +1,24 @@ +SUMMARY = "Extends Python unittest to make testing easier" +DESCRIPTION = "nose extends the test loading and running features of unittest, \ +making it easier to write, find and run tests." +SECTION = "devel/python" +LICENSE = "LGPLv2.1" +LIC_FILES_CHKSUM = "file://lgpl.txt;md5=a6f89e2100d9b6cdffcea4f398e37343" + +SRC_URI = "https://files.pythonhosted.org/packages/source/n/nose/nose-${PV}.tar.gz" + +SRC_URI[md5sum] = "4d3ad0ff07b61373d2cefc89c5d0b20b" +SRC_URI[sha256sum] = "f1bffef9cbc82628f6e7d7b40d7e255aefaa1adb6a1b1d26c69a8b79e6208a98" + +UPSTREAM_CHECK_URI = "https://pypi.python.org/pypi/nose/" +UPSTREAM_CHECK_REGEX = "/nose/(?P<pver>(\d+[\.\-_]*)+)" + +S = "${WORKDIR}/nose-${PV}" + +inherit setuptools3 + +RDEPENDS_${PN}_class-target = "\ + python3-unittest \ + " + +BBCLASSEXTEND = "native nativesdk" diff --git a/import-layers/yocto-poky/meta/recipes-devtools/python/python3-pip_8.0.0.bb b/import-layers/yocto-poky/meta/recipes-devtools/python/python3-pip_8.1.2.bb index 834ecda6d..eefb4cb79 100644 --- a/import-layers/yocto-poky/meta/recipes-devtools/python/python3-pip_8.0.0.bb +++ b/import-layers/yocto-poky/meta/recipes-devtools/python/python3-pip_8.1.2.bb @@ -7,11 +7,10 @@ LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=25fba45109565f87de20bae85bc39452" SRCNAME = "pip" DEPENDS += "python3 python3-setuptools-native" -SRC_URI = " \ - http://pypi.python.org/packages/source/p/${SRCNAME}/${SRCNAME}-${PV}.tar.gz \ -" -SRC_URI[md5sum] = "5601c4323464add1482291634142894d" -SRC_URI[sha256sum] = "90112b296152f270cb8dddcd19b7b87488d9e002e8cf622e14c4da9c2f6319b1" +SRC_URI = "https://files.pythonhosted.org/packages/source/p/${SRCNAME}/${SRCNAME}-${PV}.tar.gz" + +SRC_URI[md5sum] = "87083c0b9867963b29f7aba3613e8f4a" +SRC_URI[sha256sum] = "4d24b03ffa67638a3fa931c09fd9e0273ffa904e95ebebe7d4b1a54c93d7b732" UPSTREAM_CHECK_URI = "https://pypi.python.org/pypi/pip" @@ -19,16 +18,16 @@ S = "${WORKDIR}/${SRCNAME}-${PV}" inherit distutils3 -DISTUTILS_INSTALL_ARGS += "--install-lib=${D}${libdir}/${PYTHON_DIR}/site-packages" +DISTUTILS_INSTALL_ARGS += "--install-lib=${D}${PYTHON_SITEPACKAGES_DIR}" do_install_prepend() { - install -d ${D}/${libdir}/${PYTHON_DIR}/site-packages + install -d ${D}${PYTHON_SITEPACKAGES_DIR} } # Use setuptools site.py instead, avoid shared state issue do_install_append() { - rm ${D}/${libdir}/${PYTHON_DIR}/site-packages/site.py - rm ${D}/${libdir}/${PYTHON_DIR}/site-packages/__pycache__/site.cpython-*.pyc + rm ${D}${PYTHON_SITEPACKAGES_DIR}/site.py + rm ${D}${PYTHON_SITEPACKAGES_DIR}/__pycache__/site.cpython-*.pyc # Install as pip3 and leave pip2 as default rm ${D}/${bindir}/pip diff --git a/import-layers/yocto-poky/meta/recipes-devtools/python/python3-pycairo_1.10.0.bb b/import-layers/yocto-poky/meta/recipes-devtools/python/python3-pycairo_1.10.0.bb new file mode 100644 index 000000000..f9031b3bc --- /dev/null +++ b/import-layers/yocto-poky/meta/recipes-devtools/python/python3-pycairo_1.10.0.bb @@ -0,0 +1,40 @@ +SUMMARY = "Python bindings for the Cairo canvas library" +HOMEPAGE = "http://cairographics.org/pycairo" +BUGTRACKER = "http://bugs.freedesktop.org" +SECTION = "python-devel" +LICENSE = "LGPLv3" +LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504 \ + file://COPYING.LESSER;md5=e6a600fd5e1d9cbde2d983680233ad02" + +# cairo >= 1.8.8 +DEPENDS = "cairo" +PR = "r2" + +SRC_URI = "http://cairographics.org/releases/pycairo-${PV}.tar.bz2" + +SRC_URI[md5sum] = "e6fd3f2f1e6a72e0db0868c4985669c5" +SRC_URI[sha256sum] = "9aa4078e7eb5be583aeabbe8d87172797717f95e8c4338f0d4a17b683a7253be" + +S = "${WORKDIR}/pycairo-${PV}" + +inherit distutils3 pkgconfig + +BBCLASSEXTEND = "native" + +do_configure() { + PYTHON=${PYTHON} ./waf configure --prefix=${D}${prefix} --libdir=${D}${libdir} +} + +do_compile() { + ./waf build ${PARALLEL_MAKE} +} + +do_install() { + ./waf install + sed \ + -e 's:@prefix@:${prefix}:' \ + -e 's:@VERSION@:${PV}:' \ + -e 's:@includedir@:${includedir}:' \ + py3cairo.pc.in > py3cairo.pc + install -m 0644 py3cairo.pc ${D}${libdir}/pkgconfig/ +} diff --git a/import-layers/yocto-poky/meta/recipes-devtools/python/python-pygobject/0001-configure.ac-add-sysroot-path-to-GI_DATADIR-don-t-se.patch b/import-layers/yocto-poky/meta/recipes-devtools/python/python3-pygobject/0001-configure.ac-add-sysroot-path-to-GI_DATADIR-don-t-se.patch index a391f7e74..a391f7e74 100644 --- a/import-layers/yocto-poky/meta/recipes-devtools/python/python-pygobject/0001-configure.ac-add-sysroot-path-to-GI_DATADIR-don-t-se.patch +++ b/import-layers/yocto-poky/meta/recipes-devtools/python/python3-pygobject/0001-configure.ac-add-sysroot-path-to-GI_DATADIR-don-t-se.patch diff --git a/import-layers/yocto-poky/meta/recipes-devtools/python/python-pygobject_3.18.2.bb b/import-layers/yocto-poky/meta/recipes-devtools/python/python3-pygobject_3.20.1.bb index a9871fe26..cda16f17a 100644 --- a/import-layers/yocto-poky/meta/recipes-devtools/python/python-pygobject_3.18.2.bb +++ b/import-layers/yocto-poky/meta/recipes-devtools/python/python3-pygobject_3.20.1.bb @@ -3,9 +3,9 @@ SECTION = "devel/python" LICENSE = "LGPLv2.1" LIC_FILES_CHKSUM = "file://COPYING;md5=a916467b91076e631dd8edb7424769c7" -inherit autotools pkgconfig gnomebase distutils-base gobject-introspection +inherit autotools pkgconfig gnomebase distutils3-base gobject-introspection upstream-version-is-even -DEPENDS += "python glib-2.0 gnome-common" +DEPENDS += "python3 glib-2.0" SRCNAME="pygobject" SRC_URI = " \ @@ -13,13 +13,13 @@ SRC_URI = " \ file://0001-configure.ac-add-sysroot-path-to-GI_DATADIR-don-t-se.patch \ " -SRC_URI[md5sum] = "0a956f3e785e23b0f136832f2e57a862" -SRC_URI[sha256sum] = "2a3cad1517916b74e131e6002c3824361aee0671ffb0d55ded119477fc1c2c5f" +SRC_URI[md5sum] = "4354c6283b135f859563b72457f6a321" +SRC_URI[sha256sum] = "3d261005d6fed6a92ac4c25f283792552f7dad865d1b7e0c03c2b84c04dbd745" S = "${WORKDIR}/${SRCNAME}-${PV}" BBCLASSEXTEND = "native" -EXTRA_OECONF = "--disable-cairo --with-python=python2.7" +EXTRA_OECONF = "--disable-cairo" -RDEPENDS_${PN} += "python-setuptools python-importlib" +RDEPENDS_${PN} += "python3-setuptools python3-importlib" diff --git a/import-layers/yocto-poky/meta/recipes-devtools/python/python3-setuptools_19.4.bb b/import-layers/yocto-poky/meta/recipes-devtools/python/python3-setuptools_22.0.5.bb index fb2931c3f..65af6f0da 100644 --- a/import-layers/yocto-poky/meta/recipes-devtools/python/python3-setuptools_19.4.bb +++ b/import-layers/yocto-poky/meta/recipes-devtools/python/python3-setuptools_22.0.5.bb @@ -5,7 +5,7 @@ DEPENDS_class-native += "python3-native" inherit distutils3 -DISTUTILS_INSTALL_ARGS += "--install-lib=${D}${libdir}/${PYTHON_DIR}/site-packages" +DISTUTILS_INSTALL_ARGS += "--install-lib=${D}${PYTHON_SITEPACKAGES_DIR}" # The installer puts the wrong path in the setuptools.pth file. Correct it. do_install_append() { diff --git a/import-layers/yocto-poky/meta/recipes-devtools/python/python3-six_1.10.0.bb b/import-layers/yocto-poky/meta/recipes-devtools/python/python3-six_1.10.0.bb new file mode 100644 index 000000000..38a47b77d --- /dev/null +++ b/import-layers/yocto-poky/meta/recipes-devtools/python/python3-six_1.10.0.bb @@ -0,0 +1,4 @@ +inherit setuptools3 +require python-six.inc + +RDEPENDS_${PN} += "python3-io" diff --git a/import-layers/yocto-poky/meta/recipes-devtools/python/python3-smmap_0.9.0.bb b/import-layers/yocto-poky/meta/recipes-devtools/python/python3-smmap_0.9.0.bb new file mode 100644 index 000000000..9f8a26d79 --- /dev/null +++ b/import-layers/yocto-poky/meta/recipes-devtools/python/python3-smmap_0.9.0.bb @@ -0,0 +1,5 @@ +require python-smmap.inc + +inherit setuptools3 + +RDEPENDS_${PN} += "python3-codecs python3-mmap python3-lang" diff --git a/import-layers/yocto-poky/meta/recipes-devtools/python/python3/000-cross-compile.patch b/import-layers/yocto-poky/meta/recipes-devtools/python/python3/000-cross-compile.patch index 28fe70adb..2d822218f 100644 --- a/import-layers/yocto-poky/meta/recipes-devtools/python/python3/000-cross-compile.patch +++ b/import-layers/yocto-poky/meta/recipes-devtools/python/python3/000-cross-compile.patch @@ -9,19 +9,19 @@ Upstream-Status: Inappropriate[Configuration Specific] Makefile.pre.in | 25 +++++++++++++------------ 1 file changed, 13 insertions(+), 12 deletions(-) -Index: Python-3.5.1/Makefile.pre.in +Index: Python-3.5.2/Makefile.pre.in =================================================================== ---- Python-3.5.1.orig/Makefile.pre.in -+++ Python-3.5.1/Makefile.pre.in +--- Python-3.5.2.orig/Makefile.pre.in ++++ Python-3.5.2/Makefile.pre.in @@ -220,6 +220,7 @@ LIBOBJS= @LIBOBJS@ PYTHON= python$(EXE) BUILDPYTHON= python$(BUILDEXE) +HOSTPYTHON= $(BUILDPYTHON) + cross_compiling=@cross_compiling@ PYTHON_FOR_BUILD=@PYTHON_FOR_BUILD@ - _PYTHON_HOST_PLATFORM=@_PYTHON_HOST_PLATFORM@ -@@ -276,6 +277,7 @@ LIBFFI_INCLUDEDIR= @LIBFFI_INCLUDEDIR@ +@@ -279,6 +280,7 @@ LIBFFI_INCLUDEDIR= @LIBFFI_INCLUDEDIR@ ########################################################################## # Parser PGEN= Parser/pgen$(EXE) @@ -29,7 +29,7 @@ Index: Python-3.5.1/Makefile.pre.in PSRCS= \ Parser/acceler.c \ -@@ -506,7 +508,7 @@ build_all_generate_profile: +@@ -509,7 +511,7 @@ build_all_generate_profile: run_profile_task: : # FIXME: can't run for a cross build @@ -38,16 +38,16 @@ Index: Python-3.5.1/Makefile.pre.in build_all_merge_profile: $(LLVM_PROF_MERGER) -@@ -779,7 +781,7 @@ $(IO_OBJS): $(IO_H) - - $(GRAMMAR_H): $(GRAMMAR_INPUT) $(PGEN) - @$(MKDIR_P) Include -- $(PGEN) $(GRAMMAR_INPUT) $(GRAMMAR_H) $(GRAMMAR_C) -+ $(HOSTPGEN) $(GRAMMAR_INPUT) $(GRAMMAR_H) $(GRAMMAR_C) - $(GRAMMAR_C): $(GRAMMAR_H) - touch $(GRAMMAR_C) - -@@ -968,7 +970,7 @@ $(LIBRARY_OBJS) $(MODOBJS) Programs/pyth +@@ -792,7 +794,7 @@ $(GRAMMAR_H): $(GRAMMAR_INPUT) $(PGEN) + @$(MKDIR_P) Include + # Avoid copying the file onto itself for an in-tree build + if test "$(cross_compiling)" != "yes"; then \ +- $(PGEN) $(GRAMMAR_INPUT) $(GRAMMAR_H) $(GRAMMAR_C); \ ++ $(HOSTPGEN) $(GRAMMAR_INPUT) $(GRAMMAR_H) $(GRAMMAR_C); \ + else \ + cp $(srcdir)/Include/graminit.h $(GRAMMAR_H).tmp; \ + mv $(GRAMMAR_H).tmp $(GRAMMAR_H); \ +@@ -990,7 +992,7 @@ $(LIBRARY_OBJS) $(MODOBJS) Programs/pyth ###################################################################### TESTOPTS= $(EXTRATESTOPTS) @@ -56,7 +56,7 @@ Index: Python-3.5.1/Makefile.pre.in TESTRUNNER= $(TESTPYTHON) $(srcdir)/Tools/scripts/run_tests.py TESTTIMEOUT= 3600 -@@ -1455,7 +1457,7 @@ frameworkinstallstructure: $(LDLIBRARY) +@@ -1481,7 +1483,7 @@ frameworkinstallstructure: $(LDLIBRARY) fi; \ done $(LN) -fsn include/python$(LDVERSION) $(DESTDIR)$(prefix)/Headers @@ -65,7 +65,7 @@ Index: Python-3.5.1/Makefile.pre.in $(LN) -fsn $(VERSION) $(DESTDIR)$(PYTHONFRAMEWORKINSTALLDIR)/Versions/Current $(LN) -fsn Versions/Current/$(PYTHONFRAMEWORK) $(DESTDIR)$(PYTHONFRAMEWORKINSTALLDIR)/$(PYTHONFRAMEWORK) $(LN) -fsn Versions/Current/Headers $(DESTDIR)$(PYTHONFRAMEWORKINSTALLDIR)/Headers -@@ -1521,7 +1523,7 @@ config.status: $(srcdir)/configure +@@ -1547,7 +1549,7 @@ config.status: $(srcdir)/configure # Run reindent on the library reindent: @@ -74,7 +74,7 @@ Index: Python-3.5.1/Makefile.pre.in # Rerun configure with the same options as it was run last time, # provided the config.status script exists -@@ -1656,7 +1658,7 @@ funny: +@@ -1683,7 +1685,7 @@ funny: # Perform some verification checks on any modified files. patchcheck: all diff --git a/import-layers/yocto-poky/meta/recipes-devtools/python/python3/110-enable-zlib.patch b/import-layers/yocto-poky/meta/recipes-devtools/python/python3/110-enable-zlib.patch deleted file mode 100644 index fb92a1916..000000000 --- a/import-layers/yocto-poky/meta/recipes-devtools/python/python3/110-enable-zlib.patch +++ /dev/null @@ -1,21 +0,0 @@ -Enable zlib in python - --Khem - -Upstream-Status: Inappropriate [OE-Specific] - ---- - Modules/Setup.dist | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - ---- a/Modules/Setup.dist -+++ b/Modules/Setup.dist -@@ -354,7 +354,7 @@ _symtable symtablemodule.c - # Andrew Kuchling's zlib module. - # This require zlib 1.1.3 (or later). - # See http://www.gzip.org/zlib/ --#zlib zlibmodule.c -I$(prefix)/include -L$(exec_prefix)/lib -lz -+zlib zlibmodule.c -lz - - # Interface to the Expat XML parser - # diff --git a/import-layers/yocto-poky/meta/recipes-devtools/python/python3/12-distutils-prefix-is-inside-staging-area.patch b/import-layers/yocto-poky/meta/recipes-devtools/python/python3/12-distutils-prefix-is-inside-staging-area.patch index 8b93c1cf4..c53ec0cfc 100644 --- a/import-layers/yocto-poky/meta/recipes-devtools/python/python3/12-distutils-prefix-is-inside-staging-area.patch +++ b/import-layers/yocto-poky/meta/recipes-devtools/python/python3/12-distutils-prefix-is-inside-staging-area.patch @@ -1,4 +1,4 @@ -From d4dd67daa1555bf13272cc071706338572539bad Mon Sep 17 00:00:00 2001 +From 7630ab22578746d3d790d0598c0d279cf7afed97 Mon Sep 17 00:00:00 2001 From: Khem Raj <raj.khem@gmail.com> Date: Tue, 14 May 2013 15:00:26 -0700 Subject: [PATCH 01/20] python3: Add target and native recipes @@ -14,27 +14,14 @@ Upstream-Status: Inappropriate [embedded specific] # Signed-off-by: Alejandro Hernandez <alejandro.hernandez@linux.intel.com> --- + Lib/distutils/sysconfig.py | 10 ++++++++-- + 1 file changed, 8 insertions(+), 2 deletions(-) + diff --git a/Lib/distutils/sysconfig.py b/Lib/distutils/sysconfig.py -index 573724d..418b478 100644 +index 573724d..390c485 100644 --- a/Lib/distutils/sysconfig.py +++ b/Lib/distutils/sysconfig.py -@@ -17,10 +17,11 @@ import sys - from .errors import DistutilsPlatformError - - # These are needed in a couple of spots, so just compute them once. --PREFIX = os.path.normpath(sys.prefix) --EXEC_PREFIX = os.path.normpath(sys.exec_prefix) --BASE_PREFIX = os.path.normpath(sys.base_prefix) --BASE_EXEC_PREFIX = os.path.normpath(sys.base_exec_prefix) -+PREFIX = os.path.normpath(sys.prefix).replace( os.getenv("BUILD_SYS"), os.getenv("HOST_SYS") ) -+EXEC_PREFIX = os.path.normpath(sys.exec_prefix).replace( os.getenv("BUILD_SYS"), os.getenv("HOST_SYS") ) -+BASE_PREFIX = os.path.normpath(sys.base_prefix).replace( os.getenv("BUILD_SYS"), os.getenv("HOST_SYS") ) -+BASE_EXEC_PREFIX= os.path.normpath(sys.base_exec_prefix).replace( os.getenv("BUILD_SYS"), os.getenv("HOST_SYS") ) -+ - - # Path to the base directory of the project. On Windows the binary may - # live in project/PCBuild/win32 or project/PCBuild/amd64. -@@ -84,7 +85,9 @@ def get_python_inc(plat_specific=0, prefix=None): +@@ -84,7 +84,9 @@ def get_python_inc(plat_specific=0, prefix=None): If 'prefix' is supplied, use it instead of sys.base_prefix or sys.base_exec_prefix -- i.e., ignore 'plat_specific'. """ @@ -45,7 +32,7 @@ index 573724d..418b478 100644 prefix = plat_specific and BASE_EXEC_PREFIX or BASE_PREFIX if os.name == "posix": if python_build: -@@ -125,6 +128,10 @@ def get_python_lib(plat_specific=0, standard_lib=0, prefix=None): +@@ -125,6 +127,10 @@ def get_python_lib(plat_specific=0, standard_lib=0, prefix=None): If 'prefix' is supplied, use it instead of sys.base_prefix or sys.base_exec_prefix -- i.e., ignore 'plat_specific'. """ @@ -56,7 +43,7 @@ index 573724d..418b478 100644 if prefix is None: if standard_lib: prefix = plat_specific and BASE_EXEC_PREFIX or BASE_PREFIX -@@ -133,7 +140,7 @@ def get_python_lib(plat_specific=0, standard_lib=0, prefix=None): +@@ -133,7 +139,7 @@ def get_python_lib(plat_specific=0, standard_lib=0, prefix=None): if os.name == "posix": libpython = os.path.join(prefix, @@ -65,24 +52,6 @@ index 573724d..418b478 100644 if standard_lib: return libpython else: -@@ -233,7 +240,7 @@ def get_config_h_filename(): - else: - inc_dir = get_python_inc(plat_specific=1) - -- return os.path.join(inc_dir, 'pyconfig.h') -+ return os.path.join(inc_dir, 'pyconfig.h'.replace( os.getenv("BUILD_SYS"), os.getenv("HOST_SYS") )) - - - def get_makefile_filename(): -@@ -242,7 +249,7 @@ def get_makefile_filename(): - return os.path.join(_sys_home or project_base, "Makefile") - lib_dir = get_python_lib(plat_specific=0, standard_lib=1) - config_file = 'config-{}{}'.format(get_python_version(), build_flags) -- return os.path.join(lib_dir, config_file, 'Makefile') -+ return os.path.join(lib_dir, config_file, 'Makefile').replace( os.getenv("BUILD_SYS"), os.getenv("HOST_SYS") ) - - - def parse_config_h(fp, g=None): -- -2.7.0 +2.8.0.rc3 diff --git a/import-layers/yocto-poky/meta/recipes-devtools/python/python3/CVE-2016-5636.patch b/import-layers/yocto-poky/meta/recipes-devtools/python/python3/CVE-2016-5636.patch new file mode 100644 index 000000000..0d494d20f --- /dev/null +++ b/import-layers/yocto-poky/meta/recipes-devtools/python/python3/CVE-2016-5636.patch @@ -0,0 +1,44 @@ + +# HG changeset patch +# User Benjamin Peterson <benjamin@python.org> +# Date 1453357506 28800 +# Node ID 10dad6da1b28ea4af78ad9529e469fdbf4ebbc8f +# Parent a3ac2cd93db9d5336dfd7b5b27efde2c568d8794# Parent 01ddd608b85c85952537d95a43bbabf4fb655057 +merge 3.4 (#26171) + +Upstream-Status: Backport +CVE: CVE-2016-5636 + +https://hg.python.org/cpython/raw-rev/10dad6da1b28 +Signed-off-by: Armin Kuster <akuster@mvista.com> + +Index: Python-3.5.1/Misc/NEWS +=================================================================== +--- Python-3.5.1.orig/Misc/NEWS ++++ Python-3.5.1/Misc/NEWS +@@ -91,6 +91,9 @@ Core and Builtins + Python.h header to fix a compilation error with OpenMP. PyThreadState_GET() + becomes an alias to PyThreadState_Get() to avoid ABI incompatibilies. + ++- Issue #26171: Fix possible integer overflow and heap corruption in ++ zipimporter.get_data(). ++ + Library + ------- + +Index: Python-3.5.1/Modules/zipimport.c +=================================================================== +--- Python-3.5.1.orig/Modules/zipimport.c ++++ Python-3.5.1/Modules/zipimport.c +@@ -1112,6 +1112,11 @@ get_data(PyObject *archive, PyObject *to + } + file_offset += l; /* Start of file data */ + ++ if (data_size > LONG_MAX - 1) { ++ fclose(fp); ++ PyErr_NoMemory(); ++ return NULL; ++ } + bytes_size = compress == 0 ? data_size : data_size + 1; + if (bytes_size == 0) + bytes_size++; diff --git a/import-layers/yocto-poky/meta/recipes-devtools/python/python3/fix_for_using_different_libdir.patch b/import-layers/yocto-poky/meta/recipes-devtools/python/python3/fix_for_using_different_libdir.patch index cd1a978eb..0610565d3 100644 --- a/import-layers/yocto-poky/meta/recipes-devtools/python/python3/fix_for_using_different_libdir.patch +++ b/import-layers/yocto-poky/meta/recipes-devtools/python/python3/fix_for_using_different_libdir.patch @@ -4,11 +4,11 @@ This patch fixes issuing with different libdir like lib64. This patch makes the native python binary modules findable in the install process of the host python. -Signed-Off-By: Nitin A Kamble <nitin.a.kamble@intel.com> +Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com> Date: 2012/03/14 Updated for python 2.7.3 -Signed-Off-By: Nitin A Kamble <nitin.a.kamble@intel.com> +Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com> Date: 2012/05/01 Index: Python-3.3.0rc2/Lib/sysconfig.py diff --git a/import-layers/yocto-poky/meta/recipes-devtools/python/python3/python-3.3-multilib.patch b/import-layers/yocto-poky/meta/recipes-devtools/python/python3/python-3.3-multilib.patch index 44ec424cd..056e8e763 100644 --- a/import-layers/yocto-poky/meta/recipes-devtools/python/python3/python-3.3-multilib.patch +++ b/import-layers/yocto-poky/meta/recipes-devtools/python/python3/python-3.3-multilib.patch @@ -7,10 +7,10 @@ get the sys.lib from python itself and do not use hardcoded value of 'lib' Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Alejandro Hernandez <alejandro.hernandez@linux.intel.com> -Index: Python-3.5.0/Include/pythonrun.h +Index: Python-3.5.2/Include/pythonrun.h =================================================================== ---- Python-3.5.0.orig/Include/pythonrun.h -+++ Python-3.5.0/Include/pythonrun.h +--- Python-3.5.2.orig/Include/pythonrun.h ++++ Python-3.5.2/Include/pythonrun.h @@ -23,6 +23,9 @@ typedef struct { } PyCompilerFlags; #endif @@ -21,10 +21,10 @@ Index: Python-3.5.0/Include/pythonrun.h #ifndef Py_LIMITED_API PyAPI_FUNC(int) PyRun_SimpleStringFlags(const char *, PyCompilerFlags *); PyAPI_FUNC(int) PyRun_AnyFileFlags(FILE *, const char *, PyCompilerFlags *); -Index: Python-3.5.0/Lib/distutils/command/install.py +Index: Python-3.5.2/Lib/distutils/command/install.py =================================================================== ---- Python-3.5.0.orig/Lib/distutils/command/install.py -+++ Python-3.5.0/Lib/distutils/command/install.py +--- Python-3.5.2.orig/Lib/distutils/command/install.py ++++ Python-3.5.2/Lib/distutils/command/install.py @@ -19,6 +19,8 @@ from site import USER_BASE from site import USER_SITE HAS_USER_SITE = True @@ -43,23 +43,23 @@ Index: Python-3.5.0/Lib/distutils/command/install.py 'headers': '$base/include/python$py_version_short$abiflags/$dist_name', 'scripts': '$base/bin', 'data' : '$base', -Index: Python-3.5.0/Lib/pydoc.py +Index: Python-3.5.2/Lib/pydoc.py =================================================================== ---- Python-3.5.0.orig/Lib/pydoc.py -+++ Python-3.5.0/Lib/pydoc.py -@@ -393,7 +393,7 @@ class Doc: +--- Python-3.5.2.orig/Lib/pydoc.py ++++ Python-3.5.2/Lib/pydoc.py +@@ -384,7 +384,7 @@ class Doc: + docmodule = docclass = docroutine = docother = docproperty = docdata = fail - docloc = os.environ.get("PYTHONDOCS", self.PYTHONDOCS) + def getdocloc(self, object, +- basedir=os.path.join(sys.base_exec_prefix, "lib", ++ basedir=os.path.join(sys.base_exec_prefix, sys.lib, + "python%d.%d" % sys.version_info[:2])): + """Return the location of module docs or None""" -- basedir = os.path.join(sys.base_exec_prefix, "lib", -+ basedir = os.path.join(sys.base_exec_prefix, sys.lib, - "python%d.%d" % sys.version_info[:2]) - if (isinstance(object, type(os)) and - (object.__name__ in ('errno', 'exceptions', 'gc', 'imp', -Index: Python-3.5.0/Lib/trace.py +Index: Python-3.5.2/Lib/trace.py =================================================================== ---- Python-3.5.0.orig/Lib/trace.py -+++ Python-3.5.0/Lib/trace.py +--- Python-3.5.2.orig/Lib/trace.py ++++ Python-3.5.2/Lib/trace.py @@ -749,10 +749,10 @@ def main(argv=None): # should I also call expanduser? (after all, could use $HOME) @@ -73,11 +73,11 @@ Index: Python-3.5.0/Lib/trace.py "python" + sys.version[:3])) s = os.path.normpath(s) ignore_dirs.append(s) -Index: Python-3.5.0/Makefile.pre.in +Index: Python-3.5.2/Makefile.pre.in =================================================================== ---- Python-3.5.0.orig/Makefile.pre.in -+++ Python-3.5.0/Makefile.pre.in -@@ -101,6 +101,8 @@ PY_CORE_CFLAGS= $(PY_CFLAGS) $(PY_CFLAGS +--- Python-3.5.2.orig/Makefile.pre.in ++++ Python-3.5.2/Makefile.pre.in +@@ -106,6 +106,8 @@ PY_CORE_CFLAGS= $(PY_CFLAGS) $(PY_CFLAGS # Machine-dependent subdirectories MACHDEP= @MACHDEP@ @@ -86,7 +86,7 @@ Index: Python-3.5.0/Makefile.pre.in # Multiarch directory (may be empty) MULTIARCH= @MULTIARCH@ -@@ -120,7 +122,7 @@ LIBDIR= @libdir@ +@@ -125,7 +127,7 @@ LIBDIR= @libdir@ MANDIR= @mandir@ INCLUDEDIR= @includedir@ CONFINCLUDEDIR= $(exec_prefix)/include @@ -95,7 +95,7 @@ Index: Python-3.5.0/Makefile.pre.in ABIFLAGS= @ABIFLAGS@ # Detailed destination directories -@@ -729,6 +731,7 @@ Modules/getpath.o: $(srcdir)/Modules/get +@@ -755,6 +757,7 @@ Modules/getpath.o: $(srcdir)/Modules/get -DEXEC_PREFIX='"$(exec_prefix)"' \ -DVERSION='"$(VERSION)"' \ -DVPATH='"$(VPATH)"' \ @@ -103,7 +103,7 @@ Index: Python-3.5.0/Makefile.pre.in -o $@ $(srcdir)/Modules/getpath.c Programs/python.o: $(srcdir)/Programs/python.c -@@ -798,7 +801,7 @@ $(OPCODE_H): $(srcdir)/Lib/opcode.py $(O +@@ -835,7 +838,7 @@ $(OPCODE_H): $(srcdir)/Lib/opcode.py $(O Python/compile.o Python/symtable.o Python/ast.o: $(GRAMMAR_H) $(AST_H) Python/getplatform.o: $(srcdir)/Python/getplatform.c @@ -112,25 +112,25 @@ Index: Python-3.5.0/Makefile.pre.in Python/importdl.o: $(srcdir)/Python/importdl.c $(CC) -c $(PY_CORE_CFLAGS) -I$(DLINCLDIR) -o $@ $(srcdir)/Python/importdl.c -Index: Python-3.5.0/Modules/getpath.c +Index: Python-3.5.2/Modules/getpath.c =================================================================== ---- Python-3.5.0.orig/Modules/getpath.c -+++ Python-3.5.0/Modules/getpath.c -@@ -117,9 +117,11 @@ - #define EXEC_PREFIX PREFIX +--- Python-3.5.2.orig/Modules/getpath.c ++++ Python-3.5.2/Modules/getpath.c +@@ -105,6 +105,13 @@ + #error "PREFIX, EXEC_PREFIX, VERSION, and VPATH must be constant defined" #endif +#define LIB_PYTHON LIB "/python" VERSION + - #ifndef PYTHONPATH --#define PYTHONPATH PREFIX "/lib/python" VERSION ":" \ -- EXEC_PREFIX "/lib/python" VERSION "/lib-dynload" ++#ifndef PYTHONPATH +#define PYTHONPATH PREFIX "/" LIB_PYTHON ":" \ -+ EXEC_PREFIX "/" LIB_PYTHON "/lib-dynload" - #endif - ++ EXEC_PREFIX "/" LIB_PYTHON "/lib-dynload" ++#endif ++ #ifndef LANDMARK -@@ -130,6 +132,7 @@ static wchar_t prefix[MAXPATHLEN+1]; + #define LANDMARK L"os.py" + #endif +@@ -113,6 +120,7 @@ static wchar_t prefix[MAXPATHLEN+1]; static wchar_t exec_prefix[MAXPATHLEN+1]; static wchar_t progpath[MAXPATHLEN+1]; static wchar_t *module_search_path = NULL; @@ -138,10 +138,10 @@ Index: Python-3.5.0/Modules/getpath.c /* Get file status. Encode the path to the locale encoding. */ -Index: Python-3.5.0/Python/getplatform.c +Index: Python-3.5.2/Python/getplatform.c =================================================================== ---- Python-3.5.0.orig/Python/getplatform.c -+++ Python-3.5.0/Python/getplatform.c +--- Python-3.5.2.orig/Python/getplatform.c ++++ Python-3.5.2/Python/getplatform.c @@ -10,3 +10,23 @@ Py_GetPlatform(void) { return PLATFORM; @@ -166,11 +166,11 @@ Index: Python-3.5.0/Python/getplatform.c +{ + return LIB; +} -Index: Python-3.5.0/Python/sysmodule.c +Index: Python-3.5.2/Python/sysmodule.c =================================================================== ---- Python-3.5.0.orig/Python/sysmodule.c -+++ Python-3.5.0/Python/sysmodule.c -@@ -1767,6 +1767,10 @@ _PySys_Init(void) +--- Python-3.5.2.orig/Python/sysmodule.c ++++ Python-3.5.2/Python/sysmodule.c +@@ -1790,6 +1790,10 @@ _PySys_Init(void) PyUnicode_FromString(Py_GetCopyright())); SET_SYS_FROM_STRING("platform", PyUnicode_FromString(Py_GetPlatform())); @@ -181,11 +181,11 @@ Index: Python-3.5.0/Python/sysmodule.c SET_SYS_FROM_STRING("executable", PyUnicode_FromWideChar( Py_GetProgramFullPath(), -1)); -Index: Python-3.5.0/setup.py +Index: Python-3.5.2/setup.py =================================================================== ---- Python-3.5.0.orig/setup.py -+++ Python-3.5.0/setup.py -@@ -472,7 +472,7 @@ class PyBuildExt(build_ext): +--- Python-3.5.2.orig/setup.py ++++ Python-3.5.2/setup.py +@@ -492,7 +492,7 @@ class PyBuildExt(build_ext): # directories (i.e. '.' and 'Include') must be first. See issue # 10520. if not cross_compiling: @@ -194,7 +194,7 @@ Index: Python-3.5.0/setup.py add_dir_to_list(self.compiler.include_dirs, '/usr/local/include') # only change this for cross builds for 3.3, issues on Mageia if cross_compiling: -@@ -530,8 +530,7 @@ class PyBuildExt(build_ext): +@@ -550,8 +550,7 @@ class PyBuildExt(build_ext): # be assumed that no additional -I,-L directives are needed. if not cross_compiling: lib_dirs = self.compiler.library_dirs + [ @@ -204,7 +204,7 @@ Index: Python-3.5.0/setup.py ] inc_dirs = self.compiler.include_dirs + ['/usr/include'] else: -@@ -716,11 +715,11 @@ class PyBuildExt(build_ext): +@@ -743,11 +742,11 @@ class PyBuildExt(build_ext): elif curses_library: readline_libs.append(curses_library) elif self.compiler.find_library_file(lib_dirs + @@ -218,10 +218,10 @@ Index: Python-3.5.0/setup.py extra_link_args=readline_extra_link_args, libraries=readline_libs) ) else: -Index: Python-3.5.0/Lib/sysconfig.py +Index: Python-3.5.2/Lib/sysconfig.py =================================================================== ---- Python-3.5.0.orig/Lib/sysconfig.py -+++ Python-3.5.0/Lib/sysconfig.py +--- Python-3.5.2.orig/Lib/sysconfig.py ++++ Python-3.5.2/Lib/sysconfig.py @@ -20,10 +20,10 @@ __all__ = [ _INSTALL_SCHEMES = { @@ -264,11 +264,11 @@ Index: Python-3.5.0/Lib/sysconfig.py 'include': '{userbase}/include/python{py_version_short}', 'scripts': '{userbase}/bin', 'data': '{userbase}', -Index: Python-3.5.0/configure.ac +Index: Python-3.5.2/configure.ac =================================================================== ---- Python-3.5.0.orig/configure.ac -+++ Python-3.5.0/configure.ac -@@ -858,6 +858,41 @@ PLATDIR=plat-$MACHDEP +--- Python-3.5.2.orig/configure.ac ++++ Python-3.5.2/configure.ac +@@ -876,6 +876,41 @@ PLATDIR=plat-$MACHDEP AC_SUBST(PLATDIR) AC_SUBST(PLATFORM_TRIPLET) diff --git a/import-layers/yocto-poky/meta/recipes-devtools/python/python3/python3-fix-CVE-2016-1000110.patch b/import-layers/yocto-poky/meta/recipes-devtools/python/python3/python3-fix-CVE-2016-1000110.patch new file mode 100644 index 000000000..ab1b7230e --- /dev/null +++ b/import-layers/yocto-poky/meta/recipes-devtools/python/python3/python3-fix-CVE-2016-1000110.patch @@ -0,0 +1,148 @@ +From aab3e8c432b90508ac14755128f5a687be2fdf43 Mon Sep 17 00:00:00 2001 +From: Mingli Yu <Mingli.Yu@windriver.com> +Date: Thu, 22 Sep 2016 16:39:49 +0800 +Subject: [PATCH] python3: fix CVE-2016-1000110 +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Ignore the HTTP_PROXY variable when REQUEST_METHOD environment is set, which +indicates that the script is in CGI mode. + +Issue #27568 Reported and patch contributed by Rémi Rampin. [#27568] + +Backport patch from https://hg.python.org/cpython/rev/a0ac52ed8f79 + +Upstream-Status: Backport +CVE: CVE-2016-1000110 +Signed-off-by: Mingli Yu <Mingli.Yu@windriver.com> +--- + Doc/howto/urllib2.rst | 5 +++++ + Doc/library/urllib.request.rst | 17 ++++++++++++++++- + Lib/test/test_urllib.py | 14 +++++++++++++- + Lib/urllib/request.py | 6 ++++++ + Misc/NEWS | 4 ++++ + 5 files changed, 44 insertions(+), 2 deletions(-) + +diff --git a/Doc/howto/urllib2.rst b/Doc/howto/urllib2.rst +index 24a4156..d2c7991 100644 +--- a/Doc/howto/urllib2.rst ++++ b/Doc/howto/urllib2.rst +@@ -538,6 +538,11 @@ setting up a `Basic Authentication`_ handler: :: + through a proxy. However, this can be enabled by extending urllib.request as + shown in the recipe [#]_. + ++.. note:: ++ ++ ``HTTP_PROXY`` will be ignored if a variable ``REQUEST_METHOD`` is set; see ++ the documentation on :func:`~urllib.request.getproxies`. ++ + + Sockets and Layers + ================== +diff --git a/Doc/library/urllib.request.rst b/Doc/library/urllib.request.rst +index 1338906..1291aeb 100644 +--- a/Doc/library/urllib.request.rst ++++ b/Doc/library/urllib.request.rst +@@ -173,6 +173,16 @@ The :mod:`urllib.request` module defines the following functions: + If both lowercase and uppercase environment variables exist (and disagree), + lowercase is preferred. + ++ .. note:: ++ ++ If the environment variable ``REQUEST_METHOD`` is set, which usually ++ indicates your script is running in a CGI environment, the environment ++ variable ``HTTP_PROXY`` (uppercase ``_PROXY``) will be ignored. This is ++ because that variable can be injected by a client using the "Proxy:" HTTP ++ header. If you need to use an HTTP proxy in a CGI environment, either use ++ ``ProxyHandler`` explicitly, or make sure the variable name is in ++ lowercase (or at least the ``_proxy`` suffix). ++ + + The following classes are provided: + +@@ -280,6 +290,11 @@ The following classes are provided: + list of hostname suffixes, optionally with ``:port`` appended, for example + ``cern.ch,ncsa.uiuc.edu,some.host:8080``. + ++ .. note:: ++ ++ ``HTTP_PROXY`` will be ignored if a variable ``REQUEST_METHOD`` is set; ++ see the documentation on :func:`~urllib.request.getproxies`. ++ + + .. class:: HTTPPasswordMgr() + +@@ -1138,7 +1153,7 @@ the returned bytes object to string once it determines or guesses + the appropriate encoding. + + The following W3C document, https://www.w3.org/International/O-charset\ , lists +-the various ways in which a (X)HTML or a XML document could have specified its ++the various ways in which an (X)HTML or an XML document could have specified its + encoding information. + + As the python.org website uses *utf-8* encoding as specified in its meta tag, we +diff --git a/Lib/test/test_urllib.py b/Lib/test/test_urllib.py +index 5d05f8d..247598a 100644 +--- a/Lib/test/test_urllib.py ++++ b/Lib/test/test_urllib.py +@@ -1,4 +1,4 @@ +-"""Regresssion tests for what was in Python 2's "urllib" module""" ++"""Regression tests for what was in Python 2's "urllib" module""" + + import urllib.parse + import urllib.request +@@ -232,6 +232,18 @@ class ProxyTests(unittest.TestCase): + self.assertTrue(urllib.request.proxy_bypass_environment('anotherdomain.com:8888')) + self.assertTrue(urllib.request.proxy_bypass_environment('newdomain.com:1234')) + ++ def test_proxy_cgi_ignore(self): ++ try: ++ self.env.set('HTTP_PROXY', 'http://somewhere:3128') ++ proxies = urllib.request.getproxies_environment() ++ self.assertEqual('http://somewhere:3128', proxies['http']) ++ self.env.set('REQUEST_METHOD', 'GET') ++ proxies = urllib.request.getproxies_environment() ++ self.assertNotIn('http', proxies) ++ finally: ++ self.env.unset('REQUEST_METHOD') ++ self.env.unset('HTTP_PROXY') ++ + def test_proxy_bypass_environment_host_match(self): + bypass = urllib.request.proxy_bypass_environment + self.env.set('NO_PROXY', +diff --git a/Lib/urllib/request.py b/Lib/urllib/request.py +index 1731fe3..3be327d 100644 +--- a/Lib/urllib/request.py ++++ b/Lib/urllib/request.py +@@ -2412,6 +2412,12 @@ def getproxies_environment(): + name = name.lower() + if value and name[-6:] == '_proxy': + proxies[name[:-6]] = value ++ # CVE-2016-1000110 - If we are running as CGI script, forget HTTP_PROXY ++ # (non-all-lowercase) as it may be set from the web server by a "Proxy:" ++ # header from the client ++ # If "proxy" is lowercase, it will still be used thanks to the next block ++ if 'REQUEST_METHOD' in os.environ: ++ proxies.pop('http', None) + for name, value in os.environ.items(): + if name[-6:] == '_proxy': + name = name.lower() +diff --git a/Misc/NEWS b/Misc/NEWS +index 4ad2551..2fcc95b 100644 +--- a/Misc/NEWS ++++ b/Misc/NEWS +@@ -329,6 +329,10 @@ Library + - Issue #26644: Raise ValueError rather than SystemError when a negative + length is passed to SSLSocket.recv() or read(). + ++- Issue #27568: Prevent HTTPoxy attack (CVE-2016-1000110). Ignore the ++ HTTP_PROXY variable when REQUEST_METHOD environment is set, which indicates ++ that the script is in CGI mode. ++ + - Issue #23804: Fix SSL recv(0) and read(0) methods to return zero bytes + instead of up to 1024. + +-- +2.8.1 + diff --git a/import-layers/yocto-poky/meta/recipes-devtools/python/python3/unixccompiler.patch b/import-layers/yocto-poky/meta/recipes-devtools/python/python3/unixccompiler.patch index 7b90f1388..3e2b1d1c2 100644 --- a/import-layers/yocto-poky/meta/recipes-devtools/python/python3/unixccompiler.patch +++ b/import-layers/yocto-poky/meta/recipes-devtools/python/python3/unixccompiler.patch @@ -18,9 +18,9 @@ Index: Python-3.3.2/Lib/distutils/unixccompiler.py def library_dir_option(self, dir): - return "-L" + dir -+ if dir.startswith("."): -+ return "-L" + dir -+ return "-L=" + dir ++ if dir.startswith("/"): ++ return "-L=" + dir ++ return "-L" + dir def _is_gcc(self, compiler_name): return "gcc" in compiler_name or "g++" in compiler_name diff --git a/import-layers/yocto-poky/meta/recipes-devtools/python/python3/use_packed_importlib.patch b/import-layers/yocto-poky/meta/recipes-devtools/python/python3/use_packed_importlib.patch index 6c4b0cda9..70708a0ad 100644 --- a/import-layers/yocto-poky/meta/recipes-devtools/python/python3/use_packed_importlib.patch +++ b/import-layers/yocto-poky/meta/recipes-devtools/python/python3/use_packed_importlib.patch @@ -6,7 +6,7 @@ importlib*.h files, this is impossible to do on a cross-compile environment, this avoids executing the binary and forces it to use the packed importlib*.h files. -Signed-Off-By: Alejandro Hernandez <alejandro.hernandez@linux.intel.com> +Signed-off-by: Alejandro Hernandez <alejandro.hernandez@linux.intel.com> Index: Python-3.5.0/Makefile.pre.in =================================================================== diff --git a/import-layers/yocto-poky/meta/recipes-devtools/python/python3_3.5.1.bb b/import-layers/yocto-poky/meta/recipes-devtools/python/python3_3.5.2.bb index 2fbb3cbc3..e6cbb9c56 100644 --- a/import-layers/yocto-poky/meta/recipes-devtools/python/python3_3.5.1.bb +++ b/import-layers/yocto-poky/meta/recipes-devtools/python/python3_3.5.2.bb @@ -13,7 +13,6 @@ file://020-dont-compile-python-files.patch \ file://030-fixup-include-dirs.patch \ file://070-dont-clean-ipkg-install.patch \ file://080-distutils-dont_adjust_files.patch \ -file://110-enable-zlib.patch \ file://130-readline-setup.patch \ file://150-fix-setupterm.patch \ file://0001-h2py-Fix-issue-13032-where-it-fails-with-UnicodeDeco.patch \ @@ -36,17 +35,17 @@ SRC_URI += "\ file://sysconfig.py-add-_PYTHON_PROJECT_SRC.patch \ file://setup.py-check-cross_compiling-when-get-FLAGS.patch \ file://setup.py-find-libraries-in-staging-dirs.patch \ - file://use_packed_importlib.patch \ file://configure.ac-fix-LIBPL.patch \ + file://python3-fix-CVE-2016-1000110.patch \ " -SRC_URI[md5sum] = "e9ea6f2623fffcdd871b7b19113fde80" -SRC_URI[sha256sum] = "c6d57c0c366d9060ab6c0cdf889ebf3d92711d466cc0119c441dbf2746f725c9" +SRC_URI[md5sum] = "8906efbacfcdc7c3c9198aeefafd159e" +SRC_URI[sha256sum] = "0010f56100b9b74259ebcd5d4b295a32324b58b517403a10d1a2aa7cb22bca40" + +LIC_FILES_CHKSUM = "file://LICENSE;md5=6b60258130e4ed10d3101517eb5b9385" # exclude pre-releases for both python 2.x and 3.x UPSTREAM_CHECK_REGEX = "[Pp]ython-(?P<pver>\d+(\.\d+)+).tar" -LIC_FILES_CHKSUM = "file://LICENSE;md5=dd98d01d471fac8d8dbdd975229dba03" - S = "${WORKDIR}/Python-${PV}" inherit autotools multilib_header python3native pkgconfig @@ -71,8 +70,8 @@ export _PYTHON_PROJECT_BASE = "${B}" export _PYTHON_PROJECT_SRC = "${S}" export CCSHARED = "-fPIC" -# Fix ctypes cross compilation -export CROSSPYTHONPATH = "${B}/build/lib.linux-${TARGET_ARCH}-${PYTHON_MAJMIN}:${S}/Lib:${S}/Lib/plat-linux" +# Fix cross compilation of different modules +export CROSSPYTHONPATH = "${STAGING_LIBDIR_NATIVE}/python${PYTHON_MAJMIN}/lib-dynload/:${B}/build/lib.linux-${TARGET_ARCH}-${PYTHON_MAJMIN}:${S}/Lib:${S}/Lib/plat-linux" # No ctypes option for python 3 PYTHONLSBOPTS = "" @@ -118,7 +117,6 @@ do_compile() { STAGING_LIBDIR=${STAGING_LIBDIR} \ STAGING_BASELIBDIR=${STAGING_BASELIBDIR} \ STAGING_INCDIR=${STAGING_INCDIR} \ - BUILD_SYS=${BUILD_SYS} HOST_SYS=${HOST_SYS} \ LIB=${baselib} \ ARCH=${TARGET_ARCH} \ OPT="${CFLAGS}" libpython3.so @@ -128,7 +126,6 @@ do_compile() { STAGING_LIBDIR=${STAGING_LIBDIR} \ STAGING_INCDIR=${STAGING_INCDIR} \ STAGING_BASELIBDIR=${STAGING_BASELIBDIR} \ - BUILD_SYS=${BUILD_SYS} HOST_SYS=${HOST_SYS} \ LIB=${baselib} \ ARCH=${TARGET_ARCH} \ OPT="${CFLAGS}" @@ -149,7 +146,6 @@ do_install() { STAGING_LIBDIR=${STAGING_LIBDIR} \ STAGING_INCDIR=${STAGING_INCDIR} \ STAGING_BASELIBDIR=${STAGING_BASELIBDIR} \ - BUILD_SYS=${BUILD_SYS} HOST_SYS=${HOST_SYS} \ LIB=${baselib} \ ARCH=${TARGET_ARCH} \ DESTDIR=${D} LIBDIR=${libdir} @@ -159,7 +155,6 @@ do_install() { STAGING_LIBDIR=${STAGING_LIBDIR} \ STAGING_INCDIR=${STAGING_INCDIR} \ STAGING_BASELIBDIR=${STAGING_BASELIBDIR} \ - BUILD_SYS=${BUILD_SYS} HOST_SYS=${HOST_SYS} \ LIB=${baselib} \ ARCH=${TARGET_ARCH} \ DESTDIR=${D} LIBDIR=${libdir} install @@ -168,6 +163,7 @@ do_install() { rm -f ${D}/${bindir}/2to3 install -m 0644 Makefile.sysroot ${D}/${libdir}/python${PYTHON_MAJMIN}/config/Makefile + install -m 0644 Makefile.sysroot ${D}/${libdir}/python${PYTHON_MAJMIN}/config-${PYTHON_MAJMIN}${PYTHON_ABI}/Makefile if [ -e ${WORKDIR}/sitecustomize.py ]; then install -m 0644 ${WORKDIR}/sitecustomize.py ${D}/${libdir}/python${PYTHON_MAJMIN} @@ -186,9 +182,11 @@ PACKAGE_PREPROCESS_FUNCS += "py_package_preprocess" py_package_preprocess () { # copy back the old Makefile to fix target package install -m 0644 ${B}/Makefile.orig ${PKGD}/${libdir}/python${PYTHON_MAJMIN}/config/Makefile + install -m 0644 ${B}/Makefile.orig ${PKGD}/${libdir}/python${PYTHON_MAJMIN}/config-${PYTHON_MAJMIN}${PYTHON_ABI}/Makefile # Remove references to buildmachine paths in target Makefile and _sysconfigdata sed -i -e 's:--sysroot=${STAGING_DIR_TARGET}::g' -e s:'--with-libtool-sysroot=${STAGING_DIR_TARGET}'::g \ ${PKGD}/${libdir}/python${PYTHON_MAJMIN}/config/Makefile \ + ${PKGD}/${libdir}/python${PYTHON_MAJMIN}/config-${PYTHON_MAJMIN}${PYTHON_ABI}/Makefile \ ${PKGD}/${libdir}/python${PYTHON_MAJMIN}/_sysconfigdata.py } @@ -215,7 +213,7 @@ INSANE_SKIP_${PN}-dev += "dev-elf" # catch all the rest (unsorted) PACKAGES += "${PN}-misc" -RDEPENDS_${PN}-misc += "${PN}-core" +RDEPENDS_${PN}-misc += "${PN}-core ${PN}-email ${PN}-codecs ${PN}-textutils ${PN}-argparse" RDEPENDS_${PN}-modules += "${PN}-misc" FILES_${PN}-misc = "${libdir}/python${PYTHON_MAJMIN}" diff --git a/import-layers/yocto-poky/meta/recipes-devtools/python/python_2.7.11.bb b/import-layers/yocto-poky/meta/recipes-devtools/python/python_2.7.12.bb index 606f15362..9fe35db2d 100644 --- a/import-layers/yocto-poky/meta/recipes-devtools/python/python_2.7.11.bb +++ b/import-layers/yocto-poky/meta/recipes-devtools/python/python_2.7.12.bb @@ -25,8 +25,8 @@ SRC_URI += "\ file://run-ptest \ file://parallel-makeinst-create-bindir.patch \ file://use_sysroot_ncurses_instead_of_host.patch \ - file://avoid_parallel_make_races_on_pgen.patch \ file://add-CROSSPYTHONPATH-for-PYTHON_FOR_BUILD.patch \ + file://python-fix-CVE-2016-1000110.patch \ " S = "${WORKDIR}/Python-${PV}" @@ -80,7 +80,6 @@ do_compile() { STAGING_LIBDIR=${STAGING_LIBDIR} \ STAGING_INCDIR=${STAGING_INCDIR} \ STAGING_BASELIBDIR=${STAGING_BASELIBDIR} \ - BUILD_SYS=${BUILD_SYS} HOST_SYS=${HOST_SYS} \ OPT="${CFLAGS}" } @@ -100,7 +99,6 @@ do_install() { STAGING_LIBDIR=${STAGING_LIBDIR} \ STAGING_INCDIR=${STAGING_INCDIR} \ STAGING_BASELIBDIR=${STAGING_BASELIBDIR} \ - BUILD_SYS=${BUILD_SYS} HOST_SYS=${HOST_SYS} \ DESTDIR=${D} LIBDIR=${libdir} oe_runmake HOSTPGEN=${STAGING_BINDIR_NATIVE}/python-native/pgen \ @@ -109,7 +107,6 @@ do_install() { STAGING_LIBDIR=${STAGING_LIBDIR} \ STAGING_INCDIR=${STAGING_INCDIR} \ STAGING_BASELIBDIR=${STAGING_BASELIBDIR} \ - BUILD_SYS=${BUILD_SYS} HOST_SYS=${HOST_SYS} \ DESTDIR=${D} LIBDIR=${libdir} install install -m 0644 Makefile.sysroot ${D}/${libdir}/python${PYTHON_MAJMIN}/config/Makefile @@ -136,6 +133,7 @@ py_package_preprocess () { sed -i -e 's:--sysroot=${STAGING_DIR_TARGET}::g' -e s:'--with-libtool-sysroot=${STAGING_DIR_TARGET}'::g \ ${PKGD}/${libdir}/python${PYTHON_MAJMIN}/config/Makefile \ ${PKGD}/${libdir}/python${PYTHON_MAJMIN}/_sysconfigdata.py + python -m py_compile ${PKGD}/${libdir}/python${PYTHON_MAJMIN}/_sysconfigdata.py } require python-${PYTHON_MAJMIN}-manifest.inc diff --git a/import-layers/yocto-poky/meta/recipes-devtools/qemu/nativesdk-qemu-helper_1.0.bb b/import-layers/yocto-poky/meta/recipes-devtools/qemu/nativesdk-qemu-helper_1.0.bb index 51d1c5969..943ca5f89 100644 --- a/import-layers/yocto-poky/meta/recipes-devtools/qemu/nativesdk-qemu-helper_1.0.bb +++ b/import-layers/yocto-poky/meta/recipes-devtools/qemu/nativesdk-qemu-helper_1.0.bb @@ -1,15 +1,16 @@ SUMMARY = "Qemu helper scripts" LICENSE = "GPLv2" -RDEPENDS_${PN} = "nativesdk-qemu" -PR = "r9" +RDEPENDS_${PN} = "nativesdk-qemu nativesdk-python3-subprocess \ + nativesdk-python3-shell nativesdk-python3-fcntl \ + " +PR = "r9" LIC_FILES_CHKSUM = "file://${WORKDIR}/tunctl.c;endline=4;md5=ff3a09996bc5fff6bc5d4e0b4c28f999 \ - file://${COREBASE}/scripts/runqemu;endline=18;md5=77fbe442a88b1bcdc29c3ba67733b21b" + file://${COREBASE}/scripts/runqemu;endline=19;md5=a8ad1905c709a2deaa057608ebaf705a" SRC_URI = "file://${COREBASE}/scripts/runqemu \ - file://${COREBASE}/scripts/runqemu-internal \ file://${COREBASE}/scripts/runqemu-addptable2image \ file://${COREBASE}/scripts/runqemu-gen-tapdevs \ file://${COREBASE}/scripts/runqemu-ifup \ @@ -18,7 +19,6 @@ SRC_URI = "file://${COREBASE}/scripts/runqemu \ file://${COREBASE}/scripts/runqemu-extract-sdk \ file://${COREBASE}/scripts/runqemu-export-rootfs \ file://tunctl.c \ - file://raw2flash.c \ " S = "${WORKDIR}" @@ -27,8 +27,6 @@ inherit nativesdk do_compile() { ${CC} tunctl.c -o tunctl - ${CC} raw2flash.c -o raw2flash.spitz - ${CC} raw2flash.c -o flash2raw.spitz -Dflash2raw } do_install() { @@ -36,12 +34,4 @@ do_install() { install -m 0755 ${WORKDIR}${COREBASE}/scripts/oe-* ${D}${bindir}/ install -m 0755 ${WORKDIR}${COREBASE}/scripts/runqemu* ${D}${bindir}/ install tunctl ${D}${bindir}/ - install raw2flash.spitz ${D}${bindir}/ - install flash2raw.spitz ${D}${bindir}/ - ln -fs raw2flash.spitz ${D}${bindir}/raw2flash.akita - ln -fs raw2flash.spitz ${D}${bindir}/raw2flash.borzoi - ln -fs raw2flash.spitz ${D}${bindir}/raw2flash.terrier - ln -fs flash2raw.spitz ${D}${bindir}/flash2raw.akita - ln -fs flash2raw.spitz ${D}${bindir}/flash2raw.borzoi - ln -fs flash2raw.spitz ${D}${bindir}/flash2raw.terrier } diff --git a/import-layers/yocto-poky/meta/recipes-devtools/qemu/qemu-helper/raw2flash.c b/import-layers/yocto-poky/meta/recipes-devtools/qemu/qemu-helper/raw2flash.c deleted file mode 100644 index 19faf629b..000000000 --- a/import-layers/yocto-poky/meta/recipes-devtools/qemu/qemu-helper/raw2flash.c +++ /dev/null @@ -1,370 +0,0 @@ -/* - * Copyright (c) 2006 OpenedHand Ltd. - * - * This file is licensed under GNU GPL v2. - */ -#include <string.h> -#include <unistd.h> -#include <stdint.h> -#include <stdio.h> -#include <sys/types.h> -#include <stdlib.h> - -#define TFR(_) _ -#define VERBOSE -#define PBAR_LEN 40 - -#define PARTITION_START 0x00700000 - -static const int ecc_pos8[] = { - 0x0, 0x1, 0x2, -}; - -static const int ecc_pos16[] = { - 0x0, 0x1, 0x2, 0x3, 0x6, 0x7, -}; - -static const int ecc_pos64[] = { - 0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 0x2f, - 0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37, - 0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f, -}; - -static const int ecc_akita[] = { - 0x05, 0x01, 0x02, 0x03, 0x06, 0x07, 0x15, 0x11, - 0x12, 0x13, 0x16, 0x17, 0x25, 0x21, 0x22, 0x23, - 0x26, 0x27, 0x35, 0x31, 0x32, 0x33, 0x36, 0x37, -}; - -struct jffs_marker_s { - int pos; - uint8_t value; -}; - -static const struct jffs_marker_s free_pos8[] = { - { 0x03, 0xff }, { 0x04, 0xff }, { 0x06, 0x85 }, { 0x07, 0x19 }, - { -1 }, -}; - -static const struct jffs_marker_s free_pos16[] = { - { 0x08, 0x85 }, { 0x09, 0x19 }, { 0x0a, 0x03 }, { 0x0b, 0x20 }, - { 0x0c, 0x08 }, { 0x0d, 0x00 }, { 0x0e, 0x00 }, { 0x0f, 0x00 }, - { -1 }, -}; - -static const struct jffs_marker_s free_pos64[] = { - { 0x02, 0xff }, { 0x03, 0xff }, { 0x04, 0xff }, { 0x05, 0xff }, - { 0x06, 0xff }, { 0x07, 0xff }, { 0x08, 0xff }, { 0x09, 0xff }, - { 0x0a, 0xff }, { 0x0b, 0xff }, { 0x0c, 0xff }, { 0x0d, 0xff }, - { 0x0e, 0xff }, { 0x0f, 0xff }, { 0x10, 0x85 }, { 0x11, 0x19 }, - { 0x12, 0x03 }, { 0x13, 0x20 }, { 0x14, 0x08 }, { 0x15, 0x00 }, - { 0x16, 0x00 }, { 0x17, 0x00 }, { 0x18, 0xff }, { 0x19, 0xff }, - { 0x1a, 0xff }, { 0x1b, 0xff }, { 0x1c, 0xff }, { 0x1d, 0xff }, - { 0x1e, 0xff }, { 0x1f, 0xff }, { 0x20, 0xff }, { 0x21, 0xff }, - { 0x22, 0xff }, { 0x23, 0xff }, { 0x24, 0xff }, { 0x25, 0xff }, - { 0x26, 0xff }, { 0x27, 0xff }, - { -1 }, -}; - -static const struct jffs_marker_s free_akita[] = { - { 0x08, 0x85 }, { 0x09, 0x19 }, { 0x0a, 0x03 }, { 0x0b, 0x20 }, - { 0x0c, 0x08 }, { 0x0d, 0x00 }, { 0x0e, 0x00 }, { 0x0f, 0x00 }, - { 0x10, 0xff }, - { -1 }, -}; - -#define LEN(array) (sizeof(array) / sizeof(*array)) - -static const struct ecc_style_s { - int page_size; - int oob_size; - int eccbytes; - int eccsize; - const int *eccpos; - int romsize; - const struct jffs_marker_s *freepos; -} spitz = { - 0x200, 0x10, 0x100, LEN(ecc_pos16), ecc_pos16, 0x01000000, free_pos16 -}, akita = { - 0x800, 0x40, 0x100, LEN(ecc_akita), ecc_akita, 0x08000000, free_akita -}, borzoi = { - 0x800, 0x40, 0x100, LEN(ecc_akita), ecc_akita, 0x08000000, free_akita -}, terrier = { - 0x800, 0x40, 0x100, LEN(ecc_akita), ecc_akita, 0x08000000, free_akita -}; - -struct ecc_state_s { - int count; - uint8_t cp; - uint8_t lp[2]; - const struct ecc_style_s *style; -}; - -#ifndef flash2raw -/* - * Pre-calculated 256-way 1 byte column parity. Table borrowed from Linux. - */ -static const uint8_t ecc_precalc_table[] = { - 0x00, 0x55, 0x56, 0x03, 0x59, 0x0c, 0x0f, 0x5a, - 0x5a, 0x0f, 0x0c, 0x59, 0x03, 0x56, 0x55, 0x00, - 0x65, 0x30, 0x33, 0x66, 0x3c, 0x69, 0x6a, 0x3f, - 0x3f, 0x6a, 0x69, 0x3c, 0x66, 0x33, 0x30, 0x65, - 0x66, 0x33, 0x30, 0x65, 0x3f, 0x6a, 0x69, 0x3c, - 0x3c, 0x69, 0x6a, 0x3f, 0x65, 0x30, 0x33, 0x66, - 0x03, 0x56, 0x55, 0x00, 0x5a, 0x0f, 0x0c, 0x59, - 0x59, 0x0c, 0x0f, 0x5a, 0x00, 0x55, 0x56, 0x03, - 0x69, 0x3c, 0x3f, 0x6a, 0x30, 0x65, 0x66, 0x33, - 0x33, 0x66, 0x65, 0x30, 0x6a, 0x3f, 0x3c, 0x69, - 0x0c, 0x59, 0x5a, 0x0f, 0x55, 0x00, 0x03, 0x56, - 0x56, 0x03, 0x00, 0x55, 0x0f, 0x5a, 0x59, 0x0c, - 0x0f, 0x5a, 0x59, 0x0c, 0x56, 0x03, 0x00, 0x55, - 0x55, 0x00, 0x03, 0x56, 0x0c, 0x59, 0x5a, 0x0f, - 0x6a, 0x3f, 0x3c, 0x69, 0x33, 0x66, 0x65, 0x30, - 0x30, 0x65, 0x66, 0x33, 0x69, 0x3c, 0x3f, 0x6a, - 0x6a, 0x3f, 0x3c, 0x69, 0x33, 0x66, 0x65, 0x30, - 0x30, 0x65, 0x66, 0x33, 0x69, 0x3c, 0x3f, 0x6a, - 0x0f, 0x5a, 0x59, 0x0c, 0x56, 0x03, 0x00, 0x55, - 0x55, 0x00, 0x03, 0x56, 0x0c, 0x59, 0x5a, 0x0f, - 0x0c, 0x59, 0x5a, 0x0f, 0x55, 0x00, 0x03, 0x56, - 0x56, 0x03, 0x00, 0x55, 0x0f, 0x5a, 0x59, 0x0c, - 0x69, 0x3c, 0x3f, 0x6a, 0x30, 0x65, 0x66, 0x33, - 0x33, 0x66, 0x65, 0x30, 0x6a, 0x3f, 0x3c, 0x69, - 0x03, 0x56, 0x55, 0x00, 0x5a, 0x0f, 0x0c, 0x59, - 0x59, 0x0c, 0x0f, 0x5a, 0x00, 0x55, 0x56, 0x03, - 0x66, 0x33, 0x30, 0x65, 0x3f, 0x6a, 0x69, 0x3c, - 0x3c, 0x69, 0x6a, 0x3f, 0x65, 0x30, 0x33, 0x66, - 0x65, 0x30, 0x33, 0x66, 0x3c, 0x69, 0x6a, 0x3f, - 0x3f, 0x6a, 0x69, 0x3c, 0x66, 0x33, 0x30, 0x65, - 0x00, 0x55, 0x56, 0x03, 0x59, 0x0c, 0x0f, 0x5a, - 0x5a, 0x0f, 0x0c, 0x59, 0x03, 0x56, 0x55, 0x00, -}; - -/* Update ECC parity count */ -static inline uint8_t ecc_digest(struct ecc_state_s *s, uint8_t sample) { - uint8_t idx = ecc_precalc_table[sample]; - - s->cp ^= idx & 0x3f; - if (idx & 0x40) { - s->lp[0] ^= ~(s->count & 0xff); - s->lp[1] ^= s->count & 0xff; - } - s->count ++; - - return sample; -} - -static void buffer_digest(struct ecc_state_s *ecc, - const uint8_t *buf, uint8_t *out) { - int i, lp_a[2]; - - ecc->lp[0] = 0x00; - ecc->lp[1] = 0x00; - ecc->cp = 0x00; - ecc->count = 0; - for (i = 0; i < ecc->style->eccbytes; i ++) - ecc_digest(ecc, buf[i]); - -# define BSHR(byte, from, to) ((ecc->lp[byte] >> (from - to)) & (1 << to)) - lp_a[0] = - BSHR(0, 4, 0) | BSHR(0, 5, 2) | - BSHR(0, 6, 4) | BSHR(0, 7, 6) | - BSHR(1, 4, 1) | BSHR(1, 5, 3) | - BSHR(1, 6, 5) | BSHR(1, 7, 7); - -# define BSHL(byte, from, to) ((ecc->lp[byte] << (to - from)) & (1 << to)) - lp_a[1] = - BSHL(0, 0, 0) | BSHL(0, 1, 2) | - BSHL(0, 2, 4) | BSHL(0, 3, 6) | - BSHL(1, 0, 1) | BSHL(1, 1, 3) | - BSHL(1, 2, 5) | BSHL(1, 3, 7); - - out[0] = ~lp_a[1]; - out[1] = ~lp_a[0]; - out[2] = (~ecc->cp << 2) | 0x03; -} - -static void jffs2_format(const struct ecc_state_s *ecc, uint8_t oob[]) { - const struct jffs_marker_s *byte; - for (byte = ecc->style->freepos; byte->pos >= 0; byte ++) - oob[byte->pos] = byte->value; -} - -static void buffer_fill(const struct ecc_state_s *ecc, uint8_t buffer[], - int *len, int *partition, int count, uint8_t jffs_buffer[]) { - int ret; - - switch (*partition) { - case 0: - if (count < PARTITION_START) { - memcpy(buffer, jffs_buffer + count, - ecc->style->eccbytes); - *len = ecc->style->eccbytes; - break; - } - *partition = 1; - case 1: - if (count - PARTITION_START < PARTITION_START) { - memcpy(buffer, jffs_buffer + count - PARTITION_START, - ecc->style->eccbytes); - *len = ecc->style->eccbytes; - break; - } - - while (*len < ecc->style->eccbytes) { - ret = TFR(read(0, buffer + *len, 0x800 - *len)); - if (ret <= 0) - break; - *len += ret; - } - - if (*len == 0) - *partition = 2; - else if (*len < ecc->style->eccbytes) { - fprintf(stderr, "\nWarning: %i stray bytes\n", *len); - memset(buffer + *len, 0xff, - ecc->style->eccbytes - *len); - *len = ecc->style->eccbytes; - break; - } else - break; - case 2: - memset(buffer, 0xff, ecc->style->eccbytes); - *len = ecc->style->eccbytes; - break; - } -} - -int main(int argc, char *argv[], char *envp[]) { - struct ecc_state_s ecc; - uint8_t buffer[0x1000], ecc_payload[0x40], regs[3], *jffs; - int ret, len, eccbyte, count, partition; - - /* Check if we're called by "raw2flash.spitz" or similar */ - len = strlen(argv[0]); - if (!strcasecmp(argv[0] + len - 5, "akita")) - ecc.style = &akita; - else if (!strcasecmp(argv[0] + len - 6, "borzoi")) - ecc.style = &borzoi; - else if (!strcasecmp(argv[0] + len - 7, "terrier")) - ecc.style = &terrier; - else - ecc.style = &spitz; - -# ifdef VERBOSE - fprintf(stderr, "["); -# endif - - /* Skip first 10 bytes */ - TFR(read(0, buffer, 0x10)); - - len = 0; - jffs = (uint8_t *) malloc(PARTITION_START); - while (len < PARTITION_START) { - ret = TFR(read(0, jffs + len, PARTITION_START - len)); - if (ret <= 0) - break; - len += ret; - } - - /* Convert data from stdin */ - partition = len = eccbyte = count = 0; - memset(ecc_payload, 0xff, ecc.style->oob_size); - jffs2_format(&ecc, ecc_payload); - while (count < ecc.style->romsize) { - buffer_fill(&ecc, buffer, &len, &partition, count, jffs); - buffer_digest(&ecc, buffer, regs); - - ecc_payload[ecc.style->eccpos[eccbyte ++]] = regs[0]; - ecc_payload[ecc.style->eccpos[eccbyte ++]] = regs[1]; - ecc_payload[ecc.style->eccpos[eccbyte ++]] = regs[2]; - - TFR(write(1, buffer, ecc.style->eccbytes)); - count += ecc.style->eccbytes; - len -= ecc.style->eccbytes; - memmove(buffer, buffer + ecc.style->eccbytes, len); - - if (eccbyte >= ecc.style->eccsize) { - TFR(write(1, ecc_payload, ecc.style->oob_size)); - eccbyte = 0; - memset(ecc_payload, 0xff, ecc.style->oob_size); - if (partition < 2) - jffs2_format(&ecc, ecc_payload); - } - -# ifdef VERBOSE - if (count * PBAR_LEN / ecc.style->romsize > - (count - ecc.style->eccbytes) * - PBAR_LEN / ecc.style->romsize) - fprintf(stderr, "#"); -# endif - } - -# ifdef VERBOSE - fprintf(stderr, "]\n"); -# endif - free(jffs); - return 0; -} -#else -int main(int argc, char *argv[], char *envp[]) { - struct ecc_state_s ecc; - uint8_t buffer[0x1000]; - int ret, len, count; - - /* Check if we're called by "flash2raw.spitz" or similar */ - len = strlen(argv[0]); - if (!strcasecmp(argv[0] + len - 5, "akita")) - ecc.style = &akita; - else if (!strcasecmp(argv[0] + len - 6, "borzoi")) - ecc.style = &borzoi; - else if (!strcasecmp(argv[0] + len - 7, "terrier")) - ecc.style = &terrier; - else - ecc.style = &spitz; - -# ifdef VERBOSE - fprintf(stderr, "["); -# endif - - /* Convert data from stdin */ - count = 0; - while (count < ecc.style->romsize) { - len = 0; - while (len < ecc.style->page_size) { - ret = TFR(read(0, buffer + len, - ecc.style->page_size - len)); - if (ret <= 0) - break; - len += ret; - } - if (len == 0) - break; - if (len < ecc.style->page_size) { - fprintf(stderr, "\nWarning: %i stray bytes\n", len); - } - - TFR(write(1, buffer, ecc.style->page_size)); - - count += len; - len = 0; - while (len < ecc.style->oob_size) { - ret = TFR(read(0, buffer, ecc.style->oob_size - len)); - if (ret <= 0) - break; - len += ret; - } - -# ifdef VERBOSE - if (count * PBAR_LEN / ecc.style->romsize > - (count - ecc.style->page_size) * - PBAR_LEN / ecc.style->romsize) - fprintf(stderr, "#"); -# endif - } - -# ifdef VERBOSE - fprintf(stderr, "]\n"); -# endif - return 0; -} -#endif diff --git a/import-layers/yocto-poky/meta/recipes-devtools/qemu/qemu.inc b/import-layers/yocto-poky/meta/recipes-devtools/qemu/qemu.inc index 269c898c4..b46e7f72e 100644 --- a/import-layers/yocto-poky/meta/recipes-devtools/qemu/qemu.inc +++ b/import-layers/yocto-poky/meta/recipes-devtools/qemu/qemu.inc @@ -2,7 +2,7 @@ SUMMARY = "Fast open source processor emulator" HOMEPAGE = "http://qemu.org" LICENSE = "GPLv2 & LGPLv2.1" DEPENDS = "glib-2.0 zlib pixman" -RDEPENDS_${PN}_class-target += "bash python" +RDEPENDS_${PN}_class-target += "bash" RDEPENDS_${PN}-ptest = "bash make" require qemu-targets.inc @@ -21,6 +21,7 @@ SRC_URI = "\ file://wacom.patch \ file://add-ptest-in-makefile.patch \ file://run-ptest \ + file://0001-target-mips-add-24KEc-CPU-definition.patch \ " SRC_URI_append_class-native = "\ @@ -30,8 +31,12 @@ SRC_URI_append_class-native = "\ EXTRA_OECONF += "--target-list=${@get_qemu_target_list(d)} --disable-werror --disable-bluez --disable-libiscsi --with-system-pixman --extra-cflags='${CFLAGS}'" -EXTRA_OECONF_class-nativesdk = "--target-list=${@get_qemu_target_list(d)} --disable-werror \ - " +EXTRA_OECONF_class-nativesdk = "--target-list=${@get_qemu_target_list(d)} --disable-werror" + +EXTRA_OEMAKE_append_class-native = " LD='${LD}' AR='${AR}' OBJCOPY='${OBJCOPY}' LDFLAGS='${LDFLAGS}'" + +LDFLAGS_append_class-native = " -fuse-ld=bfd" + export LIBTOOL="${HOST_SYS}-libtool" do_configure_prepend_class-native() { @@ -39,13 +44,12 @@ do_configure_prepend_class-native() { BHOST_PKGCONFIG_PATH=$(PATH=/usr/bin:/bin pkg-config --variable pc_path pkg-config || echo "") if [ ! -z "$BHOST_PKGCONFIG_PATH" ]; then export PKG_CONFIG_PATH=$PKG_CONFIG_PATH:$BHOST_PKGCONFIG_PATH - # link with system dbus on Ubuntu 15.10 - # FIXME: remove below 4 lines when oe dbus is upgraded - if [ -r /etc/lsb-release -a "$(lsb_release -is)$(lsb_release -rs)" = "Ubuntu15.10" ] ; then - libs=$(PKG_CONFIG_ALLOW_SYSTEM_LIBS=1 PKG_CONFIG_PATH=$BHOST_PKGCONFIG_PATH PATH=/usr/bin:/bin pkg-config --libs dbus-1 || echo "") - [ -n "$libs" ] && export LDFLAGS="$libs $LDFLAGS" - fi fi + + # Alter target makefiles to accept CFLAGS set via env + sed -i -r \ + -e 's/^(C|OP_C|HELPER_C)FLAGS=/\1FLAGS+=/' \ + "${S}"/Makefile "${S}"/Makefile.target } KVMENABLE = "--enable-kvm" @@ -72,7 +76,7 @@ do_install_ptest() { cp -rL ${B}/tests ${D}${PTEST_PATH} find ${D}${PTEST_PATH}/tests -type f -name "*.[Sshcod]" | xargs -i rm -rf {} - cp ${S}/tests/Makefile ${D}${PTEST_PATH}/tests + cp ${S}/tests/Makefile.include ${D}${PTEST_PATH}/tests } do_install () { @@ -103,9 +107,8 @@ PACKAGECONFIG ??= " \ " PACKAGECONFIG_class-native ??= "fdt alsa uuid" PACKAGECONFIG_class-nativesdk ??= "fdt sdl" -NATIVEDEPS = "" -NATIVEDEPS_class-native = "${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'libxext-native', '',d)}" -PACKAGECONFIG[sdl] = "--enable-sdl,--disable-sdl,libsdl ${NATIVEDEPS}," + +PACKAGECONFIG[sdl] = "--enable-sdl,--disable-sdl,libsdl" PACKAGECONFIG[virtfs] = "--enable-virtfs --enable-attr,--disable-virtfs,libcap attr," PACKAGECONFIG[aio] = "--enable-linux-aio,--disable-linux-aio,libaio," PACKAGECONFIG[xfs] = "--enable-xfsctl,--disable-xfsctl,xfsprogs," @@ -117,7 +120,7 @@ PACKAGECONFIG[libcurl] = "--enable-curl,--disable-curl,libcurl," PACKAGECONFIG[nss] = "--enable-smartcard,--disable-smartcard,nss," PACKAGECONFIG[uuid] = "--enable-uuid,--disable-uuid,util-linux," PACKAGECONFIG[curses] = "--enable-curses,--disable-curses,ncurses," -PACKAGECONFIG[gtk+] = "--enable-gtk --enable-vte,--disable-gtk --disable-vte,gtk+ libvte," +PACKAGECONFIG[gtk+] = "--enable-gtk --with-gtkabi=3.0 --enable-vte,--disable-gtk --disable-vte,gtk+3 vte" PACKAGECONFIG[libcap-ng] = "--enable-cap-ng,--disable-cap-ng,libcap-ng," PACKAGECONFIG[ssh2] = "--enable-libssh2,--disable-libssh2,libssh2," PACKAGECONFIG[gcrypt] = "--enable-gcrypt,--disable-gcrypt,gcrypt," @@ -129,6 +132,7 @@ PACKAGECONFIG[glx] = "--enable-opengl,--disable-opengl,mesa" PACKAGECONFIG[lzo] = "--enable-lzo,--disable-lzo,lzo" PACKAGECONFIG[numa] = "--enable-numa,--disable-numa,numactl" PACKAGECONFIG[gnutls] = "--enable-gnutls,--disable-gnutls,gnutls" +PACKAGECONFIG[bzip2] = "--enable-bzip2,--disable-bzip2,bzip2" EXTRA_OECONF += "${@bb.utils.contains('PACKAGECONFIG', 'alsa', '--audio-drv-list=oss,alsa', '', d)}" diff --git a/import-layers/yocto-poky/meta/recipes-devtools/qemu/qemu/0001-target-mips-add-24KEc-CPU-definition.patch b/import-layers/yocto-poky/meta/recipes-devtools/qemu/qemu/0001-target-mips-add-24KEc-CPU-definition.patch new file mode 100644 index 000000000..c4dbee7d7 --- /dev/null +++ b/import-layers/yocto-poky/meta/recipes-devtools/qemu/qemu/0001-target-mips-add-24KEc-CPU-definition.patch @@ -0,0 +1,54 @@ +From 926bc194f918d46bd93557b15da8153b6a94a1d5 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Andr=C3=A9=20Draszik?= <git@andred.net> +Date: Mon, 25 Jul 2016 23:58:22 +0100 +Subject: [PATCH] target-mips: add 24KEc CPU definition +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Define a new CPU definition supporting 24KEc cores, similar to +the existing 24Kc, but with added support for DSP instructions +and MIPS16e (and without FPU). + +Signed-off-by: André Draszik <git@andred.net> +--- +Upstream-Status: Submitted [http://lists.nongnu.org/archive/html/qemu-devel/2016-07/msg05778.html] + target-mips/translate_init.c | 22 ++++++++++++++++++++++ + 1 file changed, 22 insertions(+) + +diff --git a/target-mips/translate_init.c b/target-mips/translate_init.c +index 39ed5c4..6ae23e4 100644 +--- a/target-mips/translate_init.c ++++ b/target-mips/translate_init.c +@@ -256,6 +256,28 @@ static const mips_def_t mips_defs[] = + .mmu_type = MMU_TYPE_R4000, + }, + { ++ .name = "24KEc", ++ .CP0_PRid = 0x00019600, ++ .CP0_Config0 = MIPS_CONFIG0 | (0x1 << CP0C0_AR) | ++ (MMU_TYPE_R4000 << CP0C0_MT), ++ .CP0_Config1 = MIPS_CONFIG1 | (15 << CP0C1_MMU) | ++ (0 << CP0C1_IS) | (3 << CP0C1_IL) | (1 << CP0C1_IA) | ++ (0 << CP0C1_DS) | (3 << CP0C1_DL) | (1 << CP0C1_DA) | ++ (1 << CP0C1_CA), ++ .CP0_Config2 = MIPS_CONFIG2, ++ .CP0_Config3 = MIPS_CONFIG3 | (1 << CP0C3_DSPP) | (0 << CP0C3_VInt), ++ .CP0_LLAddr_rw_bitmask = 0, ++ .CP0_LLAddr_shift = 4, ++ .SYNCI_Step = 32, ++ .CCRes = 2, ++ /* we have a DSP, but no FPU */ ++ .CP0_Status_rw_bitmask = 0x1378FF1F, ++ .SEGBITS = 32, ++ .PABITS = 32, ++ .insn_flags = CPU_MIPS32R2 | ASE_MIPS16 | ASE_DSP, ++ .mmu_type = MMU_TYPE_R4000, ++ }, ++ { + .name = "24Kf", + .CP0_PRid = 0x00019300, + .CP0_Config0 = MIPS_CONFIG0 | (0x1 << CP0C0_AR) | +-- +2.8.1 + diff --git a/import-layers/yocto-poky/meta/recipes-devtools/qemu/qemu/CVE-2016-1568.patch b/import-layers/yocto-poky/meta/recipes-devtools/qemu/qemu/CVE-2016-1568.patch deleted file mode 100644 index 56fd346ae..000000000 --- a/import-layers/yocto-poky/meta/recipes-devtools/qemu/qemu/CVE-2016-1568.patch +++ /dev/null @@ -1,46 +0,0 @@ -From 4ab0359a8ae182a7ac5c99609667273167703fab Mon Sep 17 00:00:00 2001 -From: Prasad J Pandit <pjp@fedoraproject.org> -Date: Mon, 11 Jan 2016 14:10:42 -0500 -Subject: [PATCH] ide: ahci: reset ncq object to unused on error - -When processing NCQ commands, AHCI device emulation prepares a -NCQ transfer object; To which an aio control block(aiocb) object -is assigned in 'execute_ncq_command'. In case, when the NCQ -command is invalid, the 'aiocb' object is not assigned, and NCQ -transfer object is left as 'used'. This leads to a use after -free kind of error in 'bdrv_aio_cancel_async' via 'ahci_reset_port'. -Reset NCQ transfer object to 'unused' to avoid it. - -[Maintainer edit: s/ACHI/AHCI/ in the commit message. --js] - -Reported-by: Qinghao Tang <luodalongde@gmail.com> -Signed-off-by: Prasad J Pandit <pjp@fedoraproject.org> -Reviewed-by: John Snow <jsnow@redhat.com> -Message-id: 1452282511-4116-1-git-send-email-ppandit@redhat.com -Signed-off-by: John Snow <jsnow@redhat.com> - -Upstream-Status: Backport - -http://git.qemu.org/?p=qemu.git;a=commit;h=4ab0359a8ae182a7ac5c99609667273167703fab - -CVE: CVE-2016-1568 -[Yocto # 9013] - -Signed-off-by: Armin Kuster <akuster@mvista.com> - ---- - hw/ide/ahci.c | 1 + - 1 file changed, 1 insertion(+) - -Index: qemu-2.5.0/hw/ide/ahci.c -=================================================================== ---- qemu-2.5.0.orig/hw/ide/ahci.c -+++ qemu-2.5.0/hw/ide/ahci.c -@@ -910,6 +910,7 @@ static void ncq_err(NCQTransferState *nc - ide_state->error = ABRT_ERR; - ide_state->status = READY_STAT | ERR_STAT; - ncq_tfs->drive->port_regs.scr_err |= (1 << ncq_tfs->tag); -+ ncq_tfs->used = 0; - } - - static void ncq_finish(NCQTransferState *ncq_tfs) diff --git a/import-layers/yocto-poky/meta/recipes-devtools/qemu/qemu/CVE-2016-2197.patch b/import-layers/yocto-poky/meta/recipes-devtools/qemu/qemu/CVE-2016-2197.patch deleted file mode 100644 index 946435c43..000000000 --- a/import-layers/yocto-poky/meta/recipes-devtools/qemu/qemu/CVE-2016-2197.patch +++ /dev/null @@ -1,59 +0,0 @@ -From: Prasad J Pandit <address@hidden> - -When IDE AHCI emulation uses Frame Information Structures(FIS) -engine for data transfer, the mapped FIS buffer address is stored -in a static 'bounce.buffer'. When a request is made to map another -memory region, address_space_map() returns NULL because -'bounce.buffer' is in_use. It leads to a null pointer dereference -error while doing 'dma_memory_unmap'. Add a check to avoid it. - -Reported-by: Zuozhi fzz <address@hidden> -Signed-off-by: Prasad J Pandit <address@hidden> - -Upstream-Status: Backport -https://lists.gnu.org/archive/html/qemu-devel/2016-01/msg05740.html - -CVE: CVE-2016-2197 -Signed-off-by: Armin Kuster <akuster@mvista.com> - ---- - hw/ide/ahci.c | 16 ++++++++++------ - 1 file changed, 10 insertions(+), 6 deletions(-) - - Update as per review - -> https://lists.gnu.org/archive/html/qemu-devel/2016-01/msg05715.html - -Index: qemu-2.5.0/hw/ide/ahci.c -=================================================================== ---- qemu-2.5.0.orig/hw/ide/ahci.c -+++ qemu-2.5.0/hw/ide/ahci.c -@@ -661,9 +661,11 @@ static bool ahci_map_fis_address(AHCIDev - - static void ahci_unmap_fis_address(AHCIDevice *ad) - { -- dma_memory_unmap(ad->hba->as, ad->res_fis, 256, -- DMA_DIRECTION_FROM_DEVICE, 256); -- ad->res_fis = NULL; -+ if (ad->res_fis) { -+ dma_memory_unmap(ad->hba->as, ad->res_fis, 256, -+ DMA_DIRECTION_FROM_DEVICE, 256); -+ ad->res_fis = NULL; -+ } - } - - static bool ahci_map_clb_address(AHCIDevice *ad) -@@ -677,9 +679,11 @@ static bool ahci_map_clb_address(AHCIDev - - static void ahci_unmap_clb_address(AHCIDevice *ad) - { -- dma_memory_unmap(ad->hba->as, ad->lst, 1024, -- DMA_DIRECTION_FROM_DEVICE, 1024); -- ad->lst = NULL; -+ if (ad->lst) { -+ dma_memory_unmap(ad->hba->as, ad->lst, 1024, -+ DMA_DIRECTION_FROM_DEVICE, 1024); -+ ad->lst = NULL; -+ } - } - - static void ahci_write_fis_sdb(AHCIState *s, NCQTransferState *ncq_tfs) diff --git a/import-layers/yocto-poky/meta/recipes-devtools/qemu/qemu/CVE-2016-2198.patch b/import-layers/yocto-poky/meta/recipes-devtools/qemu/qemu/CVE-2016-2198.patch deleted file mode 100644 index f1201f061..000000000 --- a/import-layers/yocto-poky/meta/recipes-devtools/qemu/qemu/CVE-2016-2198.patch +++ /dev/null @@ -1,45 +0,0 @@ -From: Prasad J Pandit <address@hidden> - -USB Ehci emulation supports host controller capability registers. -But its mmio '.write' function was missing, which lead to a null -pointer dereference issue. Add a do nothing 'ehci_caps_write' -definition to avoid it; Do nothing because capability registers -are Read Only(RO). - -Reported-by: Zuozhi Fzz <address@hidden> -Signed-off-by: Prasad J Pandit <address@hidden> - -Upstream-Status: Backport -https://lists.gnu.org/archive/html/qemu-devel/2016-01/msg05899.html - -CVE: CVE-2016-2198 -Signed-off-by: Armin Kuster <akuster@mvista.com> - ---- - hw/usb/hcd-ehci.c | 6 ++++++ - 1 file changed, 6 insertions(+) - -Index: qemu-2.5.0/hw/usb/hcd-ehci.c -=================================================================== ---- qemu-2.5.0.orig/hw/usb/hcd-ehci.c -+++ qemu-2.5.0/hw/usb/hcd-ehci.c -@@ -893,6 +893,11 @@ static uint64_t ehci_caps_read(void *ptr - return s->caps[addr]; - } - -+static void ehci_caps_write(void *ptr, hwaddr addr, -+ uint64_t val, unsigned size) -+{ -+} -+ - static uint64_t ehci_opreg_read(void *ptr, hwaddr addr, - unsigned size) - { -@@ -2310,6 +2315,7 @@ static void ehci_frame_timer(void *opaqu - - static const MemoryRegionOps ehci_mmio_caps_ops = { - .read = ehci_caps_read, -+ .write = ehci_caps_write, - .valid.min_access_size = 1, - .valid.max_access_size = 4, - .impl.min_access_size = 1, diff --git a/import-layers/yocto-poky/meta/recipes-devtools/qemu/qemu/add-ptest-in-makefile.patch b/import-layers/yocto-poky/meta/recipes-devtools/qemu/qemu/add-ptest-in-makefile.patch index a99f72098..2ce3478e4 100644 --- a/import-layers/yocto-poky/meta/recipes-devtools/qemu/qemu/add-ptest-in-makefile.patch +++ b/import-layers/yocto-poky/meta/recipes-devtools/qemu/qemu/add-ptest-in-makefile.patch @@ -4,14 +4,14 @@ Add subpackage -ptest which runs all unit test cases for qemu. Signed-off-by: Kai Kang <kai.kang@windriver.com> --- - tests/Makefile | 10 ++++++++++ - 1 file changed, 10 insertions(+) + tests/Makefile.include | 8 ++++++++ + 1 file changed, 8 insertions(+) -diff --git a/tests/Makefile b/tests/Makefile -index 88f7105..3f40b4b 100644 ---- a/tests/Makefile -+++ b/tests/Makefile -@@ -405,3 +405,12 @@ all: $(QEMU_IOTESTS_HELPERS-y) +diff --git a/tests/Makefile.include b/tests/Makefile.include +index 14be491..0fce37a 100644 +--- a/tests/Makefile.include ++++ b/tests/Makefile.include +@@ -776,3 +776,11 @@ all: $(QEMU_IOTESTS_HELPERS-y) -include $(wildcard tests/*.d) -include $(wildcard tests/libqos/*.d) @@ -23,7 +23,6 @@ index 88f7105..3f40b4b 100644 + nf=$$(echo $$f | sed 's/tests\//\.\//g'); \ + $$nf; \ + done -+ --- -1.7.9.5 +-- +2.9.0 diff --git a/import-layers/yocto-poky/meta/recipes-devtools/qemu/qemu/disable-grabs.patch b/import-layers/yocto-poky/meta/recipes-devtools/qemu/qemu/disable-grabs.patch index 41726b1c8..123833f82 100644 --- a/import-layers/yocto-poky/meta/recipes-devtools/qemu/qemu/disable-grabs.patch +++ b/import-layers/yocto-poky/meta/recipes-devtools/qemu/qemu/disable-grabs.patch @@ -29,9 +29,9 @@ index 39a42d6..9b8abe5 100644 --- a/ui/sdl.c +++ b/ui/sdl.c @@ -59,6 +59,10 @@ static SDL_Cursor *guest_sprite = NULL; - static SDL_PixelFormat host_format; static int scaling_active = 0; static Notifier mouse_mode_notifier; + static int idle_counter; +#ifndef True +#define True 1 +#endif @@ -40,7 +40,7 @@ index 39a42d6..9b8abe5 100644 static void sdl_update(DisplayChangeListener *dcl, int x, int y, int w, int h) @@ -384,14 +388,16 @@ static void sdl_grab_start(void) - SDL_WarpMouse(guest_x, guest_y); + } } else sdl_hide_cursor(); - SDL_WM_GrabInput(SDL_GRAB_ON); diff --git a/import-layers/yocto-poky/meta/recipes-devtools/qemu/qemu/fix-libcap-header-issue-on-some-distro.patch b/import-layers/yocto-poky/meta/recipes-devtools/qemu/qemu/fix-libcap-header-issue-on-some-distro.patch index 13a6ea23b..cee6a676a 100644 --- a/import-layers/yocto-poky/meta/recipes-devtools/qemu/qemu/fix-libcap-header-issue-on-some-distro.patch +++ b/import-layers/yocto-poky/meta/recipes-devtools/qemu/qemu/fix-libcap-header-issue-on-some-distro.patch @@ -67,9 +67,9 @@ diff --git a/fsdev/virtfs-proxy-helper.c b/fsdev/virtfs-proxy-helper.c #include <sys/vfs.h> #include <sys/ioctl.h> @@ -26,7 +25,11 @@ - #include "virtio-9p-marshal.h" - #include "hw/9pfs/virtio-9p-proxy.h" - #include "fsdev/virtio-9p-marshal.h" + #include "9p-iov-marshal.h" + #include "hw/9pfs/9p-proxy.h" + #include "fsdev/9p-iov-marshal.h" - +/* + * Include this one last due to some versions of it being buggy: diff --git a/import-layers/yocto-poky/meta/recipes-devtools/qemu/qemu/qemu-2.5.0-cflags.patch b/import-layers/yocto-poky/meta/recipes-devtools/qemu/qemu/qemu-2.5.0-cflags.patch new file mode 100644 index 000000000..173394fd0 --- /dev/null +++ b/import-layers/yocto-poky/meta/recipes-devtools/qemu/qemu/qemu-2.5.0-cflags.patch @@ -0,0 +1,13 @@ +--- a/configure ++++ b/configure +@@ -4468,10 +4468,6 @@ fi + if test "$gcov" = "yes" ; then + CFLAGS="-fprofile-arcs -ftest-coverage -g $CFLAGS" + LDFLAGS="-fprofile-arcs -ftest-coverage $LDFLAGS" +-elif test "$fortify_source" = "yes" ; then +- CFLAGS="-O2 -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=2 $CFLAGS" +-elif test "$debug" = "no"; then +- CFLAGS="-O2 $CFLAGS" + fi + + ########################################## diff --git a/import-layers/yocto-poky/meta/recipes-devtools/qemu/qemu_2.5.0.bb b/import-layers/yocto-poky/meta/recipes-devtools/qemu/qemu_2.7.0.bb index e9d9a8dce..619b8ed44 100644 --- a/import-layers/yocto-poky/meta/recipes-devtools/qemu/qemu_2.5.0.bb +++ b/import-layers/yocto-poky/meta/recipes-devtools/qemu/qemu_2.7.0.bb @@ -7,14 +7,13 @@ SRC_URI += "file://configure-fix-Darwin-target-detection.patch \ file://qemu-enlarge-env-entry-size.patch \ file://Qemu-Arm-versatilepb-Add-memory-size-checking.patch \ file://no-valgrind.patch \ - file://CVE-2016-1568.patch \ - file://CVE-2016-2197.patch \ - file://CVE-2016-2198.patch \ file://pathlimit.patch \ - " + file://qemu-2.5.0-cflags.patch \ +" + SRC_URI_prepend = "http://wiki.qemu-project.org/download/${BP}.tar.bz2" -SRC_URI[md5sum] = "f469f2330bbe76e3e39db10e9ac4f8db" -SRC_URI[sha256sum] = "3443887401619fe33bfa5d900a4f2d6a79425ae2b7e43d5b8c36eb7a683772d4" +SRC_URI[md5sum] = "08d4d06d1cb598efecd796137f4844ab" +SRC_URI[sha256sum] = "326e739506ba690daf69fc17bd3913a6c313d9928d743bd8eddb82f403f81e53" COMPATIBLE_HOST_class-target_mips64 = "null" diff --git a/import-layers/yocto-poky/meta/recipes-devtools/qemu/qemuwrapper-cross_1.0.bb b/import-layers/yocto-poky/meta/recipes-devtools/qemu/qemuwrapper-cross_1.0.bb index 7f4c6d934..53b302d65 100644 --- a/import-layers/yocto-poky/meta/recipes-devtools/qemu/qemuwrapper-cross_1.0.bb +++ b/import-layers/yocto-poky/meta/recipes-devtools/qemu/qemuwrapper-cross_1.0.bb @@ -41,10 +41,6 @@ EOF chmod +x ${D}${bindir_crossscripts}/qemuwrapper } -SYSROOT_PREPROCESS_FUNCS += "qemuwrapper_sysroot_preprocess" - -qemuwrapper_sysroot_preprocess () { - sysroot_stage_dir ${D}${bindir_crossscripts} ${SYSROOT_DESTDIR}${bindir_crossscripts} -} +SYSROOT_DIRS += "${bindir_crossscripts}" INHIBIT_DEFAULT_DEPS = "1" diff --git a/import-layers/yocto-poky/meta/recipes-devtools/quilt/quilt.inc b/import-layers/yocto-poky/meta/recipes-devtools/quilt/quilt.inc index 4e393c4d8..512b798d7 100644 --- a/import-layers/yocto-poky/meta/recipes-devtools/quilt/quilt.inc +++ b/import-layers/yocto-poky/meta/recipes-devtools/quilt/quilt.inc @@ -48,10 +48,10 @@ do_compile_ptest() { } do_install_ptest() { - tar -cf - bin/ --exclude \*.in | ( cd ${D}${PTEST_PATH} && tar -xf - ) - tar -cf - compat/ --exclude \*.in | ( cd ${D}${PTEST_PATH} && tar -xf - ) - tar -cf - quilt/ --exclude \*.in | ( cd ${D}${PTEST_PATH} && tar -xf - ) - tar -cf - test/ --exclude mail.test --exclude delete.test | ( cd ${D}${PTEST_PATH} && tar -xf - && chmod 777 test) + tar -c --exclude=\*.in bin/ | ( cd ${D}${PTEST_PATH} && tar -xf - ) + tar -c --exclude=\*.in compat/ | ( cd ${D}${PTEST_PATH} && tar -xf - ) + tar -c --exclude=\*.in quilt/ | ( cd ${D}${PTEST_PATH} && tar -xf - ) + tar -c --exclude=mail.test --exclude=delete.test test/ | ( cd ${D}${PTEST_PATH} && tar -xf - && chmod 777 test) cp ${WORKDIR}/Makefile ${D}${PTEST_PATH} cp ${WORKDIR}/test.sh ${D}${PTEST_PATH} } diff --git a/import-layers/yocto-poky/meta/recipes-devtools/rpm/rpm/0001-system.h-query.c-support-nosignature.patch b/import-layers/yocto-poky/meta/recipes-devtools/rpm/rpm/0001-system.h-query.c-support-nosignature.patch new file mode 100644 index 000000000..77dc5b67d --- /dev/null +++ b/import-layers/yocto-poky/meta/recipes-devtools/rpm/rpm/0001-system.h-query.c-support-nosignature.patch @@ -0,0 +1,63 @@ +From d8fcc3cbeec4defb5babde5bd09ea294dd3fd08b Mon Sep 17 00:00:00 2001 +From: Robert Yang <liezhi.yang@windriver.com> +Date: Sun, 3 Jul 2016 19:01:59 -0700 +Subject: [PATCH] system.h/query.c: support nosignature + +* Define SUPPORT_NOSIGNATURES to 1 in system.h +* !QVA_ISSET(qva->qva_flags, SIGNATURE) -> QVA_ISSET(qva->qva_flags, SIGNATURE), + otherwise, when use --nosignature would read database and verify + signature, this is not expected. + +Upstream-Status: Submitted [Sent email to rpm-devel@rpm5.org] + +Signed-off-by: Robert Yang <liezhi.yang@windriver.com> +--- + lib/query.c | 6 +++--- + system.h | 4 ++-- + 2 files changed, 5 insertions(+), 5 deletions(-) + +diff --git a/lib/query.c b/lib/query.c +index 50a7453..b761d76 100644 +--- a/lib/query.c ++++ b/lib/query.c +@@ -954,19 +954,19 @@ JBJDEBUG((stderr, "--> %s(%p,%p,%p)\n", __FUNCTION__, ts, qva, argv)); + vsflags = (rpmVSFlags) rpmExpandNumeric("%{?_vsflags_query}"); + vsflags = (rpmVSFlags) 0; /* XXX FIXME: ignore default disablers. */ + #if defined(SUPPORT_NOSIGNATURES) +- if (!QVA_ISSET(qva->qva_flags, DIGEST)) { ++ if (QVA_ISSET(qva->qva_flags, DIGEST)) { + VSF_SET(vsflags, NOSHA1HEADER); + VSF_SET(vsflags, NOMD5HEADER); + VSF_SET(vsflags, NOSHA1); + VSF_SET(vsflags, NOMD5); + } +- if (!QVA_ISSET(qva->qva_flags, SIGNATURE)) { ++ if (QVA_ISSET(qva->qva_flags, SIGNATURE)) { + VSF_SET(vsflags, NODSAHEADER); + VSF_SET(vsflags, NORSAHEADER); + VSF_SET(vsflags, NODSA); + VSF_SET(vsflags, NORSA); + } +- if (!QVA_ISSET(qva->qva_flags, HDRCHK)) { ++ if (QVA_ISSET(qva->qva_flags, HDRCHK)) { + VSF_SET(vsflags, NOHDRCHK); + } + VSF_CLR(vsflags, NEEDPAYLOAD); /* XXX needed? */ +diff --git a/system.h b/system.h +index 2ff8906..ad4619a 100644 +--- a/system.h ++++ b/system.h +@@ -787,9 +787,9 @@ static inline const char *rcsid(const char *p) { \ + #define SUPPORT_I18NSTRING_TYPE 1 + + /** +- * Eliminate signature/digest disablers. ++ * Signature/digest disablers. + */ +-#undef SUPPORT_NOSIGNATURES ++#define SUPPORT_NOSIGNATURES 1 + + /** + * Permit ar(1) payloads. Disabled while rpmio/iosm.c is under development. +-- +2.9.0 diff --git a/import-layers/yocto-poky/meta/recipes-devtools/rpm/rpm/gcc6-stdlib.patch b/import-layers/yocto-poky/meta/recipes-devtools/rpm/rpm/gcc6-stdlib.patch new file mode 100644 index 000000000..0a372c6da --- /dev/null +++ b/import-layers/yocto-poky/meta/recipes-devtools/rpm/rpm/gcc6-stdlib.patch @@ -0,0 +1,54 @@ +gcc6 has fixed a long standing c++ include issue where <cheader> +was different from <header.h> inclusion via + +https://gcc.gnu.org/ml/libstdc++/2016-01/msg00025.html + +and its also descibed in https://gcc.gnu.org/gcc-6/porting_to.html +rpmio component uses some .cpp and .cc fies which need to use +C stdlib.h from C library and not the C++ libstdc++ header +therefore we pass _GLIBCXX_INCLUDE_NEXT_C_HEADERS so that it +keeps the old behavior + +/a/build/tmp/sysroots/raspberrypi2/usr/include/c++/6.0.1/cstdlib:143:11: error: '::getenv' has not been declared + using ::getenv; + ^~~~~~ +In file included from ../../rpm-5.4.15/system.h:201:0, + from ../../rpm-5.4.15/rpmio/rpmjs.cpp:1: +/a/build/tmp/sysroots/raspberrypi2/usr/include/c++/6.0.1/stdlib.h:62:12: error: 'std::getenv' has not been declared + using std::getenv; + +Upstream-Status: Pending +Signed-off-by: Khem Raj <raj.khem@gmail.com> + +Index: rpm-5.4.15/rpmio/Makefile.am +=================================================================== +--- rpm-5.4.15.orig/rpmio/Makefile.am ++++ rpm-5.4.15/rpmio/Makefile.am +@@ -151,7 +151,7 @@ librpmio_la_SOURCES = \ + groestl.c hamsi.c jh.c keccak.c lane.c luffa.c md2.c md6.c radiogatun.c\ + salsa10.c salsa20.c shabal.c shavite3.c simd.c skein.c tib3.c tiger.c \ + rpmgit.c rpmio-stub.c \ +- rpmjs.cpp rpmjsio.c rpmkeyring.c \ ++ rpmjni.cc rpmjs.cpp rpmjsio.c rpmkeyring.c \ + rpmnix.c rpmodbc.c rpmsql.c set.c \ + ar.c \ + argv.c \ +@@ -195,7 +195,6 @@ librpmio_la_SOURCES = \ + rpmhook.c \ + rpmio.c \ + rpmiob.c \ +- rpmjni.cc \ + rpmku.c \ + rpmlog.c \ + rpmltc.c \ +@@ -279,7 +278,9 @@ keccak.lo: $(top_srcdir)/rpmio/keccak.c + #rpmjs.lo: $(top_srcdir)/rpmio/rpmjs.c + # @$(LTCOMPILE) -O0 -c $< + rpmjs.lo: $(top_srcdir)/rpmio/rpmjs.cpp +- @$(LTCOMPILE) -O0 -c $< ++ @$(LTCOMPILE) -O0 -c -D_GLIBCXX_INCLUDE_NEXT_C_HEADERS $< ++rpmjni.lo: $(top_srcdir)/rpmio/rpmjni.cc ++ @$(LTCOMPILE) -O0 -c -D_GLIBCXX_INCLUDE_NEXT_C_HEADERS $< + + YACC = byacc -d + getdate.c: getdate.y diff --git a/import-layers/yocto-poky/meta/recipes-devtools/rpm/rpm/rpm-ensure-rpm2cpio-call-rpm-relocation-code.patch b/import-layers/yocto-poky/meta/recipes-devtools/rpm/rpm/rpm-ensure-rpm2cpio-call-rpm-relocation-code.patch new file mode 100644 index 000000000..63af10024 --- /dev/null +++ b/import-layers/yocto-poky/meta/recipes-devtools/rpm/rpm/rpm-ensure-rpm2cpio-call-rpm-relocation-code.patch @@ -0,0 +1,25 @@ +We need to call rpmcliInit to ensure the rpm relocation code is called +and it correctly honours the relocation environmental variables. + +when we export the wrsdk and source the sdk, then execute rpm2cpio xxx.rpm|cpio -t. +we will get the following error : +"rpm-5.4.14/rpmdb/dbconfig.c:493: +db3New: Assertion `dbOpts != ((void *)0) && *dbOpts != '\0'' failed. + +Upstream-Status: Pending + +Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org> +Signed-off-by: Zhixiong Chi <zhixiong.chi@windriver.com> +Index: rpm-5.4.15/tools/rpm2cpio.c +=================================================================== +--- rpm-5.4.15.orig/tools/rpm2cpio.c 2012-04-27 01:46:51.000000000 +0800 ++++ rpm-5.4.15/tools/rpm2cpio.c 2016-09-05 11:07:30.419903338 +0800 +@@ -87,6 +87,8 @@ + #endif + (void) rpmtsSetVSFlags(ts, vsflags); + ++ rpmcliInit(argc, argv, NULL); ++ + /*@-mustmod@*/ /* LCL: segfault */ + rc = rpmReadPackageFile(ts, fdi, "rpm2cpio", &h); + /*@=mustmod@*/ diff --git a/import-layers/yocto-poky/meta/recipes-devtools/rpm/rpm/rpmdb-more-verbose-error-logging-in-rpmTempFile.patch b/import-layers/yocto-poky/meta/recipes-devtools/rpm/rpm/rpmdb-more-verbose-error-logging-in-rpmTempFile.patch index 809e54e9c..3a6f8746c 100644 --- a/import-layers/yocto-poky/meta/recipes-devtools/rpm/rpm/rpmdb-more-verbose-error-logging-in-rpmTempFile.patch +++ b/import-layers/yocto-poky/meta/recipes-devtools/rpm/rpm/rpmdb-more-verbose-error-logging-in-rpmTempFile.patch @@ -5,32 +5,10 @@ Upstream-Status: Inappropriate [debugging] Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com> diff --git a/rpmdb/signature.c b/rpmdb/signature.c -index dce6c4e..a1d0f06 100644 +index 100204b..e56ab3d 100644 --- a/rpmdb/signature.c +++ b/rpmdb/signature.c -@@ -37,6 +37,7 @@ int rpmTempFile(const char * prefix, const char ** fnptr, void * fdptr) - int temput; - FD_t fd = NULL; - unsigned int ran; -+ int ret = 0; - - if (!prefix) prefix = ""; - -@@ -44,8 +45,11 @@ int rpmTempFile(const char * prefix, const char ** fnptr, void * fdptr) - if (!_initialized) { - _initialized = 1; - tempfn = rpmGenPath(prefix, tpmacro, NULL); -- if (rpmioMkpath(tempfn, 0755, (uid_t) -1, (gid_t) -1)) -- goto errxit; -+ ret = rpmioMkpath(tempfn, 0755, (uid_t) -1, (gid_t) -1); -+ if (ret) { -+ rpmlog(RPMLOG_ERR, _("error creating temporary directory %s: %d\n"), tempfn, ret); -+ goto errxit; -+ } - } - - /* XXX should probably use mkstemp here */ -@@ -68,12 +72,16 @@ int rpmTempFile(const char * prefix, const char ** fnptr, void * fdptr) +@@ -72,12 +72,16 @@ int rpmTempFile(const char * prefix, const char ** fnptr, void * fdptr) #endif temput = urlPath(tempfn, &tfn); diff --git a/import-layers/yocto-poky/meta/recipes-devtools/rpm/rpm/rpmdb-prevent-race-in-tmpdir-creation.patch b/import-layers/yocto-poky/meta/recipes-devtools/rpm/rpm/rpmdb-prevent-race-in-tmpdir-creation.patch new file mode 100644 index 000000000..f483f3ad9 --- /dev/null +++ b/import-layers/yocto-poky/meta/recipes-devtools/rpm/rpm/rpmdb-prevent-race-in-tmpdir-creation.patch @@ -0,0 +1,41 @@ +rpmdb: prevent race in tmpdir creation + +If two (or more) instances of rpm are running at the same time they may +be trying to create the same (base-)temporary directory at the same time +which causes the other mkdir to fail with EEXIST. This patch prevents a +failure caused by this race by ignoring EEXIST error on directory +creation. + +Upstream-Status: Pending + +Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com> + +diff --git a/rpmdb/signature.c b/rpmdb/signature.c +index dce6c4e..100204b 100644 +--- a/rpmdb/signature.c ++++ b/rpmdb/signature.c +@@ -37,6 +37,7 @@ int rpmTempFile(const char * prefix, const char ** fnptr, void * fdptr) + int temput; + FD_t fd = NULL; + unsigned int ran; ++ int ret = 0; + + if (!prefix) prefix = ""; + +@@ -44,8 +45,11 @@ int rpmTempFile(const char * prefix, const char ** fnptr, void * fdptr) + if (!_initialized) { + _initialized = 1; + tempfn = rpmGenPath(prefix, tpmacro, NULL); +- if (rpmioMkpath(tempfn, 0755, (uid_t) -1, (gid_t) -1)) +- goto errxit; ++ ret = rpmioMkpath(tempfn, 0755, (uid_t) -1, (gid_t) -1); ++ if (ret && ret != EEXIST) { ++ rpmlog(RPMLOG_ERR, _("error creating temporary directory %s: %d\n"), tempfn, ret); ++ goto errxit; ++ } + } + + /* XXX should probably use mkstemp here */ +-- +2.6.6 + diff --git a/import-layers/yocto-poky/meta/recipes-devtools/rpm/rpm_5.4+cvs.bb b/import-layers/yocto-poky/meta/recipes-devtools/rpm/rpm_5.4+cvs.bb deleted file mode 100644 index 0991f6d52..000000000 --- a/import-layers/yocto-poky/meta/recipes-devtools/rpm/rpm_5.4+cvs.bb +++ /dev/null @@ -1,730 +0,0 @@ -SUMMARY = "The RPM package management system" -DESCRIPTION = "The RPM Package Manager (RPM) is a powerful command line driven \ -package management system capable of installing, uninstalling, \ -verifying, querying, and updating software packages. Each software \ -package consists of an archive of files along with information about \ -the package like its version, a description, etc." - -SUMMARY_${PN}-libs = "Libraries for manipulating RPM packages" -DESCRIPTION_${PN}-libs = "This package contains the RPM shared libraries." - -SUMMARY_${PN}-dev = "Development files for manipulating RPM packages" -DESCRIPTION_${PN}-dev = "This package contains the RPM C library and header files. These \ -development files will simplify the process of writing programs that \ -manipulate RPM packages and databases. These files are intended to \ -simplify the process of creating graphical package managers or any \ -other tools that need an intimate knowledge of RPM packages in order \ -to function." - -SUMMARY_${PN}-common = "Common RPM paths, scripts, documentation and configuration" -DESCRIPTION_${PN}-common = "The rpm-common package contains paths, scripts, documentation \ -and configuration common between RPM Package Manager." - -SUMMARY_${PN}-build = "Scripts and executable programs used to build packages" -DESCRIPTION_${PN}-build = "The rpm-build packagec ontains the scripts and executable programs \ -that are used to build packages using the RPM Package Manager." - -SUMMARY_python-rpm = "Python bindings for apps which will manupulate RPM packages" -DESCRIPTION_python-rpm = "The rpm-python package contains a module that permits applications \ -written in the Python programming language to use the interface \ -supplied by the RPM Package Manager libraries." - -SUMMARY_perl-module-rpm = "Perl bindings for apps which will manipulate RPM packages" -DESCRIPTION_perl-modules-rpm = "The perl-modules-rpm package contains a module that permits applications \ -written in the Perl programming language to use the interface \ -supplied by the RPM Package Manager libraries." - -HOMEPAGE = "http://rpm5.org/" -LICENSE = "LGPLv2.1 & Apache-2.0" -LIC_FILES_CHKSUM = "file://COPYING.LIB;md5=2d5025d4aa3495befef8f17206a5b0a1" -LIC_FILES_CHKSUM += "file://rpmio/mongo.c;begin=5;end=18;md5=d8327ba2c71664c059143e6d333b8901" - -# We must have gettext-native, we need gettextize, which may not be provided -DEPENDS = "libpcre attr acl ossp-uuid file byacc-native gettext-native" -DEPENDS_append_class-native = " file-replacement-native" - -# Apply various fixups that are unique to the CVS environment -do_fixup_unpack () { - # 'ln' isn't reliable, and 'mv' could break later builds - rm -rf ${S}/syck ; cp -r ${WORKDIR}/syck ${S}/. - rm -rf ${S}/lua ; cp -r ${WORKDIR}/lua ${S}/. - rm -rf ${S}/popt ; cp -r ${WORKDIR}/popt ${S}/. - rm -rf ${S}/beecrypt ; cp -r ${WORKDIR}/beecrypt ${S}/. -} - -addtask fixup_unpack after do_unpack before do_patch - -# This recipe is really designed for development... to Try out the latest -# community work in progress. -DEFAULT_PREFERENCE = "-1" - -S = "${WORKDIR}/rpm" - -# rpm2cpio is a shell script, which is part of the rpm src.rpm. It is needed -# in order to extract the distribution SRPM into a format we can extract... -SRC_URI = "cvs://anonymous@rpm5.org/cvs;tag=rpm-5_4;module=rpm \ - cvs://anonymous@rpm5.org/cvs;tag=rpm-5_4;module=syck \ - cvs://anonymous@rpm5.org/cvs;tag=rpm-5_4;module=lua \ - cvs://anonymous@rpm5.org/cvs;tag=rpm-5_4;module=popt \ - cvs://anonymous@rpm5.org/cvs;tag=rpm-5_4;module=beecrypt \ - file://perfile_rpmdeps.sh \ - file://pythondeps.sh \ -" - -# Bug fixes -SRC_URI += " \ - file://header-include-fix.patch \ - file://rpm-libsql-fix.patch \ - file://rpm-platform.patch \ - file://rpm-platform2.patch \ - file://rpm-tools-mtree-LDFLAGS.patch \ - file://rpm-canonarch.patch \ - file://rpm-no-loopmsg.patch \ - file://rpm-resolvedep.patch \ - file://rpm-packageorigin.patch \ - file://uclibc-support.patch \ - file://rpmatch.patch \ - file://makefile-am-exec-hook.patch \ - file://python-rpm-rpmsense.patch \ - file://debugedit-segv.patch \ - file://debugedit-valid-file-to-fix-segment-fault.patch \ - file://rpm-platform-file-fix.patch \ - file://rpm-lsb-compatibility.patch \ - file://rpm-tag-generate-endian-conversion-fix.patch \ - file://rpm-hardlink-segfault-fix.patch \ - file://rpm-payload-use-hashed-inode.patch \ - file://rpm-fix-logio-cp.patch \ - file://0001-using-poptParseArgvString-to-parse-the-_gpg_check_pa.patch \ - file://rpm-opendb-before-verifyscript-to-avoid-null-point.patch \ - file://0001-define-EM_AARCH64.patch \ - file://rpm-rpmfc.c-fix-for-N32-MIPS64.patch \ - file://rpm-lib-transaction.c-fix-file-conflicts-for-mips64-N32.patch \ - file://rpm-mongodb-sasl.patch \ - file://rpm-fix-parseEmbedded.patch \ - file://rpm-rpmio-headers.patch \ - file://rpm-python-restore-origin.patch \ - file://rpm-keccak-sse-intrin.patch \ - file://rpm-atomic-ops.patch \ - file://rpm-gnu-atomic.patch \ - file://rpm-tagname-type.patch \ - file://rpm-python-tagname.patch \ - file://rpm-python-AddErase.patch \ - file://rpm-rpmpgp-popt.patch \ - file://0001-Disable-__sync_add_and_fetch_8-on-nios2.patch \ -" - -# OE specific changes -SRC_URI += " \ - file://rpm-log-auto-rm.patch \ - file://rpm-db-reduce.patch \ - file://rpm-autogen.patch \ - file://rpm-showrc.patch \ - file://rpm-fileclass.patch \ - file://rpm-scriptletexechelper.patch \ - file://rpmdeps-oecore.patch \ - file://rpm-no-perl-urpm.patch \ - file://rpm-macros.patch \ - file://rpm-lua.patch \ - file://rpm-ossp-uuid.patch \ - file://rpm-uuid-include.patch \ - file://rpm-pkgconfigdeps.patch \ - file://no-ldflags-in-pkgconfig.patch \ - file://dbconvert.patch \ - file://rpm-db_buffer_small.patch \ - file://rpm-py-init.patch \ - file://rpm-reloc-macros.patch \ - file://rpm-db5-or-db6.patch \ - file://rpm-db60.patch \ - file://rpmqv_cc_b_gone.patch \ - file://rpm-realpath.patch \ - file://rpm-check-rootpath-reasonableness.patch \ - file://rpm-macros.in-disable-external-key-server.patch \ - file://configure.ac-check-for-both-gpg2-and-gpg.patch \ - file://rpm-disable-auto-stack-protector.patch \ - file://popt-disable-auto-stack-protector.patch \ - file://rpm-syck-fix-gram.patch \ - file://rpm-rpmdb-grammar.patch \ - file://rpm-disable-blaketest.patch \ - file://rpm-autogen-force.patch \ -" - -SRC_URI_append_libc-musl = "\ - file://0001-rpm-Fix-build-on-musl.patch \ -" -# Uncomment the following line to enable platform score debugging -# This is useful when identifying issues with Smart being unable -# to process certain package feeds. -#SRC_URI += "file://rpm-debug-platform.patch" - -inherit autotools gettext - -acpaths = "-I ${S}/db/dist/aclocal -I ${S}/db/dist/aclocal_java" - -# The local distribution macro directory -distromacrodir = "${libdir}/rpm/poky" - -# Specify the default rpm macros in terms of adjustable variables -rpm_macros = "%{_usrlibrpm}/macros:%{_usrlibrpm}/${DISTRO}/macros:%{_usrlibrpm}/${DISTRO}/%{_target}/macros:%{_etcrpm}/macros.*:%{_etcrpm}/macros:%{_etcrpm}/%{_target}/macros:~/.oerpmmacros" -rpm_macros_class-native = "%{_usrlibrpm}/macros:%{_usrlibrpm}/${DISTRO}/macros:%{_usrlibrpm}/${DISTRO}/%{_target}/macros:~/.oerpmmacros" -rpm_macros_class-nativesdk = "%{_usrlibrpm}/macros:%{_usrlibrpm}/${DISTRO}/macros:%{_usrlibrpm}/${DISTRO}/%{_target}/macros:~/.oerpmmacros" - -# sqlite lua tcl augeas nss gcrypt neon xz xar keyutils perl selinux - -# Set the digest algorithm used for verifying file integrity -# If this value changes, and two different packages have different values -# the "same file" validation (two packages have a non-conflict file) -# will fail. This may lead to upgrade problems. You should treat this -# value as a distribution wide setting, and only change it when you intend -# a full system upgrade! -# -# Defined file digest algorithm values (note: not all are available!): -# 1 MD5 (legacy RPM default) -# 2 SHA1 -# 3 RIPEMD-160 -# 5 MD2 -# 6 TIGER-192 -# 8 SHA256 -# 9 SHA384 -# 10 SHA512 -# 11 SHA224 -# 104 MD4 -# 105 RIPEMD-128 -# 106 CRC-32 -# 107 ADLER-32 -# 108 CRC-64 (ECMA-182 polynomial, untested uint64_t problems) -# 109 Jenkins lookup3.c hashlittle() -# 111 RIPEMD-256 -# 112 RIPEMD-320 -# 188 BLAKE2B -# 189 BLAKE2BP -# 190 BLAKE2S -# 191 BLAKE2SP -RPM_FILE_DIGEST_ALGO ?= "1" - -# All packages build with RPM5 contain a non-repudiable signature. -# The purpose of this signature is not to show authenticity of a package, -# but instead act as a secondary package wide validation that shows it -# wasn't damaged by accident in transport. (When later you sign the package, -# this signature may or may not be replaced as there are three signature -# slots, one for DSA/RSA, one for ECSDA, and one reserved.) -# -# There is a known issue w/ RSA signatures that if they start with an 0x00 -# the signing and validation may fail. -# -# The following is the list of choices for the non-rpudiable signature -# (note: not all of these are implemented): -# DSA (default) -# RSA (implies SHA1) -# ECDSA (implies SHA256) -# DSA/SHA1 -# DSA/SHA224 -# DSA/SHA256 -# DSA/SHA384 -# DSA/SHA512 -# RSA/SHA1 -# RSA/SHA224 -# RSA/SHA256 -# RSA/SHA384 -# RSA/SHA512 -# ECDSA/SHA224 (using NIST P-224) -# ECDSA/SHA256 (using NIST P-256) -# ECDSA/SHA384 (using NIST P-384) -# ECDSA/SHA512 (using NIST P-521) -RPM_SELF_SIGN_ALGO ?= "DSA" - -# Note: perl and sqlite w/o db specified does not currently work. -# tcl, augeas, nss, gcrypt, xar and keyutils support is untested. -PACKAGECONFIG ??= "db bzip2 zlib popt openssl libelf python" - -# Note: switching to internal popt may not work, as it will generate -# a shared library which will intentionally not be packaged. -# -# If you intend to use the internal version, additional work may be required. -PACKAGECONFIG[popt] = "--with-popt=external,--with-popt=internal,popt," - -PACKAGECONFIG[bzip2] = "--with-bzip2,--without-bzip2,bzip2," -PACKAGECONFIG[xz] = "--with-xz,--without-xz,xz," -PACKAGECONFIG[zlib] = "--with-zlib,--without-zlib,zlib," -PACKAGECONFIG[xar] = "--with-xar,--without-xar,xar," - -WITH_PYTHON = " --with-python=${PYTHON_BASEVERSION} \ - --with-python-inc-dir=${STAGING_INCDIR}/python${PYTHON_BASEVERSION} \ - --with-python-lib-dir=${libdir}/python${PYTHON_BASEVERSION}/site-packages \ - --without-pythonembed" -PACKAGECONFIG[python] = "${WITH_PYTHON},--without-python,python," - -# Perl modules are not built, but they could be enabled fairly easily -# the perl module creation and installation would need to be patched. -# (currently has host perl contamination issues) -WITH_PERL = "--with-perl --without-perlembed --without-perl-urpm" -WITHOUT_PERL = "--without-perl --without-perl-urpm" -PACKAGECONFIG[perl] = "${WITH_PERL},${WITHOUT_PERL},perl," - -# The --with-dbsql will only tell RPM to check for support, db -# may or may not be built w/ the dbsql support. -WITH_DB = "--with-db --with-dbsql --without-db-tools-integrated" -PACKAGECONFIG[db] = "${WITH_DB},--without-db,db," - -PACKAGECONFIG[sqlite] = "--with-sqlite,--without-sqlite,sqlite3," - -# This switch simply disables external beecrypt, RPM5 always uses beecrypt -# for base64 processing and various digest algorithms. -# Beecrypt is only the preferred crypto engine if it's the only engine enabled. -PACKAGECONFIG[beecrypt] = "--with-beecrypt=external,--with-beecrypt=internal,beecrypt," - -# --with-usecrypto= setting defined the item as the preferred system -# crypto engine, which will take priority over the included beecrypt -PACKAGECONFIG[openssl] = "--with-openssl --with-usecrypto=openssl,--without-openssl,openssl," -PACKAGECONFIG[nss] = "--with-nss --with-usecrypto=nss,--without-nss,nss," -PACKAGECONFIG[gcrypt] = "--with-gcrypt --with-usecrypto=gcrypt,--without-gcrypt,gcrypt," - -PACKAGECONFIG[keyutils] = "--with-keyutils,--without-keyutils,keyutils," -PACKAGECONFIG[libelf] = "--with-libelf,--without-libelf,elfutils," - -WITH_SELINUX = "--with-selinux --with-sepol --with-semanage" -WITHOUT_SELINUX = "--without-selinux --without-sepol --without-semanage" -PACKAGECONFIG[selinux] = "${WITH_SELINUX},${WITHOUT_SELINUX},libselinux," - -WITH_NEON = "--with-neon --with-libproxy --with-expat --without-gssapi" -WITHOUT_NEON = "--without-neon --without-libproxy --without-expat --without-gssapi" -PACKAGECONFIG[neon] = "${WITH_NEON},${WITHOUT_NEON},neon expat," - -PACKAGECONFIG[lua] = "--with-lua,--without-lua,expat," -PACKAGECONFIG[tcl] = "--with-tcl,--without-tcl,tcl," - -PACKAGECONFIG[augeas] = "--with-augeas,--without-augeas,augeas," - -EXTRA_OECONF += "--verbose \ - --sysconfdir=${sysconfdir} \ - --with-file \ - --with-path-magic=%{_usrlibrpm}/../../share/misc/magic.mgc \ - --with-syck=internal \ - --without-readline \ - --without-libtasn1 \ - --without-pakchois \ - --without-gnutls \ - --with-pcre \ - --enable-utf8 \ - --with-uuid \ - --with-attr \ - --with-acl \ - --with-pthreads \ - --without-cudf \ - --without-ficl \ - --without-aterm \ - --without-nix \ - --without-bash \ - --without-rc \ - --without-js \ - --without-gpsee \ - --without-ruby \ - --without-squirrel \ - --without-sasl2 \ - --with-build-extlibdep \ - --with-build-maxextlibdep \ - --without-valgrind \ - --disable-openmp \ - --enable-build-pic \ - --enable-build-versionscript \ - --enable-build-warnings \ - --enable-build-debug \ - --enable-maintainer-mode \ - --with-path-macros=${rpm_macros} \ - --with-path-lib=${libdir}/rpm \ - --with-bugreport=http://bugzilla.yoctoproject.org \ - --program-prefix= \ - YACC=byacc" - -CFLAGS_append = " -DRPM_VENDOR_WINDRIVER -DRPM_VENDOR_POKY -DRPM_VENDOR_OE" - -LDFLAGS_append_libc-uclibc = "-lrt -lpthread" - -PACKAGES = "${PN}-dbg ${PN} ${PN}-doc ${PN}-libs ${PN}-dev ${PN}-staticdev ${PN}-common ${PN}-build python-rpm perl-module-rpm ${PN}-locale" - -SOLIBS = "5.4.so" - -# Based on %files section in the rpm.spec - -FILES_${PN} = "${bindir}/rpm \ - ${bindir}/rpmconstant \ - ${libdir}/rpm/rpm.* \ - ${libdir}/rpm/tgpg \ - ${libdir}/rpm/macros \ - ${libdir}/rpm/rpmpopt \ - ${libdir}/rpm/rpm2cpio \ - ${libdir}/rpm/vcheck \ - ${libdir}/rpm/helpers \ - ${libdir}/rpm/qf \ - ${libdir}/rpm/cpuinfo.yaml \ - ${libdir}/rpm/bin/mtree \ - ${libdir}/rpm/bin/rpmkey \ - ${libdir}/rpm/bin/rpmrepo \ - ${libdir}/rpm/bin/rpmrepo.real \ - ${libdir}/rpm/bin/rpmspecdump \ - ${libdir}/rpm/bin/rpmspecdump.real \ - ${libdir}/rpm/bin/wget \ - ${localstatedir}/cache \ - ${localstatedir}/cache/rpm \ - ${localstatedir}/cache/wdj \ - ${localstatedir}/lib \ - ${localstatedir}/lib/rpm \ - ${localstatedir}/lib/wdj \ - ${bindir}/rpm.real \ - ${bindir}/rpmconstant.real \ - ${bindir}/rpm2cpio.real \ - " - -FILES_${PN}-common = "${bindir}/rpm2cpio \ - ${bindir}/gendiff \ - ${sysconfdir}/rpm \ - ${localstatedir}/spool/repackage \ - " - -FILES_${PN}-libs = "${libdir}/librpm-*.so \ - ${libdir}/librpmconstant-*.so \ - ${libdir}/librpmdb-*.so \ - ${libdir}/librpmio-*.so \ - ${libdir}/librpmmisc-*.so \ - ${libdir}/librpmbuild-*.so \ - " - -FILES_${PN}-build = "${prefix}/src/rpm \ - ${bindir}/rpmbuild \ - ${bindir}/rpmbuild.real \ - ${libdir}/rpm/brp-* \ - ${libdir}/rpm/check-files \ - ${libdir}/rpm/cross-build \ - ${libdir}/rpm/find-debuginfo.sh \ - ${libdir}/rpm/find-lang.sh \ - ${libdir}/rpm/find-prov.pl \ - ${libdir}/rpm/find-provides.perl \ - ${libdir}/rpm/find-req.pl \ - ${libdir}/rpm/find-requires.perl \ - ${libdir}/rpm/getpo.sh \ - ${libdir}/rpm/http.req \ - ${libdir}/rpm/javadeps.sh \ - ${libdir}/rpm/mono-find-provides \ - ${libdir}/rpm/mono-find-requires \ - ${libdir}/rpm/executabledeps.sh \ - ${libdir}/rpm/libtooldeps.sh \ - ${libdir}/rpm/osgideps.pl \ - ${libdir}/rpm/perldeps.pl \ - ${libdir}/rpm/perl.prov \ - ${libdir}/rpm/perl.req \ - ${libdir}/rpm/php.prov \ - ${libdir}/rpm/php.req \ - ${libdir}/rpm/pkgconfigdeps.sh \ - ${libdir}/rpm/pythondeps.sh \ - ${libdir}/rpm/bin/debugedit \ - ${libdir}/rpm/bin/debugedit.real \ - ${libdir}/rpm/bin/rpmcache \ - ${libdir}/rpm/bin/rpmcache.real \ - ${libdir}/rpm/bin/rpmcmp \ - ${libdir}/rpm/bin/rpmcmp.real \ - ${libdir}/rpm/bin/rpmdeps \ - ${libdir}/rpm/bin/rpmdeps.real \ - ${libdir}/rpm/bin/rpmdeps-oecore \ - ${libdir}/rpm/bin/rpmdeps-oecore.real \ - ${libdir}/rpm/bin/rpmdigest \ - ${libdir}/rpm/bin/rpmdigest.real \ - ${libdir}/rpm/bin/abi-compliance-checker.pl \ - ${libdir}/rpm/bin/api-sanity-autotest.pl \ - ${libdir}/rpm/bin/chroot \ - ${libdir}/rpm/bin/cp \ - ${libdir}/rpm/bin/dbsql \ - ${libdir}/rpm/bin/find \ - ${libdir}/rpm/bin/install-sh \ - ${libdir}/rpm/bin/lua \ - ${libdir}/rpm/bin/luac \ - ${libdir}/rpm/bin/mkinstalldirs \ - ${libdir}/rpm/bin/rpmlua \ - ${libdir}/rpm/bin/rpmluac \ - ${libdir}/rpm/bin/sqlite3 \ - ${libdir}/rpm/macros.d/cmake \ - ${libdir}/rpm/macros.d/java \ - ${libdir}/rpm/macros.d/libtool \ - ${libdir}/rpm/macros.d/mandriva \ - ${libdir}/rpm/macros.d/mono \ - ${libdir}/rpm/macros.d/perl \ - ${libdir}/rpm/macros.d/php \ - ${libdir}/rpm/macros.d/pkgconfig \ - ${libdir}/rpm/macros.d/python \ - ${libdir}/rpm/macros.d/ruby \ - ${libdir}/rpm/macros.d/selinux \ - ${libdir}/rpm/macros.d/tcl \ - ${libdir}/rpm/macros.rpmbuild \ - ${libdir}/rpm/u_pkg.sh \ - ${libdir}/rpm/vpkg-provides.sh \ - ${libdir}/rpm/vpkg-provides2.sh \ - ${libdir}/rpm/perfile_rpmdeps.sh \ - ${distromacrodir} \ - " -RDEPENDS_${PN} = "base-files run-postinsts" -RDEPENDS_${PN}_class-native = "" -RDEPENDS_${PN}_class-nativesdk = "" -RDEPENDS_${PN}-build = "file bash perl" - -RDEPENDS_python-rpm = "${PN} python" - -FILES_python-rpm = "${libdir}/python*/site-packages/rpm" -PROVIDES += "python-rpm" - -FILES_perl-module-rpm = "${libdir}/perl/*/* \ - " - -RDEPENDS_${PN}-dev += "bash" - -FILES_${PN}-dev = "${includedir}/rpm \ - ${libdir}/librpm.la \ - ${libdir}/librpm.so \ - ${libdir}/librpmconstant.la \ - ${libdir}/librpmconstant.so \ - ${libdir}/librpmdb.la \ - ${libdir}/librpmdb.so \ - ${libdir}/librpmio.la \ - ${libdir}/librpmio.so \ - ${libdir}/librpmmisc.la \ - ${libdir}/librpmmisc.so \ - ${libdir}/librpmbuild.la \ - ${libdir}/librpmbuild.so \ - ${libdir}/rpm/lib/liblua.la \ - ${libdir}/pkgconfig/rpm.pc \ - ${libdir}/rpm/rpmdb_loadcvt \ - " - -FILES_${PN}-staticdev = " \ - ${libdir}/librpm.a \ - ${libdir}/librpmconstant.a \ - ${libdir}/librpmdb.a \ - ${libdir}/librpmio.a \ - ${libdir}/librpmmisc.a \ - ${libdir}/librpmbuild.a \ - ${libdir}/rpm/lib/liblua.a \ - ${libdir}/python*/site-packages/rpm/*.a \ - " - -do_configure() { - # Disable tests! - echo "all:" > ${S}/tests/Makefile.am - sed -e 's/@__MKDIR_P@/%{__mkdir} -p/' -i ${S}/macros/macros.in - - ( cd ${S}; ${S}/autogen.sh ) - - # NASTY hack to make sure configure files the right pkg-config file... - sed -e 's/pkg-config --exists uuid/pkg-config --exists ossp-uuid/g' \ - -e 's/pkg-config uuid/pkg-config ossp-uuid/g' -i ${S}/configure - - ( cd ${S}/syck ; set +e ; rm -- -l* ; make distclean ) || : - - export varprefix=${localstatedir} - oe_runconf -} - -do_install_append() { - # Configure -distribution wide- package crypto settings - # If these change, effectively all packages have to be upgraded! - sed -i -e 's,%_build_file_digest_algo.*,%_build_sign ${RPM_FILE_DIGEST_ALGO},' ${D}/${libdir}/rpm/macros.rpmbuild - sed -i -e 's,%_build_sign.*,%_build_sign ${RPM_SELF_SIGN_ALGO},' ${D}/${libdir}/rpm/macros.rpmbuild - - sed -i -e 's,%__scriptlet_requires,#%%__scriptlet_requires,' ${D}/${libdir}/rpm/macros - sed -i -e 's,%__perl_provides,#%%__perl_provides,' ${D}/${libdir}/rpm/macros ${D}/${libdir}/rpm/macros.d/* - sed -i -e 's,%__perl_requires,#%%__perl_requires,' ${D}/${libdir}/rpm/macros ${D}/${libdir}/rpm/macros.d/* - sed -i -e 's,%_repackage_all_erasures[^_].*,%_repackage_all_erasures 0,' ${D}/${libdir}/rpm/macros - sed -i -e 's,^#%_openall_before_chroot.*,%_openall_before_chroot\t1,' ${D}/${libdir}/rpm/macros - - # Enable MIPS64 N32 transactions. (This is a no-op on non-MIPS targets.) - sed -i -e 's,%_transaction_color[^_].*,%_transaction_color 7,' ${D}/${libdir}/rpm/macros - - # Enable Debian style arbitrary tags... - sed -i -e 's,%_arbitrary_tags[^_].*,%_arbitrary_tags %{_arbitrary_tags_debian},' ${D}/${libdir}/rpm/macros - - install -m 0755 ${WORKDIR}/pythondeps.sh ${D}/${libdir}/rpm/pythondeps.sh - install -m 0755 ${WORKDIR}/perfile_rpmdeps.sh ${D}/${libdir}/rpm/perfile_rpmdeps.sh - - # Remove unpackaged files (based on list in rpm.spec) - rm -f ${D}/${libdir}/rpm/{Specfile.pm,cpanflute,cpanflute2,rpmdiff,rpmdiff.cgi,sql.prov,sql.req,tcl.req,trpm} - - rm -f ${D}/${mandir}/man8/rpmcache.8* - rm -f ${D}/${mandir}/man8/rpmgraph.8* - rm -f ${D}/${mandir}/*/man8/rpmcache.8* - rm -f ${D}/${mandir}/*/man8/rpmgraph.8* - rm -rf ${D}/${mandir}/{fr,ko} - - rm -f ${D}/${includedir}/popt.h - rm -f ${D}/${libdir}/libpopt.* - rm -f ${D}/${libdir}/pkgconfig/popt.pc - rm -f ${D}/${datadir}/locale/*/LC_MESSAGES/popt.mo - rm -f ${D}/${mandir}/man3/popt.3 - - rm -f ${D}/${mandir}/man1/xar.1* - rm -f ${D}/${bindir}/xar - rm -rf ${D}/${includedir}/xar - rm -f ${D}/${libdir}/libxar* - - rm -f ${D}/${bindir}/lz* - rm -f ${D}/${bindir}/unlzma - rm -f ${D}/${bindir}/unxz - rm -f ${D}/${bindir}/xz* - rm -rf ${D}/${includedir}/lzma* - rm -f ${D}/${mandir}/man1/lz*.1 - rm -f ${D}/${libdir}/pkgconfig/liblzma* - - rm -f ${D}/${libdir}/python%{with_python_version}/site-packages/*.a - rm -f ${D}/${libdir}/python%{with_python_version}/site-packages/*.la - rm -f ${D}/${libdir}/python%{with_python_version}/site-packages/rpm/*.a - rm -f ${D}/${libdir}/python%{with_python_version}/site-packages/rpm/*.la - - #find ${D}/${libdir}/perl5 -type f -a \( -name perllocal.pod -o -name .packlist \ - # -o \( -name '*.bs' -a -empty \) \) -exec rm -f {} ';' - #find ${D}/${libdir}/perl5 -type d -depth -exec rmdir {} 2>/dev/null ';' - - rm -f ${D}/${libdir}/rpm/dbconvert.sh - - rm -f ${D}/${libdir}/rpm/libsqldb.* - - # We don't want, nor need the Mandriva multiarch items - rm -f ${D}/${bindir}/multiarch-dispatch - rm -f ${D}/${bindir}/multiarch-platform - rm -f ${D}/${libdir}/rpm/check-multiarch-files - rm -f ${D}/${libdir}/rpm/mkmultiarch - rm -f ${D}/${includedir}/multiarch-dispatch.h - - rm -f ${D}/${libdir}/rpm/gstreamer.sh - rm -f ${D}/${libdir}/rpm/gem_helper.rb - rm -f ${D}/${libdir}/rpm/rubygems.rb - rm -f ${D}/${libdir}/rpm/kmod-deps.sh - rm -f ${D}/${libdir}/rpm/pythoneggs.py - rm -f ${D}/${libdir}/rpm/macros.d/kernel - rm -f ${D}/${libdir}/rpm/macros.d/gstreamer - rm -f ${D}/${libdir}/rpm/bin/mgo - rm -f ${D}/${libdir}/rpm/bin/dbconvert - rm -f ${D}/${libdir}/rpm/bin/pom2spec - - rm -rf ${D}/var/lib/wdj ${D}/var/cache/wdj - rm -f ${D}/${libdir}/rpm/bin/api-sanity-checker.pl - -} - -do_install_append_class-target() { - # Create and install distribution specific macros - mkdir -p ${D}/${distromacrodir} - cat << EOF > ${D}/${distromacrodir}/macros -%_defaultdocdir ${docdir} - -%_prefix ${prefix} -%_exec_prefix ${exec_prefix} -%_datarootdir ${datadir} -%_bindir ${bindir} -%_sbindir ${sbindir} -%_libexecdir %{_libdir}/%{name} -%_datadir ${datadir} -%_sysconfdir ${sysconfdir} -%_sharedstatedir ${sharedstatedir} -%_localstatedir ${localstatedir} -%_lib lib -%_libdir %{_exec_prefix}/%{_lib} -%_includedir ${includedir} -%_oldincludedir ${oldincludedir} -%_infodir ${infodir} -%_mandir ${mandir} -%_localedir %{_libdir}/locale -EOF - - # Create and install multilib specific macros - ${@multilib_rpmmacros(d)} -} - -do_install_append_class-native () { - sed -i -e 's|^#!.*/usr/bin/python|#! /usr/bin/env nativepython|' ${D}/${libdir}/python2.7/site-packages/rpm/transaction.py -} - -do_install_append_class-nativesdk () { - sed -i -e 's|^#!.*/usr/bin/python|#! /usr/bin/env python|' ${D}/${libdir}/python2.7/site-packages/rpm/transaction.py -} - -def multilib_rpmmacros(d): - localdata = d.createCopy() - # We need to clear the TOOLCHAIN_OPTIONS (--sysroot) - localdata.delVar('TOOLCHAIN_OPTIONS') - - # Set 'localdata' values to be consistent with 'd' values. - localdata.setVar('distromacrodir', d.getVar('distromacrodir', True)) - localdata.setVar('WORKDIR', d.getVar('WORKDIR', True)) - - ret = gen_arch_macro(localdata) - - variants = d.getVar("MULTILIB_VARIANTS", True) or "" - for item in variants.split(): - # Load overrides from 'd' to avoid having to reset the value... - localdata = d.createCopy() - overrides = d.getVar("OVERRIDES", False) + ":virtclass-multilib-" + item - localdata.setVar("OVERRIDES", overrides) - localdata.setVar("MLPREFIX", item + "-") - bb.data.update_data(localdata) - ret += gen_arch_macro(localdata) - return ret - -def gen_arch_macro(d): - # Generate shell script to produce the file as part of do_install - val = "mkdir -p ${D}/${distromacrodir}/${TARGET_ARCH}-${TARGET_OS}\n" - val += "cat << EOF > ${D}/${distromacrodir}/${TARGET_ARCH}-${TARGET_OS}/macros\n" - val += "%_lib ${baselib}\n" - val += "%_libdir ${libdir}\n" - val += "%_localedir ${localedir}\n" - val += "\n" - val += "# Toolchain configuration\n" - val += "%TOOLCHAIN_OPTIONS %{nil}\n" - val += "%__ar ${@d.getVar('AR', True).replace('$','%')}\n" - val += "%__as ${@d.getVar('AS', True).replace('$','%')}\n" - val += "%__cc ${@d.getVar('CC', True).replace('$','%')}\n" - val += "%__cpp ${@d.getVar('CPP', True).replace('$','%')}\n" - val += "%__cxx ${@d.getVar('CXX', True).replace('$','%')}\n" - val += "%__ld ${@d.getVar('LD', True).replace('$','%')}\n" - val += "%__nm ${@d.getVar('NM', True).replace('$','%')}\n" - val += "%__objcopy ${@d.getVar('OBJCOPY', True).replace('$','%')}\n" - val += "%__objdump ${@d.getVar('OBJDUMP', True).replace('$','%')}\n" - val += "%__ranlib ${@d.getVar('RANLIB', True).replace('$','%')}\n" - val += "%__strip ${@d.getVar('STRIP', True).replace('$','%')}\n" - val += "EOF\n" - val += "\n" - return d.expand(val) - - -add_native_wrapper() { - create_wrapper ${D}/${bindir}/rpm \ - RPM_USRLIBRPM='`dirname $''realpath`'/${@os.path.relpath(d.getVar('libdir', True), d.getVar('bindir', True))}/rpm \ - RPM_ETCRPM='$'{RPM_ETCRPM-'`dirname $''realpath`'/${@os.path.relpath(d.getVar('sysconfdir', True), d.getVar('bindir', True))}/rpm} \ - RPM_LOCALEDIRRPM='`dirname $''realpath`'/${@os.path.relpath(d.getVar('datadir', True), d.getVar('bindir', True))}/locale - - create_wrapper ${D}/${bindir}/rpm2cpio \ - RPM_USRLIBRPM='`dirname $''realpath`'/${@os.path.relpath(d.getVar('libdir', True), d.getVar('bindir', True))}/rpm \ - RPM_ETCRPM='$'{RPM_ETCRPM-'`dirname $''realpath`'/${@os.path.relpath(d.getVar('sysconfdir', True), d.getVar('bindir', True))}/rpm} \ - RPM_LOCALEDIRRPM='`dirname $''realpath`'/${@os.path.relpath(d.getVar('datadir', True), d.getVar('bindir', True))}/locale - - create_wrapper ${D}/${bindir}/rpmbuild \ - RPM_USRLIBRPM='`dirname $''realpath`'/${@os.path.relpath(d.getVar('libdir', True), d.getVar('bindir', True))}/rpm \ - RPM_ETCRPM='$'{RPM_ETCRPM-'`dirname $''realpath`'/${@os.path.relpath(d.getVar('sysconfdir', True), d.getVar('bindir', True))}/rpm} \ - RPM_LOCALEDIRRPM='`dirname $''realpath`'/${@os.path.relpath(d.getVar('datadir', True), d.getVar('bindir', True))}/locale - - create_wrapper ${D}/${bindir}/rpmconstant \ - RPM_USRLIBRPM='`dirname $''realpath`'/${@os.path.relpath(d.getVar('libdir', True), d.getVar('bindir', True))}/rpm \ - RPM_ETCRPM='$'{RPM_ETCRPM-'`dirname $''realpath`'/${@os.path.relpath(d.getVar('sysconfdir', True), d.getVar('bindir', True))}/rpm} \ - RPM_LOCALEDIRRPM='`dirname $''realpath`'/${@os.path.relpath(d.getVar('datadir', True), d.getVar('bindir', True))}/locale - - for rpm_binary in ${D}/${libdir}/rpm/bin/rpm* ${D}/${libdir}/rpm/bin/debugedit; do - create_wrapper $rpm_binary \ - RPM_USRLIBRPM='`dirname $''realpath`'/${@os.path.relpath(d.getVar('libdir', True), d.getVar('bindir', True))}/rpm \ - RPM_ETCRPM='$'{RPM_ETCRPM-'`dirname $''realpath`'/${@os.path.relpath(d.getVar('sysconfdir', True), d.getVar('bindir', True))}/rpm} \ - RPM_LOCALEDIRRPM='`dirname $''realpath`'/${@os.path.relpath(d.getVar('datadir', True), d.getVar('bindir', True))}/locale - done -} - -do_install_append_class-native() { - add_native_wrapper -} - -do_install_append_class-nativesdk() { - add_native_wrapper -} - -BBCLASSEXTEND = "native nativesdk" diff --git a/import-layers/yocto-poky/meta/recipes-devtools/rpm/rpm_5.4.16.bb b/import-layers/yocto-poky/meta/recipes-devtools/rpm/rpm_5.4.16.bb index f2c12d2de..133239712 100644 --- a/import-layers/yocto-poky/meta/recipes-devtools/rpm/rpm_5.4.16.bb +++ b/import-layers/yocto-poky/meta/recipes-devtools/rpm/rpm_5.4.16.bb @@ -116,6 +116,9 @@ SRC_URI += " \ file://rpm-fix-lua-tests-compilation-failure.patch \ file://rpmqv.c-check-_gpg_passphrase-before-ask-for-input.patch \ file://0001-Disable-__sync_add_and_fetch_8-on-nios2.patch \ + file://gcc6-stdlib.patch \ + file://0001-system.h-query.c-support-nosignature.patch \ + file://rpm-ensure-rpm2cpio-call-rpm-relocation-code.patch \ " # OE specific changes @@ -151,6 +154,7 @@ SRC_URI += " \ file://rpm-rpmdb-grammar.patch \ file://rpm-disable-blaketest.patch \ file://rpm-autogen-force.patch \ + file://rpmdb-prevent-race-in-tmpdir-creation.patch \ file://rpmdb-more-verbose-error-logging-in-rpmTempFile.patch \ " @@ -164,7 +168,7 @@ SRC_URI_append_libc-musl = "\ UPSTREAM_CHECK_REGEX = "rpm-(?P<pver>(\d+[\.\-_]*)+)-.*$" -inherit autotools gettext +inherit autotools gettext python-dir acpaths = "-I ${S}/db/dist/aclocal -I ${S}/db/dist/aclocal_java" @@ -257,7 +261,7 @@ PACKAGECONFIG[xar] = "--with-xar,--without-xar,xar," WITH_PYTHON = " --with-python=${PYTHON_BASEVERSION} \ --with-python-inc-dir=${STAGING_INCDIR}/python${PYTHON_BASEVERSION} \ - --with-python-lib-dir=${libdir}/python${PYTHON_BASEVERSION}/site-packages \ + --with-python-lib-dir=${PYTHON_SITEPACKAGES_DIR} \ --without-pythonembed" PACKAGECONFIG[python] = "${WITH_PYTHON},--without-python,python," @@ -344,7 +348,7 @@ EXTRA_OECONF += "--verbose \ --program-prefix= \ YACC=byacc" -CFLAGS_append = " -DRPM_VENDOR_WINDRIVER -DRPM_VENDOR_POKY -DRPM_VENDOR_OE" +CFLAGS_append = " -DRPM_VENDOR_WINDRIVER -DRPM_VENDOR_POKY -DRPM_VENDOR_OE -D_GLIBCXX_INCLUDE_NEXT_C_HEADERS" LDFLAGS_append_libc-uclibc = "-lrt -lpthread" @@ -475,7 +479,7 @@ RDEPENDS_${PN}-build = "file bash perl" RDEPENDS_python-rpm = "${PN} python" -FILES_python-rpm = "${libdir}/python*/site-packages/rpm" +FILES_python-rpm = "${PYTHON_SITEPACKAGES_DIR}/rpm" PROVIDES += "python-rpm" FILES_perl-module-rpm = "${libdir}/perl/*/* \ @@ -510,7 +514,7 @@ FILES_${PN}-staticdev = " \ ${libdir}/librpmmisc.a \ ${libdir}/librpmbuild.a \ ${libdir}/rpm/lib/liblua.a \ - ${libdir}/python*/site-packages/rpm/*.a \ + ${PYTHON_SITEPACKAGES_DIR}/rpm/*.a \ " do_configure() { @@ -524,7 +528,7 @@ do_configure() { sed -e 's/pkg-config --exists uuid/pkg-config --exists ossp-uuid/g' \ -e 's/pkg-config uuid/pkg-config ossp-uuid/g' -i ${S}/configure - ( cd ${S}/syck ; set +e ; rm -- -l* ; make distclean ) || : + ( cd ${S}/syck ; set +e ; rm -- -l* ; rm Makefile config.h config.status lib/Makefile libtool stamp-h1 tests/.deps tests/Makefile ) || : export varprefix=${localstatedir} oe_runconf @@ -551,54 +555,20 @@ do_install_append() { install -m 0755 ${WORKDIR}/pythondeps.sh ${D}/${libdir}/rpm/pythondeps.sh install -m 0755 ${WORKDIR}/perfile_rpmdeps.sh ${D}/${libdir}/rpm/perfile_rpmdeps.sh - # Remove unpackaged files (based on list in rpm.spec) - rm -f ${D}/${libdir}/rpm/{Specfile.pm,cpanflute,cpanflute2,rpmdiff,rpmdiff.cgi,sql.prov,sql.req,tcl.req,trpm} - - rm -f ${D}/${mandir}/man8/rpmcache.8* - rm -f ${D}/${mandir}/man8/rpmgraph.8* - rm -f ${D}/${mandir}/*/man8/rpmcache.8* - rm -f ${D}/${mandir}/*/man8/rpmgraph.8* - rm -rf ${D}/${mandir}/{fr,ko} - rm -f ${D}/${includedir}/popt.h rm -f ${D}/${libdir}/libpopt.* rm -f ${D}/${libdir}/pkgconfig/popt.pc rm -f ${D}/${datadir}/locale/*/LC_MESSAGES/popt.mo rm -f ${D}/${mandir}/man3/popt.3 - rm -f ${D}/${mandir}/man1/xar.1* - rm -f ${D}/${bindir}/xar - rm -rf ${D}/${includedir}/xar - rm -f ${D}/${libdir}/libxar* - - rm -f ${D}/${bindir}/lz* - rm -f ${D}/${bindir}/unlzma - rm -f ${D}/${bindir}/unxz - rm -f ${D}/${bindir}/xz* - rm -rf ${D}/${includedir}/lzma* - rm -f ${D}/${mandir}/man1/lz*.1 - rm -f ${D}/${libdir}/pkgconfig/liblzma* - - rm -f ${D}/${libdir}/python%{with_python_version}/site-packages/*.a - rm -f ${D}/${libdir}/python%{with_python_version}/site-packages/*.la - rm -f ${D}/${libdir}/python%{with_python_version}/site-packages/rpm/*.a - rm -f ${D}/${libdir}/python%{with_python_version}/site-packages/rpm/*.la - - #find ${D}/${libdir}/perl5 -type f -a \( -name perllocal.pod -o -name .packlist \ - # -o \( -name '*.bs' -a -empty \) \) -exec rm -f {} ';' - #find ${D}/${libdir}/perl5 -type d -depth -exec rmdir {} 2>/dev/null ';' + rm -f ${D}${PYTHON_SITEPACKAGES_DIR}/*.a + rm -f ${D}${PYTHON_SITEPACKAGES_DIR}/*.la + rm -f ${D}${PYTHON_SITEPACKAGES_DIR}/rpm/*.a + rm -f ${D}${PYTHON_SITEPACKAGES_DIR}/rpm/*.la rm -f ${D}/${libdir}/rpm/dbconvert.sh - rm -f ${D}/${libdir}/rpm/libsqldb.* - # We don't want, nor need the Mandriva multiarch items - rm -f ${D}/${bindir}/multiarch-dispatch - rm -f ${D}/${bindir}/multiarch-platform - rm -f ${D}/${libdir}/rpm/check-multiarch-files - rm -f ${D}/${libdir}/rpm/mkmultiarch - rm -f ${D}/${includedir}/multiarch-dispatch.h - rm -f ${D}/${libdir}/rpm/gstreamer.sh rm -f ${D}/${libdir}/rpm/gem_helper.rb rm -f ${D}/${libdir}/rpm/rubygems.rb @@ -607,12 +577,10 @@ do_install_append() { rm -f ${D}/${libdir}/rpm/macros.d/kernel rm -f ${D}/${libdir}/rpm/macros.d/gstreamer rm -f ${D}/${libdir}/rpm/bin/mgo - rm -f ${D}/${libdir}/rpm/bin/dbconvert rm -f ${D}/${libdir}/rpm/bin/pom2spec rm -rf ${D}/var/lib/wdj ${D}/var/cache/wdj rm -f ${D}/${libdir}/rpm/bin/api-sanity-checker.pl - } do_install_append_class-target() { @@ -645,11 +613,11 @@ EOF } do_install_append_class-native () { - sed -i -e 's|^#!.*/usr/bin/python|#! /usr/bin/env nativepython|' ${D}/${libdir}/python2.7/site-packages/rpm/transaction.py + sed -i -e 's|^#!.*/usr/bin/python|#! /usr/bin/env nativepython|' ${D}${PYTHON_SITEPACKAGES_DIR}/rpm/transaction.py } do_install_append_class-nativesdk () { - sed -i -e 's|^#!.*/usr/bin/python|#! /usr/bin/env python|' ${D}/${libdir}/python2.7/site-packages/rpm/transaction.py + sed -i -e 's|^#!.*/usr/bin/python|#! /usr/bin/env python|' ${D}${PYTHON_SITEPACKAGES_DIR}/rpm/transaction.py } def multilib_rpmmacros(d): diff --git a/import-layers/yocto-poky/meta/recipes-devtools/rsync/rsync.inc b/import-layers/yocto-poky/meta/recipes-devtools/rsync/rsync.inc index c65f27031..37897aba8 100644 --- a/import-layers/yocto-poky/meta/recipes-devtools/rsync/rsync.inc +++ b/import-layers/yocto-poky/meta/recipes-devtools/rsync/rsync.inc @@ -3,11 +3,6 @@ HOMEPAGE = "http://rsync.samba.org/" BUGTRACKER = "http://rsync.samba.org/bugzilla.html" SECTION = "console/network" -# GPLv2+ (<< 3.0.0), GPLv3+ (>= 3.0.0) -LICENSE = "GPLv3+" -LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504" - -# needs to add acl and attr DEPENDS = "popt" SRC_URI = "http://rsync.samba.org/ftp/rsync/src/rsync-${PV}.tar.gz \ @@ -21,3 +16,5 @@ do_install_append() { } EXTRA_OEMAKE='STRIP=""' + +PACKAGECONFIG[ipv6] = "--enable-ipv6,--disable-ipv6," diff --git a/import-layers/yocto-poky/meta/recipes-devtools/rsync/rsync_2.6.9.bb b/import-layers/yocto-poky/meta/recipes-devtools/rsync/rsync_2.6.9.bb index 6854c77f7..efdf255a0 100644 --- a/import-layers/yocto-poky/meta/recipes-devtools/rsync/rsync_2.6.9.bb +++ b/import-layers/yocto-poky/meta/recipes-devtools/rsync/rsync_2.6.9.bb @@ -1,28 +1,15 @@ -SUMMARY = "File synchronization tool" -HOMEPAGE = "http://rsync.samba.org/" -BUGTRACKER = "http://rsync.samba.org/bugzilla.html" -SECTION = "console/network" +require rsync.inc -# needs to add acl and attr -DEPENDS = "popt" - -SRC_URI = "http://rsync.samba.org/ftp/rsync/src/rsync-${PV}.tar.gz \ - file://rsync-2.6.9-fname-obo.patch \ - file://rsyncd.conf" +SRC_URI += "file://rsync-2.6.9-fname-obo.patch \ + file://rsyncd.conf \ +" SRC_URI[md5sum] = "996d8d8831dbca17910094e56dcb5942" SRC_URI[sha256sum] = "ca437301becd890e73300bc69a39189ff1564baa761948ff149b3dd7bde633f9" -inherit autotools - -do_install_append() { - install -d ${D}${sysconfdir} - install -m 0644 ${WORKDIR}/rsyncd.conf ${D}${sysconfdir} -} - -EXTRA_OEMAKE='STRIP=""' - LICENSE = "GPLv2+" LIC_FILES_CHKSUM = "file://COPYING;md5=6d5a9d4c4d3af25cd68fd83e8a8cb09c" PR = "r4" + +PACKAGECONFIG ??= "${@bb.utils.contains('DISTRO_FEATURES', 'ipv6', 'ipv6', '', d)}" diff --git a/import-layers/yocto-poky/meta/recipes-devtools/rsync/rsync_3.1.2.bb b/import-layers/yocto-poky/meta/recipes-devtools/rsync/rsync_3.1.2.bb index 9637ed4e7..c6cb3310f 100644 --- a/import-layers/yocto-poky/meta/recipes-devtools/rsync/rsync_3.1.2.bb +++ b/import-layers/yocto-poky/meta/recipes-devtools/rsync/rsync_3.1.2.bb @@ -5,7 +5,13 @@ SRC_URI += "file://makefile-no-rebuild.patch" SRC_URI[md5sum] = "0f758d7e000c0f7f7d3792610fad70cb" SRC_URI[sha256sum] = "ecfa62a7fa3c4c18b9eccd8c16eaddee4bd308a76ea50b5c02a5840f09c0a1c2" -PACKAGECONFIG ??= "acl attr" +# GPLv2+ (<< 3.0.0), GPLv3+ (>= 3.0.0) +LICENSE = "GPLv3+" +LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504" + +PACKAGECONFIG ??= "acl attr \ + ${@bb.utils.contains('DISTRO_FEATURES', 'ipv6', 'ipv6', '', d)} \ +" PACKAGECONFIG[acl] = "--enable-acl-support,--disable-acl-support,acl," PACKAGECONFIG[attr] = "--enable-xattr-support,--disable-xattr-support,attr," diff --git a/import-layers/yocto-poky/meta/recipes-devtools/ruby/ruby.inc b/import-layers/yocto-poky/meta/recipes-devtools/ruby/ruby.inc index 313e75222..fde67e940 100644 --- a/import-layers/yocto-poky/meta/recipes-devtools/ruby/ruby.inc +++ b/import-layers/yocto-poky/meta/recipes-devtools/ruby/ruby.inc @@ -20,7 +20,8 @@ DEPENDS_class-native = "openssl-native libyaml-native" SHRT_VER = "${@oe.utils.trim_version("${PV}", 2)}" SRC_URI = "http://cache.ruby-lang.org/pub/ruby/${SHRT_VER}/ruby-${PV}.tar.gz \ file://extmk.patch \ -" + file://0002-Obey-LDFLAGS-for-the-link-of-libruby.patch \ + " inherit autotools diff --git a/import-layers/yocto-poky/meta/recipes-devtools/ruby/ruby/0002-Obey-LDFLAGS-for-the-link-of-libruby.patch b/import-layers/yocto-poky/meta/recipes-devtools/ruby/ruby/0002-Obey-LDFLAGS-for-the-link-of-libruby.patch new file mode 100644 index 000000000..b0114ba28 --- /dev/null +++ b/import-layers/yocto-poky/meta/recipes-devtools/ruby/ruby/0002-Obey-LDFLAGS-for-the-link-of-libruby.patch @@ -0,0 +1,28 @@ +Upstream-Status: Pending + +From 306e95a9818d39d3349075aac9609e062b0f19ce Mon Sep 17 00:00:00 2001 +From: Christopher Larson <chris_larson@mentor.com> +Date: Thu, 5 May 2016 10:59:07 -0700 +Subject: [PATCH 2/2] Obey LDFLAGS for the link of libruby + +Signed-off-by: Christopher Larson <chris_larson@mentor.com> +--- + Makefile.in | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/Makefile.in b/Makefile.in +index 7da2488..5b4aea1 100644 +--- a/Makefile.in ++++ b/Makefile.in +@@ -75,7 +75,7 @@ EXTLIBS = + LIBS = @LIBS@ $(EXTLIBS) + MISSING = @LIBOBJS@ @ALLOCA@ + LDSHARED = @LIBRUBY_LDSHARED@ +-DLDFLAGS = @LIBRUBY_DLDFLAGS@ $(XLDFLAGS) $(ARCH_FLAG) ++DLDFLAGS = @LIBRUBY_DLDFLAGS@ @LDFLAGS@ $(XLDFLAGS) $(ARCH_FLAG) + SOLIBS = @SOLIBS@ + MAINLIBS = @MAINLIBS@ + ARCHMINIOBJS = @MINIOBJS@ +-- +2.8.0 + diff --git a/import-layers/yocto-poky/meta/recipes-devtools/ruby/ruby_2.2.2.bb b/import-layers/yocto-poky/meta/recipes-devtools/ruby/ruby_2.2.5.bb index 671502356..5a645821b 100644 --- a/import-layers/yocto-poky/meta/recipes-devtools/ruby/ruby_2.2.2.bb +++ b/import-layers/yocto-poky/meta/recipes-devtools/ruby/ruby_2.2.5.bb @@ -1,7 +1,7 @@ require ruby.inc -SRC_URI[md5sum] = "326e99ddc75381c7b50c85f7089f3260" -SRC_URI[sha256sum] = "5ffc0f317e429e6b29d4a98ac521c3ce65481bfd22a8cf845fa02a7b113d9b44" +SRC_URI[md5sum] = "bd8e349d4fb2c75d90817649674f94be" +SRC_URI[sha256sum] = "30c4b31697a4ca4ea0c8db8ad30cf45e6690a0f09687e5d483c933c03ca335e3" # it's unknown to configure script, but then passed to extconf.rb # maybe it's not really needed as we're hardcoding the result with @@ -23,10 +23,6 @@ EXTRA_OECONF = "\ --enable-load-relative \ " -EXTRA_OEMAKE = " \ - LIBRUBYARG='-lruby-static' \ -" - do_install() { oe_runmake 'DESTDIR=${D}' install } diff --git a/import-layers/yocto-poky/meta/recipes-devtools/run-postinsts/run-postinsts/run-postinsts b/import-layers/yocto-poky/meta/recipes-devtools/run-postinsts/run-postinsts/run-postinsts index 53a8e1db0..04ba3941b 100755 --- a/import-layers/yocto-poky/meta/recipes-devtools/run-postinsts/run-postinsts/run-postinsts +++ b/import-layers/yocto-poky/meta/recipes-devtools/run-postinsts/run-postinsts/run-postinsts @@ -6,7 +6,7 @@ # # The following script will run all the scriptlets found in #SYSCONFDIR#/deb-postinsts, -# #SYSCONFDIR#/ipk-postinsts or #SYSCONFDIR#/rpm-posinsts. +# #SYSCONFDIR#/ipk-postinsts or #SYSCONFDIR#/rpm-postinsts. # the order of this list is important, do not change! backend_list="rpm deb ipk" diff --git a/import-layers/yocto-poky/meta/recipes-devtools/sgml-common/sgml-common-native_0.6.3.bb b/import-layers/yocto-poky/meta/recipes-devtools/sgml-common/sgml-common-native_0.6.3.bb index 597536570..97b308a88 100644 --- a/import-layers/yocto-poky/meta/recipes-devtools/sgml-common/sgml-common-native_0.6.3.bb +++ b/import-layers/yocto-poky/meta/recipes-devtools/sgml-common/sgml-common-native_0.6.3.bb @@ -22,8 +22,6 @@ S = "${WORKDIR}/sgml-common-${PV}" SYSROOT_PREPROCESS_FUNCS += "sgml_common_native_mangle" SSTATEPOSTINSTFUNCS += "sgml_common_sstate_postinst" -CLEANFUNCS += "sgml_common_sstate_clean" - do_install_append() { # install-catalog script contains hard-coded references to @@ -59,13 +57,14 @@ sgml_common_sstate_postinst() { fi done fi - fi -} + cat << EOF > ${SSTATE_INST_POSTRM} +#!/bin/sh -sgml_common_sstate_clean () { - # Ensure that the catalog file sgml-docbook.cat is properly - # updated when the package is removed from sstate cache. - if [ -f ${sysconfdir}/sgml/sgml-docbook.cat ]; then - sed -i '/\/sgml\/sgml-ent.cat/d' ${sysconfdir}/sgml/sgml-docbook.cat +# Ensure that the catalog file sgml-docbook.cat is properly +# updated when the package is removed from sstate cache. +if [ -f ${sysconfdir}/sgml/sgml-docbook.cat ]; then + sed -i '/\/sgml\/sgml-ent.cat/d' ${sysconfdir}/sgml/sgml-docbook.cat +fi +EOF fi } diff --git a/import-layers/yocto-poky/meta/recipes-devtools/strace/strace/0001-Fix-build-when-using-non-glibc-libc-implementation-o.patch b/import-layers/yocto-poky/meta/recipes-devtools/strace/strace/0001-Fix-build-when-using-non-glibc-libc-implementation-o.patch new file mode 100644 index 000000000..7f59210ca --- /dev/null +++ b/import-layers/yocto-poky/meta/recipes-devtools/strace/strace/0001-Fix-build-when-using-non-glibc-libc-implementation-o.patch @@ -0,0 +1,36 @@ +From 1f0c22b79045cfcdc976643f383c1d09589d3087 Mon Sep 17 00:00:00 2001 +From: Khem Raj <raj.khem@gmail.com> +Date: Sat, 30 Apr 2016 16:23:56 +0000 +Subject: [PATCH] Fix build when using non-glibc libc implementation on ppc + +glibc includes the kernel header into its own header for macros +musl does not + +Upstream-Status: Pending +Signed-off-by: Khem Raj <raj.khem@gmail.com> +--- + ptrace.h | 8 +++++++- + 1 file changed, 7 insertions(+), 1 deletion(-) + +diff --git a/ptrace.h b/ptrace.h +index d8af976..4978a69 100644 +--- a/ptrace.h ++++ b/ptrace.h +@@ -52,7 +52,13 @@ extern long ptrace(int, int, char *, long); + # define ptrace_peeksiginfo_args XXX_ptrace_peeksiginfo_args + #endif + +-#include <linux/ptrace.h> ++#if defined(POWERPC) && !defined(__GLIBC__) ++#define pt_regs uapi_pt_regs ++#endif ++# include <linux/ptrace.h> ++#if defined(POWERPC) && !defined(__GLIBC__) ++# undef pt_regs ++#endif + + #ifdef HAVE_STRUCT_IA64_FPREG + # undef ia64_fpreg +-- +1.8.3.1 + diff --git a/import-layers/yocto-poky/meta/recipes-devtools/strace/strace/0001-Move-gcc-compat-macros-to-gcc_compat.h.patch b/import-layers/yocto-poky/meta/recipes-devtools/strace/strace/0001-Move-gcc-compat-macros-to-gcc_compat.h.patch deleted file mode 100644 index aa61e15c8..000000000 --- a/import-layers/yocto-poky/meta/recipes-devtools/strace/strace/0001-Move-gcc-compat-macros-to-gcc_compat.h.patch +++ /dev/null @@ -1,176 +0,0 @@ -From f32126ba790dd4e61d43a2140b24f02426297bb6 Mon Sep 17 00:00:00 2001 -From: "Dmitry V. Levin" <ldv@altlinux.org> -Date: Thu, 31 Dec 2015 14:19:41 +0000 -Subject: [PATCH] Move gcc compat macros to gcc_compat.h - -* defs.h: Include "gcc_compat.h". -(GNUC_PREREQ, ATTRIBUTE_NORETURN, ATTRIBUTE_FORMAT, -ATTRIBUTE_ALIGNED, ATTRIBUTE_PACKED, ATTRIBUTE_MALLOC, -ATTRIBUTE_NOINLINE, ATTRIBUTE_ALLOC_SIZE): Move ... -* gcc_compat.h: ... here. -* Makefile.am (strace_SOURCES): Add gcc_compat.h. ---- -Signed-off-by: Khem Raj <raj.khem@gmail.com> -Upstream-Status: Backport - - Makefile.am | 1 + - defs.h | 43 +---------------------------------- - gcc_compat.h | 73 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ - 3 files changed, 75 insertions(+), 42 deletions(-) - create mode 100644 gcc_compat.h - -diff --git a/Makefile.am b/Makefile.am -index ab52778..d43608d 100644 ---- a/Makefile.am -+++ b/Makefile.am -@@ -97,6 +97,7 @@ strace_SOURCES = \ - flock.c \ - flock.h \ - futex.c \ -+ gcc_compat.h \ - get_robust_list.c \ - getcpu.c \ - getcwd.c \ -diff --git a/defs.h b/defs.h -index 283ab1f..bae212c 100644 ---- a/defs.h -+++ b/defs.h -@@ -55,6 +55,7 @@ - #include <sys/syscall.h> - - #include "mpers_type.h" -+#include "gcc_compat.h" - - #ifndef HAVE_STRERROR - const char *strerror(int); -@@ -68,48 +69,6 @@ const char *strerror(int); - extern char *stpcpy(char *dst, const char *src); - #endif - --#if defined __GNUC__ && defined __GNUC_MINOR__ --# define GNUC_PREREQ(maj, min) \ -- ((__GNUC__ << 16) + __GNUC_MINOR__ >= ((maj) << 16) + (min)) --#else --# define __attribute__(x) /* empty */ --# define GNUC_PREREQ(maj, min) 0 --#endif -- --#if GNUC_PREREQ(2, 5) --# define ATTRIBUTE_NORETURN __attribute__((__noreturn__)) --#else --# define ATTRIBUTE_NORETURN /* empty */ --#endif -- --#if GNUC_PREREQ(2, 7) --# define ATTRIBUTE_FORMAT(args) __attribute__((__format__ args)) --# define ATTRIBUTE_ALIGNED(arg) __attribute__((__aligned__(arg))) --# define ATTRIBUTE_PACKED __attribute__((__packed__)) --#else --# define ATTRIBUTE_FORMAT(args) /* empty */ --# define ATTRIBUTE_ALIGNED(arg) /* empty */ --# define ATTRIBUTE_PACKED /* empty */ --#endif -- --#if GNUC_PREREQ(3, 0) --# define ATTRIBUTE_MALLOC __attribute__((__malloc__)) --#else --# define ATTRIBUTE_MALLOC /* empty */ --#endif -- --#if GNUC_PREREQ(3, 1) --# define ATTRIBUTE_NOINLINE __attribute__((__noinline__)) --#else --# define ATTRIBUTE_NOINLINE /* empty */ --#endif -- --#if GNUC_PREREQ(4, 3) --# define ATTRIBUTE_ALLOC_SIZE(args) __attribute__((__alloc_size__ args)) --#else --# define ATTRIBUTE_ALLOC_SIZE(args) /* empty */ --#endif -- - #ifndef offsetof - # define offsetof(type, member) \ - (((char *) &(((type *) NULL)->member)) - ((char *) (type *) NULL)) -diff --git a/gcc_compat.h b/gcc_compat.h -new file mode 100644 -index 0000000..1f2c835 ---- /dev/null -+++ b/gcc_compat.h -@@ -0,0 +1,73 @@ -+/* -+ * Copyright (c) 2015 Dmitry V. Levin <ldv@altlinux.org> -+ * All rights reserved. -+ * -+ * Redistribution and use in source and binary forms, with or without -+ * modification, are permitted provided that the following conditions -+ * are met: -+ * 1. Redistributions of source code must retain the above copyright -+ * notice, this list of conditions and the following disclaimer. -+ * 2. Redistributions in binary form must reproduce the above copyright -+ * notice, this list of conditions and the following disclaimer in the -+ * documentation and/or other materials provided with the distribution. -+ * 3. The name of the author may not be used to endorse or promote products -+ * derived from this software without specific prior written permission. -+ * -+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR -+ * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES -+ * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. -+ * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, -+ * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT -+ * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF -+ * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -+ */ -+ -+#ifndef GCC_COMPAT_H_ -+#define GCC_COMPAT_H_ -+ -+#if defined __GNUC__ && defined __GNUC_MINOR__ -+# define GNUC_PREREQ(maj, min) \ -+ ((__GNUC__ << 16) + __GNUC_MINOR__ >= ((maj) << 16) + (min)) -+#else -+# define __attribute__(x) /* empty */ -+# define GNUC_PREREQ(maj, min) 0 -+#endif -+ -+#if GNUC_PREREQ(2, 5) -+# define ATTRIBUTE_NORETURN __attribute__((__noreturn__)) -+#else -+# define ATTRIBUTE_NORETURN /* empty */ -+#endif -+ -+#if GNUC_PREREQ(2, 7) -+# define ATTRIBUTE_FORMAT(args) __attribute__((__format__ args)) -+# define ATTRIBUTE_ALIGNED(arg) __attribute__((__aligned__(arg))) -+# define ATTRIBUTE_PACKED __attribute__((__packed__)) -+#else -+# define ATTRIBUTE_FORMAT(args) /* empty */ -+# define ATTRIBUTE_ALIGNED(arg) /* empty */ -+# define ATTRIBUTE_PACKED /* empty */ -+#endif -+ -+#if GNUC_PREREQ(3, 0) -+# define ATTRIBUTE_MALLOC __attribute__((__malloc__)) -+#else -+# define ATTRIBUTE_MALLOC /* empty */ -+#endif -+ -+#if GNUC_PREREQ(3, 1) -+# define ATTRIBUTE_NOINLINE __attribute__((__noinline__)) -+#else -+# define ATTRIBUTE_NOINLINE /* empty */ -+#endif -+ -+#if GNUC_PREREQ(4, 3) -+# define ATTRIBUTE_ALLOC_SIZE(args) __attribute__((__alloc_size__ args)) -+#else -+# define ATTRIBUTE_ALLOC_SIZE(args) /* empty */ -+#endif -+ -+#endif --- -1.9.1 - diff --git a/import-layers/yocto-poky/meta/recipes-devtools/strace/strace/0001-arc-metag-nios2-or1k-tile-fix-build.patch b/import-layers/yocto-poky/meta/recipes-devtools/strace/strace/0001-arc-metag-nios2-or1k-tile-fix-build.patch deleted file mode 100644 index a9d32037b..000000000 --- a/import-layers/yocto-poky/meta/recipes-devtools/strace/strace/0001-arc-metag-nios2-or1k-tile-fix-build.patch +++ /dev/null @@ -1,117 +0,0 @@ -From dd1a80c8d213eed95fe55b7ebcb07ee165dd8e4b Mon Sep 17 00:00:00 2001 -From: "Dmitry V. Levin" <ldv@altlinux.org> -Date: Thu, 24 Dec 2015 15:40:55 +0000 -Subject: [PATCH] arc, metag, nios2, or1k, tile: fix build - -Fix build regression introduced by commit -34683e3926d8c2daa368afb805da422ee7043396. - -* linux/32/syscallent.h: Add sys_ prefix to ARCH_mmap and mmap. -* linux/arc/syscallent.h: Add sys_ prefix to ARCH_mmap and mmap_pgoff. -* linux/nios2/syscallent.h: Likewise. -* linux/or1k/syscallent.h: Likewise. -* linux/tile/syscallent1.h: Add sys_ prefix to ARCH_mmap and sys_mmap_4koff. -* pathtrace.c (pathtrace_match): Handle SEN_ARCH_mmap. -* NEWS: Mention this build fix. - -Reported-by: Alexey Brodkin <Alexey.Brodkin@synopsys.com> -Signed-off-by: Marek Vasut <marex@denx.de> -Upstream-Status: Backport ---- - NEWS | 3 +++ - linux/32/syscallent.h | 6 +++--- - linux/arc/syscallent.h | 2 +- - linux/nios2/syscallent.h | 2 +- - linux/or1k/syscallent.h | 2 +- - linux/tile/syscallent1.h | 2 +- - pathtrace.c | 1 + - 7 files changed, 11 insertions(+), 7 deletions(-) - -diff --git a/NEWS b/NEWS -index fe40ca4..09263eb 100644 ---- a/NEWS -+++ b/NEWS -@@ -1,3 +1,9 @@ -+Noteworthy changes in release ?.?? (????-??-??) -+=============================================== -+ -+* Bug fixes -+ * Fixed build on arc, metag, nios2, or1k, and tile architectures. -+ - Noteworthy changes in release 4.11 (2015-12-21) - =============================================== - -diff --git a/linux/32/syscallent.h b/linux/32/syscallent.h -index 5f997e7..e6f895c 100644 ---- a/linux/32/syscallent.h -+++ b/linux/32/syscallent.h -@@ -1,5 +1,5 @@ --#ifndef ARCH_mmap --# define ARCH_mmap mmap -+#ifndef sys_ARCH_mmap -+# define sys_ARCH_mmap sys_mmap - #endif - [ 0] = { 2, 0, SEN(io_setup), "io_setup" }, - [ 1] = { 1, 0, SEN(io_destroy), "io_destroy" }, -@@ -276,5 +276,5 @@ - [283] = { 2, 0, SEN(membarrier), "membarrier", }, - [284] = { 3, TM, SEN(mlock2), "mlock2" }, - --#undef ARCH_mmap -+#undef sys_ARCH_mmap - #undef ARCH_WANT_SYNC_FILE_RANGE2 -diff --git a/linux/arc/syscallent.h b/linux/arc/syscallent.h -index 5847dc4..1100008 100644 ---- a/linux/arc/syscallent.h -+++ b/linux/arc/syscallent.h -@@ -1,4 +1,4 @@ --#define ARCH_mmap mmap_pgoff -+#define sys_ARCH_mmap sys_mmap_pgoff - #include "32/syscallent.h" - [244] = { 3, 0, SEN(printargs), "arc_cacheflush"}, - [245] = { 1, 0, SEN(printargs), "arc_settls" }, -diff --git a/linux/nios2/syscallent.h b/linux/nios2/syscallent.h -index 8a4b70e..01efe3a 100644 ---- a/linux/nios2/syscallent.h -+++ b/linux/nios2/syscallent.h -@@ -1,4 +1,4 @@ --#define ARCH_mmap mmap_pgoff -+#define sys_ARCH_mmap sys_mmap_pgoff - #include "32/syscallent.h" - [244] = {4, 0, SEN(cacheflush), "cacheflush"}, - [245 ... 259] = { }, -diff --git a/linux/or1k/syscallent.h b/linux/or1k/syscallent.h -index ed84b3b..351fe25 100644 ---- a/linux/or1k/syscallent.h -+++ b/linux/or1k/syscallent.h -@@ -1,4 +1,4 @@ --#define ARCH_mmap mmap_pgoff -+#define sys_ARCH_mmap sys_mmap_pgoff - #include "32/syscallent.h" - [244] = { 3, NF, SEN(or1k_atomic), "or1k_atomic" }, - [245 ... 259] = { }, -diff --git a/linux/tile/syscallent1.h b/linux/tile/syscallent1.h -index c86f059..28dbab4 100644 ---- a/linux/tile/syscallent1.h -+++ b/linux/tile/syscallent1.h -@@ -1,4 +1,4 @@ --#define ARCH_mmap mmap_4koff -+#define sys_ARCH_mmap sys_mmap_4koff - #define ARCH_WANT_SYNC_FILE_RANGE2 1 - #include "32/syscallent.h" - [244] = { 1, 0, SEN(printargs), "cmpxchg_badaddr" }, -diff --git a/pathtrace.c b/pathtrace.c -index d530ec2..e72cdf7 100644 ---- a/pathtrace.c -+++ b/pathtrace.c -@@ -216,6 +216,7 @@ pathtrace_match(struct tcb *tcp) - case SEN_mmap: - case SEN_mmap_4koff: - case SEN_mmap_pgoff: -+ case SEN_ARCH_mmap: - /* x, x, x, x, fd */ - return fdmatch(tcp, tcp->u_arg[4]); - --- -2.6.4 - diff --git a/import-layers/yocto-poky/meta/recipes-devtools/strace/strace/0001-scm_rights-fd.test-rewrite-without-fork.patch b/import-layers/yocto-poky/meta/recipes-devtools/strace/strace/0001-scm_rights-fd.test-rewrite-without-fork.patch deleted file mode 100644 index c4e645b81..000000000 --- a/import-layers/yocto-poky/meta/recipes-devtools/strace/strace/0001-scm_rights-fd.test-rewrite-without-fork.patch +++ /dev/null @@ -1,198 +0,0 @@ -From 3fdcdd47c6a67585123a0a0c8fffabcc9f79a3a2 Mon Sep 17 00:00:00 2001 -From: "Dmitry V. Levin" <ldv@altlinux.org> -Date: Tue, 12 Jan 2016 14:47:12 +0000 -Subject: [PATCH] scm_rights-fd.test: rewrite without fork - -* tests/scm_rights.c (main): Rewrite without fork. -Place all objects passed to sendmsg and recvmsg at the end -of memory pages followed by inaccessible pages. -* tests/scm_rights-fd.test: Update. ---- -Signed-off-by: Khem Raj <raj.khem@gmail.com> -Upstream-Status: Backport - - tests/scm_rights-fd.test | 12 ++--- - tests/scm_rights.c | 122 ++++++++++++++++++++++------------------------- - 2 files changed, 63 insertions(+), 71 deletions(-) - -diff --git a/tests/scm_rights-fd.test b/tests/scm_rights-fd.test -index a32ef36..48c5028 100755 ---- a/tests/scm_rights-fd.test -+++ b/tests/scm_rights-fd.test -@@ -49,18 +49,18 @@ touch -- "$file" || - framework_skip_ 'failed to create a file' - - run_prog ./scm_rights /dev/zero --run_strace_merge -y -x -enetwork $args "$file" -+run_strace -y -x -enetwork $args "$file" - -+sample='\\xf1\\xf2\\xf3\\xf4\\xf5\\xf6\\xf7\\xf8\\xf9\\xfa\\xfb\\xfc\\xfd\\xfe\\xff' - n='[1-9][0-9]*' --msg='\{msg_name\(0\)=NULL, msg_iov\(1\)=\[\{"\\x00\\x00\\x00\\x00[^"]*", '"$n"'\}\], msg_controllen='"$n" --rights='\{cmsg_len='"$n"', cmsg_level=SOL_SOCKET, cmsg_type=SCM_RIGHTS, \[3</dev/null>, 4</dev/zero>, 5</[^}>]*/(A\\n){127}Z>\]\}' -+msg='\{msg_name\(0\)=NULL, msg_iov\(1\)=\[\{"'"$sample"'", 15\}\], msg_controllen='"$n" -+rights='\{cmsg_len='"$n"', cmsg_level=SOL_SOCKET, cmsg_type=SCM_RIGHTS, \[4</dev/null>, 5</dev/zero>, 6</[^}>]*/(A\\n){127}Z>\]\}' - creds='\{cmsg_len='"$n"', cmsg_level=SOL_SOCKET, cmsg_type=SCM_CREDENTIALS, \{pid='"$n"', uid=[0-9]+, gid=[0-9]+\}\}' --prefix='[1-9][0-9]* +[0-9]+:[0-9]+:[0-9]+\.[0-9]+ +' - EXPECTED="$LOG.expected" - - cat > "$EXPECTED" << __EOF__ --${prefix}sendmsg\\(1<socket:\\[[0-9]+\\]>, $msg, \\[$rights\\], msg_flags=0\\}, 0\\) += $n --${prefix}recvmsg\\(0<socket:\\[[0-9]+\\]>, $msg, \\[$creds, $rights\\], msg_flags=0\\}, 0\\) += $n -+sendmsg\\(3<socket:\\[[0-9]+\\]>, $msg, \\[$rights\\], msg_flags=0\\}, 0\\) = 15 -+recvmsg\\(0<socket:\\[[0-9]+\\]>, $msg, \\[$creds, $rights\\], msg_flags=0\\}, 0\\) = 15 - __EOF__ - - match_grep "$LOG" "$EXPECTED" -diff --git a/tests/scm_rights.c b/tests/scm_rights.c -index 1e5e850..00af4d5 100644 ---- a/tests/scm_rights.c -+++ b/tests/scm_rights.c -@@ -27,26 +27,39 @@ - - #include "tests.h" - #include <assert.h> --#include <string.h> --#include <stdlib.h> --#include <unistd.h> - #include <errno.h> - #include <fcntl.h> -+#include <stdlib.h> -+#include <string.h> -+#include <unistd.h> - #include <sys/socket.h> --#include <sys/wait.h> - - int main(int ac, const char **av) - { -- int i; -- int data = 0; -- struct iovec iov = { -- .iov_base = &data, -- .iov_len = sizeof(iov) -- }; -+ assert(ac > 0); -+ int fds[ac]; -+ -+ static const char sample[] = -+ "\xf1\xf2\xf3\xf4\xf5\xf6\xf7\xf8\xf9\xfa\xfb\xfc\xfd\xfe\xff"; -+ const unsigned int data_size = sizeof(sample) - 1; -+ void *data = tail_alloc(data_size); -+ memcpy(data, sample, data_size); -+ -+ struct iovec *iov = tail_alloc(sizeof(struct iovec)); -+ iov->iov_base = data; -+ iov->iov_len = data_size; - -- while ((i = open("/dev/null", O_RDWR)) < 3) -+ struct msghdr *mh = tail_alloc(sizeof(struct msghdr)); -+ memset(mh, 0, sizeof(*mh)); -+ mh->msg_iov = iov; -+ mh->msg_iovlen = 1; -+ -+ int i; -+ while ((i = open("/dev/null", O_RDWR)) <= ac + 2) - assert(i >= 0); -- (void) close(3); -+ while (i > 2) -+ assert(close(i--) == 0); -+ assert(close(0) == 0); - - int sv[2]; - if (socketpair(AF_UNIX, SOCK_STREAM, 0, sv)) -@@ -55,60 +68,39 @@ int main(int ac, const char **av) - if (setsockopt(sv[0], SOL_SOCKET, SO_PASSCRED, &one, sizeof(one))) - perror_msg_and_skip("setsockopt"); - -- pid_t pid = fork(); -- if (pid < 0) -- perror_msg_and_fail("fork"); -- -- if (pid) { -- assert(close(sv[0]) == 0); -- assert(dup2(sv[1], 1) == 1); -- assert(close(sv[1]) == 0); -- -- int fds[ac]; -- assert((fds[0] = open("/dev/null", O_RDWR)) == 3); -- for (i = 1; i < ac; ++i) -- assert((fds[i] = open(av[i], O_RDONLY)) == i + 3); -- -- union { -- struct cmsghdr cmsg; -- char buf[CMSG_LEN(sizeof(fds))]; -- } control; -- -- control.cmsg.cmsg_level = SOL_SOCKET; -- control.cmsg.cmsg_type = SCM_RIGHTS; -- control.cmsg.cmsg_len = CMSG_LEN(sizeof(fds)); -- memcpy(CMSG_DATA(&control.cmsg), fds, sizeof(fds)); -- -- struct msghdr mh = { -- .msg_iov = &iov, -- .msg_iovlen = 1, -- .msg_control = &control, -- .msg_controllen = sizeof(control) -- }; -- -- assert(sendmsg(1, &mh, 0) == sizeof(iov)); -- assert(close(1) == 0); -- -- int status; -- assert(waitpid(pid, &status, 0) == pid); -- assert(status == 0); -- } else { -- assert(close(sv[1]) == 0); -- assert(dup2(sv[0], 0) == 0); -- assert(close(sv[0]) == 0); -- -- struct cmsghdr control[4 + ac * sizeof(int) / sizeof(struct cmsghdr)]; -- -- struct msghdr mh = { -- .msg_iov = &iov, -- .msg_iovlen = 1, -- .msg_control = control, -- .msg_controllen = sizeof(control) -- }; -- -- assert(recvmsg(0, &mh, 0) == sizeof(iov)); -- assert(close(0) == 0); -+ assert((fds[0] = open("/dev/null", O_RDWR)) == 4); -+ for (i = 1; i < ac; ++i) -+ assert((fds[i] = open(av[i], O_RDONLY)) == i + 4); -+ -+ unsigned int cmsg_size = CMSG_SPACE(sizeof(fds)); -+ struct cmsghdr *cmsg = tail_alloc(cmsg_size); -+ memset(cmsg, 0, cmsg_size); -+ cmsg->cmsg_level = SOL_SOCKET; -+ cmsg->cmsg_type = SCM_RIGHTS; -+ cmsg->cmsg_len = CMSG_LEN(sizeof(fds)); -+ memcpy(CMSG_DATA(cmsg), fds, sizeof(fds)); -+ -+ mh->msg_control = cmsg; -+ mh->msg_controllen = cmsg_size; -+ -+ assert(sendmsg(sv[1], mh, 0) == (int) data_size); -+ -+ assert(close(sv[1]) == 0); -+ assert(open("/dev/null", O_RDWR) == sv[1]); -+ -+ for (i = 0; i < ac; ++i) { -+ assert(close(fds[i]) == 0); -+ fds[i] = 0; - } - -+ cmsg_size += CMSG_SPACE(sizeof(struct ucred)); -+ cmsg = tail_alloc(cmsg_size); -+ memset(cmsg, 0, cmsg_size); -+ mh->msg_control = cmsg; -+ mh->msg_controllen = cmsg_size; -+ -+ assert(recvmsg(0, mh, 0) == (int) data_size); -+ assert(close(0) == 0); -+ - return 0; - } --- -1.9.1 - diff --git a/import-layers/yocto-poky/meta/recipes-devtools/strace/strace/0001-tests-introduce-libtests.patch b/import-layers/yocto-poky/meta/recipes-devtools/strace/strace/0001-tests-introduce-libtests.patch deleted file mode 100644 index 1575ecd22..000000000 --- a/import-layers/yocto-poky/meta/recipes-devtools/strace/strace/0001-tests-introduce-libtests.patch +++ /dev/null @@ -1,306 +0,0 @@ -From 87e6b230fff800eb768b68b2e5173ebbe83fd3ef Mon Sep 17 00:00:00 2001 -From: "Dmitry V. Levin" <ldv@altlinux.org> -Date: Sat, 2 Jan 2016 12:05:14 +0000 -Subject: [PATCH] tests: introduce libtests - -Introduce tests/libtests.a with common functions for use in tests. - -* tests/tests.h: New file. -* tests/error_msg.c: Likewise. -* tests/tail_alloc.c: Likewise. -* tests/get_page_size.c: Likewise. -* tests/Makefile.am (libtests_a_SOURCES, libtests_a_CPPFLAGS, -check_LIBRARIES, LDADD): New variables. -(clock_xettime_LDADD, filter_unavailable_LDADD, mq_LDADD, -pc_LDADD, times_LDADD): Add $(LDADD). -* tests/.gitignore: Add libtests.a. ---- -Signed-off-by: Khem Raj <raj.khem@gmail.com> -Upstream-Status: Backport - - tests/.gitignore | 1 + - tests/Makefile.am | 20 ++++++++++---- - tests/error_msg.c | 74 +++++++++++++++++++++++++++++++++++++++++++++++++++ - tests/get_page_size.c | 13 +++++++++ - tests/tail_alloc.c | 52 ++++++++++++++++++++++++++++++++++++ - tests/tests.h | 62 ++++++++++++++++++++++++++++++++++++++++++ - 6 files changed, 217 insertions(+), 5 deletions(-) - create mode 100644 tests/error_msg.c - create mode 100644 tests/get_page_size.c - create mode 100644 tests/tail_alloc.c - create mode 100644 tests/tests.h - -diff --git a/tests/Makefile.am b/tests/Makefile.am -index 386a2c2..62d0e56 100644 ---- a/tests/Makefile.am -+++ b/tests/Makefile.am -@@ -40,6 +40,16 @@ AM_CPPFLAGS = $(ARCH_MFLAGS) \ - -I$(top_srcdir) - AM_LDFLAGS = $(ARCH_MFLAGS) - -+libtests_a_SOURCES = \ -+ get_page_size.c \ -+ error_msg.c \ -+ tail_alloc.c \ -+ tests.h \ -+ # end of libtests_a_SOURCES -+libtests_a_CPPFLAGS = $(AM_CPPFLAGS) -D_FILE_OFFSET_BITS=64 -+check_LIBRARIES = libtests.a -+LDADD = libtests.a -+ - check_PROGRAMS = \ - _newselect \ - adjtimex \ -@@ -146,19 +156,19 @@ check_PROGRAMS = \ - xettimeofday \ - # end of check_PROGRAMS - --clock_xettime_LDADD = -lrt --filter_unavailable_LDADD = -lpthread -+clock_xettime_LDADD = -lrt $(LDADD) -+filter_unavailable_LDADD = -lpthread $(LDADD) - fstat64_CPPFLAGS = $(AM_CPPFLAGS) -D_FILE_OFFSET_BITS=64 - fstatat64_CPPFLAGS = $(AM_CPPFLAGS) -D_FILE_OFFSET_BITS=64 - ftruncate64_CPPFLAGS = $(AM_CPPFLAGS) -D_FILE_OFFSET_BITS=64 - lstat64_CPPFLAGS = $(AM_CPPFLAGS) -D_FILE_OFFSET_BITS=64 - mmap64_CPPFLAGS = $(AM_CPPFLAGS) -D_FILE_OFFSET_BITS=64 --mq_LDADD = -lrt -+mq_LDADD = -lrt $(LDADD) - newfstatat_CPPFLAGS = $(AM_CPPFLAGS) -D_FILE_OFFSET_BITS=64 --pc_LDADD = $(dl_LIBS) -+pc_LDADD = $(dl_LIBS) $(LDADD) - stat64_CPPFLAGS = $(AM_CPPFLAGS) -D_FILE_OFFSET_BITS=64 - statfs_CPPFLAGS = $(AM_CPPFLAGS) -D_FILE_OFFSET_BITS=64 --times_LDADD = -lrt -+times_LDADD = -lrt $(LDADD) - truncate64_CPPFLAGS = $(AM_CPPFLAGS) -D_FILE_OFFSET_BITS=64 - uio_CPPFLAGS = $(AM_CPPFLAGS) -D_FILE_OFFSET_BITS=64 - stack_fcall_SOURCES = stack-fcall.c \ -diff --git a/tests/error_msg.c b/tests/error_msg.c -new file mode 100644 -index 0000000..3fd3411 ---- /dev/null -+++ b/tests/error_msg.c -@@ -0,0 +1,74 @@ -+/* -+ * Copyright (c) 2016 Dmitry V. Levin <ldv@altlinux.org> -+ * All rights reserved. -+ * -+ * Redistribution and use in source and binary forms, with or without -+ * modification, are permitted provided that the following conditions -+ * are met: -+ * 1. Redistributions of source code must retain the above copyright -+ * notice, this list of conditions and the following disclaimer. -+ * 2. Redistributions in binary form must reproduce the above copyright -+ * notice, this list of conditions and the following disclaimer in the -+ * documentation and/or other materials provided with the distribution. -+ * 3. The name of the author may not be used to endorse or promote products -+ * derived from this software without specific prior written permission. -+ * -+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR -+ * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES -+ * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. -+ * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, -+ * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT -+ * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF -+ * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -+ */ -+ -+#include "tests.h" -+#include <errno.h> -+#include <stdarg.h> -+#include <stdio.h> -+#include <stdlib.h> -+#include <string.h> -+ -+void -+perror_msg_and_fail(const char *fmt, ...) -+{ -+ int err_no = errno; -+ va_list p; -+ -+ va_start(p, fmt); -+ vfprintf(stderr, fmt, p); -+ if (err_no) -+ fprintf(stderr, ": %s\n", strerror(err_no)); -+ else -+ putc('\n', stderr); -+ exit(1); -+} -+ -+void -+error_msg_and_skip(const char *fmt, ...) -+{ -+ va_list p; -+ -+ va_start(p, fmt); -+ vfprintf(stderr, fmt, p); -+ putc('\n', stderr); -+ exit(77); -+} -+ -+void -+perror_msg_and_skip(const char *fmt, ...) -+{ -+ int err_no = errno; -+ va_list p; -+ -+ va_start(p, fmt); -+ vfprintf(stderr, fmt, p); -+ if (err_no) -+ fprintf(stderr, ": %s\n", strerror(err_no)); -+ else -+ putc('\n', stderr); -+ exit(77); -+} -diff --git a/tests/get_page_size.c b/tests/get_page_size.c -new file mode 100644 -index 0000000..aeea861 ---- /dev/null -+++ b/tests/get_page_size.c -@@ -0,0 +1,13 @@ -+#include "tests.h" -+#include <unistd.h> -+ -+size_t -+get_page_size(void) -+{ -+ static size_t page_size; -+ -+ if (!page_size) -+ page_size = sysconf(_SC_PAGESIZE); -+ -+ return page_size; -+} -diff --git a/tests/tail_alloc.c b/tests/tail_alloc.c -new file mode 100644 -index 0000000..2b8b14e ---- /dev/null -+++ b/tests/tail_alloc.c -@@ -0,0 +1,52 @@ -+/* -+ * Copyright (c) 2015-2016 Dmitry V. Levin <ldv@altlinux.org> -+ * All rights reserved. -+ * -+ * Redistribution and use in source and binary forms, with or without -+ * modification, are permitted provided that the following conditions -+ * are met: -+ * 1. Redistributions of source code must retain the above copyright -+ * notice, this list of conditions and the following disclaimer. -+ * 2. Redistributions in binary form must reproduce the above copyright -+ * notice, this list of conditions and the following disclaimer in the -+ * documentation and/or other materials provided with the distribution. -+ * 3. The name of the author may not be used to endorse or promote products -+ * derived from this software without specific prior written permission. -+ * -+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR -+ * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES -+ * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. -+ * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, -+ * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT -+ * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF -+ * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -+ */ -+ -+#include "tests.h" -+#include <string.h> -+#include <sys/mman.h> -+ -+void * -+tail_alloc(const size_t size) -+{ -+ const size_t page_size = get_page_size(); -+ const size_t len = (size + page_size - 1) & -page_size; -+ const size_t alloc_size = len + 2 * page_size; -+ -+ void *p = mmap(NULL, alloc_size, PROT_READ | PROT_WRITE, -+ MAP_PRIVATE | MAP_ANONYMOUS, -1, 0); -+ if (MAP_FAILED == p) -+ perror_msg_and_fail("mmap(%zu)", alloc_size); -+ -+ void *start_work = p + page_size; -+ void *tail_guard = start_work + len; -+ -+ if (munmap(p, page_size) || munmap(tail_guard, page_size)) -+ perror_msg_and_fail("munmap"); -+ -+ memset(start_work, 0xff, len); -+ return tail_guard - size; -+} -diff --git a/tests/tests.h b/tests/tests.h -new file mode 100644 -index 0000000..91fa24e ---- /dev/null -+++ b/tests/tests.h -@@ -0,0 +1,62 @@ -+/* -+ * Copyright (c) 2016 Dmitry V. Levin <ldv@altlinux.org> -+ * All rights reserved. -+ * -+ * Redistribution and use in source and binary forms, with or without -+ * modification, are permitted provided that the following conditions -+ * are met: -+ * 1. Redistributions of source code must retain the above copyright -+ * notice, this list of conditions and the following disclaimer. -+ * 2. Redistributions in binary form must reproduce the above copyright -+ * notice, this list of conditions and the following disclaimer in the -+ * documentation and/or other materials provided with the distribution. -+ * 3. The name of the author may not be used to endorse or promote products -+ * derived from this software without specific prior written permission. -+ * -+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR -+ * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES -+ * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. -+ * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, -+ * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT -+ * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF -+ * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -+ */ -+ -+#ifndef TESTS_H_ -+# define TESTS_H_ -+ -+# ifdef HAVE_CONFIG_H -+# include "config.h" -+# endif -+ -+# include <sys/types.h> -+# include "gcc_compat.h" -+ -+/* Cached sysconf(_SC_PAGESIZE). */ -+size_t get_page_size(void); -+ -+/* Print message and strerror(errno) to stderr, then exit(1). */ -+void perror_msg_and_fail(const char *, ...) -+ ATTRIBUTE_FORMAT((printf, 1, 2)) ATTRIBUTE_NORETURN; -+/* Print message to stderr, then exit(77). */ -+void error_msg_and_skip(const char *, ...) -+ ATTRIBUTE_FORMAT((printf, 1, 2)) ATTRIBUTE_NORETURN; -+/* Print message and strerror(errno) to stderr, then exit(77). */ -+void perror_msg_and_skip(const char *, ...) -+ ATTRIBUTE_FORMAT((printf, 1, 2)) ATTRIBUTE_NORETURN; -+ -+/* -+ * Allocate memory that ends on the page boundary. -+ * Pages allocated by this call are preceeded by an unmapped page -+ * and followed also by an unmapped page. -+ */ -+void *tail_alloc(const size_t) -+ ATTRIBUTE_MALLOC ATTRIBUTE_ALLOC_SIZE((1)); -+ -+# define SKIP_MAIN_UNDEFINED(arg) \ -+ int main(void) { error_msg_and_skip("undefined: %s", arg); } -+ -+#endif --- -1.9.1 - diff --git a/import-layers/yocto-poky/meta/recipes-devtools/strace/strace/0001-tests-scm_rights.c-use-libtests.patch b/import-layers/yocto-poky/meta/recipes-devtools/strace/strace/0001-tests-scm_rights.c-use-libtests.patch deleted file mode 100644 index 3fbab8b66..000000000 --- a/import-layers/yocto-poky/meta/recipes-devtools/strace/strace/0001-tests-scm_rights.c-use-libtests.patch +++ /dev/null @@ -1,54 +0,0 @@ -From 339a15b619b479c63cafba21d5fc359e613d9ee8 Mon Sep 17 00:00:00 2001 -From: "Dmitry V. Levin" <ldv@altlinux.org> -Date: Mon, 4 Jan 2016 23:53:31 +0000 -Subject: [PATCH] tests/scm_rights.c: use libtests - -* tests/scm_rights.c (main): Use perror_msg_and_fail and perror_msg_and_skip. ---- -Signed-off-by: Khem Raj <raj.khem@gmail.com> -Upstream-Status: Backport - - tests/scm_rights.c | 12 ++++++++---- - 1 file changed, 8 insertions(+), 4 deletions(-) - -diff --git a/tests/scm_rights.c b/tests/scm_rights.c -index c41444f..1e5e850 100644 ---- a/tests/scm_rights.c -+++ b/tests/scm_rights.c -@@ -1,5 +1,5 @@ - /* -- * Copyright (c) 2014-2015 Dmitry V. Levin <ldv@altlinux.org> -+ * Copyright (c) 2014-2016 Dmitry V. Levin <ldv@altlinux.org> - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without -@@ -25,6 +25,7 @@ - * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - */ - -+#include "tests.h" - #include <assert.h> - #include <string.h> - #include <stdlib.h> -@@ -48,12 +49,15 @@ int main(int ac, const char **av) - (void) close(3); - - int sv[2]; -- assert(socketpair(AF_UNIX, SOCK_STREAM, 0, sv) == 0); -+ if (socketpair(AF_UNIX, SOCK_STREAM, 0, sv)) -+ perror_msg_and_skip("socketpair"); - int one = 1; -- assert(setsockopt(sv[0], SOL_SOCKET, SO_PASSCRED, &one, sizeof(one)) == 0); -+ if (setsockopt(sv[0], SOL_SOCKET, SO_PASSCRED, &one, sizeof(one))) -+ perror_msg_and_skip("setsockopt"); - - pid_t pid = fork(); -- assert(pid >= 0); -+ if (pid < 0) -+ perror_msg_and_fail("fork"); - - if (pid) { - assert(close(sv[0]) == 0); --- -1.9.1 - diff --git a/import-layers/yocto-poky/meta/recipes-devtools/strace/strace/Makefile-ptest.patch b/import-layers/yocto-poky/meta/recipes-devtools/strace/strace/Makefile-ptest.patch index 824031e86..2b76e8a11 100644 --- a/import-layers/yocto-poky/meta/recipes-devtools/strace/strace/Makefile-ptest.patch +++ b/import-layers/yocto-poky/meta/recipes-devtools/strace/strace/Makefile-ptest.patch @@ -10,23 +10,22 @@ Signed-off-by: Chong Lu <Chong.Lu@windriver.com> 2 files changed, 19 insertions(+), 1 deletion(-) diff --git a/configure.ac b/configure.ac -index 0209bac..b969e25 100644 --- a/configure.ac +++ b/configure.ac @@ -36,7 +36,7 @@ AC_INIT([strace], AC_CONFIG_SRCDIR([strace.c]) AC_CONFIG_AUX_DIR([.]) AC_CONFIG_HEADERS([config.h]) --AM_INIT_AUTOMAKE([foreign nostdinc dist-xz no-dist-gzip silent-rules parallel-tests]) -+AM_INIT_AUTOMAKE([foreign nostdinc dist-xz no-dist-gzip silent-rules serial-tests]) +-AM_INIT_AUTOMAKE([foreign nostdinc dist-xz silent-rules parallel-tests]) ++AM_INIT_AUTOMAKE([foreign nostdinc dist-xz silent-rules serial-tests]) AM_MAINTAINER_MODE AC_CANONICAL_HOST diff --git a/tests/Makefile.am b/tests/Makefile.am -index 0f23b4b..429f7e9 100644 +index 9023029..e1917fa 100644 --- a/tests/Makefile.am +++ b/tests/Makefile.am -@@ -332,3 +332,21 @@ ksysent.h: $(srcdir)/ksysent.sed +@@ -784,3 +784,21 @@ ksysent.h: $(srcdir)/ksysent.sed BUILT_SOURCES = ksysent.h CLEANFILES = ksysent.h $(TESTS:=.tmp) @@ -48,6 +47,3 @@ index 0f23b4b..429f7e9 100644 + sed -i -e 's/$${srcdir=.}/./g' $(DESTDIR)/$(TESTDIR)/$$file; \ + done + for i in net net-fd scm_rights-fd sigaction; do sed -i -e 's/$$srcdir/./g' $(DESTDIR)/$(TESTDIR)/$$i.test; done --- -1.9.1 - diff --git a/import-layers/yocto-poky/meta/recipes-devtools/strace/strace/mips-SIGEMT.patch b/import-layers/yocto-poky/meta/recipes-devtools/strace/strace/mips-SIGEMT.patch new file mode 100644 index 000000000..b24378bfe --- /dev/null +++ b/import-layers/yocto-poky/meta/recipes-devtools/strace/strace/mips-SIGEMT.patch @@ -0,0 +1,24 @@ +SIGEMT is not defined everywhere e.g musl does +not define it. Therefore check it being defined +before using it. + +Fixes errors e.g. +../../strace-4.13/tests/signal2name.c:45:7: error: 'SIGEMT' undeclared (first use in this function) + +Signed-off-by: Khem Raj <raj.khem@gmail.com> +Upstream-Status: Pending + +Index: strace-4.13/tests/signal2name.c +=================================================================== +--- strace-4.13.orig/tests/signal2name.c ++++ strace-4.13/tests/signal2name.c +@@ -42,7 +42,9 @@ signal2name(int sig) + CASE(SIGEMT); + CASE(SIGLOST); + #elif defined MIPS ++#ifdef SIGEMT + CASE(SIGEMT); ++#endif + CASE(SIGIOT); + CASE(SIGPWR); + #else diff --git a/import-layers/yocto-poky/meta/recipes-devtools/strace/strace/update-gawk-paths.patch b/import-layers/yocto-poky/meta/recipes-devtools/strace/strace/update-gawk-paths.patch index bfc7f3441..94ee53c7f 100644 --- a/import-layers/yocto-poky/meta/recipes-devtools/strace/strace/update-gawk-paths.patch +++ b/import-layers/yocto-poky/meta/recipes-devtools/strace/strace/update-gawk-paths.patch @@ -12,19 +12,20 @@ Upstream-Status: Inappropriate [configuration] Signed-off-by: Andre McCurdy <armccurdy@gmail.com> --- - mpers.awk | 2 +- - tests/caps.awk | 2 +- - tests/match.awk | 2 +- - tests/net-yy-accept.awk | 2 +- - tests/net-yy-connect.awk | 2 +- - tests/sigaction.awk | 2 +- - tests/uid.awk | 2 +- - tests/unix-yy-accept.awk | 2 +- - tests/unix-yy-connect.awk | 2 +- - 9 files changed, 9 insertions(+), 9 deletions(-) + mpers.awk | 2 +- + tests-m32/caps.awk | 2 +- + tests-m32/match.awk | 2 +- + tests-m32/sigaction.awk | 2 +- + tests-mx32/caps.awk | 2 +- + tests-mx32/match.awk | 2 +- + tests-mx32/sigaction.awk | 2 +- + tests/caps.awk | 2 +- + tests/match.awk | 2 +- + tests/sigaction.awk | 2 +- + 10 files changed, 10 insertions(+), 10 deletions(-) diff --git a/mpers.awk b/mpers.awk -index 73bf0b0..50e6c16 100644 +index 99248c5..ff10520 100644 --- a/mpers.awk +++ b/mpers.awk @@ -1,4 +1,4 @@ @@ -32,87 +33,94 @@ index 73bf0b0..50e6c16 100644 +#!/usr/bin/gawk # # Copyright (c) 2015 Elvira Khabirova <lineprinter0@gmail.com> - # Copyright (c) 2015 Dmitry V. Levin <ldv@altlinux.org> -diff --git a/tests/caps.awk b/tests/caps.awk -index bad8b0f..845f37c 100644 ---- a/tests/caps.awk -+++ b/tests/caps.awk + # Copyright (c) 2015-2016 Dmitry V. Levin <ldv@altlinux.org> +diff --git a/tests-m32/caps.awk b/tests-m32/caps.awk +index 67003ac..a66f1f0 100644 +--- a/tests-m32/caps.awk ++++ b/tests-m32/caps.awk @@ -1,4 +1,4 @@ -#!/bin/gawk +#!/usr/bin/gawk # - # Copyright (c) 2014-2015 Dmitry V. Levin <ldv@altlinux.org> - # All rights reserved. -diff --git a/tests/match.awk b/tests/match.awk + # This file is part of caps strace test. + # +diff --git a/tests-m32/match.awk b/tests-m32/match.awk index abfbae9..f2740bf 100644 ---- a/tests/match.awk -+++ b/tests/match.awk +--- a/tests-m32/match.awk ++++ b/tests-m32/match.awk @@ -1,4 +1,4 @@ -#!/bin/gawk +#!/usr/bin/gawk # # Copyright (c) 2014-2015 Dmitry V. Levin <ldv@altlinux.org> # All rights reserved. -diff --git a/tests/net-yy-accept.awk b/tests/net-yy-accept.awk -index fed3e30..e916ab0 100644 ---- a/tests/net-yy-accept.awk -+++ b/tests/net-yy-accept.awk +diff --git a/tests-m32/sigaction.awk b/tests-m32/sigaction.awk +index 5c6b6d0..3e14464 100644 +--- a/tests-m32/sigaction.awk ++++ b/tests-m32/sigaction.awk @@ -1,4 +1,4 @@ -#!/bin/gawk +#!/usr/bin/gawk # - # Copyright (c) 2014 Masatake YAMATO <yamato@redhat.com> # Copyright (c) 2014-2015 Dmitry V. Levin <ldv@altlinux.org> -diff --git a/tests/net-yy-connect.awk b/tests/net-yy-connect.awk -index f4dcf91..b3cec8c 100644 ---- a/tests/net-yy-connect.awk -+++ b/tests/net-yy-connect.awk + # All rights reserved. +diff --git a/tests-mx32/caps.awk b/tests-mx32/caps.awk +index 67003ac..a66f1f0 100644 +--- a/tests-mx32/caps.awk ++++ b/tests-mx32/caps.awk @@ -1,4 +1,4 @@ -#!/bin/gawk +#!/usr/bin/gawk # - # Copyright (c) 2014 Masatake YAMATO <yamato@redhat.com> - # Copyright (c) 2014-2015 Dmitry V. Levin <ldv@altlinux.org> -diff --git a/tests/sigaction.awk b/tests/sigaction.awk -index 5c6b6d0..3e14464 100644 ---- a/tests/sigaction.awk -+++ b/tests/sigaction.awk + # This file is part of caps strace test. + # +diff --git a/tests-mx32/match.awk b/tests-mx32/match.awk +index abfbae9..f2740bf 100644 +--- a/tests-mx32/match.awk ++++ b/tests-mx32/match.awk @@ -1,4 +1,4 @@ -#!/bin/gawk +#!/usr/bin/gawk # # Copyright (c) 2014-2015 Dmitry V. Levin <ldv@altlinux.org> # All rights reserved. -diff --git a/tests/uid.awk b/tests/uid.awk -index a56c5be..67b0749 100644 ---- a/tests/uid.awk -+++ b/tests/uid.awk +diff --git a/tests-mx32/sigaction.awk b/tests-mx32/sigaction.awk +index 5c6b6d0..3e14464 100644 +--- a/tests-mx32/sigaction.awk ++++ b/tests-mx32/sigaction.awk @@ -1,4 +1,4 @@ -#!/bin/gawk +#!/usr/bin/gawk # # Copyright (c) 2014-2015 Dmitry V. Levin <ldv@altlinux.org> # All rights reserved. -diff --git a/tests/unix-yy-accept.awk b/tests/unix-yy-accept.awk -index 4ed60e4..2a9d9c0 100644 ---- a/tests/unix-yy-accept.awk -+++ b/tests/unix-yy-accept.awk +diff --git a/tests/caps.awk b/tests/caps.awk +index 67003ac..a66f1f0 100644 +--- a/tests/caps.awk ++++ b/tests/caps.awk +@@ -1,4 +1,4 @@ +-#!/bin/gawk ++#!/usr/bin/gawk + # + # This file is part of caps strace test. + # +diff --git a/tests/match.awk b/tests/match.awk +index abfbae9..f2740bf 100644 +--- a/tests/match.awk ++++ b/tests/match.awk @@ -1,4 +1,4 @@ -#!/bin/gawk +#!/usr/bin/gawk # - # Copyright (c) 2014 Masatake YAMATO <yamato@redhat.com> # Copyright (c) 2014-2015 Dmitry V. Levin <ldv@altlinux.org> -diff --git a/tests/unix-yy-connect.awk b/tests/unix-yy-connect.awk -index 262bf2e..c809dfa 100644 ---- a/tests/unix-yy-connect.awk -+++ b/tests/unix-yy-connect.awk + # All rights reserved. +diff --git a/tests/sigaction.awk b/tests/sigaction.awk +index 5c6b6d0..3e14464 100644 +--- a/tests/sigaction.awk ++++ b/tests/sigaction.awk @@ -1,4 +1,4 @@ -#!/bin/gawk +#!/usr/bin/gawk # - # Copyright (c) 2014 Masatake YAMATO <yamato@redhat.com> # Copyright (c) 2014-2015 Dmitry V. Levin <ldv@altlinux.org> --- -1.9.1 - + # All rights reserved. diff --git a/import-layers/yocto-poky/meta/recipes-devtools/strace/strace_4.11.bb b/import-layers/yocto-poky/meta/recipes-devtools/strace/strace_4.13.bb index 739138802..cae7f2138 100644 --- a/import-layers/yocto-poky/meta/recipes-devtools/strace/strace_4.11.bb +++ b/import-layers/yocto-poky/meta/recipes-devtools/strace/strace_4.13.bb @@ -9,17 +9,14 @@ SRC_URI = "${SOURCEFORGE_MIRROR}/strace/strace-${PV}.tar.xz \ file://more-robust-test-for-m32-mx32-compile-support.patch \ file://update-gawk-paths.patch \ file://use-asm-sgidefs.h.patch \ - file://0001-arc-metag-nios2-or1k-tile-fix-build.patch \ file://Makefile-ptest.patch \ - file://0001-tests-scm_rights.c-use-libtests.patch \ - file://0001-scm_rights-fd.test-rewrite-without-fork.patch \ - file://0001-Move-gcc-compat-macros-to-gcc_compat.h.patch \ - file://0001-tests-introduce-libtests.patch \ file://run-ptest \ - " + file://0001-Fix-build-when-using-non-glibc-libc-implementation-o.patch \ + file://mips-SIGEMT.patch \ + " -SRC_URI[md5sum] = "a15d2555a7febb56d00c6e1a51c655dc" -SRC_URI[sha256sum] = "e86a5f6cd8f941f67f3e4b28f4e60f3d9185c951cf266404533210a2e5cd8152" +SRC_URI[md5sum] = "4b78c7febdd24c79d5147824d1a080a3" +SRC_URI[sha256sum] = "d48f732576c91ece36a5843d63f9be054c40ef59f1e4773986042636861625d7" inherit autotools ptest bluetooth @@ -49,3 +46,4 @@ do_install_ptest() { } BBCLASSEXTEND = "native" +TOOLCHAIN = "gcc" diff --git a/import-layers/yocto-poky/meta/recipes-devtools/subversion/subversion_1.9.3.bb b/import-layers/yocto-poky/meta/recipes-devtools/subversion/subversion_1.9.4.bb index a19a675c5..3ce83c1da 100644 --- a/import-layers/yocto-poky/meta/recipes-devtools/subversion/subversion_1.9.3.bb +++ b/import-layers/yocto-poky/meta/recipes-devtools/subversion/subversion_1.9.4.bb @@ -8,15 +8,16 @@ HOMEPAGE = "http://subversion.tigris.org" BBCLASSEXTEND = "native" -inherit gettext pythonnative +inherit gettext SRC_URI = "${APACHE_MIRROR}/${BPN}/${BPN}-${PV}.tar.bz2 \ file://disable_macos.patch \ file://serf.m4-Regex-modified-to-allow-D-in-paths.patch \ file://0001-Fix-libtool-name-in-configure.ac.patch \ " -SRC_URI[md5sum] = "243036eb28b50ce517fc228eb3250add" -SRC_URI[sha256sum] = "8bbf6bb125003d88ee1c22935a36b7b1ab7d957e0c8b5fbfe5cb6310b6e86ae0" + +SRC_URI[md5sum] = "29121a038f87641055a8183f49e9739f" +SRC_URI[sha256sum] = "1267f9e2ab983f260623bee841e6c9cc458bf4bf776238ed5f100983f79e9299" LIC_FILES_CHKSUM = "file://LICENSE;md5=af81ae49ba359e70626c05e9bf313709" diff --git a/import-layers/yocto-poky/meta/recipes-devtools/swabber/swabber-native_git.bb b/import-layers/yocto-poky/meta/recipes-devtools/swabber/swabber-native_git.bb deleted file mode 100644 index 2f313bb46..000000000 --- a/import-layers/yocto-poky/meta/recipes-devtools/swabber/swabber-native_git.bb +++ /dev/null @@ -1,21 +0,0 @@ -SUMMARY = "Tool to monitor and report on host system file usage" -HOMEPAGE = "http://git.yoctoproject.org/cgit/cgit.cgi/swabber" -LICENSE = "GPLv2" -LIC_FILES_CHKSUM = "file://COPYING;md5=393a5ca445f6965873eca0259a17f833" - -SRCREV = "2d1fe36fb0a4fdaae8823a9818a6785182d75e66" -PV = "0.0+git${SRCPV}" - -S = "${WORKDIR}/git" - -SRC_URI = "git://git.yoctoproject.org/swabber" - -inherit native - -do_configure () { - : -} - -do_install() { - oe_runmake 'DESTDIR=${D}' install -} diff --git a/import-layers/yocto-poky/meta/recipes-devtools/swig/swig.inc b/import-layers/yocto-poky/meta/recipes-devtools/swig/swig.inc index 9da40df55..704bb27b9 100644 --- a/import-layers/yocto-poky/meta/recipes-devtools/swig/swig.inc +++ b/import-layers/yocto-poky/meta/recipes-devtools/swig/swig.inc @@ -7,14 +7,14 @@ LIC_FILES_CHKSUM = "file://LICENSE;md5=e7807a6282784a7dde4c846626b08fc6 \ SECTION = "devel" -DEPENDS = "libpcre python" +DEPENDS = "libpcre python3" SRC_URI = "${SOURCEFORGE_MIRROR}/${BPN}/${BPN}-${PV}.tar.gz" -inherit autotools pythonnative +inherit autotools python3native EXTRA_OECONF = " \ - --with-python=${PYTHON} \ + --with-python3=${PYTHON} \ --without-allegrocl \ --without-android \ --without-boost \ @@ -33,7 +33,6 @@ EXTRA_OECONF = " \ --without-perl5 \ --without-pike \ --without-php \ - --without-python3 \ --without-r \ --without-ruby \ --without-tcl \ diff --git a/import-layers/yocto-poky/meta/recipes-devtools/systemd-bootchart/systemd-bootchart_230.bb b/import-layers/yocto-poky/meta/recipes-devtools/systemd-bootchart/systemd-bootchart_230.bb new file mode 100644 index 000000000..9ce629a2b --- /dev/null +++ b/import-layers/yocto-poky/meta/recipes-devtools/systemd-bootchart/systemd-bootchart_230.bb @@ -0,0 +1,29 @@ +LICENSE = "LGPLv2.1 & GPLv2" +LIC_FILES_CHKSUM = "file://LICENSE.LGPL2.1;md5=4fbd65380cdd255951079008b364516c \ + file://LICENSE.GPL2;md5=751419260aa954499f7abaabaa882bbe" + +SRC_URI = "git://github.com/systemd/systemd-bootchart.git;protocol=https" + +# Modify these as desired +PV = "230+git${SRCPV}" +SRCREV = "dcb246b46239259ec99b3c6e6ab7d27e1a5a8a84" + +S = "${WORKDIR}/git" + +DEPENDS = "systemd libxslt-native xmlto-native docbook-xml-dtd4-native docbook-xsl-stylesheets-native intltool" + +inherit pkgconfig autotools systemd distro_features_check + +REQUIRED_DISTRO_FEATURES = "systemd" + +SYSTEMD_SERVICE_${PN} = "systemd-bootchart.service" + +do_configure_prepend() { + # intltool.m4 is a soft link to /usr/share/aclocal/m4, delete it and use the one in our sysroot + rm -f ${S}/m4/intltool.m4 +} + +FILES_${PN} += "${systemd_unitdir}/systemd-bootchart" + +EXTRA_OECONF = " --with-rootprefix=${base_prefix} \ + --with-rootlibdir=${base_libdir}" diff --git a/import-layers/yocto-poky/meta/recipes-devtools/tcf-agent/tcf-agent_git.bb b/import-layers/yocto-poky/meta/recipes-devtools/tcf-agent/tcf-agent_git.bb index ab2fcd7ab..e5e41f148 100644 --- a/import-layers/yocto-poky/meta/recipes-devtools/tcf-agent/tcf-agent_git.bb +++ b/import-layers/yocto-poky/meta/recipes-devtools/tcf-agent/tcf-agent_git.bb @@ -5,11 +5,11 @@ BUGTRACKER = "https://bugs.eclipse.org/bugs/" LICENSE = "EPL-1.0 | EDL-1.0" LIC_FILES_CHKSUM = "file://edl-v10.html;md5=522a390a83dc186513f0500543ad3679" -SRCREV = "b9a735e9c7cf82f80d412b7ab15d08b89d5a4ccc" -PV = "1.3.0+git${SRCPV}" +SRCREV = "2dddd5f440a15d5406032fac20f206484513646f" +PV = "1.4.0+git${SRCPV}" UPSTREAM_CHECK_GITTAGREGEX = "(?P<pver>(\d+(\.\d+)+))" -SRC_URI = "git://git.eclipse.org/gitroot/tcf/org.eclipse.tcf.agent.git;branch=1.3_mars_bugfix \ +SRC_URI = "git://git.eclipse.org/gitroot/tcf/org.eclipse.tcf.agent;branch=1.4_neon_bugfix \ file://fix_ranlib.patch \ file://ldflags.patch \ file://0001-canonicalize_file_name-is-specific-to-glibc.patch;striplevel=2 \ diff --git a/import-layers/yocto-poky/meta/recipes-devtools/tcltk/tcl/fix_issue_with_old_distro_glibc.patch b/import-layers/yocto-poky/meta/recipes-devtools/tcltk/tcl/fix_issue_with_old_distro_glibc.patch index 5b5de0730..72a0fa452 100644 --- a/import-layers/yocto-poky/meta/recipes-devtools/tcltk/tcl/fix_issue_with_old_distro_glibc.patch +++ b/import-layers/yocto-poky/meta/recipes-devtools/tcltk/tcl/fix_issue_with_old_distro_glibc.patch @@ -12,7 +12,7 @@ Fixes tcl target recipe build on old distros which have glibc older than 2.14 | Making directory /srv/home/nitin/builds/build-gcc47/tmp/work/x86_64-poky-linux/tcl-8.5.11-r5/image/usr/bin | make: *** [install-msgs] Error 1 -Signed-Off-By: Nitin A Kamble <nitin.a.kamble@intel.com> +Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com> 2012/04/26 Index: unix/Makefile.in diff --git a/import-layers/yocto-poky/meta/recipes-devtools/tcltk/tcl/no_packages.patch b/import-layers/yocto-poky/meta/recipes-devtools/tcltk/tcl/no_packages.patch index ab6cc4316..5c622a236 100644 --- a/import-layers/yocto-poky/meta/recipes-devtools/tcltk/tcl/no_packages.patch +++ b/import-layers/yocto-poky/meta/recipes-devtools/tcltk/tcl/no_packages.patch @@ -5,26 +5,26 @@ Upstream-Status:Inappropriate [embedded specific] Signed-off-by: Bogdan Marinescu <bogdan.a.marinescu@intel.com> -Index: unix/Makefile.in -=================================================================== ---- unix.orig/Makefile.in 2013-11-10 23:38:12.235425891 -0800 -+++ unix/Makefile.in 2013-11-10 23:38:12.231425891 -0800 -@@ -611,7 +611,7 @@ +diff --git a/Makefile.in b/Makefile.in +index b729ffd..2c2e824 100644 +--- a/Makefile.in ++++ b/Makefile.in +@@ -612,7 +612,7 @@ SRCS = $(GENERIC_SRCS) $(TOMMATH_SRCS) $(UNIX_SRCS) $(NOTIFY_SRCS) \ # Start of rules #-------------------------------------------------------------------------- -all: binaries libraries doc packages +all: binaries libraries doc - binaries: ${LIB_FILE} $(STUB_LIB_FILE) ${TCL_EXE} + binaries: ${LIB_FILE} ${TCL_EXE} -@@ -653,12 +653,12 @@ +@@ -656,12 +656,12 @@ Makefile: $(UNIX_DIR)/Makefile.in $(DLTEST_DIR)/Makefile.in #tclConfig.h: $(UNIX_DIR)/tclConfig.h.in # $(SHELL) config.status -clean: clean-packages +clean: - rm -f *.a *.o libtcl* core errs *~ \#* TAGS *.E a.out \ + rm -rf *.a *.o libtcl* core errs *~ \#* TAGS *.E a.out \ errors ${TCL_EXE} ${TCLTEST_EXE} lib.exp Tcl @DTRACE_HDR@ cd dltest ; $(MAKE) clean @@ -33,7 +33,7 @@ Index: unix/Makefile.in rm -rf Makefile config.status config.cache config.log tclConfig.sh \ tclConfig.h *.plist Tcl.framework tcl.pc cd dltest ; $(MAKE) distclean -@@ -706,7 +706,7 @@ +@@ -709,7 +709,7 @@ tcltest-real: # tcltest, ie: # % make test TESTFLAGS="-verbose bps -file fileName.test" @@ -42,7 +42,7 @@ Index: unix/Makefile.in test-tcl: ${TCLTEST_EXE} $(SHELL_ENV) ${TCLTEST_EXE} $(TOP_DIR)/tests/all.tcl $(TESTFLAGS) -@@ -771,7 +771,7 @@ +@@ -774,7 +774,7 @@ INSTALL_PACKAGE_TARGETS = install-packages INSTALL_DEV_TARGETS = install-headers INSTALL_EXTRA_TARGETS = @EXTRA_INSTALL@ INSTALL_TARGETS = $(INSTALL_BASE_TARGETS) $(INSTALL_DOC_TARGETS) $(INSTALL_DEV_TARGETS) \ diff --git a/import-layers/yocto-poky/meta/recipes-devtools/tcltk/tcl_8.6.4.bb b/import-layers/yocto-poky/meta/recipes-devtools/tcltk/tcl_8.6.6.bb index 8e92b3e24..2dd0a7ae9 100644 --- a/import-layers/yocto-poky/meta/recipes-devtools/tcltk/tcl_8.6.4.bb +++ b/import-layers/yocto-poky/meta/recipes-devtools/tcltk/tcl_8.6.6.bb @@ -24,8 +24,8 @@ SRC_URI = "${BASE_SRC_URI} \ file://alter-includedir.patch \ file://run-ptest \ " -SRC_URI[md5sum] = "d7cbb91f1ded1919370a30edd1534304" -SRC_URI[sha256sum] = "9e6ed94c981c1d0c5f5fefb8112d06c6bf4d050a7327e95e71d417c416519c8d" +SRC_URI[md5sum] = "5193aea8107839a79df8ac709552ecb7" +SRC_URI[sha256sum] = "a265409781e4b3edcc4ef822533071b34c3dc6790b893963809b9fe221befe07" SRC_URI_class-native = "${BASE_SRC_URI}" @@ -56,8 +56,6 @@ do_install() { ln -sf tclsh8.6 ${D}${bindir}/tclsh${VER} sed -i "s+-L${B}+-L${STAGING_LIBDIR}+g" tclConfig.sh sed -i "s+${WORKDIR}+${STAGING_INCDIR}+g" tclConfig.sh - sed -i "s,-L${libdir},-L=${libdir},g" tclConfig.sh - sed -i "s,-I${includedir},-I=${includedir},g" tclConfig.sh install -d ${D}${bindir_crossscripts} install -m 0755 tclConfig.sh ${D}${bindir_crossscripts} install -m 0755 tclConfig.sh ${D}${libdir} @@ -68,10 +66,7 @@ do_install() { done } -SYSROOT_PREPROCESS_FUNCS += "tcl_sysroot_preprocess" -tcl_sysroot_preprocess () { - sysroot_stage_dir ${D}${bindir_crossscripts} ${SYSROOT_DESTDIR}${bindir_crossscripts} -} +SYSROOT_DIRS += "${bindir_crossscripts}" PACKAGES =+ "tcl-lib" FILES_tcl-lib = "${libdir}/libtcl8.6.so.*" diff --git a/import-layers/yocto-poky/meta/recipes-devtools/unfs3/unfs3_0.9.22.r497.bb b/import-layers/yocto-poky/meta/recipes-devtools/unfs3/unfs3_0.9.22.r497.bb index eba1139e5..e7574fb72 100644 --- a/import-layers/yocto-poky/meta/recipes-devtools/unfs3/unfs3_0.9.22.r497.bb +++ b/import-layers/yocto-poky/meta/recipes-devtools/unfs3/unfs3_0.9.22.r497.bb @@ -9,8 +9,8 @@ RECIPE_UPSTREAM_DATE = "Oct 08, 2015" CHECK_DATE = "Dec 10, 2015" DEPENDS = "flex-native bison-native flex" -DEPENDS_append_libc-musl = " libtirpc " -DEPENDS_append_class-nativesdk += "flex-nativesdk" +DEPENDS_append_libc-musl = " libtirpc" +DEPENDS_append_class-nativesdk = " flex-nativesdk" MOD_PV = "497" S = "${WORKDIR}/trunk" diff --git a/import-layers/yocto-poky/meta/recipes-devtools/vala/vala.inc b/import-layers/yocto-poky/meta/recipes-devtools/vala/vala.inc index 2a8875f01..34c9db931 100644 --- a/import-layers/yocto-poky/meta/recipes-devtools/vala/vala.inc +++ b/import-layers/yocto-poky/meta/recipes-devtools/vala/vala.inc @@ -11,7 +11,7 @@ HOMEPAGE = "http://vala-project.org" LICENSE = "LGPLv2.1" LIC_FILES_CHKSUM = "file://COPYING;md5=fbc093901857fcd118f065f900982c24" -SHRT_VER = "${@d.getVar('PV',1).split('.')[0]}.${@d.getVar('PV',1).split('.')[1]}" +SHRT_VER = "${@d.getVar('PV', True).split('.')[0]}.${@d.getVar('PV', True).split('.')[1]}" SRC_URI = "http://ftp.gnome.org/pub/GNOME/sources/${BPN}/${SHRT_VER}/${BP}.tar.xz" inherit autotools pkgconfig upstream-version-is-even @@ -36,15 +36,14 @@ do_install_append_class-target() { install ${B}/vapigen-wrapper ${D}${bindir}/ } +# Put vapigen wrapper into target sysroot so that it can be used when building +# vapi files. +SYSROOT_DIRS_append_class-target = " ${bindir}" -SYSROOT_PREPROCESS_FUNCS_append_class-target += "vapigen_sysroot_preprocess" - +SYSROOT_PREPROCESS_FUNCS_append_class-target = " vapigen_sysroot_preprocess" vapigen_sysroot_preprocess() { - # Put vapigen wrapper into target sysroot so that it can be used when building vapi files. - sysroot_stage_dir ${D}${bindir} ${SYSROOT_DESTDIR}${bindir} - - # Also, tweak the vapigen name in vapigen pkgconfig file, so that it picks up our - # wrapper. + # Tweak the vapigen name in the vapigen pkgconfig file, so that it picks + # up our wrapper. sed -i \ -e "s|vapigen=.*|vapigen=${bindir}/vapigen-wrapper|" \ ${SYSROOT_DESTDIR}${datadir}/pkgconfig/vapigen-${SHRT_VER}.pc diff --git a/import-layers/yocto-poky/meta/recipes-devtools/vala/vala_0.30.1.bb b/import-layers/yocto-poky/meta/recipes-devtools/vala/vala_0.32.1.bb index 6394afcc1..b34086e20 100644 --- a/import-layers/yocto-poky/meta/recipes-devtools/vala/vala_0.30.1.bb +++ b/import-layers/yocto-poky/meta/recipes-devtools/vala/vala_0.32.1.bb @@ -4,5 +4,5 @@ SRC_URI += " file://0001-git-version-gen-don-t-append-dirty-if-we-re-not-in-g.pa file://0001-vapigen.m4-use-PKG_CONFIG_SYSROOT_DIR.patch \ " -SRC_URI[md5sum] = "cc2eb2384fc10038b643753d734a5a51" -SRC_URI[sha256sum] = "23add78e5c6a5e6df019d4a885c9c79814c9e0b957519ec8a4f4d826c4e5df2c" +SRC_URI[md5sum] = "755881770bffac020b5ea5f625fbe528" +SRC_URI[sha256sum] = "dd0d47e548a34cfb1e4b04149acd082a86414c49057ffb79902eb9a508a161a9" diff --git a/import-layers/yocto-poky/meta/recipes-devtools/valgrind/valgrind/gcc5-port.patch b/import-layers/yocto-poky/meta/recipes-devtools/valgrind/valgrind/gcc5-port.patch new file mode 100644 index 000000000..76bc82187 --- /dev/null +++ b/import-layers/yocto-poky/meta/recipes-devtools/valgrind/valgrind/gcc5-port.patch @@ -0,0 +1,64 @@ +backport fix from upstream to fix build errors with gcc 6 + +http://valgrind.10908.n7.nabble.com/Valgrind-r15773-in-trunk-configure-ac-drd-tests-std-thread-cpp-drd-tests-std-thread2-cpp-td56109.html + +../../../valgrind-3.11.0/drd/tests/std_thread.cpp:30:3: error: '_Impl_base' is not a member of 'std::thread' + std::thread::_Impl_base* __t = static_cast<std::thread::_Impl_base*>(__p); + ^~~ +../../../valgrind-3.11.0/drd/tests/std_thread.cpp:30:28: error: '__t' was not declared in this scope + std::thread::_Impl_base* __t = static_cast<std::thread::_Impl_base*>(__p); + ^~~ +../../../valgrind-3.11.0/drd/tests/std_thread.cpp:30:59: error: '_Impl_base' in 'class std::thread' does not name a type + std::thread::_Impl_base* __t = static_cast<std::thread::_Impl_base*>(__p); + ^~~~~~~~~~ + +Signed-off-by: Khem Raj <raj.khem@gmail.com> +Upstream-Status: Backport + +Index: configure.ac +=================================================================== +--- a/configure.ac (revision 15772) ++++ b/configure.ac (revision 15773) +@@ -160,7 +160,7 @@ + icc-1[[3-9]].*) + AC_MSG_RESULT([ok (ICC version ${gcc_version})]) + ;; +- notclang-[[3-9]].*|notclang-[[1-9][0-9]]*) ++ notclang-[[3-9]]|notclang-[[3-9]].*|notclang-[[1-9][0-9]]*) + AC_MSG_RESULT([ok (${gcc_version})]) + ;; + clang-2.9|clang-[[3-9]].*|clang-[[1-9][0-9]]*) +Index: drd/tests/std_thread2.cpp +=================================================================== +--- a/drd/tests/std_thread2.cpp (revision 15772) ++++ b/drd/tests/std_thread2.cpp (revision 15773) +@@ -26,6 +26,7 @@ + return 0; + } + ++#if defined(__GNUC__) && __GNUC__ -0 < 6 + // + // From libstdc++-v3/src/c++11/thread.cc + // +@@ -70,3 +71,4 @@ + } + } + } ++#endif +Index: drd/tests/std_thread.cpp +=================================================================== +--- a/drd/tests/std_thread.cpp (revision 15772) ++++ b/drd/tests/std_thread.cpp (revision 15773) +@@ -21,6 +21,7 @@ + return 0; + } + ++#if defined(__GNUC__) && __GNUC__ -0 < 6 + // + // From libstdc++-v3/src/c++11/thread.cc + // +@@ -65,3 +66,4 @@ + } + } + } ++#endif diff --git a/import-layers/yocto-poky/meta/recipes-devtools/valgrind/valgrind_3.11.0.bb b/import-layers/yocto-poky/meta/recipes-devtools/valgrind/valgrind_3.11.0.bb index 51c88bf7a..42fd27f53 100644 --- a/import-layers/yocto-poky/meta/recipes-devtools/valgrind/valgrind_3.11.0.bb +++ b/import-layers/yocto-poky/meta/recipes-devtools/valgrind/valgrind_3.11.0.bb @@ -23,6 +23,7 @@ SRC_URI = "http://www.valgrind.org/downloads/valgrind-${PV}.tar.bz2 \ file://0001-Remove-tests-that-fail-to-build-on-some-PPC32-config.patch \ file://use-appropriate-march-mcpu-mfpu-for-ARM-test-apps.patch \ file://avoid-neon-for-targets-which-don-t-support-it.patch \ + file://gcc5-port.patch \ " SRC_URI_append_libc-musl = "\ file://0001-fix-build-for-musl-targets.patch \ @@ -37,6 +38,10 @@ COMPATIBLE_HOST_armv4 = 'null' COMPATIBLE_HOST_armv5 = 'null' COMPATIBLE_HOST_armv6 = 'null' +# valgrind doesn't like mips soft float +COMPATIBLE_HOST_mips = "${@bb.utils.contains("TARGET_FPU", "soft", "null", ".*-linux", d)}" +COMPATIBLE_HOST_mipsel = "${@bb.utils.contains("TARGET_FPU", "soft", "null", ".*-linux", d)}" + inherit autotools ptest EXTRA_OECONF = "--enable-tls --without-mpicc" @@ -68,9 +73,9 @@ RRECOMMENDS_${PN} += "${TCLIBC}-dbg" RDEPENDS_${PN}-ptest += " sed perl perl-module-file-glob" RDEPENDS_${PN}-ptest_append_libc-glibc = " glibc-utils" -# One of the tests contains a bogus interpreter path on purpose, and QA -# check complains about it -INSANE_SKIP_${PN}-ptest += "file-rdeps" +# One of the tests contains a bogus interpreter path on purpose. +# Skip file dependency check +SKIP_FILEDEPS_${PN}-ptest = '1' do_compile_ptest() { oe_runmake check diff --git a/import-layers/yocto-poky/meta/recipes-devtools/xmlto/xmlto_0.0.28.bb b/import-layers/yocto-poky/meta/recipes-devtools/xmlto/xmlto_0.0.28.bb index 71f873f9e..aaaeb6eb2 100644 --- a/import-layers/yocto-poky/meta/recipes-devtools/xmlto/xmlto_0.0.28.bb +++ b/import-layers/yocto-poky/meta/recipes-devtools/xmlto/xmlto_0.0.28.bb @@ -13,8 +13,9 @@ SRC_URI[md5sum] = "a1fefad9d83499a15576768f60f847c6" SRC_URI[sha256sum] = "2f986b7c9a0e9ac6728147668e776d405465284e13c74d4146c9cbc51fd8aad3" inherit autotools +RDEPENDS_class-native = "libxslt-native" -# xmlto needs getopt/xmllint/xsltproc/bash at runtime +# xmlto needs getopt/xmllint/xsltproc/bash/tail at runtime RDEPENDS_${PN} = "docbook-xml-dtd4 \ docbook-xsl-stylesheets \ util-linux \ @@ -23,7 +24,9 @@ RDEPENDS_${PN} = "docbook-xml-dtd4 \ " RDEPENDS_${PN}_append_class-target = " \ libxslt-bin \ + coreutils \ " +CACHED_CONFIGUREVARS += "ac_cv_path_TAIL=${bindir}/tail" BBCLASSEXTEND = "native" |