Skip to content
This repository was archived by the owner on Jan 23, 2023. It is now read-only.

[ARM64] Use PT_KNONVOLATILE... for cross#9665

Merged
gkhanna79 merged 1 commit into
dotnet:masterfrom
sdmaclea:PR-ARM64-PT_KNONVOLATILE
Feb 19, 2017
Merged

[ARM64] Use PT_KNONVOLATILE... for cross#9665
gkhanna79 merged 1 commit into
dotnet:masterfrom
sdmaclea:PR-ARM64-PT_KNONVOLATILE

Conversation

@sdmaclea
Copy link
Copy Markdown

In order to enable cross compilation support, ARM64
needs to use PT_KNONVOLATILE_CONTEXT_POINTERS

@janvorli @jashook

In order to enable cross compilation support, ARM64
needs to use PT_KNONVOLATILE_CONTEXT_POINTERS
@sdmaclea
Copy link
Copy Markdown
Author

For comparison, arm32 vs. arm64 with change

src/unwinder/arm/unwinder_arm.cpp:        PT_KNONVOLATILE_CONTEXT_POINTERS ContextPointers = (Params)->ContextPointers; \
src/unwinder/arm/unwinder_arm.cpp:        PT_KNONVOLATILE_CONTEXT_POINTERS ContextPointers = (Params)->ContextPointers; \
src/unwinder/arm/unwinder_arm.cpp:    PT_KNONVOLATILE_CONTEXT_POINTERS ContextPointers;
src/unwinder/arm/unwinder_arm.cpp:    __inout_opt PT_KNONVOLATILE_CONTEXT_POINTERS ContextPointers
src/unwinder/arm64/unwinder_arm64.cpp:    PT_KNONVOLATILE_CONTEXT_POINTERS ContextPointers;
src/unwinder/arm64/unwinder_arm64.cpp:        PT_KNONVOLATILE_CONTEXT_POINTERS ContextPointers = (Params)->ContextPointers; \
src/unwinder/arm64/unwinder_arm64.cpp:        PT_KNONVOLATILE_CONTEXT_POINTERS ContextPointers = (Params)->ContextPointers; \
src/unwinder/arm64/unwinder_arm64.cpp:    IN OUT PT_KNONVOLATILE_CONTEXT_POINTERS ContextPointers OPTIONAL

This compiles natively on arm64 Ubuntu
This cross compiles for arm64 on amd64 Ubuntu.

Hello World works. I will run more extensive regression....

@jashook
Copy link
Copy Markdown

jashook commented Feb 18, 2017

@dotnet-bot test Windows_NT x64 Debug Build and Test

@jashook
Copy link
Copy Markdown

jashook commented Feb 18, 2017

@dotnet-bot test Linux ARM Emulator Cross Debug Build

@jashook
Copy link
Copy Markdown

jashook commented Feb 18, 2017

@dotnet-bot test Windows_NT Arm64 Debug Build and Test

@jashook
Copy link
Copy Markdown

jashook commented Feb 18, 2017

@dotnet-bot test Windows_NT Arm64 Checked Build and Test

@jashook
Copy link
Copy Markdown

jashook commented Feb 18, 2017

@dotnet-bot test Windows_NT arm64 Cross Debug Build

Copy link
Copy Markdown

@jashook jashook left a comment

Choose a reason for hiding this comment

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

LGTM

@jashook
Copy link
Copy Markdown

jashook commented Feb 18, 2017

@sdmaclea thank you for the work. Hopefully the testing comes back clean.

@jashook
Copy link
Copy Markdown

jashook commented Feb 18, 2017

Windows Arm64 failed, however, seems like it may be unrelated.

