diff options
author | midipix <writeonce@midipix.org> | 2019-03-11 05:46:30 -0400 |
---|---|---|
committer | midipix <writeonce@midipix.org> | 2019-03-12 02:53:38 -0400 |
commit | b5865d2ba8b96feb0b4c431cee7f6860098414a9 (patch) | |
tree | c18325e98401cccd0361d6ccc6a35c1bf336be93 /gcc/config/i386 | |
parent | a2dd78d3cc3a0676b039fb096829c303fdf00932 (diff) | |
download | cbb-gcc-4.6.4-b5865d2ba8b96feb0b4c431cee7f6860098414a9.tar.bz2 cbb-gcc-4.6.4-b5865d2ba8b96feb0b4c431cee7f6860098414a9.tar.xz |
midipix targets: impl. midipix_seh_hook__pe_seh_{init_sections|unwind_emit}().
Diffstat (limited to 'gcc/config/i386')
-rw-r--r-- | gcc/config/i386/midipix.c | 43 |
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, |