summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKhem Raj <raj.khem@gmail.com>2023-08-21 15:58:45 -0700
committerKhem Raj <raj.khem@gmail.com>2023-08-22 18:04:45 -0700
commit4c124cadcc2023856686317de3d0304dcb2349bd (patch)
tree2cff0e4653c181708ad7466a04299a3873fd7bbf
parent2e4dcca830ad68c6573837390cfd9aa28acb2226 (diff)
downloadmeta-clang-4c124cadcc2023856686317de3d0304dcb2349bd.tar.gz
go-runtime: Use BFD linker when LLD is default system linker on aarch64
go linker is not able to link subsequent binaries e.g. gosu with lld produced libstd.so and crashes. This is just seen on arm64 Signed-off-by: Khem Raj <raj.khem@gmail.com>
-rw-r--r--conf/nonclangable.conf5
1 files changed, 5 insertions, 0 deletions
diff --git a/conf/nonclangable.conf b/conf/nonclangable.conf
index d34b6b6..7bfe1d9 100644
--- a/conf/nonclangable.conf
+++ b/conf/nonclangable.conf
@@ -564,4 +564,9 @@ LDFLAGS:append:pn-libffi:x86:toolchain-clang = "${@bb.utils.contains('DISTRO_FEA
564LDFLAGS:append:pn-libffi:arm:toolchain-clang = "${@bb.utils.contains('DISTRO_FEATURES', 'ld-is-lld', ' -Wl,--undefined-version', '', d)}" 564LDFLAGS:append:pn-libffi:arm:toolchain-clang = "${@bb.utils.contains('DISTRO_FEATURES', 'ld-is-lld', ' -Wl,--undefined-version', '', d)}"
565LDFLAGS:append:pn-elfutils:toolchain-clang = "${@bb.utils.contains('DISTRO_FEATURES', 'ld-is-lld', ' -Wl,--undefined-version', '', d)}" 565LDFLAGS:append:pn-elfutils:toolchain-clang = "${@bb.utils.contains('DISTRO_FEATURES', 'ld-is-lld', ' -Wl,--undefined-version', '', d)}"
566 566
567# Avoid's go linker crash as reported in https://github.com/golang/go/issues/61872
568# it happens when libstd.so is linked with lld for aarch64
569LDFLAGS:append:pn-go-runtime:toolchain-clang:aarch64 = "${@bb.utils.contains('DISTRO_FEATURES', 'ld-is-lld', ' -fuse-ld=bfd', '', d)}"
570LDFLAGS:remove:pn-go-runtime:toolchain-clang:aarch64 = "${@bb.utils.contains('DISTRO_FEATURES', 'ld-is-lld', '-fuse-ld=lld', '', d)}"
571
567LD:pn-gnu-efi:toolchain-clang = "${@bb.utils.contains('DISTRO_FEATURES', 'ld-is-lld', '${HOST_PREFIX}ld.bfd${TOOLCHAIN_OPTIONS} ${HOST_LD_ARCH}', '${HOST_PREFIX}ld${TOOLCHAIN_OPTIONS} ${HOST_LD_ARCH}', d)}" 572LD:pn-gnu-efi:toolchain-clang = "${@bb.utils.contains('DISTRO_FEATURES', 'ld-is-lld', '${HOST_PREFIX}ld.bfd${TOOLCHAIN_OPTIONS} ${HOST_LD_ARCH}', '${HOST_PREFIX}ld${TOOLCHAIN_OPTIONS} ${HOST_LD_ARCH}', d)}"