diff options
author | Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> | 2013-05-14 09:28:17 +0000 |
---|---|---|
committer | Rainer Orth <ro@gcc.gnu.org> | 2013-05-14 09:28:17 +0000 |
commit | 56cf785912d39bf6f529e6eaace998788fd250b2 (patch) | |
tree | f3b5c166bfd33e19d7236f5f52a370bdc2286a9e /gcc/configure.ac | |
parent | 75776c6d256cf2db9cd470484445bff01c7e30fa (diff) | |
download | gcc-56cf785912d39bf6f529e6eaace998788fd250b2.tar.gz |
Fix Solaris --as-needed/-z ignore detection (PR target/57261)
PR target/57261
* configure.ac (gcc_cv_ld_as_needed): Disable before Solaris 11
and Solaris 11+/x86 with gld.
* configure: Regenerate.
From-SVN: r198867
Diffstat (limited to 'gcc/configure.ac')
-rw-r--r-- | gcc/configure.ac | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/gcc/configure.ac b/gcc/configure.ac index effae814fa2..a6cdf245ea5 100644 --- a/gcc/configure.ac +++ b/gcc/configure.ac @@ -4560,6 +4560,23 @@ elif test x$gcc_cv_ld != x; then esac fi fi +# --as-needed/-z ignore can only be used if libgcc_s.so.1 uses +# dl_iterate_phdr, i.e. since Solaris 11. +case "$target" in + *-*-solaris2.1[[1-9]]*) + case "$target" in + i?86-*-* | x86_64-*-*) + if echo "$ld_ver" | grep GNU > /dev/null; then + # Doesn't work with gld on Solaris/x86 due to PR ld/12320. + gcc_cv_ld_as_needed=no + fi + ;; + esac + ;; + *-*-solaris2*) + gcc_cv_ld_as_needed=no + ;; +esac ]) if test x"$gcc_cv_ld_as_needed" = xyes; then AC_DEFINE(HAVE_LD_AS_NEEDED, 1, |