Commit 7c16328b by Richard Henderson Committed by Richard Henderson

tm.texi (Exception Handling): New subnode of Stack and Calling.

        * doc/tm.texi (Exception Handling): New subnode of Stack and Calling.
        Document MD_FALLBACK_FRAME_STATE_FOR.

From-SVN: r43843
parent f6df5bd2
2001-07-08 Richard Henderson <rth@redhat.com>
* doc/tm.texi (Exception Handling): New subnode of Stack and Calling.
Document MD_FALLBACK_FRAME_STATE_FOR.
2001-07-07 Stephane Carrez <Stephane.Carrez@worldnet.fr> 2001-07-07 Stephane Carrez <Stephane.Carrez@worldnet.fr>
* config/m68hc11/m68hc11.c (m68hc11_initial_elimination_offset): * config/m68hc11/m68hc11.c (m68hc11_initial_elimination_offset):
......
...@@ -2496,6 +2496,7 @@ This describes the stack layout and calling conventions. ...@@ -2496,6 +2496,7 @@ This describes the stack layout and calling conventions.
@menu @menu
* Frame Layout:: * Frame Layout::
* Exception Handling::
* Stack Checking:: * Stack Checking::
* Frame Registers:: * Frame Registers::
* Elimination:: * Elimination::
...@@ -2680,6 +2681,18 @@ You only need to define this macro if the default is incorrect, and you ...@@ -2680,6 +2681,18 @@ You only need to define this macro if the default is incorrect, and you
want to support call frame debugging information like that provided by want to support call frame debugging information like that provided by
DWARF 2. DWARF 2.
@findex SMALL_STACK
@item SMALL_STACK
Define this macro if the stack size for the target is very small. This
has the effect of disabling gcc's built-in @samp{alloca}, though
@samp{__builtin_alloca} is not affected.
@end table
@node Exception Handling
@subsection Exception Handling Support
@cindex exception handling
@table @code
@findex EH_RETURN_DATA_REGNO @findex EH_RETURN_DATA_REGNO
@item EH_RETURN_DATA_REGNO (@var{N}) @item EH_RETURN_DATA_REGNO (@var{N})
A C expression whose value is the @var{N}th register number used for A C expression whose value is the @var{N}th register number used for
...@@ -2755,11 +2768,21 @@ handled. @var{encoding} is the format chosen, @var{size} is the number ...@@ -2755,11 +2768,21 @@ handled. @var{encoding} is the format chosen, @var{size} is the number
of bytes that the format occupies, @var{addr} is the @code{SYMBOL_REF} of bytes that the format occupies, @var{addr} is the @code{SYMBOL_REF}
to be emitted. to be emitted.
@findex SMALL_STACK @findex MD_FALLBACK_FRAME_STATE_FOR
@item SMALL_STACK @item MD_FALLBACK_FRAME_STATE_FOR(@var{context}, @var{fs}, @var{success})
Define this macro if the stack size for the target is very small. This This macro allows the target to add cpu and operating system specific
has the effect of disabling gcc's built-in @samp{alloca}, though code to the call-frame unwinder for use when there is no unwind data
@samp{__builtin_alloca} is not affected. available. The most common reason to implement this macro is to unwind
through signal frames.
This macro is called from @code{uw_frame_state_for} in @file{unwind-dw2.c}
and @file{unwind-ia64.c}. @var{context} is an @code{_Unwind_Context};
@var{fs} is an @code{_Unwind_FrameState}. Examine @code{context->ra}
for the address of the code being executed and @code{context->cfa} for
the stack pointer value. If the frame can be decoded, the register save
addresses should be updated in @var{fs} and the macro should branch to
@var{success}. If the frame cannot be decoded, the macro should do
nothing.
@end table @end table
@node Stack Checking @node Stack Checking
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment