OSDN Git Service

* i386.md (UNSPEC_SSE_PROLOGUE_SAVE_LOW): New.
[pf3gnuchains/gcc-fork.git] / gcc / configure
index c3ff39c..de9cc72 100755 (executable)
@@ -900,6 +900,7 @@ with_pic
 enable_fast_install
 enable_libtool_lock
 with_plugin_ld
+enable_comdat
 enable_gnu_unique_object
 enable_linker_build_id
 with_long_double_128
@@ -1602,6 +1603,7 @@ Optional Features:
   --enable-fast-install[=PKGS]
                           optimize for fast installation [default=yes]
   --disable-libtool-lock  avoid locking (might break parallel builds)
+  --enable-comdat         enable COMDAT group support
   --enable-gnu-unique-object   enable the use of the @gnu_unique_object ELF extension on
                                glibc systems
   --enable-linker-build-id
@@ -8424,6 +8426,59 @@ fi
 done
 
 
+save_CPPFLAGS="$CPPFLAGS"
+save_LIBS="$LIBS"
+LIBS="$LIBS $LIBELFLIBS"
+for ac_func in elf_getshdrstrndx
+do :
+  ac_fn_c_check_func "$LINENO" "elf_getshdrstrndx" "ac_cv_func_elf_getshdrstrndx"
+if test "x$ac_cv_func_elf_getshdrstrndx" = x""yes; then :
+  cat >>confdefs.h <<_ACEOF
+#define HAVE_ELF_GETSHDRSTRNDX 1
+_ACEOF
+
+else
+  for ac_func in elf_getshstrndx
+do :
+  ac_fn_c_check_func "$LINENO" "elf_getshstrndx" "ac_cv_func_elf_getshstrndx"
+if test "x$ac_cv_func_elf_getshstrndx" = x""yes; then :
+  cat >>confdefs.h <<_ACEOF
+#define HAVE_ELF_GETSHSTRNDX 1
+_ACEOF
+ if test "$cross_compiling" = yes; then :
+  { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+as_fn_error "cannot run test program while cross compiling
+See \`config.log' for more details." "$LINENO" 5; }
+else
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#include <stdlib.h>
+#include <libelf.h>
+int main()
+{
+  return elf_getshstrndx (NULL, 0) == 0;
+},
+$as_echo "#define HAVE_ELF_GETSHSTRNDX_GABI 1" >>confdefs.h
+
+_ACEOF
+if ac_fn_c_try_run "$LINENO"; then :
+
+fi
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
+  conftest.$ac_objext conftest.beam conftest.$ac_ext
+fi
+
+fi
+done
+
+
+fi
+done
+
+LIBS="$save_LIBS"
+CPPFLAGS="$save_CPPFLAGS"
+
 if test x$ac_cv_func_mbstowcs = xyes; then
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether mbstowcs works" >&5
 $as_echo_n "checking whether mbstowcs works... " >&6; }
@@ -17037,7 +17092,7 @@ else
   lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
   lt_status=$lt_dlunknown
   cat > conftest.$ac_ext <<_LT_EOF
-#line 17040 "configure"
+#line 17095 "configure"
 #include "confdefs.h"
 
 #if HAVE_DLFCN_H
@@ -17143,7 +17198,7 @@ else
   lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
   lt_status=$lt_dlunknown
   cat > conftest.$ac_ext <<_LT_EOF
-#line 17146 "configure"
+#line 17201 "configure"
 #include "confdefs.h"
 
 #if HAVE_DLFCN_H
@@ -21210,6 +21265,27 @@ if test $in_tree_ld != yes ; then
     ld_vers_major=`expr "$ld_vers" : '\([0-9]*\)'`
     ld_vers_minor=`expr "$ld_vers" : '[0-9]*\.\([0-9]*\)'`
     ld_vers_patch=`expr "$ld_vers" : '[0-9]*\.[0-9]*\.\([0-9]*\)'`
+  else
+    case "${target}" in
+      *-*-solaris2*)
+       #
+       # Solaris 2 ld -V output looks like this for a regular version:
+       #
+       # ld: Software Generation Utilities - Solaris Link Editors: 5.11-1.1699
+       #
+       # but test versions add stuff at the end:
+       #
+       # ld: Software Generation Utilities - Solaris Link Editors: 5.11-1.1701:onnv-ab196087-6931056-03/25/10
+       #
+       ld_ver=`$gcc_cv_ld -V 2>&1`
+       if echo "$ld_ver" | grep 'Solaris Link Editors' > /dev/null; then
+         ld_vers=`echo $ld_ver | sed -n \
+           -e 's,^.*: 5\.[0-9][0-9]*-\([0-9]\.[0-9][0-9]*\).*$,\1,p'`
+         ld_vers_major=`expr "$ld_vers" : '\([0-9]*\)'`
+         ld_vers_minor=`expr "$ld_vers" : '[0-9]*\.\([0-9]*\)'`
+       fi
+       ;;
+    esac
   fi
 fi
 
@@ -21808,7 +21884,7 @@ elif test $in_tree_ld = yes ; then
      && test $in_tree_ld_is_elf = yes; then
      comdat_group=yes
   fi
-elif test x"$ld_vers" != x; then
+elif echo "$ld_ver" | grep GNU > /dev/null; then
   comdat_group=yes
   if test 0"$ld_date" -lt 20050308; then
     if test -n "$ld_date"; then
@@ -21821,9 +21897,32 @@ elif test x"$ld_vers" != x; then
     fi
   fi
 else
-  # assume linkers other than GNU ld don't support COMDAT group
-  comdat_group=no
+  case "${target}" in
+    *-*-solaris2.1[1-9]*)
+      # Sun ld has COMDAT group support since Solaris 9, but it doesn't
+      # interoperate with GNU as until Solaris 11 build 130, i.e. ld
+      # version 1.688.
+      #
+      # FIXME: Maybe need to refine later when COMDAT group support with
+      # Sun as is implemented.
+      if test "$ld_vers_major" -gt 1 || test "$ld_vers_minor" -ge 1688; then
+        comdat_group=yes
+      else
+        comdat_group=no
+      fi
+      ;;
+    *)
+      # Assume linkers other than GNU ld don't support COMDAT group.
+      comdat_group=no
+      ;;
+  esac
+fi
+# Allow overriding the automatic COMDAT group tests above.
+# Check whether --enable-comdat was given.
+if test "${enable_comdat+set}" = set; then :
+  enableval=$enable_comdat; comdat_group="$enable_comdat"
 fi
+
 if test $comdat_group = no; then
   gcc_cv_as_comdat_group=no
   gcc_cv_as_comdat_group_percent=no
@@ -21964,7 +22063,7 @@ foo:    .long   25
        ;;
   i[34567]86-*-*)
     case "$target" in
-      i[34567]86-*-solaris2.[56789]*)
+      i[34567]86-*-solaris2.[89]*)
        # TLS was introduced in the Solaris 9 4/04 release but
        # we do not enable it by default on Solaris 9 either.
        if test "x$enable_tls" = xyes ; then
@@ -22189,7 +22288,7 @@ foo:    .long   25
        ;;
   sparc*-*-*)
     case "$target" in
-      sparc*-sun-solaris2.[56789]*)
+      sparc*-sun-solaris2.[89]*)
        # TLS was introduced in the Solaris 9 4/04 release but
        # we do not enable it by default on Solaris 9 either.
        if test "x$enable_tls" = xyes ; then
@@ -25188,10 +25287,14 @@ $as_echo_n "checking for exported symbols... " >&6; }
 $as_echo_n "checking for -rdynamic... " >&6; }
     ${CC} ${CFLAGS} ${LDFLAGS} -rdynamic conftest.c -o conftest > /dev/null 2>&1
     if $gcc_cv_objdump -T conftest | grep foobar > /dev/null; then
+      plugin_rdynamic=yes
       pluginlibs="-rdynamic"
     else
+      plugin_rdynamic=no
       enable_plugin=no
     fi
+    { $as_echo "$as_me:${as_lineno-$LINENO}: result: $plugin_rdynamic" >&5
+$as_echo "$plugin_rdynamic" >&6; }
   fi
 
   # Check -ldl