|
|
Descriptionmac: Add the flag "-gline-tables-only" to reduce dSYM size.
The dSYM for Google Chrome Framework has grown to be larger than 4GB. dsymutil
can't handle this. Reduce the amount of debug info output for official builds
of Google Chrome. On my local machine, the dSYM is 10x smaller.
BUG=479841
Committed: https://crrev.com/c4fc98d94448349b8fcf3d0627a166c74caf7053
Cr-Commit-Position: refs/heads/master@{#326445}
Patch Set 1 #Patch Set 2 : Comments from thakis. #
Total comments: 5
Patch Set 3 : Remove a newline. Because our gyp files don't appear to use newlines. #
Total comments: 2
Patch Set 4 : Comments from thakis, round two. #Messages
Total messages: 21 (3 generated)
erikchen@chromium.org changed reviewers: + mark@chromium.org, rsesek@chromium.org
rsesek: Please review. mark@ mentioned he would be OOO for a couple of days. This was the solution he proposed at https://code.google.com/p/chromium/issues/detail?id=479841#c15
thakis@chromium.org changed reviewers: + thakis@chromium.org
This makes it impossible to debug. Please only do this for official builds.
We should also work out whether there are any conditions where dsymutil does the wrong thing. That’s why I asked what versions of the tools were on that bot. It’s possible that this was a bug in dsymutil that’s been fixed. If that’s truly the case, then maybe we can get by just by updating the bots.
Sorry, you answered part of that on the bug, but I saw it LIFO.
thakis: Done. https://codereview.chromium.org/1085843004/diff/20001/build/common.gypi File build/common.gypi (right): https://codereview.chromium.org/1085843004/diff/20001/build/common.gypi#newco... build/common.gypi:5135: 'OTHER_CFLAGS': [ I don't understand GYP. I figured that this would override the previous declaration of OTHER_CFLAGS, but it appears to do the right thing.
Looks better, but I'm afraid I have one more bike to shed: https://codereview.chromium.org/1085843004/diff/20001/build/common.gypi File build/common.gypi (right): https://codereview.chromium.org/1085843004/diff/20001/build/common.gypi#newco... build/common.gypi:5135: 'OTHER_CFLAGS': [ On 2015/04/23 01:20:36, erikchen wrote: > I don't understand GYP. I figured that this would override the previous > declaration of OTHER_CFLAGS, but it appears to do the right thing. gyp merges lists by appending them. This is documented at https://code.google.com/p/gyp/wiki/InputFormatReference#Merge_Basics_(=,_?,_+) https://codereview.chromium.org/1085843004/diff/20001/build/common.gypi#newco... build/common.gypi:5208: 'DEBUG_INFORMATION_FORMAT': 'dwarf-with-dsym', Probably best to put this here, next to the dsymutil bits?
https://codereview.chromium.org/1085843004/diff/40001/build/common.gypi File build/common.gypi (right): https://codereview.chromium.org/1085843004/diff/40001/build/common.gypi#newco... build/common.gypi:5136: # The Google Chrome Framework dSYM generated by dsymutil has grown 80 columns.
https://codereview.chromium.org/1085843004/diff/20001/build/common.gypi File build/common.gypi (right): https://codereview.chromium.org/1085843004/diff/20001/build/common.gypi#newco... build/common.gypi:5208: 'DEBUG_INFORMATION_FORMAT': 'dwarf-with-dsym', On 2015/04/23 01:26:24, Nico (OOO sick) wrote: > Probably best to put this here, next to the dsymutil bits? This is a good suggestion, not bikeshedding. Thanks! This reduces the number of instances of "-gline-tables-only" in ninja files from 2k+ to ~150. https://codereview.chromium.org/1085843004/diff/40001/build/common.gypi File build/common.gypi (right): https://codereview.chromium.org/1085843004/diff/40001/build/common.gypi#newco... build/common.gypi:5136: # The Google Chrome Framework dSYM generated by dsymutil has grown On 2015/04/23 01:38:06, Mark Mentovai wrote: > 80 columns. Done.
https://codereview.chromium.org/1085843004/diff/20001/build/common.gypi File build/common.gypi (right): https://codereview.chromium.org/1085843004/diff/20001/build/common.gypi#newco... build/common.gypi:5135: 'OTHER_CFLAGS': [ On 2015/04/23 01:26:24, Nico (OOO sick) wrote: > On 2015/04/23 01:20:36, erikchen wrote: > > I don't understand GYP. I figured that this would override the previous > > declaration of OTHER_CFLAGS, but it appears to do the right thing. > > gyp merges lists by appending them. This is documented at > https://code.google.com/p/gyp/wiki/InputFormatReference#Merge_Basics_(=,_?,_+) I see. It was unclear to me that lists got merged by default.
On 2015/04/23 01:57:49, erikchen wrote: > https://codereview.chromium.org/1085843004/diff/20001/build/common.gypi > File build/common.gypi (right): > > https://codereview.chromium.org/1085843004/diff/20001/build/common.gypi#newco... > build/common.gypi:5135: 'OTHER_CFLAGS': [ > On 2015/04/23 01:26:24, Nico (OOO sick) wrote: > > On 2015/04/23 01:20:36, erikchen wrote: > > > I don't understand GYP. I figured that this would override the previous > > > declaration of OTHER_CFLAGS, but it appears to do the right thing. > > > > gyp merges lists by appending them. This is documented at > > https://code.google.com/p/gyp/wiki/InputFormatReference#Merge_Basics_(=,_?,_+) > > I see. It was unclear to me that lists got merged by default. Lgtm
The CQ bit was checked by erikchen@chromium.org
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1085843004/60001
LGTM. Feel better, Nico!
Message was sent while issue was closed.
Committed patchset #4 (id:60001)
Message was sent while issue was closed.
Patchset 4 (id:??) landed as https://crrev.com/c4fc98d94448349b8fcf3d0627a166c74caf7053 Cr-Commit-Position: refs/heads/master@{#326445}
Message was sent while issue was closed.
On 2015/04/23 04:08:49, I haz the power (commit-bot) wrote: > Patchset 4 (id:??) landed as > https://crrev.com/c4fc98d94448349b8fcf3d0627a166c74caf7053 > Cr-Commit-Position: refs/heads/master@{#326445} I started a build last night with patch set 4 - it doesn't actually reduce the binary size. Patch set 3 does reduce the binary size.
Message was sent while issue was closed.
On 2015/04/23 16:58:09, erikchen wrote: > On 2015/04/23 04:08:49, I haz the power (commit-bot) wrote: > > Patchset 4 (id:??) landed as > > https://crrev.com/c4fc98d94448349b8fcf3d0627a166c74caf7053 > > Cr-Commit-Position: refs/heads/master@{#326445} > > I started a build last night with patch set 4 - it doesn't actually reduce the > binary size. Patch set 3 does reduce the binary size. My guess is that mac_strip!=0 in the conditional is causing the "gline-tables-only" to not show up. Looking further.
Message was sent while issue was closed.
A revert of this CL (patchset #4 id:60001) has been created in https://codereview.chromium.org/1105703002/ by erikchen@chromium.org. The reason for reverting is: Reverting this CL because it doesn't actually reduce the dSYM size generated by dsymutil. .
Message was sent while issue was closed.
On 2015/04/23 18:28:12, erikchen wrote: > A revert of this CL (patchset #4 id:60001) has been created in > https://codereview.chromium.org/1105703002/ by mailto:erikchen@chromium.org. > > The reason for reverting is: Reverting this CL because it doesn't actually > reduce the dSYM size generated by dsymutil. . Through experimentation, it appears that two separate conditionals prevent the binary size from getting reduced. 'mac_real_dsym == 1' Despite its name, mac_real_dsym is only true for ASAN builds. Yay. ['(_type=="executable" or _type=="shared_library" or \ _type=="loadable_module")', { |