git: e63eee84cad5 - main - libgcc_s: Add a linker script to link to libgcc
Date: Mon, 27 Apr 2026 11:38:57 UTC
The branch main has been updated by andrew:
URL: https://cgit.FreeBSD.org/src/commit/?id=e63eee84cad59f63338a539e73bed07917932088
commit e63eee84cad59f63338a539e73bed07917932088
Author: Andrew Turner <andrew@FreeBSD.org>
AuthorDate: 2026-04-27 10:54:18 +0000
Commit: Andrew Turner <andrew@FreeBSD.org>
CommitDate: 2026-04-27 11:37:53 +0000
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
---
lib/libgcc_s/Makefile | 2 ++
lib/libgcc_s/libgcc_s.ldscript | 1 +
2 files changed, 3 insertions(+)
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 )