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

Conversation

@sdmaclea
Copy link

@sdmaclea sdmaclea commented Apr 6, 2018

Enable Arm64 Crossgen

Fixes for arm64 #8998

Depends on dotnet/core-setup#3987 ++

Works if I manually copy crossgen dependencies from core-setup

# Copy x64_arm64 crossgen
 cp -r \
    ../core-setup/packages/transport.runtime.linux-arm64.microsoft.netcore.runtime.coreclr/2.1.0-preview3-26404-06/tools/x64_arm64 \
    ./.nuget/packages/runtime.linux-arm64.microsoft.netcore.app/2.1.0-preview3-26404-01/tools

# Copy x64_arm64 libclrjit.so
cp -r \
    ../core-setup/packages/transport.runtime.linux-arm64.microsoft.netcore.jit/2.1.0-preview3-26404-06/runtimes/x64_arm64 \
    ./.nuget/packages/runtime.linux-arm64.microsoft.netcore.app/2.1.0-preview3-26404-01/runtimes/

@eerhardt
Contains #8896 which I hope/expect will merge before dotnet/core-setup#3987 is ready

@sdmaclea
Copy link
Author

sdmaclea commented Apr 9, 2018

x86 debug was red around time of triggering...

test Windows_NT x86 Debug Build

@sdmaclea
Copy link
Author

sdmaclea commented Apr 9, 2018

@dotnet-bot test Windows_NT x86 Debug Build

Copy link
Member

@eerhardt eerhardt left a comment

Choose a reason for hiding this comment

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

This looks good to me. I assume there needs to be some VSO work to enable the new build leg in the official builds (which only MSFT employees have access to). So I don't think this can be merged until then. @johnbeisner - will you be doing this?

@livarcocc - is this something we want to take for the .NET Core 2.1 release? Should it be integrated into a 2.1.300 branch? Or is this post-2.1 work?

@sdmaclea
Copy link
Author

sdmaclea commented Apr 9, 2018

I think this PR is probably dependent on getting new runtime bits with necessary tools i.e. #9015.

@johnbeisner Said in #8896 (comment) that he set up VSO with triggers off. The arm64 links are still not populated, so it looks like someone needs to establish triggers.

I would like to see this included in 2.1 branch, so that if and when we stabilize the arm64 runtime, we can use the cli.

@sdmaclea sdmaclea force-pushed the PR-ARm64-CROSSGEN branch from 4bb94d0 to ab1d77c Compare April 9, 2018 15:30
@johnbeisner
Copy link

@sdmaclea
Copy link
Author

sdmaclea commented Apr 9, 2018

@johnbeisner Thanks. I can't see into your link so I don't exactly know what it means. I am hoping it means that the arm64 linux is link in the readme will soon be populated. https://dotnetcli.blob.core.windows.net/dotnet/Sdk/master/dotnet-sdk-latest-linux-arm64.tar.gz

@sdmaclea
Copy link
Author

sdmaclea commented Apr 9, 2018


<Target Name="CrossgenPublishDir"
Condition=" '$(DISABLE_CROSSGEN)' == '' And !$(Architecture.StartsWith('arm')) "
Condition=" '$(DISABLE_CROSSGEN)' == '' And !('$(Architecture)' == 'arm') "

This comment was marked as spam.

@sdmaclea sdmaclea force-pushed the PR-ARm64-CROSSGEN branch from ab1d77c to 879bf9c Compare April 13, 2018 18:07
@sdmaclea
Copy link
Author

I missed that the core-setup dependencies were updated 2 days ago.

Fixed nit above. Rebased to pick up crosscomponent crossgen from core-setup. Crossgen should work now.

@eerhardt Please trigger 'test ci please'

@sdmaclea sdmaclea force-pushed the PR-ARm64-CROSSGEN branch from 879bf9c to b37a11b Compare April 13, 2018 18:22
@sdmaclea
Copy link
Author

@dotnet-bot test Ubuntu16.04 x64 Debug Build
@dotnet-bot test RHEL6 x64 Debug Build

@eerhardt
Copy link
Member

@dotnet-bot test ci please

@sdmaclea
Copy link
Author

sdmaclea commented Apr 15, 2018

Can this be merged? It would be nice to include in 2.1

