aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrew Turner <andrew@FreeBSD.org>2026-04-27 10:54:18 +0000
committerAndrew Turner <andrew@FreeBSD.org>2026-04-27 11:37:53 +0000
commite63eee84cad59f63338a539e73bed07917932088 (patch)
treeb77e11dd9bdd1c4e66b4d0b6e043dabf0a134fdb
parentb5bad6df467cc95bea641afe674c55cd5b9f1510 (diff)
libgcc_s: Add a linker script to link to libgcc
When using outline atomics on arm64 the compiler will create a call to a function that performs the atomic operation. This allows us to use the fastest operation depending on the hardware. As these functions are implemented in libgcc create a linker script so libraries that link against libgcc_s will include libgcc to pull them in. Reviewed by: imp, jhb Sponsored by: Arm Ltd Differential Revision: https://reviews.freebsd.org/D45268
-rw-r--r--lib/libgcc_s/Makefile2
-rw-r--r--lib/libgcc_s/libgcc_s.ldscript1
2 files changed, 3 insertions, 0 deletions
diff --git a/lib/libgcc_s/Makefile b/lib/libgcc_s/Makefile
index 7e3911043843..e09a4fb2cd62 100644
--- a/lib/libgcc_s/Makefile
+++ b/lib/libgcc_s/Makefile
@@ -2,6 +2,8 @@ PACKAGE= clibs
SHLIB_NAME= libgcc_s.so.1
SHLIBDIR?= /lib
+SHLIB_LDSCRIPT=libgcc_s.ldscript
+
# Enabling UBSan triggers "undefined reference to vtable for __cxxabiv1::__function_type_info"
MK_UBSAN:= no
diff --git a/lib/libgcc_s/libgcc_s.ldscript b/lib/libgcc_s/libgcc_s.ldscript
new file mode 100644
index 000000000000..a7e94ac4c9a0
--- /dev/null
+++ b/lib/libgcc_s/libgcc_s.ldscript
@@ -0,0 +1 @@
+GROUP ( @@SHLIB@@ @@LIBDIR@@/libgcc.a )