aboutsummaryrefslogtreecommitdiff
path: root/gdb/libunwind-frame.c
diff options
context:
space:
mode:
authorUlrich Weigand <uweigand@de.ibm.com>2007-05-12 00:07:45 +0000
committerUlrich Weigand <uweigand@de.ibm.com>2007-05-12 00:07:45 +0000
commit45ecac4b41626c5f43dd90d0174f56c3d1350cc9 (patch)
tree6ffe6ac6417d3ed0b8a7ea03f569ab933c0d08f8 /gdb/libunwind-frame.c
parent26f43351a71c25e48de61bb586fe4d492603e609 (diff)
downloadfsf-binutils-gdb-45ecac4b41626c5f43dd90d0174f56c3d1350cc9.zip
fsf-binutils-gdb-45ecac4b41626c5f43dd90d0174f56c3d1350cc9.tar.gz
fsf-binutils-gdb-45ecac4b41626c5f43dd90d0174f56c3d1350cc9.tar.bz2
* libunwind-frame.h (struct regcache): Add forward declaration.
(libunwind_get_reg_special): Add REGCACHE argument. * libunwind-frame.c (libunwind_get_reg_special): Add REGCACHE argument. Pass it to unw_init_remote_p. * ia64-tdep.c (ia64_pseudo_register_read): Pass regcache to libunwind_get_reg_special. (ia64_access_reg): Remove "write" case. (ia64_access_fpreg): Likewise. Read from next_frame passed as callback argument instead of from current_regcache. (ia64_access_rse_reg): Remove "write" case. Read from regcache passed as callback argument instead of from current_regcache. (ia64_access_rse_fpreg): New function. (ia64_unw_rse_acce): Use it instead of ia64_access_fpreg.
Diffstat (limited to 'gdb/libunwind-frame.c')
-rw-r--r--gdb/libunwind-frame.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/gdb/libunwind-frame.c b/gdb/libunwind-frame.c
index 66ffb8e..0b92853 100644
--- a/gdb/libunwind-frame.c
+++ b/gdb/libunwind-frame.c
@@ -395,7 +395,8 @@ libunwind_sigtramp_frame_sniffer (struct frame_info *next_frame)
are usually located at BOF, this is not always true and only the libunwind
info can decipher where they actually are. */
int
-libunwind_get_reg_special (struct gdbarch *gdbarch, int regnum, void *buf)
+libunwind_get_reg_special (struct gdbarch *gdbarch, struct regcache *regcache,
+ int regnum, void *buf)
{
unw_cursor_t cursor;
unw_accessors_t *acc;
@@ -415,7 +416,7 @@ libunwind_get_reg_special (struct gdbarch *gdbarch, int regnum, void *buf)
? __BIG_ENDIAN
: __LITTLE_ENDIAN);
- ret = unw_init_remote_p (&cursor, as, NULL);
+ ret = unw_init_remote_p (&cursor, as, regcache);
if (ret < 0)
return -1;