aboutsummaryrefslogtreecommitdiff
path: root/gdb/frame-unwind.c
diff options
context:
space:
mode:
authorJoel Brobecker <brobecker@gnat.com>2008-05-06 18:37:46 +0000
committerJoel Brobecker <brobecker@gnat.com>2008-05-06 18:37:46 +0000
commit15c1e57ffbcb27cd275429e689f509026bda698b (patch)
treecdde4e448c9c059b4e1f7a9b440541ebd93971a0 /gdb/frame-unwind.c
parentd82a5bcc8556860bf686ba6bc80a07757e334c7a (diff)
downloadgdb-15c1e57ffbcb27cd275429e689f509026bda698b.zip
gdb-15c1e57ffbcb27cd275429e689f509026bda698b.tar.gz
gdb-15c1e57ffbcb27cd275429e689f509026bda698b.tar.bz2
* frame-unwind.c (frame_unwind_got_bytes): New function.
* frame-unwind.h (frame_unwind_got_bytes): Add declaration. * libunwind-frame.h, libunwind-frame.c, ia64-tdep.c: Update for unwinder changes.
Diffstat (limited to 'gdb/frame-unwind.c')
-rw-r--r--gdb/frame-unwind.c11
1 files changed, 11 insertions, 0 deletions
diff --git a/gdb/frame-unwind.c b/gdb/frame-unwind.c
index 7384259..cb79f4c 100644
--- a/gdb/frame-unwind.c
+++ b/gdb/frame-unwind.c
@@ -170,6 +170,17 @@ frame_unwind_got_constant (struct frame_info *frame, int regnum,
return reg_val;
}
+struct value *
+frame_unwind_got_bytes (struct frame_info *frame, int regnum, gdb_byte *buf)
+{
+ struct gdbarch *gdbarch = get_frame_arch (frame);
+ struct value *reg_val;
+
+ reg_val = value_zero (register_type (gdbarch, regnum), not_lval);
+ memcpy (value_contents_raw (reg_val), buf, register_size (gdbarch, regnum));
+ return reg_val;
+}
+
/* Return a value which indicates that FRAME's saved version of REGNUM
has a known constant (computed) value of ADDR. Convert the
CORE_ADDR to a target address if necessary. */