Switch chrome/linux to libc++ |
|||||||||||||||||||||||||||||||||
Issue descriptionWe currently use the system libstdc++ on Linux, which is currently at 4.6. That has most C++11 stuff, but not all. Notably absent: * A bunch of type_traits are missing * Too many memory barriers slowing down perf ( bug 592903 , https://codereview.chromium.org/1777363002/, etc) We want to up the linux min version soon, so I suppose we could wait for that. Or we could try to statically link libc++...this should probably mostly work fine (things will be similar to the situation on Mac: https://docs.google.com/document/d/1cFVCLYqpVV0pn2aX09SALcE3BN351sFN_rTcPcHRg3U/edit?pref=2&pli=1 -- as long as we don't call C++ system libraries we should be fine). Decide if things are dire enough that we need to do something, and if so, what.
,
Mar 11 2016
I believe the plan is to: 1) upgrade our bots to Trusty (bug 564904) 2) update the sysroot to something newer (here's an attempt: https://codereview.chromium.org/1665223002/ )
,
Mar 11 2016
A couple other things that are missing: * operator<, operator>, operator<=, and operator>= comparisons between std::unique_ptr and std::nullptr_t. * no emplace on std::map and std::unordered_map.
,
Mar 18 2016
Precise topped out at libstdc++4.6, but Trusty has libstdc++4.8. Wheezy apparently got up to libstdc++4.7 (Ubuntu, why can't you pick this up for Precise?), and jessie has libstdc++4.9.2. Chrome is dropping support for precise/wheezy, and the installer for Chrome on Linux is checking for libstdc++ >= 4.8 right now (see Issue 582216 and Issue 583235 ). But Chromium is not dropping support for these platforms. To enforce this there are still 64bit Precise builders, which I assume are so that Ubuntu can still build/distrubute Chromium for Precise. Since Precise is alive until April 2017, and given the normal Chromium release schedule, Chromium will be stuck with libstdc++4.6 until at least the first Chromium branch in 2017 (so at something like M58 or soon after Chromium can finally make it to... libstdc++4.8). This is at least a little bit uncomfortable, since it means that third party also cannot use these traits until then as well. I was just bitten by the lack of std::underlying_type. As an aside, Precise did not ship a libc++ package. Debian didn't package up libc++ until late 2012. Also, this isn't going to get any better in the future if we're going to support Ubuntu releases and their libstdc++, it is always going to be five years out of date. The immediate problem of libstdc++4.6 is over a year from now, but with the current plan Chromium will be limited to libstdc++4.8 until 2019 (at which point Chromium will get to experience libstdc++5.3 until 2021 because Xenial won't ship with gcc6).
,
Mar 18 2016
IMHO what we should look at is what problems there would be using libc++-static in Linux builds, since we already use Clang for all Linux builds. If there are no specific reasons not to use libc++-static, then we should just do it to simplify life in the project. The only things that would be reasons not to use it (that I can think of) are: 1. libc++ has some bugs on Linux (that it doesn't have on Mac, where we already use it). For those we should just work on getting upstream fixes in. 2. We're using some system-supplied library with a C++ interface. If this is something we do, then we'll have to look at each such case in detail to figure out the issues. Hopefully we just don't do it at all. If we do, then perhaps it's a C++ interface that is "pure" in the sense of not using STL types and such in the library's ABI; in that case, it shouldn't be any problem.
,
Mar 18 2016
Item 2 from #5 should be addressed by the recently-proposed switch to a different vtable ABI in https://groups.google.com/a/chromium.org/forum/#!topic/chromium-dev/774FO8shGw4 so that work is already being done (if we adopt that proposal) and in any case it doesn't look like it would be a big deal.
,
Mar 19 2016
Just wanted to add to my above comment about Ubuntu Precise support. As far as I can tell, the 'official' Ubuntu Precise Chromium repository no longer receives 'major' updates, and is actually Chromium 37 with 'security patches' (I'm really trying not to laugh at this, but failing). Is there some reason to support Precise anymore in Chromium if Ubuntu isn't building it? Note that this is all applicable to Debian wheezy as well. If the only reason to continue to support Chromium on Precise/wheezy is so the distros can build it... well they aren't building it. If there are other reasons I'd be interested to know what they are.
,
Mar 20 2016
See "[chromium-dev] Updates to Google Chrome Linux support" """To provide the best experience for the most-used Linux versions, we will end support for Google Chrome on 32-bit Linux, Ubuntu Precise (12.04), and Debian 7 (wheezy) in early March, 2016. Chrome will continue to function on these platforms but will no longer receive updates and security fixes.""" So we don't intend to support Precise until EOL. I don't know when we're rebuilding sysroots for that, or how, though. (and sbc and thestig, who know, are both away atm. maybe dpranke knows?) Re comment 6: I think the vtable ABI stuff is independent from what comment 5 means. If we use a system lib via a c++ interface and pass a std::string to it, then the system lib will be built against libstdc++ headers but chrome might be built against libc++ headers, and these two std::strings aren't abi compatible (see also the document linked in comment 0 that describes this in some detail).
,
Apr 26 2016
,
Apr 26 2016
,
May 11 2016
Found another thing that doesn't work:
void F(const std::vector<int>& x);
void G() {
F({1});
}
doesn't compile with 4.6 in debug mode with an error like the one in https://bugs.chromium.org/p/chromium/issues/detail?id=381053
,
Jun 13 2016
I think we should explore statically linking libc++ and see how that goes.
,
Jul 20 2016
,
Sep 1 2016
,
Sep 7 2016
What's the status here? It's been another 3 months. :)
,
Sep 7 2016
It'll get done if someone does it. (I started a doc with a few notes early last week -- https://docs.google.com/document/u/1/d/1zmHUXlpGNXB433wHnr40dLwj7c-USsIVlyAeH7vOI9o/edit# -- maybe it'll go somewhere eventually, or someone else will beat me to it)
,
Sep 7 2016
,
Sep 30 2016
FYI, the C++11 addition to std::vector::erase of being able to take const_iterators is broken on linux. See https://codereview.chromium.org/2379863002/#ps100001: ../../ui/base/models/tree_node_model.h:96:15: error: no matching member function for call to 'erase' children_.erase(i); ~~~~~~~~~~^~~~~ ../../ui/base/models/tree_node_model_unittest.cc:276:39: note: in instantiation of member function 'ui::TreeNode<ui::TreeNodeWithValue<int> >::Remove' requested here std::unique_ptr<TestNode> c2 = root.Remove(child2); ^ ../../build/linux/debian_wheezy_amd64-sysroot/usr/lib/gcc/x86_64-linux-gnu/4.6/../../../../include/c++/4.6/bits/stl_vector.h:986:7: note: candidate function not viable: no known conversion from '__normal_iterator<const std::unique_ptr<ui::TreeNodeWithValue<int>, std::default_delete<ui::TreeNodeWithValue<int> > > *, [...]>' to '__normal_iterator<pointer, [...]>' for 1st argument erase(iterator __position); ^ ../../build/linux/debian_wheezy_amd64-sysroot/usr/lib/gcc/x86_64-linux-gnu/4.6/../../../../include/c++/4.6/bits/stl_vector.h:1007:7: note: candidate function not viable: requires 2 arguments, but 1 was provided erase(iterator __first, iterator __last); It only is considering the iterator overloads, and doesn't have const_iterator overloads.
,
Oct 20 2016
I hit it again: In https://chromiumcodereview.appspot.com/2436023002 a multimap is used, which has no operator[], so the fact that insert and emplace are broken for move-only types is a killer. In https://chromiumcodereview.appspot.com/2441643002 a map is used, but the value is a move-only class. Why unique_ptr is OK in those maps on Linux, but a user-defined move-only type isn't I don't understand.
,
Oct 20 2016
,
Oct 20 2016
> In https://chromiumcodereview.appspot.com/2441643002 a map is used, but the > value is a move-only class. Why unique_ptr is OK in those maps on Linux, but a > user-defined move-only type isn't I don't understand. Is it JobQueue? Because it deletes the copy constructor but doesn't add a move constructor so it's not movable.
,
Oct 29 2016
Dana, I missed your comment when you posted it; let me investigate your suggestion.
,
Oct 29 2016
Dana, your suggestion re JobQueue appears to have been correct; thank you!
,
Dec 14 2016
FYI, I have found alternative approaches for all my CLs. I am no longer blocked on this issue.
,
Feb 4 2017
OK, so the current plan is the following: 1) We build a static archive of libc++ and libc++abi, and add it to the checkout, alongside the Clang binaries. We do this for x86_32 and x86_64 targets on Linux. For other platforms the assumption is that people need to have libc++ and libc++abi installed on their systems, so that "-lc++ -lc++abi" works. 2) We modify the build configs on Linux to use libc++ headers, and link with libc++ and libc++abi statically. 3) We make sure that it doesn't break other platforms, and also that sanitizers still work.
,
Feb 4 2017
IMHO the arm and aarch64 Linux targets should get libc++{,abi} binaries built too. Upstream support for those should be fine, and these are the other Linux targets for which building Chromium with Chromium-supplied Clang works today.
,
Feb 4 2017
eugenis@ floated an idea that (if I understood him correctly) instead of the plan above, we just ship libc++ and libc++abi in third_party, and write BUILD.gn for them. this would solve the problem of libc++ availability on all platforms, and probably make it a bit simpler conceptually and in maintenance. wdyt?
,
Feb 4 2017
That approach would be an simpler for cases like (IIRC) msan, where the C++ stdlib has to be built with the instrumentation (unlike e.g. asan). Of course you could do multiple prebuilt libc++ binaries (like the zoo of compiler_rt binaries that clang already has), but that would be more to manage on the clang side. Of course with the GN approach, you would actually have to compile all those files (many of which may be unused by Chromium) on every build, although I suppose goma would mitigate that.
,
Feb 4 2017
What is the minimum version of libstdc++ that we need? We're planning on switching the sysroot from Wheezy to Jessie once the remaining tryserver.chromium.linux slaves are upgraded to Trusty (bug 666825). When this happens, we'll be using libstdc++4.9.2 instead of libstdc++4.7. If 4.9.2 is all we need, this could save someone a lot of time.
,
Feb 6 2017
,
Feb 6 2017
std::is_trivially_copyable is not available until 5+ I believe: https://cs.chromium.org/chromium/src/base/template_util.h?rcl=21b6f3db42a1ff35b33993812b2fd851922c4770&l=36 Many other things are better in 4.9: https://cs.chromium.org/chromium/src/base/template_util.h?rcl=21b6f3db42a1ff35b33993812b2fd851922c4770&l=17 I'm not sure if 4.9 addresses other problems such as missing emplace() on map or vector::erase(const iterator).
,
Feb 7 2017
I was investigating the possibility of following the approach described in #27. The difficulty here is that we need some target that all Chrome targets depend on to depend on the libc++ target, so that it is available during linking. Does there exist such a target? The only thing I found is the deps option of the toolchain definition[1], but it doesn't seem to be used in Chrome so far, I'm not sure if it actually solves my problem, and there are same caveats in the doc that suggest it might not be the best idea. The way it currently works for //buildtools/third_party/libc++ is that every binary needs to explicitly depend on //build/config/sanitizers:deps. [1] - https://chromium.googlesource.com/chromium/src/+/master/tools/gn/docs/reference.md#toolchain_Defines-a-toolchain
,
Mar 31 2017
,
Apr 4 2017
@danakj: You are right, std::is_trivially_copyable is still not implemented in 4.9: https://gcc.gnu.org/onlinedocs/gcc-4.9.0/libstdc++/api/a01562_source.html#l00592 However, things are better with last week's sysroot update. We now have access to libstdc++4.8, meaning features like std::is_assignable (https://gcc.gnu.org/onlinedocs/gcc-4.8.0/libstdc++/api/a01609_source.html#l01097) and std::map::emplace (https://gcc.gnu.org/onlinedocs/gcc-4.8.0/libstdc++/api/a01557_source.html#l00520). Nevertheless, std::vector::erase(const_iterator) is only available in libstdc++4.9, so I am very curious to find out how to get libstdc++4.9.2 to work with Jessie.
,
Apr 4 2017
Retitling; I think we're pretty sure by now that we want to statically link to libc++ at this point. xyzzyz did a bunch of work on this, but he's since moved on to other projects. If anyone wants to take this over, let me know and I can give you the current state. Else, I'll get to it eventually.
,
Apr 4 2017
,
Apr 4 2017
I'm not volunteering (at least not for the entire task), but I would be very interested in a status report and estimated timeline looking forward.
,
May 16 2017
,
May 16 2017
,
May 19 2017
,
May 19 2017
,
May 24 2017
,
May 24 2017
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/1899d987d016dc588d677d7a8b851379aca2bdaa commit 1899d987d016dc588d677d7a8b851379aca2bdaa Author: thomasanderson <thomasanderson@chromium.org> Date: Wed May 24 18:31:49 2017 Fix nullptr dereference of ToolbarActionView BrowserActionsBarBrowserTest.OverflowedBrowserActionPopupTestRemoval fails when using the latest libc++ and libc++abi [1]. Frame 20 in the stack trace in [2] nulls the pointer but did not remove the ToolbarActionView from the vector (yet). Frame 3 then tries to use the null pointer. This CL is necessary to roll buildtools (contains libc++ and libc++abi) to the latest revision. [1] https://codereview.chromium.org/2888383005/ [2] https://paste.googleplex.com/5158886495485952 BUG= 593874 , 717554 TBR=finnur@chromium.org Review-Url: https://codereview.chromium.org/2901193002 Cr-Commit-Position: refs/heads/master@{#474364} [modify] https://crrev.com/1899d987d016dc588d677d7a8b851379aca2bdaa/chrome/browser/ui/views/toolbar/browser_actions_container.cc
,
May 24 2017
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/2064d334c9817b83d54f945e03edd2c7e626b128 commit 2064d334c9817b83d54f945e03edd2c7e626b128 Author: thomasanderson <thomasanderson@chromium.org> Date: Wed May 24 21:14:57 2017 Roll buildtools to 57c9408 This is needed to pick up: https://codereview.chromium.org/2897463004 https://codereview.chromium.org/2848383002 CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.linux:linux_chromium_msan_rel_ng;master.tryserver.chromium.linux:linux_chromium_ubsan_rel_ng BUG= 593874 , 709456 R=thestig@chromium.org Review-Url: https://codereview.chromium.org/2888383005 Cr-Commit-Position: refs/heads/master@{#474425} [modify] https://crrev.com/2064d334c9817b83d54f945e03edd2c7e626b128/DEPS
,
May 25 2017
,
May 26 2017
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/f59081471b68cb0a0c484fe9c9c3b8a1f7f2d122 commit f59081471b68cb0a0c484fe9c9c3b8a1f7f2d122 Author: thomasanderson <thomasanderson@chromium.org> Date: Fri May 26 20:01:39 2017 Partition libcxx build code from build/config/sanitizers This CL: * Removes the last dependency on sanitizers:deps_no_options and replaces it with exe_and_shlib_deps * Merges sanitizers:deps and sanitizers:deps_no_options * Adds a weak symbol for NaCl to override the default sanitizer options BUG= 593874 R=thakis@chromium.org,bradnelson@chromium.org CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.linux:linux_chromium_msan_rel_ng;master.tryserver.chromium.linux:linux_chromium_ubsan_rel_ng;master.tryserver.chromium.mac:mac_chromium_asan_rel_ng Review-Url: https://codereview.chromium.org/2911513002 Cr-Commit-Position: refs/heads/master@{#475093} [modify] https://crrev.com/f59081471b68cb0a0c484fe9c9c3b8a1f7f2d122/build/config/BUILD.gn [modify] https://crrev.com/f59081471b68cb0a0c484fe9c9c3b8a1f7f2d122/build/config/sanitizers/BUILD.gn [modify] https://crrev.com/f59081471b68cb0a0c484fe9c9c3b8a1f7f2d122/build/sanitizers/sanitizer_options.cc [modify] https://crrev.com/f59081471b68cb0a0c484fe9c9c3b8a1f7f2d122/components/nacl/loader/BUILD.gn [modify] https://crrev.com/f59081471b68cb0a0c484fe9c9c3b8a1f7f2d122/components/nacl/loader/nacl_helper_linux.cc
,
Jun 2 2017
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/e8b52c26834fbeba662c6cf0073d88aefb7907a8 commit e8b52c26834fbeba662c6cf0073d88aefb7907a8 Author: thomasanderson <thomasanderson@chromium.org> Date: Fri Jun 02 05:46:04 2017 Roll buildtools to 31d4da This CL rolls in the following changes: https://chromium.googlesource.com/chromium/buildtools/+/3b8de5198d784fe2b7cc9f75dcf2ca8eb616a81e..31d4daad5d9af672d4e234570a24f3fd844bb713 The last reference to //build/config/compiler:pthread is removed, so this CL also removes the config. R=thakis@chromium.org,brettw@chromium.org BUG= 593874 CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.linux:linux_chromium_msan_rel_ng;master.tryserver.chromium.linux:linux_chromium_ubsan_rel_ng;master.tryserver.chromium.linux:linux_chromium_dbg_ng;master.tryserver.chromium.mac:mac_chromium_asan_rel_ng Review-Url: https://codereview.chromium.org/2914653002 Cr-Commit-Position: refs/heads/master@{#476586} [modify] https://crrev.com/e8b52c26834fbeba662c6cf0073d88aefb7907a8/DEPS [modify] https://crrev.com/e8b52c26834fbeba662c6cf0073d88aefb7907a8/build/config/BUILD.gn [modify] https://crrev.com/e8b52c26834fbeba662c6cf0073d88aefb7907a8/build/config/BUILDCONFIG.gn [modify] https://crrev.com/e8b52c26834fbeba662c6cf0073d88aefb7907a8/build/config/compiler/BUILD.gn
,
Jun 2 2017
,
Jun 9 2017
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/e89683d4ca3cc61fed5984c234bab3f1dc6c3ef0 commit e89683d4ca3cc61fed5984c234bab3f1dc6c3ef0 Author: thomasanderson <thomasanderson@chromium.org> Date: Fri Jun 09 04:57:02 2017 Roll buildtools to b53a03 This roll includes 3 revisions [1] and is purely to make sure those revisions didn't break anything. [1] https://chromium.googlesource.com/chromium/buildtools/+log/31d4daa..b53a03 BUG= 593874 R=thestig@chromium.org CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.linux:linux_chromium_msan_rel_ng Review-Url: https://codereview.chromium.org/2932783002 Cr-Commit-Position: refs/heads/master@{#478204} [modify] https://crrev.com/e89683d4ca3cc61fed5984c234bab3f1dc6c3ef0/DEPS
,
Jun 12 2017
,
Jun 20 2017
,
Jun 20 2017
,
Jun 20 2017
,
Jun 22 2017
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/018ffc7f6451b844d6f3f45e8d01ced35adeb780 commit 018ffc7f6451b844d6f3f45e8d01ced35adeb780 Author: thomasanderson <thomasanderson@chromium.org> Date: Thu Jun 22 01:25:33 2017 Move libc++ configs and flags out of //build/config/sanitizers libc++ used to be used only on instrumented builds, so it made sense for the associated build code to go in //build/config/sanitizers. Now that non-sanitizer builds are switching to libc++ as well, it makes more sense for this code to live elsewhere. Additionally, there is a target, android_protoc, which has a dependency on exe_and_shlib_deps but removes the default_sanitizer_flags, which used to bring in c++flags. This meant the sources would compile against the libstdc++ headers in the sysroot, but link against libc++, resulting in many symbol conflicts. BUG= 593874 R=brettw@chromium.org Review-Url: https://codereview.chromium.org/2931983003 Cr-Commit-Position: refs/heads/master@{#481392} [modify] https://crrev.com/018ffc7f6451b844d6f3f45e8d01ced35adeb780/build/config/BUILD.gn [add] https://crrev.com/018ffc7f6451b844d6f3f45e8d01ced35adeb780/build/config/c++/BUILD.gn [add] https://crrev.com/018ffc7f6451b844d6f3f45e8d01ced35adeb780/build/config/c++/c++.gni [modify] https://crrev.com/018ffc7f6451b844d6f3f45e8d01ced35adeb780/build/config/compiler/BUILD.gn [modify] https://crrev.com/018ffc7f6451b844d6f3f45e8d01ced35adeb780/build/config/sanitizers/BUILD.gn [modify] https://crrev.com/018ffc7f6451b844d6f3f45e8d01ced35adeb780/build/config/sanitizers/sanitizers.gni [modify] https://crrev.com/018ffc7f6451b844d6f3f45e8d01ced35adeb780/chrome/installer/linux/BUILD.gn [modify] https://crrev.com/018ffc7f6451b844d6f3f45e8d01ced35adeb780/extensions/shell/installer/linux/BUILD.gn
,
Jun 22 2017
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/72ce0cd56fb761e469941b4b0d95c6565b15678a commit 72ce0cd56fb761e469941b4b0d95c6565b15678a Author: thomasanderson <thomasanderson@chromium.org> Date: Thu Jun 22 04:43:22 2017 Roll buildtools to 7f2cacb This roll includes 2 revisions [1]. It is needed so I can run the trybots for [2]. [1] https://chromium.googlesource.com/chromium/buildtools/+log/31d4daa..b53a03 [2] https://codereview.chromium.org/2933573002/ BUG= 593874 TBR=thakis@chromium.org Review-Url: https://codereview.chromium.org/2951253002 Cr-Commit-Position: refs/heads/master@{#481437} [modify] https://crrev.com/72ce0cd56fb761e469941b4b0d95c6565b15678a/DEPS
,
Jun 22 2017
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/4312d5e0b01af9a3ad5f92a1763142155f01a7c6 commit 4312d5e0b01af9a3ad5f92a1763142155f01a7c6 Author: Tom Anderson <thomasanderson@chromium.org> Date: Thu Jun 22 23:13:51 2017 Add patched eu-strip in third_party The eu-strip that ships with Ubuntu Trusty segfaults when stripping a chrome binary that statically links libc++. The issue was fixed upstream at some point because the crash does not occur on Ubuntu Xenial. This CL bundles a patched eu-strip for x86_64 (and removes the x86 one that used to be in Google Cloud Storage). The issue was due to a double-free in libelf.so. The patched version simply removes the offending call to free and statically links libelf into eu-strip. This probably results in a memory leak, but this is ok for now since the utility is a very short-lived process. BUG= 593874 R=dpranke@chromium.org,thestig@chromium.org TBR=thakis@chromium.org Change-Id: I2085c4f6278cffbaeae972545280ebb437a8bdc0 Reviewed-on: https://chromium-review.googlesource.com/544798 Commit-Queue: Thomas Anderson <thomasanderson@chromium.org> Reviewed-by: Lei Zhang <thestig@chromium.org> Reviewed-by: Dirk Pranke <dpranke@chromium.org> Cr-Commit-Position: refs/heads/master@{#481710} [modify] https://crrev.com/4312d5e0b01af9a3ad5f92a1763142155f01a7c6/DEPS [modify] https://crrev.com/4312d5e0b01af9a3ad5f92a1763142155f01a7c6/build/.gitignore [delete] https://crrev.com/8be19fab7eb78573df86a4d7678191ba7dd8f490/build/linux/bin/eu-strip.sha1 [modify] https://crrev.com/4312d5e0b01af9a3ad5f92a1763142155f01a7c6/chrome/installer/linux/BUILD.gn [add] https://crrev.com/4312d5e0b01af9a3ad5f92a1763142155f01a7c6/third_party/eu-strip/OWNERS [add] https://crrev.com/4312d5e0b01af9a3ad5f92a1763142155f01a7c6/third_party/eu-strip/README.chromium [add] https://crrev.com/4312d5e0b01af9a3ad5f92a1763142155f01a7c6/third_party/eu-strip/bin/eu-strip
,
Jun 27 2017
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/e01cebebecd8f05f000fe92ba52b6f12ff5e08f6 commit e01cebebecd8f05f000fe92ba52b6f12ff5e08f6 Author: thomasanderson <thomasanderson@chromium.org> Date: Tue Jun 27 01:53:28 2017 Roll android_protobuf to 7fca48d This roll is needed to pick up CL [1] so that android_protobuf can build against libc++. It includes revisions from [2]. [1] https://chromium.googlesource.com/external/android_protobuf/+/c51e25aa1b54f02446e5862a149e33565f8397c1 [2] https://chromium.googlesource.com/external/android_protobuf/+log/999188d0dc72e97f7fe08bb756958a2cf090f4e7..f1376b3a24f1efff8bd9e0eda97d54800e090475 BUG= 593874 TBR=thakis@chromium.org Review-Url: https://codereview.chromium.org/2957963002 Cr-Commit-Position: refs/heads/master@{#482510} [modify] https://crrev.com/e01cebebecd8f05f000fe92ba52b6f12ff5e08f6/DEPS
,
Jun 27 2017
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/4e58f6ee0938be997784c351ca6d8bba6ccaa654 commit 4e58f6ee0938be997784c351ca6d8bba6ccaa654 Author: thomasanderson <thomasanderson@chromium.org> Date: Tue Jun 27 20:57:08 2017 Roll buildtools to 1dcd1bd This roll includes 5 revisions [1]. Revision [2] is needed for ARM builds to work when statically linking libc++. [1] https://chromium.googlesource.com/chromium/buildtools/+log/7f2cacbbe274ef9df2c94452e05e8702c3ae65a9..1dcd1bdbe93467531a50b60dbd18860803ca7be1 [2] https://chromium.googlesource.com/chromium/buildtools/+/1dcd1bdbe93467531a50b60dbd18860803ca7be1 BUG= 593874 R=thakis@chromium.org Review-Url: https://codereview.chromium.org/2962723002 Cr-Commit-Position: refs/heads/master@{#482740} [modify] https://crrev.com/4e58f6ee0938be997784c351ca6d8bba6ccaa654/DEPS
,
Jun 29 2017
intent to implement: https://groups.google.com/a/chromium.org/forum/#!topic/chromium-dev/z2YnFCxq0MA
,
Jun 29 2017
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/39fcd6af4d8c9ddcf909b8d489c6ba684d046157 commit 39fcd6af4d8c9ddcf909b8d489c6ba684d046157 Author: thomasanderson <thomasanderson@chromium.org> Date: Thu Jun 29 21:43:52 2017 Switch Chrome on Linux to libc++ Design doc detailing the changes at [1], and announcement to chromium-dev at [2]. In addition, this CL updates perf_expectations to increase the number of allowed static initializers. libc++ adds some initializers from iostream.cpp. However, this case is net-neutral since the initializer used to live in libstdc++, but has been pushed into the chrome and nacl executables. The perf_expectations change also required adding NOPRESUBMIT=true to silence a bogus warning. [1] https://docs.google.com/document/d/1zmHUXlpGNXB433wHnr40dLwj7c-USsIVlyAeH7vOI9o/edit#heading=h.bfky2xssferh [2] https://groups.google.com/a/chromium.org/forum/?fromgroups#!topic/chromium-dev/z2YnFCxq0MA BUG= 593874 R=thakis@chromium.org TBR=rdevlin.cronin@chromium.org CC=thestig@chromium.org NOPRESUBMIT=true CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.linux:linux_chromium_dbg_ng;master.tryserver.chromium.linux:linux_arm;master.tryserver.chromium.linux:linux_chromium_archive_rel_ng;master.tryserver.chromium.linux:linux_chromium_dbg_32_ng Review-Url: https://codereview.chromium.org/2933573002 Cr-Commit-Position: refs/heads/master@{#483498} [modify] https://crrev.com/39fcd6af4d8c9ddcf909b8d489c6ba684d046157/build/config/c++/c++.gni [modify] https://crrev.com/39fcd6af4d8c9ddcf909b8d489c6ba684d046157/chrome/installer/linux/debian/expected_deps_ia32_jessie [modify] https://crrev.com/39fcd6af4d8c9ddcf909b8d489c6ba684d046157/chrome/installer/linux/debian/expected_deps_x64_jessie [modify] https://crrev.com/39fcd6af4d8c9ddcf909b8d489c6ba684d046157/chrome/installer/linux/rpm/build.sh [modify] https://crrev.com/39fcd6af4d8c9ddcf909b8d489c6ba684d046157/chrome/installer/linux/rpm/expected_deps_i386 [modify] https://crrev.com/39fcd6af4d8c9ddcf909b8d489c6ba684d046157/chrome/installer/linux/rpm/expected_deps_x86_64 [modify] https://crrev.com/39fcd6af4d8c9ddcf909b8d489c6ba684d046157/extensions/shell/installer/linux/debian/expected_deps_x64_jessie [modify] https://crrev.com/39fcd6af4d8c9ddcf909b8d489c6ba684d046157/tools/perf_expectations/perf_expectations.json
,
Jun 30 2017
I think this must have broken the "GPU Linux Builder" bot: https://build.chromium.org/p/chromium.gpu.fyi/builders/GPU%20Linux%20Builder/builds/92009
,
Jun 30 2017
c#62 Thanks, looks like there are some things in third_party/angle/src/tests/deqp.gypi that are missing the dependency on exe_and_shlib_deps
,
Jun 30 2017
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/71911249cfd027e31384c7daa1a781773545036c commit 71911249cfd027e31384c7daa1a781773545036c Author: ynovikov <ynovikov@chromium.org> Date: Fri Jun 30 00:28:00 2017 Revert of Switch Chrome on Linux to libc++ (patchset #5 id:180001 of https://codereview.chromium.org/2933573002/ ) Reason for revert: Breaks https://build.chromium.org/p/chromium.gpu.fyi/builders/GPU%20Linux%20Builder/builds/92009 Original issue's description: > Switch Chrome on Linux to libc++ > > Design doc detailing the changes at [1], and announcement to > chromium-dev at [2]. > > In addition, this CL updates perf_expectations to increase the number > of allowed static initializers. libc++ adds some initializers from > iostream.cpp. However, this case is net-neutral since the initializer > used to live in libstdc++, but has been pushed into the chrome and > nacl executables. The perf_expectations change also required adding > NOPRESUBMIT=true to silence a bogus warning. > > [1] https://docs.google.com/document/d/1zmHUXlpGNXB433wHnr40dLwj7c-USsIVlyAeH7vOI9o/edit#heading=h.bfky2xssferh > [2] https://groups.google.com/a/chromium.org/forum/?fromgroups#!topic/chromium-dev/z2YnFCxq0MA > > BUG= 593874 > R=thakis@chromium.org > TBR=rdevlin.cronin@chromium.org > CC=thestig@chromium.org > NOPRESUBMIT=true > CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.linux:linux_chromium_dbg_ng;master.tryserver.chromium.linux:linux_arm;master.tryserver.chromium.linux:linux_chromium_archive_rel_ng;master.tryserver.chromium.linux:linux_chromium_dbg_32_ng > > Review-Url: https://codereview.chromium.org/2933573002 > Cr-Commit-Position: refs/heads/master@{#483498} > Committed: https://chromium.googlesource.com/chromium/src/+/39fcd6af4d8c9ddcf909b8d489c6ba684d046157 TBR=thakis@chromium.org,rdevlin.cronin@chromium.org,thomasanderson@chromium.org # Skipping CQ checks because original CL landed less than 1 days ago. NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG= 593874 Review-Url: https://codereview.chromium.org/2965693002 Cr-Commit-Position: refs/heads/master@{#483560} [modify] https://crrev.com/71911249cfd027e31384c7daa1a781773545036c/build/config/c++/c++.gni [modify] https://crrev.com/71911249cfd027e31384c7daa1a781773545036c/chrome/installer/linux/debian/expected_deps_ia32_jessie [modify] https://crrev.com/71911249cfd027e31384c7daa1a781773545036c/chrome/installer/linux/debian/expected_deps_x64_jessie [modify] https://crrev.com/71911249cfd027e31384c7daa1a781773545036c/chrome/installer/linux/rpm/build.sh [modify] https://crrev.com/71911249cfd027e31384c7daa1a781773545036c/chrome/installer/linux/rpm/expected_deps_i386 [modify] https://crrev.com/71911249cfd027e31384c7daa1a781773545036c/chrome/installer/linux/rpm/expected_deps_x86_64 [modify] https://crrev.com/71911249cfd027e31384c7daa1a781773545036c/extensions/shell/installer/linux/debian/expected_deps_x64_jessie [modify] https://crrev.com/71911249cfd027e31384c7daa1a781773545036c/tools/perf_expectations/perf_expectations.json
,
Jun 30 2017
I've reverted, since it also breaks https://build.chromium.org/p/tryserver.chromium.linux/builders/linux_chromium_rel_ng and https://build.chromium.org/p/tryserver.chromium.linux/builders/linux_optional_gpu_tests_rel and https://build.chromium.org/p/tryserver.chromium.linux/builders/linux_chromium_compile_dbg_ng CQ bots.
,
Jun 30 2017
I think it could only break linux_optional_gpu_tests_rel, not linux_chromium_rel_ng or linux_chromium_compile_dbg_ng since those two were added to the CQ on the original CL. What are the specific build IDs for which you think libc++ caused the failure?
,
Jun 30 2017
Oh, these failed because that CL is adding a new target, angle_shader_translator
,
Jun 30 2017
I suspect libangle_deqp_libgles2.so link is failing because it needs exceptions enabled, contrary to rest of chrome.
,
Jun 30 2017
c#68 Ah, that makes sense. Could you add exe_and_shlib_deps as a dependency of angle_shader_translator before landing? c#69 libc++ is built with exceptions enabled, I think it's just another missing exe_and_shlib_deps
,
Jun 30 2017
So, in order not to break linux_optional_gpu_tests_rel, let's land https://chromium-review.googlesource.com/c/557350/ and https://chromium-review.googlesource.com/c/557599/. Then I'll roll ANGLE and reland your CL.
,
Jun 30 2017
sgtm! In the reland, please add master.tryserver.chromium.linux:linux_optional_gpu_tests_rel to CQ_INCLUDE_TRYBOTS
,
Jun 30 2017
The following revision refers to this bug: https://chromium.googlesource.com/angle/angle/+/802a73ba380a8d20b8a6f7be68f57b2873ac9813 commit 802a73ba380a8d20b8a6f7be68f57b2873ac9813 Author: Tom Anderson <thomasanderson@chromium.org> Date: Fri Jun 30 02:36:19 2017 [ANGLE] Add missing dependency on exe_and_shlib_deps BUG= chromium:593874 Change-Id: I025f31e422cf3eb5db1730710cca26587c283839 Reviewed-on: https://chromium-review.googlesource.com/557350 Reviewed-by: Yuly Novikov <ynovikov@chromium.org> Commit-Queue: Yuly Novikov <ynovikov@chromium.org> [modify] https://crrev.com/802a73ba380a8d20b8a6f7be68f57b2873ac9813/src/tests/BUILD.gn
,
Jun 30 2017
The following revision refers to this bug: https://chromium.googlesource.com/angle/angle/+/f0be43fee2a89588a63d4d7beb82ea18db7431e8 commit f0be43fee2a89588a63d4d7beb82ea18db7431e8 Author: Yuly Novikov <ynovikov@chromium.org> Date: Fri Jun 30 02:39:30 2017 Add missing dependency on exe_and_shlib_deps BUG= chromium:593874 , angleproject:2095 Change-Id: I97860f7978d509bb36dfdfb5fac7524e9d24f5fe Reviewed-on: https://chromium-review.googlesource.com/557599 Commit-Queue: Yuly Novikov <ynovikov@chromium.org> Reviewed-by: Yuly Novikov <ynovikov@chromium.org> [modify] https://crrev.com/f0be43fee2a89588a63d4d7beb82ea18db7431e8/BUILD.gn
,
Jun 30 2017
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/00e9c296931acf6c7f6a0a3b91fcb678a9d01fc6 commit 00e9c296931acf6c7f6a0a3b91fcb678a9d01fc6 Author: Yuly Novikov <ynovikov@chromium.org> Date: Fri Jun 30 05:02:28 2017 Roll ANGLE 0dc9781..f0be43f https://chromium.googlesource.com/angle/angle.git/+log/0dc9781..f0be43f BUG= angleproject:2095 , chromium:593874 TBR=jmadill@chromium.org TEST=bots CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.win:win_optional_gpu_tests_rel;master.tryserver.chromium.mac:mac_optional_gpu_tests_rel;master.tryserver.chromium.linux:linux_optional_gpu_tests_rel;master.tryserver.chromium.android:android_optional_gpu_tests_rel Change-Id: Ieac8d2706ae8f2d9f75d24541d7a89f463e42933 Reviewed-on: https://chromium-review.googlesource.com/557679 Reviewed-by: Yuly Novikov <ynovikov@chromium.org> Commit-Queue: Yuly Novikov <ynovikov@chromium.org> Cr-Commit-Position: refs/heads/master@{#483636} [modify] https://crrev.com/00e9c296931acf6c7f6a0a3b91fcb678a9d01fc6/DEPS
,
Jun 30 2017
Switch reland in https://codereview.chromium.org/2963223003 , looks like bugdroid is broken again
,
Jun 30 2017
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/3b5152538d133f59aa6709a0811ff6c745973cc6 commit 3b5152538d133f59aa6709a0811ff6c745973cc6 Author: thomasanderson <thomasanderson@chromium.org> Date: Fri Jun 30 19:23:49 2017 Simplify condition to use libc++ This CL simplifies use_custom_libcxx. Most of the sanitizers are only used on Linux so those cases can be removed. BUG= 593874 R=thakis@chromium.org CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.linux:linux_chromium_msan_rel_ng;master.tryserver.chromium.linux:linux_chromium_tsan_rel_ng;master.tryserver.chromium.linux:linux_chromium_ubsan_rel_ng Review-Url: https://codereview.chromium.org/2963183003 Cr-Commit-Position: refs/heads/master@{#483787} [modify] https://crrev.com/3b5152538d133f59aa6709a0811ff6c745973cc6/build/config/c++/c++.gni
,
Jun 30 2017
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/d667444e9a52506535575a508d35dd9cede6d49b commit d667444e9a52506535575a508d35dd9cede6d49b Author: findit-for-me <findit-for-me@appspot.gserviceaccount.com> Date: Fri Jun 30 21:13:58 2017 Revert of Simplify condition to use libc++ (patchset #2 id:20001 of https://codereview.chromium.org/2963183003/ ) Reason for revert: Findit (https://goo.gl/kROfz5) identified CL at revision 483787 as the culprit for failures in the build cycles as shown on: https://findit-for-me.appspot.com/waterfall/culprit?key=ag9zfmZpbmRpdC1mb3ItbWVyRAsSDVdmU3VzcGVjdGVkQ0wiMWNocm9taXVtLzNiNTE1MjUzOGQxMzNmNTlhYTY3MDlhMDgxMWZmNmM3NDU5NzNjYzYM Original issue's description: > Simplify condition to use libc++ > > This CL simplifies use_custom_libcxx. Most of the sanitizers are only > used on Linux so those cases can be removed. > > BUG= 593874 > R=thakis@chromium.org > CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.linux:linux_chromium_msan_rel_ng;master.tryserver.chromium.linux:linux_chromium_tsan_rel_ng;master.tryserver.chromium.linux:linux_chromium_ubsan_rel_ng > > Review-Url: https://codereview.chromium.org/2963183003 > Cr-Commit-Position: refs/heads/master@{#483787} > Committed: https://chromium.googlesource.com/chromium/src/+/3b5152538d133f59aa6709a0811ff6c745973cc6 TBR=thakis@chromium.org,thomasanderson@chromium.org # Skipping CQ checks because original CL landed less than 1 days ago. NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG= 593874 Review-Url: https://codereview.chromium.org/2966893002 Cr-Commit-Position: refs/heads/master@{#483814} [modify] https://crrev.com/d667444e9a52506535575a508d35dd9cede6d49b/build/config/c++/c++.gni
,
Jun 30 2017
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/cbab88489dff618fe1b8c4b9a8e192c1a5e1883a commit cbab88489dff618fe1b8c4b9a8e192c1a5e1883a Author: thomasanderson <thomasanderson@chromium.org> Date: Fri Jun 30 23:53:07 2017 Simplify condition to use libc++ [Take 2] This CL simplifies use_custom_libcxx. Most of the sanitizers are only used on Linux so those cases can be removed. BUG= 593874 R=thakis@chromium.org CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.linux:linux_chromium_msan_rel_ng;master.tryserver.chromium.linux:linux_chromium_tsan_rel_ng;master.tryserver.chromium.linux:linux_chromium_ubsan_rel_ng;master.tryserver.chromium.linux:linux_chromium_chromeos_msan_rel_ng;master.tryserver.chromium.linux:linux_chromium_chromeos_asan_rel_ng Review-Url: https://codereview.chromium.org/2970593002 Cr-Commit-Position: refs/heads/master@{#483866} [modify] https://crrev.com/cbab88489dff618fe1b8c4b9a8e192c1a5e1883a/build/config/c++/c++.gni
,
Jul 3 2017
,
Jul 7 2017
While I build and develop on Windows, I do often build on a Ubiquity instance; I've been burned in the past by Windows changes breaking other platforms.
I'm now seeing the following error when running "gn gen":
ERROR Input to targets not generated by a dependency.
The file:
//out/Debug/libc++.so
is listed as an input or source for the targets:
//chrome/installer/linux:stable_deb
//chrome/installer/linux:stable_rpm
//chrome/installer/linux:beta_deb
//chrome/installer/linux:beta_rpm
//chrome/installer/linux:unstable_deb
//chrome/installer/linux:unstable_rpm
//chrome/installer/linux:trunk_deb
//chrome/installer/linux:trunk_rpm
//extensions/shell/installer/linux:unstable_deb
//extensions/shell/installer/linux:stable_deb
//extensions/shell/installer/linux:beta_deb
//extensions/shell/installer/linux:trunk_deb
but this file was not generated by any dependencies of the targets. The target
that generates the file is:
//buildtools/third_party/libc++:libc++
After pouring over the .gn and .gni files, here's a patch that seems to fix the issue:
diff --git a/chrome/installer/linux/BUILD.gn b/chrome/installer/linux/BUILD.gn
index 292e1e4d5f58..652bbaa1356b 100644
--- a/chrome/installer/linux/BUILD.gn
+++ b/chrome/installer/linux/BUILD.gn
@@ -190,6 +190,12 @@ group("installer_deps") {
if (!is_chromeos) {
public_deps += [ ":rpm_packaging_files" ]
}
+ libcpp_is_static = !is_component_build && !using_sanitizer
+ if (!libcpp_is_static && use_custom_libcxx) {
+ public_deps += [
+ "//buildtools/third_party/libc++:libc++",
+ ]
+ }
}
# Creates .deb and .rpm (RPM for non-ChromeOS only) installer packages.
diff --git a/extensions/shell/installer/linux/BUILD.gn b/extensions/shell/installer/linux/BUILD.gn
index d537e7130eca..bd816aba9507 100644
--- a/extensions/shell/installer/linux/BUILD.gn
+++ b/extensions/shell/installer/linux/BUILD.gn
@@ -128,6 +128,12 @@ group("installer_deps") {
"//ppapi/native_client:irt",
]
}
+ libcpp_is_static = !is_component_build && !using_sanitizer
+ if (!libcpp_is_static && use_custom_libcxx) {
+ public_deps += [
+ "//buildtools/third_party/libc++:libc++",
+ ]
+ }
}
# Creates .deb installer package.
While there is a comment regarding libcpp_is_static being placed into a .gni file, I didn't do that since I don't expect this patch to be the final one anyway.
,
Jul 7 2017
@thomasanderson: Is Ubuntu 12.04 not supported anymore? I'm getting this now: FAILED: gen/net/http/transport_security_state_static.h python ../../build/gn_run_binary.py transport_security_state_generator ../../net/http/transport_security_state_static.json ../../net/http/transport_security_state_static.pins ../../net/http/transport_security_state_static.template gen/net/http/transport_security_state_static.h ./transport_security_state_generator: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.18' not found (required by /home/tfarina/chromium/src/gn-ninja-out/local_linux-dbg/./libc++.so)
,
Jul 7 2017
c#81: Thanks! You're on windows, right? And what are your gn args? c#82: Nope, we dropped support for Ubuntu 12.04 some time last year
,
Jul 7 2017
Correct, 12.04 is no longer supported and won't work.
,
Jul 8 2017
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/45583c7e7cbf700efd503ee2fb6a956740bb7b65 commit 45583c7e7cbf700efd503ee2fb6a956740bb7b65 Author: Tom Anderson <thomasanderson@chromium.org> Date: Sat Jul 08 02:53:34 2017 Add dependency on libc++ from linux packaging build files Patch thanks to kylixrd@chromium.org! BUG= 593874 R=thestig@chromium.org TBR=rdevlin.cronin@chromium.org CC=kylixrd@chromium.org Change-Id: If554b0e1ed1d40386e7a639dc9b8869225500b51 Reviewed-on: https://chromium-review.googlesource.com/564284 Commit-Queue: Thomas Anderson <thomasanderson@chromium.org> Reviewed-by: Lei Zhang <thestig@chromium.org> Cr-Commit-Position: refs/heads/master@{#485135} [modify] https://crrev.com/45583c7e7cbf700efd503ee2fb6a956740bb7b65/chrome/installer/linux/BUILD.gn [modify] https://crrev.com/45583c7e7cbf700efd503ee2fb6a956740bb7b65/extensions/shell/installer/linux/BUILD.gn
,
Jul 12 2017
c#83: looks like it was time to upgrade. I did yesterday to 14.04 and I'm able to build again.
,
Jul 13 2017
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/b5161efc5688ca9a7d45524c672b4cda02ea56ea commit b5161efc5688ca9a7d45524c672b4cda02ea56ea Author: thomasanderson <thomasanderson@chromium.org> Date: Thu Jul 13 02:31:57 2017 Move c++ configs from buildtools to build/config/c++ [src-side change] This CL moves //buildtools/third_party/libc++:no_libstdcpp and part of /buildtools/third_party/libc++:config into //build/config/c++/c++. This has several advantages: * Users can remove libc++ config if they want since it's added in BUILDCONFIG.gn * Allows removal of libcxx_proxy * libc++-specific configs are in buildtools and non-libc++ configs are in build/config * Allows changing c++ flags without having to roll buildtools * Removes a bit of duplicated build configuration buildtools change: https://codereview.chromium.org/2962423002 BUG= 593874 R=thakis@chromium.org TBR=dpranke@chromium.org CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.linux:linux_chromium_msan_rel_ng;master.tryserver.chromium.linux:linux_chromium_ubsan_rel_ng;master.tryserver.chromium.linux:linux_chromium_dbg_ng Review-Url: https://codereview.chromium.org/2964243002 Cr-Commit-Position: refs/heads/master@{#486229} [modify] https://crrev.com/b5161efc5688ca9a7d45524c672b4cda02ea56ea/DEPS [modify] https://crrev.com/b5161efc5688ca9a7d45524c672b4cda02ea56ea/build/config/BUILD.gn [modify] https://crrev.com/b5161efc5688ca9a7d45524c672b4cda02ea56ea/build/config/c++/BUILD.gn
,
Jul 14 2017
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/27a2627894bbcc779117d67b3529c35cfb229228 commit 27a2627894bbcc779117d67b3529c35cfb229228 Author: Tom Anderson <thomasanderson@chromium.org> Date: Fri Jul 14 02:47:29 2017 Move libcpp_is_static into //build/config/c++ [src changes] buildtools changes: https://codereview.chromium.org/2977093002/ R=thakis@chromium.org TBR=michaelpg@chromium.org Bug: 593874 Change-Id: I825899b1f8d55e577f0bd061f53fd26b9b1a9dd8 Reviewed-on: https://chromium-review.googlesource.com/570743 Commit-Queue: Thomas Anderson <thomasanderson@chromium.org> Reviewed-by: Nico Weber <thakis@chromium.org> Cr-Commit-Position: refs/heads/master@{#486646} [modify] https://crrev.com/27a2627894bbcc779117d67b3529c35cfb229228/DEPS [modify] https://crrev.com/27a2627894bbcc779117d67b3529c35cfb229228/build/config/c++/c++.gni [modify] https://crrev.com/27a2627894bbcc779117d67b3529c35cfb229228/chrome/installer/linux/BUILD.gn [modify] https://crrev.com/27a2627894bbcc779117d67b3529c35cfb229228/extensions/shell/installer/linux/BUILD.gn
,
Jul 17 2017
,
Jul 22 2017
This is done.
,
Jul 22 2017
,
Aug 1 2017
The following revision refers to this bug: https://chromium.googlesource.com/chromium/buildtools/+/275b8c481615a168464800fc925364aa1a432d37 commit 275b8c481615a168464800fc925364aa1a432d37 Author: Scott Graham <scottmg@chromium.org> Date: Tue Aug 01 18:45:27 2017 Only disable export of libunwind symbols when libcpp is static src tryjob at https://chromium-review.googlesource.com/c/596668. Bug: 750392 , 593874 Change-Id: I3becf1ff62db61a2f0c630516bad5fffefac7d2d [modify] https://crrev.com/275b8c481615a168464800fc925364aa1a432d37/third_party/libunwind/BUILD.gn
,
Aug 2 2017
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/baca0c48578ca9509e5aa4bf94a1083f80106ca3 commit baca0c48578ca9509e5aa4bf94a1083f80106ca3 Author: Scott Graham <scottmg@chromium.org> Date: Wed Aug 02 01:42:21 2017 fuchsia: roll buildtools to c950cb0 c950cb0 Only disable export of libunwind symbols when libcpp is static CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.linux:linux_arm Bug: 750392 , 593874 Change-Id: I420202d5c83663da56654009350206784c7f6bc5 Reviewed-on: https://chromium-review.googlesource.com/596668 Commit-Queue: Scott Graham <scottmg@chromium.org> Reviewed-by: Thomas Anderson <thomasanderson@chromium.org> Cr-Commit-Position: refs/heads/master@{#491182} [modify] https://crrev.com/baca0c48578ca9509e5aa4bf94a1083f80106ca3/DEPS
,
Sep 14 2017
,
Sep 25 2017
The following revision refers to this bug: https://chromium.googlesource.com/v8/v8.git/+/571076ecb1419e97e8396ba82a174c095c08ba75 commit 571076ecb1419e97e8396ba82a174c095c08ba75 Author: Michael Achenbach <machenbach@chromium.org> Date: Mon Sep 25 09:52:23 2017 [build] Port "Add patched eu-strip in third_party" This ports: https://chromium-review.googlesource.com/c/544798/ This is needed to unblock rolling build into v8 at: https://chromium-review.googlesource.com/c/v8/v8/+/657634 Bug: chromium:593874 , chromium:742655 Change-Id: Ie00f2d13cfd052881a84b6e0cb95c336b7d2581c Reviewed-on: https://chromium-review.googlesource.com/680815 Commit-Queue: Michael Achenbach <machenbach@chromium.org> Reviewed-by: Sergiy Byelozyorov <sergiyb@chromium.org> Cr-Commit-Position: refs/heads/master@{#48134} [modify] https://crrev.com/571076ecb1419e97e8396ba82a174c095c08ba75/.gitignore [add] https://crrev.com/571076ecb1419e97e8396ba82a174c095c08ba75/third_party/eu-strip/README.v8 [add] https://crrev.com/571076ecb1419e97e8396ba82a174c095c08ba75/third_party/eu-strip/bin/eu-strip
,
Oct 19 2017
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/427454c842443a7880822fd9c4a475d566728f70 commit 427454c842443a7880822fd9c4a475d566728f70 Author: Misha Efimov <mef@chromium.org> Date: Thu Oct 19 19:43:05 2017 Remove unused include crt_externs.h from sanitizer_options.cc - Unused after https://codereview.chromium.org/2911513002 - Causing compilation error with use_asan=true on iOS. Bug: 593874 Change-Id: I448cdcc472faaa44fa914efe56219b2448ed0b71 Reviewed-on: https://chromium-review.googlesource.com/728395 Reviewed-by: Nico Weber <thakis@chromium.org> Commit-Queue: Misha Efimov <mef@chromium.org> Cr-Commit-Position: refs/heads/master@{#510163} [modify] https://crrev.com/427454c842443a7880822fd9c4a475d566728f70/build/sanitizers/sanitizer_options.cc
,
Mar 16 2018
,
Mar 16 2018
|
|||||||||||||||||||||||||||||||||
►
Sign in to add a comment |
|||||||||||||||||||||||||||||||||
Comment 1 by thakis@chromium.org
, Mar 10 2016