diff options
| author | Khem Raj <raj.khem@gmail.com> | 2025-05-06 14:22:55 -0700 |
|---|---|---|
| committer | Khem Raj <raj.khem@gmail.com> | 2025-05-06 18:09:21 -0700 |
| commit | 02e254ba1fb4937530d94a154b4c713c904c2d06 (patch) | |
| tree | 0c9e72b70099f59eb1f766b086b8d01418be19e2 | |
| parent | 0a368377826ffda847979b8da497f679071ab2d5 (diff) | |
| download | meta-clang-02e254ba1fb4937530d94a154b4c713c904c2d06.tar.gz | |
clang: Do not add lld linker for ppc32 when ld-is-lld is in distro features
Causes binaries to segfault in qemu user mode
Signed-off-by: Khem Raj <raj.khem@gmail.com>
| -rw-r--r-- | classes/clang.bbclass | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/classes/clang.bbclass b/classes/clang.bbclass index 0671ef6..450500d 100644 --- a/classes/clang.bbclass +++ b/classes/clang.bbclass | |||
| @@ -78,8 +78,9 @@ LDFLAGS:toolchain-clang:class-nativesdk = "${BUILDSDK_LDFLAGS} \ | |||
| 78 | -Wl,-rpath-link,${STAGING_LIBDIR}/.. \ | 78 | -Wl,-rpath-link,${STAGING_LIBDIR}/.. \ |
| 79 | -Wl,-rpath,${libdir}/.. " | 79 | -Wl,-rpath,${libdir}/.. " |
| 80 | 80 | ||
| 81 | # Enable lld globally" | 81 | # Enable lld globally except for ppc32 where it causes random segfaults in Qemu usermode |
| 82 | LDFLAGS:append:toolchain-clang = "${@bb.utils.contains('DISTRO_FEATURES', 'ld-is-lld', ' -fuse-ld=lld', '', d)}" | 82 | LDFLAGS:append:toolchain-clang = "${@bb.utils.contains('DISTRO_FEATURES', 'ld-is-lld', ' -fuse-ld=lld', '', d)}" |
| 83 | LDFLAGS:remove:toolchain-clang:powerpc = "-fuse-ld=lld" | ||
| 83 | 84 | ||
| 84 | # Remove gcc specific -fcanon-prefix-map option, added in gcc-13+ | 85 | # Remove gcc specific -fcanon-prefix-map option, added in gcc-13+ |
| 85 | # clang does not support it yet | 86 | # clang does not support it yet |
