This is the mail archive of the gdb-patches@sourceware.org mailing list for the GDB project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[PATCH v9 06/29] frame: add frame_id_build_unavailable_stack_special


Add a function to build a frame_id for a frame with unavailable stack
and with a special identifier address.

2013-12-19  Markus Metzger  <markus.t.metzger@intel.com>

	* frame.h (frame_id_build_unavailable_stack_special): New.
	* frame.c (frame_id_build_unavailable_stack_special): New.


---
 gdb/frame.c | 16 ++++++++++++++++
 gdb/frame.h |  8 ++++++++
 2 files changed, 24 insertions(+)

diff --git a/gdb/frame.c b/gdb/frame.c
index 99c2309..8facdc00 100644
--- a/gdb/frame.c
+++ b/gdb/frame.c
@@ -528,6 +528,22 @@ frame_id_build_unavailable_stack (CORE_ADDR code_addr)
   return id;
 }
 
+/* See frame.h.  */
+
+struct frame_id
+frame_id_build_unavailable_stack_special (CORE_ADDR code_addr,
+					  CORE_ADDR special_addr)
+{
+  struct frame_id id = null_frame_id;
+
+  id.stack_status = FID_STACK_UNAVAILABLE;
+  id.code_addr = code_addr;
+  id.code_addr_p = 1;
+  id.special_addr = special_addr;
+  id.special_addr_p = 1;
+  return id;
+}
+
 struct frame_id
 frame_id_build (CORE_ADDR stack_addr, CORE_ADDR code_addr)
 {
diff --git a/gdb/frame.h b/gdb/frame.h
index 8b6755e..00943ad 100644
--- a/gdb/frame.h
+++ b/gdb/frame.h
@@ -193,6 +193,14 @@ extern struct frame_id frame_id_build_special (CORE_ADDR stack_addr,
    address is set to indicate a wild card.  */
 extern struct frame_id frame_id_build_unavailable_stack (CORE_ADDR code_addr);
 
+/* Construct a frame ID representing a frame where the stack address
+   exists, but is unavailable.  CODE_ADDR is the frame's constant code
+   address (typically the entry point).  SPECIAL_ADDR is the special
+   identifier address.  */
+extern struct frame_id
+  frame_id_build_unavailable_stack_special (CORE_ADDR code_addr,
+					    CORE_ADDR special_addr);
+
 /* Construct a wild card frame ID.  The parameter is the frame's constant
    stack address (typically the outer-bound).  The code address as well
    as the special identifier address are set to indicate wild cards.  */
-- 
1.8.3.1


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]