From 45ecac4b41626c5f43dd90d0174f56c3d1350cc9 Mon Sep 17 00:00:00 2001 From: Ulrich Weigand Date: Sat, 12 May 2007 00:07:45 +0000 Subject: * 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. --- gdb/libunwind-frame.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) (limited to 'gdb/libunwind-frame.c') 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; -- cgit v1.1