summaryrefslogtreecommitdiffstats
path: root/meta/recipes-devtools/gcc/gcc-sanitizers.inc
diff options
context:
space:
mode:
authorHongxu Jia <hongxu.jia@windriver.com>2016-02-19 00:54:40 -0500
committerRichard Purdie <richard.purdie@linuxfoundation.org>2016-02-28 11:32:33 +0000
commitb806e4c004a7e10461fe7428fc130a5aa2528039 (patch)
treeff25ef035d6babb60d2423fd28f08ecf24757c18 /meta/recipes-devtools/gcc/gcc-sanitizers.inc
parente469717d324b3aa29f165c7dc242c9d634be168f (diff)
downloadopenembedded-core-contrib-b806e4c004a7e10461fe7428fc130a5aa2528039.tar.gz
gcc: use relative path for configure script
The absolute path (/path/to/configure) caused __FILE__ to be an absolute path. If 'assert' invoked, it uses __FILE__, and build path would be in elf files. In assert.h ... .# define assert(expr) \ ((expr) \ ? __ASSERT_VOID_CAST (0) \ : __assert_fail (__STRING(expr), __FILE__, __LINE__, __ASSERT_FUNCTION)) ... Which triggered buildpaths QA issue: ... | libgcc-5.3.0: File work/core2-64-poky-linux/libgcc/5.3.0-r0/packages-split/ libgcc-dev/usr/lib64/x86_64-poky-linux/5.3.0/libgcc.a in package contained reference to tmpdir [buildpaths] ... Use relative path to run configure can fix the problem. [YOCTO #7058] Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
Diffstat (limited to 'meta/recipes-devtools/gcc/gcc-sanitizers.inc')
-rw-r--r--meta/recipes-devtools/gcc/gcc-sanitizers.inc3
1 files changed, 2 insertions, 1 deletions
diff --git a/meta/recipes-devtools/gcc/gcc-sanitizers.inc b/meta/recipes-devtools/gcc/gcc-sanitizers.inc
index 03627ffc4b3..6091a0b6fb5 100644
--- a/meta/recipes-devtools/gcc/gcc-sanitizers.inc
+++ b/meta/recipes-devtools/gcc/gcc-sanitizers.inc
@@ -23,7 +23,8 @@ do_configure () {
mkdir -p ${B}/$target/libsanitizer/
cd ${B}/$target/libsanitizer/
chmod a+x ${S}/libsanitizer/configure
- ${S}/libsanitizer/configure ${CONFIGUREOPTS} ${EXTRA_OECONF}
+ relpath=${@os.path.relpath("${S}/libsanitizer", "${B}/$target/libsanitizer")}
+ $relpath/configure ${CONFIGUREOPTS} ${EXTRA_OECONF}
# Easiest way to stop bad RPATHs getting into the library since we have a
# broken libtool here
sed -i -e 's/hardcode_into_libs=yes/hardcode_into_libs=no/' ${B}/$target/libsanitizer/libtool