From 16a7a61510b60e9a11f4c2018cca3294cd8eb29f Mon Sep 17 00:00:00 2001 From: Richard Purdie Date: Fri, 24 Aug 2012 14:10:59 +0000 Subject: gcc-4.7: Add fix for libtool rpath problems This avoids problems with libstdc++ having bad rpaths (/usr/lib/../.lib) in its .la file. See the patch for more information. (From OE-Core rev: bd27e81f1fa49e2770da9a4a65a83e9d4c3a0dd0) Signed-off-by: Richard Purdie --- meta/recipes-devtools/gcc/gcc-4.7.inc | 3 ++- meta/recipes-devtools/gcc/gcc-4.7/libtool.patch | 29 +++++++++++++++++++++++++ 2 files changed, 31 insertions(+), 1 deletion(-) create mode 100644 meta/recipes-devtools/gcc/gcc-4.7/libtool.patch diff --git a/meta/recipes-devtools/gcc/gcc-4.7.inc b/meta/recipes-devtools/gcc/gcc-4.7.inc index 36ce1be0e8..84c230c30b 100644 --- a/meta/recipes-devtools/gcc/gcc-4.7.inc +++ b/meta/recipes-devtools/gcc/gcc-4.7.inc @@ -1,6 +1,6 @@ require gcc-common.inc -PR = "r10" +PR = "r11" # Third digit in PV should be incremented after a minor release # happens from this branch on gcc e.g. currently its 4.7.1 @@ -74,6 +74,7 @@ SRC_URI = "git://github.com/mirrors/gcc.git;branch=${BRANCH};protocol=git \ file://gcc-argument-list-too-long.patch \ file://fix-g++-sysroot.patch \ file://disablesdt.patch \ + file://libtool.patch \ " S = "${TMPDIR}/work-shared/gcc-${PV}-${PR}/git" diff --git a/meta/recipes-devtools/gcc/gcc-4.7/libtool.patch b/meta/recipes-devtools/gcc/gcc-4.7/libtool.patch new file mode 100644 index 0000000000..9580b23d8e --- /dev/null +++ b/meta/recipes-devtools/gcc/gcc-4.7/libtool.patch @@ -0,0 +1,29 @@ +libstdc++ from gcc-runtime gets created with -rpath=/usr/lib/../lib for qemux86-64 +when running on am x86_64 build host. + +This patch stops this speading to libdir in the libstdc++.la file within libtool. +Aguably, it shouldn't be passing this into libtool in the first place but +for now this resolves the nastiest problems this causes. + +func_normal_abspath would resolve an empty path to `pwd` so we need +to filter the zero case. + +RP 2012/8/24 + +Upstream-Status: Pending + +Index: git/ltmain.sh +=================================================================== +--- git.orig/ltmain.sh 2012-08-24 11:45:58.597087961 +0000 ++++ git/ltmain.sh 2012-08-24 12:18:37.961042581 +0000 +@@ -6359,6 +6359,10 @@ + func_warning "ignoring multiple \`-rpath's for a libtool library" + + install_libdir="$1" ++ if test -n "$install_libdir"; then ++ func_normal_abspath "$install_libdir" ++ install_libdir=$func_normal_abspath_result ++ fi + + oldlibs= + if test -z "$rpath"; then -- cgit v1.2.3-54-g00ecf