gdb
authorTom Tromey <tromey@redhat.com>
Thu, 6 Jan 2011 18:34:16 +0000 (18:34 +0000)
committerTom Tromey <tromey@redhat.com>
Thu, 6 Jan 2011 18:34:16 +0000 (18: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 6a1ed8b2a2768751deb6282f89cdf7533fd91e83..d0c6ac8fb63422d3505c554aca7e10dcf9021ebd 100644 (file)
@@ -1,3 +1,9 @@
+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.
index 7c33fb770f1c9d0d56cf1143c17571bbf3734430..04e47149fc9cc7bd0a510d9ca964b66608513596 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 8eb1ec8a6769d70731f7e09a17b384f42e0cbaec..f6a3747951f8db409600a5ecd07c9f4d232ae5e0 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 8549e4387b3c06f942c52b329e30db548cbf683a..b361104088575cc110ff609a8c2f21f551ab680e 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 42ccce900718871dc16a074182a2bc9c78512a7d..3e11db1a85c466ec937e1cca76ecc69343f9838d 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);