diff options
-rw-r--r-- | ChangeLog | 7 | ||||
-rw-r--r-- | Makeconfig | 2 | ||||
-rw-r--r-- | config.make.in | 1 | ||||
-rw-r--r-- | configure.in | 19 |
4 files changed, 26 insertions, 3 deletions
diff --git a/ChangeLog b/ChangeLog index d7446f9b32..b473c24c1c 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,10 @@ +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. diff --git a/Makeconfig b/Makeconfig index ce84c75624..5a9f068f11 100644 --- a/Makeconfig +++ b/Makeconfig @@ -520,7 +520,7 @@ ifndef gnulib 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) diff --git a/config.make.in b/config.make.in index e6fc6a1cc7..dd3aa8fe8a 100644 --- a/config.make.in +++ b/config.make.in @@ -47,6 +47,7 @@ have-initfini = @libc_cv_have_initfini@ 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@ 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 |