Skip to content

[mono][ios] Introduce non-global symbol stripping in MonoAOTCompiler msbuild task - #81361

Merged
kotlarmilos merged 6 commits into
dotnet:mainfrom
kotlarmilos:feature/ios-symbols-trimming
Feb 2, 2023
Merged

[mono][ios] Introduce non-global symbol stripping in MonoAOTCompiler msbuild task#81361
kotlarmilos merged 6 commits into
dotnet:mainfrom
kotlarmilos:feature/ios-symbols-trimming

Conversation

@kotlarmilos

@kotlarmiloskotlarmilos commented Jan 30, 2023

Copy link
Copy Markdown
Member

This PR resolves#80977 by stripping symbols for SOD measurements. It adds an option in the MonoAOTCompiler to extracts non-global symbols from a binary into a separate .dSYM directory.

@kotlarmiloskotlarmilos added this to the 8.0.0 milestone Jan 30, 2023
@kotlarmiloskotlarmilos self-assigned this Jan 30, 2023
@ghost

Copy link
Copy Markdown

I couldn't figure out the best area label to add to this PR. If you have write-permissions please help me learn by adding exactly one area label.

Comment threadsrc/mono/sample/iOS/Makefile Outdated
Comment threadsrc/mono/sample/iOS/Program.csproj Outdated
Comment threadsrc/mono/sample/iOS/symbols_to_keep.list Outdated
@ivanpovazan

Copy link
Copy Markdown
Member

nit: I would suggested updating the PR's title as stripping became part of AppleAppBuilder.

Otherwise: LGTM!

As a follow-up, we should think about utilising #79721 and possibly strip more from the final binary.

@kotlarmiloskotlarmilos changed the title [mono][ios] Introduce symbol stripping build task for HelloiOS sample app[mono][ios] Introduce non-global symbol stripping in MonoAOTCompiler msbuild taskFeb 2, 2023
@kotlarmilos

Copy link
Copy Markdown
MemberAuthor

nit: I would suggested updating the PR's title as stripping became part of AppleAppBuilder.

Otherwise: LGTM!

As a follow-up, we should think about utilising #79721 and possibly strip more from the final binary.

Good! I've added tracking issue as a P2.

@kotlarmilos

Copy link
Copy Markdown
MemberAuthor

When stripping non-global symbols from binary, SOD is 13300936 bytes, while when preserving only P/Invokes, SOD is 12699776 bytes.

@kotlarmilos

Copy link
Copy Markdown
MemberAuthor

Failure is #81123.

@kotlarmilos
kotlarmilos merged commit eec29a1 into dotnet:mainFeb 2, 2023
@kotlarmilos
kotlarmilos deleted the feature/ios-symbols-trimming branch February 2, 2023 19:03
@ghostghost locked as resolved and limited conversation to collaborators Mar 5, 2023
Sign up for freeto subscribe to this conversation on GitHub. Already have an account? Sign in.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Introduce symbol stripping build task for HelloiOS sample app

4 participants

@kotlarmilos@ivanpovazan@rolfbjarne@marek-safar