Avoid eating SEGVs when performing on-demand dequicken

When using on-demand dequickening we will register SEGV handlers to
catch access to the dequickened dex-file. In order to prevent a
deadlock we need to be careful about how recursive SEGVs are handled.
We initially simply aborted if any occurred. While this is generally
correct it can obscure bugs by changing the stack-trace and possibly
break some tools which rely on being able to intercept SEGVs. To fix
this we will instead just pass-along SEGVs to later handlers when they
happen.

Test: ./test.py --host
Bug: 158737055
Change-Id: Ib5eebff54c2cd00565e5b1619a6794f1543f39e8
1 file changed