aboutsummaryrefslogtreecommitdiff
path: root/gdb/frame.h
diff options
context:
space:
mode:
authorAndrew Cagney <cagney@redhat.com>2003-06-03 18:53:37 +0000
committerAndrew Cagney <cagney@redhat.com>2003-06-03 18:53:37 +0000
commitae1e741769ca494b6d7d6faaa91d6ef2ba5cecfd (patch)
treee702f6aceab1ea961133f587366bc9011ea67b29 /gdb/frame.h
parent5a4e47bd3016472585dd5a178b76422011319b17 (diff)
downloadfsf-binutils-gdb-ae1e741769ca494b6d7d6faaa91d6ef2ba5cecfd.zip
fsf-binutils-gdb-ae1e741769ca494b6d7d6faaa91d6ef2ba5cecfd.tar.gz
fsf-binutils-gdb-ae1e741769ca494b6d7d6faaa91d6ef2ba5cecfd.tar.bz2
2003-06-03 Andrew Cagney <cagney@redhat.com>
* frame.c (get_frame_memory_signed): New function. (get_frame_memory, get_frame_memory_unsigned): New function. (get_frame_arch): New function. * frame.h (get_frame_signed_memory, get_frame_arch): Declare. (get_frame_memory, get_frame_unsigned_memory): Declare. * d10v-tdep.c (d10v_frame_unwind_cache): Use get_frame_memory_unsigned and get_frame_arch. (d10v_frame_unwind_cache, saved_regs_unwinder): Ditto.
Diffstat (limited to 'gdb/frame.h')
-rw-r--r--gdb/frame.h25
1 files changed, 25 insertions, 0 deletions
diff --git a/gdb/frame.h b/gdb/frame.h
index 0abb08e..bfd9469 100644
--- a/gdb/frame.h
+++ b/gdb/frame.h
@@ -343,6 +343,31 @@ extern CORE_ADDR frame_pc_unwind (struct frame_info *frame);
of the caller. */
extern void frame_pop (struct frame_info *frame);
+/* Return memory from the specified frame. A frame knows its thread /
+ LWP and hence can find its way down to a target. The assumption
+ here is that the current and previous frame share a common address
+ space.
+
+ If the memory read fails, these methods throw an error.
+
+ NOTE: cagney/2003-06-03: Should there be unwind versions of these
+ methods? That isn't clear. Can code, for instance, assume that
+ this and the previous frame's memory or architecture are identical?
+ If architecture / memory changes are always separated by special
+ adaptor frames this should be ok. */
+
+extern void get_frame_memory (struct frame_info *this_frame, CORE_ADDR addr,
+ void *buf, int len);
+extern LONGEST get_frame_memory_signed (struct frame_info *this_frame,
+ CORE_ADDR memaddr, int len);
+extern ULONGEST get_frame_memory_unsigned (struct frame_info *this_frame,
+ CORE_ADDR memaddr, int len);
+
+/* Return this frame's architecture. */
+
+extern struct gdbarch *get_frame_arch (struct frame_info *this_frame);
+
+
/* Values for the source flag to be used in print_frame_info_base(). */
enum print_what
{