When we use the hermetic toolchain, all binaries are specified by path. Since we
no longer use xcrun to find the binaries, we also no longer need DEVELOPER_DIR.
Bug: 971452
Change-Id: I46499bef18afc19e51aae943047fd33beecac75c
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1650281
Reviewed-by: Nico Weber <thakis@chromium.org>
Commit-Queue: Erik Chen <erikchen@chromium.org>
Cr-Original-Commit-Position: refs/heads/master@{#667280}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: b5f646147dee024274d30f24b5ce939c32fa2887
This allows the macOS toolchain to avoid using xcrun to find the path for strip.
Bug: 971452
Change-Id: I7d7b87462ee33201b57a75bfa58e5fbf8ddaee5f
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1649187
Reviewed-by: Nico Weber <thakis@chromium.org>
Commit-Queue: Erik Chen <erikchen@chromium.org>
Cr-Original-Commit-Position: refs/heads/master@{#667215}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 2eaf8f5a560c5b86a74b97c9e5623b72c106c433
This CL is a refactor with no intended behavior change.
Bug: 965663
Change-Id: I07a61658d730c0982e52f7e496d05cb274c9ef2d
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1648695
Reviewed-by: Nico Weber <thakis@chromium.org>
Commit-Queue: Erik Chen <erikchen@chromium.org>
Cr-Original-Commit-Position: refs/heads/master@{#667184}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 7479370d8d92077c27d77434ace959a331ce1182
Linking on macOS is invoked via clang++. If clang++ cannot find ld on the
default search path, clang++ will invoke xcrun to search for ld. This CL
explicitly passes the path to ld if we're using hermetic xcode. This way clang++
will not invoke xcrun.
Bug: 971452
Change-Id: I5bcaa577d9ccc6d3ceca6e2524482e299b371e92
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1649179
Reviewed-by: Nico Weber <thakis@chromium.org>
Commit-Queue: Erik Chen <erikchen@chromium.org>
Cr-Original-Commit-Position: refs/heads/master@{#667154}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: ea5d6db4f364752de2a5d71e44ced11784475a55
Both binaries show up in the default macOS search path, but as minimal wrappers
around xcrun. By specifying the paths explicitly, we avoid calls to xcrun.
Bug: 971452
Change-Id: Ia852f4b9991fd548f3c83bc04fdda7389e44a72a
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1649223
Reviewed-by: Nico Weber <thakis@chromium.org>
Commit-Queue: Erik Chen <erikchen@chromium.org>
Cr-Original-Commit-Position: refs/heads/master@{#667153}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: bcdbc4c814be4fc16af355b88d4f6788e78fe7f7
This reverts commit 6f979049822acf3e4cde9b34f5dcfeb8e94745e5.
Reason for revert: This doesn't cause compile failure.
I have to revert
https://chromium-review.googlesource.com/c/chromium/src/+/1649054
Original change's description:
> Revert "Use explicit path for libtool rather than implicit invocation of xcrun."
>
> This reverts commit 1f49775ab209ba5668029cdffe63f40ce5e98668.
>
> Reason for revert: causes compile failure on Mac ASan 64 Builder
> https://ci.chromium.org/p/chromium/builders/ci/Mac%20ASan%2064%20Builder/84739
> https://logs.chromium.org/logs/chromium/buildbucket/cr-buildbucket.appspot.com/8911354223898031376/+/steps/compile/0/stdout
>
>
> Original change's description:
> > Use explicit path for libtool rather than implicit invocation of xcrun.
> >
> > libtool is part of the default path at /usr/bin/libtool. That binary is just a
> > shim that calls out to xcrun to find the actual libtool. If we're using hermetic
> > xcode, then we can explicitly specify the path to avoid invoking xcrun.
> >
> > Bug: 971452
> > Change-Id: If9344a244160ccc43895cf913d48f9c9a44ac5d9
> > Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1648836
> > Reviewed-by: Dirk Pranke <dpranke@chromium.org>
> > Commit-Queue: Erik Chen <erikchen@chromium.org>
> > Cr-Commit-Position: refs/heads/master@{#666906}
>
> TBR=dpranke@chromium.org,erikchen@chromium.org
>
> Change-Id: I0cdc4acdff512213116ecd872230b6d7b634b865
> No-Presubmit: true
> No-Tree-Checks: true
> No-Try: true
> Bug: 971452
> Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1647598
> Reviewed-by: Takashi Sakamoto <tasak@google.com>
> Commit-Queue: Takashi Sakamoto <tasak@google.com>
> Cr-Commit-Position: refs/heads/master@{#666983}
TBR=dpranke@chromium.org,tasak@google.com,erikchen@chromium.org
Change-Id: I1180b957926016864fcb83f351985ce6ec4fb8bb
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: 971452
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1647600
Reviewed-by: Takashi Sakamoto <tasak@google.com>
Commit-Queue: Takashi Sakamoto <tasak@google.com>
Cr-Original-Commit-Position: refs/heads/master@{#666985}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 20fb0ca2321693ac194b9efd7c83d8a4b856fdb4
This allows the macOS toolchain to avoid using xcrun to find the path for strip
and dsymutil.
Bug: 971452
Change-Id: Ib3d8865c44e1d95ed2fe22b6393d7e1549f9e621
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1649054
Reviewed-by: Dirk Pranke <dpranke@chromium.org>
Commit-Queue: Erik Chen <erikchen@chromium.org>
Cr-Original-Commit-Position: refs/heads/master@{#666915}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 9cc11952e44ef12a6f4b16ff4e310f838bd0319f
libtool is part of the default path at /usr/bin/libtool. That binary is just a
shim that calls out to xcrun to find the actual libtool. If we're using hermetic
xcode, then we can explicitly specify the path to avoid invoking xcrun.
Bug: 971452
Change-Id: If9344a244160ccc43895cf913d48f9c9a44ac5d9
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1648836
Reviewed-by: Dirk Pranke <dpranke@chromium.org>
Commit-Queue: Erik Chen <erikchen@chromium.org>
Cr-Original-Commit-Position: refs/heads/master@{#666906}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 1f49775ab209ba5668029cdffe63f40ce5e98668
xcassets are only used on iOS, not macOS. We want to minimize the number of
Xcode-based tools used by the macOS toolchain, so we intentionally disallow
future uses of xcassets on macOS.
Change-Id: Id559f84633be6c935211561b976a7991810d94ad
Bug: 965663
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1643406
Commit-Queue: Nico Weber <thakis@chromium.org>
Reviewed-by: Nico Weber <thakis@chromium.org>
Cr-Original-Commit-Position: refs/heads/master@{#666695}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 6c478646f25b58fe24c885b76f3f3e5c0a0fcd51
This reverts commit 28c84c16d28cba67c4ec61997632f71583453d22.
Reason for revert: https://crbug.com/969587
Original change's description:
> [Mac] Preserve symbolic links in the copy_bundle_data tool
>
> This is a reland of 6a008993a2e5, which was reverted in 235d842aa70a.
> (Thus, this is a revert of that revert.)
>
> Since the last attempt, the structure of the keystone_registration
> bundle_data rule in third_party/googlemac (via src-internal DEPS) has
> changed to avoid the dangling symbolic link problem previously
> encountered.
>
> The description from 6a008993a2e5:
>
> The copy_bundle_data tool is implemented in terms of pax for directories
> and ln hard links for files. The pax command does preserve symbolic
> links within the tree that is being copied. But with the way that pax is
> invoked by the tool, cd-ing into the source, if the source is itself
> a symbolic link to a directory, the tree will be logically copied rather
> than just as a symbolic link.
>
> A similar issue exists with the non-directory symbolic link source case,
> where a hard link will be produced instead of a symbolic link.
>
> Fix both of these cases by specifically testing if the source is a
> symbolic link and then re-creating it if so.
>
> Bug: 955936
> Change-Id: Ia13ddf743603e98337c3523e9101e7627e1c31d0
> Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1637673
> Reviewed-by: Nico Weber <thakis@chromium.org>
> Commit-Queue: Mark Mentovai <mark@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#665203}
TBR=thakis@chromium.org,mark@chromium.org
# Not skipping CQ checks because original CL landed > 1 day ago.
Bug: 955936
Change-Id: I4de6596c29598961ac15fbd24acc54b1f763735a
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1639152
Reviewed-by: Mark Mentovai <mark@chromium.org>
Commit-Queue: Mark Mentovai <mark@chromium.org>
Cr-Original-Commit-Position: refs/heads/master@{#665543}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 13865f386b4286efad2d98e0c7118ed614ce92df
This is a reland of 6a008993a2e5, which was reverted in 235d842aa70a.
(Thus, this is a revert of that revert.)
Since the last attempt, the structure of the keystone_registration
bundle_data rule in third_party/googlemac (via src-internal DEPS) has
changed to avoid the dangling symbolic link problem previously
encountered.
The description from 6a008993a2e5:
The copy_bundle_data tool is implemented in terms of pax for directories
and ln hard links for files. The pax command does preserve symbolic
links within the tree that is being copied. But with the way that pax is
invoked by the tool, cd-ing into the source, if the source is itself
a symbolic link to a directory, the tree will be logically copied rather
than just as a symbolic link.
A similar issue exists with the non-directory symbolic link source case,
where a hard link will be produced instead of a symbolic link.
Fix both of these cases by specifically testing if the source is a
symbolic link and then re-creating it if so.
Bug: 955936
Change-Id: Ia13ddf743603e98337c3523e9101e7627e1c31d0
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1637673
Reviewed-by: Nico Weber <thakis@chromium.org>
Commit-Queue: Mark Mentovai <mark@chromium.org>
Cr-Original-Commit-Position: refs/heads/master@{#665203}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 28c84c16d28cba67c4ec61997632f71583453d22
This reverts commit 6c3a34bfc2030ffd304c54f5cb96d234622ef389.
Reason for revert: It broke some builds with:
The file:
//out/Release_x64/win_clang_x86/browser_switcher_bho.dll.pdb
is listed as an input or source for the target:
//chrome/browser/browser_switcher/bho:copy_browser_switcher_binaries
but no targets in the build generate that file.
See for instance https://ci.chromium.org/p/chromium/builders/ci/Jumbo%20Win%20x64/35757
and the comment in the bug.
Original change's description:
> [BrowserSwitcher] Build BHO for both bitnesses
>
> To do so, this CL also adds support for the x86 toolchain in an x64
> build.
>
> Instead of generating one DLL, we now generate 2 DLLs in the root
> out-dir:
>
> - browser_switcher_bho.dll (x86)
> - browser_switcher_bho_64.dll (x64)
>
> The one that is cross-built (i.e. bitness doesn't match the host) is
> built in a sub-directory, and then copied to the root out-dir.
>
> Bug: 952897
> Change-Id: Ie96ff95556dbe41c8d8eb2fb5ce748964705e096
> Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1589457
> Reviewed-by: Bruce Dawson <brucedawson@chromium.org>
> Reviewed-by: Dirk Pranke <dpranke@chromium.org>
> Commit-Queue: Nicolas Ouellet-Payeur <nicolaso@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#663196}
TBR=thakis@chromium.org,dpranke@chromium.org,brucedawson@chromium.org,nicolaso@chromium.org
Change-Id: I2f1929a4e2ea2f9408273c5f04b52ee79580b4cc
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: 952897
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1630427
Reviewed-by: Daniel Bratell <bratell@opera.com>
Commit-Queue: Daniel Bratell <bratell@opera.com>
Cr-Original-Commit-Position: refs/heads/master@{#663392}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: b0179d714f8129f2e95e447f35fc5c1031ffdb65
To do so, this CL also adds support for the x86 toolchain in an x64
build.
Instead of generating one DLL, we now generate 2 DLLs in the root
out-dir:
- browser_switcher_bho.dll (x86)
- browser_switcher_bho_64.dll (x64)
The one that is cross-built (i.e. bitness doesn't match the host) is
built in a sub-directory, and then copied to the root out-dir.
Bug: 952897
Change-Id: Ie96ff95556dbe41c8d8eb2fb5ce748964705e096
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1589457
Reviewed-by: Bruce Dawson <brucedawson@chromium.org>
Reviewed-by: Dirk Pranke <dpranke@chromium.org>
Commit-Queue: Nicolas Ouellet-Payeur <nicolaso@chromium.org>
Cr-Original-Commit-Position: refs/heads/master@{#663196}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 6c3a34bfc2030ffd304c54f5cb96d234622ef389
This reverts commit 6a008993a2e54af93edd956a53c786668bc0e253.
Reason for revert: https://crbug.com/966766, more information at https://crbug.com/955936 beginning at comment 13
Original change's description:
> [Mac] Preserve symbolic link in the copy_bundle_data tool.
>
> The copy_bundle_data tool is implemented in terms of pax for directories
> and ln hard links for files. The pax command does preserve symbolic
> links within the tree that is being copied. But with the way that pax is
> invoked by the tool, cd-ing into the source, if the source is itself
> a symbolic link to a directory, the tree will be logically copied rather
> than just as a symbolic link.
>
> A similar issue exists with the non-directory symbolic link source case,
> where a hard link will be produced instead of a symbolic link.
>
> Fix both of these cases by specifically testing if the source is a
> symbolic link and then re-creating it if so.
>
> Bug: 955936
> Change-Id: I69cf96878e59b0b7b121ae46cba5bc1e81f261ae
> Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1626269
> Reviewed-by: Sylvain Defresne <sdefresne@chromium.org>
> Reviewed-by: Mark Mentovai <mark@chromium.org>
> Commit-Queue: Robert Sesek <rsesek@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#662575}
TBR=sdefresne@chromium.org,rsesek@chromium.org,mark@chromium.org
# Not skipping CQ checks because original CL landed > 1 day ago.
Bug: 955936
Change-Id: Ia1489278b62d0cdb33ed8980bbd6a6bcab0bb199
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1628045
Reviewed-by: Mark Mentovai <mark@chromium.org>
Reviewed-by: Sylvain Defresne <sdefresne@chromium.org>
Commit-Queue: Mark Mentovai <mark@chromium.org>
Cr-Original-Commit-Position: refs/heads/master@{#663076}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 235d842aa70a59c872d89e16b4a65606db5fb000
The copy_bundle_data tool is implemented in terms of pax for directories
and ln hard links for files. The pax command does preserve symbolic
links within the tree that is being copied. But with the way that pax is
invoked by the tool, cd-ing into the source, if the source is itself
a symbolic link to a directory, the tree will be logically copied rather
than just as a symbolic link.
A similar issue exists with the non-directory symbolic link source case,
where a hard link will be produced instead of a symbolic link.
Fix both of these cases by specifically testing if the source is a
symbolic link and then re-creating it if so.
Bug: 955936
Change-Id: I69cf96878e59b0b7b121ae46cba5bc1e81f261ae
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1626269
Reviewed-by: Sylvain Defresne <sdefresne@chromium.org>
Reviewed-by: Mark Mentovai <mark@chromium.org>
Commit-Queue: Robert Sesek <rsesek@chromium.org>
Cr-Original-Commit-Position: refs/heads/master@{#662575}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 6a008993a2e54af93edd956a53c786668bc0e253
.tlb files aren't always generated nor used, so it'll be up to the invoker to specify when adding them to outputs is necessary.
This CL also enables this for existing code where appropriate.
The issue was found and a fix discussed in https://chromium-review.googlesource.com/c/chromium/src/+/1585890/.
TBR=jamiewalch
Bug: 959555
Change-Id: I426fdabf0f7a03500cf2078a6e759255c2df7ddc
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1606162
Commit-Queue: Nico Weber <thakis@chromium.org>
Reviewed-by: Nico Weber <thakis@chromium.org>
Cr-Original-Commit-Position: refs/heads/master@{#658898}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: c6ab2e74d22eb49d72bd7084aaa6e84e8ec8113c
This change builds on the prototype posted by pcc@, here:
http://crrev.com/c/1521283
The partitioned_shared_library GN template may be used in place of
shared_library to create a set of libraries linked simultaneously. This
will be leveraged in later changes to split code into Android dynamic
feature modules. The current change adds the GN template for the set of
partitions, along with the Python wrapper script invoked by GN.
Bug: 921663
Change-Id: I805d598b03ae15bd4ceeb8e915526ed8b15af4cb
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1568772
Reviewed-by: Peter Collingbourne <pcc@chromium.org>
Reviewed-by: Andrew Grieve <agrieve@chromium.org>
Reviewed-by: Tibor Goldschwendt <tiborg@chromium.org>
Commit-Queue: Christopher Grant <cjgrant@chromium.org>
Cr-Original-Commit-Position: refs/heads/master@{#654117}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 3b06acce01851078c171e97d7480b8b719e7f6d9
The clang we ship no longer includes the static analyzer, so this flag
hasn't been working for a while. Remove it, and mb stuff for an FYI bot
that uses it.
The plan is to run the static analyzer through clang-tidy instead.
While here, also remove the 'win analyze' bot src bits, since that
bot depends on MSVC which we haven't supported in a while either,
and the little bit of GN code kept alive by it.
Bug: 925145,687243
Change-Id: I042d3cc9f512a024a6eae6a8e7d43aa2f9a74fea
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1538987
Commit-Queue: Nico Weber <thakis@chromium.org>
Reviewed-by: Hans Wennborg <hans@chromium.org>
Auto-Submit: Nico Weber <thakis@chromium.org>
Cr-Original-Commit-Position: refs/heads/master@{#644866}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: db1eca94f6af3ebca12da507180ed20afe038b5d
- Move global win-only flags from //build/config/compiler to
//build/config/win:compiler which the former already references if is_win
- Move /FC from the toolchain to //build/config/win:compiler too: The
toolchain isn't where random compiler flags should be added.
- This allows moving msvc_use_absolute_paths from a gni file to a gn file,
so do that as well.
No intended behavior change.
Bug: none
Change-Id: I1b35a4242649105e005b94df911849ebf44d7c5d
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1541636
Commit-Queue: Nico Weber <thakis@chromium.org>
Commit-Queue: Hans Wennborg <hans@chromium.org>
Auto-Submit: Nico Weber <thakis@chromium.org>
Reviewed-by: Hans Wennborg <hans@chromium.org>
Cr-Original-Commit-Position: refs/heads/master@{#644799}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: d4061911728278e25b342e0213dd42aa4155d89c
These changes allow more of Chromium to be built using Python 3.
The scripts still work with Python 2.
There are no intended behaviour changes.
Bug: 941669
Change-Id: I6897d00ce00ec6aa5d7ca216b9f302e725a21897
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1527522
Reviewed-by: Dirk Pranke <dpranke@chromium.org>
Commit-Queue: Raul Tambre <raul@tambre.ee>
Cr-Original-Commit-Position: refs/heads/master@{#642401}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 79fbf3cf437660defd0eee56685c7a785812591d
The changes are to allow build files to be generated using Python 3 on Windows.
The scripts still work with Python 2.
There are no intended behaviour changes.
Bug: 941669
Change-Id: I52c912c624660c7a46c05f8f36871744abd7b8d4
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1521487
Reviewed-by: Dirk Pranke <dpranke@chromium.org>
Commit-Queue: Raul Tambre <raul@tambre.ee>
Cr-Original-Commit-Position: refs/heads/master@{#641870}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 4197d3af6e42aa72076d6051153a644f3df62dd5
Since we lack the libclang_rt.profile library for Android x86/x86_64,
we cannot link any Android binaries that are built with coverage
instrumentation. This blocks generating coverage builds for Chrome OS,
because of ARC. Therefore, we need to ensure that no files built for
Android x86/x86_64 have coverage instrumentation.
We previously attempted to workaround this by excluding libmojo.so from
Chrome OS builds in crrev.com/c/1493471. We have since discovered that
that change is insufficient, and also fragile, since a dependency on
mojo can be added anywhere in the build files.
This new change is a better workaround. Instead of special-casing mojo,
we disable coverage instrumentation for the all of android_clang_x86
and android_clang_x64 toolchains. This is better because it prevents
any Android-toolchain files from generating coverage instrumentation.
Bug: 865376
Change-Id: Ia0ea208fc850d5e0d78ff172eabf02e503a8c1de
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1515902
Commit-Queue: Sajjad Mirza <sajjadm@chromium.org>
Reviewed-by: Dirk Pranke <dpranke@chromium.org>
Reviewed-by: Yuke Liao <liaoyuke@chromium.org>
Cr-Original-Commit-Position: refs/heads/master@{#639698}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 07197e8e3c9432e317a50921e2c705afb6024226
This is a fix for crrev.com/c/1496002, which was reverted because of a
1-character mistake. The rest of the CL message is copied from the
original:
Previously the wrapper script would only be used for coverage builds
that required selective instrumentation of specific files. Now it
will also be used for any coverage builds.
Since the script's job is to remove flags from files that shouldn't
have them the default_coverage config now adds to cflags even in a
CQ build.
Bug: 918215
Change-Id: Ifdb13657c0c7a80d79960b411050e4f8918fa172
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1508560
Reviewed-by: Dirk Pranke <dpranke@chromium.org>
Commit-Queue: Sajjad Mirza <sajjadm@google.com>
Cr-Original-Commit-Position: refs/heads/master@{#638762}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 494df319742a206bca4d28ac6e0707bdd7d9a3ee
This is a reland of cdc92f96b8b0e231e1e6c9cc173c9c473d10e908
Original change's description:
> Reland "Adding an exclusion list to the coverage wrapper script."
>
> This is a reland of 6b7213a45382f01ac0a2efec1015545bd051da89
>
> Original change's description:
> > Adding an exclusion list to the coverage wrapper script.
> >
> > The script now assumes GN adds coverage flags to the cflags for each
> > source file. The script removes the flag if the file is in an exclusion
> > list, or if `--files-to-instrument` is set it will also remove flags if
> > the file is not listed in that argument.
> >
> > The script supports multiple exclusion lists that can be selected with
> > the `--target-os` flag.
> >
> > It's expected that GN will set these flags correctly and invoke the
> > script in all coverage builds. http://crrev.com/c/1496002 does that.
> >
> >
> > Bug: 918215
> > Change-Id: I4454f67067a083581f31a22cfef85368825789f9
> > Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1495994
> > Commit-Queue: Sajjad Mirza <sajjadm@google.com>
> > Reviewed-by: Max Moroz <mmoroz@chromium.org>
> > Reviewed-by: Yuke Liao <liaoyuke@chromium.org>
> > Reviewed-by: Roberto Carrillo <robertocn@chromium.org>
> > Cr-Commit-Position: refs/heads/master@{#637892}
>
> Bug: 918215
> Change-Id: I1254d288ff263ff94c46b46e6be99738e31b9574
> Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1506974
> Reviewed-by: Yuke Liao <liaoyuke@chromium.org>
> Reviewed-by: Max Moroz <mmoroz@chromium.org>
> Commit-Queue: Sajjad Mirza <sajjadm@google.com>
> Cr-Commit-Position: refs/heads/master@{#638362}
Bug: 918215
Change-Id: Ibd1e68a066bddd69e46c9cb32fcd9df209d97a1a
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1509459
Reviewed-by: Max Moroz <mmoroz@chromium.org>
Commit-Queue: Sajjad Mirza <sajjadm@google.com>
Cr-Original-Commit-Position: refs/heads/master@{#638758}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: bf9e66a59b64620d096c5c2701532e16381361ca
This reverts commit cdc92f96b8b0e231e1e6c9cc173c9c473d10e908.
Reason for revert: Since the other one was reverted: https://chromium-review.googlesource.com/c/chromium/src/+/1508457
Original change's description:
> Reland "Adding an exclusion list to the coverage wrapper script."
>
> This is a reland of 6b7213a45382f01ac0a2efec1015545bd051da89
>
> Original change's description:
> > Adding an exclusion list to the coverage wrapper script.
> >
> > The script now assumes GN adds coverage flags to the cflags for each
> > source file. The script removes the flag if the file is in an exclusion
> > list, or if `--files-to-instrument` is set it will also remove flags if
> > the file is not listed in that argument.
> >
> > The script supports multiple exclusion lists that can be selected with
> > the `--target-os` flag.
> >
> > It's expected that GN will set these flags correctly and invoke the
> > script in all coverage builds. http://crrev.com/c/1496002 does that.
> >
> >
> > Bug: 918215
> > Change-Id: I4454f67067a083581f31a22cfef85368825789f9
> > Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1495994
> > Commit-Queue: Sajjad Mirza <sajjadm@google.com>
> > Reviewed-by: Max Moroz <mmoroz@chromium.org>
> > Reviewed-by: Yuke Liao <liaoyuke@chromium.org>
> > Reviewed-by: Roberto Carrillo <robertocn@chromium.org>
> > Cr-Commit-Position: refs/heads/master@{#637892}
>
> Bug: 918215
> Change-Id: I1254d288ff263ff94c46b46e6be99738e31b9574
> Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1506974
> Reviewed-by: Yuke Liao <liaoyuke@chromium.org>
> Reviewed-by: Max Moroz <mmoroz@chromium.org>
> Commit-Queue: Sajjad Mirza <sajjadm@google.com>
> Cr-Commit-Position: refs/heads/master@{#638362}
TBR=stgao@chromium.org,robertocn@chromium.org,mmoroz@chromium.org,liaoyuke@chromium.org,sajjadm@google.com
Change-Id: I43834e520ccadd680217e80fc6ca40a210684b3c
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: 918215
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1508597
Reviewed-by: Yuke Liao <liaoyuke@chromium.org>
Commit-Queue: Yuke Liao <liaoyuke@chromium.org>
Cr-Original-Commit-Position: refs/heads/master@{#638587}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 20eb9bf1ab3a31f4a80d1524e447989275106f8b
This reverts commit 78d6b9950b4bd9462c226b2cc2ac1f74ad84ad6a.
Reason for revert:
This broke the coverage builds, see e.g.
https://ci.chromium.org/p/chromium/builders/ci/ToTLinuxCoverage/6258
which fails with:
"/bin/sh: 1: ../../build/toolchain/clang_code_coverage_wrapper.py--target-os=linux: not found"
I guess there's a missing space before --target-os.
Could this have been found in testing?
Original change's description:
> Use the wrapper script in all coverage builds.
>
> Previously the wrapper script would only be used for coverage builds
> that required selective instrumentation of specific files. Now it
> will also be used for any coverage builds.
>
> Since the script's job is to remove flags from files that shouldn't
> have them the default_coverage config now adds to cflags even in a
> CQ build.
>
> Bug: 918215
> Change-Id: I012c5732d46bf5cff9eaf8f50615739bb781cc29
> Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1496002
> Commit-Queue: Sajjad Mirza <sajjadm@google.com>
> Reviewed-by: Dirk Pranke <dpranke@chromium.org>
> Reviewed-by: Max Moroz <mmoroz@chromium.org>
> Reviewed-by: Yuke Liao <liaoyuke@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#638321}
TBR=stgao@chromium.org,dpranke@chromium.org,robertocn@chromium.org,mmoroz@chromium.org,liaoyuke@chromium.org,sajjadm@google.com
Change-Id: I8a945239dadc84d5e1c55a94ee84e34f413e54d5
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: 918215
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1508457
Reviewed-by: Hans Wennborg <hans@chromium.org>
Commit-Queue: Hans Wennborg <hans@chromium.org>
Cr-Original-Commit-Position: refs/heads/master@{#638561}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: a3a48425d72da578ca09184e89ef898b405550c5
This is a reland of 6b7213a45382f01ac0a2efec1015545bd051da89
Original change's description:
> Adding an exclusion list to the coverage wrapper script.
>
> The script now assumes GN adds coverage flags to the cflags for each
> source file. The script removes the flag if the file is in an exclusion
> list, or if `--files-to-instrument` is set it will also remove flags if
> the file is not listed in that argument.
>
> The script supports multiple exclusion lists that can be selected with
> the `--target-os` flag.
>
> It's expected that GN will set these flags correctly and invoke the
> script in all coverage builds. http://crrev.com/c/1496002 does that.
>
>
> Bug: 918215
> Change-Id: I4454f67067a083581f31a22cfef85368825789f9
> Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1495994
> Commit-Queue: Sajjad Mirza <sajjadm@google.com>
> Reviewed-by: Max Moroz <mmoroz@chromium.org>
> Reviewed-by: Yuke Liao <liaoyuke@chromium.org>
> Reviewed-by: Roberto Carrillo <robertocn@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#637892}
Bug: 918215
Change-Id: I1254d288ff263ff94c46b46e6be99738e31b9574
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1506974
Reviewed-by: Yuke Liao <liaoyuke@chromium.org>
Reviewed-by: Max Moroz <mmoroz@chromium.org>
Commit-Queue: Sajjad Mirza <sajjadm@google.com>
Cr-Original-Commit-Position: refs/heads/master@{#638362}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: cdc92f96b8b0e231e1e6c9cc173c9c473d10e908
Previously the wrapper script would only be used for coverage builds
that required selective instrumentation of specific files. Now it
will also be used for any coverage builds.
Since the script's job is to remove flags from files that shouldn't
have them the default_coverage config now adds to cflags even in a
CQ build.
Bug: 918215
Change-Id: I012c5732d46bf5cff9eaf8f50615739bb781cc29
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1496002
Commit-Queue: Sajjad Mirza <sajjadm@google.com>
Reviewed-by: Dirk Pranke <dpranke@chromium.org>
Reviewed-by: Max Moroz <mmoroz@chromium.org>
Reviewed-by: Yuke Liao <liaoyuke@chromium.org>
Cr-Original-Commit-Position: refs/heads/master@{#638321}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 78d6b9950b4bd9462c226b2cc2ac1f74ad84ad6a
This reverts commit 6b7213a45382f01ac0a2efec1015545bd051da89.
Reason for revert: This CL will break per-CL coverage gathering without CL 1496002, and that other CL is not ready yet.
Original change's description:
> Adding an exclusion list to the coverage wrapper script.
>
> The script now assumes GN adds coverage flags to the cflags for each
> source file. The script removes the flag if the file is in an exclusion
> list, or if `--files-to-instrument` is set it will also remove flags if
> the file is not listed in that argument.
>
> The script supports multiple exclusion lists that can be selected with
> the `--target-os` flag.
>
> It's expected that GN will set these flags correctly and invoke the
> script in all coverage builds. http://crrev.com/c/1496002 does that.
>
>
> Bug: 918215
> Change-Id: I4454f67067a083581f31a22cfef85368825789f9
> Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1495994
> Commit-Queue: Sajjad Mirza <sajjadm@google.com>
> Reviewed-by: Max Moroz <mmoroz@chromium.org>
> Reviewed-by: Yuke Liao <liaoyuke@chromium.org>
> Reviewed-by: Roberto Carrillo <robertocn@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#637892}
TBR=stgao@chromium.org,robertocn@chromium.org,mmoroz@chromium.org,liaoyuke@chromium.org,sajjadm@google.com
Change-Id: I0cadb9c3d3ed0600648e273ffe58e7dc3f6ef7f8
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: 918215
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1504960
Reviewed-by: Yuke Liao <liaoyuke@chromium.org>
Cr-Original-Commit-Position: refs/heads/master@{#638167}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 8a9b3730aaf5380049962633b72339e835c4cf72
The script now assumes GN adds coverage flags to the cflags for each
source file. The script removes the flag if the file is in an exclusion
list, or if `--files-to-instrument` is set it will also remove flags if
the file is not listed in that argument.
The script supports multiple exclusion lists that can be selected with
the `--target-os` flag.
It's expected that GN will set these flags correctly and invoke the
script in all coverage builds. http://crrev.com/c/1496002 does that.
Bug: 918215
Change-Id: I4454f67067a083581f31a22cfef85368825789f9
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1495994
Commit-Queue: Sajjad Mirza <sajjadm@google.com>
Reviewed-by: Max Moroz <mmoroz@chromium.org>
Reviewed-by: Yuke Liao <liaoyuke@chromium.org>
Reviewed-by: Roberto Carrillo <robertocn@chromium.org>
Cr-Original-Commit-Position: refs/heads/master@{#637892}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 6b7213a45382f01ac0a2efec1015545bd051da89
The Xcode 9.3 dsymutil dies with "IO Error" when handling objects larger than
2**32 bytes; the upstream llvm one seems not to have this problem.
Bug: 780980
Change-Id: I6846383329bd28a65516c0ef3ad177e1a78d08f3
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1500198
Reviewed-by: Robert Sesek <rsesek@chromium.org>
Reviewed-by: Nico Weber <thakis@chromium.org>
Commit-Queue: Elly Fong-Jones <ellyjones@chromium.org>
Cr-Original-Commit-Position: refs/heads/master@{#637756}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 99453a4326a2d09990877c4516a343028bf89f29
These flags are present in build/config/coverage/BUILD.gn. They
need to be copied to the coverage script.
Bug: 918215
Change-Id: I0c5670f5e826b0640e68fd667f5b69006639b10f
Reviewed-on: https://chromium-review.googlesource.com/c/1497291
Reviewed-by: Yuke Liao <liaoyuke@chromium.org>
Reviewed-by: Max Moroz <mmoroz@chromium.org>
Commit-Queue: Sajjad Mirza <sajjadm@google.com>
Cr-Original-Commit-Position: refs/heads/master@{#636989}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 49c00e305772d381b6dd6d94799631df7af99d4a
This CL adds "-mllvm" and "-limited-coverage-experimental=true" cflags
to the code coverage compiler wrapper because they're critical for
reducing the size of the generated binaries.
Bug: 933512
Change-Id: I0d61a36b71605fc160fea164f280206084afe302
Reviewed-on: https://chromium-review.googlesource.com/c/1493383
Auto-Submit: Yuke Liao <liaoyuke@chromium.org>
Reviewed-by: Dirk Pranke <dpranke@chromium.org>
Reviewed-by: Max Moroz <mmoroz@chromium.org>
Commit-Queue: Max Moroz <mmoroz@chromium.org>
Cr-Original-Commit-Position: refs/heads/master@{#636304}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 5eff782d191d008e48177bcf2b6b59be8154aef9
This change allows a clang toolchain to be used on ppc64 hosts.
This change is part of the effort to upstream a set of patches
that allow chromium to build and run on ppc64le hosts available here:
https://wiki.raptorcs.com/wiki/Porting/Chromium
Change-Id: I4496523f4948c675d4d1d8e529e0f4d5bbf99b8c
Reviewed-on: https://chromium-review.googlesource.com/c/1480698
Commit-Queue: Dirk Pranke <dpranke@chromium.org>
Reviewed-by: Dirk Pranke <dpranke@chromium.org>
Cr-Original-Commit-Position: refs/heads/master@{#635290}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 878414eeeb7995e61b5ed467feb41e2799fa493b
With this the uncompressed size of resources.pak + locales/*.pak
decreases from 27664141 bytes to 26027031 bytes (1.6MB decrease)
and the size of mini_installer.exe decreases from 48125440 bytes
to 47843328 bytes (280KB decrease).
Build times for "touch ../../chrome/app/chrome_main.cc && ninja chrome"
(median of 3 runs) go from 8.3s to 12.1s.
This works by scanning the PDB for instantiations of
ui::WhitelistedResource in the symbol table.
Bug: 684788
Change-Id: I989b01b45b46a746c3f1707f112be89f2c4cc182
Reviewed-on: https://chromium-review.googlesource.com/c/1176979
Commit-Queue: Peter Collingbourne <pcc@chromium.org>
Reviewed-by: Richard Coles <torne@chromium.org>
Reviewed-by: Andrew Grieve <agrieve@chromium.org>
Reviewed-by: Nico Weber <thakis@chromium.org>
Cr-Original-Commit-Position: refs/heads/master@{#629416}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: c9b621de676aaa774a6683ebbb593aa343b5b387
The build and builtools directories are provided to standalone projects
such as angle. Move eu-strip into buildtools so that those projects'
copy of build/ can find it.
BUG=angleproject:2475
TEST=build standalone angle with target_os="fuchsia"
NOPRESUBMIT=true
Change-Id: If3d6b9027bd01cdc67db5ef825a304016bd77a7d
Reviewed-on: https://chromium-review.googlesource.com/c/1427781
Commit-Queue: Michael Spang <spang@chromium.org>
Reviewed-by: Dirk Pranke <dpranke@chromium.org>
Cr-Original-Commit-Position: refs/heads/master@{#627463}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: ab3960d5245483f446edfcbf477813780ae7af8f
Fuchsia has a platform requirement that libraries be placed in in the
/lib directory in order to be located by the loader. We used to have a
shlib_subdir variable to satisfy such a requirement. Bring this variable
back and set it to "/lib" on Fuchsia.
This allows us to reduce special handling of libraries during the
packaging phase. Ideally all package artifacts would be placed correctly
by the build system so that the packager doesn't have to rearrange.
Don't use abspath() in the script, either. Using absolute paths in the
build can be harmful (leaks data, causes cache misses) and is rarely
necessary.
BUG=925040
TBR=mef@chromium.org
Change-Id: Idb2d8d4a0fa493904000244332ed242790698b8b
Reviewed-on: https://chromium-review.googlesource.com/c/1434221
Reviewed-by: Michael Spang <spang@chromium.org>
Reviewed-by: Scott Graham <scottmg@chromium.org>
Reviewed-by: Kevin Marshall <kmarshall@chromium.org>
Reviewed-by: Wez <wez@chromium.org>
Commit-Queue: Michael Spang <spang@chromium.org>
Cr-Original-Commit-Position: refs/heads/master@{#626877}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 8803d94e9e68fd8c0a4cd41515c22bd8aee613a5
Update VERSION from 8.0.0 to 9.0.0 in update.py and toolchain.gni.
Add -fsplit-lto-unit to account for a change in behavior in upstream
ThinLTO.
Bug: 922384, 922386
Change-Id: Ic9dbf0a9f4d8c50756b8bdb01c75782ba387bdca
Reviewed-on: https://chromium-review.googlesource.com/c/1418440
Commit-Queue: Nico Weber <thakis@chromium.org>
Reviewed-by: Nico Weber <thakis@chromium.org>
Reviewed-by: Peter Collingbourne <pcc@chromium.org>
Cr-Original-Commit-Position: refs/heads/master@{#624366}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: d8927fce44de956fae4c310fa13d36be0cfc7378
It was already meant to be disabled for non-Android, but chrome_os has
parts that build with is_android=true, so check target_os instead.
This fixes a GN assert when building without symbols.
Bug: 891164
Change-Id: I02f7dcede5726c3b5f5ef2a63814ae39fd83c3dd
Reviewed-on: https://chromium-review.googlesource.com/c/1381695
Reviewed-by: Hirokazu Honda <hiroh@chromium.org>
Reviewed-by: Takuto Ikuta <tikuta@chromium.org>
Commit-Queue: agrieve <agrieve@chromium.org>
Cr-Original-Commit-Position: refs/heads/master@{#617492}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: e3bbb54556d1352db69f3aae9ccc354b6ef983d2
We're trying to build a self-contained static library of V8, for
inclusion in a Cargo crate. This is part of the broader effort to make
Deno (https://github.com/denoland/deno) available as a crate.
Currently it's not possible to build 'fat' static libraries with
lld-link, because the `/llvmlibthin` flag is hard-coded into the
windows toolchain.
The equivalent on posix platforms, ar's `-T` flag, is managed by the
`thin_archive` config. This config is enabled by default, but it can be
explicitly removed from a target when necessary.
This patch changes places the `/llvmlibthin` flag under control of
config("thin_archive") also.
This causes static_library targets that use the thin_archive machinery
to not be thin archives on Windows either. There aren't many of these
targets, and this looks like a neutral-to-vaguely-good change for these
targets on Windows.
Change-Id: If756650146459c4029d7925592e32dbe74650edf
Reviewed-on: https://chromium-review.googlesource.com/c/1372633
Commit-Queue: Nico Weber <thakis@chromium.org>
Reviewed-by: Nico Weber <thakis@chromium.org>
Cr-Original-Commit-Position: refs/heads/master@{#616162}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 69dc1ea10c3aadd5dac7f524c78471c08c6c67aa
Sometimes we expect to build mac target without v8, but there is a
warning that v8_current_cpu is set as a build argument, but not
appeared in declare_args(). If the declaration file v8_target_cpu.gni
is not imported, we should not override it.
Change-Id: I04ef533a565fb9272aa1117ccea1bdee022f5c9a
Reviewed-on: https://chromium-review.googlesource.com/c/1369645
Commit-Queue: Robert Sesek <rsesek@chromium.org>
Reviewed-by: Sylvain Defresne <sdefresne@chromium.org>
Reviewed-by: Robert Sesek <rsesek@chromium.org>
Cr-Original-Commit-Position: refs/heads/master@{#615530}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: a40281ad05cfadc7af229ed5657139b67c2beaed
Compiles shouldn't shell out to non-clang processes, and we know that
clang doesn't read DEVELOPER_DIR, so this shouldn't be needed.
Bug: 780980
Change-Id: I811786f567c517aee9a82867336da7b2adb3bf44
Reviewed-on: https://chromium-review.googlesource.com/c/1358698
Reviewed-by: Erik Chen <erikchen@chromium.org>
Commit-Queue: Nico Weber <thakis@chromium.org>
Cr-Original-Commit-Position: refs/heads/master@{#613129}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: c70ff02e893652d6b3e2f3e91bcfd47cf0320ebf
Until recently Chrome required the 10.0.17134 SDK to build because it
needed declarations from that SDK and there was no more recent SDK. Now
there is a more recent (10.0.17763) SDK which can also build Chrome and
the 10.0.17134 requirement is annoying.
Removing the requirement for a specific version means that some new
Chromium developer might try building with an *older* version, but that
is unlikely, and they will hit errors and will then just need to install
the latest. That is better than forcing developers to install an old SDK
version.
Bug: 907300
Change-Id: Iad5a5bb1cdab944926df030cb1adb46ae0d55b56
Reviewed-on: https://chromium-review.googlesource.com/c/1345652
Reviewed-by: Xi Cheng <chengx@chromium.org>
Commit-Queue: Bruce Dawson <brucedawson@chromium.org>
Cr-Original-Commit-Position: refs/heads/master@{#610141}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: a0ca59f8c4afea3f4fee8e37b958c6da1fefd620
The documentation didn't include the crucial information
that generate_linker_map has to be set to true in gn for the tool
to work in Linux.
Bug: 716209
Change-Id: I62919e26a80a0b5d592f6b8953762e35575142d2
Reviewed-on: https://chromium-review.googlesource.com/c/1338085
Reviewed-by: agrieve <agrieve@chromium.org>
Commit-Queue: Daniel Bratell <bratell@opera.com>
Cr-Original-Commit-Position: refs/heads/master@{#609686}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 9d63558169c2945762c05b2809200736a40dcee2
That flag is now always enabled by default (https://reviews.llvm.org/D51251)
and the analyzer errors out when the flag is passed via command line.
Also adding myself as an owner for Clang Static Analyzer and Code Coverage
related files.
Bug: 901486, 759794
Change-Id: I54c9988c79f13287bb0580637d1a3ae4aa46bba7
Reviewed-on: https://chromium-review.googlesource.com/c/1330758
Reviewed-by: Dirk Pranke <dpranke@chromium.org>
Commit-Queue: Max Moroz <mmoroz@chromium.org>
Cr-Original-Commit-Position: refs/heads/master@{#608199}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 7d3437a87caa2a437ab665579234ce4a6d2d2088
This change enables "is_clang=true" of Chromium build for Windows ARM64.
This change works with current clang-cl.exe in chromium repo mostly, except cannot compiling code with __try/__except. The fix of this compilation issue is under review in LLVM community (see below link).
https://reviews.llvm.org/D53540
Bug: 893460
Change-Id: I3fbc943c9fd04e325b3a9686ce80202dc0f27238
Reviewed-on: https://chromium-review.googlesource.com/c/1330355
Commit-Queue: Bruce Dawson <brucedawson@chromium.org>
Reviewed-by: Bruce Dawson <brucedawson@chromium.org>
Cr-Original-Commit-Position: refs/heads/master@{#607667}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: a17557eb9c36da233012d29da184fffe2b3d99ec
This CL hooks the Clang code coverage wrapper into the build
toolchains, and specifically, a new build flag:
coverage_instrumentation_input_file is added to allow turning on/off
the wrapper and pass the list-files-to-instrument around.
Bug: 898695
Change-Id: I405ccbfc1796afa44534794d711f2953fac78f6d
Reviewed-on: https://chromium-review.googlesource.com/c/1309999
Commit-Queue: Yuke Liao <liaoyuke@chromium.org>
Reviewed-by: Takuto Ikuta <tikuta@chromium.org>
Reviewed-by: Dirk Pranke <dpranke@chromium.org>
Cr-Original-Commit-Position: refs/heads/master@{#604858}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 9619c7100bab3b50c280efd021f92722bd1ab48e
This CL implements the Clang code coverage compiler wrapper, which can
be used to instrument a subset of source files, and the main use case
is to enable generating code coverage reports at per-cl level during
try jobs.
This CL only focuses on the wrapper itself, how to hook this wrapper
into the build system will be addressed in a separate CL.
Bug: 898695
Change-Id: Idb21640b5566ce78089059b3d0116390b488a383
Reviewed-on: https://chromium-review.googlesource.com/c/1301969
Commit-Queue: Yuke Liao <liaoyuke@chromium.org>
Reviewed-by: Dirk Pranke <dpranke@chromium.org>
Reviewed-by: Takuto Ikuta <tikuta@chromium.org>
Cr-Original-Commit-Position: refs/heads/master@{#604381}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: bb571bd6cb0a1fbbf5132f114a46801854c6fdf7
This CL is pure non-op refactoring, it simplies the structure of
existing compiler wrappers and makes it easier to add new wrappers.
Specifically, this CL maintains the following behaviors:
1. When goma is off and static_analyzer is off:
cxx command: clang++ <flags>
asm command: clang <flags>
2. When goma is on and static_analyzer is off:
cxx command: gomacc clang++ <flags>
asm command: gomacc clang <flags>
3. When goma is off and static_analyzer is on:
cxx command: analyzer_wrapper.py clang++ <flags>
asm command: clang <flags>
4. When goma is on and static_analyzer is on:
cxx command: analyzer_wrapper.py gomacc clang++ <flags>
asm command: gomacc clang <flags>
Basically, goma wapper applies to both cxx and asm while
static_analyzer only applies to cxx.
Bug: 898695
Change-Id: I12ed474d1286daa9fdc2f7ab5611745e99dd66a3
Reviewed-on: https://chromium-review.googlesource.com/c/1307847
Reviewed-by: Dirk Pranke <dpranke@chromium.org>
Commit-Queue: Yuke Liao <liaoyuke@chromium.org>
Cr-Original-Commit-Position: refs/heads/master@{#604098}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: d7ce006f2538789b89d0e3efdd0fac630d069e8a
- Remove a partial comment fragment left over from before I rewrote the comment.
- Check all sections for absence of line numbers; stopping at debug_section_index
was a leftover from when I thought the debug section was always last
No intended behavior change.
Bug: none
Change-Id: Ie278420ed2959fe7dc473cf0739fe54c45af1380
Reviewed-on: https://chromium-review.googlesource.com/c/1306645
Reviewed-by: Hans Wennborg <hans@chromium.org>
Commit-Queue: Nico Weber <thakis@chromium.org>
Cr-Original-Commit-Position: refs/heads/master@{#603874}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: b1426e9d748920ca9d44d5f2eae0920d9da51631
We used to have a comment saying "Older versions of RC don't support the
/nologo flag", but since we've been requiring MSVC 2017 for a long time now,
using `rc /nologo` should be safe by now.
No intended behavior change.
Bug: none
Change-Id: If13d1d3fc4647daada3af5ade526e6f774a9fb7c
Reviewed-on: https://chromium-review.googlesource.com/c/1303882
Reviewed-by: Scott Graham <scottmg@chromium.org>
Commit-Queue: Nico Weber <thakis@chromium.org>
Cr-Original-Commit-Position: refs/heads/master@{#603534}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: e874adda0d5fc60397c72eb4897b0c1a528ac0d4
We still need the wrapper to set the env and to filter out ' Assembling: foo',
but less wrapper is probably better.
No intended behavior change.
Bug: none
Change-Id: Id8c165294cc3cf0ba7fc74f86a6a8fb9f8bfa042
Reviewed-on: https://chromium-review.googlesource.com/c/1303883
Reviewed-by: Scott Graham <scottmg@chromium.org>
Commit-Queue: Nico Weber <thakis@chromium.org>
Cr-Original-Commit-Position: refs/heads/master@{#603533}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 6a285c4f6b31a63cc91bb25d4688768d9a6639f7
This change mostly contains build script change under //chrome/build only.
It is targeting MSVC arm64 toolset, but enable clang-cl
could be based on this change.
Bug: 893460
Change-Id: Ia6f69f067a97fcaeb77021c1019bc594b0859eda
Reviewed-on: https://chromium-review.googlesource.com/c/1272076
Commit-Queue: Bruce Dawson <brucedawson@chromium.org>
Reviewed-by: Dirk Pranke <dpranke@chromium.org>
Reviewed-by: Steven Valdez <svaldez@chromium.org>
Reviewed-by: Bruce Dawson <brucedawson@chromium.org>
Cr-Original-Commit-Position: refs/heads/master@{#600083}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: d5bf20624a99401dcb6c9e6aee9244334008222b
Also:
* Default the arg to true for all release builds that contain debug info.
(most bots set strip_debug_info=true though)
* Add better failure messages for when no debug info is present.
This reverts commit 3a9bbf84099f2b522a599a8456a134bbd104c968.
Reason for reland: Has fixes for:
* !is_debug && is_component_build
* cronet bots (which set is_official=true and strip debug info)
TBR=agrieve
Bug: 864878
Change-Id: I99966ee4e12a0277951616159c844d4d94acaf1f
Reviewed-on: https://chromium-review.googlesource.com/1212347
Reviewed-by: agrieve <agrieve@chromium.org>
Commit-Queue: agrieve <agrieve@chromium.org>
Cr-Original-Commit-Position: refs/heads/master@{#591036}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: cc6ba940be2d6fa4074e085978f58d513ccaf2d8
This reverts commit 90205fffe287a2bb9c4dbb288b8d8872ff2cee22.
Reason for revert: Breaks cronet build; see e.g. https://logs.chromium.org/logs/chromium/buildbucket/cr-buildbucket.appspot.com/8936264155658998032/+/steps/generate_build_files/0/stdout
Original change's description:
> Android: Make enable_resource_whitelist_generation GN arg work when setting to true
>
> Also:
> * Default the arg to true for all release builds that contain debug info.
> (most bots set strip_debug_info=true though)
> * Add better failure messages for when no debug info is present.
>
> Bug: 864878
> Change-Id: Ied849d6e24a672b896c802be6df6c0958ecabfe0
> Reviewed-on: https://chromium-review.googlesource.com/1142193
> Commit-Queue: agrieve <agrieve@chromium.org>
> Reviewed-by: Richard Coles <torne@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#588734}
TBR=torne@chromium.org,pcc@chromium.org,agrieve@chromium.org,lizeb@chromium.org
Change-Id: Ia7ca1c880cb1f2d5b8eda7f458cb0a3b2b8133ba
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: 864878
Reviewed-on: https://chromium-review.googlesource.com/1206334
Reviewed-by: Bernhard Bauer <bauerb@chromium.org>
Commit-Queue: Bernhard Bauer <bauerb@chromium.org>
Cr-Original-Commit-Position: refs/heads/master@{#588844}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 3a9bbf84099f2b522a599a8456a134bbd104c968
Also:
* Default the arg to true for all release builds that contain debug info.
(most bots set strip_debug_info=true though)
* Add better failure messages for when no debug info is present.
Bug: 864878
Change-Id: Ied849d6e24a672b896c802be6df6c0958ecabfe0
Reviewed-on: https://chromium-review.googlesource.com/1142193
Commit-Queue: agrieve <agrieve@chromium.org>
Reviewed-by: Richard Coles <torne@chromium.org>
Cr-Original-Commit-Position: refs/heads/master@{#588734}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 90205fffe287a2bb9c4dbb288b8d8872ff2cee22
Update clang_version from 7.0.0 to 8.0.0 and remove the code to remove
the old library directory.
Remove the _LIBCPP_HIDE_FROM_ABI define, it is no longer needed.
R=hans@chromium.org,thakis@chromium.org
Bug: 871418, 872926
Change-Id: Ibf6734500aa75a349fa772b225b8b15fddfe3661
Reviewed-on: https://chromium-review.googlesource.com/1194698
Reviewed-by: Nico Weber <thakis@chromium.org>
Commit-Queue: Hans Wennborg <hans@chromium.org>
Cr-Original-Commit-Position: refs/heads/master@{#587602}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: d54494cbad8d5ff0a8cd74024902c8bd86258ae4
This adds support to build Chromium for Fuchsia on macOS. Currently,
this configuration is to be treated as best-effort.
CQ_INCLUDE_TRYBOTS=luci.chromium.try:fuchsia_arm64_cast_audio;luci.chromium.try:fuchsia_x64_cast_audio
Bug: 707030
Test: Locally, builds on mac.
Change-Id: I9e4bde1b7ff658f51586856ae80598c93a2b2e33
Reviewed-on: https://chromium-review.googlesource.com/1185020
Reviewed-by: John Budorick <jbudorick@chromium.org>
Reviewed-by: Kevin Marshall <kmarshall@chromium.org>
Reviewed-by: Wez <wez@chromium.org>
Commit-Queue: Fabrice de Gans-Riberi <fdegans@chromium.org>
Cr-Original-Commit-Position: refs/heads/master@{#587546}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: bbc67a1bd5cc611039aef8c6a2f9fa7151a07735
Update clang_version from 7.0.0 to 8.0.0 and remove the code to remove
the old library directory.
Remove the _LIBCPP_HIDE_FROM_ABI define, it is no longer needed.
Bug: 871418, 872926
Change-Id: Ic02dcfbf17c4190fc4359271d880b7e65bf7ba27
Reviewed-on: https://chromium-review.googlesource.com/1182196
Commit-Queue: Reid Kleckner <rnk@chromium.org>
Reviewed-by: Dirk Pranke <dpranke@chromium.org>
Reviewed-by: Peter Collingbourne <pcc@chromium.org>
Reviewed-by: Hans Wennborg <hans@chromium.org>
Reviewed-by: Nico Weber <thakis@chromium.org>
Cr-Original-Commit-Position: refs/heads/master@{#586816}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 6c2527114e7363fe0656c4aaca8e580ae26b1a5b
This is a reland of be7c12590cbdbcf40ce36fcc3996ad9e3982100d
chromeos's simple chrome and build_package set additional flags in cc/cxx.
This CL checks that before relativize compiler path.
Original change's description:
> Relativize cros compiler path
>
> Combined with https://chromium-review.googlesource.com/c/chromiumos/chromite/+/1180801
> this patch removes absolute path from command line for simple chrome build.
>
> This is a part of effort for build cache sharing when using goma by
> removing absolute path from compile result.
>
> Bug: chromium:846610
> Change-Id: Ia40a7194b4e485f26424f27ebfc210355e352cc0
> Reviewed-on: https://chromium-review.googlesource.com/1180826
> Reviewed-by: Dirk Pranke <dpranke@chromium.org>
> Commit-Queue: Takuto Ikuta <tikuta@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#584648}
Bug: chromium:846610
Change-Id: I142f6b466be0147252b419abca8abd87cb099ee1
Reviewed-on: https://chromium-review.googlesource.com/1183121
Commit-Queue: Takuto Ikuta <tikuta@chromium.org>
Reviewed-by: Dirk Pranke <dpranke@chromium.org>
Cr-Original-Commit-Position: refs/heads/master@{#584959}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 1fa6069561057a05c66dc1a7e5b3c5a4beb519c6
Combined with https://chromium-review.googlesource.com/c/chromiumos/chromite/+/1180801
this patch removes absolute path from command line for simple chrome build.
This is a part of effort for build cache sharing when using goma by
removing absolute path from compile result.
Bug: chromium:846610
Change-Id: Ia40a7194b4e485f26424f27ebfc210355e352cc0
Reviewed-on: https://chromium-review.googlesource.com/1180826
Reviewed-by: Dirk Pranke <dpranke@chromium.org>
Commit-Queue: Takuto Ikuta <tikuta@chromium.org>
Cr-Original-Commit-Position: refs/heads/master@{#584648}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: be7c12590cbdbcf40ce36fcc3996ad9e3982100d
The new implementation works by embedding debug info in object
files instead of parsing compiler warning output. As a result,
our official builds are much less noisy. See the new header file
ui/base/resource/whitelist.h for details on how it works.
It is also simpler because it does not rely on wrapper scripts for
collecting the set of whitelisted resource ids. As a result we no
longer need, and can remove, the wrapper scripts for the compiler
and ar.
It is also theoretically more precise because it only whitelists
resource ids mentioned in archive members that were chosen by the
linker, although I didn't see an improvement in monochrome. It may
be possible to gain even more precision by extending the compiler
(see comments on bug) but first we'd need to investigate whether that
would be worth it.
Bug: 648475, 684788
Cq-Include-Trybots: luci.chromium.try:ios-simulator-full-configs;master.tryserver.chromium.mac:ios-simulator-cronet
Change-Id: I12d83a8aaffa42c3afcdcc834f7dd7536b7a9248
Reviewed-on: https://chromium-review.googlesource.com/1174012
Reviewed-by: Eugene But <eugenebut@chromium.org>
Reviewed-by: Richard Coles <torne@chromium.org>
Reviewed-by: Nico Weber <thakis@chromium.org>
Reviewed-by: agrieve <agrieve@chromium.org>
Reviewed-by: Steven Holte <holte@chromium.org>
Commit-Queue: Peter Collingbourne <pcc@chromium.org>
Cr-Original-Commit-Position: refs/heads/master@{#584129}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: f26ebd65019e400184adad499c73264140c8fa96
Reverts https://codereview.chromium.org/2519803003 , it shouldn't be needed
with lld.
(Running `ninja -t msvc` directly means ninja doesn't have to be in PATH,
since then clause 1 of how CreateProcessA() finds binaries can take effect:
1. The directory from which the application loaded.
Due to the delete, `ninja -t msvc` was run under `cmd /c`, which means we
did require ninja in PATH only for official builds. This removes this exception.
But we're also making sure ninja is in PATH for now until crbug.com/872740
is resolved, so this change is more a defense-in-depth thing.)
Bug: 665773,828472,828466
Change-Id: Ic86b255df1544fcb4744ff4d2bf1f3f0b25119c3
Reviewed-on: https://chromium-review.googlesource.com/1169302
Reviewed-by: Sébastien Marchand <sebmarchand@chromium.org>
Commit-Queue: Nico Weber <thakis@chromium.org>
Cr-Original-Commit-Position: refs/heads/master@{#581905}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 15670f7fb95f709a9c6d71cf24e7707a161e7664
Currently, compilation of simple chrome build is done like below.
gomacc -> chromeos's compiler wrapper -> actual compiler binary
But chromeos's compiler wrapper modifies some flags inside it before invoking actual compiler binary.
This prevents goma from knowing some information for build cache sharing.
To know all the flags passed to compiler binary, this change supports the way not using gomacc prefix.
If we set has_gomacc_path = true, we don't prepend gomacc and lets compiler wrapper find gomacc from GOMACC_PATH env and invoke gomacc inside wrapper.
By doing this, gomacc can know all the flags passed to compiler binary.
This is a part of effort to share build cache between goma users for simple chrome build.
chromite side change is
https://chromium-review.googlesource.com/c/chromiumos/chromite/+/1140099
BUG=chromium:846610
Change-Id: I84174b12a7f286d1b911f4d0a4e167883a4891c7
Reviewed-on: https://chromium-review.googlesource.com/1151040
Reviewed-by: Dirk Pranke <dpranke@chromium.org>
Commit-Queue: Takuto Ikuta <tikuta@chromium.org>
Cr-Original-Commit-Position: refs/heads/master@{#579680}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 38a4180eac8c50a8cee10c867665bc354e1b6702
In particular, this will be used in V8 Android perf tests, so that release
binaries are included into the isolate. We can not use unstripped binaries,
since they are slower and do not represent performance experienced by our uses.
R=agrieve@chromium.org
Bug: 838864
Change-Id: Ieaa9b2007d85b7868bd8f4c793baededde355757
Reviewed-on: https://chromium-review.googlesource.com/1143364
Commit-Queue: Sergiy Byelozyorov <sergiyb@chromium.org>
Reviewed-by: agrieve <agrieve@chromium.org>
Cr-Original-Commit-Position: refs/heads/master@{#576541}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 110b23e7df8a18f0d4762a1b735a93f87210b3c0
This is mainly for compile step time improve for android-kitkat-arm-rel builder
having symbol_level=1
I measured peak memory usage when link some large targets with android-kitkat-arm-rel builder's config.
libchrome.so: 4776232 KB
lib_unit_tests__library.so: 5308156 KB
lib_components_unittests__library.so: 5383500 KB
So 6GB will be sufficient for such builder. This also increase parallelism of proguard steps too.
Bug: 804251
Change-Id: I7e8785ae3f14d8ba1f45da532585d7c61875d321
Reviewed-on: https://chromium-review.googlesource.com/1104280
Reviewed-by: agrieve <agrieve@chromium.org>
Commit-Queue: Takuto Ikuta <tikuta@chromium.org>
Cr-Original-Commit-Position: refs/heads/master@{#569237}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 7dcf98f916babd3eae8f330824fcecdf97bd175c
When building chrome on windows, tool-wrapper for linking is called 794 times.
And I found that calling python wrapper is relatively slow than calling link via ninja.
This CL replaces python wrapper to ninja wrapper to remove such overhead when we use lld.
I compared time of wrapper invocation using following powershell script.
for ($i = 0; $i -lt 100; $i++) {
# ninja -t msvc -e environment.x64 -- C:/src/depot_tools/win_tools-2_7_6_bin/python/bin/python.exe -c ' '
# python.exe ../../build/toolchain/win/tool_wrapper.py link-wrapper environment.x64 False C:/src/depot_tools/win_tools-2_7_6_bin/python/bin/python.exe -c ' ' # code for FlushFileBuffers is commented out.
}
* ninja wrapper, 7.451s for 100 invocation
* python wrapper, 17.803s for 100 invocation
Using ninja as env wrapper is more than 2 times faster.
Bug: 787903
Change-Id: I6531b59a6c43085782b0138a264ecfc9a6f65833
Reviewed-on: https://chromium-review.googlesource.com/1107678
Commit-Queue: Takuto Ikuta <tikuta@chromium.org>
Reviewed-by: Nico Weber <thakis@chromium.org>
Cr-Original-Commit-Position: refs/heads/master@{#568836}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: f7d47b7e8c03400343d4b6753ff79ade9d09ca68
This reverts commit 798beff16c2ecc066861f848fb03611c3449ffab.
Reason for revert: The original bug has been made irrelevant by the
switch to lld, so this workaround is no longer needed. Additionally,
crbug.com/817797 reports a failure sort of *caused* by this
workaround.
Original change's description:
> Check for LNK1201 and retry links when it occurs
>
> LNK1201 seems to be happening increasingly frequently on our debug x64
> builds for no clear reason. Subsequent builds tend to succeed so this
> change updates our link wrapper to retry links when this error is hit.
>
> This retry logic may solve the problem. If not then it gives us more
> evidence about the problem, including a backup copy of the PDB that
> might be helpful in investigating.
>
> Bug: 782660
> Change-Id: Iad60648425a01e07a20d108fcc5b74acaead9ee8
> Reviewed-on: https://chromium-review.googlesource.com/769333
> Commit-Queue: Bruce Dawson <brucedawson@chromium.org>
> Reviewed-by: Dirk Pranke <dpranke@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#516769}
R=dpranke@chromium.org,brucedawson@chromium.org
Bug: 782660,817797
Change-Id: Ifd03fecabdb462328898c7ef5253406cab2c570c
Reviewed-on: https://chromium-review.googlesource.com/1103377
Commit-Queue: Bruce Dawson <brucedawson@chromium.org>
Reviewed-by: Dirk Pranke <dpranke@chromium.org>
Reviewed-by: Bruce Dawson <brucedawson@chromium.org>
Cr-Original-Commit-Position: refs/heads/master@{#568070}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: ac6758acc18dae70639b219e933955dfcd5f7fcb
After https://chromium-review.googlesource.com/1075947, quoting is
never needed with the hermetic msvc toolchain, so let's make the
build command a tiny bit nicer in that scenario.
Bug: 640000,439949
Change-Id: I22e3470057b43fb6a5df3f675bc95a7d84dce9c9
Reviewed-on: https://chromium-review.googlesource.com/1101557
Commit-Queue: Nico Weber <thakis@chromium.org>
Reviewed-by: Scott Graham <scottmg@chromium.org>
Cr-Original-Commit-Position: refs/heads/master@{#567401}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: b2293631d4e6450376aa4c8f21e593b4cc2824e1
When we use relativized include dir, /showIncludes shows relativized
path for the files in include dir.
This is an effort of removing absolute path from compiling output.
Bug: 439949
Change-Id: I056cd8bb08c10f01855ef3bdb56ea1bcce1b769b
Reviewed-on: https://chromium-review.googlesource.com/1075947
Reviewed-by: Nico Weber <thakis@chromium.org>
Reviewed-by: Dirk Pranke <dpranke@chromium.org>
Commit-Queue: Takuto Ikuta <tikuta@chromium.org>
Cr-Original-Commit-Position: refs/heads/master@{#562599}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: bed53c80fd3aa103d419bae8523beddbd89d679f
This reverts commit 18da5f23138a86e9142cbebc5b0ef44291d9569a.
Reason for revert: The original commit broke the CFI bot with errors like:
src/native_client/toolchain/linux_x86/pnacl_newlib/bin/../x86_64-nacl/bin/ld:
unrecognized option '--color-diagnostics'
I do not know why this only happened on the CFI bot (XXX), but since we only add
-fuse-ld=lld if !is_nacl, we should set use_lld to false in the nacl toolchains,
which fixes this, and probably many future issues like it.
Original change's description:
> Revert "Let lld emit colored diagnostics when invoked from ninja."
>
> This reverts commit 00db3ddc4c4f9ebd4d95ad44ea4ef74415c66394.
>
> Reason for revert: Breaks Linux CFI build here: https://ci.chromium.org/buildbot/chromium.memory/Linux%20CFI/8024
>
> Original change's description:
> > Let lld emit colored diagnostics when invoked from ninja.
> >
> > Bug: 841221
> > Change-Id: I72d13c78a2c623865a4f29542d25f6b3488b350b
> > Reviewed-on: https://chromium-review.googlesource.com/1067460
> > Reviewed-by: Reid Kleckner <rnk@chromium.org>
> > Commit-Queue: Nico Weber <thakis@chromium.org>
> > Cr-Commit-Position: refs/heads/master@{#560343}
>
> TBR=thakis@chromium.org,rnk@chromium.org
>
> Change-Id: I3811083daa622dca605ca32be5cc4c7098b60b4a
> No-Presubmit: true
> No-Tree-Checks: true
> No-Try: true
> Bug: 841221
> Reviewed-on: https://chromium-review.googlesource.com/1067949
> Reviewed-by: Tommy Li <tommycli@chromium.org>
> Commit-Queue: Tommy Li <tommycli@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#560345}
TBR=thakis@chromium.org,rnk@chromium.org,tommycli@chromium.org
Change-Id: I5d4c9298e3613ab84650f081a59715880d780805
Bug: 841221
Reviewed-on: https://chromium-review.googlesource.com/1068218
Commit-Queue: Reid Kleckner <rnk@chromium.org>
Reviewed-by: Reid Kleckner <rnk@chromium.org>
Reviewed-by: Nico Weber <thakis@chromium.org>
Cr-Original-Commit-Position: refs/heads/master@{#560676}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 979ca1f97abdc13a5bd9605ca5bfd21cae211c42
This is a reland of 5a7f3c442684be5eeb244b904bbfc8e6edaf6fda
goma now supports this compiler and the new warnings were dealt with.
Original change's description:
> Switch to VS 2017 15.7.1 with 10.0.17134.0 SDK
>
> This change switches the VS 2017 package to use VS 2017 Update 7.1 while
> using the 10.0.17134.12 SDK. The new SDK is needed to support new HDR
> features, and to stop forcing external developers to install an old
> ([Spring] Creators Update) SDK. This change will also bring in a new
> linker and other build tools, but the version of clang-cl will be
> unchanged.
>
> Packaging was done on a Windows Server 2016 VM, cleanly created for this
> purpose.
>
> Compiler was packaged up by downloading VS 2017 Update 7.1, from
> https://www.visualstudio.com/vs/, and then passing these parameters to
> the installer:
>
> --add Microsoft.VisualStudio.Workload.NativeDesktop
> --add Microsoft.VisualStudio.Component.VC.ATLMFC --includeRecommended
> --passive
>
> Then Add or Remove Programs was used to modify the 10.0.17134.0 SDK to add
> the Debuggers package.
>
> Then the packaging script was run like this:
>
> python depot_tools\win_toolchain\package_from_installed.py 2017 -w 10.0.17134.0
>
> Bug: 773476
> Change-Id: Ic819f3ae79d7e869227bf33fbb8d202e2f57039b
> Reviewed-on: https://chromium-review.googlesource.com/1054027
> Reviewed-by: Nico Weber <thakis@chromium.org>
> Reviewed-by: Dirk Pranke <dpranke@chromium.org>
> Commit-Queue: Bruce Dawson <brucedawson@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#559033}
Bug: 773476,834213
Change-Id: I903158f9dfa604f250010a7047496509f51782e7
Reviewed-on: https://chromium-review.googlesource.com/1066130
Reviewed-by: Nico Weber <thakis@chromium.org>
Reviewed-by: Dirk Pranke <dpranke@chromium.org>
Commit-Queue: Bruce Dawson <brucedawson@chromium.org>
Cr-Original-Commit-Position: refs/heads/master@{#560002}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 82a5f004e0e52897a6e8bac10490a14fc2845625
This reverts commit 5a7f3c442684be5eeb244b904bbfc8e6edaf6fda.
Reason for revert: this breaks v8's VC++ goma builds, reverting until
goma is updated to support this compiler
Original change's description:
> Switch to VS 2017 15.7.1 with 10.0.17134.0 SDK
>
> This change switches the VS 2017 package to use VS 2017 Update 7.1 while
> using the 10.0.17134.12 SDK. The new SDK is needed to support new HDR
> features, and to stop forcing external developers to install an old
> ([Spring] Creators Update) SDK. This change will also bring in a new
> linker and other build tools, but the version of clang-cl will be
> unchanged.
>
> Packaging was done on a Windows Server 2016 VM, cleanly created for this
> purpose.
>
> Compiler was packaged up by downloading VS 2017 Update 7.1, from
> https://www.visualstudio.com/vs/, and then passing these parameters to
> the installer:
>
> --add Microsoft.VisualStudio.Workload.NativeDesktop
> --add Microsoft.VisualStudio.Component.VC.ATLMFC --includeRecommended
> --passive
>
> Then Add or Remove Programs was used to modify the 10.0.17134.0 SDK to add
> the Debuggers package.
>
> Then the packaging script was run like this:
>
> python depot_tools\win_toolchain\package_from_installed.py 2017 -w 10.0.17134.0
>
> Bug: 773476
> Change-Id: Ic819f3ae79d7e869227bf33fbb8d202e2f57039b
> Reviewed-on: https://chromium-review.googlesource.com/1054027
> Reviewed-by: Nico Weber <thakis@chromium.org>
> Reviewed-by: Dirk Pranke <dpranke@chromium.org>
> Commit-Queue: Bruce Dawson <brucedawson@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#559033}
TBR=thakis@chromium.org,dpranke@chromium.org,hubbe@chromium.org,brucedawson@chromium.org
Change-Id: Ib8e84084a9717dafa6616f132b4824d93cbf39bf
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: 773476
Reviewed-on: https://chromium-review.googlesource.com/1063810
Reviewed-by: Bruce Dawson <brucedawson@chromium.org>
Commit-Queue: Bruce Dawson <brucedawson@chromium.org>
Cr-Original-Commit-Position: refs/heads/master@{#559471}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 7ad7e759dd35a114375a671f02669c9a0283bea1
This change switches the VS 2017 package to use VS 2017 Update 7.1 while
using the 10.0.17134.12 SDK. The new SDK is needed to support new HDR
features, and to stop forcing external developers to install an old
([Spring] Creators Update) SDK. This change will also bring in a new
linker and other build tools, but the version of clang-cl will be
unchanged.
Packaging was done on a Windows Server 2016 VM, cleanly created for this
purpose.
Compiler was packaged up by downloading VS 2017 Update 7.1, from
https://www.visualstudio.com/vs/, and then passing these parameters to
the installer:
--add Microsoft.VisualStudio.Workload.NativeDesktop
--add Microsoft.VisualStudio.Component.VC.ATLMFC --includeRecommended
--passive
Then Add or Remove Programs was used to modify the 10.0.17134.0 SDK to add
the Debuggers package.
Then the packaging script was run like this:
python depot_tools\win_toolchain\package_from_installed.py 2017 -w 10.0.17134.0
Bug: 773476
Change-Id: Ic819f3ae79d7e869227bf33fbb8d202e2f57039b
Reviewed-on: https://chromium-review.googlesource.com/1054027
Reviewed-by: Nico Weber <thakis@chromium.org>
Reviewed-by: Dirk Pranke <dpranke@chromium.org>
Commit-Queue: Bruce Dawson <brucedawson@chromium.org>
Cr-Original-Commit-Position: refs/heads/master@{#559033}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 5a7f3c442684be5eeb244b904bbfc8e6edaf6fda
LLVM has been updated in the ChromeOS sysroot, so it should be safe to enable
thin archives now.
BUG=801925
Change-Id: I7dc2492937a26adc4f9af61abccbdb086e3a38cb
Reviewed-on: https://chromium-review.googlesource.com/1050980
Reviewed-by: Dirk Pranke <dpranke@chromium.org>
Reviewed-by: Nico Weber <thakis@chromium.org>
Commit-Queue: Thomas Anderson <thomasanderson@chromium.org>
Cr-Original-Commit-Position: refs/heads/master@{#557336}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 1ed851337f4781d2504bdcc03f11d1ffb5526a3a
This was changed by r554983, which really should have only changed the
android OS check, as Linux builds also need to support NaCl toolchains
where current_os != "linux".
Bug: 822034
Change-Id: I5ca924516158bdd6228b947f32db6b614d1caacd
Reviewed-on: https://chromium-review.googlesource.com/1038430
Reviewed-by: Dirk Pranke <dpranke@chromium.org>
Commit-Queue: Ken Rockot <rockot@chromium.org>
Cr-Original-Commit-Position: refs/heads/master@{#555228}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: c77b371695be9335ffe86608871d9dc2fd537d8a
This is an unmodified reland of r554617 after fixing cases where
target_os=["chromeos"] was not set in some Chrome OS builders'
gclient configs.
Causes Chrome builds for Chrome OS to emit additional 32-bit and
64-bit copies of the mojo_core shared library built against the
Android toolchain, for use from within the ARC++ container.
In order to support building these library targets, this also
modifies DEPS to include a minimal set of required Android support
tools and libraries in chromeos checkouts.
Bug: 822034
Change-Id: I0e6ae87a1b9da80b82c40fd637a5be07dd7b8272
Reviewed-on: https://chromium-review.googlesource.com/1035619
Commit-Queue: Ken Rockot <rockot@chromium.org>
Reviewed-by: Dirk Pranke <dpranke@chromium.org>
Cr-Original-Commit-Position: refs/heads/master@{#554983}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 027d7fa1c191f60f754985b9c235597f8c9a2081