This migrates is_linux (which is also set for chromeos) to explicitly
include chromeos as is_linux || is_chromeos in preparation for
separating those flags.
Bug: 1110266
Change-Id: I93991bfe0647a6b280b9fb9531474ae70f6c4cfa
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2325766
Commit-Queue: Sean McAllister <smcallis@google.com>
Reviewed-by: Hidehiko Abe <hidehiko@chromium.org>
Reviewed-by: Nico Weber <thakis@chromium.org>
Cr-Commit-Position: refs/heads/master@{#793509}
GitOrigin-RevId: deaa740d5532fa2f80bea90ba26a4cc235392627
As https://crrev.com/c/2299189 adds `OS_MAC` & `OS_APPLE`, add a gn
variable `is_apple` that is true when `OS_APPLE` is defined. This
allow an easy mapping between gn variables and cpp macros.
Convert all usages of `is_ios || is_mac` or `is_mac || is_ios` to
use the new variable instead.
Bug: 1105907
Change-Id: I4cef55496a0ccf0a6162e60409ff3b7996f633dd
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2315695
Commit-Queue: Nico Weber <thakis@chromium.org>
Reviewed-by: Nico Weber <thakis@chromium.org>
Cr-Commit-Position: refs/heads/master@{#791803}
GitOrigin-RevId: fafffe8843d5dac1ef479ae2e9058e0f93faf82d
-Wl,-undefined,dynamic_lookup is deprecated on iOS Simulator, which
prevents us from linking libc++abi into the main executable and
exporting symbols for shared libraries to use. Instead, disallow
export_libcxxabi_from_executables on iOS, since it is effectively
unsupported.
BUG=1095852
Change-Id: I35204f9ccf668941f9e058aa05ab3caa9eaf376b
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2250218
Reviewed-by: Thomas Anderson <thomasanderson@chromium.org>
Commit-Queue: Rohit Rao <rohitrao@chromium.org>
Cr-Original-Commit-Position: refs/heads/master@{#779959}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 1d7de3f12b1fad588d25886787c928630514fd5a
This CL will fix this issue and make test suites running fine with asan
Bug: 1076244
Change-Id: I8190c048a37e4605944286f01ca73e27b1edd5cf
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2197658
Commit-Queue: Haiyang Pan <hypan@google.com>
Reviewed-by: Nico Weber <thakis@chromium.org>
Reviewed-by: Evgenii Stepanov <eugenis@chromium.org>
Cr-Original-Commit-Position: refs/heads/master@{#769288}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 09c6b084ebf5c89d6c5f3bcdcc3f7d3f0b115446
This reverts commit e5296dab70da58282aceb49471758cbf08c98bd6.
Reason for revert: CrOS already links against system libc++
Original change's description:
> Enable custom libcxx unconditionally on CrOS.
>
> Most other platforms either unconditionally, or are moving towards unconditionally
> building with custom libcxx.
>
> This comment suggests that there was always the intention to move
> unconditionally to libc++:
> https://bugs.chromium.org/p/chromium/issues/detail?id=554841#c3
>
> And this bug suggests that we're already paying most of the engineering
> cost for making this config work:
> https://bugs.chromium.org/p/chromium/issues/detail?id=996754
>
> Change-Id: I030f65b5921c4f5572fafcaf975eff24e804f3ed
> Bug: 1043560
> Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2010226
> Commit-Queue: Nico Weber <thakis@chromium.org>
> Auto-Submit: Erik Chen <erikchen@chromium.org>
> Reviewed-by: Thomas Anderson <thomasanderson@chromium.org>
> Reviewed-by: Nico Weber <thakis@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#733362}
TBR=thakis@chromium.org,erikchen@chromium.org,thomasanderson@chromium.org
# Not skipping CQ checks because original CL landed > 1 day ago.
Bug: 1043560
Change-Id: Ifa073a4dd90f1e260aa0e6981326fea13a5f4c5f
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2012366
Reviewed-by: Erik Chen <erikchen@chromium.org>
Reviewed-by: Nico Weber <thakis@chromium.org>
Commit-Queue: Erik Chen <erikchen@chromium.org>
Cr-Original-Commit-Position: refs/heads/master@{#733867}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: f2517d68dfdeb37d9293e5fd0ee8bda52a1ab71c
Most other platforms either unconditionally, or are moving towards unconditionally
building with custom libcxx.
This comment suggests that there was always the intention to move
unconditionally to libc++:
https://bugs.chromium.org/p/chromium/issues/detail?id=554841#c3
And this bug suggests that we're already paying most of the engineering
cost for making this config work:
https://bugs.chromium.org/p/chromium/issues/detail?id=996754
Change-Id: I030f65b5921c4f5572fafcaf975eff24e804f3ed
Bug: 1043560
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2010226
Commit-Queue: Nico Weber <thakis@chromium.org>
Auto-Submit: Erik Chen <erikchen@chromium.org>
Reviewed-by: Thomas Anderson <thomasanderson@chromium.org>
Reviewed-by: Nico Weber <thakis@chromium.org>
Cr-Original-Commit-Position: refs/heads/master@{#733362}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: e5296dab70da58282aceb49471758cbf08c98bd6
I added an is_debug gate to be consistent with the old (system STL)
enable_iterator_debugging logic, which only enabled iterator debugging
when both enable_iterator_debugging is set AND config("debug") is used.
I suspect this is a remnant of back when our debug build automatically
enabled libstdc++'s iterator debugging. Iterator debugging has long
since been made off by default and, if we ever do want to enable it, GN
can make defaults for settings depend on other settings.
Thus make enable_iterator_debugging do what the name suggests and simply
enable iterator debugging. In particular, adding iterator debugging adds
a ton of code so asking the compiler to optimize that code makes testing
things a bit more tractable. (I default to release + dcheck_always_on
builds for local testing these days.)
Bug: 923166
Change-Id: Ib9fe5d6ec7af1af644c86089c8f58b3c47058c80
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1977153
Reviewed-by: Nico Weber <thakis@chromium.org>
Commit-Queue: David Benjamin <davidben@chromium.org>
Auto-Submit: David Benjamin <davidben@chromium.org>
Cr-Original-Commit-Position: refs/heads/master@{#726905}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 0a4ffdf2b2ed5f4bd42480cf149e87e2b43a25b3
libc++ supports two debug options, _LIBCPP_DEBUG=0 and
_LIBCPP_DEBUG=1. The former turns on bounds checks, etc., on STL
classes and sanity checks on comparators. The latter turns on
iterator debugging which is much more expensive. This CL enables
the former.
This has caught a number of bugs not caught by sanitizers (see
https://crbug.com/893810 and https://crbug.com/923166).
Bug: 923166
Change-Id: I5acd94bf7905579bb105e521db1247b3c7269fbd
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1234994
Commit-Queue: David Benjamin <davidben@chromium.org>
Reviewed-by: Dirk Pranke <dpranke@chromium.org>
Reviewed-by: Nico Weber <thakis@chromium.org>
Reviewed-by: Mark Mentovai <mark@chromium.org>
Cr-Original-Commit-Position: refs/heads/master@{#716690}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 66f3e967ffe7382a9185c0c50ede0afc2ba068a7
After https://crrev.com/c/1756721 we stopped passing -nostdlib on Android,
so the -nostdlib++ flag is not redundant and is in fact required in some
configurations to prevent linking against the NDK libc++.
Bug: 996172
Change-Id: Iabede8e5cafad29debf6b5f098a247f399cb460c
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1762346
Commit-Queue: Peter Collingbourne <pcc@chromium.org>
Commit-Queue: Nico Weber <thakis@chromium.org>
Auto-Submit: Peter Collingbourne <pcc@chromium.org>
Reviewed-by: Nico Weber <thakis@chromium.org>
Cr-Original-Commit-Position: refs/heads/master@{#689047}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 8215d30998df26c019719a6a4a0689634dde5eb2
The motivation is that some projects (e.g. v8) deps in a git mirror of the
build/ directory but don't have tools/win available. This makes the build/
directory not depend on tools/win again.
Bug: 960658
Change-Id: Ibaa9a81862e89ea049299149a5d9aa7e7c4b5850
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1600776
Commit-Queue: Nico Weber <thakis@chromium.org>
Commit-Queue: Michael Achenbach <machenbach@chromium.org>
Reviewed-by: Michael Achenbach <machenbach@chromium.org>
Auto-Submit: Nico Weber <thakis@chromium.org>
Cr-Original-Commit-Position: refs/heads/master@{#657688}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: f3833a67496e44bad4c0e5c5b089a8abd5e82751
We now have a natvis file for libc++ and fixed a bug in lld-link that
made it not embed natvis files correctly if there were more than two,
so now this switch should no longer negatively affect debugging.
Bug: 801780
Change-Id: Iab1b3f8b3e3bbbda3abdf08156287820392d7946
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1594345
Auto-Submit: Nico Weber <thakis@chromium.org>
Reviewed-by: John Abd-El-Malek <jam@chromium.org>
Reviewed-by: Thomas Anderson <thomasanderson@chromium.org>
Commit-Queue: Nico Weber <thakis@chromium.org>
Commit-Queue: Thomas Anderson <thomasanderson@chromium.org>
Cr-Original-Commit-Position: refs/heads/master@{#656840}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 4b298260f5327c09983083055a5775d5ce719cc1
This reverts commit 6eb40789c00d5d95d1286b4875d58623ddc68624.
Reason for revert: A change to cronet/tools/hide_symbols.py landed
right before the previous reland relanded. Relanding again.
This also reverts commmit 198ec959986ce5edfc789163c3b4e82540c39a4a
which is a reland "[Cronet] Link custom libc++ into Cronet static framework to fix crashes."
Original change's description:
> Revert "Reland "[ios] Disable custom libcxx with xcode clang.""
>
> This reverts commit 334e5ddc18f9ea2e073442a0bf327b6ee9512f08.
>
> Reason for revert: broke two iOS bots (even though the same ones succeeded in the CQ).
>
TBR=thakis@chromium.org,mef@chromium.org,justincohen@chromium.org,carlosk@chromium.org,olivierrobin@chromium.org,thomasanderson@chromium.org
Bug: 956995, 958185, 956161
Change-Id: Ic75760edf679e14dff9447b5bc8e629880ddb8ae
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1590105
Reviewed-by: Rohit Rao <rohitrao@chromium.org>
Reviewed-by: Justin Cohen <justincohen@chromium.org>
Reviewed-by: Robbie Gibson <rkgibson@google.com>
Commit-Queue: Justin Cohen <justincohen@chromium.org>
Cr-Original-Commit-Position: refs/heads/master@{#655515}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 0e86ef6c0e71377ec1f1af1f60964f3ab0ed2db7
The combination of Xcode clang, a custom libcxx and gmock is causing crashes
in our tests.
Disabling custom libcxx with xcode clang for now.
Bug: 956995
Change-Id: Ia32a5d77d9ab7810d7c09c258c91dd60544f4747
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1588363
Auto-Submit: Justin Cohen <justincohen@chromium.org>
Reviewed-by: Olivier Robin <olivierrobin@chromium.org>
Reviewed-by: Thomas Anderson <thomasanderson@chromium.org>
Commit-Queue: Justin Cohen <justincohen@chromium.org>
Cr-Original-Commit-Position: refs/heads/master@{#655205}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 684d7a436007ccd4da585e16a651f7358271efc1
This reverts commit aa9e6f586615eb96dac21ed2bfb26e4ee3f4ef11.
Reason for revert: this is still broken, see repro steps in https://crbug.com/947911
Original change's description:
> Reenable libc++ on Windows
>
> BUG=801780
> R=thakis
>
> Change-Id: Ife6f11c4e02534c879731274d427b0f563b8fa08
> Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1556590
> Auto-Submit: Thomas Anderson <thomasanderson@chromium.org>
> Commit-Queue: Nico Weber <thakis@chromium.org>
> Reviewed-by: Nico Weber <thakis@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#652740}
TBR=thakis@chromium.org,thomasanderson@chromium.org
# Not skipping CQ checks because original CL landed > 1 day ago.
Bug: 801780, 947911
Change-Id: I500bcb164774f7d185dad336dc310b6f0c1a0614
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1577941
Reviewed-by: John Abd-El-Malek <jam@chromium.org>
Commit-Queue: John Abd-El-Malek <jam@chromium.org>
Cr-Original-Commit-Position: refs/heads/master@{#652999}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 534ab28cbc3fd592bca0e7e046a78a795ebe79f0
With this, debuggers can show std::string, std::wstring, and
std::vector with libc++ as well as with the Microsoft standard library.
Bug: 947911
Change-Id: I5368ad46711df9d47a386bfc483853ddacb9b0b8
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1548129
Auto-Submit: Nico Weber <thakis@chromium.org>
Commit-Queue: Hans Wennborg <hans@chromium.org>
Reviewed-by: Hans Wennborg <hans@chromium.org>
Cr-Original-Commit-Position: refs/heads/master@{#650755}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: d44bbe9ffcf64dfb45164aadbab84ab8bee2319b
In some cases we want to have a shared libc++.so, even for a
non-component build (eg, when loading externally-built shared libs that
also depend on libc++).
Bug: 949579
Change-Id: Ifb119a5df3f2ec574df0876748b3436f0200998f
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1551481
Reviewed-by: Nico Weber <thakis@chromium.org>
Commit-Queue: Kenneth MacKay <kmackay@chromium.org>
Cr-Original-Commit-Position: refs/heads/master@{#647812}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 8fd80fda95ece1533aa663fa97e680561bb5843b
Reverts "Switch Windows to build with in-tree libc++" (#641450)
while we write a natvis file for it.
Bug: 947911,801780
Change-Id: I8e574fe9c106c2112d0c6fcfd195f53b8a2a1f47
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1546066
Commit-Queue: Nico Weber <thakis@chromium.org>
Commit-Queue: John Abd-El-Malek <jam@chromium.org>
Reviewed-by: Nico Weber <thakis@chromium.org>
Cr-Original-Commit-Position: refs/heads/master@{#646522}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 27026b5f155273f8e0721cd56a7f384a32b24e84
Binary size regression of about 109kB is expected -- please add
thomasanderson@ and thakis@ to the bug.
BUG=945054
R=thakis
Change-Id: Iaca4178e3b23b55a36af55d119d2eda2b76ef71d
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1534897
Commit-Queue: Thomas Anderson <thomasanderson@chromium.org>
Auto-Submit: Thomas Anderson <thomasanderson@chromium.org>
Reviewed-by: Justin Cohen <justincohen@chromium.org>
Reviewed-by: Rohit Rao <rohitrao@chromium.org>
Reviewed-by: Nico Weber <thakis@chromium.org>
Cr-Original-Commit-Position: refs/heads/master@{#645001}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: dd9e27c0290618d32f50486ddb271704eab69999
This is a partial revert of [1]. Keep disabling libc++ on Win/cl.exe, but
reenable it with Win/libfuzzer since the timeout issues should (hopefully) be
fixed after [2].
[1] https://chromium-review.googlesource.com/c/chromium/src/+/1527776
[2] f05d184130
BUG=942939
R=thakis
Change-Id: Iad160248b0d6fe631ac71719ba6b1e23728c4fa2
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1533183
Auto-Submit: Thomas Anderson <thomasanderson@chromium.org>
Reviewed-by: Nico Weber <thakis@chromium.org>
Commit-Queue: Nico Weber <thakis@chromium.org>
Commit-Queue: Thomas Anderson <thomasanderson@chromium.org>
Cr-Original-Commit-Position: refs/heads/master@{#642788}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 876a076ba4c2fac9d01814e21e6b5bcb7ec78ad3
[1] is needed to fix some ASAN timeouts on Windows. [2] is the full changelog.
Remove CR_LIBCXXABI_REVISION since it shouldn't be needed and is only bloating
the compile lines. libc++abi headers contain only non-template function
declarations, and none of the functions will ever be removed, so it's safe to
remove this macro.
Remove CR_LIBCXX_REVISION on Windows since Windows builds include libc++ using
-I not -isystem.
These changes are made during this roll because a change was made to libc++'s
__config, so everything has to be rebuilt anyway and now's a convenient time to
do it.
Finally, get rid of clang_format_svn_revision, libcxxabi_svn_revision, and
libunwind_svn_revision since they're (no longer) used.
[1] 3cc1daa7cf
[2] a50f503562..9009625c82
R=thakis
BUG=942881,942939,943064,942882
Change-Id: I35b2d10189e89f68aba5ca662132e368ded071e9
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1532530
Commit-Queue: Nico Weber <thakis@chromium.org>
Commit-Queue: Thomas Anderson <thomasanderson@chromium.org>
Auto-Submit: Thomas Anderson <thomasanderson@chromium.org>
Reviewed-by: Nico Weber <thakis@chromium.org>
Cr-Original-Commit-Position: refs/heads/master@{#642642}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: f05d184130d651fd7ab3f5712aaeaf53a0cf0815
Windows/libc++ has been in the tree for about 1.5 days now and fortunately the
only real failures are timeouts. Rather than reverting and disabling libc++
everywhere, instead selectively disable it for the configurations that are
having issues.
Specifically, the V8 cl.exe build has broken, so disable libc++ there. Several
Windows fuzzers are timing out, so temporarily disable libc++ for libfuzzer.
BUG=801780,942915,942939
R=thakis
Change-Id: I9dd0d4c435f499c8e7cf05cdf14bb0fc2829fa15
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1527776
Commit-Queue: Thomas Anderson <thomasanderson@chromium.org>
Commit-Queue: Nico Weber <thakis@chromium.org>
Auto-Submit: Thomas Anderson <thomasanderson@chromium.org>
Reviewed-by: Nico Weber <thakis@chromium.org>
Cr-Original-Commit-Position: refs/heads/master@{#641507}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 64b50e0ea351d597c2a5f882283888756e82d91d
Binary size regression of up to 512KiB is expected.
buildtools roll includes a single CL:
2f02e1f363
Note on chromium-dev:
https://groups.google.com/a/chromium.org/forum/#!topic/chromium-dev/QeXzX4MVrlo
BUG=840822,923084
R=thakis
TBR=kbr
Change-Id: Iacaf90dc480c6d8b9939c99c398a8960a2e9d4ed
Reviewed-on: https://chromium-review.googlesource.com/c/1396842
Reviewed-by: Thomas Anderson <thomasanderson@chromium.org>
Reviewed-by: Nico Weber <thakis@chromium.org>
Reviewed-by: Dmitry Gozman <dgozman@chromium.org>
Commit-Queue: Thomas Anderson <thomasanderson@chromium.org>
Cr-Original-Commit-Position: refs/heads/master@{#624193}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: d9d71d7e9f8ebd301d9a6449adfef44e63a65487
This CL fixes cronet_test_instrumentation_apk tests failing on Android Cronet
Builder Asan. In previous CLs, the solution was to export libc++abi from
"toplevel" shared libraries. Explanation:
On Android, many shared libraries get loaded from the context of a JRE. In
this case, there's no "main executable" to export libc++abi from. We could
export libc++abi from each "toplevel" shared library instead, but that would
require adding an explicit dependency for each one, and might introduce
subtle, hard-to-fix problems down the line if the dependency is missing.
Instead, this CL makes libc++ a shared library on Android sanitizer builds.
This should be fine on Android. Explanation:
export_libcxxabi_from_executables was added to avoid having an RPATH set in
static sanitizer builds just for exectuables to find libc++. But on
Android, the Bionic dyanmic loader doesn't even look at RPATH; instead,
LD_LIBRARY_PATH is set for tests. Because of this, we make libc++ a shared
library on android since it should get loaded properly.
Followup CLs will revert changes that added libc++abi dependencies for shared
libraries.
Depends on buildtools CL:
https://chromium-review.googlesource.com/c/chromium/buildtools/+/1409942
BUG=921626
R=thakis
Change-Id: I21ff878b21407ee7b6a2914db6b46a9db47bf045
Reviewed-on: https://chromium-review.googlesource.com/c/1409558
Commit-Queue: Thomas Anderson <thomasanderson@chromium.org>
Reviewed-by: Nico Weber <thakis@chromium.org>
Cr-Original-Commit-Position: refs/heads/master@{#622634}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: e9ed5b509aa4013028812221e6d27913a4175be1
This CL
1. Reverts 9a085ba23156aba9ade0a08efd3d948f9527f01e
2. Rolls buildtools back to 7d88270de197ebe8b439ab5eb57a4a2a0bb810e0
3. Disables libc++ on Android
BUG=910864,846855,767901
TBR=thakis
CC=mmoroz
NOTRY=true
Change-Id: I44e3a504fa6b842099fef78371c7dfcf7921f2f5
Reviewed-on: https://chromium-review.googlesource.com/c/1379245
Commit-Queue: Thomas Anderson <thomasanderson@chromium.org>
Reviewed-by: Thomas Anderson <thomasanderson@chromium.org>
Cr-Original-Commit-Position: refs/heads/master@{#616895}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 0e2335f44024cc59d7c4a8a3fd76212628f1f64c
This includes a reland of [1]. The original CL was broken on certain ChromeOS
configs because -rdynamic wasn't getting set on executables. This CL fixes the
issue by adding //build/config/compiler:export_dynamic.
This change makes libc++ a shared_library iff is_component_build=true, just like
all other components. This has the advantage that the RPATH doesn't need to be
set in sanitizer (non-component) builds just so binaries can find libc++.so.
This CL also changes RPATH to be set iff is_component_build=true.
Needs buildtools CL [2].
[1] f002a96e9b
[2] https://chromium-review.googlesource.com/c/chromium/buildtools/+/1153974
R=thakis,pcc,dpranke
TBR=jochen,michaelpg,sergeyu
BUG=850682
CQ_INCLUDE_TRYBOTS=luci.chromium.try:linux_chromium_msan_rel_ng;master.tryserver.chromium.linux:linux_chromium_ubsan_rel_ng;luci.chromium.try:linux_chromium_asan_rel_ng;luci.chromium.try:linux_chromium_tsan_rel_ng
Change-Id: I0067041dab85e16595bdeb2f790a68443208117f
Reviewed-on: https://chromium-review.googlesource.com/1153978
Commit-Queue: Thomas Anderson <thomasanderson@chromium.org>
Reviewed-by: Peter Collingbourne <pcc@chromium.org>
Reviewed-by: Nico Weber <thakis@chromium.org>
Cr-Original-Commit-Position: refs/heads/master@{#579138}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 8a1a7293f365fb2685ae57fa24d34b7ee72ad8dd
This reverts commit f002a96e9b788fe71fd1c773a4bc891940c409d8.
Reason for revert: Dirk bisected the chromeos asan failures and it appears this is the culprit. The output from the failing bots isn't particularly helpful as it doesn't have symbols. Here's a recent failure: https://ci.chromium.org/p/chromium/builders/luci.chromium.ci/Linux%20Chromium%20OS%20ASan%20LSan%20Tests%20%281%29/28402
BUG=867826
Original change's description:
> Remove libcpp_is_static
>
> This change makes libc++ a shared_library iff is_component_build=true, just like
> all other components. This has the advantage that the RPATH doesn't need to be
> set in sanitizer (non-component) builds just so binaries can find libc++.so.
> This CL also changes RPATH to be set iff is_component_build=true.
>
> Needs buildtools CL:
> https://chromium-review.googlesource.com/c/chromium/buildtools/+/1142370
>
> TBR=dpranke,jochen
> R=thakis
> BUG=850682
> CQ_INCLUDE_TRYBOTS=luci.chromium.try:linux_chromium_msan_rel_ng;master.tryserver.chromium.linux:linux_chromium_ubsan_rel_ng;luci.chromium.try:linux_chromium_asan_rel_ng;luci.chromium.try:linux_chromium_tsan_rel_ng
>
> Change-Id: I96e74da6d907659b939a0f229693bbd2a6d9140a
> Reviewed-on: https://chromium-review.googlesource.com/1119098
> Commit-Queue: Thomas Anderson <thomasanderson@chromium.org>
> Reviewed-by: Peter Collingbourne <pcc@chromium.org>
> Reviewed-by: Nico Weber <thakis@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#578085}
TBR=thakis@chromium.org,pcc@chromium.org,thomasanderson@chromium.org
Change-Id: Ieec9ae83b7c12004521358cf71eb2d09fdfc7a09
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: 850682
Cq-Include-Trybots: luci.chromium.try:linux_chromium_msan_rel_ng;master.tryserver.chromium.linux:linux_chromium_ubsan_rel_ng;luci.chromium.try:linux_chromium_asan_rel_ng;luci.chromium.try:linux_chromium_tsan_rel_ng
Reviewed-on: https://chromium-review.googlesource.com/1151917
Reviewed-by: Scott Violet <sky@chromium.org>
Commit-Queue: Scott Violet <sky@chromium.org>
Cr-Original-Commit-Position: refs/heads/master@{#578435}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: c2b25737b2f878e0917d8cd0553d11c557b5cb92