From: Khem Raj Date: Mon, 27 Oct 2025 23:39:28 +0000 (-0700) Subject: classes/toolchain/clang: Add placeholder for dynamic linker in cross-canadian packages X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=d259796efd6c405dd47fabccdbce761cb29fc354;p=thirdparty%2Fopenembedded%2Fopenembedded-core-contrib.git classes/toolchain/clang: Add placeholder for dynamic linker in cross-canadian packages clang-cross-canadian is just symlinking into nativesdk-clang unlike gcc which has separate binaries and they have inbuilt dynamic linker specs. To help clang built cross-canadian binaries add it via cmdline option here, cross-canadian binaries are only usable on installed SDKs, and these paths get re-written with correct SDK specific linker during SDK install relocation process. This helps clang built cross-canadian tools e.g. from binutils-cross-canadian be relocated correctly on SDK install. Signed-off-by: Khem Raj Signed-off-by: Mathieu Dubois-Briand Signed-off-by: Richard Purdie --- diff --git a/meta/classes/toolchain/clang.bbclass b/meta/classes/toolchain/clang.bbclass index b4a1c180f6..9a3cd0e584 100644 --- a/meta/classes/toolchain/clang.bbclass +++ b/meta/classes/toolchain/clang.bbclass @@ -32,6 +32,7 @@ TUNE_CCARGS += "${@bb.utils.contains("DISTRO_FEATURES", "usrmerge", " --dyld-pre LDFLAGS:append:class-nativesdk:x86-64 = " -Wl,-dynamic-linker,${base_libdir}/ld-linux-x86-64.so.2" LDFLAGS:append:class-nativesdk:aarch64 = " -Wl,-dynamic-linker,${base_libdir}/ld-linux-aarch64.so.1" +LDFLAGS:append:class-cross-canadian = " -Wl,-dynamic-linker,${base_libdir}/placeholder/to/be/rewritten/by/sdk/installer" # do_populate_sysroot needs STRIP, do_package_qa needs OBJDUMP POPULATESYSROOTDEPS:append:class-target = " llvm-native:do_populate_sysroot"