-
Notifications
You must be signed in to change notification settings - Fork 4.9k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[release/8.0-staging] Change assembler to clang in android MonoAOT #111666
[release/8.0-staging] Change assembler to clang in android MonoAOT #111666
Conversation
…, libClang.so is no longer found in the place we expect. As a result, the android aot offsets won't be generated and the dedicated CI leg will fail. This change fixes the path.
8c4219f
to
64286d4
Compare
/azp run runtime-extra-platforms |
Azure Pipelines successfully started running 1 pipeline(s). |
/azp run runtime-extra-platforms |
Azure Pipelines successfully started running 1 pipeline(s). |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
lgtm. please get a code review. we will take for consideration in 8.0.x
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM, thanks!
Just please make sure we did not introduce any regression on runtime-extra-platforms pipeline.
@jkurdek please take a look at the PR failures. we can merge when ready |
/azp run runtime-extra-platforms |
Azure Pipelines successfully started running 1 pipeline(s). |
/ba-g the failures are unrelated. Cryptography tests are a known failure |
/ba-g the failures are not on Android. unrelated. |
@jeffschwMSFT the failures are unrelated. I cant click the merge button for some reason. |
Backport of #110393 to release/8.0-staging
/cc @jkurdek
Customer Impact
The PR backports all the necessary bits for bumping the NDK version to 27. The currently used version (23) is significantly out of date and is not a supported version by Android. We have already bumped the version of the NDK used on .net10 and .net 9 branches.
Description of backported changes
This is the original change which made .net 10 build compatible with NDK 27.
The PR made MonoAOT compiler use clang assembler when building android.
net9 and net8 branches have a dependency on libclang.so for generating android aot offsets. (net10 [mono] Use libclang from dotnet/llvm-project for offsets-tool.py #109188). The library was taken from NDK as it used to ship with it. Since NDK 27 libclang.so is no longer a part of the NDK. The PR provides a path to local libclang.so to keep offset generation working
Change assembler to clang in android MonoAOT #110393 was based on this change. This was missing on net8 branch. This PR enables to choose which assembler and linker will be used for compilation on a given platform. (Without this change the choices are hardcoded per platform)
Fixes compilation warnings in System.Security.Cryptography.Native.Android which result from the NDK bump
Regression
Testing
https://github.com/dotnet/runtime/pull/112480/files
This PR references images with NDK 27. Failures on android lanes are unrelated to the changes in this PR.
Risk
Medium
Package authoring no longer needed in .NET 9
IMPORTANT: Starting with .NET 9, you no longer need to edit a NuGet package's csproj to enable building and bump the version.
Keep in mind that we still need package authoring in .NET 8 and older versions.