[release/6.0] Restore FP pairs when unwinding in ARM64 - #69359
#69359[release/6.0] Restore FP pairs when unwinding in ARM64#69359hoyosjs merged 3 commits intodotnet:release/6.0dotnet/runtime:release/6.0from hoyosjs:juhoyosa/unwinder-arm64-fixhoyosjs/runtime:juhoyosa/unwinder-arm64-fixCopy head branch name to clipboard
Conversation
|
I couldn't figure out the best area label to add to this PR. If you have write-permissions please help me learn by adding exactly one area label. |
jeffschwMSFT
left a comment
There was a problem hiding this comment.
Approved. We are considering for 6.0.x
|
@hoyosjs please ensure that this has a code review. |
davidwrighton
left a comment
There was a problem hiding this comment.
This is a good targetted fix for .NET 6.0
|
This test is failing even against 6.0.5 on lab machines for Windows (basically without this change. This code path doesn't get used on Windows, which means the OS unwinder in the lab machines is likely not patched? At least for DDARM64-173, although that one reports having (Windows 10.0.19044.1645). I've seen it also fail in |
|
Reminder that code complete is today. |
|
@hoyosjs I've confirmed that the OS unwinder does not have this fix on that version of Windows. Please just turn the test off for Windows, and we'll figure out what to do to best handle the situation later. |
|
@hoyosjs are we still investigating PR failures, or are we ready to merge? |
Description
This change ensures that unwinding codes of the type
save_fregpthat are emitted for sequences likestp dX, dY, [sp, #Z]are correctly unwound. Without this, non-volatile registers are not correctly restored and frames above the handler frames can experience data corruption in the case of an exception in Unix based systems.Customer Impact
Corruptions caused by this bug are hard to diagnose and lead to silent data loss.
Regression
No.
Testing
Added regression test that fails without the change.
Risk
Very low - equivalent fix exists in the OS tree.
Package authoring signed off?
N/A