1
0
Fork 0
mirror of https://github.com/tobast/libunwind-eh_elf.git synced 2024-11-27 01:27:39 +01:00

(siglongjmp): If there aren't at least 4 eh-regs, abort() for now. In

the future, we may want to support this for real by putting the
	necessary info on the stack.

(Logical change 1.81)
This commit is contained in:
hp.com!davidm 2003-04-21 23:14:14 +00:00
parent 33e6e3fc1e
commit 5c2c73523c

View file

@ -72,14 +72,13 @@ _longjmp (jmp_buf env, int val)
}
#endif
/* found the right frame: */
if (sigprocmask (SIG_BLOCK, NULL, &current_mask) < 0)
abort ();
assert (UNW_NUM_EH_REGS >= 4);
if (UNW_NUM_EH_REGS >= 4)
{
if (unw_set_reg (&c, UNW_REG_EH + 0, wp[1]) < 0
|| unw_set_reg (&c, UNW_REG_EH + 1, val) < 0
|| unw_set_reg (&c, UNW_REG_EH + 2,
@ -96,6 +95,9 @@ _longjmp (jmp_buf env, int val)
((unw_word_t *) &current_mask)[1]) < 0)
abort ();
}
}
else
abort ();
unw_resume (&c);