]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
Cleanup Solaris linker version checks
authorRainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
Thu, 2 Nov 2017 10:49:16 +0000 (10:49 +0000)
committerRainer Orth <ro@gcc.gnu.org>
Thu, 2 Nov 2017 10:49:16 +0000 (10:49 +0000)
* acinclude.m4 (gcc_AC_INITFINI_ARRAY): Don't require
gcc_SUN_LD_VERSION.
(gcc_GAS_CHECK_FEATURE): Remove.
* configure.ac (ld_vers) <*-*-solaris2*>: Move comments from
gcc_AC_INITFINI_ARRAY here.  Update for Solaris 11.4 changes.
* configure: Regenerate.

From-SVN: r254340

gcc/ChangeLog
gcc/acinclude.m4
gcc/configure
gcc/configure.ac

index d80fa53655100d0755e8f23e747e1f8cd336476c..af7aadee5d961f14e6aa3d64823bab99444ba6e6 100644 (file)
@@ -1,3 +1,12 @@
+2017-11-02  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
+
+       * acinclude.m4 (gcc_AC_INITFINI_ARRAY): Don't require
+       gcc_SUN_LD_VERSION.
+       (gcc_GAS_CHECK_FEATURE): Remove.
+       * configure.ac (ld_vers) <*-*-solaris2*>: Move comments from
+       gcc_AC_INITFINI_ARRAY here.  Update for Solaris 11.4 changes.
+       * configure: Regenerate.
+
 2017-11-02  Claudiu Zissulescu <claziss@synopsys.com>
 
        * config/arc/arc.c (hwloop_optimize): Account for empty
