[ARM64] Use PT_KNONVOLATILE... for cross#9665
Conversation
In order to enable cross compilation support, ARM64 needs to use PT_KNONVOLATILE_CONTEXT_POINTERS
|
For comparison, arm32 vs. arm64 with change This compiles natively on arm64 Ubuntu Hello World works. I will run more extensive regression.... |
|
@dotnet-bot test Windows_NT x64 Debug Build and Test |
|
@dotnet-bot test Linux ARM Emulator Cross Debug Build |
|
@dotnet-bot test Windows_NT Arm64 Debug Build and Test |
|
@dotnet-bot test Windows_NT Arm64 Checked Build and Test |
|
@dotnet-bot test Windows_NT arm64 Cross Debug Build |
|
@sdmaclea thank you for the work. Hopefully the testing comes back clean. |
|
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 |
|
@dotnet-bot test Windows_NT Arm64 Checked Build and Test |
|
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. |
|
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. |
|
@rahku Are you good with this change to unblock the Arm64 pipe build? |
|
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. |
|
I have merged it. |
…VOLATILE [ARM64] Use PT_KNONVOLATILE... for cross Commit migrated from dotnet/coreclr@c023b23
In order to enable cross compilation support, ARM64
needs to use PT_KNONVOLATILE_CONTEXT_POINTERS
@janvorli @jashook