diff options
Diffstat (limited to 'gdb')
-rw-r--r-- | gdb/ChangeLog | 6 | ||||
-rw-r--r-- | gdb/doc/ChangeLog | 6 | ||||
-rw-r--r-- | gdb/doc/gdb.texinfo | 27 | ||||
-rw-r--r-- | gdb/frame.h | 2 | ||||
-rw-r--r-- | gdb/python/py-frame.c | 2 |
5 files changed, 39 insertions, 4 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog index 6a1ed8b..d0c6ac8 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,5 +1,11 @@ 2011-01-06 Tom Tromey <tromey@redhat.com> + * frame.h (enum frame_type) <INLINE_FRAME>: Fix comment. + * python/py-frame.c (gdbpy_initialize_frames): Add INLINE_FRAME + and ARCH_FRAME. + +2011-01-06 Tom Tromey <tromey@redhat.com> + * python/py-frame.c (frapy_block): Use get_frame_block. 2011-01-06 Joel Brobecker <brobecker@adacore.com> diff --git a/gdb/doc/ChangeLog b/gdb/doc/ChangeLog index 7c33fb7..04e4714 100644 --- a/gdb/doc/ChangeLog +++ b/gdb/doc/ChangeLog @@ -1,3 +1,9 @@ +2011-01-06 Tom Tromey <tromey@redhat.com> + + PR python/12133: + * gdb.texinfo (Frames In Python): Document various frame + constants. + 2011-01-05 Joel Brobecker <brobecker@adacore.com> * doc/agentexpr.texi, doc/all-cfg.texi, doc/annotate.texinfo, diff --git a/gdb/doc/gdb.texinfo b/gdb/doc/gdb.texinfo index 8eb1ec8..f6a3747 100644 --- a/gdb/doc/gdb.texinfo +++ b/gdb/doc/gdb.texinfo @@ -22536,9 +22536,30 @@ obtained. @end defmethod @defmethod Frame type -Returns the type of the frame. The value can be one of -@code{gdb.NORMAL_FRAME}, @code{gdb.DUMMY_FRAME}, @code{gdb.SIGTRAMP_FRAME} -or @code{gdb.SENTINEL_FRAME}. +Returns the type of the frame. The value can be one of: +@table @code +@item gdb.NORMAL_FRAME +An ordinary stack frame. + +@item gdb.DUMMY_FRAME +A fake stack frame that was created by @value{GDBN} when performing an +inferior function call. + +@item gdb.INLINE_FRAME +A frame representing an inlined function. The function was inlined +into a @code{gdb.NORMAL_FRAME} that is older than this one. + +@item gdb.SIGTRAMP_FRAME +A signal trampoline frame. This is the frame created by the OS when +it calls into a signal handler. + +@item gdb.ARCH_FRAME +A fake stack frame representing a cross-architecture call. + +@item gdb.SENTINEL_FRAME +This is like @code{gdb.NORMAL_FRAME}, but it is only used for the +newest frame. +@end table @end defmethod @defmethod Frame unwind_stop_reason diff --git a/gdb/frame.h b/gdb/frame.h index 8549e43..b361104 100644 --- a/gdb/frame.h +++ b/gdb/frame.h @@ -204,7 +204,7 @@ enum frame_type call. */ DUMMY_FRAME, /* A frame representing an inlined function, associated with an - upcoming (next, inner, younger) NORMAL_FRAME. */ + upcoming (prev, outer, older) NORMAL_FRAME. */ INLINE_FRAME, /* In a signal handler, various OSs handle this in various ways. The main thing is that the frame may be far from normal. */ diff --git a/gdb/python/py-frame.c b/gdb/python/py-frame.c index 42ccce9..3e11db1 100644 --- a/gdb/python/py-frame.c +++ b/gdb/python/py-frame.c @@ -581,7 +581,9 @@ gdbpy_initialize_frames (void) type's dictionary. That seems too messy. */ PyModule_AddIntConstant (gdb_module, "NORMAL_FRAME", NORMAL_FRAME); PyModule_AddIntConstant (gdb_module, "DUMMY_FRAME", DUMMY_FRAME); + PyModule_AddIntConstant (gdb_module, "INLINE_FRAME", INLINE_FRAME); PyModule_AddIntConstant (gdb_module, "SIGTRAMP_FRAME", SIGTRAMP_FRAME); + PyModule_AddIntConstant (gdb_module, "ARCH_FRAME", ARCH_FRAME); PyModule_AddIntConstant (gdb_module, "SENTINEL_FRAME", SENTINEL_FRAME); PyModule_AddIntConstant (gdb_module, "FRAME_UNWIND_NO_REASON", UNWIND_NO_REASON); |