Skip to content

Re-enable symbol stripping for Apple platforms#124266

Open
kotlarmilos wants to merge 4 commits intodotnet:mainfrom
kotlarmilos:bugfix/enable-strip-symbols
Open

Re-enable symbol stripping for Apple platforms#124266
kotlarmilos wants to merge 4 commits intodotnet:mainfrom
kotlarmilos:bugfix/enable-strip-symbols

Conversation

@kotlarmilos
Copy link
Member

Description

This PR enables stripping in ILCompiler_publish.csproj and crossgen2_publish.csproj, introduced in #123386. This should work because Swift compilation in native packs uses -gline-tables-only instead of -g.

Additionally, it adds a stripping command for runtime Apple mobile tests.

Fixes #123687

Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR re-enables symbol stripping for Apple platforms by removing a temporary workaround that was added in PR #123386. The workaround disabled symbol stripping (StripSymbols=false) to avoid dsymutil module cache errors that occurred when Swift code was compiled with -g (full debug info). Now that the underlying Swift compilation has been fixed to use -gline-tables-only instead, symbol stripping can be safely re-enabled.

Changes:

  • Removes StripSymbols=false workaround from three .csproj files (ILCompiler, crossgen2, and XUnitLogChecker)
  • Adds symbol stripping logic to the CrossGen2 test script for Apple mobile runtime tests

Reviewed changes

Copilot reviewed 4 out of 4 changed files in this pull request and generated no comments.

File Description
src/coreclr/tools/aot/ILCompiler/ILCompiler_publish.csproj Removes the StripSymbols=false workaround, allowing default symbol stripping behavior to apply
src/coreclr/tools/aot/crossgen2/crossgen2_publish.csproj Removes the StripSymbols=false workaround, allowing default symbol stripping behavior to apply
src/tests/Common/XUnitLogChecker/XUnitLogChecker.csproj Removes the StripSymbols=false workaround, allowing default symbol stripping behavior to apply
src/tests/Common/CLRTest.CrossGen.targets Adds symbol stripping command after linking for Mach-O format outputs when StripSymbols is true

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Remove StripSymbols workaround for macOS NativeAOT publish once Swift module debug fix is available

2 participants

Comments