20:50:23 TestID: UnmanagedToManaged.cmd_107
20:50:23 Path  : baseservices/exceptions/regressions/V1/SEH/VJ/UnmanagedToManaged/UnmanagedToManaged.cmd
20:50:23 
20:50:23 Started: Fri Feb 17 20:09:16 2017
20:50:23 Started: Fri Feb 17 20:09:18 2017
20:50:23 Output: TEST_CMD_LINE: baseservices\exceptions\regressions\V1\SEH\VJ\UnmanagedToManaged> C:\Users\DDJOIN\arm64_ci\tests\baseservices\exceptions\regressions\V1\SEH\VJ\UnmanagedToManaged\UnmanagedToManaged.cmd 
20:50:23 BEGIN EXECUTION
20:50:23  "C:\Users\DDJOIN\arm64_ci\tests\Tests\Core_Root\corerun.exe" UnmanagedToManaged.exe 
20:50:23 Calling unmanaged code...
20:50:23 Caught a div-by-zero exception.
20:50:23 
Assert failure(PID 16256 [0x00003f80], Thread: 7464 [0x1d28]): false
20:50:23 CORECLR! GetCLRRuntimeHost + 0x1A5E6C (0x00007fff`8a22910c)
20:50:23 CORECLR! GetCLRRuntimeHost + 0x19DAB4 (0x00007fff`8a220d54)
20:50:23 CORECLR! GetCLRRuntimeHost + 0x1A734C (0x00007fff`8a22a5ec)
20:50:23 NTDLL! chkstk + 0x1CC (0x00007fff`ae1a306c)
20:50:23 NTDLL! RtlUnwindEx + 0x258 (0x00007fff`ae22f5c8)
20:50:23 CORECLR! GetCLRRuntimeHost + 0x19ADA8 (0x00007fff`8a21e048)
20:50:23 CORECLR! GetCLRRuntimeHost + 0x1A7208 (0x00007fff`8a22a4a8)
20:50:23 NTDLL! chkstk + 0x14C (0x00007fff`ae1a2fec)
20:50:23 NTDLL! RtlLogStackBackTrace + 0x370 (0x00007fff`ae22f160)
20:50:23 NTDLL! RtlRaiseException + 0xC0 (0x00007fff`ae2303d0)
20:50:23     File: d:\j\workspace\arm64_cross_c---f41ee988\src\vm\exceptionhandling.cpp Line: 441
20:50:23     Image: C:\Users\DDJOIN\arm64_ci\tests\Tests\Core_Root\CoreRun.exe
20:50:23 Expected: 100
20:50:23 Actual: 123456789
20:50:23 END EXECUTION - FAILED
20:50:23 FAILED

@jashook
Copy link
Copy Markdown

jashook commented Feb 18, 2017

@dotnet-bot test Windows_NT Arm64 Checked Build and Test

@sdmaclea
Copy link
Copy Markdown
Author

Arm64/Unix looks relatively clean. There are 4 unexpected failures. They look related to generics. I do not think it has anything to do with this patch.

@jashook
Copy link
Copy Markdown

jashook commented Feb 18, 2017

I think it is worth merging and taking the regression to fix the build. After all we cannot prove this pr causes the test failure, it could have been #9500 or any checkin past then.

@RussKeldorph @janvorli ptal and merge if you agree.

@gkhanna79
Copy link
Copy Markdown
Member

@rahku Are you good with this change to unblock the Arm64 pipe build?

@AndyAyersMS
Copy link
Copy Markdown
Member

CoreCLR bits in CoreFX are now 4 days old and we need to unblock the builds. I'm going to merge this PR soon unless anyone strenuously objects.

@gkhanna79 gkhanna79 merged commit c023b23 into dotnet:master Feb 19, 2017
@gkhanna79
Copy link
Copy Markdown
Member

I have merged it.

@jashook jashook mentioned this pull request Feb 19, 2017
@sdmaclea sdmaclea deleted the PR-ARM64-PT_KNONVOLATILE branch March 23, 2017 19:22
@karelz karelz modified the milestone: 2.0.0 Aug 28, 2017
picenka21 pushed a commit to picenka21/runtime that referenced this pull request Feb 18, 2022
…VOLATILE

[ARM64] Use PT_KNONVOLATILE... for cross

Commit migrated from dotnet/coreclr@c023b23
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

6 participants