I have committed the attached patch to make NetBSD handle -lgcc correctly
for shared libraries.
gcc/ChangeLog:
PR target/80600
* config/netbsd.h (NETBSD_LIBGCC_SPEC): Always add -lgcc.
libgcc/ChangeLog:
PR target/80600
* config.host (*-*-netbsd*): Add t-slibgcc-libgcc to tmake_file.
/Krister
Index: gcc/config/netbsd.h
===================================================================
--- gcc/config/netbsd.h (revision 248036)
+++ gcc/config/netbsd.h (working copy)
@@ -120,8 +120,7 @@
#undef LIB_SPEC
#define LIB_SPEC NETBSD_LIB_SPEC
-/* Provide a LIBGCC_SPEC appropriate for NetBSD. We also want to exclude
- libgcc with -symbolic. */
+/* Provide a LIBGCC_SPEC appropriate for NetBSD. */
#ifdef NETBSD_NATIVE
#define NETBSD_LIBGCC_SPEC \
@@ -133,7 +132,7 @@
%{p: -lgcc_p} \
%{pg: -lgcc_p}}"
#else
-#define NETBSD_LIBGCC_SPEC "%{!shared:%{!symbolic: -lgcc}}"
+#define NETBSD_LIBGCC_SPEC "-lgcc"
#endif
#undef LIBGCC_SPEC
Index: libgcc/config.host
===================================================================
--- libgcc/config.host (revision 248036)
+++ libgcc/config.host (working copy)
@@ -249,6 +249,7 @@
*-*-netbsd*)
tmake_file="$tmake_file t-crtstuff-pic t-libgcc-pic t-eh-dw2-dip"
tmake_file="$tmake_file t-slibgcc t-slibgcc-gld t-slibgcc-elf-ver"
+ tmake_file="$tmake_file t-slibgcc-libgcc"
# NetBSD 1.7 and later are set up to use GCC's crtstuff for
# ELF configurations. We will clear extra_parts in the
# a.out configurations.