-
Notifications
You must be signed in to change notification settings - Fork 528
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
AOT fails on テスト.dll #6685
Labels
Area: App+Library Build
Issues when building Library projects or Application projects.
Milestone
Comments
jonathanpeppers
added
Area: App+Library Build
Issues when building Library projects or Application projects.
needs-triage
Issues that need to be assigned.
labels
Jan 28, 2022
@jonathanpeppers I think this might be something with the runtime aot task and/or compiler. |
Yeah, it doesn't work in Xamarin.Android either -- so I think it might be the AOT compiler. |
ok, I'll move this issue into runtime then. |
jonpryor
pushed a commit
that referenced
this issue
Mar 17, 2022
Context: fd5f31c Context: #6685 Context: https://github.com/xamarin/xamarin-android-binutils Context: dotnet/android-native-tools@6d4e3bb Context: #6840 Changes: dotnet/android-native-tools@2.35.2-XA.1...L_13.0.1-4.0.1 So far, Xamarin.Android has been using a GNU Binutils toolchain to compile and link native assembler code we generate during application build. Unfortunately, Binutils have a problem with certain filename encodings on Windows -- which required that we downgrade to Binutils 2.35.2 in commit fd5f31c -- so we decided to switch to an LLVM-based toolchain which handles such file names without issues. However, as mono/mono & dotnet/runtime AOT expects a GNU Binutils-compatible toolchain, it was necessary to implement a GNU Assembler (`gas`) wrapper around the LLVM `llvm-mc` assembler, so that command lines used by the Mono AOT compiler keep working fine. Since LLVM utilities are multi-target by default and, unlike GNU Binutils, LLVM doesn't need separate builds of every utility, we now provide GNU Binutils architecture-prefixed wrapper scripts which invoke their LLVM counterparts with appropriate parameters. The following LLVM utilities are included: - `llvm-mc` (assembler) - `lld` (linker) - `llvm-strip` Migrating to LLVM from GNU Binutils increases our install size: * macOS `.pkg` size increases by ~29MB, installation size increases by ~75MB. * Windows `.vsix` size increases by ~14MB, installation size increases by ~40MB. Aside: We've updated our unit tests to set `$(_DisableParallelAot)`=True, because when AOT is done in parallel, it's very difficult to make sense of the AOT compiler messages, as messages from multiple processes are all intermixed. We're disabling parallel AOT to preserve our sanity when things break. TODO: the Resulting `.apk` sizes also increase unexpectedly, with `Xamarin.Forms_Performance_Integration-Signed-Release-Profiled-Aot.apkdesc` showing a 1.7MB increase in `.apk` size. We believe that this is because of more verbose debug symbols. #6840 will track this.
ghost
locked as resolved and limited conversation to collaborators
Jun 2, 2022
Sign up for free
to subscribe to this conversation on GitHub.
Already have an account?
Sign in.
Android application type
Classic Xamarin.Android (MonoAndroid12.0, etc.), Android for .NET (net6.0-android, etc.)
Affected platform version
xamarin-android/main
Description
If I add
proj.AotAssemblies = true;
to this test, it fails:https://github.com/xamarin/xamarin-android/blob/ce0d212e85f5710ebcfd68533221cead76bda5ec/src/Xamarin.Android.Build.Tasks/Tests/Xamarin.Android.Build.Tests/BuildTest.cs#L123-L134
Steps to Reproduce
テスト
-p:Configuration=Release -p:AotAssemblies=true
Did you find any workaround?
Probably rename the assembly?
Relevant log output
No response
The text was updated successfully, but these errors were encountered: