www.delorie.com/gnu/docs/gcc/gccint_153.html   search  
 
Buy the book!


GNU Compiler Collection (GCC) Internals

[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

10.20.9 Assembler Commands for Exception Regions

This describes commands marking the start and the end of an exception region.

EH_FRAME_SECTION_NAME
If defined, a C string constant for the name of the section containing exception handling frame unwind information. If not defined, GCC will provide a default definition if the target supports named sections. `crtstuff.c' uses this macro to switch to the appropriate section.

You should define this symbol if your target supports DWARF 2 frame unwind information and the default definition does not work.

EH_FRAME_IN_DATA_SECTION
If defined, DWARF 2 frame unwind information will be placed in the data section even though the target supports named sections. This might be necessary, for instance, if the system linker does garbage collection and sections cannot be marked as not to be collected.

Do not define this macro unless TARGET_ASM_NAMED_SECTION is also defined.

MASK_RETURN_ADDR
An rtx used to mask the return address found via RETURN_ADDR_RTX, so that it does not contain any extraneous set bits in it.

DWARF2_UNWIND_INFO
Define this macro to 0 if your target supports DWARF 2 frame unwind information, but it does not yet work with exception handling. Otherwise, if your target supports this information (if it defines `INCOMING_RETURN_ADDR_RTX' and either `UNALIGNED_INT_ASM_OP' or `OBJECT_FORMAT_ELF'), GCC will provide a default definition of 1.

If this macro is defined to 1, the DWARF 2 unwinder will be the default exception handling mechanism; otherwise, setjmp/longjmp will be used by default.

If this macro is defined to anything, the DWARF 2 unwinder will be used instead of inline unwinders and __unwind_function in the non-setjmp case.

DWARF_CIE_DATA_ALIGNMENT
This macro need only be defined if the target might save registers in the function prologue at an offset to the stack pointer that is not aligned to UNITS_PER_WORD. The definition should be the negative minimum alignment if STACK_GROWS_DOWNWARD is defined, and the positive minimum alignment otherwise. See section 10.21.5 Macros for SDB and DWARF Output. Only applicable if the target supports DWARF 2 frame unwind information.

Target Hook: void TARGET_ASM_EXCEPTION_SECTION ()
If defined, a function that switches to the section in which the main exception table is to be placed (see section 10.18 Dividing the Output into Sections (Texts, Data, ...)). The default is a function that switches to a section named .gcc_except_table on machines that support named sections via TARGET_ASM_NAMED_SECTION, otherwise if `-fpic' or `-fPIC' is in effect, the data_section, otherwise the readonly_data_section.

Target Hook: void TARGET_ASM_EH_FRAME_SECTION ()
If defined, a function that switches to the section in which the DWARF 2 frame unwind information to be placed (see section 10.18 Dividing the Output into Sections (Texts, Data, ...)). The default is a function that outputs a standard GAS section directive, if EH_FRAME_SECTION_NAME is defined, or else a data section directive followed by a synthetic label.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

  webmaster     delorie software   privacy  
  Copyright 2003   by The Free Software Foundation     Updated Jun 2003