aboutsummaryrefslogtreecommitdiff
path: root/gcc/doc/tm.texi
diff options
context:
space:
mode:
authorRichard Henderson <rth@redhat.com>2001-07-08 00:07:11 -0700
committerRichard Henderson <rth@gcc.gnu.org>2001-07-08 00:07:11 -0700
commit7c16328b16644e6ca07363435a1c562975d37b2a (patch)
treec37ac3de22d157f091611d85de0a9293d92a2b1a /gcc/doc/tm.texi
parentf6df5bd239bca1db5d2332bc720a9ef0c5be6b81 (diff)
downloadgcc-7c16328b16644e6ca07363435a1c562975d37b2a.zip
gcc-7c16328b16644e6ca07363435a1c562975d37b2a.tar.gz
gcc-7c16328b16644e6ca07363435a1c562975d37b2a.tar.bz2
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
Diffstat (limited to 'gcc/doc/tm.texi')
-rw-r--r--gcc/doc/tm.texi33
1 files changed, 28 insertions, 5 deletions
diff --git a/gcc/doc/tm.texi b/gcc/doc/tm.texi
index b76b040..17f6c6b 100644
--- a/gcc/doc/tm.texi
+++ b/gcc/doc/tm.texi
@@ -2496,6 +2496,7 @@ This describes the stack layout and calling conventions.
@menu
* Frame Layout::
+* Exception Handling::
* Stack Checking::
* Frame Registers::
* Elimination::
@@ -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
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
@item EH_RETURN_DATA_REGNO (@var{N})
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
of bytes that the format occupies, @var{addr} is the @code{SYMBOL_REF}
to be emitted.
-@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.
+@findex MD_FALLBACK_FRAME_STATE_FOR
+@item MD_FALLBACK_FRAME_STATE_FOR(@var{context}, @var{fs}, @var{success})
+This macro allows the target to add cpu and operating system specific
+code to the call-frame unwinder for use when there is no unwind data
+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
@node Stack Checking