aboutsummaryrefslogtreecommitdiff
path: root/gcc/config/nextstep.h
diff options
context:
space:
mode:
authorStan Shebs <shebs@apple.com>2001-10-22 14:43:31 +0000
committerStan Shebs <shebs@gcc.gnu.org>2001-10-22 14:43:31 +0000
commit07c9d2eb2e9691d05219a18ecde9bc4a511d1a63 (patch)
tree6028234f9c01f45261eb56b926fa2cdb55368889 /gcc/config/nextstep.h
parentbbea0391f048d6564ce44f4a27b8987318f2ea75 (diff)
downloadgcc-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/config/nextstep.h')
-rw-r--r--gcc/config/nextstep.h16
1 files changed, 10 insertions, 6 deletions
diff --git a/gcc/config/nextstep.h b/gcc/config/nextstep.h
index 956b9e2..8275843 100644
--- a/gcc/config/nextstep.h
+++ b/gcc/config/nextstep.h
@@ -217,13 +217,10 @@ Boston, MA 02111-1307, USA. */
extern void nextstep_asm_out_constructor PARAMS ((struct rtx_def *, int));
extern void nextstep_asm_out_destructor PARAMS ((struct rtx_def *, int));
-/* ??? Should be changed to EH_FRAME_SECTION_NAME, but that requires
- named section support. Based on this definition, it seems clear
- that the object file format supports named sections, but it has
- not been implemented in gcc. */
-#error "Implement named section support"
-#define EH_FRAME_SECTION_ASM_OP "\t.section __TEXT,__eh_frame,regular"
+#define TARGET_ASM_EXCEPTION_SECTION nextstep_exception_section
+#define TARGET_ASM_EH_FRAME_SECTION nextstep_eh_frame_section
+
/* Don't output a .file directive. That is only used by the assembler for
error reporting. */
#undef ASM_FILE_START
@@ -326,6 +323,7 @@ FUNCTION () \
#define EXTRA_SECTIONS \
in_const, in_cstring, in_literal4, in_literal8, \
in_constructor, in_destructor, \
+ in_nextstep_exception, in_nextstep_eh_frame, \
in_objc_class, in_objc_meta_class, in_objc_category, \
in_objc_class_vars, in_objc_instance_vars, \
in_objc_cls_meth, in_objc_inst_meth, \
@@ -357,6 +355,12 @@ SECTION_FUNCTION (constructor_section, \
SECTION_FUNCTION (destructor_section, \
in_destructor, \
".destructor", 0, 0) \
+SECTION_FUNCTION (nextstep_exception_section, \
+ in_nextstep_exception, \
+ ".section __TEXT,__gcc_except_tab,regular", 0, 0) \
+SECTION_FUNCTION (nextstep_eh_frame_section, \
+ in_nextstep_eh_frame, \
+ ".section __TEXT,__eh_frame,regular", 0, 0) \
SECTION_FUNCTION (objc_class_section, \
in_objc_class, \
".objc_class", 0, 1) \