diff options
author | Robert Lipe <robertl@dgii.com> | 1997-10-18 05:21:23 +0000 |
---|---|---|
committer | Jeff Law <law@gcc.gnu.org> | 1997-10-17 23:21:23 -0600 |
commit | b2167beef260c2dd9da3ed2e459a31324c7eb38c (patch) | |
tree | 5f61c5b0f8b0a3ef69ee1a3557cbe34979d62375 /gcc | |
parent | 8070c78887949b019683b0df268d0e4bbc98169e (diff) | |
download | gcc-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
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ChangeLog | 10 | ||||
-rw-r--r-- | gcc/config/i386/sco5.h | 15 |
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 */ - |