Skip to content
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

Native AOT in .NET 8 #69739

Closed
6 tasks done
Tracked by #47240
agocke opened this issue May 24, 2022 · 12 comments
Closed
6 tasks done
Tracked by #47240

Native AOT in .NET 8 #69739

agocke opened this issue May 24, 2022 · 12 comments
Assignees
Labels
area-NativeAOT-coreclr Epic Groups multiple user stories. Can be grouped under a theme.
Milestone

Comments

@agocke
Copy link
Member

agocke commented May 24, 2022

@agocke agocke transferred this issue from dotnet/linker May 24, 2022
@ghost ghost added the untriaged New issue has not been triaged by the area owner label May 24, 2022
@ghost
Copy link

ghost commented May 24, 2022

Tagging subscribers to this area: @dotnet/area-meta
See info in area-owners.md if you want to be subscribed.

Issue Details

Unordered list of things that we'd like to add for NativeAOT:

Author: agocke
Assignees: -
Labels:

area-Meta, untriaged

Milestone: -

@filipnavara
Copy link
Member

filipnavara commented Sep 30, 2022

Mac x64/ARM64

Done, CI enabled with #75421

@am11
Copy link
Member

am11 commented Sep 30, 2022

Musl compatibility

This works with .NET 7. We even have docs listing Alpine Linux prerequisites: https://github.com/dotnet/docs/blob/main/docs/core/deploying/native-aot/index.md#prerequisites.

note: in reality, we only need apk add build-base zlib-dev in addition to icu-libs in a fresh VM / container to PublishAot a fully loaded mvc app.. lld is especially not a prerequisite.

@jkotas
Copy link
Member

jkotas commented Oct 1, 2022

note: in reality, we only need apk add build-base zlib-dev

Fixed in dotnet/docs#31535

@agocke agocke modified the milestones: Future, 8.0.0 Oct 18, 2022
jkotas added a commit to dotnet/docs that referenced this issue Oct 21, 2022
@ygoe
Copy link

ygoe commented Nov 27, 2022

Are there plans to support the arm32 (armhf) architecture? This is relevant for most Raspberry Pi environments that are not using the newest 64-bit OS or older hardware (before RPi 3). Armbian also does not seem to offer 64-bit images yet (for other devices like NanoPi, Orange Pi etc.).

@MichalPetryka
Copy link
Contributor

MichalPetryka commented Nov 27, 2022

Are there plans to support the arm32 (armhf) architecture? This is relevant for most Raspberry Pi environments that are not using the newest 64-bit OS or older hardware (before RPi 3). Armbian also does not seem to offer 64-bit images yet (for other devices like NanoPi, Orange Pi etc.).

There are plans to remove ARM32 support from CoreCLR in .Net 9 (and NativeAOT uses that for codegen).

@MichalStrehovsky
Copy link
Member

Are there plans to support the arm32 (armhf) architecture? This is relevant for most Raspberry Pi environments that are not using the newest 64-bit OS or older hardware (before RPi 3). Armbian also does not seem to offer 64-bit images yet (for other devices like NanoPi, Orange Pi etc.).

There are plans to remove ARM32 support from CoreCLR in .Net 9 (and NativeAOT uses that for codegen).

That said, we would still accept community contributions towards ARM32-Linux. It used to work at some point and it's probably not too far from working. No matter the resolution of the ARM32 .NET 9 discussion, for .NET 8 we'll still have all the infrastructure for Linux-ARM32 release and testing in place and we can run the port in the CI.

@agocke
Copy link
Member Author

agocke commented Nov 28, 2022

Also, as that issue mentions, that would be dropping Microsoft-maintained support. If community members would be willing to maintain support, that is up for discussion.

@agocke agocke added the User Story A single user-facing feature. Can be grouped under an epic. label Nov 29, 2022
@agocke agocke changed the title Future AOT Work Native AOT in .NET 8 Nov 30, 2022
@agocke agocke added Epic Groups multiple user stories. Can be grouped under a theme. and removed User Story A single user-facing feature. Can be grouped under an epic. labels Dec 5, 2022
@agocke agocke self-assigned this Dec 5, 2022
@ziaulhasanhamim
Copy link

ziaulhasanhamim commented Jan 26, 2023

I think till now the biggest performance problem with Native AOT is for reflection because ASP.NET CORE and EF Core-like frameworks are based on reflection. A nice possible way to solve many of these problems (not all) would be adding Rust-like macros in C#. Macros can do most of the important things that reflection does in compile time. In rust, all dynamic frameworks rely on it.

@DeafMan1983
Copy link

I should use musl-g++ with native aot if yes then I can continue with musl-libc for Alpine and Void-Linux.

@fishkapro
Copy link

fishkapro commented May 8, 2023

Will com\wmi be added? Are there any ways to work with wmi now? Either the ability to use Microsoft.Management.Infrastructure or System.Management

@agocke
Copy link
Member Author

agocke commented Aug 10, 2023

.NET 8 is closing out, we'll pick new things up in .NET 9.

@agocke agocke closed this as completed Aug 10, 2023
@ghost ghost locked as resolved and limited conversation to collaborators Sep 9, 2023
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
area-NativeAOT-coreclr Epic Groups multiple user stories. Can be grouped under a theme.
Projects
Archived in project
Development

No branches or pull requests