Imported Upstream version 1.3.1
[platform/upstream/libunwind.git] / src / mips / Gregs.c
index 0dfc4a9..9519402 100644 (file)
@@ -28,7 +28,7 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.  */
 
 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;
   
@@ -70,6 +70,8 @@ tdep_access_reg (struct cursor *c, unw_regnum_t reg, unw_word_t *valp,
       break;
 
     case UNW_MIPS_PC:
+      if (write)
+       c->dwarf.ip = *valp;            /* update the IP cache */
       loc = c->dwarf.loc[reg];
       break;
 
@@ -96,7 +98,7 @@ tdep_access_reg (struct cursor *c, unw_regnum_t reg, unw_word_t *valp,
 
 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;