1
0
Fork 0
mirror of https://github.com/tobast/libunwind-eh_elf.git synced 2024-06-26 03:11:44 +02:00

Add abort() after sigreturn calls

This commit is contained in:
Konstantin Belousov 2010-04-14 12:10:34 +03:00
parent 34b064bf22
commit 0d311ea161

View file

@ -346,11 +346,13 @@ x86_local_resume (unw_addr_space_t as, unw_cursor_t *cursor, void *arg)
if (c->sigcontext_format == X86_SCF_NONE) {
Debug (8, "resuming at ip=%x via setcontext()\n", c->dwarf.ip);
setcontext (uc);
abort();
} else if (c->sigcontext_format == X86_SCF_FREEBSD_SIGFRAME) {
struct sigcontext *sc = (struct sigcontext *) c->sigcontext_addr;
Debug (8, "resuming at ip=%x via sigreturn(%p)\n", c->dwarf.ip, sc);
sigreturn((ucontext_t *)((const char *)sc + FREEBSD_UC_MCONTEXT_OFF));
abort();
} else {
Debug (8, "resuming at ip=%x for sigcontext format %d not implemented\n",
c->dwarf.ip, c->sigcontext_format);