diff options
author | Stan Shebs <shebs@apple.com> | 2001-10-22 14:43:31 +0000 |
---|---|---|
committer | Stan Shebs <shebs@gcc.gnu.org> | 2001-10-22 14:43:31 +0000 |
commit | 07c9d2eb2e9691d05219a18ecde9bc4a511d1a63 (patch) | |
tree | 6028234f9c01f45261eb56b926fa2cdb55368889 /gcc/dwarf2out.c | |
parent | bbea0391f048d6564ce44f4a27b8987318f2ea75 (diff) | |
download | gcc-07c9d2eb2e9691d05219a18ecde9bc4a511d1a63.zip gcc-07c9d2eb2e9691d05219a18ecde9bc4a511d1a63.tar.gz gcc-07c9d2eb2e9691d05219a18ecde9bc4a511d1a63.tar.bz2 |
target.h (struct gcc_target): Add asm_out.exception_section, asm_out.eh_frame_section.
* target.h (struct gcc_target): Add asm_out.exception_section,
asm_out.eh_frame_section.
* target-def.h (TARGET_ASM_EXCEPTION_SECTION): New macro.
(TARGET_ASM_EH_FRAME_SECTION): New.
(TARGET_INITIALIZER): Update.
* output.h (default_exception_section): Declare.
(default_eh_frame_section): Declare.
* dwarf2out.c: Include target.h.
(output_call_frame_info): Call target hook for eh frames.
(default_eh_frame_section): New function.
* except.c: Include target.h.
(output_function_exception_table): Call target hook for exception
section.
* varasm.c (default_exception_section): Rename from
exception_section, remove EXCEPTION_SECTION macro.
* config/darwin.h (darwin_eh_frame_section): New function.
(EXCEPTION_SECTION): Remove.
(TARGET_ASM_EXCEPTION_SECTION): Define.
* config/nextstep.h (EH_FRAME_SECTION_ASM_OP): Remove.
(nextstep_exception_section): New function.
(nextstep_eh_frame_section): New function.
(TARGET_ASM_EXCEPTION_SECTION): Define.
(TARGET_ASM_EH_FRAME_SECTION): Define.
* config/pa/som.h (EXCEPTION_SECTION): Remove.
(TARGET_ASM_EXCEPTION_SECTION): Define.
* config/rs6000/sysv4.h, config/rs6000/xcoff.h
(EXCEPTION_SECTION): Remove.
(TARGET_ASM_EXCEPTION_SECTION): Define.
* config/stormy16/stormy16.h: Remove comments referencing
EXCEPTION_SECTION and EH_FRAME_SECTION_ASM_OP.
* doc/tm.texi: Document TARGET_ASM_EXCEPTION_SECTION and
TARGET_ASM_EH_FRAME_SECTION.
From-SVN: r46409
Diffstat (limited to 'gcc/dwarf2out.c')
-rw-r--r-- | gcc/dwarf2out.c | 29 |
1 files changed, 17 insertions, 12 deletions
diff --git a/gcc/dwarf2out.c b/gcc/dwarf2out.c index 486c7a2..d98b3f2 100644 --- a/gcc/dwarf2out.c +++ b/gcc/dwarf2out.c @@ -59,6 +59,7 @@ Software Foundation, 59 Temple Place - Suite 330, Boston, MA #include "tm_p.h" #include "diagnostic.h" #include "debug.h" +#include "target.h" #ifdef DWARF2_DEBUGGING_INFO static void dwarf2out_source_line PARAMS ((unsigned int, const char *)); @@ -1738,18 +1739,7 @@ output_call_frame_info (for_eh) app_enable (); if (for_eh) - { -#ifdef EH_FRAME_SECTION_NAME - named_section_flags (EH_FRAME_SECTION_NAME, SECTION_WRITE); -#else - tree label = get_file_function_name ('F'); - - data_section (); - ASM_OUTPUT_ALIGN (asm_out_file, floor_log2 (PTR_SIZE)); - ASM_GLOBALIZE_LABEL (asm_out_file, IDENTIFIER_POINTER (label)); - ASM_OUTPUT_LABEL (asm_out_file, IDENTIFIER_POINTER (label)); -#endif - } + (*targetm.asm_out.eh_frame_section) (); else named_section_flags (DEBUG_FRAME_SECTION, SECTION_DEBUG); @@ -1978,6 +1968,21 @@ output_call_frame_info (for_eh) app_disable (); } +void +default_eh_frame_section () +{ +#ifdef EH_FRAME_SECTION_NAME + named_section_flags (EH_FRAME_SECTION_NAME, SECTION_WRITE); +#else + tree label = get_file_function_name ('F'); + + data_section (); + ASM_OUTPUT_ALIGN (asm_out_file, floor_log2 (PTR_SIZE)); + ASM_GLOBALIZE_LABEL (asm_out_file, IDENTIFIER_POINTER (label)); + ASM_OUTPUT_LABEL (asm_out_file, IDENTIFIER_POINTER (label)); +#endif +} + /* Output a marker (i.e. a label) for the beginning of a function, before the prologue. */ |