New issue
Advanced search Search tips

Issue 923168 link

Starred by 2 users

Issue metadata

Status: Started
Owner:
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Chrome
Pri: 2
Type: Bug

Blocked on:
issue 917504



Sign in to add a comment

Enable lld for target="chromeos"

Project Member Reported by tikuta@chromium.org, Jan 18 (5 days ago)

Issue description

This is tracking bug to re-land lld for target="chromeos"
https://chromium-review.googlesource.com/c/chromium/src/+/1377139
(reverted in https://chromium-review.googlesource.com/c/chromium/src/+/1377712)

If we can enable lld, link time of unit_tests reduced from 60 seconds to 24 seconds.

 

Comment 1 by achuith@chromium.org, Jan 18 (5 days ago)

Blockedon: 917504

Comment 2 by p...@google.com, Jan 18 (5 days ago)

IIRC the bot failed because we were trying to link against an internal library that was linked using a buggy version of ld.bfd that lld doesn't like. b/121046331#comment5 details the steps required to get that internal library linking with lld.

Comment 3 by thakis@google.com, Jan 18 (5 days ago)

Cc: llozano@chromium.org
llozano, is someone on your team working on this?

Comment 4 by tikuta@chromium.org, Jan 18 (5 days ago)

Owner: tikuta@chromium.org
#2, thank you for pointer.

And I confirmed that current chrome can be linked with libassistant.
Let me re-land the CL.

Comment 5 by tikuta@chromium.org, Jan 18 (5 days ago)

Status: Started (was: Untriaged)

Comment 6 by lloz...@google.com, Jan 18 (5 days ago)

Cc: g...@chromium.org

Comment 7 by lloz...@google.com, Jan 18 (5 days ago)

re #3, yes, we have been working on enabling LLD , there is still one bug that is not allowing us to use it in some configurations.

Project Member

Comment 8 by bugdroid1@chromium.org, Jan 18 (5 days ago)

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/3c031af060bbdfd54b16442b7891e7237768586a

commit 3c031af060bbdfd54b16442b7891e7237768586a
Author: Takuto Ikuta <tikuta@chromium.org>
Date: Fri Jan 18 04:12:16 2019

build: Default use_lld to true on ChromeOS for x64

This is a partial reland of 12b1bbff0b65f333ea2fa270259412cacbe056c3

I confirmed current lld can link chrome with the same config of previously failed build.
https://ci.chromium.org/buildbot/chromium.chrome/Google%20Chrome%20ChromeOS/59619

Original change's description:
> build: Default use_lld to true on ChromeOS.
>
> As of https://chromium-review.googlesource.com/c/1372768 ChromeOS
> chrome is always linked with lld. Because ChromeOS's build system
> always overrides the value of use_lld this change should have no
> effect on official ChromeOS builds, but it should make ChromeOS on
> Linux more consistent with "real" ChromeOS.
>
> Bug:  701659 
> Change-Id: I447e1b2dfb6cc970f2c2dd64d396b5ba58bc2ef2
> Reviewed-on: https://chromium-review.googlesource.com/c/1377139
> Reviewed-by: Nico Weber <thakis@chromium.org>
> Commit-Queue: Peter Collingbourne <pcc@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#616485}

Bug:  701659 , 923168, 917504
Change-Id: Iedb48cfe5b3b9c189dcf1b4c04bea998ee009d2c
Reviewed-on: https://chromium-review.googlesource.com/c/1419558
Auto-Submit: Takuto Ikuta <tikuta@chromium.org>
Reviewed-by: George Burgess <gbiv@chromium.org>
Commit-Queue: George Burgess <gbiv@chromium.org>
Commit-Queue: Takuto Ikuta <tikuta@chromium.org>
Cr-Commit-Position: refs/heads/master@{#624005}
[modify] https://crrev.com/3c031af060bbdfd54b16442b7891e7237768586a/build/config/compiler/compiler.gni

Project Member

Comment 9 by bugdroid1@chromium.org, Jan 18 (4 days ago)

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/21092a421cede9e75d24044c840b99c2924d0c5a

commit 21092a421cede9e75d24044c840b99c2924d0c5a
Author: Takashi Sakamoto <tasak@google.com>
Date: Fri Jan 18 09:41:10 2019

Revert "build: Default use_lld to true on ChromeOS for x64"

This reverts commit 3c031af060bbdfd54b16442b7891e7237768586a.

Reason for revert: suspect compile failure on chromium.chrome/Google Chrome ChromeOS
https://logs.chromium.org/logs/chromium/bb/chromium.chrome/Google_Chrome_ChromeOS/60740/+/recipes/steps/compile/0/stdout

ld.lld: error: found local symbol '__bss_start' in global part of symbol table in file libassistant.so
ld.lld: error: found local symbol '_end' in global part of symbol table in file libassistant.so
ld.lld: error: found local symbol '_edata' in global part of symbol table in file libassistant.so
ld.lld: error: found local symbol '__stop_malloc_hook' in global part of symbol table in file libassistant.so
ld.lld: error: found local symbol '__start_malloc_hook' in global part of symbol table in file libassistant.so
clang: error: linker command failed with exit code 1 (use -v to see invocation)

Original change's description:
> build: Default use_lld to true on ChromeOS for x64
> 
> This is a partial reland of 12b1bbff0b65f333ea2fa270259412cacbe056c3
> 
> I confirmed current lld can link chrome with the same config of previously failed build.
> https://ci.chromium.org/buildbot/chromium.chrome/Google%20Chrome%20ChromeOS/59619
> 
> Original change's description:
> > build: Default use_lld to true on ChromeOS.
> >
> > As of https://chromium-review.googlesource.com/c/1372768 ChromeOS
> > chrome is always linked with lld. Because ChromeOS's build system
> > always overrides the value of use_lld this change should have no
> > effect on official ChromeOS builds, but it should make ChromeOS on
> > Linux more consistent with "real" ChromeOS.
> >
> > Bug:  701659 
> > Change-Id: I447e1b2dfb6cc970f2c2dd64d396b5ba58bc2ef2
> > Reviewed-on: https://chromium-review.googlesource.com/c/1377139
> > Reviewed-by: Nico Weber <thakis@chromium.org>
> > Commit-Queue: Peter Collingbourne <pcc@chromium.org>
> > Cr-Commit-Position: refs/heads/master@{#616485}
> 
> Bug:  701659 , 923168, 917504
> Change-Id: Iedb48cfe5b3b9c189dcf1b4c04bea998ee009d2c
> Reviewed-on: https://chromium-review.googlesource.com/c/1419558
> Auto-Submit: Takuto Ikuta <tikuta@chromium.org>
> Reviewed-by: George Burgess <gbiv@chromium.org>
> Commit-Queue: George Burgess <gbiv@chromium.org>
> Commit-Queue: Takuto Ikuta <tikuta@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#624005}

TBR=thakis@chromium.org,pcc@chromium.org,gbiv@chromium.org,tikuta@chromium.org

Change-Id: Ieba8a5113b944ef03f954388ebb076ff546fdd08
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug:  701659 , 923168, 917504
Reviewed-on: https://chromium-review.googlesource.com/c/1420493
Reviewed-by: Takashi Sakamoto <tasak@google.com>
Commit-Queue: Takashi Sakamoto <tasak@google.com>
Cr-Commit-Position: refs/heads/master@{#624051}
[modify] https://crrev.com/21092a421cede9e75d24044c840b99c2924d0c5a/build/config/compiler/compiler.gni

Comment 10 by tikuta@chromium.org, Jan 18 (4 days ago)

Ah, do we need to enable lld for libassistant not to use os default linker too?
One difference between my machine and bot I come up with is difference of linker.

Sign in to add a comment