New issue
Advanced search Search tips

Issue 915742 link

Starred by 1 user

Issue metadata

Status: Verified
Owner:
Closed: Dec 24
Components:
EstimatedDays: ----
NextAction: ----
OS: Chrome
Pri: 2
Type: Bug
Build-Toolchain



Sign in to add a comment

llvm: lakitu fails in BuildPackages when building with llvm-next

Project Member Reported by cmt...@chromium.org, Dec 17

Issue description

Using llvm-next, Lakitu builder failed in BuildPackages, attempting to build next-fs/autofs and app-editors/vim-core

The builder is here: 

https://cros-goldeneye.corp.google.com/chromeos/healthmonitoring/buildDetails?buildbucketId=8926959515655161392

The BuildPackages log is here:
https://luci-logdog.appspot.com/logs/chromeos/buildbucket/cr-buildbucket.appspot.com/8926959515655161392/+/steps/BuildPackages/0/stdout


 
This is caused by the clang's "-faddrsig" option (used for supporting an efficient "-icf=all") which produces sections that binutils strip does not understand.
This causes strip to fail for some objects.
Passing "-fno-addrsig" fixes the failures.

I already disable it for host wrapper previously but I think we should disable this in our wrapper for target builds as well. And turn it "ON" explicitily only for Chrome. 
sounds like a good plan, but lets make sure that we have a bug to re-enable this after we do the binutils transition.
I think we are only using icf for chrome. Correct?
Do we have a bug for binutils transition, I can add a blocker bug there to re-enable "-faddrsig" flag.

AFAIK, Chrome is the only  user of "--icf=all" in Chrome OS.
no, we dont have a master bug. Mind creating one?


Project Member

Comment 5 by bugdroid1@chromium.org, Dec 18

The following revision refers to this bug:
  https://chromium.googlesource.com/chromiumos/overlays/chromiumos-overlay/+/c97ff3dc12a4073532522df1de359282b3364261

commit c97ff3dc12a4073532522df1de359282b3364261
Author: Manoj Gupta <manojgupta@google.com>
Date: Tue Dec 18 08:43:01 2018

sysroot_wrapper: Add "-fno-addrsig" to clang options.

clang upstream now enables -faddrsig option as default
which produces sections that binutils strip does not understand.
This causes strip to fail for some objects and leave a bunch of stray
object files installed to the chroot.

This option is to efficiently enable "-icf=all" linker option but
there is no use of "-icf=all" except Chrome. So let's drop this
option from the target wrapper.

BUG= chromium:915742 
TEST=emerge-lakitu autofs works.

Change-Id: Ib2840774b565f484c04d70b4c0206f54fb763bd1
Reviewed-on: https://chromium-review.googlesource.com/1380855
Commit-Ready: ChromeOS CL Exonerator Bot <chromiumos-cl-exonerator@appspot.gserviceaccount.com>
Tested-by: Manoj Gupta <manojgupta@chromium.org>
Reviewed-by: Caroline Tice <cmtice@chromium.org>

[modify] https://crrev.com/c97ff3dc12a4073532522df1de359282b3364261/sys-devel/gcc/files/sysroot_wrapper.hardened.flags
[modify] https://crrev.com/c97ff3dc12a4073532522df1de359282b3364261/sys-devel/gcc/gcc-9999.ebuild

Status: Verified (was: Untriaged)
Project Member

Comment 7 by bugdroid1@chromium.org, Dec 29

The following revision refers to this bug:
  https://chromium.googlesource.com/chromiumos/overlays/chromiumos-overlay/+/648f9c341b05d84771ece725c2814e4b82de5f2c

commit 648f9c341b05d84771ece725c2814e4b82de5f2c
Author: Manoj Gupta <manojgupta@google.com>
Date: Sat Dec 29 23:13:26 2018

chromeos-chrome: Add "-faddrsig" compiler option.

"-faddrsig" is required to efficiently support "--icf=all" linker
flag.

BUG= chromium:915742 
TEST=emerge-kevin chromeos-chrome works.

Change-Id: Ic51ad79d1efb7bfc9ffbe43faba2fa7a15f810e4
Reviewed-on: https://chromium-review.googlesource.com/1380856
Commit-Ready: Manoj Gupta <manojgupta@chromium.org>
Tested-by: Manoj Gupta <manojgupta@chromium.org>
Reviewed-by: Caroline Tice <cmtice@chromium.org>
Reviewed-by: Mike Frysinger <vapier@chromium.org>

[modify] https://crrev.com/648f9c341b05d84771ece725c2814e4b82de5f2c/chromeos-base/chromeos-chrome/chromeos-chrome-9999.ebuild

Sign in to add a comment