From: Jon Mason Date: Tue, 1 Jul 2025 13:27:23 +0000 (-0400) Subject: libucontext: use hard/soft float X-Git-Tag: uninative-4.9~253 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=61c54f169db74b818f587b3147c9abb611f64e0d;p=thirdparty%2Fopenembedded%2Fopenembedded-core.git libucontext: use hard/soft float When building for qemuarm-secureboot in meta-arn with musl and clang, the following compile error is seen: - | ../sources/libucontext-1.3.2/arch/arm/swapcontext.S:23:11: error: unknown token in expression - | ldr r4, =#0x56465001 - | ^ This is happening because 1.3 added ifdefs for assembly code for both hard and soft float, and bcause neither is being defined, it is taking this path with the issue. Since we can tell if soft or hard float is being used via the TARGET_FPU variable, use that and set the relevant makefile flag. Signed-off-by: Jon Mason Signed-off-by: Antonin Godard Signed-off-by: Richard Purdie --- diff --git a/meta/recipes-core/musl/libucontext_1.3.2.bb b/meta/recipes-core/musl/libucontext_1.3.2.bb index 2362cba5c8..c5b802207b 100644 --- a/meta/recipes-core/musl/libucontext_1.3.2.bb +++ b/meta/recipes-core/musl/libucontext_1.3.2.bb @@ -48,3 +48,9 @@ def map_kernel_arch(a, d): EXTRA_OEMESON = "-Dcpu=${@map_kernel_arch(d.getVar('TARGET_ARCH'), d)}" inherit meson + +ARM_TARGET_CPPFLAGS = "" +ARM_TARGET_CPPFLAGS:append:arm = "${@bb.utils.contains('TARGET_FPU', 'hard', ' -DFORCE_HARD_FLOAT', '', d)}" +ARM_TARGET_CPPFLAGS:append:arm = "${@bb.utils.contains('TARGET_FPU', 'soft', ' -DFORCE_SOFT_FLOAT', '', d)}" + +TARGET_CPPFLAGS .= "${ARM_TARGET_CPPFLAGS}"