summaryrefslogtreecommitdiff
path: root/libgcc/config/i386
diff options
context:
space:
mode:
authorJakub Jelinek <jakub@redhat.com>2018-02-28 09:59:15 +0100
committerJakub Jelinek <jakub@gcc.gnu.org>2018-02-28 09:59:15 +0100
commitce579a4fe084bb4aea2b677592e114639d9afc07 (patch)
treeee17476149a90f9a012107fe31e62bdcb32f4996 /libgcc/config/i386
parent678127a85e78a86d680e33b208e1571dc2dc045f (diff)
downloadgcc-ce579a4fe084bb4aea2b677592e114639d9afc07.tar.gz
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/config/i386')
-rw-r--r--libgcc/config/i386/cygwin.S8
-rw-r--r--libgcc/config/i386/i386-asm.h21
2 files changed, 7 insertions, 22 deletions
diff --git a/libgcc/config/i386/cygwin.S b/libgcc/config/i386/cygwin.S
index f856be3e88a..ece17f82a68 100644
--- a/libgcc/config/i386/cygwin.S
+++ b/libgcc/config/i386/cygwin.S
@@ -23,13 +23,11 @@
* <http://www.gnu.org/licenses/>.
*/
-#ifdef HAVE_GAS_CFI_SECTIONS_DIRECTIVE
-# define USE_GAS_CFI_DIRECTIVES 1
+#include "i386-asm.h"
+
+#ifdef HAVE_AS_CFI_SECTIONS
.cfi_sections .debug_frame
-#else
-# define USE_GAS_CFI_DIRECTIVES 0
#endif
-#include "i386-asm.h"
#ifdef L_chkstk
/* Function prologue calls __chkstk to probe the stack when allocating more
diff --git a/libgcc/config/i386/i386-asm.h b/libgcc/config/i386/i386-asm.h
index dbf99564b0c..b5b7fb44fa5 100644
--- a/libgcc/config/i386/i386-asm.h
+++ b/libgcc/config/i386/i386-asm.h
@@ -27,21 +27,8 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
#define I386_ASM_H
#include "auto-target.h"
-#undef PACKAGE_VERSION
-#undef PACKAGE_NAME
-#undef PACKAGE_STRING
-#undef PACKAGE_TARNAME
-#undef PACKAGE_URL
-#include "auto-host.h"
-
-#ifndef USE_GAS_CFI_DIRECTIVES
-# ifdef __GCC_HAVE_DWARF2_CFI_ASM
-# define USE_GAS_CFI_DIRECTIVES 1
-# else
-# define USE_GAS_CFI_DIRECTIVES 0
-# endif
-#endif
-#if USE_GAS_CFI_DIRECTIVES
+
+#ifdef __GCC_HAVE_DWARF2_CFI_ASM
# define cfi_startproc() .cfi_startproc
# define cfi_endproc() .cfi_endproc
# define cfi_adjust_cfa_offset(X) .cfi_adjust_cfa_offset X
@@ -76,8 +63,8 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
#ifdef __ELF__
# define FN_TYPE(fn) .type fn,@function
# define FN_SIZE(fn) .size fn,.-fn
-# ifdef HAVE_GAS_HIDDEN
-# define FN_HIDDEN(fn) .hidden fn
+# ifdef AS_HIDDEN_DIRECTIVE
+# define FN_HIDDEN(fn) AS_HIDDEN_DIRECTIVE fn
# endif
#else
# define FN_TYPE(fn)