projects
/
platform
/
upstream
/
libunwind.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Imported Upstream version 1.3.1
[platform/upstream/libunwind.git]
/
src
/
mips
/
Gregs.c
diff --git
a/src/mips/Gregs.c
b/src/mips/Gregs.c
index
0dfc4a9
..
9519402
100644
(file)
--- a/
src/mips/Gregs.c
+++ b/
src/mips/Gregs.c
@@
-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,
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;
{
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:
break;
case UNW_MIPS_PC:
+ if (write)
+ c->dwarf.ip = *valp; /* update the IP cache */
loc = c->dwarf.loc[reg];
break;
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,
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;
{
Debug (1, "bad register number %u\n", reg);
return -UNW_EBADREG;