Skip to content

Update arm32 managed code unwinder#129638

Open
janvorli wants to merge 2 commits into
dotnet:mainfrom
janvorli:update-arm32-unwinder
Open

Update arm32 managed code unwinder#129638
janvorli wants to merge 2 commits into
dotnet:mainfrom
janvorli:update-arm32-unwinder

Conversation

@janvorli

Copy link
Copy Markdown
Member

This change brings the arm32 managed code unwinder to the most up to
date state from Windows source.

Close #128590

janvorli added 2 commits June 19, 2026 19:22
This change brings the arm32 managed code unwinder to the most up to
date state from Windows source.
@janvorli janvorli added this to the 11.0.0 milestone Jun 19, 2026
@janvorli janvorli requested a review from jkotas June 19, 2026 21:21
@janvorli janvorli self-assigned this Jun 19, 2026
Copilot AI review requested due to automatic review settings June 19, 2026 21:21

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot wasn't able to review any files in this pull request.

@dotnet-policy-service

Copy link
Copy Markdown
Contributor

Tagging subscribers to this area: @agocke
See info in area-owners.md if you want to be subscribed.

@janvorli

Copy link
Copy Markdown
Member Author

/azp run runtime-coreclr libraries-jitstress

@azure-pipelines

Copy link
Copy Markdown
Azure Pipelines successfully started running 1 pipeline(s).

@janvorli

Copy link
Copy Markdown
Member Author

cc @JulieLeeMSFT

@jkotas

jkotas commented Jun 20, 2026

Copy link
Copy Markdown
Member

We have managed clone of the unwinder at https://github.com/dotnet/runtime/blob/main/src/native/managed/cdac/Microsoft.Diagnostics.DataContractReader.Contracts/Contracts/StackWalk/Context/ARM/ARMUnwinder.cs that should be updated to match. It can be separate PR as long as there is tracking issue. cc @max-charlamb

@jkotas

jkotas commented Jun 20, 2026

Copy link
Copy Markdown
Member

The tests on linux arm32 are still failing with the assert from #128590. It does not appear fixed.

ASSERT FAILED
	Expression: ((FARPROC) (TADDR)m_pvHJRetAddr) != NULL
	Location:   /__w/1/s/src/coreclr/vm/threadsuspend.cpp:4552
	Function:   HijackThread
	Process:    20

Comment on lines +71 to +76
#define MSFT_OP_TRAP_FRAME_OLD 0
#define MSFT_OP_MACHINE_FRAME 1
#define MSFT_OP_CONTEXT 2
#define MSFT_OP_TRAP_FRAME 3
#define MSFT_OP_REDZONE_FRAME 4

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
#define MSFT_OP_TRAP_FRAME_OLD 0
#define MSFT_OP_MACHINE_FRAME 1
#define MSFT_OP_CONTEXT 2
#define MSFT_OP_TRAP_FRAME 3
#define MSFT_OP_REDZONE_FRAME 4

We should never encounter these opcodes and some of the code to handle them is ifdefed out below. Delete them?

--*/

{
ULONG Fpscr;

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think it would look better to delete the whole body of this method in our copy. It is going to help with cdac clone

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Test Failure: Multiple library test assemblies

3 participants