aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRobert Lipe <robertl@dgii.com>1997-10-18 05:21:23 +0000
committerJeff Law <law@gcc.gnu.org>1997-10-17 23:21:23 -0600
commitb2167beef260c2dd9da3ed2e459a31324c7eb38c (patch)
tree5f61c5b0f8b0a3ef69ee1a3557cbe34979d62375
parent8070c78887949b019683b0df268d0e4bbc98169e (diff)
downloadgcc-b2167beef260c2dd9da3ed2e459a31324c7eb38c.zip
gcc-b2167beef260c2dd9da3ed2e459a31324c7eb38c.tar.gz
gcc-b2167beef260c2dd9da3ed2e459a31324c7eb38c.tar.bz2
sco5.h: Let ELF use dwarf2 unwinding.
* i386/sco5.h: Let ELF use dwarf2 unwinding. COFF uses sjlj. (EH_FRAME_SECTION_ASM_OP, EH_FRAME_SECTION_ASM_OP_ELF): Defined. (EH_FRAME_SECTION_ASM_OP_COFF): Likewise. (DWARF2_UNWIND_INFO): Let this track object file format. (EXTRA_SECTIONS): Add in_eh. (EH_FRAME_SECTION_ASM_OP, EH_FRAME_SECTION_ASM_OP_ELF): Define. (EH_FRAME_SECTION_ASM_OP_COFF): Likewise. From-SVN: r15990
-rw-r--r--gcc/ChangeLog10
-rw-r--r--gcc/config/i386/sco5.h15
2 files changed, 24 insertions, 1 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index ea2a6b4..2c785dd 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,13 @@
+Fri Oct 17 23:24:40 1997 Robert Lipe (robertl@dgii.com)
+
+ * i386/sco5.h: Let ELF use dwarf2 unwinding. COFF uses sjlj.
+ (EH_FRAME_SECTION_ASM_OP, EH_FRAME_SECTION_ASM_OP_ELF): Defined.
+ (EH_FRAME_SECTION_ASM_OP_COFF): Likewise.
+ (DWARF2_UNWIND_INFO): Let this track object file format.
+ (EXTRA_SECTIONS): Add in_eh.
+ (EH_FRAME_SECTION_ASM_OP, EH_FRAME_SECTION_ASM_OP_ELF): Define.
+ (EH_FRAME_SECTION_ASM_OP_COFF): Likewise.
+
Fri Oct 17 17:13:42 1997 David S. Miller <davem@tanya.rutgers.edu>
* sparc/linux64.h (LINK_SPEC): Dynamic linker is ld-linux64.so.2.
diff --git a/gcc/config/i386/sco5.h b/gcc/config/i386/sco5.h
index 40862e0..a7c57a5 100644
--- a/gcc/config/i386/sco5.h
+++ b/gcc/config/i386/sco5.h
@@ -76,6 +76,17 @@ Boston, MA 02111-1307, USA. */
#undef GLOBAL_ASM_OP
#define GLOBAL_ASM_OP "\t.globl"
+#undef EH_FRAME_SECTION_ASM_OP
+#define EH_FRAME_SECTION_ASM_OP_COFF "\t.section\t.ehfram, \"x\""
+#define EH_FRAME_SECTION_ASM_OP_ELF "\t.section\t.eh_frame, \"aw\""
+#define EH_FRAME_SECTION_ASM_OP \
+ ((TARGET_ELF) ? EH_FRAME_SECTION_ASM_OP_ELF : EH_FRAME_SECTION_ASM_OP_COFF)
+
+/* Avoid problems (long sectino names, forward assembler refs) with DWARF
+ exception unwinding when we're generating COFF */
+#define DWARF2_UNWIND_INFO \
+ ((TARGET_ELF) ? 1 : 0 )
+
#undef CONST_SECTION_ASM_OP
#define CONST_SECTION_ASM_OP_COFF "\t.section\t.rodata, \"x\""
#define CONST_SECTION_ASM_OP_ELF "\t.section\t.rodata"
@@ -901,6 +912,7 @@ compiler at the end of the day. Onward we go ...
# undef FINI_SECTION_ASM_OP
# undef CTORS_SECTION_ASM_OP
# undef DTORS_SECTION_ASM_OP
+# undef EH_FRAME_SECTION_ASM_OP
# undef CTOR_LIST_BEGIN
# undef CTOR_LIST_END
# undef DO_GLOBAL_CTORS_BODY
@@ -912,11 +924,13 @@ compiler at the end of the day. Onward we go ...
# define FINI_SECTION_ASM_OP FINI_SECTION_ASM_OP_ELF
# define DTORS_SECTION_ASM_OP DTORS_SECTION_ASM_OP_ELF
# define CTORS_SECTION_ASM_OP CTORS_SECTION_ASM_OP_ELF
+# define EH_FRAME_SECTION_ASM_OP EH_FRAME_SECTION_ASM_OP_ELF
# else /* ! _SCO_ELF */
# define INIT_SECTION_ASM_OP INIT_SECTION_ASM_OP_COFF
# define FINI_SECTION_ASM_OP FINI_SECTION_ASM_OP_COFF
# define DTORS_SECTION_ASM_OP DTORS_SECTION_ASM_OP_COFF
# define CTORS_SECTION_ASM_OP CTORS_SECTION_ASM_OP_COFF
+# define EH_FRAME_SECTION_ASM_OP ""
# define CTOR_LIST_BEGIN asm (INIT_SECTION_ASM_OP); asm ("pushl $0")
# define CTOR_LIST_END CTOR_LIST_BEGIN
# define DO_GLOBAL_CTORS_BODY \
@@ -927,4 +941,3 @@ do { \
} while (0)
# endif /* ! _SCO_ELF */
#endif /* CRT_BEGIN !! CRT_END */
-