diff options
author | rth <rth@138bc75d-0d04-0410-961f-82ee72b054a4> | 2008-08-07 16:29:22 +0000 |
---|---|---|
committer | rth <rth@138bc75d-0d04-0410-961f-82ee72b054a4> | 2008-08-07 16:29:22 +0000 |
commit | 3dcd5df11c166b18d445c366cd57d6245391df2e (patch) | |
tree | 6f429f963a824f06c51ad8534931937fd85f61e3 /gcc/configure | |
parent | 0729edb47e264da6bb70fc7a4c19369897ca7ad2 (diff) | |
download | gcc-3dcd5df11c166b18d445c366cd57d6245391df2e.tar.gz |
* configure.ac (HAVE_GAS_CFI_PERSONALITY_DIRECTIVE): New.
* configure, config.in: Rebuild.
* debug.h (dwarf2out_do_cfi_asm): Declare.
* c-cppbuiltin.c (c_cpp_builtins): Use it.
* dwarf2out.c (dwarf2out_do_cfi_asm): New.
(dwarf2out_cfi_label, add_fde_cfi, output_call_frame_info,
dwarf2out_begin_prologue, dwarf2out_end_epilogue): Use it.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@138846 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/configure')
-rwxr-xr-x | gcc/configure | 42 |
1 files changed, 41 insertions, 1 deletions
diff --git a/gcc/configure b/gcc/configure index 0ad273b0cfa..3625898cc9e 100755 --- a/gcc/configure +++ b/gcc/configure @@ -20851,7 +20851,6 @@ fi .cfi_same_value 1 .cfi_def_cfa 1, 2 .cfi_escape 1, 2, 3, 4, 5 - .cfi_personality 0, symbol .cfi_endproc' > conftest.s if { ac_try='$gcc_cv_as -o conftest.o conftest.s >&5' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 @@ -20877,6 +20876,47 @@ cat >>confdefs.h <<_ACEOF _ACEOF +echo "$as_me:$LINENO: checking assembler for cfi personality directive" >&5 +echo $ECHO_N "checking assembler for cfi personality directive... $ECHO_C" >&6 +if test "${gcc_cv_as_cfi_personality_directive+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + gcc_cv_as_cfi_personality_directive=no + if test $in_tree_gas = yes; then + if test $in_tree_gas_is_elf = yes \ + && test $gcc_cv_gas_vers -ge `expr \( \( 2 \* 1000 \) + 17 \) \* 1000 + 0` + then gcc_cv_as_cfi_personality_directive=yes +fi + elif test x$gcc_cv_as != x; then + echo ' .text + .cfi_startproc, + .cfi_personality 0, symbol + .cfi_endproc' > conftest.s + if { ac_try='$gcc_cv_as -o conftest.o conftest.s >&5' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } + then + gcc_cv_as_cfi_personality_directive=yes + else + echo "configure: failed program was" >&5 + cat conftest.s >&5 + fi + rm -f conftest.o conftest.s + fi +fi +echo "$as_me:$LINENO: result: $gcc_cv_as_cfi_personality_directive" >&5 +echo "${ECHO_T}$gcc_cv_as_cfi_personality_directive" >&6 + + +cat >>confdefs.h <<_ACEOF +#define HAVE_GAS_CFI_PERSONALITY_DIRECTIVE `if test $gcc_cv_as_cfi_personality_directive = yes; + then echo 1; else echo 0; fi` +_ACEOF + + # GAS versions up to and including 2.11.0 may mis-optimize # .eh_frame data. echo "$as_me:$LINENO: checking assembler for eh_frame optimization" >&5 |