gcc-4.7: Add fix for libtool rpath problems
authorRichard Purdie <richard.purdie@linuxfoundation.org>
Fri, 24 Aug 2012 14:10:59 +0000 (14:10 +0000)
committerRichard Purdie <richard.purdie@linuxfoundation.org>
Fri, 24 Aug 2012 16:25:14 +0000 (17:25 +0100)
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 <richard.purdie@linuxfoundation.org>
meta/recipes-devtools/gcc/gcc-4.7.inc
meta/recipes-devtools/gcc/gcc-4.7/libtool.patch [new file with mode: 0644]

index 36ce1be..84c230c 100644 (file)
@@ -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 (file)
index 0000000..9580b23
--- /dev/null
@@ -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