New issue
Advanced search Search tips

Issue 674175 link

Starred by 1 user

Issue metadata

Status: Verified
Owner:
Closed: May 2017
EstimatedDays: ----
NextAction: ----
OS: Chrome
Pri: 3
Type: Bug

Blocked on:
issue 709590



Sign in to add a comment

Use llvm to build host packages.

Project Member Reported by yunlian@chromium.org, Dec 14 2016

Issue description

We need to use llvm as the default compiler for ChromeOS host packages.

 
Blockedon: 709590
Project Member

Comment 2 by bugdroid1@chromium.org, Apr 8 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromiumos/overlays/portage-stable/+/47826c59304aa77f32e9f6f355be155ef8865ae6

commit 47826c59304aa77f32e9f6f355be155ef8865ae6
Author: Yunlian Jiang <yunlian@google.com>
Date: Sat Apr 08 22:56:37 2017

bin86: upgrade to 0.16.21

We want to use llvm as the default host compiler. Current
bin86 cannot be built with llvm, while the latest stable in
upstream gentoo can.

BUG= chromium:674175 
TEST=sudo emerge bin86
     sudo CC=clang CXX=clang++ emerge bin86 builds with clang.
     cbuildbot chromiumos-sdk falco-release elm-release

Change-Id: I65bc0980a9d410907bbef6073b86168ff815254e
Reviewed-on: https://chromium-review.googlesource.com/471133
Commit-Ready: Yunlian Jiang <yunlian@chromium.org>
Tested-by: Yunlian Jiang <yunlian@chromium.org>
Reviewed-by: Mike Frysinger <vapier@chromium.org>

[modify] https://crrev.com/47826c59304aa77f32e9f6f355be155ef8865ae6/sys-devel/bin86/Manifest
[modify] https://crrev.com/47826c59304aa77f32e9f6f355be155ef8865ae6/sys-devel/bin86/metadata.xml
[delete] https://crrev.com/e9966914d140c14e2c5e741ff49a81e697f1cdec/sys-devel/bin86/files/bin86-0.16.18-headers.patch
[add] https://crrev.com/47826c59304aa77f32e9f6f355be155ef8865ae6/sys-devel/bin86/bin86-0.16.21.ebuild
[delete] https://crrev.com/e9966914d140c14e2c5e741ff49a81e697f1cdec/sys-devel/bin86/bin86-0.16.17.ebuild

Blockedon: 719020
Blockedon: -719020
Project Member

Comment 5 by bugdroid1@chromium.org, May 7 2017

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

commit 6313db0585de1e9d612ac73245d815cc7dc5b748
Author: Caroline Tice <cmtice@google.com>
Date: Sun May 07 23:26:04 2017

Update SDK packages that need to build with GCC.

As part of migrating the host compiler from GCC to LLVM, some
SDK packages do not build with LLVM, so we need to force those
packages to build with GCC, at least for the SDK. This CL does
that.  Once the host compiler is switched, we will investigate
getting these packages to build with clang.

BUG= chromium:674175 
TEST=Currently testing with various buildbots.

Change-Id: I1b2d3ef390b775937b186bcb5b09053821cde4b4
Reviewed-on: https://chromium-review.googlesource.com/482475
Commit-Ready: Caroline Tice <cmtice@chromium.org>
Tested-by: Caroline Tice <cmtice@chromium.org>
Reviewed-by: Manoj Gupta <manojgupta@chromium.org>

