mirror of
https://git.yoctoproject.org/poky
synced 2026-02-07 09:16:36 +01:00
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. (From OE-Core rev: 593ffffc3baf064b982891d61dacebd08aed3e96) Signed-off-by: Juro Bystricky <juro.bystricky@intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>