tdep_uc_addr: use +4 offset for UNW_MIPS_PC on MIPS (be)

According to mcontext_t definition its "pc" field
is also 64 bit wide and thus requires 4 byte offset
on MIPS32 (be).
This commit is contained in:
Королев Сергей 2016-06-22 19:53:02 +03:00 committed by Dave Watson
parent cf2bc87561
commit fd44f596b2

View File

@ -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;