From 40c96d3e0f32d23408b3774d27518514a53b3bc1 Mon Sep 17 00:00:00 2001 From: Marc Espie Date: Mon, 10 Sep 2001 22:28:58 +0000 Subject: ctor/dtor emission, stolen from solaris2. Plus, no sjlj by default. --- gnu/egcs/gcc/config/sparc/openbsd64.h | 24 ++++++++++++++++++++++-- 1 file changed, 22 insertions(+), 2 deletions(-) (limited to 'gnu/egcs/gcc') diff --git a/gnu/egcs/gcc/config/sparc/openbsd64.h b/gnu/egcs/gcc/config/sparc/openbsd64.h index 8d0b3cd13b0..9b0e35c9747 100644 --- a/gnu/egcs/gcc/config/sparc/openbsd64.h +++ b/gnu/egcs/gcc/config/sparc/openbsd64.h @@ -61,5 +61,25 @@ Boston, MA 02111-1307, USA. */ #undef ENDFILE_SPEC #define ENDFILE_SPEC "%{!shared:crtend%O%s} %{shared:crtendS%O%s}" -/* Use sjlj exceptions. */ -#define DWARF2_UNWIND_INFO 0 +/* A C statement (sans semicolon) to output an element in the table of + global constructors. */ +#undef ASM_OUTPUT_CONSTRUCTOR +#define ASM_OUTPUT_CONSTRUCTOR(FILE,NAME) \ + do { \ + ctors_section (); \ + fprintf ((FILE), "\t%s\t ", TARGET_ARCH64 ? ASM_LONGLONG : INT_ASM_OP) ; \ + assemble_name ((FILE), (NAME)); \ + fprintf ((FILE), "\n"); \ + } while (0) + +/* A C statement (sans semicolon) to output an element in the table of + global destructors. */ +#undef ASM_OUTPUT_DESTRUCTOR +#define ASM_OUTPUT_DESTRUCTOR(FILE,NAME) \ + do { \ + dtors_section (); \ + fprintf ((FILE), "\t%s\t ", TARGET_ARCH64 ? ASM_LONGLONG : INT_ASM_OP); \ + assemble_name ((FILE), (NAME)); \ + fprintf ((FILE), "\n"); \ + } while (0) + -- cgit v1.2.3