diff options
author | Richard Purdie <richard.purdie@linuxfoundation.org> | 2022-07-20 13:28:03 +0100 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2022-08-17 19:57:32 +0100 |
commit | 12bdb5df1ebb4e43900f297e0e94b35553a30999 (patch) | |
tree | f10f0672a20621a555996dd6bd59d147c800592c | |
parent | 794371ad2da471321bfde494523ee73a10380e0a (diff) | |
download | poky-12bdb5df1ebb4e43900f297e0e94b35553a30999.tar.gz |
bitbake.conf: Handle S and B separately for debug mapping
We don't really need to keep S and B separate for debug source purposes
and there shouldn't be source references in WORKDIR that isn't S and B
either.
Separating these out simplifies the shared-work directory handling for
gcc and should also help fix external source usage. Therefore handle
S and B in DEBUG_PREFIX_MAP separately and clean up other code.
Indentation is reduced here as it is introduced on every compiler
commandline so minimising it is helpful.
(From OE-Core rev: c39b5020b8705d17e3745c41e38d0f99a1ac94cf)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
-rw-r--r-- | meta/conf/bitbake.conf | 11 | ||||
-rw-r--r-- | meta/recipes-devtools/gcc/gcc-runtime.inc | 13 | ||||
-rw-r--r-- | meta/recipes-devtools/gcc/libgcc-common.inc | 8 |
3 files changed, 7 insertions, 25 deletions
diff --git a/meta/conf/bitbake.conf b/meta/conf/bitbake.conf index bdfb678437..dd2df8a552 100644 --- a/meta/conf/bitbake.conf +++ b/meta/conf/bitbake.conf | |||
@@ -645,10 +645,13 @@ EXTRA_OEMAKE:prepend:task-install = "${PARALLEL_MAKEINST} " | |||
645 | # Optimization flags. | 645 | # Optimization flags. |
646 | ################################################################## | 646 | ################################################################## |
647 | # Beware: applied last to first | 647 | # Beware: applied last to first |
648 | DEBUG_PREFIX_MAP ?= "-fmacro-prefix-map=${WORKDIR}=/usr/src/debug/${PN}/${EXTENDPE}${PV}-${PR} \ | 648 | DEBUG_PREFIX_MAP ?= "-fmacro-prefix-map=${S}=/usr/src/debug/${PN}/${EXTENDPE}${PV}-${PR} \ |
649 | -fdebug-prefix-map=${WORKDIR}=/usr/src/debug/${PN}/${EXTENDPE}${PV}-${PR} \ | 649 | -fdebug-prefix-map=${S}=/usr/src/debug/${PN}/${EXTENDPE}${PV}-${PR} \ |
650 | -fdebug-prefix-map=${STAGING_DIR_HOST}= \ | 650 | -fmacro-prefix-map=${B}=/usr/src/debug/${PN}/${EXTENDPE}${PV}-${PR} \ |
651 | -fdebug-prefix-map=${STAGING_DIR_NATIVE}= \ | 651 | -fdebug-prefix-map=${B}=/usr/src/debug/${PN}/${EXTENDPE}${PV}-${PR} \ |
652 | -fdebug-prefix-map=${STAGING_DIR_HOST}= \ | ||
653 | -fmacro-prefix-map=${STAGING_DIR_HOST}= \ | ||
654 | -fdebug-prefix-map=${STAGING_DIR_NATIVE}= \ | ||
652 | " | 655 | " |
653 | DEBUG_FLAGS ?= "-g -feliminate-unused-debug-types ${DEBUG_PREFIX_MAP}" | 656 | DEBUG_FLAGS ?= "-g -feliminate-unused-debug-types ${DEBUG_PREFIX_MAP}" |
654 | 657 | ||
diff --git a/meta/recipes-devtools/gcc/gcc-runtime.inc b/meta/recipes-devtools/gcc/gcc-runtime.inc index 35a3077a4a..fa5b048dab 100644 --- a/meta/recipes-devtools/gcc/gcc-runtime.inc +++ b/meta/recipes-devtools/gcc/gcc-runtime.inc | |||
@@ -50,19 +50,6 @@ RUNTIMETARGET:libc-newlib = "libstdc++-v3" | |||
50 | # libiberty | 50 | # libiberty |
51 | # libgfortran needs separate recipe due to libquadmath dependency | 51 | # libgfortran needs separate recipe due to libquadmath dependency |
52 | 52 | ||
53 | # Relative path to be repaced into debug info | ||
54 | DEBUGSOURCE = "/usr/src/debug/${PN}/${EXTENDPE}${PV}-${PR}" | ||
55 | |||
56 | DEBUG_PREFIX_MAP = " \ | ||
57 | -ffile-prefix-map=${WORKDIR}/${MLPREFIX}recipe-sysroot= \ | ||
58 | -ffile-prefix-map=${WORKDIR}/recipe-sysroot-native= \ | ||
59 | -ffile-prefix-map=${B}=${DEBUGSOURCE} \ | ||
60 | -ffile-prefix-map=${S}=${DEBUGSOURCE} \ | ||
61 | -fdebug-prefix-map=${B}=${DEBUGSOURCE} \ | ||
62 | -fdebug-prefix-map=${S}=${DEBUGSOURCE} \ | ||
63 | -ffile-prefix-map=${B}/${HOST_SYS}/libstdc++-v3/include=${includedir}/c++/${BINV} \ | ||
64 | " | ||
65 | |||
66 | do_configure () { | 53 | do_configure () { |
67 | export CXX="${CXX} -nostdinc++ -L${WORKDIR}/dummylib" | 54 | export CXX="${CXX} -nostdinc++ -L${WORKDIR}/dummylib" |
68 | # libstdc++ isn't built yet so CXX would error not able to find it which breaks stdc++'s configure | 55 | # libstdc++ isn't built yet so CXX would error not able to find it which breaks stdc++'s configure |
diff --git a/meta/recipes-devtools/gcc/libgcc-common.inc b/meta/recipes-devtools/gcc/libgcc-common.inc index e813926313..d9084af51a 100644 --- a/meta/recipes-devtools/gcc/libgcc-common.inc +++ b/meta/recipes-devtools/gcc/libgcc-common.inc | |||
@@ -4,14 +4,6 @@ require gcc-configure-common.inc | |||
4 | 4 | ||
5 | INHIBIT_DEFAULT_DEPS = "1" | 5 | INHIBIT_DEFAULT_DEPS = "1" |
6 | 6 | ||
7 | DEBUGSOURCE = "/usr/src/debug/${PN}/${EXTENDPE}${PV}-${PR}" | ||
8 | DEBUG_PREFIX_MAP = " \ | ||
9 | -fdebug-prefix-map=${WORKDIR}/${MLPREFIX}recipe-sysroot= \ | ||
10 | -fdebug-prefix-map=${WORKDIR}/recipe-sysroot-native= \ | ||
11 | -fdebug-prefix-map=${B}=${DEBUGSOURCE} \ | ||
12 | -fdebug-prefix-map=${S}=${DEBUGSOURCE} \ | ||
13 | " | ||
14 | |||
15 | do_configure () { | 7 | do_configure () { |
16 | install -d ${D}${base_libdir} ${D}${libdir} | 8 | install -d ${D}${base_libdir} ${D}${libdir} |
17 | mkdir -p ${B}/${BPN} | 9 | mkdir -p ${B}/${BPN} |