Work-around for bionic sigsetjmp bug
In versions of bionic libc up to and including Android L, the sigsetjmp
didn't properly restore the signal mask when returning from a nonlocal
goto. Add a small wrapper to make sure we call sigprocmask each time we
call sigsetjmp which ensures the SIGILL is masked.
The symptoms of this problem include receiving a SIGILL with a stack
trace or simply receiving the text "Illegal instruction" when running an
application from the command line.
2 files changed