summaryrefslogtreecommitdiffstats
path: root/meta/recipes-devtools
diff options
context:
space:
mode:
authorJuro Bystricky <juro.bystricky@intel.com>2018-01-04 12:24:01 -0800
committerRichard Purdie <richard.purdie@linuxfoundation.org>2018-01-05 11:55:35 +0000
commit981cf2d664a50d7dc3be695a727b1fa6d28037aa (patch)
tree2477d57d31af01e053f843cdf56a583d567de3ae /meta/recipes-devtools
parent100cf0849e3c8d355a38be525bf3cea903106f22 (diff)
downloadpoky-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>
Diffstat (limited to 'meta/recipes-devtools')
-rw-r--r--meta/recipes-devtools/gcc/gcc-runtime.inc12
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
37SLIB = "${TMPDIR}/work-shared/gcc-${PV}-${PR}/gcc-${PV}"
38SLIB_NEW = "/usr/src/debug/${PN}/${EXTENDPE}${PV}-${PR}"
39
40DEBUG_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
37do_configure () { 49do_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