Uh oh!
There was an error while loading. Please reload this page.
Remove libstdc++ dependency from NativeAOT - #76705
Conversation
nice, I'm just curious - does it lead to a smaller binary size? |
eerhardt
commented
Oct 6, 2022
I don't know about the binary size (I haven't tested it), but it leads to a smaller container size because you don't need to install libstdc++ as a dependency. Here's the "docker inspect" of a small example NativeAOT app built on alpine: Note that the libstdc++ dependency almost doubles the starting image size. |
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Yes and no.
If we convert it to pure C, then it will get slimmer on both. Right now, compiler is baking in some code in |
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
19bd9ac to
5a30a0dCompareUh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
4a730cb to
cd2825cCompare
jkotas
left a comment
There was a problem hiding this comment.
Looks great to me!
@AaronRobinsonMSFT Any other feedback?
cc @dotnet/gc for awareness. This contains some minor changes in GC/EE interface contract. These changes do not break binary compatibility - newer standalone gc builds should continue to work with older runtimes, just like before.
Uh oh!
There was an error while loading. Please reload this page.
jkotas
commented
Oct 13, 2022
Failure is dotnet/arcade#11239 |
@EgorBo, crossgen2 binary size with final changes: macOS (arm64): +272 bytes |

Fixes#76655.