OSDN Git Service

gdb
authortromey <tromey>
Fri, 7 Jan 2011 03:34:09 +0000 (03:34 +0000)
committertromey <tromey>
Fri, 7 Jan 2011 03:34:09 +0000 (03:34 +0000)
* frame.h (enum frame_type) <INLINE_FRAME>: Fix comment.
* python/py-frame.c (gdbpy_initialize_frames): Add INLINE_FRAME
and ARCH_FRAME.
gdb/doc
PR python/12133:
* gdb.texinfo (Frames In Python): Document various frame
constants.

gdb/ChangeLog
gdb/doc/ChangeLog
gdb/doc/gdb.texinfo
gdb/frame.h
gdb/python/py-frame.c

index 6a1ed8b..d0c6ac8 100644 (file)
@@ -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>
index 7c33fb7..04e4714 100644 (file)
@@ -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,
index 8eb1ec8..f6a3747 100644 (file)
@@ -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
index 8549e43..b361104 100644 (file)
@@ -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.  */
index 42ccce9..3e11db1 100644 (file)
@@ -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);