QEMU will soon be removed from the Fuchsia SDK tarball.
This CL migrates our scripts to source QEMU from CIPD instead.
Change-Id: I2347a5be598a1eecd2d7c9e6c431b55c3eab1189
Reviewed-on: https://chromium-review.googlesource.com/1178975
Commit-Queue: Kevin Marshall <kmarshall@chromium.org>
Reviewed-by: Sergey Ulanov <sergeyu@chromium.org>
Cr-Original-Commit-Position: refs/heads/master@{#584238}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: e6a59a6bf0c44a45fabe15389cd29373325eb4e8
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
This reverts commit 2df0c83aee0a00bc0f7c26a22b68b4ea3eefef80.
Reason for revert: official android should be fine with this after #583420
Original change's description:
> Revert "win: write a deterministic-ish timestamp into the PE/COFF header instead of the current time"
>
> This reverts commit ef36dc19986a90f49d0d31520c88d310d72bd038.
>
> Reason for revert: This turns out to break the official android build, which apparently was relying on a broken aspect of the build that this fixed :(. See https://crbug.com/871173.
>
> Original change's description:
> > win: write a deterministic-ish timestamp into the PE/COFF header instead of the current time
> >
> > We used to set the timestamp to a hash of the binary, similar to
> > https://blogs.msdn.microsoft.com/oldnewthing/20180103-00/?p=97705
> > However, that caused an appcompat warning on Windows 7 to appear, which
> > interpreted the hash as a timestamp. (It's possible that https://llvm.org/PR38429
> > could help with that, but my guess it won't have an effect on Windows 7,
> > which likely always believes that the the coff timestamp field always stores
> > a timestamp).
> >
> > So currently we write the current time during linking in that field, but that's
> > bad for build determinism and that in turn is bad for swarming test result cachability.
> >
> > build/write_build_date_header.py already creates a deterministic BUILD_DATE
> > with several tradeoffs. Cachability wants this to change infrequently, but
> > things like HSTS need a "real" build date and want this to change frequently.
> > The compromise is: The date changes once per day in official builds, and
> > once a month in regular builds.
> >
> > (We could use /Brepro in ldflags instead of /TIMESTAMP for unofficial builds to get
> > the binary hash in the timestamp, but having the header timestamp match the BUILD_DATE
> > define seems nice.)
> >
> > So let's use that same time as timestamp in the PE/COFF header. lld-link has a
> > /TIMESTAMP: flag we can use to pass in an explicit timestamp.
> >
> > Since tools can't have deps, we need to compute the timestamp at gn time,
> > so split write_build_date_header.py in two pieces: build/compute_build_timestamp.py
> > that just prints the timestamp we want to use, and the old write_build_date_header.py, which
> > now takes that timestamp and writes the header file.
> >
> > Call compute_build_timestamp.py at gn time so that we can pass it in ldflags, and
> > pass the resultl to write_build_date_header.py which keeps running as an action
> > during build time (so that we at least don't need to write a file at gn time).
> >
> > An additional wrinkle here is that the PE/COFF timestamp is used as one of just two
> > keys per binary for uploading PE binaries to the symbol server, the other being file size.
> > https://bugs.llvm.org/show_bug.cgi?id=35914#c0 has a good description of this, and
> > tools/symsrc/img_fingerprint.py's GetImgFingerprint() is our implementation of it.
> > But since we only upload binaries with symbols for official chrome builds to the symbol server,
> > a timestamp that changes once a day should be still enough. (32-bit and 64-bit chromes
> > have the same filename, and we might rarely build canary and beta and stable all on the
> > same day, but them all being the same size seems highly unlikely.)
> >
> > Bug: 843199,804926,330260
> > Change-Id: I1d4193cc537ae0c4b2d6ac9281fad29de754dd6c
> > Reviewed-on: https://chromium-review.googlesource.com/1161104
> > Reviewed-by: Dirk Pranke <dpranke@chromium.org>
> > Reviewed-by: Hans Wennborg <hans@chromium.org>
> > Commit-Queue: Nico Weber <thakis@chromium.org>
> > Cr-Commit-Position: refs/heads/master@{#580585}
>
> TBR=thakis@chromium.org,hans@chromium.org,dpranke@chromium.org
> NOTRY=true
>
> # Not skipping CQ checks because original CL landed > 1 day ago.
>
> Bug: 843199, 804926, 330260
> Change-Id: Ib93697a82f8a9d3fb303b763609e82e0612887cd
> Reviewed-on: https://chromium-review.googlesource.com/1166203
> Commit-Queue: Hans Wennborg <hans@chromium.org>
> Reviewed-by: Dirk Pranke <dpranke@chromium.org>
> Reviewed-by: Nico Weber <thakis@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#581485}
TBR=thakis@chromium.org,hans@chromium.org,dpranke@chromium.org
# Not skipping CQ checks because original CL landed > 1 day ago.
Bug: 843199, 804926, 330260
Change-Id: I136e405c84eba3f61a4ac96b2017a34ade0cfba6
Reviewed-on: https://chromium-review.googlesource.com/1179281
Commit-Queue: Nico Weber <thakis@chromium.org>
Reviewed-by: Nico Weber <thakis@chromium.org>
Reviewed-by: Dirk Pranke <dpranke@chromium.org>
Cr-Original-Commit-Position: refs/heads/master@{#583945}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 967d1f1e6adc9b7641a5b0174c48f0883e293880
This reverts commit d9fad9a32583d3cdb293e4f6a5c115a907f99ab1.
Reason for revert: Our Windows and Mac packages started failing the signing process the day after this CL was landed. I would like to revert and see if our build succeeds tonight.
Original change's description:
> Reland "Generate deterministic zip file for remoting"
>
> This is a reland of a9dac60b6b9359c29e211b70cd1e92a06eaf8e74
>
> I added an optional arg to ZipDir not to change zipped path.
>
> Original change's description:
> > Generate deterministic zip file for remoting
> >
> > build_utils.ZipDir uses fixed timestamp and this makes zipped file deterministic.
> >
> > This is a part of effort to utilize cache of test execution on swarming.
> >
> > Bug: 870611
> > Change-Id: Ie370f1f5a3e08834c6280b0088f90b31d038e3be
> > Reviewed-on: https://chromium-review.googlesource.com/1163349
> > Commit-Queue: Nico Weber <thakis@chromium.org>
> > Reviewed-by: Nico Weber <thakis@chromium.org>
> > Reviewed-by: Jamie Walch <jamiewalch@chromium.org>
> > Cr-Commit-Position: refs/heads/master@{#581034}
>
> Cq-Include-Trybots: master.tryserver.chromium.win:win_chrome_official
> Bug: 870611
> Change-Id: Iffa3c8e2c4fd22b60c120052612f22491d588951
> Reviewed-on: https://chromium-review.googlesource.com/1164682
> Reviewed-by: Lambros Lambrou <lambroslambrou@chromium.org>
> Reviewed-by: Nico Weber <thakis@chromium.org>
> Commit-Queue: Takuto Ikuta <tikuta@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#581590}
TBR=jamiewalch@chromium.org,lambroslambrou@chromium.org,thakis@chromium.org,yuweih@chromium.org,tikuta@chromium.org
# Not skipping CQ checks because original CL landed > 1 day ago.
Bug: 870611
Change-Id: I27fa4b1ae9e3c93781e2a6de508695a775a5e57a
Cq-Include-Trybots: master.tryserver.chromium.win:win_chrome_official
Reviewed-on: https://chromium-review.googlesource.com/1179242
Reviewed-by: Joe Downing <joedow@chromium.org>
Commit-Queue: Joe Downing <joedow@chromium.org>
Cr-Original-Commit-Position: refs/heads/master@{#583938}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: c4cb08693796ad4d0a58d9c32d7f0c7db352db53
Made a minor change to make sure that SetupTestServer interacts
properly with the new _ConnectPortForwardingTask and ForwardingScheme
versions.
Change-Id: I16add737f7595fac416973c1296882f9f40d0dc1
Reviewed-on: https://chromium-review.googlesource.com/1178381
Reviewed-by: Kevin Marshall <kmarshall@chromium.org>
Commit-Queue: Kevin Marshall <kmarshall@chromium.org>
Cr-Original-Commit-Position: refs/heads/master@{#583900}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: bfb341f23410c55873fb4a883ce3be3e04274d68
When we added LASTCHANGE.committime in r583420, we missed a
case where we might not write it in the hook, and in that
situation the build would fail due to the file being missing.
TBR=thakis@chromium.org
BUG=875039
Change-Id: I5c596f55fe90bc5f5175c74ba27e218f108f843b
Reviewed-on: https://chromium-review.googlesource.com/1178892
Reviewed-by: Dirk Pranke <dpranke@chromium.org>
Reviewed-by: Nico Weber <thakis@chromium.org>
Commit-Queue: Dirk Pranke <dpranke@chromium.org>
Cr-Original-Commit-Position: refs/heads/master@{#583852}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: ea3f82d03831c13bd1bc7277334fd313af7f86b3
The AutoRoll server is located here: https://fuchsia-sdk-chromium-roll.skia.org
Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+/master/autoroll/README.md
If the roll is causing failures, please contact the current sheriff, who should
be CC'd on the roll, and stop the roller if necessary.
CQ_INCLUDE_TRYBOTS=luci.chromium.try:fuchsia_arm64_cast_audio;luci.chromium.try:fuchsia_x64_cast_audio
TBR=cr-fuchsia+bot@chromium.org
Change-Id: Ia1199785d91120d49c08e46c85e0bc730709ee3d
Reviewed-on: https://chromium-review.googlesource.com/1178884
Commit-Queue: Fuchsia SDK Autoroller <fuchsia-sdk-chromium-autoroll@skia-buildbots.google.com.iam.gserviceaccount.com>
Reviewed-by: Fuchsia SDK Autoroller <fuchsia-sdk-chromium-autoroll@skia-buildbots.google.com.iam.gserviceaccount.com>
Cr-Original-Commit-Position: refs/heads/master@{#583843}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 92329893efe115bf358d38a0547c53a325021b1b
This is a reland of bc740b07a52e8a89612b75454b17a4ad614b1e97 with a fix
to include the loadable modules into the final APK.
Original change's description:
> [build:android] Add a module for AR in Monochrome
>
> Add an AR Dynamic Feature Module (DFM) and bundle it into the public
> Monochrome bundle.
>
> + Add loadable modules to the build config so that their paths can be
> passed to the module create target.
>
> + Add option to bundle targets to specify the Android SDK target for
> synchronized proguarding. This was necessary because the Monochrome
> base module uses a different Android SDK than the AR module, which
> made proguard sad. Also pass the Android SDK Jar as a dedicated
> classpath Jar to proguard and don't mix it with the other classpath
> Jars.
>
> Bug: 863063
> Change-Id: I024d05dd99136c069e510995657ac7236f6b6e5e
> Reviewed-on: https://chromium-review.googlesource.com/1165533
> Commit-Queue: Tibor Goldschwendt <tiborg@chromium.org>
> Reviewed-by: Ted Choc <tedchoc@chromium.org>
> Reviewed-by: Ian Vollick <vollick@chromium.org>
> Reviewed-by: Yaron Friedman <yfriedman@chromium.org>
> Reviewed-by: agrieve <agrieve@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#582765}
TBR=tedchoc@chromium.org
Bug: 863063, 873986
Change-Id: I4a72667027ab283b43685197c980b46e90553df8
Reviewed-on: https://chromium-review.googlesource.com/1174772
Commit-Queue: Tibor Goldschwendt <tiborg@chromium.org>
Reviewed-by: Ian Vollick <vollick@chromium.org>
Reviewed-by: Yaron Friedman <yfriedman@chromium.org>
Reviewed-by: Tibor Goldschwendt <tiborg@chromium.org>
Reviewed-by: agrieve <agrieve@chromium.org>
Cr-Original-Commit-Position: refs/heads/master@{#583682}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 4094cdde14c9b6d0bf98609f0b4db40b18485121
When building a framework for macOS that has public headers, this flag
is needed for the compiler to find the headers located inside the
framework bundle. This same cflag is set when linking with frameworks
in the build/config/ios/rules.gni template.
E.g. the header may be at `xyz.framework/Headers/x.h` and it is imported
with `#import <xyz/x.h>` in the source.
We need this for using the WebRTC macOS framework from a demo app.
Bug: webrtc:9627
Change-Id: Ib431bacfd85eb4597cb19e60ed575336b76b0598
Reviewed-on: https://chromium-review.googlesource.com/1177400
Reviewed-by: Robert Sesek <rsesek@chromium.org>
Commit-Queue: Anders Carlsson <andersc@chromium.org>
Cr-Original-Commit-Position: refs/heads/master@{#583647}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: c7f43ffdaada3dcdbecba02d583b039805c6b63c
Monochrome is crashing on startup. Fix this by using the default
proguard instead of proguard 6.0.3 for monochrome. In order to stay
under the DEX method limit use multidex for monochrome release builds.
Bug: 874464, 868770
Change-Id: I9f002c26fb6e2b9b1b5d7471dab890090c446a75
Reviewed-on: https://chromium-review.googlesource.com/1176474
Commit-Queue: Tibor Goldschwendt <tiborg@chromium.org>
Reviewed-by: agrieve <agrieve@chromium.org>
Cr-Original-Commit-Position: refs/heads/master@{#583639}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: c99f1915968868430b596db831d90d9b208e93ab
The kernel images under the old arch names are going away soon, so use the new paths instead.
Change-Id: Iba286691f108c259ac9b62078c4b2276f38909b1
Reviewed-on: https://chromium-review.googlesource.com/1176437
Reviewed-by: Wez <wez@chromium.org>
Commit-Queue: P.Y. Laligand <pylaligand@google.com>
Cr-Original-Commit-Position: refs/heads/master@{#583534}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 94740dae7d485909e8568fa99abffa6ffb8b5a46
BUILD_DATE used to take the current time and then set BUILD_DATE to
the first Sunday of the month (unofficial builds) or to that date at 5am
(official builds), so that the date stays constant for a while, to
keep binary hashes changing less frequently. (BUILD_DATE makes it into
base/, so most binaries contain it.)
This behavior is kept, but it's now based off the timestamp of the most
recent commit.
This has the advantage of being deterministic, so for example if some
Android bot builds the same revision twice, it's now guaranteed that
both builds will end up with the same timestamp. The motivation is that
I want to reland https://chromium-review.googlesource.com/1161104 which
broke Android bots which assume fully deterministic BUILD_DATEs and
currently only work by accident due to write_build_date_header.py not
rerunning in incremental builds.
Since querying git is slow and the timestamp will be queried at
gn gen time in a follow-up change, let lastchange.py write the last
commit's timestamp in a file next to build/util/LASTCHANGE and then read
that in write_build_date_header.py.
For official chrome builds we ship, this shouldn't make much of a difference,
since there's always recent commits when we ship those (if only to
update chrome/VERSION).
When syncing to an old revision (past the revision this change lands in, of
course -- say this lands and then 2 years pass, and then you sync back
1.5 years), that will now have an old date while it had a current date
before. This could happen while bisecting. You'd get more security
interstitials while bisecting.
Embedders might ship old Chromiums without having a recent commit
in src. These would have BUILD_DATEs in the past. I announced this change on
https://groups.google.com/a/chromium.org/forum/#!topic/embedder-dev/Ymk3bHPQ45M
We can add an explicit opt-out if requested.
Build date currently affects:
- HSTS lists (considered valid for 70 days past build date)
-- but only enabled for official chrome builds (GOOGLE_CHROME_BUILD
check in TransportSecurityState())
- certificate transparency (considered valid for 70 days past build date)
- invalid cert date interstitial (warns if system clock is
more than 2 days behind build date, or more than 365 days
in the future)
- browser upgrade detector indicator UI (stops checking after
build is 12 weeks old)
- field trials (kNoExpirationYear is 2 years past build date)
//base:build_date already depends on lastchange_file and only reruns
when that file is touched (and on full builds).
Lots of prior discussion in https://codereview.chromium.org/1641413002/
(this approach but without widening was suggested in comment 26,
comment 46 mentions security concerns from agl, comment 67 onwards are about
security too. Eventually http://crbug.com/584880 got filed with a plan similar
to this CL here, but there was no time to evaluate the proposal at the time
due to internship schedule reasons. I talked to security -- namely,
felt agl ncarter carlosil -- and everyone thinks this has no obvious issues.)
Obsoletes https://chromium-review.googlesource.com/c/564598/, a prior attempt
at getting deterministic builds (opt-in, by setting an env var with the desired
date).
Bug: 314403,584880,871173
Change-Id: I6ccd78bff005572a9fa391e9820f4f5f83583c50
Reviewed-on: https://chromium-review.googlesource.com/1167913
Reviewed-by: Alex Mineer <amineer@chromium.org>
Reviewed-by: Dirk Pranke <dpranke@chromium.org>
Commit-Queue: Nico Weber <thakis@chromium.org>
Cr-Original-Commit-Position: refs/heads/master@{#583420}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 4c984bc7664755d701c75b49b795678e164551e3
The AutoRoll server is located here: https://fuchsia-sdk-chromium-roll.skia.org
Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+/master/autoroll/README.md
If the roll is causing failures, please contact the current sheriff, who should
be CC'd on the roll, and stop the roller if necessary.
CQ_INCLUDE_TRYBOTS=luci.chromium.try:fuchsia_arm64_cast_audio;luci.chromium.try:fuchsia_x64_cast_audio
TBR=cr-fuchsia+bot@chromium.org
Change-Id: I99a21f1060e81a5f7930d6ec6b6b269f76a23c41
Reviewed-on: https://chromium-review.googlesource.com/1174011
Commit-Queue: Sergey Ulanov <sergeyu@chromium.org>
Reviewed-by: Sergey Ulanov <sergeyu@chromium.org>
Reviewed-by: Fuchsia SDK Autoroller <fuchsia-sdk-chromium-autoroll@skia-buildbots.google.com.iam.gserviceaccount.com>
Cr-Original-Commit-Position: refs/heads/master@{#583327}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 8026d1f9ceb969b6575909a459957211b1e6863c
third_party/mesa/src is no longer checked out as of r582655.
BUG=873321
Change-Id: I6ee0dabd58b77a2c1995b7d42df4fb4df909884c
Reviewed-on: https://chromium-review.googlesource.com/1175403
Reviewed-by: Alexis Hétu <sugoi@chromium.org>
Reviewed-by: Scott Violet <sky@chromium.org>
Reviewed-by: Peter Collingbourne <pcc@chromium.org>
Commit-Queue: Lei Zhang <thestig@chromium.org>
Cr-Original-Commit-Position: refs/heads/master@{#583326}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 86d8a53eb84f40018c35d064ec1b04908b5dde10
This instrumentation flag is recommended by libFuzzer authors, as it may enable
various different instrumentation options which are actual and recommended for use.
The flag is implemented in clang, so we won't have to update individual
instrumentation flags anymore.
See crbug.com/764514 and https://github.com/google/oss-fuzz/issues/832
AFL still supports only trace-pc-guard instrumentation, so we have to use separate
compilation flags for AFL and libFuzzer, the same way as we do in OSS-Fuzz.
Previous reverts:
1) https://chromium-review.googlesource.com/c/chromium/src/+/852826
The issue with sancov report generation is not resolved yet. We can either land
this and break coverage on CF for some time, until I resolve crbug.com/818467 OR
we can wait until crbug.com/818467 gets resolved first. I'd prefer landing this now
and fixing coverage on CF after that.
2) https://chromium-review.googlesource.com/c/chromium/src/+/1087431
The issue with linker trying to link in symbols which were not used and thus
were not properly instrumented has been reported to the sanitizers project
and fixed on LLVM side: https://github.com/google/sanitizers/issues/971.
3) https://chromium-review.googlesource.com/c/chromium/src/+/1110348
Dead code stripping led to libFuzzer complaining about a mismatch of the size of
coverage PC tables: https://crbug.com/856239.
Fixed upstream: https://reviews.llvm.org/rL336941.
Bug: 764514
Change-Id: Ic19a6c27ee37143f3ca126e3bc57c9182e962750
Reviewed-on: https://chromium-review.googlesource.com/1175851
Reviewed-by: Abhishek Arya <inferno@chromium.org>
Reviewed-by: Jonathan Metzman <metzman@chromium.org>
Commit-Queue: Max Moroz <mmoroz@chromium.org>
Cr-Original-Commit-Position: refs/heads/master@{#583294}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 6d7b69ac40b01d87e8499cb8232631c69bd3269a
All of these targets are now in android_deps and aliased there. No need
to keep these duplicate .info files and BUILD.gn file.
Bug: 868879
Change-Id: Ie449b546328486072d00a319b681cd7512b8ea5a
Reviewed-on: https://chromium-review.googlesource.com/1173061
Reviewed-by: agrieve <agrieve@chromium.org>
Commit-Queue: Peter Wen <wnwen@chromium.org>
Cr-Original-Commit-Position: refs/heads/master@{#583235}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: e8a3b2361993826c8db98ce4499b73d6763e791b
And configure libc++ to force inline ABI-hidden functions, as was its behaviour
before r338122. Without this, the symbol tables of Mach-O binaries grow
significantly due to including multiple definitions of these functions.
Bug: 866225, 870907, 872926
Change-Id: I4382e9de57fc79b3baff3d329e338887cb4b133b
Reviewed-on: https://chromium-review.googlesource.com/1174546
Commit-Queue: Hans Wennborg <hans@chromium.org>
Commit-Queue: Reid Kleckner <rnk@chromium.org>
Reviewed-by: Reid Kleckner <rnk@chromium.org>
Cr-Original-Commit-Position: refs/heads/master@{#582951}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: d74b4a7338023093d2cc0ada1c8d9964e1f1faf8
This reverts commit bc740b07a52e8a89612b75454b17a4ad614b1e97.
Reason for revert: this commit causes compile errors on several internal.client.clank builders, particularly on "monochrome_bundle" target. Failed build: https://ci.chromium.org/buildbot/internal.client.clank/arm-builder-rel/20238
Original change's description:
> [build:android] Add a module for AR in Monochrome
>
> Add an AR Dynamic Feature Module (DFM) and bundle it into the public
> Monochrome bundle.
>
> + Add loadable modules to the build config so that their paths can be
> passed to the module create target.
>
> + Add option to bundle targets to specify the Android SDK target for
> synchronized proguarding. This was necessary because the Monochrome
> base module uses a different Android SDK than the AR module, which
> made proguard sad. Also pass the Android SDK Jar as a dedicated
> classpath Jar to proguard and don't mix it with the other classpath
> Jars.
>
> Bug: 863063
> Change-Id: I024d05dd99136c069e510995657ac7236f6b6e5e
> Reviewed-on: https://chromium-review.googlesource.com/1165533
> Commit-Queue: Tibor Goldschwendt <tiborg@chromium.org>
> Reviewed-by: Ted Choc <tedchoc@chromium.org>
> Reviewed-by: Ian Vollick <vollick@chromium.org>
> Reviewed-by: Yaron Friedman <yfriedman@chromium.org>
> Reviewed-by: agrieve <agrieve@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#582765}
TBR=vollick@chromium.org,yfriedman@chromium.org,tedchoc@chromium.org,agrieve@chromium.org,tiborg@chromium.org
Change-Id: I87ab63c3153018390f4018527d760bbd10cdcd16
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: 863063
Reviewed-on: https://chromium-review.googlesource.com/1174271
Reviewed-by: Alexandr Ilin <alexilin@chromium.org>
Commit-Queue: Alexandr Ilin <alexilin@chromium.org>
Cr-Original-Commit-Position: refs/heads/master@{#582871}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 99c7a9db66196aac59a737e8a7a7af83adfac24b
This reverts commit e6bbcbfa0efcec85bf62fc9e0fdf8a5edc76d327.
Reason for revert: Breaks build determinism on linux
https://ci.chromium.org/p/chromium/builders/luci.chromium.ci/Deterministic%20Linux/15728
See also crbug.com/873869
Original change's description:
> Make sure that both official and local (unofficial) builds have ELF build-ids
>
> The local (unofficial) builds use --build-id=uuid, which unlike sha1 build IDs
> does not slow down the build.
>
> Bug: 870919
> Change-Id: Ib55cbc86e11e8208fa8560d98b3288bbc6a149de
> Reviewed-on: https://chromium-review.googlesource.com/1169903
> Reviewed-by: Mark Mentovai <mark@chromium.org>
> Reviewed-by: Dirk Pranke <dpranke@chromium.org>
> Commit-Queue: Leonard Mosescu <mosescu@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#582658}
TBR=dpranke@chromium.org,mark@chromium.org,mosescu@chromium.org
Change-Id: I0add42d7b05d1ffcebea83d1df6d29d6139f1b67
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: 870919, 873869
Reviewed-on: https://chromium-review.googlesource.com/1173671
Reviewed-by: Ben Pastene <bpastene@chromium.org>
Commit-Queue: Ben Pastene <bpastene@chromium.org>
Cr-Original-Commit-Position: refs/heads/master@{#582769}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: bf029c05f8977d9d3d0c57cb762b8d5a3cc4da20
Add an AR Dynamic Feature Module (DFM) and bundle it into the public
Monochrome bundle.
+ Add loadable modules to the build config so that their paths can be
passed to the module create target.
+ Add option to bundle targets to specify the Android SDK target for
synchronized proguarding. This was necessary because the Monochrome
base module uses a different Android SDK than the AR module, which
made proguard sad. Also pass the Android SDK Jar as a dedicated
classpath Jar to proguard and don't mix it with the other classpath
Jars.
Bug: 863063
Change-Id: I024d05dd99136c069e510995657ac7236f6b6e5e
Reviewed-on: https://chromium-review.googlesource.com/1165533
Commit-Queue: Tibor Goldschwendt <tiborg@chromium.org>
Reviewed-by: Ted Choc <tedchoc@chromium.org>
Reviewed-by: Ian Vollick <vollick@chromium.org>
Reviewed-by: Yaron Friedman <yfriedman@chromium.org>
Reviewed-by: agrieve <agrieve@chromium.org>
Cr-Original-Commit-Position: refs/heads/master@{#582765}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: bc740b07a52e8a89612b75454b17a4ad614b1e97
- Correctly handle generated files in test entries.
- Fix fast to still output prebuilt jars.
- Moving towards making `--fast` only generate what is necessary.
- Still room to improve in avoiding tons of copies of the same mojom
generated java files in many gn targets.
Bug: 620034
Change-Id: I651cd0684c4388b90181638023e25a027c2d8949
Reviewed-on: https://chromium-review.googlesource.com/1169694
Reviewed-by: agrieve <agrieve@chromium.org>
Commit-Queue: Peter Wen <wnwen@chromium.org>
Cr-Original-Commit-Position: refs/heads/master@{#582690}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 7c1077d1911e7fc1a00140952c1c1d1054978875
Early termination of QEMU, e.g. due to missing KVM permissions, was
neither logged nor handled by the runner script, requiring an explicit
--system-log-file=<file> to be specified in order to determine the
cause of the failure.
Also add support for --system-log-file=- to have system log output
logged to the console, if desired.
Bug: 872920
Change-Id: Ib2db7213231791e404eb94caa5f8788149c01bca
Reviewed-on: https://chromium-review.googlesource.com/1170086
Reviewed-by: Sergey Ulanov <sergeyu@chromium.org>
Commit-Queue: Wez <wez@chromium.org>
Cr-Original-Commit-Position: refs/heads/master@{#582670}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: d7aa2cca31b919c20f808fdff647bcda81adb3d3
The local (unofficial) builds use --build-id=uuid, which unlike sha1 build IDs
does not slow down the build.
Bug: 870919
Change-Id: Ib55cbc86e11e8208fa8560d98b3288bbc6a149de
Reviewed-on: https://chromium-review.googlesource.com/1169903
Reviewed-by: Mark Mentovai <mark@chromium.org>
Reviewed-by: Dirk Pranke <dpranke@chromium.org>
Commit-Queue: Leonard Mosescu <mosescu@chromium.org>
Cr-Original-Commit-Position: refs/heads/master@{#582658}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: e6bbcbfa0efcec85bf62fc9e0fdf8a5edc76d327
Now that SwiftShader has been integrated into every platform on every test,
we can remove OSMesa from the chromium codebase.
BUG=chromium:873321
Cq-Include-Trybots: luci.chromium.try:android_optional_gpu_tests_rel;luci.chromium.try:linux_chromium_dbg_ng;luci.chromium.try:linux_optional_gpu_tests_rel;luci.chromium.try:mac_optional_gpu_tests_rel;luci.chromium.try:win_optional_gpu_tests_rel;master.tryserver.blink:linux_trusty_blink_rel
Change-Id: Ie75c73c172aaffd17a3e041aa7f4cf37a96c3d4d
Reviewed-on: https://chromium-review.googlesource.com/1128207
Reviewed-by: Devlin <rdevlin.cronin@chromium.org>
Reviewed-by: Antoine Labour <piman@chromium.org>
Reviewed-by: Mohsen Izadi <mohsen@chromium.org>
Reviewed-by: Robert Kroeger <rjkroege@chromium.org>
Reviewed-by: Scott Violet <sky@chromium.org>
Reviewed-by: Cait Phillips <caitkp@chromium.org>
Reviewed-by: Robert Sesek <rsesek@chromium.org>
Reviewed-by: Sadrul Chowdhury <sadrul@chromium.org>
Reviewed-by: Dale Curtis <dalecurtis@chromium.org>
Reviewed-by: Bruce Dawson <brucedawson@chromium.org>
Reviewed-by: Kenneth Russell <kbr@chromium.org>
Reviewed-by: Xiyuan Xia <xiyuan@chromium.org>
Commit-Queue: Alexis Hétu <sugoi@chromium.org>
Cr-Original-Commit-Position: refs/heads/master@{#582655}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 0f21886190d0c27515faec2ada23541b936fb0f3
The AutoRoll server is located here: https://fuchsia-sdk-chromium-roll.skia.org
Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+/master/autoroll/README.md
If the roll is causing failures, please contact the current sheriff, who should
be CC'd on the roll, and stop the roller if necessary.
CQ_INCLUDE_TRYBOTS=luci.chromium.try:fuchsia_arm64_cast_audio;luci.chromium.try:fuchsia_x64_cast_audio
TBR=cr-fuchsia+bot@chromium.org
Change-Id: I098426b763ce553d7a23e4665951dcbb709ef760
Reviewed-on: https://chromium-review.googlesource.com/1172153
Reviewed-by: Fuchsia SDK Autoroller <fuchsia-sdk-chromium-autoroll@skia-buildbots.google.com.iam.gserviceaccount.com>
Commit-Queue: Fuchsia SDK Autoroller <fuchsia-sdk-chromium-autoroll@skia-buildbots.google.com.iam.gserviceaccount.com>
Cr-Original-Commit-Position: refs/heads/master@{#582507}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 359af523750fd846f04a8c7b49006d0c6e1caae4
The AutoRoll server is located here: https://fuchsia-sdk-chromium-roll.skia.org
Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+/master/autoroll/README.md
If the roll is causing failures, please contact the current sheriff, who should
be CC'd on the roll, and stop the roller if necessary.
CQ_INCLUDE_TRYBOTS=luci.chromium.try:fuchsia_arm64_cast_audio;luci.chromium.try:fuchsia_x64_cast_audio
TBR=cr-fuchsia+bot@chromium.org
Change-Id: I395ce21322e74fe44a7a84974a61ca6000d58a90
Reviewed-on: https://chromium-review.googlesource.com/1172078
Commit-Queue: Fuchsia SDK Autoroller <fuchsia-sdk-chromium-autoroll@skia-buildbots.google.com.iam.gserviceaccount.com>
Reviewed-by: Fuchsia SDK Autoroller <fuchsia-sdk-chromium-autoroll@skia-buildbots.google.com.iam.gserviceaccount.com>
Cr-Original-Commit-Position: refs/heads/master@{#582469}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 301c93c41b4a5cd96330e5ba586d91c34b0f3744
The AutoRoll server is located here: https://fuchsia-sdk-chromium-roll.skia.org
Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+/master/autoroll/README.md
If the roll is causing failures, please contact the current sheriff, who should
be CC'd on the roll, and stop the roller if necessary.
CQ_INCLUDE_TRYBOTS=luci.chromium.try:fuchsia_arm64_cast_audio;luci.chromium.try:fuchsia_x64_cast_audio
TBR=cr-fuchsia+bot@chromium.org
Cq-Include-Trybots: luci.chromium.try:android_optional_gpu_tests_rel;luci.chromium.try:linux_optional_gpu_tests_rel;luci.chromium.try:mac_optional_gpu_tests_rel;luci.chromium.try:win_optional_gpu_tests_rel
Change-Id: I6a13ee017776283e0ecad95a24d0e663699c3c3d
Reviewed-on: https://chromium-review.googlesource.com/1171867
Commit-Queue: Wez <wez@chromium.org>
Reviewed-by: Wez <wez@chromium.org>
Reviewed-by: Fuchsia SDK Autoroller <fuchsia-sdk-chromium-autoroll@skia-buildbots.google.com.iam.gserviceaccount.com>
Cr-Original-Commit-Position: refs/heads/master@{#582466}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 88224920fb9f2be7310b4660e46c3472e3ec2b6b
Fuchsia cares about binary size, like iOS and Android. This configures
the default build to -Oz instead of -O2. This reduces the size of text
segment of the service_exe webrunner executable by about 13% when
building for ARM64 release mode non-component:
O2:
text data bss dec hex filename
83509089 3370852 1109788 87989729 53e9de1 out/fuchsia_arm64/exe.unstripped/service_exe
text data bss dec hex filename
73707333 3398764 1110516 78216613 4a97da5 out/fuchsia_arm64/exe.unstripped/service_exe
Oz:
Change-Id: I09774eb71f690a483f3f6064cace265a7f7f80e6
Reviewed-on: https://chromium-review.googlesource.com/1171864
Reviewed-by: Dirk Pranke <dpranke@chromium.org>
Reviewed-by: Wez <wez@chromium.org>
Commit-Queue: Wez <wez@chromium.org>
Cr-Original-Commit-Position: refs/heads/master@{#582460}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 7606d7c4f414d4bcef240c8eb8e3d04939e0301f
The symbolization in the Fuchsia runner scripts is not set up to work
with debug information partly split from the binary.
Bug: 777008
Change-Id: Iedaf4fe56cc8092af21acfd0d244304982a6035c
Reviewed-on: https://chromium-review.googlesource.com/1170440
Reviewed-by: Dirk Pranke <dpranke@chromium.org>
Commit-Queue: Wez <wez@chromium.org>
Cr-Original-Commit-Position: refs/heads/master@{#582344}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 1f273ccbde526a7402e715821163d8349627bf56
Make bundle modules depend on the secondary ABI libraries. This should
fix a build race condition where we fail if we build the Monochrome
bundle module before the APK.
Bug: 872998
Change-Id: I756b779ac390e806666f398e00936df29f93cdaf
Reviewed-on: https://chromium-review.googlesource.com/1171217
Commit-Queue: Tibor Goldschwendt <tiborg@chromium.org>
Commit-Queue: agrieve <agrieve@chromium.org>
Reviewed-by: agrieve <agrieve@chromium.org>
Cr-Original-Commit-Position: refs/heads/master@{#582277}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 8217643ea828e42c6dfd966b3d7d6d56df2a0d37
This is a reland of f86a758d7984ab71181a0102fe72a7ac538a1a52 with fix for x86
bots that have VR disabled.
Original change's description:
> [vr] Make VR Java android_library and separate VR JNI registration
>
> This CL does two things:
>
> - In order to move VR Java code into its own module move the code into a
> separate android_library target.
>
> - As a result of the separate library target we may miss making the VR
> JNI registrations (in case VR moves out of chrome_public_apk). Thus,
> separate the JNI registration generation for VR and register VR JNI
> calls in VR code.
>
> Bug: 862694
> Change-Id: I2b78cea7b30725d5f2b51afbcac1a6add555f355
> Reviewed-on: https://chromium-review.googlesource.com/1158715
> Commit-Queue: Tibor Goldschwendt <tiborg@chromium.org>
> Reviewed-by: agrieve <agrieve@chromium.org>
> Reviewed-by: Michael Thiessen <mthiesse@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#581576}
TBR=agrieve@chromium.org,mthiesse@chromium.org
Bug: 862694
Change-Id: If069e04fe7897f95ce7634b5fd6199eece3a6f73
Reviewed-on: https://chromium-review.googlesource.com/1167770
Commit-Queue: Tibor Goldschwendt <tiborg@chromium.org>
Reviewed-by: Tibor Goldschwendt <tiborg@chromium.org>
Cr-Original-Commit-Position: refs/heads/master@{#582269}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 5ee8761e1515212802af23041e32fd2b2cefc0eb
It looks like this file has * listed as its owner, so it doesn't need
any specific owner review.
Bug: 859514
Cq-Include-Trybots: luci.chromium.try:linux_chromium_dbg_ng
Change-Id: I9afd700a6a36f00b5fb46847fbc5d01d08646db8
Reviewed-on: https://chromium-review.googlesource.com/1169437
Commit-Queue: Charlie Andrews <charliea@chromium.org>
Reviewed-by: Ned Nguyen <nednguyen@google.com>
Cr-Original-Commit-Position: refs/heads/master@{#582236}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: b170ec58e8db44797571af99d40f1868a31698db
This reverts commit 7e545610c67d3d05ec6b0951e480d15c572d904e.
Reason for revert: Speculative revert for crbug.com/872714
Original change's description:
> android/asan: Don't depend on llvm version number at test time.
>
> Instead, copy the runtime to the build dir at build time and find it there
> at test time.
>
> Matches how things work on other platforms with the asan runtime in a shared
> library (mac/ios/win).
>
> This also makes things do the right thing with a custom clang_base_path.
>
> Bug: 872278
> Change-Id: I930bd88206f973c10eb47bfd2f132e70167235f4
> Reviewed-on: https://chromium-review.googlesource.com/1167465
> Reviewed-by: Hans Wennborg <hans@chromium.org>
> Commit-Queue: Nico Weber <thakis@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#581682}
TBR=thakis@chromium.org,hans@chromium.org
# Not skipping CQ checks because original CL landed > 1 day ago.
Bug: 872278
Change-Id: Ie2903e4f2a65dc44abe698f3a26c6d370afd1e89
Reviewed-on: https://chromium-review.googlesource.com/1169933
Reviewed-by: Dirk Pranke <dpranke@chromium.org>
Commit-Queue: Dirk Pranke <dpranke@chromium.org>
Cr-Original-Commit-Position: refs/heads/master@{#582012}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 5f069582b9f87d7953b03993e9707c569722896e
We previously attempted to include only the SOs listed in the primary
executable's ELF headers as NEEDED. This causes SOs needed by other
executables in the package to be missed, as well as any libraries used
by the executable, but loaded via dlopen() rather than at load-time.
Bug: 861931
Change-Id: If72d8007ca7d18674dd28eb310a0a5aa76519516
Reviewed-on: https://chromium-review.googlesource.com/1170179
Reviewed-by: Kevin Marshall <kmarshall@chromium.org>
Commit-Queue: Wez <wez@chromium.org>
Cr-Original-Commit-Position: refs/heads/master@{#581998}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 30029f7b62764903416a8648bec3a1c6ff509347
The AutoRoll server is located here: https://fuchsia-sdk-chromium-roll.skia.org
Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+/master/autoroll/README.md
If the roll is causing failures, please contact the current sheriff, who should
be CC'd on the roll, and stop the roller if necessary.
CQ_INCLUDE_TRYBOTS=luci.chromium.try:fuchsia_arm64_cast_audio;luci.chromium.try:fuchsia_x64_cast_audio
TBR=cr-fuchsia+bot@chromium.org
Change-Id: I2e2e069052f7b8d593119e8e96f670e7f1a12073
Reviewed-on: https://chromium-review.googlesource.com/1169980
Commit-Queue: Fuchsia SDK Autoroller <fuchsia-sdk-chromium-autoroll@skia-buildbots.google.com.iam.gserviceaccount.com>
Reviewed-by: Fuchsia SDK Autoroller <fuchsia-sdk-chromium-autoroll@skia-buildbots.google.com.iam.gserviceaccount.com>
Cr-Original-Commit-Position: refs/heads/master@{#581916}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 12c6eaa91295edea08d32fa23f00414cd8fa67a4
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