Fix ARM64 floating point registers unwinding in PAL (#56919)
authorJan Vorlicek <jan.vorlicek@volny.cz>
Sun, 8 Aug 2021 06:10:42 +0000 (08:10 +0200)
committerGitHub <noreply@github.com>
Sun, 8 Aug 2021 06:10:42 +0000 (23:10 -0700)
commitc7eb3a82925b40730a9059f3ea2eefbb45612f75
tree41a17e9884bd0f589e8218cf818a2026de66e4bc
parent3c903d622ca8d9269b8c5384e32e357882001450
Fix ARM64 floating point registers unwinding in PAL (#56919)

* Fix ARM64 floating point registers unwinding in PAL

We were not unwinding the non-volatile floating point registers at all
(not transferring them between the CONTEXT and ucontext_t before and
after the unw_step). That causes crashes on arm64 Unix in some of
the tests since JIT now generates code that uses e.g. the D8 register
and a runtime code that was throwing an exception was using it too.

* Fix non-OSX arm64, remove test csproj patch

* Fix Linux arm64

* Fix Linux arm64 - now really

Fixes #56522
src/coreclr/pal/src/exception/seh-unwind.cpp
src/tests/JIT/IL_Conformance/Convert/TestConvertFromIntegral.csproj