diff options
author | Richard Purdie <richard.purdie@linuxfoundation.org> | 2012-08-24 14:10:59 +0000 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2012-08-24 17:25:14 +0100 |
commit | 16a7a61510b60e9a11f4c2018cca3294cd8eb29f (patch) | |
tree | ad9e0fe1193ce60aeb379b5e889725250fc9599b | |
parent | deee2b224bc49ad30814169aa094aa0610ee9956 (diff) | |
download | poky-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.inc | 3 | ||||
-rw-r--r-- | meta/recipes-devtools/gcc/gcc-4.7/libtool.patch | 29 |
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 @@ | |||
1 | require gcc-common.inc | 1 | require gcc-common.inc |
2 | 2 | ||
3 | PR = "r10" | 3 | PR = "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 | ||
79 | S = "${TMPDIR}/work-shared/gcc-${PV}-${PR}/git" | 80 | 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 @@ | |||
1 | libstdc++ from gcc-runtime gets created with -rpath=/usr/lib/../lib for qemux86-64 | ||
2 | when running on am x86_64 build host. | ||
3 | |||
4 | This patch stops this speading to libdir in the libstdc++.la file within libtool. | ||
5 | Aguably, it shouldn't be passing this into libtool in the first place but | ||
6 | for now this resolves the nastiest problems this causes. | ||
7 | |||
8 | func_normal_abspath would resolve an empty path to `pwd` so we need | ||
9 | to filter the zero case. | ||
10 | |||
11 | RP 2012/8/24 | ||
12 | |||
13 | Upstream-Status: Pending | ||
14 | |||
15 | Index: 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 | ||