diff options
author | Richard Henderson <rth@redhat.com> | 2010-09-07 13:50:17 -0700 |
---|---|---|
committer | Richard Henderson <rth@gcc.gnu.org> | 2010-09-07 13:50:17 -0700 |
commit | a68b5e5247b3b8047aa104e39b61a7d8f6cfa57b (patch) | |
tree | 41a92d71cf2cb5360f756b8179c661cc2aee74ec /gcc/target.def | |
parent | 9b3a7a26767441121e77c66cf0d04b0d35c77282 (diff) | |
download | gcc-a68b5e5247b3b8047aa104e39b61a7d8f6cfa57b.zip gcc-a68b5e5247b3b8047aa104e39b61a7d8f6cfa57b.tar.gz gcc-a68b5e5247b3b8047aa104e39b61a7d8f6cfa57b.tar.bz2 |
Hookize exception personality output.
* target.def (TARGET_ASM_EMIT_EXCEPT_PERSONALITY): New hook.
* doc/tm.texi.in: Add doc marker.
* doc/tm.texi: Rebuild.
* except.c (switch_to_exception_section): Always build.
(output_one_function_exception_table): Move section switch,
personality output, and label output ...
(output_function_exception_table): ... here. Use the new
personality hook.
* config/ia64/ia64.c (ia64_asm_emit_except_personality,
ia64_asm_init_sections, TARGET_ASM_EMIT_EXCEPT_PERSONALITY,
TARGET_ASM_INIT_SECTIONS): New.
(ia64_asm_unwind_emit): Rename from process_for_unwind_directive,
make static.
(TARGET_ASM_UNWIND_EMIT): Update to match.
* config/ia64/ia64-protos.h (process_for_unwind_directive): Remove.
* config/arm/arm.c (arm_asm_emit_except_personality): New.
(arm_asm_init_sections): New.
(TARGET_ASM_EMIT_EXCEPT_PERSONALITY, TARGET_ASM_INIT_SECTIONS): New.
From-SVN: r163968
Diffstat (limited to 'gcc/target.def')
-rw-r--r-- | gcc/target.def | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/gcc/target.def b/gcc/target.def index e62a977..6910ce9 100644 --- a/gcc/target.def +++ b/gcc/target.def @@ -145,6 +145,15 @@ DEFHOOK void, (FILE *stream), default_emit_except_table_label) +/* Emit a directive for setting the personality for the function. */ +DEFHOOK +(emit_except_personality, + "If the target implements @code{TARGET_ASM_UNWIND_EMIT}, this hook may be\ + used to emit a directive to install a personality hook into the unwind\ + info. This hook should not be used if dwarf2 unwind info is used.", + void, (rtx personality), + NULL) + /* Emit any directives required to unwind this instruction. */ DEFHOOK (unwind_emit, |