According to mcontext_t definition its "pc" field
is also 64 bit wide and thus requires 4 byte offset
on MIPS32 (be).
---
src/mips/Ginit.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/mips/Ginit.c b/src/mips/Ginit.c
index 8290c40..83b100f 100644
--- a/src/mips/Ginit.c
+++ b/src/mips/Ginit.c
@@ -59,7 +59,7 @@ tdep_uc_addr (ucontext_t *uc, int reg)
{
char *addr = uc_addr (uc, reg);
- if (reg >= UNW_MIPS_R0 && reg <= UNW_MIPS_R31
+ if (((reg >= UNW_MIPS_R0 && reg <= UNW_MIPS_R31) || reg == UNW_MIPS_PC)
&& tdep_big_endian (unw_local_addr_space)
&& unw_local_addr_space->abi == UNW_MIPS_ABI_O32)
addr += 4;
--
2.1.4