diff options
| author | mark.yang <mark.yang@lge.com> | 2025-11-07 13:24:48 +0900 |
|---|---|---|
| committer | Khem Raj <raj.khem@gmail.com> | 2025-12-06 21:21:34 -0800 |
| commit | c17e5716caea9d0297016eab4483911797d7d0f3 (patch) | |
| tree | 94867fb08ecfd0a8778e4828d86d709b6d019641 | |
| parent | 8959e1255311d10a19e13cc5967951bde3f0e343 (diff) | |
| download | meta-clang-c17e5716caea9d0297016eab4483911797d7d0f3.tar.gz | |
nonclangable.conf: Disable LTO for bluez5,systemd-boot, zlib
bluez5 is forced to use the bfd linker.
https://github.com/kraj/meta-clang/commit/ee218b7bc9c4b43d66e56c9cde5405318d8d5deb
systemd-boot is forced to use the bfd linker.
https://github.com/openembedded/openembedded-core/commit/a157b2f9d93428ca21265cc860a3b58b3698b3aa#diff-02f955f0bb176d6a95cf74d4fa6b499d0318f7877cbe3c525936b09a4dc8f3ce
For LTO, the lld linker is required, but if using the bfd linker, the LLVMgold.so plugin must be used. However, the gold linker is no longer used.
```
usr/bin/aarch64-yoe-linux/aarch64-yoe-linux-ld.bfd: recipe-sysroot-native/usr/bin/aarch64-yoe-linux/../lib/LLVMgold.so: error loading plugin: /home/markyang/workspace/yoe-distro/build/tmp/work/cortexa72-yoe-linux/systemd-boot/257.8/recipe-sysroot-native/usr/bin/aarch64-yoe-linux/../lib/LLVMgold.so: cannot open shared object file: No such file or directory
````
openembedded-core(be5856616) forces the use of the bfd linker for zlib.
zlib does not build with lld, keep it until https://github.com/madler/zlib/pull/936
is addressed
When using LTO with clang, it is recommended to use the lld linker.
If it use the bfd linker, it need to use the LLVMgold.so plugin,
but the gold linker has been deprecated.
See more details https://errors.yoctoproject.org/Errors/Details/886598
```
error loading plugin: TOPDIR/build/tmp/work/cortexa72-yoe-linux/zlib/1.3.1/recipe-sysroot-native/usr/bin/aarch64-yoe-linux/../lib/LLVMgold.so: cannot open shared object file: No such file or directory
```
Signed-off-by: mark.yang <mark.yang@lge.com>
| -rw-r--r-- | conf/nonclangable.conf | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/conf/nonclangable.conf b/conf/nonclangable.conf index ae2e5b3..16e9a61 100644 --- a/conf/nonclangable.conf +++ b/conf/nonclangable.conf | |||
| @@ -361,6 +361,15 @@ LTO:pn-libidn2:toolchain-clang = "" | |||
| 361 | #libcairo.so: undefined reference to pthread_mutexattr_init [--no-allow-shlib-undefined] | 361 | #libcairo.so: undefined reference to pthread_mutexattr_init [--no-allow-shlib-undefined] |
| 362 | LTO:pn-cairo:toolchain-clang = "" | 362 | LTO:pn-cairo:toolchain-clang = "" |
| 363 | 363 | ||
| 364 | # zlib does not build with lld, keep it until https://github.com/madler/zlib/pull/936 | ||
| 365 | # is addressed | ||
| 366 | # When not using the lld linker and using the bfd linker, the LLVMgold.so plugin must be used, but the gold linker has been deprecated. | ||
| 367 | LTO:pn-zlib:toolchain-clang = "" | ||
| 368 | |||
| 369 | # When not using the lld linker and using the bfd linker, the LLVMgold.so plugin must be used, but the gold linker has been deprecated. | ||
| 370 | LTO:pn-bluez5:toolchain-clang = "" | ||
| 371 | LTO:pn-systemd-boot:toolchain-clang = "" | ||
| 372 | |||
| 364 | # Subprocess output:mips-yoe-linux-llvm-objcopy: error: Link field value 22 in section .rel.dyn is not a symbol table | 373 | # Subprocess output:mips-yoe-linux-llvm-objcopy: error: Link field value 22 in section .rel.dyn is not a symbol table |
| 365 | # also seen on riscv64 and x86-64 | 374 | # also seen on riscv64 and x86-64 |
| 366 | OBJCOPY:pn-linux-variscite:toolchain-clang = "${HOST_PREFIX}objcopy" | 375 | OBJCOPY:pn-linux-variscite:toolchain-clang = "${HOST_PREFIX}objcopy" |
