diff options
Diffstat (limited to 'gcc/configure.ac')
-rw-r--r-- | gcc/configure.ac | 17 |
1 files changed, 16 insertions, 1 deletions
diff --git a/gcc/configure.ac b/gcc/configure.ac index 068c66ae9a3..1d5175b9f7e 100644 --- a/gcc/configure.ac +++ b/gcc/configure.ac @@ -4538,6 +4538,8 @@ AC_MSG_RESULT($gcc_cv_ld_eh_gc_sections_bug) AC_CACHE_CHECK(linker --as-needed support, gcc_cv_ld_as_needed, [gcc_cv_ld_as_needed=no +gcc_cv_ld_as_needed_option='--as-needed' +gcc_cv_ld_no_as_needed_option='--no-as-needed' 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 @@ -4547,12 +4549,25 @@ 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 + else + case "$target" in + # Solaris 2 ld always supports -z ignore/-z record. + *-*-solaris2*) + gcc_cv_ld_as_needed=yes + gcc_cv_ld_as_needed_option="-z ignore" + gcc_cv_ld_no_as_needed_option="-z record" + ;; + esac fi fi ]) if test x"$gcc_cv_ld_as_needed" = xyes; then AC_DEFINE(HAVE_LD_AS_NEEDED, 1, -[Define if your linker supports --as-needed and --no-as-needed options.]) +[Define if your linker supports --as-needed/--no-as-needed or equivalent options.]) + AC_DEFINE_UNQUOTED(LD_AS_NEEDED_OPTION, "$gcc_cv_ld_as_needed_option", +[Define to the linker option to ignore unused dependencies.]) + AC_DEFINE_UNQUOTED(LD_NO_AS_NEEDED_OPTION, "$gcc_cv_ld_no_as_needed_option", +[Define to the linker option to keep unused dependencies.]) fi case "$target:$tm_file" in |