public inbox for openembedded-core@lists.openembedded.org
 help / color / mirror / Atom feed
* [PATCH] classes/toolchain/clang: Add placeholder for dynamic linker in cross-canadian packages
@ 2025-10-18  7:06 Khem Raj
  2025-10-23 12:52 ` [OE-core] " Ross Burton
  0 siblings, 1 reply; 3+ messages in thread
From: Khem Raj @ 2025-10-18  7:06 UTC (permalink / raw)
  To: openembedded-core; +Cc: Khem Raj

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 <raj.khem@gmail.com>
---
 meta/classes/toolchain/clang.bbclass | 1 +
 1 file changed, 1 insertion(+)

diff --git a/meta/classes/toolchain/clang.bbclass b/meta/classes/toolchain/clang.bbclass
index b4a1c180f6a..9c1204171fe 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}/ld-linux-x86-64.so.2"
 
 # do_populate_sysroot needs STRIP, do_package_qa needs OBJDUMP
 POPULATESYSROOTDEPS:append:class-target = " llvm-native:do_populate_sysroot"


^ permalink raw reply related	[flat|nested] 3+ messages in thread

* Re: [OE-core] [PATCH] classes/toolchain/clang: Add placeholder for dynamic linker in cross-canadian packages
  2025-10-18  7:06 [PATCH] classes/toolchain/clang: Add placeholder for dynamic linker in cross-canadian packages Khem Raj
@ 2025-10-23 12:52 ` Ross Burton
  2025-10-24  2:26   ` Khem Raj
  0 siblings, 1 reply; 3+ messages in thread
From: Ross Burton @ 2025-10-23 12:52 UTC (permalink / raw)
  To: raj.khem@gmail.com; +Cc: openembedded-core@lists.openembedded.org

On 18 Oct 2025, at 08:06, Khem Raj via lists.openembedded.org <raj.khem=gmail.com@lists.openembedded.org> wrote:
> 
> 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 <raj.khem@gmail.com>
> ---
> meta/classes/toolchain/clang.bbclass | 1 +
> 1 file changed, 1 insertion(+)
> 
> diff --git a/meta/classes/toolchain/clang.bbclass b/meta/classes/toolchain/clang.bbclass
> index b4a1c180f6a..9c1204171fe 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}/ld-linux-x86-64.so.2”

You’re missing a second line and arch overrides for aarch64, yes?

Ross

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [OE-core] [PATCH] classes/toolchain/clang: Add placeholder for dynamic linker in cross-canadian packages
  2025-10-23 12:52 ` [OE-core] " Ross Burton
@ 2025-10-24  2:26   ` Khem Raj
  0 siblings, 0 replies; 3+ messages in thread
From: Khem Raj @ 2025-10-24  2:26 UTC (permalink / raw)
  To: Ross Burton; +Cc: openembedded-core@lists.openembedded.org

On Thu, Oct 23, 2025 at 5:53 AM Ross Burton <Ross.Burton@arm.com> wrote:
>
> On 18 Oct 2025, at 08:06, Khem Raj via lists.openembedded.org <raj.khem=gmail.com@lists.openembedded.org> wrote:
> >
> > 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 <raj.khem@gmail.com>
> > ---
> > meta/classes/toolchain/clang.bbclass | 1 +
> > 1 file changed, 1 insertion(+)
> >
> > diff --git a/meta/classes/toolchain/clang.bbclass b/meta/classes/toolchain/clang.bbclass
> > index b4a1c180f6a..9c1204171fe 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}/ld-linux-x86-64.so.2”
>
> You’re missing a second line and arch overrides for aarch64, yes?

well no, ldso gets re-written by SDK installer and it does the right
thing when it replaces it on arm64 SDK host.

>
> Ross


^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2025-10-24  2:26 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-10-18  7:06 [PATCH] classes/toolchain/clang: Add placeholder for dynamic linker in cross-canadian packages Khem Raj
2025-10-23 12:52 ` [OE-core] " Ross Burton
2025-10-24  2:26   ` Khem Raj

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox