1
0
Fork 0
mirror of https://github.com/tobast/libunwind-eh_elf.git synced 2024-11-23 07:57:38 +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:
hp.com!davidm 2003-07-08 22:29:34 +00:00
parent 666c61846c
commit 09aa4183f6

View file

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