[add] https://crrev.com/6313db0585de1e9d612ac73245d815cc7dc5b748/chromeos/config/env/chromeos-base/libbrillo
[modify] https://crrev.com/6313db0585de1e9d612ac73245d815cc7dc5b748/chromeos/config/env/sys-libs/glibc
[rename] https://crrev.com/6313db0585de1e9d612ac73245d815cc7dc5b748/sys-libs/glibc/glibc-2.23-r6.ebuild
[modify] https://crrev.com/6313db0585de1e9d612ac73245d815cc7dc5b748/dev-lang/go/go-1.8.1.ebuild
[add] https://crrev.com/6313db0585de1e9d612ac73245d815cc7dc5b748/chromeos/config/env/dev-util/hdctools
[modify] https://crrev.com/6313db0585de1e9d612ac73245d815cc7dc5b748/sys-devel/gcc/gcc-9999.ebuild
[add] https://crrev.com/6313db0585de1e9d612ac73245d815cc7dc5b748/chromeos/config/env/sys-firmware/ipxe
[add] https://crrev.com/6313db0585de1e9d612ac73245d815cc7dc5b748/chromeos/config/env/dev-libs/crypto++
[add] https://crrev.com/6313db0585de1e9d612ac73245d815cc7dc5b748/chromeos/config/env/chromeos-base/system_api
[modify] https://crrev.com/6313db0585de1e9d612ac73245d815cc7dc5b748/chromeos/config/env/sys-boot/grub
[add] https://crrev.com/6313db0585de1e9d612ac73245d815cc7dc5b748/chromeos/config/env/chromeos-base/metrics
[add] https://crrev.com/6313db0585de1e9d612ac73245d815cc7dc5b748/chromeos/config/env/x11-libs/gdk-pixbuf
[add] https://crrev.com/6313db0585de1e9d612ac73245d815cc7dc5b748/chromeos/config/env/sys-devel/dev86
[add] https://crrev.com/6313db0585de1e9d612ac73245d815cc7dc5b748/chromeos/config/env/chromeos-base/chromeos-dbus-bindings
[modify] https://crrev.com/6313db0585de1e9d612ac73245d815cc7dc5b748/chromeos/config/env/dev-libs/glib
[add] https://crrev.com/6313db0585de1e9d612ac73245d815cc7dc5b748/chromeos/config/env/chromeos-base/bootstat
[rename] https://crrev.com/6313db0585de1e9d612ac73245d815cc7dc5b748/sys-libs/compiler-rt/compiler-rt-5.0_pre300080-r2.ebuild
[add] https://crrev.com/6313db0585de1e9d612ac73245d815cc7dc5b748/chromeos/config/env/sys-kernel/linux-headers
[rename] https://crrev.com/6313db0585de1e9d612ac73245d815cc7dc5b748/dev-lang/go/go-1.8.1-r2.ebuild
[rename] https://crrev.com/6313db0585de1e9d612ac73245d815cc7dc5b748/sys-kernel/linux-headers/linux-headers-4.4-r3.ebuild
[rename] https://crrev.com/6313db0585de1e9d612ac73245d815cc7dc5b748/sys-devel/binutils/binutils-2.25.51-r65.ebuild
[add] https://crrev.com/6313db0585de1e9d612ac73245d815cc7dc5b748/chromeos/config/env/chromeos-base/update_engine
[add] https://crrev.com/6313db0585de1e9d612ac73245d815cc7dc5b748/chromeos/config/env/chromeos-base/libchrome

Project Member

Comment 6 by bugdroid1@chromium.org, May 8 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromiumos/platform/crosutils/+/d810b5a4cf0b9fb06dd550846a4de4489ce18ed8

commit d810b5a4cf0b9fb06dd550846a4de4489ce18ed8
Author: Caroline Tice <cmtice@google.com>
Date: Mon May 08 06:03:28 2017

Switch default SDK compiler to clang.

This CL is part of the migration of the SDK default compiler from
GCC to clang.  It updates the function that generates
/etc/make.conf.host_setup to allow it to specify whether or not to force
CC/CXX to be clang.  If the argument is passed to do this, then it appends
the appropriate CC=... and CXX=... to the end of make.conf.host_setup.
It also updates the places that call the function, to pass the appropriate
arguments.

BUG= chromium:674175 
CQ-DEPEND=CL:482475
TEST=Currently testing with various buildbots.

Change-Id: I2df399ecca9bec38cff9a16596d26fb8227360f4
Reviewed-on: https://chromium-review.googlesource.com/481864
Commit-Ready: Caroline Tice <cmtice@chromium.org>
Tested-by: Caroline Tice <cmtice@chromium.org>
Reviewed-by: Mike Frysinger <vapier@chromium.org>

[modify] https://crrev.com/d810b5a4cf0b9fb06dd550846a4de4489ce18ed8/sdk_lib/make_conf_util.sh

Owner: cmt...@chromium.org
Tried to upgrade glib and gdk-pixbuf to latest gentoo stable. But the packages do not build, as they require newer eclasses and also some local patches for cros_host. 

Comment 9 by cmt...@chromium.org, May 15 2017

Status: Fixed (was: Untriaged)
Project Member

Comment 10 by bugdroid1@chromium.org, May 19 2017

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

commit ab6484512efbc59a79d6d04ea1f57661c065e018
Author: Rahul Chaudhry <rahulchaudhry@chromium.org>
Date: Fri May 19 20:58:01 2017

dev-lang/go: use tc-getTARGET_CC/CXX to get the cross compilers.

For Go cross compilers (cross-x86_64-cros-linux-gnu/go and
cross-armv7a-cros-linux-gnueabi/go), when CC is set to clang:
1) We need to build the bootstrap compiler (Go 1.4) with host clang.
2) We need to cross-compile Cgo parts of the standard library with
   the appropriate cross-clang.