@eerhardt
Copy link
Member

@livarcocc @johnbeisner - thoughts on merging?

@johnbeisner
Copy link

johnbeisner commented Apr 16, 2018

@eerhardt
Is there a reason that we are not enabling crossgen for Linux arm as well?

@eerhardt
Copy link
Member

Is there a reason that we are not enabling crossgen for Linux arm as well?

Not that I know of. I think @sdmaclea's main concern is linux-arm64 support. But if someone else wants to do linux-arm, that would be great.

@sdmaclea
Copy link
Author

sdmaclea commented Apr 16, 2018

linux-arm is slightly more complicated. The current linux-arm crosscomponent needs to run on x86 not x64. @echesakovMSFT was working on enabling x64_arm crosscomponents.

@eerhardt
Copy link
Member

We do have a docker container that supports linux-arm crossgen. We are using it in the core-setup build.

See https://github.com/dotnet/core-setup/pull/3892/files for the docker tag.

@sdmaclea
Copy link
Author

It was just too complicated for me to figure out how to enable linux-arm. Enabling for linux-arm64 was trivial.

@eerhardt
Copy link
Member

Yep - I think that's totally fine. You are enabling linux-arm64. If someone wants to do linux-arm, that would be great.

@johnbeisner johnbeisner changed the base branch from master to release/2.1.3xx April 16, 2018 19:55
@johnbeisner johnbeisner changed the base branch from release/2.1.3xx to master April 16, 2018 19:55
@johnbeisner johnbeisner changed the base branch from master to release/2.1.3xx April 16, 2018 19:59
@johnbeisner johnbeisner changed the base branch from release/2.1.3xx to master April 16, 2018 20:00
@johnbeisner
Copy link

@sdmaclea
Please rebase your 'PR-ARm64-CROSSGEN' branch to dotnet:release/2.1.3xx
Then we can retarget this PR to dotnet:release/2.1.3xx & I'll submit request for approval.

@sdmaclea
Copy link
Author

@johnbeisner This depends on coresetup 26407-01 or better (#9044 on master) which has not yet merged into dotnet/cli:release/2.1.3xx.

Perhaps this should merge on the master branch first?

Let me know how you want me to proceed.

@sdmaclea sdmaclea force-pushed the PR-ARm64-CROSSGEN branch from b37a11b to c4e427d Compare April 16, 2018 20:56
@sdmaclea
Copy link
Author

Rebased to the current master tip for now pending instructions.

@sdmaclea
Copy link
Author

Looks like this can be rebased on 2.1.3xx after #9076 merges

@johnbeisner
Copy link

@sdmaclea
"Looks like this can be rebased on 2.1.3xx after #9076 merges" - that seems like a reasonable plan.

@sdmaclea sdmaclea force-pushed the PR-ARm64-CROSSGEN branch from c4e427d to 83a8646 Compare April 17, 2018 15:45
@johnbeisner
Copy link

@sdmaclea
#9076 has merged; please move forward with the rebase/retarget

@sdmaclea
Copy link
Author

It is already done

@johnbeisner johnbeisner changed the base branch from master to release/2.1.3xx April 17, 2018 16:19
@johnbeisner johnbeisner requested review from a team and MattGertz April 17, 2018 17:26
@johnbeisner johnbeisner added this to the 2.1.3xx milestone Apr 17, 2018
@livarcocc
Copy link

@sdmaclea We have decided to not take this change for 2.1 and instead move it to 2.2. 2.2 is were most of the support for this will come anyways and we felt it was going to be better there.

Could you please re-target to master (again, sorry) and then we can merge this.

@sdmaclea sdmaclea force-pushed the PR-ARm64-CROSSGEN branch from 83a8646 to ade3573 Compare April 17, 2018 20:24
@sdmaclea
Copy link
Author

2.2 is were most of the support for this will come anyways

"This" ? linux-arm64?

Could you please re-target to master (again, sorry) and then we can merge this.

Done

@johnbeisner johnbeisner changed the base branch from release/2.1.3xx to master April 17, 2018 20:47
@sdmaclea
Copy link
Author

test Windows_NT_ES x64 Debug Build

@johnbeisner johnbeisner merged commit 8c937a0 into dotnet:master Apr 17, 2018
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.

4 participants