aboutsummaryrefslogtreecommitdiff
path: root/gcc/configure
diff options
context:
space:
mode:
authorAlan Modra <amodra@bigpond.net.au>2004-04-01 16:45:34 +0000
committerJakub Jelinek <jakub@gcc.gnu.org>2004-04-01 18:45:34 +0200
commit765f1bf9e4451e97ccfba21bc2d9dcee8580fb31 (patch)
tree1a3ce88b8909a989116b51749ef3a5f061786ed7 /gcc/configure
parent45dcc026e55601992454c81ff5c171a58a5ac4b9 (diff)
downloadgcc-765f1bf9e4451e97ccfba21bc2d9dcee8580fb31.zip
gcc-765f1bf9e4451e97ccfba21bc2d9dcee8580fb31.tar.gz
gcc-765f1bf9e4451e97ccfba21bc2d9dcee8580fb31.tar.bz2
gcc.c (init_gcc_specs): If HAVE_LD_AS_NEEDED, link with -lgcc --as-needed -lgcc_s --no-as-needed by default.
* gcc.c (init_gcc_specs): If HAVE_LD_AS_NEEDED, link with -lgcc --as-needed -lgcc_s --no-as-needed by default. * configure.ac (HAVE_LD_AS_NEEDED): Check for ld --as-needed. * configure: Rebuilt. * config.in: Rebuilt. * Makefile.in (stage1-start): Copy also libgcc_s*$(SHLIB_EXT). (stage2-start, stage3-start, stage4-start): Likewise. (stageprofile-start, stagefeedback-start): Likewise. Co-Authored-By: Jakub Jelinek <jakub@redhat.com> From-SVN: r80302
Diffstat (limited to 'gcc/configure')
-rwxr-xr-xgcc/configure24
1 files changed, 24 insertions, 0 deletions
diff --git a/gcc/configure b/gcc/configure
index db55887..f0d5d41 100755
--- a/gcc/configure
+++ b/gcc/configure
@@ -11916,6 +11916,30 @@ echo "${ECHO_T}$gcc_cv_ld_pie" >&6
# UNSORTED
# --------
+echo "$as_me:$LINENO: checking linker --as-needed support" >&5
+echo $ECHO_N "checking linker --as-needed support... $ECHO_C" >&6
+gcc_cv_ld_as_needed=no
+if test $in_tree_ld = yes ; then
+ if test "$gcc_cv_gld_major_version" -eq 2 -a "$gcc_cv_gld_minor_version" -ge 16 -o "$gcc_cv_gld_major_version" -gt 2 \
+ && test $in_tree_ld_is_elf = yes; then
+ gcc_cv_ld_as_needed=yes
+ fi
+elif test x$gcc_cv_ld != x; then
+ # Check if linker supports --as-needed and --no-as-needed options
+ if $gcc_cv_ld --help 2>/dev/null | grep as-needed > /dev/null; then
+ gcc_cv_ld_as_needed=yes
+ fi
+fi
+if test x"$gcc_cv_ld_as_needed" = xyes; then
+
+cat >>confdefs.h <<\_ACEOF
+#define HAVE_LD_AS_NEEDED 1
+_ACEOF
+
+fi
+echo "$as_me:$LINENO: result: $gcc_cv_ld_as_needed" >&5
+echo "${ECHO_T}$gcc_cv_ld_as_needed" >&6
+
if test x$with_sysroot = x && test x$host = x$target \
&& test "$prefix" != "/usr" && test "x$prefix" != "x$local_prefix" ; then