index dbc0ba7e003b8968fab24406d2c1c7c2fe8e9f47..da4ddfd39ed18fdb92c409698890d03753d8e248 100644 (file)
@@ -277,8 +277,7 @@ fi
 fi])
 
 AC_DEFUN([gcc_AC_INITFINI_ARRAY],
-[AC_REQUIRE([gcc_SUN_LD_VERSION])dnl
-AC_ARG_ENABLE(initfini-array,
+[AC_ARG_ENABLE(initfini-array,
        [  --enable-initfini-array      use .init_array/.fini_array sections],
        [], [
 AC_CACHE_CHECK(for .preinit_array/.init_array/.fini_array support,
@@ -556,43 +555,6 @@ if test $[$2] != yes; then
   $8
 fi])])
 
-dnl gcc_SUN_LD_VERSION
-dnl
-dnl Determines Sun linker version numbers, setting gcc_cv_sun_ld_vers to
-dnl the complete version number and gcc_cv_sun_ld_vers_{major, minor} to
-dnl the corresponding fields.
-dnl
-dnl ld and ld.so.1 are guaranteed to be updated in lockstep, so ld version
-dnl numbers can be used in ld.so.1 feature checks even if a different
-dnl linker is configured.
-dnl
-AC_DEFUN([gcc_SUN_LD_VERSION],
-[changequote(,)dnl
-if test "x${build}" = "x${target}" && test "x${build}" = "x${host}"; then
-  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
-      #
-      gcc_cv_sun_ld_ver=`/usr/ccs/bin/ld -V 2>&1`
-      if echo "$gcc_cv_sun_ld_ver" | grep 'Solaris Link Editors' > /dev/null; then
-       gcc_cv_sun_ld_vers=`echo $gcc_cv_sun_ld_ver | sed -n \
-         -e 's,^.*: 5\.[0-9][0-9]*-\([0-9]\.[0-9][0-9]*\).*$,\1,p'`
-       gcc_cv_sun_ld_vers_major=`expr "$gcc_cv_sun_ld_vers" : '\([0-9]*\)'`
-       gcc_cv_sun_ld_vers_minor=`expr "$gcc_cv_sun_ld_vers" : '[0-9]*\.\([0-9]*\)'`
-      fi
-      ;;
-  esac
-fi
-changequote([,])dnl
-])
-
 dnl GCC_TARGET_TEMPLATE(KEY)
 dnl ------------------------
 dnl Define KEY as a valid configure key on the target machine.
index c4313cce39fea60ca60526409bf6b43b1911a3bb..fb40ead92046bd4914ac24fdce21f792034c30a0 100755 (executable)
@@ -22785,15 +22785,25 @@ if test $in_tree_ld != yes ; then
   else
     case "${target}" in
       *-*-solaris2*)
-       # See acinclude.m4 (gcc_SUN_LD_VERSION) for the version number
-       # format.
+       # Solaris 2 ld -V output looks like this for a regular version:
        #
-       # Don't reuse gcc_gv_sun_ld_vers_* in case a linker other than
-       # /usr/ccs/bin/ld has been configured.
+       # 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
+       #
+       # In Solaris 11.4, this was changed to
+       #
+       # ld: Solaris ELF Utilities: 11.4-1.3123
+       #
+       # ld and ld.so.1 are guaranteed to be updated in lockstep, so ld version
+       # numbers can be used in ld.so.1 feature checks even if a different
+       # linker is configured.
        ld_ver=`$gcc_cv_ld -V 2>&1`
-       if echo "$ld_ver" | grep 'Solaris Link Editors' > /dev/null; then
+       if echo "$ld_ver" | $EGREP 'Solaris Link Editors|Solaris ELF Utilities' > /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'`
+           -e 's,^.*: \(5\|1[0-9]\)\.[0-9][0-9]*-\([0-9]\.[0-9][0-9]*\).*$,\2,p'`
          ld_vers_major=`expr "$ld_vers" : '\([0-9]*\)'`
          ld_vers_minor=`expr "$ld_vers" : '[0-9]*\.\([0-9]*\)'`
        fi
 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gcc_cv_ld_ro_rw_mix" >&5
 $as_echo "$gcc_cv_ld_ro_rw_mix" >&6; }
 
-if test "x${build}" = "x${target}" && test "x${build}" = "x${host}"; then
-  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
-      #
-      gcc_cv_sun_ld_ver=`/usr/ccs/bin/ld -V 2>&1`
-      if echo "$gcc_cv_sun_ld_ver" | grep 'Solaris Link Editors' > /dev/null; then
-       gcc_cv_sun_ld_vers=`echo $gcc_cv_sun_ld_ver | sed -n \
-         -e 's,^.*: 5\.[0-9][0-9]*-\([0-9]\.[0-9][0-9]*\).*$,\1,p'`
-       gcc_cv_sun_ld_vers_major=`expr "$gcc_cv_sun_ld_vers" : '\([0-9]*\)'`
-       gcc_cv_sun_ld_vers_minor=`expr "$gcc_cv_sun_ld_vers" : '[0-9]*\.\([0-9]*\)'`
-      fi
-      ;;
-  esac
-fi
-
 # Check whether --enable-initfini-array was given.
 if test "${enable_initfini_array+set}" = set; then :
   enableval=$enable_initfini_array;
index 08685b846a082d749700da35d61e1f268a8cfcc9..0e5167695a2319afee98f7657988f048b94965bf 100644 (file)
@@ -2587,15 +2587,25 @@ if test $in_tree_ld != yes ; then
   else
     case "${target}" in
       *-*-solaris2*)
-       # See acinclude.m4 (gcc_SUN_LD_VERSION) for the version number
-       # format.
+       # Solaris 2 ld -V output looks like this for a regular version:
        #
-       # Don't reuse gcc_gv_sun_ld_vers_* in case a linker other than
-       # /usr/ccs/bin/ld has been configured.
+       # 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
+       #
+       # In Solaris 11.4, this was changed to
+       #
+       # ld: Solaris ELF Utilities: 11.4-1.3123
+       #
+       # ld and ld.so.1 are guaranteed to be updated in lockstep, so ld version
+       # numbers can be used in ld.so.1 feature checks even if a different
+       # linker is configured.
        ld_ver=`$gcc_cv_ld -V 2>&1`
-       if echo "$ld_ver" | grep 'Solaris Link Editors' > /dev/null; then
+       if echo "$ld_ver" | $EGREP 'Solaris Link Editors|Solaris ELF Utilities' > /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'`
+           -e 's,^.*: \(5\|1[0-9]\)\.[0-9][0-9]*-\([0-9]\.[0-9][0-9]*\).*$,\2,p'`
          ld_vers_major=`expr "$ld_vers" : '\([0-9]*\)'`
          ld_vers_minor=`expr "$ld_vers" : '[0-9]*\.\([0-9]*\)'`
        fi