summaryrefslogtreecommitdiffstats
path: root/meta/recipes-devtools/gcc
diff options
context:
space:
mode:
authorRoss Burton <ross.burton@intel.com>2016-01-04 13:02:11 +0000
committerRichard Purdie <richard.purdie@linuxfoundation.org>2016-01-07 13:40:15 +0000
commitd462b70b29d7a26c67bb3546d5d6797f138395c5 (patch)
tree2d057415fb254f06fd6b2ecc3c4c7baae1529c74 /meta/recipes-devtools/gcc
parent3eb6135d8958037b4e81c7ab034d9be2e5c20899 (diff)
downloadpoky-d462b70b29d7a26c67bb3546d5d6797f138395c5.tar.gz
gcc-sanitizers: link directly against sysroot libstc++
Instead of building a shadow libstdc++-v3 directory with symlinks to the sysroot libstdc++-v3.la, fiddle the Makefiles so that it doesn't attempt to link to a in-tree library at all. This fixes builds where .la files are not being installed into the sysroot at all. (From OE-Core rev: f0f814a674faef2160fb8a041b63169c74da108e) Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'meta/recipes-devtools/gcc')
-rw-r--r--meta/recipes-devtools/gcc/gcc-sanitizers.inc9
1 files changed, 2 insertions, 7 deletions
diff --git a/meta/recipes-devtools/gcc/gcc-sanitizers.inc b/meta/recipes-devtools/gcc/gcc-sanitizers.inc
index a7b5d71fa0..03627ffc4b 100644
--- a/meta/recipes-devtools/gcc/gcc-sanitizers.inc
+++ b/meta/recipes-devtools/gcc/gcc-sanitizers.inc
@@ -21,19 +21,14 @@ do_configure () {
21 echo "Configuring libsanitizer" 21 echo "Configuring libsanitizer"
22 rm -rf ${B}/$target/libsanitizer/ 22 rm -rf ${B}/$target/libsanitizer/
23 mkdir -p ${B}/$target/libsanitizer/ 23 mkdir -p ${B}/$target/libsanitizer/
24 # This is kind of gross, but it's an easy way to make configure happy
25 # without hacking it up to use the system stdc++ instead of the one it
26 # expects to be newly built.
27 rm -rf ${B}/$target/libstdc++-v3/
28 mkdir -p ${B}/$target/libstdc++-v3/src/
29 ln -s ${STAGING_LIBDIR}/libstdc++.la ${B}/$target/libstdc++-v3/src/
30 ln -s ${STAGING_LIBDIR}/libstdc++.so ${B}/$target/libstdc++-v3/src/
31 cd ${B}/$target/libsanitizer/ 24 cd ${B}/$target/libsanitizer/
32 chmod a+x ${S}/libsanitizer/configure 25 chmod a+x ${S}/libsanitizer/configure
33 ${S}/libsanitizer/configure ${CONFIGUREOPTS} ${EXTRA_OECONF} 26 ${S}/libsanitizer/configure ${CONFIGUREOPTS} ${EXTRA_OECONF}
34 # Easiest way to stop bad RPATHs getting into the library since we have a 27 # Easiest way to stop bad RPATHs getting into the library since we have a
35 # broken libtool here 28 # broken libtool here
36 sed -i -e 's/hardcode_into_libs=yes/hardcode_into_libs=no/' ${B}/$target/libsanitizer/libtool 29 sed -i -e 's/hardcode_into_libs=yes/hardcode_into_libs=no/' ${B}/$target/libsanitizer/libtool
30 # Link to the sysroot's libstdc++ instead of one gcc thinks it just built
31 sed -i -e '/LIBSTDCXX_RAW_CXX_\(CXXFLAGS\|LDFLAGS\)\s*=/d' ${B}/$target/libsanitizer/*/Makefile
37} 32}
38 33
39do_compile () { 34do_compile () {