On Wed Jan 24 20:22:40 2024 +0000, Martin Storsjö wrote:
I tested this myself now, for ARM and AArch64, and indeed, the dwarf/ehabi/libunwind unwinding isn't needed at all in PE builds. As AArch64 requires PE builds right now, we probably could update this to stop using the dwarf unwinder as well?
It's fairly recent, basically since the PE/Unix separation was completed.
Crashes in Unix libs essentially longjmp() to the last syscall entry point, they don't report an exception to the PE side, so there's no unwinding.
The only case where the unwinder could see an address in a Unix lib is if there's a .dll.so that calls Unix without going through the syscall interface. That can't be allowed on aarch64, because it wouldn't preserve x18.