about summary refs log tree commit diff
path: root/configure.in
diff options
context:
space:
mode:
Diffstat (limited to 'configure.in')
-rw-r--r--configure.in19
1 files changed, 17 insertions, 2 deletions
diff --git a/configure.in b/configure.in
index 082aa1ac42..bf60a50028 100644
--- a/configure.in
+++ b/configure.in
@@ -1315,14 +1315,29 @@ EOF
   rm -f conftest*])
   AC_SUBST(libc_cv_Bgroup)
 
+  AC_CACHE_CHECK(for libgcc_s suffix,
+		 libc_cv_libgcc_s_suffix, [dnl
+  cat > conftest.c <<EOF
+int main (void) { return 0; }
+EOF
+changequote(,)dnl
+  libc_cv_libgcc_s_suffix=`${CC-cc} $CFLAGS $CPPFLAGS $LDFLAGS \
+			   -shared -shared-libgcc -o conftest.so \
+			   conftest.c -v 2>&1 >/dev/null \
+			   | sed -n 's/^.* -lgcc_s\([^ ]*\) .*$/\1/p'`
+changequote([,])dnl
+  rm -f conftest*])
+  AC_SUBST(libc_cv_libgcc_s_suffix)
+
   AC_CACHE_CHECK(for --as-needed option,
 		 libc_cv_as_needed, [dnl
   cat > conftest.c <<EOF
 int main (void) { return 0; }
 EOF
   if AC_TRY_COMMAND([${CC-cc} $CFLAGS $CPPFLAGS $LDFLAGS
-			      -shared -o conftest.so conftest.c -lgcc_s
-			      -Wl,--as-needed -nostdlib 1>&AS_MESSAGE_LOG_FD])
+			      -shared -o conftest.so conftest.c
+			      -lgcc_s$libc_cv_libgcc_s_suffix -Wl,--as-needed
+			      -nostdlib 1>&AS_MESSAGE_LOG_FD])
   then
     libc_cv_as_needed=yes
   else