From 04748af752b7f9d79ee4add67141d6c891f3bdbe Mon Sep 17 00:00:00 2001 From: Juro Bystricky Date: Thu, 4 Jan 2018 12:24:01 -0800 Subject: 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. Signed-off-by: Juro Bystricky Signed-off-by: Richard Purdie --- meta/recipes-devtools/gcc/gcc-runtime.inc | 12 ++++++++++++ 1 file changed, 12 insertions(+) (limited to 'meta/recipes-devtools') 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" # libmudflap # libgfortran needs separate recipe due to libquadmath dependency +SLIB = "${TMPDIR}/work-shared/gcc-${PV}-${PR}/gcc-${PV}" +SLIB_NEW = "/usr/src/debug/${PN}/${EXTENDPE}${PV}-${PR}" + +DEBUG_PREFIX_MAP_class-target = " \ + -fdebug-prefix-map=${WORKDIR}/recipe-sysroot= \ + -fdebug-prefix-map=${WORKDIR}/recipe-sysroot-native= \ + -fdebug-prefix-map=${SLIB}=${SLIB_NEW} \ + -fdebug-prefix-map=${SLIB}/include=${SLIB_NEW}/libstdc++-v3/../include \ + -fdebug-prefix-map=${SLIB}/libiberty=${SLIB_NEW}/libstdc++-v3/../libiberty \ + -fdebug-prefix-map=${B}=${SLIB_NEW} \ + " + do_configure () { export CXX="${CXX} -nostdinc++ -nostdlib++" for d in libgcc ${RUNTIMETARGET}; do -- cgit 1.2.3-korg