mirror of
https://github.com/tobast/libunwind-eh_elf.git
synced 2024-11-23 16:07:37 +01:00
(unw_get_save_loc): Also check for ABI_MARKER_OLD_LINUX_SIGTRAMP.
Check against UNW_IA64_AR_SSD instead of UNW_IA64_AR_26. (Logical change 1.91)
This commit is contained in:
parent
666c61846c
commit
09aa4183f6
1 changed files with 3 additions and 2 deletions
|
@ -86,7 +86,8 @@ unw_get_save_loc (unw_cursor_t *cursor, int reg, unw_save_loc_t *sloc)
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
#if !defined(UNW_LOCAL_ONLY) || defined(__linux)
|
#if !defined(UNW_LOCAL_ONLY) || defined(__linux)
|
||||||
else if (c->last_abi_marker == ABI_MARKER_LINUX_SIGTRAMP)
|
else if (c->last_abi_marker == ABI_MARKER_LINUX_SIGTRAMP
|
||||||
|
|| c->last_abi_marker == ABI_MARKER_OLD_LINUX_SIGTRAMP)
|
||||||
/* NaT bit is saved in a sigcontext. */
|
/* NaT bit is saved in a sigcontext. */
|
||||||
loc = IA64_LOC_ADDR (c->sigcontext_addr + LINUX_SC_NAT_OFF, 0);
|
loc = IA64_LOC_ADDR (c->sigcontext_addr + LINUX_SC_NAT_OFF, 0);
|
||||||
#endif
|
#endif
|
||||||
|
@ -145,7 +146,7 @@ unw_get_save_loc (unw_cursor_t *cursor, int reg, unw_save_loc_t *sloc)
|
||||||
case UNW_IA64_BR + 7:
|
case UNW_IA64_BR + 7:
|
||||||
case UNW_IA64_AR_RSC:
|
case UNW_IA64_AR_RSC:
|
||||||
case UNW_IA64_AR_CSD:
|
case UNW_IA64_AR_CSD:
|
||||||
case UNW_IA64_AR_26:
|
case UNW_IA64_AR_SSD:
|
||||||
case UNW_IA64_AR_CCV:
|
case UNW_IA64_AR_CCV:
|
||||||
loc = ia64_scratch_loc (c, reg);
|
loc = ia64_scratch_loc (c, reg);
|
||||||
break;
|
break;
|
||||||
|
|
Loading…
Reference in a new issue