-
Notifications
You must be signed in to change notification settings - Fork 4.8k
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
Make crossgen trimmable #60016
Comments
Tagging subscribers to this area: @hoyosjs Issue DetailsThere are a couple of prerequisites here:
|
Work in progress here: https://github.com/agocke/runtime/tree/crossgen-trim |
AFAIK crossgen is only using COM to read (non-portable) PDBs. It calls into .NET Framework APIs to do so. As a side effect, crossgen will ignore non-portable PDBs on any system that doesn't come with .NET Framework (be it Linux, mac, or even some Windows). That's a very subtle crosscompilation problem. It might be worth looking into just replacing the COM in crossgen2 with a managed PDB reader - Cecil and CCI have code we might be able to just take. |
Seems theoretically possible to re-implement in managed code, but I think there's more than just PDB reading, there's a writer too -- https://github.com/dotnet/runtime/blob/main/src/coreclr/tools/aot/ILCompiler.Diagnostics/ISymNGenWriter.cs |
…5948) Publishes crossgen as an AOT binary on Windows+Linux x64+ARM64, otherwise publishes as an R2R single file. Closes dotnet#60016 (cherry picked from commit 0d1e04b)
There are a couple of prerequisites here:
The text was updated successfully, but these errors were encountered: