diff options
author | Juro Bystricky <juro.bystricky@intel.com> | 2018-01-04 12:24:01 -0800 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2018-01-05 11:55:35 +0000 |
commit | 981cf2d664a50d7dc3be695a727b1fa6d28037aa (patch) | |
tree | 2477d57d31af01e053f843cdf56a583d567de3ae | |
parent | 100cf0849e3c8d355a38be525bf3cea903106f22 (diff) | |
download | poky-981cf2d664a50d7dc3be695a727b1fa6d28037aa.tar.gz |
gcc-runtime: improve reproducibility
Remove various build host references from packages:
libstdc++
libstdc++-staticdev
gcc-runtime-dbg
The references are removoved by correctly setting various compiler
-fdebug-prefix-map settings. There are two main issues:
The default DEBUG_PREFIX_MAP variable references WORKDIR, however,
gcc sources are in a shared folder (work-shared)/
Additionally, DWARF info seems to store symlink names but gcc
seems to resolve symlink names referenced in -fdebug-prefix-map.
(From OE-Core rev: 04748af752b7f9d79ee4add67141d6c891f3bdbe)
Signed-off-by: Juro Bystricky <juro.bystricky@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
-rw-r--r-- | meta/recipes-devtools/gcc/gcc-runtime.inc | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/meta/recipes-devtools/gcc/gcc-runtime.inc b/meta/recipes-devtools/gcc/gcc-runtime.inc index d3d4bd36a8..7629fa56ff 100644 --- a/meta/recipes-devtools/gcc/gcc-runtime.inc +++ b/meta/recipes-devtools/gcc/gcc-runtime.inc | |||
@@ -34,6 +34,18 @@ RUNTIMETARGET_remove_libc-musl = "libmpx" | |||
34 | # libmudflap | 34 | # libmudflap |
35 | # libgfortran needs separate recipe due to libquadmath dependency | 35 | # libgfortran needs separate recipe due to libquadmath dependency |
36 | 36 | ||
37 | SLIB = "${TMPDIR}/work-shared/gcc-${PV}-${PR}/gcc-${PV}" | ||
38 | SLIB_NEW = "/usr/src/debug/${PN}/${EXTENDPE}${PV}-${PR}" | ||
39 | |||
40 | DEBUG_PREFIX_MAP_class-target = " \ | ||
41 | -fdebug-prefix-map=${WORKDIR}/recipe-sysroot= \ | ||
42 | -fdebug-prefix-map=${WORKDIR}/recipe-sysroot-native= \ | ||
43 | -fdebug-prefix-map=${SLIB}=${SLIB_NEW} \ | ||
44 | -fdebug-prefix-map=${SLIB}/include=${SLIB_NEW}/libstdc++-v3/../include \ | ||
45 | -fdebug-prefix-map=${SLIB}/libiberty=${SLIB_NEW}/libstdc++-v3/../libiberty \ | ||
46 | -fdebug-prefix-map=${B}=${SLIB_NEW} \ | ||
47 | " | ||
48 | |||
37 | do_configure () { | 49 | do_configure () { |
38 | export CXX="${CXX} -nostdinc++ -nostdlib++" | 50 | export CXX="${CXX} -nostdinc++ -nostdlib++" |
39 | for d in libgcc ${RUNTIMETARGET}; do | 51 | for d in libgcc ${RUNTIMETARGET}; do |