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

Issue 1084133002: Use bundled gold by default when building for Android. (Closed)

Created:
5 years, 8 months ago by pcc1
Modified:
5 years, 8 months ago
CC:
chromium-reviews, pasko, Fabrice (no longer in Chrome), mcilroy
Base URL:
https://chromium.googlesource.com/chromium/src.git@master
Target Ref:
refs/pending/heads/master
Project:
chromium
Visibility:
Public.

Description

Use bundled gold by default when building for Android. The bundled gold contains a number of bug fixes (mostly LTO-related, but also http://crbug.com/161942), so use it instead of the NDK gold. Both versions of gold are based on the same version of binutils (2.24), so this should be relatively safe. BUG=161942, 469376 R=thakis@chromium.org TEST=Built libchromeshell.so with default GYP_DEFINES with and without this change, verified that binaries are equivalent Committed: https://crrev.com/f5bae669c981b6dabd2df4ffdaf40e0c45b4c6bb Cr-Commit-Position: refs/heads/master@{#325334}

Patch Set 1 #

Total comments: 2
Unified diffs Side-by-side diffs Delta from patch set Stats (+3 lines, -1 line) Patch
M build/common.gypi View 2 chunks +3 lines, -1 line 2 comments Download

Messages

Total messages: 17 (3 generated)
pcc1
5 years, 8 months ago (2015-04-15 05:17:07 UTC) #1
Nico
lgtm Do you want to do a similar change in the gn files? cc'ing a ...
5 years, 8 months ago (2015-04-15 16:23:32 UTC) #2
pasko
thanks for context, -fsanitize=cfi-vptr is cute. lgtm https://codereview.chromium.org/1084133002/diff/1/build/common.gypi File build/common.gypi (right): https://codereview.chromium.org/1084133002/diff/1/build/common.gypi#newcode863 build/common.gypi:863: ['(OS=="linux" or ...
5 years, 8 months ago (2015-04-15 17:28:42 UTC) #4
Fabrice (no longer in Chrome)
lgtm, thanks for the heads-up! There seems to be some references in v8 too but ...
5 years, 8 months ago (2015-04-15 17:37:35 UTC) #6
pcc1
On 2015/04/15 16:23:32, Nico (away until Wed Apr 15) wrote: > lgtm > > Do ...
5 years, 8 months ago (2015-04-15 21:18:50 UTC) #7
pcc1
https://codereview.chromium.org/1084133002/diff/1/build/common.gypi File build/common.gypi (right): https://codereview.chromium.org/1084133002/diff/1/build/common.gypi#newcode863 build/common.gypi:863: ['(OS=="linux" or OS=="android") and (target_arch=="x64" or target_arch=="arm")', { On ...
5 years, 8 months ago (2015-04-15 21:19:01 UTC) #8
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1084133002/1
5 years, 8 months ago (2015-04-15 21:20:36 UTC) #10
Nico
On Wed, Apr 15, 2015 at 2:18 PM, <pcc@chromium.org> wrote: > On 2015/04/15 16:23:32, Nico ...
5 years, 8 months ago (2015-04-15 21:31:03 UTC) #11
chromium-reviews
Ah, I got chrome_shell_apk to start building using some variation of that. (Looks like it's ...
5 years, 8 months ago (2015-04-15 21:46:40 UTC) #12
commit-bot: I haz the power
Committed patchset #1 (id:1)
5 years, 8 months ago (2015-04-15 23:10:11 UTC) #13
commit-bot: I haz the power
Patchset 1 (id:??) landed as https://crrev.com/f5bae669c981b6dabd2df4ffdaf40e0c45b4c6bb Cr-Commit-Position: refs/heads/master@{#325334}
5 years, 8 months ago (2015-04-15 23:10:57 UTC) #14
Fabrice (no longer in Chrome)
It looks like the bundled gold actually introduced issues with LTO: Assembler messages: Fatal error: ...
5 years, 8 months ago (2015-04-16 11:51:40 UTC) #15
pcc
On 2015/04/16 11:51:40, Fabrice wrote: > It looks like the bundled gold actually introduced issues ...
5 years, 8 months ago (2015-04-16 18:51:33 UTC) #16
pcc
5 years, 8 months ago (2015-04-16 19:15:31 UTC) #17
Message was sent while issue was closed.
On 2015/04/16 18:51:33, pcc wrote:
> On 2015/04/16 11:51:40, Fabrice wrote:
> > It looks like the bundled gold actually introduced issues with LTO:
> > Assembler messages:
> > Fatal error: invalid -march= option: `armv7-a'
> > 
> > Are you sure the bundled gold includes everything needed?
> 
> I've investigated this. The GCC LTO plugin finds "as" by searching the -B
path,
> which is also how GCC finds gold. It appears that binutils "as", unlike gold,
> can only support one target architecture at once. The bundled "as" only
supports
> x86, so we receive this message at LTO time when targeting ARM.
> 
> I can see two possible solutions:
> 
> 1) Don't use the bundled gold by default when using GCC LTO.
> 2) Don't ship "as" in our bundled binutils. This will cause GCC to continue
> along its search path and pick up the NDK "as".
> 
> 1 is probably the safest option for now, as there may be other dependencies on
> the bundled "as". I'll prepare a CL to do that.

https://codereview.chromium.org/1096553002/

Powered by Google App Engine
This is Rietveld 408576698