3) We need to embed the name of the cross-clang into the installed
   compiler wrappers, so Cgo code in other packages also uses the
   appropriate cross-clang.

BUG= chromium:674175 
TEST='sudo emerge dev-lang/go' works.
TEST='sudo emerge cross-x86_64-cros-linux-gnu/go' works.
TEST='sudo emerge cross-armv7a-cros-linux-gnueabi/go' works.
TEST='sudo CC=gcc CXX=g++ emerge dev-lang/go' works.
TEST='sudo CC=gcc CXX=g++ emerge cross-x86_64-cros-linux-gnu/go' works.
TEST='sudo CC=gcc CXX=g++ emerge cross-armv7a-cros-linux-gnueabi/go' works.
TEST='sudo CC=clang CXX=clang++ emerge dev-lang/go' works.
TEST='sudo CC=clang CXX=clang++ emerge cross-x86_64-cros-linux-gnu/go' works.
TEST='sudo CC=clang CXX=clang++ emerge cross-armv7a-cros-linux-gnueabi/go' works.

Change-Id: I5ff8044dd9d5a0de97d6186c2e890a4355b70405
Reviewed-on: https://chromium-review.googlesource.com/498147
Commit-Ready: Rahul Chaudhry <rahulchaudhry@chromium.org>
Tested-by: Rahul Chaudhry <rahulchaudhry@chromium.org>
Reviewed-by: Mike Frysinger <vapier@chromium.org>

[modify] https://crrev.com/ab6484512efbc59a79d6d04ea1f57661c065e018/dev-lang/go/go-1.8.1.ebuild
[rename] https://crrev.com/ab6484512efbc59a79d6d04ea1f57661c065e018/dev-lang/go/go-1.8.1-r3.ebuild
[modify] https://crrev.com/ab6484512efbc59a79d6d04ea1f57661c065e018/eclass/toolchain-funcs.eclass

Project Member

Comment 11 by bugdroid1@chromium.org, May 19 2017

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

commit db14880a1b1129f8810bce6f351dbdae862804c1
Author: Rahul Chaudhry <rahulchaudhry@chromium.org>
Date: Fri May 19 23:23:37 2017

sys-devel/binutils: update -9999 ebuild.

A recent change (https://chromium-review.googlesource.com/#/c/482475)
modified binutils-2.25.51 ebuild but didn't make the corresponding
change in the -9999 ebuild.

BUG= chromium:674175 
TEST=None

Change-Id: Ifdba8917dc24d3c8f6bbad58447f8034fe0141e4
Reviewed-on: https://chromium-review.googlesource.com/505335
Commit-Ready: Rahul Chaudhry <rahulchaudhry@chromium.org>
Tested-by: Rahul Chaudhry <rahulchaudhry@chromium.org>
Reviewed-by: Mike Frysinger <vapier@chromium.org>

[modify] https://crrev.com/db14880a1b1129f8810bce6f351dbdae862804c1/sys-devel/binutils/binutils-9999.ebuild
[rename] https://crrev.com/db14880a1b1129f8810bce6f351dbdae862804c1/sys-devel/binutils/binutils-2.25.51-r66.ebuild

Project Member

Comment 12 by bugdroid1@chromium.org, May 24 2017

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

commit 68a64f790451c72c7fcb70b1f8f417a336e0ff41
Author: Rahul Chaudhry <rahulchaudhry@chromium.org>
Date: Wed May 24 21:24:05 2017

toolchain-funcs: strip "${CHOST}-" prefix in tc-getTARGET_PROG().

BUG= chromium:674175 
TEST='sudo emerge dev-lang/go' works.
TEST='sudo emerge cross-x86_64-cros-linux-gnu/go' works.
TEST='sudo emerge cross-armv7a-cros-linux-gnueabi/go' works.

Change-Id: Ib08ba1baae8cdfda0e2dedb6da193f41f3579e63
Reviewed-on: https://chromium-review.googlesource.com/513245
Commit-Ready: Rahul Chaudhry <rahulchaudhry@chromium.org>
Tested-by: Rahul Chaudhry <rahulchaudhry@chromium.org>
Reviewed-by: Caroline Tice <cmtice@chromium.org>

[modify] https://crrev.com/68a64f790451c72c7fcb70b1f8f417a336e0ff41/eclass/toolchain-funcs.eclass

Labels: VerifyIn-61
Status: Verified (was: Fixed)
Closing. Please reopen it if its not fixed. Thanks!

Sign in to add a comment