diff options
author | John Gilmore <gnu@cygnus> | 1991-11-14 00:57:48 +0000 |
---|---|---|
committer | John Gilmore <gnu@cygnus> | 1991-11-14 00:57:48 +0000 |
commit | edbf28ce4cce654eeb0e88782aee11d6e8529978 (patch) | |
tree | a6c5103b88befedd47885482d0ecf681d15863d6 /gdb/doc | |
parent | fff3e61ff2553f56fb1de5c5618d3f3af9cfcbb4 (diff) | |
download | gdb-edbf28ce4cce654eeb0e88782aee11d6e8529978.zip gdb-edbf28ce4cce654eeb0e88782aee11d6e8529978.tar.gz gdb-edbf28ce4cce654eeb0e88782aee11d6e8529978.tar.bz2 |
Add rudiments on frames.
Diffstat (limited to 'gdb/doc')
-rw-r--r-- | gdb/doc/gdbint.texinfo | 28 |
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 |