From dea82cdb40884d39165b2e10941d7cfef72527b8 Mon Sep 17 00:00:00 2001 From: Rainer Orth Date: Thu, 2 Nov 2017 10:49:16 +0000 Subject: [PATCH] Cleanup Solaris linker version checks * 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 | 9 +++++++++ gcc/acinclude.m4 | 40 +--------------------------------------- gcc/configure | 45 ++++++++++++++++----------------------------- gcc/configure.ac | 22 ++++++++++++++++------ 4 files changed, 42 insertions(+), 74 deletions(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index d80fa536551..af7aadee5d9 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,12 @@ +2017-11-02 Rainer Orth + + * 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 * config/arc/arc.c (hwloop_optimize): Account for empty diff --git a/gcc/acinclude.m4 b/gcc/acinclude.m4 index dbc0ba7e003..da4ddfd39ed 100644 --- a/gcc/acinclude.m4 +++ b/gcc/acinclude.m4 @@ -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. diff --git a/gcc/configure b/gcc/configure index c4313cce39f..fb40ead9204 100755 --- a/gcc/configure +++ b/gcc/configure @@ -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 @@ -22917,29 +22927,6 @@ 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; diff --git a/gcc/configure.ac b/gcc/configure.ac index 08685b846a0..0e5167695a2 100644 --- a/gcc/configure.ac +++ b/gcc/configure.ac @@ -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 -- 2.30.2