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
Merged-In: Ib5eebff54c2cd00565e5b1619a6794f1543f39e8
(cherry picked from commit 842e9c8c0affaff5253de233974c63ba7ba7f8b4)
1 file changed