diff options
author | Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> | 2010-03-01 18:09:19 +0000 |
---|---|---|
committer | Rainer Orth <ro@gcc.gnu.org> | 2010-03-01 18:09:19 +0000 |
commit | eb2573eeb49113ae518ac98212eb778fe20c89ee (patch) | |
tree | e4e3dab3ea153f66b87aed538185c6ec2007d70a /gcc/configure.ac | |
parent | 12f9ddbc7da85ff73fc4fd4bf6a15cd30cefdef4 (diff) | |
download | gcc-eb2573eeb49113ae518ac98212eb778fe20c89ee.tar.gz |
configure.ac (gcc_cv_as_cfi_directive): Disable cfi directives unless GCC and gas agree on using read-only .eh_frame...
* configure.ac (gcc_cv_as_cfi_directive) [i?86-*-solaris*]:
Disable cfi directives unless GCC and gas agree on using read-only
.eh_frame sections for 64-bit.
* configure: Regenerate.
From-SVN: r157151
Diffstat (limited to 'gcc/configure.ac')
-rw-r--r-- | gcc/configure.ac | 18 |
1 files changed, 17 insertions, 1 deletions
diff --git a/gcc/configure.ac b/gcc/configure.ac index fe1ac55d863..ddfbc7a183d 100644 --- a/gcc/configure.ac +++ b/gcc/configure.ac @@ -2272,7 +2272,23 @@ gcc_GAS_CHECK_FEATURE([cfi directives], gcc_cv_as_cfi_directive, sed -e /.eh_frame/!d -e N | grep READONLY > /dev/null; then gcc_cv_as_cfi_directive=no else - gcc_cv_as_cfi_directive=yes + case "$target" in + i?86-*-solaris2.1[[0-9]]*) + # On Solaris/x86, make sure that GCC and gas agree on using + # read-only .eh_frame sections for 64-bit. + if $gcc_cv_as --64 -o conftest.o conftest.s > /dev/null 2>&1 && \ + $gcc_cv_objdump -h conftest.o 2>/dev/null | \ + sed -e /.eh_frame/!d -e N | \ + grep READONLY > /dev/null; then + gcc_cv_as_cfi_directive=yes + else + gcc_cv_as_cfi_directive=no + fi + ;; + *) + gcc_cv_as_cfi_directive=yes + ;; + esac fi else # no objdump, err on the side of caution |