diff options
author | Hongxu Jia <hongxu.jia@windriver.com> | 2016-02-19 00:54:40 -0500 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2016-02-28 11:32:58 +0000 |
commit | b14e2ae9bcb53569ecefdaf6ef08fbca6242eb5c (patch) | |
tree | 4642620673649e819aad20b274c8bbb7cf273d9a /meta/recipes-devtools/gcc | |
parent | 1f00fb2eb64c82021d6d637c9fe1e12bda5e262e (diff) | |
download | poky-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.inc | 3 | ||||
-rw-r--r-- | meta/recipes-devtools/gcc/gcc-sanitizers.inc | 3 | ||||
-rw-r--r-- | meta/recipes-devtools/gcc/libgcc-common.inc | 3 | ||||
-rw-r--r-- | meta/recipes-devtools/gcc/libgfortran.inc | 3 |
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 | ||
18 | do_compile () { | 19 | do_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 |