diff options
author | Jakub Jelinek <jakub@redhat.com> | 2018-02-28 09:59:15 +0100 |
---|---|---|
committer | Jakub Jelinek <jakub@gcc.gnu.org> | 2018-02-28 09:59:15 +0100 |
commit | ce579a4fe084bb4aea2b677592e114639d9afc07 (patch) | |
tree | ee17476149a90f9a012107fe31e62bdcb32f4996 /libgcc/configure | |
parent | 678127a85e78a86d680e33b208e1571dc2dc045f (diff) | |
download | gcc-ce579a4fe084bb4aea2b677592e114639d9afc07.zip gcc-ce579a4fe084bb4aea2b677592e114639d9afc07.tar.gz gcc-ce579a4fe084bb4aea2b677592e114639d9afc07.tar.bz2 |
re PR debug/83917 (with -mcall-ms2sysv-xlogues, stepping into x86 tail-call restore stub gives bad backtrace)
PR debug/83917
* configure.ac (AS_HIDDEN_DIRECTIVE): AC_DEFINE_UNQUOTED this to
$asm_hidden_op if visibility ("hidden") attribute works.
(HAVE_AS_CFI_SECTIONS): New AC_DEFINE.
* config/i386/i386-asm.h: Don't include auto-host.h.
(PACKAGE_VERSION, PACKAGE_NAME, PACKAGE_STRING, PACKAGE_TARNAME,
PACKAGE_URL): Don't undefine.
(USE_GAS_CFI_DIRECTIVES): Don't use nor define this macro, instead
guard cfi_startproc only on ifdef __GCC_HAVE_DWARF2_CFI_ASM.
(FN_HIDDEN): Change guard from #ifdef HAVE_GAS_HIDDEN to
#ifdef AS_HIDDEN_DIRECTIVE, use AS_HIDDEN_DIRECTIVE macro in the
definition instead of hardcoded .hidden.
* config/i386/cygwin.S: Include i386-asm.h first before .cfi_sections
directive. Use #ifdef HAVE_AS_CFI_SECTIONS rather than
#ifdef HAVE_GAS_CFI_SECTIONS_DIRECTIVE to guard .cfi_sections.
(USE_GAS_CFI_DIRECTIVES): Don't define.
* configure: Regenerated.
* config.in: Likewise.
From-SVN: r258057
Diffstat (limited to 'libgcc/configure')
-rw-r--r-- | libgcc/configure | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/libgcc/configure b/libgcc/configure index 3241f19..7399c86 100644 --- a/libgcc/configure +++ b/libgcc/configure @@ -5214,11 +5214,47 @@ $as_echo "$libgcc_cv_hidden_visibility_attribute" >&6; } if test $libgcc_cv_hidden_visibility_attribute = yes; then vis_hide='-fvisibility=hidden -DHIDE_EXPORTS' + +cat >>confdefs.h <<_ACEOF +#define AS_HIDDEN_DIRECTIVE $asm_hidden_op +_ACEOF + else vis_hide= fi +# Check for .cfi_sections .debug_frame support. +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for .cfi_sections .debug_frame" >&5 +$as_echo_n "checking for .cfi_sections .debug_frame... " >&6; } +if test "${libgcc_cv_cfi_sections_directive+set}" = set; then : + $as_echo_n "(cached) " >&6 +else + + echo 'int foo (int, char *);' > conftest.c + echo 'int bar (int x) { char *y = __builtin_alloca (x); return foo (x + 1, y) + 1; }' >> conftest.c + libgcc_cv_cfi_sections_directive=no + if { ac_try='${CC-cc} -Werror -g -fno-asynchronous-unwind-tables -fno-unwind-tables -fno-exceptions -S conftest.c -o conftest.s 1>&5' + { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_try\""; } >&5 + (eval $ac_try) 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; }; then + if grep "\\.cfi_sections.*\\.debug_frame" conftest.s >/dev/null; then + libgcc_cv_cfi_sections_directive=yes + fi + fi + rm -f conftest.* + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $libgcc_cv_cfi_sections_directive" >&5 +$as_echo "$libgcc_cv_cfi_sections_directive" >&6; } +if test $libgcc_cv_cfi_sections_directive = yes; then + +$as_echo "#define HAVE_AS_CFI_SECTIONS 1" >>confdefs.h + +fi + # See if we have thread-local storage. We can only test assembler # since link-time and run-time tests require the newly built # gcc, which can't be used to build executable due to that libgcc |