summaryrefslogtreecommitdiff
path: root/gcc/config/i386
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/config/i386')
-rw-r--r--gcc/config/i386/midipix.c43
1 files changed, 7 insertions, 36 deletions
diff --git a/gcc/config/i386/midipix.c b/gcc/config/i386/midipix.c
index 5a28e23c7..1636911b5 100644
--- a/gcc/config/i386/midipix.c
+++ b/gcc/config/i386/midipix.c
@@ -50,16 +50,12 @@ static const char winnt_ptrsize_quad[] = ".quad";
void winnt_x86_64_pe_seh_init(FILE *);
void winnt_x86_64_pe_seh_end_prologue(FILE *);
void winnt_x86_64_pe_seh_unwind_emit(FILE *, rtx);
-void winnt_x86_64_pe_seh_emit_except_personality(rtx);
-void winnt_x86_64_pe_seh_init_sections(void);
/* 32-bit seh provided by midipix */
void midipix_i386_pe_seh_init(FILE *);
void midipix_i386_pe_seh_end_prologue(FILE *);
void midipix_i386_pe_seh_unwind_emit(FILE *, rtx);
-void midipix_i386_pe_seh_emit_except_personality(rtx);
-void midipix_i386_pe_seh_init_sections(void);
/* debugging */
@@ -356,21 +352,19 @@ void midipix_seh_hook__pe_seh_unwind_emit(FILE * f, rtx r)
-void midipix_seh_hook__pe_seh_emit_except_personality(rtx r)
+void midipix_seh_hook__pe_seh_emit_except_personality(rtx personality)
{
- if (TARGET_SEH_WINNT)
- winnt_x86_64_pe_seh_emit_except_personality(r);
- else if (TARGET_SEH_MIDIPIX)
- midipix_i386_pe_seh_emit_except_personality(r);
+ fputs("\t.seh_handler\t",asm_out_file);
+ output_addr_const (asm_out_file, personality);
+ fputs(", @unwind, @except\n",asm_out_file);
}
void midipix_seh_hook__pe_seh_init_sections(void)
{
- if (TARGET_SEH_WINNT)
- winnt_x86_64_pe_seh_init_sections();
- else if (TARGET_SEH_MIDIPIX)
- midipix_i386_pe_seh_init_sections();
+ exception_section = get_unnamed_section(
+ 0,output_section_asm_op,
+ "\t.seh_handlerdata");
}
@@ -394,19 +388,6 @@ void winnt_x86_64_pe_seh_unwind_emit(FILE * f, rtx r)
}
-void winnt_x86_64_pe_seh_emit_except_personality(rtx r __attribute__((unused)))
-{
- /* i386_pe_seh_emit_except_personality(r); */
-}
-
-
-void winnt_x86_64_pe_seh_init_sections(void)
-{
- /* i386_pe_seh_init_sections(); */
-}
-
-
-
/* 32-bit seh hooks (midipix) */
void midipix_i386_pe_seh_init(FILE * f __attribute__((unused)))
{
@@ -425,16 +406,6 @@ void midipix_i386_pe_seh_unwind_emit(
}
-void midipix_i386_pe_seh_emit_except_personality(rtx r __attribute__((unused)))
-{
-}
-
-
-void midipix_i386_pe_seh_init_sections(void)
-{
-}
-
-
section * midipix_i386_pe_function_section (
tree decl,
enum node_frequency freq,