From 35c08bed88f9c6aaf3295a315fd3d8e79322ca34 Mon Sep 17 00:00:00 2001 From: Ross Burton Date: Fri, 25 Apr 2025 12:43:21 +0100 Subject: [PATCH] libunwind: fix build when unused sections are garbage collected poky-tiny uses gcsections.inc to strip unused sections from the binaries. However, on qemuarm5/qemuarm64 with poky-tiny this appears to result in too much being removed and the link fails: ld: .libs/Gtest-trace: hidden symbol `__aarch64_cas8_acq_rel' in libgcc.a(cas_8_4.o) is referenced by DSO Work around this by disabling gcsections.inc. (From OE-Core rev: 3291827895906e879a7f115eae78aec921a5aa96) Signed-off-by: Ross Burton Signed-off-by: Richard Purdie --- meta/recipes-support/libunwind/libunwind_1.8.1.bb | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/meta/recipes-support/libunwind/libunwind_1.8.1.bb b/meta/recipes-support/libunwind/libunwind_1.8.1.bb index b2c592b435..da87f3e3ee 100644 --- a/meta/recipes-support/libunwind/libunwind_1.8.1.bb +++ b/meta/recipes-support/libunwind/libunwind_1.8.1.bb @@ -33,6 +33,10 @@ EXTRA_OECONF = "--enable-static" ARM_INSTRUCTION_SET:armv4 = "arm" ARM_INSTRUCTION_SET:armv5 = "arm" +# With qemuarm64 and poky-tiny: +# ld: .libs/Gtest-trace: hidden symbol `__aarch64_cas8_acq_rel' in libgcc.a(cas_8_4.o) is referenced by DSO +LDFLAGS_SECTION_REMOVAL = "" + LDFLAGS += "-Wl,-z,relro,-z,now" SECURITY_LDFLAGS:append:libc-musl = " -lssp_nonshared"