+2004-05-08 Jakub Jelinek <jakub@redhat.com>
+
+ * configure.in (libc_cv_libgcc_s_suffix): New check.
+ (libc_cv_as_needed): Use -lgcc_s$libc_cv_libgcc_s_suffix.
+ * config.make.in (libgcc_s_suffix): Set.
+ * Makeconfig (libgcc_eh): Use -lgcc_s$(libgcc_s_suffix).
+
2004-05-08 Ulrich Drepper <drepper@redhat.com>
* signal/signal.h: Use BSD sigpause only if BSD behavior is preferred.
ifneq ($(have-as-needed),yes)
libgcc_eh := -lgcc_eh
else
- libgcc_eh := -Wl,--as-needed -lgcc_s -Wl,--no-as-needed
+ libgcc_eh := -Wl,--as-needed -lgcc_s$(libgcc_s_suffix) -Wl,--no-as-needed
endif
ifneq ($(have-cc-with-libunwind),yes)
gnulib := -lgcc $(libgcc_eh)
have-z-relro = @libc_cv_z_relro@
have-Bgroup = @libc_cv_Bgroup@
have-as-needed = @libc_cv_as_needed@
+libgcc_s_suffix = @libc_cv_libgcc_s_suffix@
need-nopic-initfini = @nopic_initfini@
with-fp = @with_fp@
with-cvs = @with_cvs@
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