summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJonas Gorski <jonas.gorski@bisdn.de>2024-06-05 09:26:29 +0200
committerRichard Purdie <richard.purdie@linuxfoundation.org>2024-06-11 11:41:33 +0100
commit46b5c2ea6cb97bb6dd0a85bef3be9eaa9a19b4b5 (patch)
treed69d5ec38cc6862333990ae9fed2a82c47bc0293
parent9f48761d686cf6f46e0906e1a09c318f5f4eb6c8 (diff)
downloadpoky-46b5c2ea6cb97bb6dd0a85bef3be9eaa9a19b4b5.tar.gz
linuxloader: add -armhf on arm only for TARGET_FPU 'hard'
There are two types of soft FPU options for arm, soft and softfp, and if using the latter the wrong dynamic loader will be used. E.g. go will link against ld-linux-armhf.so.3, but libc6 will only ship a ld-linux.so.3, so go programs will fail to start. Fix this by instead checking for TARGET_FPU being 'hard' and then applying the suffix. (From OE-Core rev: 07b4c7a2bd23f8645810e13439e814caaaf9cd94) Signed-off-by: Jonas Gorski <jonas.gorski@bisdn.de> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
-rw-r--r--meta/classes-recipe/linuxloader.bbclass2
1 files changed, 1 insertions, 1 deletions
diff --git a/meta/classes-recipe/linuxloader.bbclass b/meta/classes-recipe/linuxloader.bbclass
index 2ea1b62254..a2e8f9837b 100644
--- a/meta/classes-recipe/linuxloader.bbclass
+++ b/meta/classes-recipe/linuxloader.bbclass
@@ -57,7 +57,7 @@ def get_glibc_loader(d):
57 elif re.search("i.86", targetarch): 57 elif re.search("i.86", targetarch):
58 dynamic_loader = "${base_libdir}/ld-linux.so.2" 58 dynamic_loader = "${base_libdir}/ld-linux.so.2"
59 elif targetarch == "arm": 59 elif targetarch == "arm":
60 dynamic_loader = "${base_libdir}/ld-linux${@['-armhf', ''][d.getVar('TARGET_FPU') == 'soft']}.so.3" 60 dynamic_loader = "${base_libdir}/ld-linux${@['', '-armhf'][d.getVar('TARGET_FPU') == 'hard']}.so.3"
61 elif targetarch.startswith("aarch64"): 61 elif targetarch.startswith("aarch64"):
62 dynamic_loader = "${base_libdir}/ld-linux-aarch64${ARMPKGSFX_ENDIAN_64}.so.1" 62 dynamic_loader = "${base_libdir}/ld-linux-aarch64${ARMPKGSFX_ENDIAN_64}.so.1"
63 elif targetarch.startswith("riscv64"): 63 elif targetarch.startswith("riscv64"):