HIDDEN int
tdep_access_reg (struct cursor *c, unw_regnum_t reg, unw_word_t *valp,
- int write)
+ int write)
{
dwarf_loc_t loc = DWARF_NULL_LOC;
switch (reg)
{
+ case UNW_SH_PC:
+ if (write)
+ c->dwarf.ip = *valp; /* update the IP cache */
case UNW_SH_R0:
case UNW_SH_R1:
case UNW_SH_R2:
case UNW_SH_R12:
case UNW_SH_R13:
case UNW_SH_R14:
- case UNW_SH_PC:
case UNW_SH_PR:
loc = c->dwarf.loc[reg];
break;
HIDDEN int
tdep_access_fpreg (struct cursor *c, unw_regnum_t reg, unw_fpreg_t *valp,
- int write)
+ int write)
{
Debug (1, "bad register number %u\n", reg);
return -UNW_EBADREG;