Looks good to me. Covers all cases that I brought up.
On Thu, Nov 20, 2025 at 4:19 AM Gyorgy Sarvari via lists.openembedded.org
<[email protected]> wrote:
> This patch adds -fcanon-prefix-map to the list of compile file-prefixes
> list in case at least gcc 13 is used (it's a gcc-only flag).
>
> This flag used to be part of this list in the past, but was removed with
> [1].
>
> Since then the source file paths are not canonicalized, which makes
> the system to miss some (and sometimes all) source files to include
> in the corresponding -src packages. As an example sqlite3 and audiofile
> (from meta-oe) produces empty src packages, mostly due to the pathes:
> they frequently use relative paths that don't match up with the
> absolute path specified in the file-preifx map:
> `pwd`/../../foo.cpp and ${S}/foo.cpp might refer to the same file, but
> the first one won't match the prefix-map, so it is omitted.
>
> This patch adds this option again with gcc: for class-target it is uses
> always, and for class-native it is used when the host gcc is at least
> version 13.
>
> Signed-off-by: Gyorgy Sarvari <[email protected]>
> ---
> meta/classes/toolchain/gcc-native.bbclass | 3 +++
> meta/classes/toolchain/gcc.bbclass | 2 ++
> meta/conf/bitbake.conf | 2 +-
> 3 files changed, 6 insertions(+), 1 deletion(-)
>
> diff --git a/meta/classes/toolchain/gcc-native.bbclass
> b/meta/classes/toolchain/gcc-native.bbclass
> index a708bd0389..8708ad0211 100644
> --- a/meta/classes/toolchain/gcc-native.bbclass
> +++ b/meta/classes/toolchain/gcc-native.bbclass
> @@ -13,3 +13,6 @@ BUILD_OBJDUMP = "${BUILD_PREFIX}objdump"
> BUILD_NM = "${BUILD_PREFIX}nm"
> BUILD_READELF = "${BUILD_PREFIX}readelf"
>
> +# gcc started to support -fcanon-prefix-map from version 13
> +DEBUG_PREFIX_MAP_EXTRA:class-native = \
> + "${@'-fcanon-prefix-map' if
> bb.utils.vercmp_string_op(oe.utils.get_host_gcc_version(d), '13.0.0', '>=')
> else ''}"
> diff --git a/meta/classes/toolchain/gcc.bbclass
> b/meta/classes/toolchain/gcc.bbclass
> index a5adb5ca37..0ed49ba892 100644
> --- a/meta/classes/toolchain/gcc.bbclass
> +++ b/meta/classes/toolchain/gcc.bbclass
> @@ -30,4 +30,6 @@
> PREFERRED_PROVIDER_virtual/nativesdk-cross-cc:class-cross-canadian =
> "gcc-crosss
> PREFERRED_PROVIDER_virtual/nativesdk-cross-c++:class-cross-canadian =
> "gcc-crosssdk-${SDK_SYS}"
> PREFERRED_PROVIDER_virtual/nativesdk-compilerlibs:class-cross-canadian =
> "nativesdk-gcc-runtime"
>
> +DEBUG_PREFIX_MAP_EXTRA = "-fcanon-prefix-map"
> +
> TCOVERRIDE = "toolchain-gcc"
> diff --git a/meta/conf/bitbake.conf b/meta/conf/bitbake.conf
> index 5406e542db..600d4baffb 100644
> --- a/meta/conf/bitbake.conf
> +++ b/meta/conf/bitbake.conf
> @@ -650,7 +650,7 @@ EXTRA_OEMAKE:prepend:task-install =
> "${PARALLEL_MAKEINST} "
> ##################################################################
> TARGET_DBGSRC_DIR ?= "/usr/src/debug/${PN}/${PV}"
> # Beware: applied last to first
> -DEBUG_PREFIX_MAP ?= "\
> +DEBUG_PREFIX_MAP ?= "${DEBUG_PREFIX_MAP_EXTRA} \
> -ffile-prefix-map=${S}=${TARGET_DBGSRC_DIR} \
> -ffile-prefix-map=${B}=${TARGET_DBGSRC_DIR} \
> -ffile-prefix-map=${STAGING_DIR_HOST}= \
>
>
>
>
-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#226637):
https://lists.openembedded.org/g/openembedded-core/message/226637
Mute This Topic: https://lists.openembedded.org/mt/116389619/21656
Group Owner: [email protected]
Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub
[[email protected]]
-=-=-=-=-=-=-=-=-=-=-=-