summaryrefslogtreecommitdiffstats
path: root/meta/recipes-devtools/gcc
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:58 +0000
commitb14e2ae9bcb53569ecefdaf6ef08fbca6242eb5c (patch)
tree4642620673649e819aad20b274c8bbb7cf273d9a /meta/recipes-devtools/gcc
parent1f00fb2eb64c82021d6d637c9fe1e12bda5e262e (diff)
downloadpoky-b14e2ae9bcb53569ecefdaf6ef08fbca6242eb5c.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] (From OE-Core rev: b806e4c004a7e10461fe7428fc130a5aa2528039) Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com> 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-runtime.inc3
-rw-r--r--meta/recipes-devtools/gcc/gcc-sanitizers.inc3
-rw-r--r--meta/recipes-devtools/gcc/libgcc-common.inc3
-rw-r--r--meta/recipes-devtools/gcc/libgfortran.inc3
4 files changed, 8 insertions, 4 deletions
diff --git a/meta/recipes-devtools/gcc/gcc-runtime.inc b/meta/recipes-devtools/gcc/gcc-runtime.inc
index f20d298b6a..844149fed1 100644
--- a/meta/recipes-devtools/gcc/gcc-runtime.inc
+++ b/meta/recipes-devtools/gcc/gcc-runtime.inc
@@ -29,7 +29,8 @@ do_configure () {
29 mkdir -p ${B}/$target/$d/ 29 mkdir -p ${B}/$target/$d/
30 cd ${B}/$target/$d/ 30 cd ${B}/$target/$d/
31 chmod a+x ${S}/$d/configure 31 chmod a+x ${S}/$d/configure
32 ${S}/$d/configure ${CONFIGUREOPTS} ${EXTRA_OECONF} 32 relpath=${@os.path.relpath("${S}/$d", "${B}/$target/$d")}
33 $relpath/configure ${CONFIGUREOPTS} ${EXTRA_OECONF}
33 done 34 done
34} 35}
35 36
diff --git a/meta/recipes-devtools/gcc/gcc-sanitizers.inc b/meta/recipes-devtools/gcc/gcc-sanitizers.inc
index 03627ffc4b..6091a0b6fb 100644
--- a/meta/recipes-devtools/gcc/gcc-sanitizers.inc
+++ b/meta/recipes-devtools/gcc/gcc-sanitizers.inc
@@ -23,7 +23,8 @@ do_configure () {
23 mkdir -p ${B}/$target/libsanitizer/ 23 mkdir -p ${B}/$target/libsanitizer/
24 cd ${B}/$target/libsanitizer/ 24 cd ${B}/$target/libsanitizer/
25 chmod a+x ${S}/libsanitizer/configure 25 chmod a+x ${S}/libsanitizer/configure
26 ${S}/libsanitizer/configure ${CONFIGUREOPTS} ${EXTRA_OECONF} 26 relpath=${@os.path.relpath("${S}/libsanitizer", "${B}/$target/libsanitizer")}
27 $relpath/configure ${CONFIGUREOPTS} ${EXTRA_OECONF}
27 # Easiest way to stop bad RPATHs getting into the library since we have a 28 # Easiest way to stop bad RPATHs getting into the library since we have a
28 # broken libtool here 29 # broken libtool here
29 sed -i -e 's/hardcode_into_libs=yes/hardcode_into_libs=no/' ${B}/$target/libsanitizer/libtool 30 sed -i -e 's/hardcode_into_libs=yes/hardcode_into_libs=no/' ${B}/$target/libsanitizer/libtool
diff --git a/meta/recipes-devtools/gcc/libgcc-common.inc b/meta/recipes-devtools/gcc/libgcc-common.inc
index b09ea657e7..dae07e96da 100644
--- a/meta/recipes-devtools/gcc/libgcc-common.inc
+++ b/meta/recipes-devtools/gcc/libgcc-common.inc
@@ -12,7 +12,8 @@ do_configure () {
12 mkdir -p ${B}/$target/${BPN}/ 12 mkdir -p ${B}/$target/${BPN}/
13 cd ${B}/${BPN} 13 cd ${B}/${BPN}
14 chmod a+x ${S}/${BPN}/configure 14 chmod a+x ${S}/${BPN}/configure
15 ${S}/${BPN}/configure ${CONFIGUREOPTS} ${EXTRA_OECONF} 15 relpath=${@os.path.relpath("${S}/${BPN}", "${B}/${BPN}")}
16 $relpath/configure ${CONFIGUREOPTS} ${EXTRA_OECONF}
16} 17}
17 18
18do_compile () { 19do_compile () {
diff --git a/meta/recipes-devtools/gcc/libgfortran.inc b/meta/recipes-devtools/gcc/libgfortran.inc
index e42843d2f1..58ceb2e073 100644
--- a/meta/recipes-devtools/gcc/libgfortran.inc
+++ b/meta/recipes-devtools/gcc/libgfortran.inc
@@ -15,7 +15,8 @@ do_configure () {
15 mkdir -p ${B}/$target/libgfortran/ 15 mkdir -p ${B}/$target/libgfortran/
16 cd ${B}/$target/libgfortran/ 16 cd ${B}/$target/libgfortran/
17 chmod a+x ${S}/libgfortran/configure 17 chmod a+x ${S}/libgfortran/configure
18 ${S}/libgfortran/configure ${CONFIGUREOPTS} ${EXTRA_OECONF} 18 relpath=${@os.path.relpath("${S}/libgfortran", "${B}/$target/libgfortran")}
19 $relpath/configure ${CONFIGUREOPTS} ${EXTRA_OECONF}
19 # Easiest way to stop bad RPATHs getting into the library since we have a 20 # Easiest way to stop bad RPATHs getting into the library since we have a
20 # broken libtool here 21 # broken libtool here
21 sed -i -e 's/hardcode_into_libs=yes/hardcode_into_libs=no/' ${B}/$target/libgfortran/libtool 22 sed -i -e 's/hardcode_into_libs=yes/hardcode_into_libs=no/' ${B}/$target/libgfortran/libtool