DescriptionAnother attempt to fix debug info stripping for ASan on OSX
Unce upon a time the ASan runtime library used to be statically linked into
the executables on OSX.
Because that library provided a number of API functions needed by the shared
libraries, we had custom ASan-specific .saves files that told the `strip`
utility to preserve those functions when stripping the executables.
Then ASan switched to using dynamic runtime library, which instantly broke the
stripping step, because the executables weren't necessarily referencing all the
ASan API functions (issue 242503).
As a result, stripping has been disabled, and we haven't had .dSYM debug info
for ASan builds for more than a year now (issue 148383).
Because the ASan API functions are now undefined in the executables, it's
actually senseless to use the .saves files to preserve those functions in each
executable. However __asan_default_options still must be preserved to be accessible
from the ASan runtime.
This CL removes all ASan symbols except for __asan_default_options from the .saves files
and makes Chromium.app and Chromium Helper.app correctly use app_asan.saves.
It also turns mac_strip_release on for ASan builds.
BUG=148383, 242503, 170739, 166857
R=mark@chromium.org
TBR=cpu@chromium.org
Committed: https://crrev.com/d051b21c75afc414190db331fd608cc61e3056dc
Cr-Commit-Position: refs/heads/master@{#296413}
Patch Set 1 #Patch Set 2 : Only check mac_real_dsym on Mac. #Patch Set 3 : Added default options support as well. #Patch Set 4 : Added asan.saves back #Patch Set 5 : Rebase after landing default options for ASan Mac #
Total comments: 1
Messages
Total messages: 16 (4 generated)
|