From 39127b19704ef5783d1f6b43e3ad9ef80afa2b0b Mon Sep 17 00:00:00 2001 From: Richard Lowe Date: Wed, 5 Mar 2014 04:12:52 +0000 Subject: gcc: enable the .eh_frame based unwinder --- gcc/configure | 9 ++++++--- gcc/configure.ac | 9 ++++++--- 2 files changed, 12 insertions(+), 6 deletions(-) diff --git a/gcc/configure b/gcc/configure index 9b28369e3bf..e3ba8874ef3 100755 --- a/gcc/configure +++ b/gcc/configure @@ -23938,11 +23938,12 @@ # 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 - ld_vers=`echo $ld_ver | sed -n \ - -e 's,^.*: 5\.[0-9][0-9]*-\([0-9]\.[0-9][0-9]*\).*$,\1,p'` + if echo "$ld_ver" | $EGREP 'Solaris Link Editors|Solaris ELF Utilities' > /dev/null; then + ld_vers=`echo $ld_ver | /bin/sed -n \ + -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]*\)'` + ld_vers_isillumos=`echo "$ld_ver" | grep '(illumos)'` fi ;; esac @@ -30328,6 +30329,8 @@ # Sun ld has various bugs in .eh_frame_hdr support before version 1.2251. if test "$ld_vers_major" -gt 1 || test "$ld_vers_minor" -ge 2251; then gcc_cv_ld_eh_frame_hdr=yes + elif test "$ld_vers_minor" -ge 1735 && test -n "$ld_vers_isillumos"; then + gcc_cv_ld_eh_frame_hdr=yes fi ;; esac diff --git a/gcc/configure.ac b/gcc/configure.ac index 162e08cbc02..39fee787a01 100644 --- a/gcc/configure.ac +++ b/gcc/configure.ac @@ -3049,11 +3049,12 @@ # 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 - ld_vers=`echo $ld_ver | sed -n \ - -e 's,^.*: 5\.[0-9][0-9]*-\([0-9]\.[0-9][0-9]*\).*$,\1,p'` + if echo "$ld_ver" | $EGREP 'Solaris Link Editors|Solaris ELF Utilities' > /dev/null; then + ld_vers=`echo $ld_ver | /bin/sed -n \ + -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]*\)'` + ld_vers_isillumos=`echo "$ld_ver" | grep '(illumos)'` fi ;; esac @@ -6005,6 +6006,8 @@ # Sun ld has various bugs in .eh_frame_hdr support before version 1.2251. if test "$ld_vers_major" -gt 1 || test "$ld_vers_minor" -ge 2251; then gcc_cv_ld_eh_frame_hdr=yes + elif test "$ld_vers_minor" -ge 1735 && test -n "$ld_vers_isillumos"; then + gcc_cv_ld_eh_frame_hdr=yes fi ;; esac