]> git.ipfire.org Git - thirdparty/openembedded/openembedded-core-contrib.git/commitdiff
libunwind: fix build when unused sections are garbage collected
authorRoss Burton <ross.burton@arm.com>
Fri, 25 Apr 2025 11:43:21 +0000 (12:43 +0100)
committerRichard Purdie <richard.purdie@linuxfoundation.org>
Tue, 29 Apr 2025 08:54:15 +0000 (09:54 +0100)
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.

Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
meta/recipes-support/libunwind/libunwind_1.8.1.bb

index b2c592b4350e1edf25a39d81a2811d06eabfe6c1..da87f3e3ee8b37f0f96bdc5f71a1960be154a137 100644 (file)
@@ -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"