summaryrefslogtreecommitdiff
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
commit0db187629533a46f56f08a5d2474c881120a2811 (patch)
tree2e2314bbf58172a8c0f1bb4fcc50ddc65c09da6d /gdb/libunwind-frame.c
parent1f626905fcf91c2a29ee37209beada3d818a5fa6 (diff)
downloadgdb-0db187629533a46f56f08a5d2474c881120a2811.tar.gz
* 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 66ffb8ea29d..0b928535fcc 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;