Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(4)

Issue 560323004: Another attempt to fix debug info stripping for ASan on OSX (Closed)

Created:
6 years, 3 months ago by Alexander Potapenko
Modified:
6 years, 2 months ago
CC:
chromium-reviews
Base URL:
https://chromium.googlesource.com/chromium/src.git@master
Project:
chromium
Visibility:
Public.

Description

Another 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
Unified diffs Side-by-side diffs Delta from patch set Stats (+14 lines, -40 lines) Patch
D build/asan.saves View 1 2 3 1 chunk +3 lines, -17 lines 1 comment Download
M build/common.gypi View 1 2 3 4 3 chunks +4 lines, -4 lines 0 comments Download
M chrome/app/app_asan.saves View 1 chunk +1 line, -19 lines 0 comments Download
M chrome/chrome_exe.gypi View 1 2 3 4 1 chunk +6 lines, -0 lines 0 comments Download

Messages

Total messages: 16 (4 generated)
Alexander Potapenko
Mark, may I ask you to take a look?
6 years, 3 months ago (2014-09-24 13:43:35 UTC) #1
Mark Mentovai
LGTM https://codereview.chromium.org/560323004/diff/80001/build/asan.saves File build/asan.saves (right): https://codereview.chromium.org/560323004/diff/80001/build/asan.saves#newcode5 build/asan.saves:5: # This file lists symbols that should not ...
6 years, 3 months ago (2014-09-24 13:48:30 UTC) #2
Alexander Potapenko
On 2014/09/24 13:48:30, Mark Mentovai wrote: > LGTM > > https://codereview.chromium.org/560323004/diff/80001/build/asan.saves > File build/asan.saves (right): ...
6 years, 3 months ago (2014-09-24 13:50:10 UTC) #3
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/560323004/80001
6 years, 3 months ago (2014-09-24 13:51:23 UTC) #5
commit-bot: I haz the power
Try jobs failed on following builders: chromium_presubmit on tryserver.chromium.linux (http://build.chromium.org/p/tryserver.chromium.linux/builders/chromium_presubmit/builds/13130)
6 years, 3 months ago (2014-09-24 14:00:08 UTC) #7
Alexander Potapenko
On 2014/09/24 14:00:08, I haz the power (commit-bot) wrote: > Try jobs failed on following ...
6 years, 3 months ago (2014-09-24 14:02:00 UTC) #9
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/560323004/80001
6 years, 3 months ago (2014-09-24 14:02:30 UTC) #11
commit-bot: I haz the power
Committed patchset #5 (id:80001) as e8c3f8add29a74e6280ae0e33f10d4500c95c1b5
6 years, 2 months ago (2014-09-24 14:49:21 UTC) #12
commit-bot: I haz the power
Patchset 5 (id:??) landed as https://crrev.com/d051b21c75afc414190db331fd608cc61e3056dc Cr-Commit-Position: refs/heads/master@{#296413}
6 years, 2 months ago (2014-09-24 14:49:50 UTC) #13
jiayl
A revert of this CL (patchset #5 id:80001) has been created in https://codereview.chromium.org/597873004/ by jiayl@chromium.org. ...
6 years, 2 months ago (2014-09-24 16:24:12 UTC) #14
Alexander Potapenko
Thanks to this CL the file:line info is now available in ASan reports on OSX. ...
6 years, 2 months ago (2014-09-24 16:25:09 UTC) #15
Alexander Potapenko
6 years, 2 months ago (2014-09-24 16:28:25 UTC) #16
Message was sent while issue was closed.
jiayl: there's clearly something wrong with my CL since there's no debug info in
the logs (I must've seen it somewhere else)
However I'm not quite sure this was the main reason for the tests to start
failing.

Powered by Google App Engine
This is Rietveld 408576698