summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRichard Purdie <richard.purdie@linuxfoundation.org>2012-08-24 14:10:59 +0000
committerRichard Purdie <richard.purdie@linuxfoundation.org>2012-08-24 17:25:14 +0100
commit16a7a61510b60e9a11f4c2018cca3294cd8eb29f (patch)
treead9e0fe1193ce60aeb379b5e889725250fc9599b
parentdeee2b224bc49ad30814169aa094aa0610ee9956 (diff)
downloadpoky-16a7a61510b60e9a11f4c2018cca3294cd8eb29f.tar.gz
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 <richard.purdie@linuxfoundation.org>
-rw-r--r--meta/recipes-devtools/gcc/gcc-4.7.inc3
-rw-r--r--meta/recipes-devtools/gcc/gcc-4.7/libtool.patch29
2 files changed, 31 insertions, 1 deletions
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 @@
1require gcc-common.inc 1require gcc-common.inc
2 2
3PR = "r10" 3PR = "r11"
4 4
5# Third digit in PV should be incremented after a minor release 5# Third digit in PV should be incremented after a minor release
6# happens from this branch on gcc e.g. currently its 4.7.1 6# 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 \
74 file://gcc-argument-list-too-long.patch \ 74 file://gcc-argument-list-too-long.patch \
75 file://fix-g++-sysroot.patch \ 75 file://fix-g++-sysroot.patch \
76 file://disablesdt.patch \ 76 file://disablesdt.patch \
77 file://libtool.patch \
77 " 78 "
78 79
79S = "${TMPDIR}/work-shared/gcc-${PV}-${PR}/git" 80S = "${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 @@
1libstdc++ from gcc-runtime gets created with -rpath=/usr/lib/../lib for qemux86-64
2when running on am x86_64 build host.
3
4This patch stops this speading to libdir in the libstdc++.la file within libtool.
5Aguably, it shouldn't be passing this into libtool in the first place but
6for now this resolves the nastiest problems this causes.
7
8func_normal_abspath would resolve an empty path to `pwd` so we need
9to filter the zero case.
10
11RP 2012/8/24
12
13Upstream-Status: Pending
14
15Index: git/ltmain.sh
16===================================================================
17--- git.orig/ltmain.sh 2012-08-24 11:45:58.597087961 +0000
18+++ git/ltmain.sh 2012-08-24 12:18:37.961042581 +0000
19@@ -6359,6 +6359,10 @@
20 func_warning "ignoring multiple \`-rpath's for a libtool library"
21
22 install_libdir="$1"
23+ if test -n "$install_libdir"; then
24+ func_normal_abspath "$install_libdir"
25+ install_libdir=$func_normal_abspath_result
26+ fi
27
28 oldlibs=
29 if test -z "$rpath"; then