diff options
author | Richard Henderson <rth@redhat.com> | 2008-08-05 10:24:37 -0700 |
---|---|---|
committer | Richard Henderson <rth@gcc.gnu.org> | 2008-08-05 10:24:37 -0700 |
commit | d4ea462245cd9d967dce805b8b97ffe10ee30c3e (patch) | |
tree | 7b5f0b07219e5a80c5cc9a52c95fd7029c3149d2 /gcc/configure | |
parent | cdaf871beb36eccc5e2d92a99ddea84060de5304 (diff) | |
download | gcc-d4ea462245cd9d967dce805b8b97ffe10ee30c3e.zip gcc-d4ea462245cd9d967dce805b8b97ffe10ee30c3e.tar.gz gcc-d4ea462245cd9d967dce805b8b97ffe10ee30c3e.tar.bz2 |
Makefile.in (c-cppbuiltin.o): Depend on debug.h.
* Makefile.in (c-cppbuiltin.o): Depend on debug.h.
* c-cppbuiltin.c (c_cpp_builtins): Define __GCC_HAVE_DWARF2_CFI_ASM.
* doc/cpp.texi (__GCC_HAVE_DWARF2_CFI_ASM): Document it.
* common.opt (fdwarf2-cfi-asm): New.
* configure.ac (HAVE_GAS_CFI_DIRECTIVE): New.
* config.in, configure: Rebuild.
* dwarf2asm.c (dw2_asm_output_data_raw): New.
(dw2_asm_output_data_uleb128_raw, dw2_asm_output_data_sleb128_raw): New.
(dw2_force_const_mem): Externalize.
* dwarf2asm.h: Update.
* dwarf2out.c (dwarf2out_cfi_label): If flag_dwarf2_cfi_asm, don't
generate a real label.
(output_cfi_directive): New.
(add_fde_cfi): If flag_dwarf2_cfi_asm, use it.
(output_call_frame_info): Do nothing if flag_dwarf2_cfi_asm.
(dwarf2out_begin_prologue): Emit .cfi_startproc, .cfi_personality,
and .cfi_lsda.
(dwarf2out_end_epilogue): Emit .cfi_endproc.
(output_loc_operands_raw, output_loc_sequence_raw): New.
(output_cfa_loc_raw): New.
From-SVN: r138733
Diffstat (limited to 'gcc/configure')
-rwxr-xr-x | gcc/configure | 44 |
1 files changed, 44 insertions, 0 deletions
diff --git a/gcc/configure b/gcc/configure index a79664b..d1996bb 100755 --- a/gcc/configure +++ b/gcc/configure @@ -20832,6 +20832,50 @@ _ACEOF fi +# Check if we have assembler support for unwind directives. +echo "$as_me:$LINENO: checking assembler for cfi directives" >&5 +echo $ECHO_N "checking assembler for cfi directives... $ECHO_C" >&6 +if test "${gcc_cv_as_cfi_directive+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + gcc_cv_as_cfi_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_directive=yes +fi + elif test x$gcc_cv_as != x; then + echo ' .text + .cfi_startproc + .cfi_offset 0, 0 + .cfi_same_value 1 + .cfi_def_cfa 1, 2 + .cfi_escape 1, 2, 3, 4, 5 + .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_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_directive" >&5 +echo "${ECHO_T}$gcc_cv_as_cfi_directive" >&6 + + +cat >>confdefs.h <<_ACEOF +#define HAVE_GAS_CFI_DIRECTIVE `if test $gcc_cv_as_cfi_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 |