Please try the v2 of the cc-rs patch - I see that v1 got into
master-next, but it will fail selftests.


On 11/20/25 23:48, Richard Purdie wrote:
> On Thu, 2025-11-20 at 13:19 +0100, Gyorgy Sarvari via lists.openembedded.org 
> 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}= \
>>
> I think we should do something like this patch but just with only the
> target pieces, not the native ones.
>
> The gcc version check is a slow function call since it execs a command
> and we really don't want a call like that dropped inside a variable.
>
> native components don't have -src packages so I'm not sure we need that
> element of this. The simplest thing would be to drop that piece.
>
> This issue was identified as a release blocker so I'll probably hack
> the patch and put something into master-next for testing overnight.
>
> Cheers,
>
> Richard

-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#226652): 
https://lists.openembedded.org/g/openembedded-core/message/226652
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]]
-=-=-=-=-=-=-=-=-=-=-=-

Reply via email to