summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJuro Bystricky <juro.bystricky@intel.com>2018-04-19 11:04:10 -0700
committerRichard Purdie <richard.purdie@linuxfoundation.org>2018-04-23 11:12:03 +0100
commit593ffffc3baf064b982891d61dacebd08aed3e96 (patch)
tree08a817cbe87deee5b96e8aea4665c86c32924670
parent1f53140528d79c38d4f3a82cd0a03bd0ddc87275 (diff)
downloadopenembedded-core-593ffffc3baf064b982891d61dacebd08aed3e96.tar.gz
bitbake.conf: re-order DEBUG_PREFIX_MAP
When specifying several -fdebug-prefix-map command line options to gcc, they are evaluated right to left (last one first). Normally, the order is irrelevant. However, when we try to map both: recipe-sysroot-native recipe-sysroot the order matters. With the original order most of our debug packages contain incorrect debug symbols. Take for example /usr/bin/.debug/setfacl from acl-dbg: $ strings setfacl | grep native ... -native/usr/lib/x86_64-poky-linux/gcc/x86_64-poky-linux/7.3.0/include -native/usr/lib/x86_64-poky-linux/gcc/x86_64-poky-linux/7.3.0/include -native/usr/lib/x86_64-poky-linux/gcc/x86_64-poky-linux/7.3.0/include -native/usr/lib/x86_64-poky-linux/gcc/x86_64-poky-linux/7.3.0/include -native/usr/lib/x86_64-poky-linux/gcc/x86_64-poky-linux/7.3.0/include -native/usr/lib/x86_64-poky-linux/gcc/x86_64-poky-linux/7.3.0/include -native/usr/lib/x86_64-poky-linux/gcc/x86_64-poky-linux/7.3.0/include -native/usr/lib/x86_64-poky-linux/gcc/x86_64-poky-linux/7.3.0/include Reordering the fdebug-prefix-map arguments will give us the correct paths: /usr/lib/x86_64-poky-linux/gcc/x86_64-poky-linux/7.3.0/include Note there may be additional an incorrect paths, such as: /usr/src/debug/glibc/2.27-r0/recipe-sysroot-native/usr/lib/x86_64-poky-linux.gcc-cross-initial-x86_64/gcc/x86_64-poky-linux/7.3.0/include But that one needs to be fixed in the recipe for glibc. Signed-off-by: Juro Bystricky <juro.bystricky@intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
-rw-r--r--meta/conf/bitbake.conf3
1 files changed, 2 insertions, 1 deletions
diff --git a/meta/conf/bitbake.conf b/meta/conf/bitbake.conf
index 92aa944b91..a21b7282fb 100644
--- a/meta/conf/bitbake.conf
+++ b/meta/conf/bitbake.conf
@@ -600,9 +600,10 @@ EXTRA_OEMAKE_prepend_task-install = "${PARALLEL_MAKEINST} "
##################################################################
# Optimization flags.
##################################################################
+# Beware: applied last to first
DEBUG_PREFIX_MAP ?= "-fdebug-prefix-map=${WORKDIR}=/usr/src/debug/${PN}/${EXTENDPE}${PV}-${PR} \
- -fdebug-prefix-map=${STAGING_DIR_NATIVE}= \
-fdebug-prefix-map=${STAGING_DIR_HOST}= \
+ -fdebug-prefix-map=${STAGING_DIR_NATIVE}= \
"
DEBUG_FLAGS ?= "-g -feliminate-unused-debug-types ${DEBUG_PREFIX_MAP}"