summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJonathan Liu <net147@gmail.com>2013-07-21 20:07:42 +1000
committerRichard Purdie <richard.purdie@linuxfoundation.org>2013-07-29 13:08:58 +0100
commitdd8865aac9b0cb86f16897e59f6fd77a2c6cb000 (patch)
tree99c463f1c1f9831fcedb4e7f915512a8cfa7a84c
parent67864ca79da08df752487a3a4e1a975546da123d (diff)
downloadpoky-dd8865aac9b0cb86f16897e59f6fd77a2c6cb000.tar.gz
gcc-4.8: fix compiling GCC when /usr/lib/libstdc++.so is present
libtool is picking up libstdc++.so from /usr/lib when trying to link libasan due to libstdc++.la containing libdir="/usr/lib". If compiling for x86 and the host has 64-bit /usr/lib/libstdc++.so, the compilation fails linking libasan with: /usr/lib/libstdc++.so: could not read symbols: File in wrong format To resolve this, patch libtool to look for the library in the path the .la is contained in rather than use the libdir which usually points to a host path. [YOCTO #4879] (From OE-Core rev: ec95dfeea1f17eb232563e105085852058a86c0b) Signed-off-by: Jonathan Liu <net147@gmail.com> Signed-off-by: Saul Wold <sgw@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
-rw-r--r--meta/recipes-devtools/gcc/gcc-4.8.inc1
-rw-r--r--meta/recipes-devtools/gcc/gcc-4.8/0041-libtool-avoid-libdir.patch19
2 files changed, 20 insertions, 0 deletions
diff --git a/meta/recipes-devtools/gcc/gcc-4.8.inc b/meta/recipes-devtools/gcc/gcc-4.8.inc
index dafa2415ec..42355f2102 100644
--- a/meta/recipes-devtools/gcc/gcc-4.8.inc
+++ b/meta/recipes-devtools/gcc/gcc-4.8.inc
@@ -70,6 +70,7 @@ SRC_URI = "${GNU_MIRROR}/gcc/gcc-${PV}/gcc-${PV}.tar.bz2 \
70 file://0038-gcc-4.8-build-args.patch \ 70 file://0038-gcc-4.8-build-args.patch \
71 file://0039-gcc-4.8-PR57717.patch \ 71 file://0039-gcc-4.8-PR57717.patch \
72 file://0040-fix-g++-sysroot.patch \ 72 file://0040-fix-g++-sysroot.patch \
73 file://0041-libtool-avoid-libdir.patch \
73 " 74 "
74SRC_URI[md5sum] = "3b2386c114cd74185aa3754b58a79304" 75SRC_URI[md5sum] = "3b2386c114cd74185aa3754b58a79304"
75SRC_URI[sha256sum] = "545b44be3ad9f2c4e90e6880f5c9d4f0a8f0e5f67e1ffb0d45da9fa01bb05813" 76SRC_URI[sha256sum] = "545b44be3ad9f2c4e90e6880f5c9d4f0a8f0e5f67e1ffb0d45da9fa01bb05813"
diff --git a/meta/recipes-devtools/gcc/gcc-4.8/0041-libtool-avoid-libdir.patch b/meta/recipes-devtools/gcc/gcc-4.8/0041-libtool-avoid-libdir.patch
new file mode 100644
index 0000000000..2dd9610a2f
--- /dev/null
+++ b/meta/recipes-devtools/gcc/gcc-4.8/0041-libtool-avoid-libdir.patch
@@ -0,0 +1,19 @@
1Avoid using libdir from .la which usually points to a host path
2
3Upstream-Status: Inappropriate [embedded specific]
4Signed-off-by: Jonathan Liu <net147@gmail.com>
5
6diff --git a/ltmain.sh b/ltmain.sh
7index a03433f..1902a90 100644
8--- a/ltmain.sh
9+++ b/ltmain.sh
10@@ -5628,6 +5628,9 @@ func_mode_link ()
11 absdir="$abs_ladir"
12 libdir="$abs_ladir"
13 else
14+ # Instead of using libdir from .la which usually points to a host path,
15+ # use the path the .la is contained in.
16+ libdir="$abs_ladir"
17 dir="$libdir"
18 absdir="$libdir"
19 fi