Build Chrome with libc++ |
||||||||
Issue descriptionAs part of migrating to libc++, we plan to migrate chrome first before the rest of ChromeOS. This will unlobck any Chromium devs to use c++14 features etc.
,
Oct 4 2017
Started some daily testing jobs for Chrome + libc++.
,
Oct 11 2017
The following revision refers to this bug: https://chromium.googlesource.com/chromiumos/overlays/chromiumos-overlay/+/3c6389b563d6897f11afb118fd0e7cc8d170dbef commit 3c6389b563d6897f11afb118fd0e7cc8d170dbef Author: Manoj Gupta <manojgupta@google.com> Date: Wed Oct 11 02:49:37 2017 libc++: Add gcc-libs dependency for non cros_host builds. Building libc++ libraries need system headers. These are provided by gcc-libs package on target builds so add it as a dependency. BUG= chromium:724628 BUG= chromium:769439 TEST=emerge-kevin -e libcxx pulls in gcc-libs. Change-Id: Iedeb9c982747bd8674ae112ac47745e28f5d45e7 Reviewed-on: https://chromium-review.googlesource.com/710216 Commit-Ready: Manoj Gupta <manojgupta@chromium.org> Tested-by: Manoj Gupta <manojgupta@chromium.org> Reviewed-by: Mike Frysinger <vapier@chromium.org> [modify] https://crrev.com/3c6389b563d6897f11afb118fd0e7cc8d170dbef/sys-libs/libcxxabi/libcxxabi-9999.ebuild [rename] https://crrev.com/3c6389b563d6897f11afb118fd0e7cc8d170dbef/sys-libs/libcxx/libcxx-4.0.0-r10.ebuild
,
Oct 15 2017
The following revision refers to this bug: https://chromium.googlesource.com/chromiumos/overlays/chromiumos-overlay/+/150e5b2d0381a69bd8b89b0ea037a103814825be commit 150e5b2d0381a69bd8b89b0ea037a103814825be Author: Manoj Gupta <manojgupta@google.com> Date: Sat Oct 14 02:43:03 2017 libc++: Add lib++ lib dependency in ChromeOS. We want to build chrome with libc++. To do so, add libc++ libraries to implicit-system dependencies. BUG= chromium:724628 BUG= chromium:769439 TEST=./build_packages builds libc++abi/libc++ packages. Change-Id: Iaa7ea27c0167c26c00ccf9a32bad7d4d7a28230d Reviewed-on: https://chromium-review.googlesource.com/510029 Commit-Ready: Manoj Gupta <manojgupta@chromium.org> Tested-by: Manoj Gupta <manojgupta@chromium.org> Reviewed-by: Mike Frysinger <vapier@chromium.org> [modify] https://crrev.com/150e5b2d0381a69bd8b89b0ea037a103814825be/virtual/implicit-system/implicit-system-1.ebuild [rename] https://crrev.com/150e5b2d0381a69bd8b89b0ea037a103814825be/virtual/implicit-system/implicit-system-1-r2.ebuild
,
Oct 15 2017
The following revision refers to this bug: https://chromium.googlesource.com/chromiumos/overlays/chromiumos-overlay/+/429a4ea8df2325bbdd5cc49e5c3aba765189e857 commit 429a4ea8df2325bbdd5cc49e5c3aba765189e857 Author: Manoj Gupta <manojgupta@google.com> Date: Sat Oct 14 21:54:17 2017 Chrome: Add deps on libc++ packages. Add libc++ dependencies to chrome ebuild if libcxx USE flag is set. BUG= chromium:769439 TEST=USE="libcxx" emerge-kevin chromeos-chrome pulls in libc++ packages. Change-Id: I985a92dfc63624d32ef2f8df7ebaee49ae5107e4 Reviewed-on: https://chromium-review.googlesource.com/719774 Commit-Ready: Manoj Gupta <manojgupta@chromium.org> Tested-by: Manoj Gupta <manojgupta@chromium.org> Reviewed-by: Mike Frysinger <vapier@chromium.org> [modify] https://crrev.com/429a4ea8df2325bbdd5cc49e5c3aba765189e857/chromeos-base/chromeos-chrome/chromeos-chrome-9999.ebuild
,
Oct 23 2017
CL:717537 should enable building chrome with libc++. However, bug 777250 is blocking libc++ migration.
,
Oct 25 2017
The following revision refers to this bug: https://chromium.googlesource.com/chromiumos/overlays/chromiumos-overlay/+/dc70f35175bc4fea0cc0d75f2e3916ce3aa21ad7 commit dc70f35175bc4fea0cc0d75f2e3916ce3aa21ad7 Author: Manoj Gupta <manojgupta@google.com> Date: Wed Oct 25 07:24:53 2017 Chrome: Build with libc++. To start supporting C++14 features and cfi on Chrome, chrome must be built with libc++. This CL only builds Chrome with libc++. Performance and regression testing across with libc++ is fine. BUG= chromium:724628 BUG= chromium:769439 TEST=Chrome with libc++ was mostly tested at: https://uberchromegw.corp.google.com/i/chromiumos.tryserver/builders/llvm_toolchain and the results (incl HWTests) look ok. None of the fails in the tryjobs are related to Chrome/libc++ but are because of other transient issues. Logs for different boards are at: https://docs.google.com/a/google.com/spreadsheets/d/1dg-N1Mzs-KMb2n8h3RA1fhhqRYja9PTO6FfXkZivtjo/edit?usp=sharing Change-Id: I2db24649af71ba82c18ad25681479dda9b871b69 Reviewed-on: https://chromium-review.googlesource.com/717537 Tested-by: Manoj Gupta <manojgupta@chromium.org> Trybot-Ready: Manoj Gupta <manojgupta@chromium.org> Reviewed-by: Caroline Tice <cmtice@chromium.org> [modify] https://crrev.com/dc70f35175bc4fea0cc0d75f2e3916ce3aa21ad7/chromeos-base/chromeos-chrome/chromeos-chrome-9999.ebuild
,
Oct 25 2017
Issue 756020 has been merged into this issue.
,
Oct 25 2017
Issue 576821 has been merged into this issue.
,
Oct 25 2017
thakis@ jbroman@ - Chrome on ChromeOS now uses libc++. Give a few days to ensure that the CL sticks and then feel free to use C++14 features.
,
Oct 25 2017
Wow, great news!
,
Oct 26 2017
,
Oct 26 2017
\o/ Awesome, thanks!
,
Oct 26 2017
Should the bots be respecting the instruction to use a recent libc++ at this point, or are additional changes and/or time required for that? e.g. tryserver.chromium.linux:chromeos_amd64-generic_chromium_compile_only_ng still seems to fail on using heterogeneous associative lookup: https://build.chromium.org/p/tryserver.chromium.linux/builders/chromeos_amd64-generic_chromium_compile_only_ng/builds/443875
,
Oct 26 2017
The builders is still using the toolchain from amd64-generic+10041.0.0. It needs to update to amd64-generic+10066.0.0 to get libc++ enabled Chrome. CCing stevenjb@ who may know more about this.
,
Oct 26 2017
The last green PFQ build was 10065.0.0, so we need to: 1. Wait for a green PFQ build >= 10066.0.0 2. Update CHROMEOS_LKGM to the green version Then the builder should pick up the updated toolchain, assuming that amd64-generic-full has succeeded since 10066.0.0. +jdufault@ (current gardener) who can roll CHROMEOS_LKGM once we get a green PFQ build.
,
Oct 26 2017
> 1. Wait for a green PFQ build >= 10066.0.0 I expect the next PFQ build will be green, so hopefully this can happen today.
,
Oct 27 2017
PFQ is green now. jdufault@ : Is the CHROMEOS_LKGM roll done?
,
Oct 27 2017
,
Oct 27 2017
Great, Thanks!
,
Oct 28 2017
Confirmed that both release builders and SimpleChrome workflow is now using libc++. |
||||||||
►
Sign in to add a comment |
||||||||
Comment 1 by bugdroid1@chromium.org
, Oct 1 2017