aboutsummaryrefslogtreecommitdiff
path: root/gdb/alpha-tdep.c
diff options
context:
space:
mode:
authorYao Qi <yao.qi@linaro.org>2016-11-22 14:05:04 +0000
committerYao Qi <yao.qi@linaro.org>2016-11-22 14:05:04 +0000
commit7ab2d0874025af6ee858b32c576f2461c0a1df3d (patch)
treea8dc28f4e8582430cc45bd9f793a631349c7e633 /gdb/alpha-tdep.c
parent0187a92f57b516f7171e70bec46701cfdaa6c6bd (diff)
downloadgdb-7ab2d0874025af6ee858b32c576f2461c0a1df3d.zip
gdb-7ab2d0874025af6ee858b32c576f2461c0a1df3d.tar.gz
gdb-7ab2d0874025af6ee858b32c576f2461c0a1df3d.tar.bz2
gdbarch software_single_step frame_info to regcache: alpha
gdb: 2016-11-22 Yao Qi <yao.qi@linaro.org> * alpha-tdep.c (alpha_deal_with_atomic_sequence): Call get_regcache_arch instead of get_frame_arch. Call regcache_read_pc instead of get_frame_pc. (alpha_next_pc): Replace parameter frame with regcache. Call regcache_raw_get_unsigned instead of get_frame_register_unsigned.
Diffstat (limited to 'gdb/alpha-tdep.c')
-rw-r--r--gdb/alpha-tdep.c20
1 files changed, 11 insertions, 9 deletions
diff --git a/gdb/alpha-tdep.c b/gdb/alpha-tdep.c
index a0485ef..9753c1b 100644
--- a/gdb/alpha-tdep.c
+++ b/gdb/alpha-tdep.c
@@ -768,8 +768,9 @@ static const int stq_c_opcode = 0x2f;
static VEC (CORE_ADDR) *
alpha_deal_with_atomic_sequence (struct frame_info *frame)
{
- struct gdbarch *gdbarch = get_frame_arch (frame);
- CORE_ADDR pc = get_frame_pc (frame);
+ struct regcache *regcache = get_current_regcache ();
+ struct gdbarch *gdbarch = get_regcache_arch (regcache);
+ CORE_ADDR pc = regcache_read_pc (regcache);
CORE_ADDR breaks[2] = {-1, -1};
CORE_ADDR loc = pc;
CORE_ADDR closing_insn; /* Instruction that closes the atomic sequence. */
@@ -1597,9 +1598,9 @@ fp_register_sign_bit (LONGEST reg)
the target of the coming instruction and breakpoint it. */
static CORE_ADDR
-alpha_next_pc (struct frame_info *frame, CORE_ADDR pc)
+alpha_next_pc (struct regcache *regcache, CORE_ADDR pc)
{
- struct gdbarch *gdbarch = get_frame_arch (frame);
+ struct gdbarch *gdbarch = get_regcache_arch (regcache);
unsigned int insn;
unsigned int op;
int regno;
@@ -1615,7 +1616,7 @@ alpha_next_pc (struct frame_info *frame, CORE_ADDR pc)
{
/* Jump format: target PC is:
RB & ~3 */
- return (get_frame_register_unsigned (frame, (insn >> 16) & 0x1f) & ~3);
+ return (regcache_raw_get_unsigned (regcache, (insn >> 16) & 0x1f) & ~3);
}
if ((op & 0x30) == 0x30)
@@ -1646,7 +1647,7 @@ alpha_next_pc (struct frame_info *frame, CORE_ADDR pc)
regno += gdbarch_fp0_regnum (gdbarch);
}
- rav = get_frame_register_signed (frame, regno);
+ rav = regcache_raw_get_signed (regcache, regno);
switch (op)
{
@@ -1720,13 +1721,14 @@ alpha_next_pc (struct frame_info *frame, CORE_ADDR pc)
VEC (CORE_ADDR) *
alpha_software_single_step (struct frame_info *frame)
{
- struct gdbarch *gdbarch = get_frame_arch (frame);
+ struct regcache *regcache = get_current_regcache ();
+ struct gdbarch *gdbarch = get_regcache_arch (regcache);
CORE_ADDR pc;
VEC (CORE_ADDR) *next_pcs = NULL;
- pc = get_frame_pc (frame);
+ pc = regcache_read_pc (regcache);
- VEC_safe_push (CORE_ADDR, next_pcs, alpha_next_pc (frame, pc));
+ VEC_safe_push (CORE_ADDR, next_pcs, alpha_next_pc (regcache, pc));
return next_pcs;
}