aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJohn Gilmore <gnu@cygnus>1991-11-14 00:57:48 +0000
committerJohn Gilmore <gnu@cygnus>1991-11-14 00:57:48 +0000
commitedbf28ce4cce654eeb0e88782aee11d6e8529978 (patch)
treea6c5103b88befedd47885482d0ecf681d15863d6
parentfff3e61ff2553f56fb1de5c5618d3f3af9cfcbb4 (diff)
downloadgdb-edbf28ce4cce654eeb0e88782aee11d6e8529978.zip
gdb-edbf28ce4cce654eeb0e88782aee11d6e8529978.tar.gz
gdb-edbf28ce4cce654eeb0e88782aee11d6e8529978.tar.bz2
Add rudiments on frames.
-rw-r--r--gdb/doc/gdbint.texinfo28
1 files changed, 27 insertions, 1 deletions
diff --git a/gdb/doc/gdbint.texinfo b/gdb/doc/gdbint.texinfo
index 3713879..a7ce163 100644
--- a/gdb/doc/gdbint.texinfo
+++ b/gdb/doc/gdbint.texinfo
@@ -746,7 +746,7 @@ interruption must be on the cleanup chain before you call these functions,
since they might never return to your code (they @samp{longjmp} instead).
-@node Wrapping, , Cleanups, Top
+@node Wrapping, Frames, Cleanups, Top
@chapter Wrapping Output Lines
Output that goes through @code{printf_filtered} or @code{fputs_filtered} or
@@ -771,6 +771,32 @@ unfiltered (``@code{printf}'') output. Symbol reading routines that print
warnings are a good example.
+@node Frames, , Cleanups, Top
+@chapter Frames
+
+A frame is a construct that GDB uses to keep track of calling and called
+functions.
+
+FRAME_FP in the machine description has no meaning to the machine-independent
+part of GDB, except that it is used when setting up a new frame from
+scratch, as follows:
+
+@example
+ create_new_frame (read_register (FP_REGNUM), read_pc ()));
+@end example
+
+Other than that, all the meaning imparted to FP_REGNUM is imparted by
+the machine-dependent code. So, FP_REGNUM can have any value that
+is convenient for the code that creates new frames. (create_new_frame
+calls INIT_EXTRA_FRAME_INFO if it is defined; that is where you should
+use the FP_REGNUM value, if your frames are nonstandard.)
+
+FRAME_CHAIN:
+
+Given a GDB frame, determine the address of the calling function's frame.
+This will be used to create a new GDB frame struct, and then
+INIT_EXTRA_FRAME_INFO and INIT_FRAME_PC will be called for the new frame.
+
@contents
@bye