Граф коммитов

2954 Коммитов

Автор SHA1 Сообщение Дата
Peter Collingbourne 182f6432bf android: Merge package_apk and finalize_apk steps.
This simplifies the process of creating an APK, and will make it
easier to create APKs with overlapping files.

Bug: 835622
Change-Id: I57f884fc41d86c16ce81ad2adb703ffda64198cc
Reviewed-on: https://chromium-review.googlesource.com/1041566
Commit-Queue: Peter Collingbourne <pcc@chromium.org>
Reviewed-by: Egor Pasko <pasko@chromium.org>
Reviewed-by: agrieve <agrieve@chromium.org>
Cr-Original-Commit-Position: refs/heads/master@{#557659}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 52ad8239d50763b4828094927b8bc046ff7d97c8
2018-05-10 20:40:51 +00:00
Tom Anderson 9cfcd1cf68 Enable thin archives for ChromeOS builds
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
2018-05-09 22:01:13 +00:00
Ben Pastene b84165f8de Add the LKGM file as data for cros VM test runner.
Bug: 732531
Change-Id: Ic29cd0a7032f707509797229d995a4a4e28b2582
Reviewed-on: https://chromium-review.googlesource.com/1052915
Reviewed-by: Dirk Pranke <dpranke@chromium.org>
Commit-Queue: Ben Pastene <bpastene@chromium.org>
Cr-Original-Commit-Position: refs/heads/master@{#557317}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 0f531b1eb97370d0cc42f5e0ed08fa32304590f4
2018-05-09 21:16:04 +00:00
Hans Wennborg e835296b62 Roll clang 330570:331747.
Bug: 837440
Change-Id: I216c457b53e795d229228e03df8dad42ac78dc07
Reviewed-on: https://chromium-review.googlesource.com/1049654
Reviewed-by: Nico Weber <thakis@chromium.org>
Commit-Queue: Hans Wennborg <hans@chromium.org>
Cr-Original-Commit-Position: refs/heads/master@{#557156}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 8f8c2cf49b99861dbf22ba86a68170248fd0f978
2018-05-09 12:26:39 +00:00
Wez 7b2aac6db8 Roll Fuchsia SDK from 230c2287820f to c29af1551ab7
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

Bug: 841171
Change-Id: I4c23bacf4f44799b63cebefe51a5f94965408bd8
Reviewed-on: https://chromium-review.googlesource.com/1051263
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@{#557142}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 8fd4e46f603746981cfca9490ce6ea49ed11928c
2018-05-09 10:54:16 +00:00
tzik f5c52b3740 Disable C++17 aligned memory allocation on Mac
libc++ starts using aligned new operator when it's in C++17 mode, but
system libc++ on Mac doesn't have it, and that causes a link error.

This CL turn on _LIBCPP_HAS_NO_ALIGNED_ALLOCATION to avoid using
the unavailable aligned allocation.

Bug: 752720
Change-Id: I89be50bcc26d23a43da3b807109a1271fcf141f0
Reviewed-on: https://chromium-review.googlesource.com/1049186
Commit-Queue: Taiju Tsuiki <tzik@chromium.org>
Reviewed-by: Nico Weber <thakis@chromium.org>
Cr-Original-Commit-Position: refs/heads/master@{#557133}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: a1f0022e74bb529dffd6648ee28373a226759dae
2018-05-09 10:16:11 +00:00
Wez 7fe7b26db7 Make a single 'readelf' invocation for each iteration of lib-deps.
We gather the library dependencies of the executable, to include them
in the manifest, by running 'readelf' on it, then iterating over each
library in turn to add its dependencies, and so-on.

'readelf' can accept multiple filenames on the command-line, so rather
then invoking it once per-file, run it on a batch of all the not-yet-
processed dependencies, at each iteration.

Bug: 798851, 796779
Change-Id: If1ff5be592bfea120b93d16b09eb53c651d6c50f
Reviewed-on: https://chromium-review.googlesource.com/1049174
Commit-Queue: Wez <wez@chromium.org>
Reviewed-by: Kevin Marshall <kmarshall@chromium.org>
Cr-Original-Commit-Position: refs/heads/master@{#556884}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 75b2f822f6df3b663c1653e2c7eede1e7abb2269
2018-05-08 18:27:29 +00:00
Vlad Tsyrklevich ce0a82e138 Reland "[CFI] Enable cfi-icall for official Linux x64 builds"
This is a reland of a6889a090458a2653794c6e63387d6db743dc7f9 now that crrev.com/c/1044502 crrev.com/c/1043259 and crrev.com/c/1043283 fix the previously discovered issues.

Original change's description:
> [CFI] Enable cfi-icall for official Linux x64 builds
>
> The measured size impact is 1.5% and perf impact is ~1%.
>
> Bug: 701919
> Change-Id: I541242711bc85cc124ff3a2680171577e75475bd
> Reviewed-on: https://chromium-review.googlesource.com/1033918
> Commit-Queue: Peter Collingbourne <pcc@chromium.org>
> Reviewed-by: Peter Collingbourne <pcc@chromium.org>
> Reviewed-by: Dirk Pranke <dpranke@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#554828}

Bug: 701919
Change-Id: I1a518d356cc6f3599545e594204ce360b4e0360a
Reviewed-on: https://chromium-review.googlesource.com/1045565
Reviewed-by: Peter Collingbourne <pcc@chromium.org>
Reviewed-by: Max Moroz <mmoroz@chromium.org>
Commit-Queue: Peter Collingbourne <pcc@chromium.org>
Cr-Original-Commit-Position: refs/heads/master@{#556874}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: b9eff62f446687d23ffc3a1a4e8cc9ebd9f3b871
2018-05-08 18:06:54 +00:00
Torne (Richard Coles) dd46f34276 Allow native lib placeholders for both ABIs.
Allow native lib placeholders to be specified for both ABIs, not just
the primary, to allow APKs that don't contain real native code to
present to Android as if they were still multiarch.

Change-Id: I497db19dd2dffbdd816615d9a5905ae4a77a687b
Reviewed-on: https://chromium-review.googlesource.com/1048525
Reviewed-by: agrieve <agrieve@chromium.org>
Commit-Queue: Richard Coles <torne@chromium.org>
Cr-Original-Commit-Position: refs/heads/master@{#556864}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: ff96dbaf2e7d3adac766bd248bb03040b87e7e0f
2018-05-08 17:54:36 +00:00
David 'Digit' Turner 83c3af53bd android: Do not generate .apk.jar.info files in javac.py
When compiling Java sources into .jar files, the javac.py
script will also generate a .jar.info file, used to map
fully-qualified Java class names to the path of the
corresponding source or .srcjar file.

These are stored along the generated .jar file, e.g.:

  $OUT/gen/base/base_java.javac.jar
  $OUT/gen/base/base_java.javac.jar.info

In addition to this, each APK has a final .apk.jar.info
file stored under $OUT_DIR/size-info/ that corresponds to the
union of all the .jar.info files of its dependencies, e.g.:

  $OUT/size-info/ChromePublic.apk.jar.info

Before this CL, the .apk.jar.info was generated by javac.py
when compiling the APK's own source files (which include things
like the auto-generated resource-related .srcjar files), by
passing the --apk-jar-info option to the script.

Unfortunately, this made the implementation of the android_apk(),
java_library_impl() and compile_java() GN templates slightly more
complex (tightly coupled) than needed, making future changes more
difficult.

This CL tries to untangle the coupling as follows:

- Add a new script (merge_jar_info_files.py) to merge one or
  more .jar.info file into a final .apk.jar.info.

- Remove --apk-jar-info option from javac.py. The latter is now
  only responsible for generating the .jar.info of its final
  .jar file, and doesn't need to know anything about that may
  or may not embed it later.

  Similarly, remove the 'apk_name' variable from compile_java()
  and java_library_impl().

- Ensure that the android_apk() generates the final .apk.jar.info
  file by calling merge_jar_info_files.py.

+ Move common functionality to build/android/gyp/util/jar_info_utils.py

To test the result, I manually checked that all .apk.jar.info files
are identical after sorting (since they are a dump of a Python dictionary,
with no guaranteed ordering:

BUG=830641
R=agrieve@chromium.org, yfriedman@chromium.org

Change-Id: I2051bc35aba2931947d2a30db507a4d437998238
Reviewed-on: https://chromium-review.googlesource.com/1047269
Commit-Queue: David Turner <digit@chromium.org>
Reviewed-by: Peter Wen <wnwen@chromium.org>
Reviewed-by: agrieve <agrieve@chromium.org>
Cr-Original-Commit-Position: refs/heads/master@{#556770}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 609082c660bd5f231e592d9701e2ea3b84066fee
2018-05-08 12:57:33 +00:00
Magnus Jedvert 908c9f06a7 Android JNI generation: Expose setting C++ namespace from build files
We currently use '@JNINamespace' everywhere in WebRTC for setting the
WebRTC namespace, but it would be cleaner to do this from the build file
and the python script already has support for it, we just need to expose
it.

Bug: webrtc:8278
Change-Id: Ibc0529f353572225f0d677dbf7ab0e5883fa197d
Reviewed-on: https://chromium-review.googlesource.com/1044191
Reviewed-by: agrieve <agrieve@chromium.org>
Commit-Queue: Magnus Jedvert <magjed@chromium.org>
Cr-Original-Commit-Position: refs/heads/master@{#556733}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 9fdaf87da1fef7532d0066f4cc386dfda1625565
2018-05-08 08:51:54 +00:00
Sadrul Habib Chowdhury 0a40aa9e7a code coverage: Fix writing profiles from child processes.
Notable changes:
. Introduce CLANG_COVERAGE define if use_clang_coverage gn arg is set.
. For child processes to be able to correctly write the coverage profile
  during teardown, it is necessary to allow them to shut-down cleanly.
  So avoid terminating the processes from ~ChildProcessLauncher() when
  CLANG_COVERAGE is set.
. Child processes can do fast-shutdown by calling _exit(0). So force the
  profile file to be written from the child process before calling that.

With both changes, it is still necessary to run with --no-sandbox, since
otherwise the child processes are not able to write to the profile file.

BUG=838582, 834781

Change-Id: I742521e756a7dead983f40462798f7c4dac2ac02
Reviewed-on: https://chromium-review.googlesource.com/1041271
Reviewed-by: Max Moroz <mmoroz@chromium.org>
Reviewed-by: Antoine Labour <piman@chromium.org>
Reviewed-by: Dirk Pranke <dpranke@chromium.org>
Commit-Queue: Sadrul Chowdhury <sadrul@chromium.org>
Cr-Original-Commit-Position: refs/heads/master@{#556236}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 5aa6275b4f8a9668c1376e7ffc36bc496d41f6f5
2018-05-04 23:07:49 +00:00
James Cook 2de8c3d754 Better gn error message for missing target_os=chromeos
Multiple chrome os developers have been tripped up by this, so improve
the error message.

Bug: none
Change-Id: Ic91237bda734648bcc28e0df9b1c05317ea3bfd8
Reviewed-on: https://chromium-review.googlesource.com/1044494
Reviewed-by: Dirk Pranke <dpranke@chromium.org>
Commit-Queue: James Cook <jamescook@chromium.org>
Cr-Original-Commit-Position: refs/heads/master@{#556206}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 77866ef44060aa415c0f94fe16658e037c53e5d2
2018-05-04 21:41:00 +00:00
Kevin Marshall f255fa4e72 Fuchsia: Bundle only the necessary shared libraries in packages.
Add logic to inspect the ELF headers of the packaged binary and its
libraries, to prune the libraries not marked as NEEDED by their
ELF headers.

Change-Id: Ie74864860f53a28b3dd8cd1f65b8dd24166c4395
Reviewed-on: https://chromium-review.googlesource.com/1041075
Commit-Queue: Kevin Marshall <kmarshall@chromium.org>
Reviewed-by: Scott Graham <scottmg@chromium.org>
Cr-Original-Commit-Position: refs/heads/master@{#556142}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 43204c00ab62ec37e15c415c677aa136ac84facf
2018-05-04 19:14:43 +00:00
Kevin Marshall 31e3cff15f Fuchsia: Generate depfiles for incremental building of package contents.
Generating a depfile from the manifest building step gives Ninja
the information it needs to trigger incremental rebuilds when static
assets or shared libraries have been modified.

Bug: 839496
Change-Id: I15aee25e8684f9d1fd6a8ad63318cc74639237f0
Reviewed-on: https://chromium-review.googlesource.com/1043047
Commit-Queue: Kevin Marshall <kmarshall@chromium.org>
Reviewed-by: Scott Graham <scottmg@chromium.org>
Cr-Original-Commit-Position: refs/heads/master@{#555887}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 1322db809bcf2ab2305f64f4207fb3a239bd09ef
2018-05-03 21:52:42 +00:00
Vlad Tsyrklevich 940f964299 Revert "[CFI] Enable cfi-icall for official Linux x64 builds"
This reverts commit a6889a090458a2653794c6e63387d6db743dc7f9.

Reason for revert: Seeing multiple failures that might be caused by this change: 839362, 838785, 838858, 839327

Original change's description:
> [CFI] Enable cfi-icall for official Linux x64 builds
> 
> The measured size impact is 1.5% and perf impact is ~1%.
> 
> Bug: 701919
> Change-Id: I541242711bc85cc124ff3a2680171577e75475bd
> Reviewed-on: https://chromium-review.googlesource.com/1033918
> Commit-Queue: Peter Collingbourne <pcc@chromium.org>
> Reviewed-by: Peter Collingbourne <pcc@chromium.org>
> Reviewed-by: Dirk Pranke <dpranke@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#554828}

TBR=dpranke@chromium.org,pcc@chromium.org,vtsyrklevich@chromium.org

# Not skipping CQ checks because original CL landed > 1 day ago.

Bug: 701919
Change-Id: Ia73c2508483576a16fbc00749f081f013e6fd813
Reviewed-on: https://chromium-review.googlesource.com/1042765
Reviewed-by: Peter Collingbourne <pcc@chromium.org>
Commit-Queue: Peter Collingbourne <pcc@chromium.org>
Cr-Original-Commit-Position: refs/heads/master@{#555853}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 4a5c48bfcfc6362a8c35cf86d0de977aa6b28c4e
2018-05-03 20:13:57 +00:00
Egor Pasko e87d072a63 Make digit@ consistent in OWNERS
I think digit@chromium.org is more preferable these days, so change the
remaining cases of digit@google.com to the preferable way for extra
consistency.

TBR=estevenson@chromium.org
NOTRY=true

Bug: None
Change-Id: Ie545282b334f056c7e72836caabec8539441ec3b
Reviewed-on: https://chromium-review.googlesource.com/1030376
Commit-Queue: Egor Pasko <pasko@chromium.org>
Reviewed-by: John Budorick <jbudorick@chromium.org>
Reviewed-by: David Turner <digit@chromium.org>
Cr-Original-Commit-Position: refs/heads/master@{#555744}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 8bf4d1ff63ce4b2ebe1315ec093ee214a6ade9e0
2018-05-03 15:35:04 +00:00
Kevin Marshall b5eb49abd3 Fuchsia: Roll SDK to a65710e36f72d and adapt to dist libroot changes.
Shared libraries are now spread over two directories in the SDK,
causing some libraries to be omitted from packages, rendering the
libraries non-executable.

This CL registers $sysroot/dist as a library data dependency.

Bug: 707030
Change-Id: Ie05e1b5dacf8924475576c3c53bf0d8d460db1f3
Reviewed-on: https://chromium-review.googlesource.com/1039026
Commit-Queue: Kevin Marshall <kmarshall@chromium.org>
Commit-Queue: Sergey Ulanov <sergeyu@chromium.org>
Reviewed-by: Sergey Ulanov <sergeyu@chromium.org>
Cr-Original-Commit-Position: refs/heads/master@{#555282}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 096b5311d430cb4af2d065bda656331934d03e36
2018-05-02 01:52:53 +00:00
Ben Pastene 556bbf8211 Add a host-side mode of execution for cros vm test runner.
This will add a positional arg to run_vm_test.py that can take one of two
values:

- "host-cmd": Runs a command on the host. Just launches the vm then
immediately calls the passed in cmd on the host. It's assumed the cmd will
handle data deps, ssh commands, etc.

- "vm-test": Runs a test in the vm. Takes care of spawning the vm, pushing
the test and its deps to the vm, executing the test, and tears down the vm.
(This is the current default behavior.)

Bug: 832374
Change-Id: Ib8bd1b2e7dd393f8a4578979fa164381a8342ef2
Reviewed-on: https://chromium-review.googlesource.com/1038747
Commit-Queue: Ben Pastene <bpastene@chromium.org>
Reviewed-by: Dirk Pranke <dpranke@chromium.org>
Cr-Original-Commit-Position: refs/heads/master@{#555279}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: e5e7dc3762a1b18646810303e106da173ac603b5
2018-05-02 01:42:14 +00:00
Paul Jensen c8cdddd8e4 Reland "[Cronet] Build maven modules and test by building sample app with gradle"
This is a reland of 10f4dd8996fe4a028ee2aa61cdf84ad4080ef31c

I disabled the gradle build when !use_platform_icu_alternatives so Android bots
continue to build successfully.  I also moved cronet_maven/ output directory to
cronet/maven/ so it can be uploaded by the bots.

Original change's description:
> [Cronet] Build maven modules and test by building sample app with gradle
>
> This change builds maven modules for Cronet.
> Each maven module includes:
>   1. POM file defining module and listing dependent modules
>   2. Jars
>   3. Proguard files (optional)
>   4. Native libraries (optional)
>   5. Resources (optional)
>   6. Javadocs (optional)
> We build four maven modules:
>   1. cronet-api: the Cronet API
>   2. cronet-embedded: the Cronet native implementation
>   3. cronet-fallback: the Cronet fallback implementation
>   4. cronet-common: Cronet implementation in common with #3 and #4
>
> To test the maven modules, this change builds the Cronet sample app using gradle.
> You can install and run the resulting app by:
>   ninja -C out/Debug cronet_maven_test_build
>   adb install -r out/Debug/cronet_maven/test/build/outputs/apk/debug/test-debug.apk
>   adb install -r out/Debug/cronet_maven/test/build/outputs/apk/androidTest/debug/test-debug-androidTest.apk
>   adb shell am instrument -w org.chromium.cronet_sample_apk.test/android.support.test.runner.AndroidJUnitRunner
>
> Cq-Include-Trybots: master.tryserver.chromium.android:android_cronet_tester;master.tryserver.chromium.mac:ios-simulator-cronet
> Change-Id: I5ed27e86f3e01dc3a6441ab449bbe942553343af
> Reviewed-on: https://chromium-review.googlesource.com/998019
> Commit-Queue: Paul Jensen <pauljensen@chromium.org>
> Reviewed-by: Andrei Kapishnikov <kapishnikov@chromium.org>
> Reviewed-by: Eric Stevenson <estevenson@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#554608}

Change-Id: Ieba6842b48d0b8e97ca1dc6686080cb31a87ed95
Cq-Include-Trybots: master.tryserver.chromium.android:android_cronet_tester;master.tryserver.chromium.mac:ios-simulator-cronet

TBR=estevenson@chromium.org
Eric already approved the build/ change in https://chromium-review.googlesource.com/998019

Change-Id: Ieba6842b48d0b8e97ca1dc6686080cb31a87ed95
Reviewed-on: https://chromium-review.googlesource.com/1037723
Commit-Queue: Paul Jensen <pauljensen@chromium.org>
Reviewed-by: Eric Stevenson <estevenson@chromium.org>
Reviewed-by: Andrei Kapishnikov <kapishnikov@chromium.org>
Cr-Original-Commit-Position: refs/heads/master@{#555157}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 5ff415959d5ef4d105cda4cd4fe36f06107f54b9
2018-05-01 19:58:24 +00:00
Ken Rockot a192baf56b Build 32- and 64-bit Android mojo_core for Chrome OS distribution
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
2018-05-01 03:10:06 +00:00
Ben Pastene daa64d068c Declare cros board and sdk version as gn args.
This will let the chrome-sdk explicitly set them as args (ie CL:1035427)

Once that lands, then we can remove the default env-var logic.

Bug: 732531
Change-Id: Id8283e6018f8f7e652a29cb367b0a3c10adc6fa8
Reviewed-on: https://chromium-review.googlesource.com/1035602
Reviewed-by: Dirk Pranke <dpranke@chromium.org>
Commit-Queue: Ben Pastene <bpastene@chromium.org>
Cr-Original-Commit-Position: refs/heads/master@{#554917}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 4c35c578d6b5fc3c7f6e4d36e7014a4306e19960
2018-04-30 23:21:48 +00:00
Hans Wennborg 795f23bc63 Build with -fmerge-all-constants also on Windows
After Clang r329300 we need to request this explicitly. Make sure to do
so also on Windows.

Bug: 835506, 829795
Change-Id: I4b47e897ac202eb796d8c5b31808dfae2aeb5b22
Reviewed-on: https://chromium-review.googlesource.com/1035265
Reviewed-by: Nico Weber <thakis@chromium.org>
Commit-Queue: Hans Wennborg <hans@chromium.org>
Cr-Original-Commit-Position: refs/heads/master@{#554881}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 3e568aae1d572c4b373f40e0826de7ea0a39d3c0
2018-04-30 21:24:46 +00:00
Vlad Tsyrklevich b585f5817f [CFI] Enable cfi-icall for official Linux x64 builds
The measured size impact is 1.5% and perf impact is ~1%.

Bug: 701919
Change-Id: I541242711bc85cc124ff3a2680171577e75475bd
Reviewed-on: https://chromium-review.googlesource.com/1033918
Commit-Queue: Peter Collingbourne <pcc@chromium.org>
Reviewed-by: Peter Collingbourne <pcc@chromium.org>
Reviewed-by: Dirk Pranke <dpranke@chromium.org>
Cr-Original-Commit-Position: refs/heads/master@{#554828}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: a6889a090458a2653794c6e63387d6db743dc7f9
2018-04-30 18:52:52 +00:00
Kevin Marshall 3e09ee495d Fuchsia: Use system root cert capability and cert store.
This change uses a special sandbox feature to gain access to the
system's root certificate store.

The previous code referenced the cert store under "/system", but that
directory is not attached to the namespaces of non-"shell" processes.

Bug: 837536
Change-Id: I4a406525558e10dd0cac8e9b28345560899e07dc
Reviewed-on: https://chromium-review.googlesource.com/1032050
Reviewed-by: Wez <wez@chromium.org>
Reviewed-by: David Benjamin <davidben@chromium.org>
Commit-Queue: Kevin Marshall <kmarshall@chromium.org>
Cr-Original-Commit-Position: refs/heads/master@{#554820}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: d18578f3e006e7a6384211e74aaebc7bb59f8b0e
2018-04-30 18:36:02 +00:00
Anita Woodruff 7c480c285b Revert "[Cronet] Build maven modules and test by building sample app with gradle"
This reverts commit 10f4dd8996fe4a028ee2aa61cdf84ad4080ef31c.

Reason for revert: Build failures on 3 bots

BUG=838082

Original change's description:
> [Cronet] Build maven modules and test by building sample app with gradle
> 
> This change builds maven modules for Cronet.
> Each maven module includes:
>   1. POM file defining module and listing dependent modules
>   2. Jars
>   3. Proguard files (optional)
>   4. Native libraries (optional)
>   5. Resources (optional)
>   6. Javadocs (optional)
> We build four maven modules:
>   1. cronet-api: the Cronet API
>   2. cronet-embedded: the Cronet native implementation
>   3. cronet-fallback: the Cronet fallback implementation
>   4. cronet-common: Cronet implementation in common with #3 and #4
> 
> To test the maven modules, this change builds the Cronet sample app using gradle.
> You can install and run the resulting app by:
>   ninja -C out/Debug cronet_maven_test_build
>   adb install -r out/Debug/cronet_maven/test/build/outputs/apk/debug/test-debug.apk
>   adb install -r out/Debug/cronet_maven/test/build/outputs/apk/androidTest/debug/test-debug-androidTest.apk
>   adb shell am instrument -w org.chromium.cronet_sample_apk.test/android.support.test.runner.AndroidJUnitRunner
> 
> Cq-Include-Trybots: master.tryserver.chromium.android:android_cronet_tester;master.tryserver.chromium.mac:ios-simulator-cronet
> Change-Id: I5ed27e86f3e01dc3a6441ab449bbe942553343af
> Reviewed-on: https://chromium-review.googlesource.com/998019
> Commit-Queue: Paul Jensen <pauljensen@chromium.org>
> Reviewed-by: Andrei Kapishnikov <kapishnikov@chromium.org>
> Reviewed-by: Eric Stevenson <estevenson@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#554608}

TBR=pauljensen@chromium.org,kapishnikov@chromium.org,estevenson@chromium.org

# Not skipping CQ checks because original CL landed > 1 day ago.

Change-Id: I2779ce28f4df2b8dfe8dd2fcf5fc5a3a850c8ee0
Cq-Include-Trybots: master.tryserver.chromium.android:android_cronet_tester;master.tryserver.chromium.mac:ios-simulator-cronet
Reviewed-on: https://chromium-review.googlesource.com/1034534
Reviewed-by: Anita Woodruff <awdf@chromium.org>
Commit-Queue: Anita Woodruff <awdf@chromium.org>
Cr-Original-Commit-Position: refs/heads/master@{#554723}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: ab3426de8a278364703d1023b946cb2cc6ff23f7
2018-04-30 11:51:59 +00:00
Robin Raymond 8c075578bb Win host toolchain incorrectly assumes target_cpu for arm cpu target.
The original patchset has a minor flaw in building for UWP unrelated to the changes made in the original CL itself. $target_cpu is used in "host" toolset instead of $host_cpu and when building an arm target it causes issues as it can't build host tools.

Fixes an error introduced in crrev.com/c/923161

R=brucedawson@chromium.org, dpranke@chromium.org, phoglund@chromium.org

Bug: 812814
Change-Id: Ia6e7f1dc2b5494e212d67b99a119e023a1308c25
Reviewed-on: https://chromium-review.googlesource.com/1022493
Reviewed-by: Dirk Pranke <dpranke@chromium.org>
Reviewed-by: Bruce Dawson <brucedawson@chromium.org>
Commit-Queue: Patrik Höglund <phoglund@chromium.org>
Cr-Original-Commit-Position: refs/heads/master@{#554707}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 86ac3fe7e3327a67ba131764738ed5cdb3685fff
2018-04-30 08:29:23 +00:00
Abhishek Arya 725734cd9c Revert "Build 32- and 64-bit Android mojo_core for Chrome OS distribution"
This reverts commit 58eabf0b4f69f136629286538c31c10e9375c51c.

Reason for revert: Broke ChromeOS ASan builder

Original change's description:
> Build 32- and 64-bit Android mojo_core for Chrome OS distribution
> 
> 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: I219837de3076490cdea8315e6cc98c5432871ea0
> Reviewed-on: https://chromium-review.googlesource.com/1026203
> Commit-Queue: Ken Rockot <rockot@chromium.org>
> Reviewed-by: Dirk Pranke <dpranke@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#554617}

TBR=rockot@chromium.org,dpranke@chromium.org

Change-Id: I2e2b0d3500aa948f15ec7cf0ff024f7a82fd719d
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: 822034
Reviewed-on: https://chromium-review.googlesource.com/1033369
Reviewed-by: Abhishek Arya <inferno@chromium.org>
Commit-Queue: Abhishek Arya <inferno@chromium.org>
Cr-Original-Commit-Position: refs/heads/master@{#554632}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 9591f2badbd80682049c16a00df7df1625fce19e
2018-04-28 06:17:55 +00:00
Ken Rockot fb6dc3aba5 Build 32- and 64-bit Android mojo_core for Chrome OS distribution
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: I219837de3076490cdea8315e6cc98c5432871ea0
Reviewed-on: https://chromium-review.googlesource.com/1026203
Commit-Queue: Ken Rockot <rockot@chromium.org>
Reviewed-by: Dirk Pranke <dpranke@chromium.org>
Cr-Original-Commit-Position: refs/heads/master@{#554617}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 58eabf0b4f69f136629286538c31c10e9375c51c
2018-04-28 03:01:04 +00:00
Paul Jensen cbc1b8dfed [Cronet] Build maven modules and test by building sample app with gradle
This change builds maven modules for Cronet.
Each maven module includes:
  1. POM file defining module and listing dependent modules
  2. Jars
  3. Proguard files (optional)
  4. Native libraries (optional)
  5. Resources (optional)
  6. Javadocs (optional)
We build four maven modules:
  1. cronet-api: the Cronet API
  2. cronet-embedded: the Cronet native implementation
  3. cronet-fallback: the Cronet fallback implementation
  4. cronet-common: Cronet implementation in common with #3 and #4

To test the maven modules, this change builds the Cronet sample app using gradle.
You can install and run the resulting app by:
  ninja -C out/Debug cronet_maven_test_build
  adb install -r out/Debug/cronet_maven/test/build/outputs/apk/debug/test-debug.apk
  adb install -r out/Debug/cronet_maven/test/build/outputs/apk/androidTest/debug/test-debug-androidTest.apk
  adb shell am instrument -w org.chromium.cronet_sample_apk.test/android.support.test.runner.AndroidJUnitRunner

Cq-Include-Trybots: master.tryserver.chromium.android:android_cronet_tester;master.tryserver.chromium.mac:ios-simulator-cronet
Change-Id: I5ed27e86f3e01dc3a6441ab449bbe942553343af
Reviewed-on: https://chromium-review.googlesource.com/998019
Commit-Queue: Paul Jensen <pauljensen@chromium.org>
Reviewed-by: Andrei Kapishnikov <kapishnikov@chromium.org>
Reviewed-by: Eric Stevenson <estevenson@chromium.org>
Cr-Original-Commit-Position: refs/heads/master@{#554608}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 10f4dd8996fe4a028ee2aa61cdf84ad4080ef31c
2018-04-28 01:59:17 +00:00
George Burgess IV 8e3d2dba83 [AFDO] Refactor default profile code
This was previously split out to support defining different profiles
for Chrome and Chromium. Since we no longer need to do this, it's
simplest to have this all inline. (In particular, this refactor makes
using this profile on Linux like, 2 lines of diff.)

No functionality change is intended.

Bug: 805098
Test: `rgrep fprofile-sample-use out | wc -l` gives a high number
Change-Id: Ice635b71942f10ef1aed9e2fd9872ac06f598803
Reviewed-on: https://chromium-review.googlesource.com/1024637
Reviewed-by: agrieve <agrieve@chromium.org>
Commit-Queue: George Burgess <gbiv@chromium.org>
Cr-Original-Commit-Position: refs/heads/master@{#554571}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 31d221685cba6b84e9c7ddcdf81c8c3722653a56
2018-04-28 00:03:02 +00:00
Kevin Marshall cdc6637b5e Fuchsia: Remove bootfs-based runner v1 from build.
* Delete runner V1 scripts.
* Relocate runner V2 scripts to runner V1 location, and remove
  "runner_v2" directory.
* Delete unused GN attributes and transitional GN groups().
* Remove override flags from Fuchsia FYI buildbots.


Bug: 805057
Change-Id: I62e8fbfa200ebf31bd0a766bc276477ddca0b673
Reviewed-on: https://chromium-review.googlesource.com/1031564
Reviewed-by: Scott Graham <scottmg@chromium.org>
Reviewed-by: Dirk Pranke <dpranke@chromium.org>
Commit-Queue: Kevin Marshall <kmarshall@chromium.org>
Cr-Original-Commit-Position: refs/heads/master@{#554448}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 3ae01362bd9d149b0c5f9d857676710249d6cca4
2018-04-27 19:29:18 +00:00
Sam McNally 298c672395 Revert "Reland "win: Link with lld instead of MSVC's link.exe by default""
This reverts commit 50b44e68c49dd38ea10a1332c216fc9b7d00cc65.

Reason for revert: Breaks NaCl on win7 32 bit: https://ci.chromium.org/buildbot/chromium.win/Win7%20%2832%29%20Tests/32881

Original change's description:
> Reland "win: Link with lld instead of MSVC's link.exe by default"
> 
> This is a reland of be8138a4eb66bddb5bca81e08c13c6cb1dafc981
> 
> The issues with the first attempt were addressed in the latest
> Clang roll (#553415). ASan is excluded from using lld until
> the fix for crbug.com/837090 is rolled into Chromium.
> 
> Original change's description:
> > win: Link with lld instead of MSVC's link.exe by default
> >
> > lld is LLVM's linker. It produces PE/COFF and PDB files just like
> > link.exe, but it's significantly faster and it can also handle LLVM's
> > internal representation, which will enable us to do link-time
> > optimization and control-flow integraty checks with Clang.
> >
> > While lld is much faster at linking, it doesn't support incremental
> > links, meaning builds that only touch a few files and re-link a large
> > executable may become slower.
> >
> > This is the first attempt at switching everything over, with the
> > purpose of gathering data and finding unknown unknowns. It's likely
> > temporary until something breaks.
> >
> > is_win_fastlink is implicitly ignored when using lld, as lld without
> > fastlink is faster than link.exe with it.
> >
> > Also switch the CrWinClangLLD bots on chromium.clang to use MSVC's
> > link.exe to make sure that configuration keeps working.
> >
> > Bug: 792131
> > Change-Id: I0f115a78c33d69eadbd480f75c2a5d636e86483d
> > Reviewed-on: https://chromium-review.googlesource.com/983632
> > Commit-Queue: Nico Weber <thakis@chromium.org>
> > Reviewed-by: Nico Weber <thakis@chromium.org>
> > Cr-Commit-Position: refs/heads/master@{#551367}
> 
> Bug: 792131
> Change-Id: I85ad51904884734156a4e06859fd1ba08e519a3b
> Reviewed-on: https://chromium-review.googlesource.com/1031330
> Reviewed-by: Nico Weber <thakis@chromium.org>
> Commit-Queue: Hans Wennborg <hans@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#554239}

TBR=thakis@chromium.org,hans@chromium.org

Change-Id: I1e873015f928603909b744e857efa1f5a44c2ba0
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: 792131
Reviewed-on: https://chromium-review.googlesource.com/1032010
Reviewed-by: Sam McNally <sammc@chromium.org>
Commit-Queue: Sam McNally <sammc@chromium.org>
Cr-Original-Commit-Position: refs/heads/master@{#554293}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 2f4879b3b6c57568d6df6a3a25e184eb6c007ff0
2018-04-27 03:42:10 +00:00
Hans Wennborg 9452e59e30 Reland "win: Link with lld instead of MSVC's link.exe by default"
This is a reland of be8138a4eb66bddb5bca81e08c13c6cb1dafc981

The issues with the first attempt were addressed in the latest
Clang roll (#553415). ASan is excluded from using lld until
the fix for crbug.com/837090 is rolled into Chromium.

Original change's description:
> win: Link with lld instead of MSVC's link.exe by default
>
> lld is LLVM's linker. It produces PE/COFF and PDB files just like
> link.exe, but it's significantly faster and it can also handle LLVM's
> internal representation, which will enable us to do link-time
> optimization and control-flow integraty checks with Clang.
>
> While lld is much faster at linking, it doesn't support incremental
> links, meaning builds that only touch a few files and re-link a large
> executable may become slower.
>
> This is the first attempt at switching everything over, with the
> purpose of gathering data and finding unknown unknowns. It's likely
> temporary until something breaks.
>
> is_win_fastlink is implicitly ignored when using lld, as lld without
> fastlink is faster than link.exe with it.
>
> Also switch the CrWinClangLLD bots on chromium.clang to use MSVC's
> link.exe to make sure that configuration keeps working.
>
> Bug: 792131
> Change-Id: I0f115a78c33d69eadbd480f75c2a5d636e86483d
> Reviewed-on: https://chromium-review.googlesource.com/983632
> Commit-Queue: Nico Weber <thakis@chromium.org>
> Reviewed-by: Nico Weber <thakis@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#551367}

Bug: 792131
Change-Id: I85ad51904884734156a4e06859fd1ba08e519a3b
Reviewed-on: https://chromium-review.googlesource.com/1031330
Reviewed-by: Nico Weber <thakis@chromium.org>
Commit-Queue: Hans Wennborg <hans@chromium.org>
Cr-Original-Commit-Position: refs/heads/master@{#554239}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 50b44e68c49dd38ea10a1332c216fc9b7d00cc65
2018-04-27 00:53:06 +00:00
Kevin Marshall d609d005f1 Fuchsia: Increase partition size limits for /data and blobstore.
The current partition size limits are too small to accomodate very
large packages such as debug builds of "content_unittests" (600MB).
This CL adjusts the limits and deployment workflow to better handle
large files.

* Increase blobstore extend amount from 512MB to 1GB.
* Copy target for install packages changed to /data (was /tmp ,
  which is smaller and in-memory).
* Increase /data partition size from 10MB to 1GB, large enough
  to hold packages.
* Eagerly delete the /data partition file after qcow2 images are
  created, to reduce the space footprint on the test host.
* Add cleanup step for install packages.
* Move qcow2 creation logic to boot_data.py.
* Clarified some logging statements.

Bug: 798851
Change-Id: Ia98dd5f483ccca8802f68a865d3a85ed061dfbd8
Reviewed-on: https://chromium-review.googlesource.com/1030951
Commit-Queue: Kevin Marshall <kmarshall@chromium.org>
Reviewed-by: Scott Graham <scottmg@chromium.org>
Cr-Original-Commit-Position: refs/heads/master@{#554155}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 43531956535482f54a27900530f0729f195aa98a
2018-04-26 21:48:54 +00:00
Kevin Marshall e354efd9e6 Fuchsia: remove "shell" capability and add dynamic libraries to packages.
Removing the "shell" capability allows packaged apps to load dynamic
libraries from the package. In addition, it prevents the app from using any
system-provided libraries, in favor of the package supplying all of
its data and dynamic library dependencies.

This CL includes the system libraries from the SDK's "dist" directory
in packages built using the package() GN template.

This reverts commit 2841fb2f7be2c0b91953a86fa0460c4ac94aac24.

Bug: 823927,836341, 837203
Change-Id: Iea57853f6c3c4ebc36de4f758f168fffbd4d79ba
Reviewed-on: https://chromium-review.googlesource.com/1027087
Reviewed-by: Wez <wez@chromium.org>
Commit-Queue: Kevin Marshall <kmarshall@chromium.org>
Cr-Original-Commit-Position: refs/heads/master@{#554129}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 98ffc41ad2518b62ec32d2c62f8da62ea1571357
2018-04-26 20:38:53 +00:00
Mostyn Bramley-Moore 7d4395f6b9 remove FindBadConstructs' no-realpath option
Clang has been rolled since we made the no-realpath option a no-op:
https://chromium-review.googlesource.com/1026114

Now we can stop passing the flag and remove it from the plugin altogether.

Bug: 583454
Change-Id: I461d813be831312cb9ac97cd39404031f38546c1
Reviewed-on: https://chromium-review.googlesource.com/1030195
Reviewed-by: Nico Weber <thakis@chromium.org>
Commit-Queue: Mostyn Bramley-Moore <mostynb@vewd.com>
Cr-Original-Commit-Position: refs/heads/master@{#554020}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 57727f923132ec0fd763ba6a26b630c55e7ca96f
2018-04-26 14:29:47 +00:00
Hans Wennborg 9cd3741762 Revert "Reland "win: Link with lld instead of MSVC's link.exe by default""
This reverts commit 6b5ac2efbfcbf98590bb1b7e610dacb3318c122a.

Reason for revert:
It broke the Win ASan bot on the LKGR waterfall (see second bug).

Original change's description:
> Reland "win: Link with lld instead of MSVC's link.exe by default"
> 
> This is a reland of be8138a4eb66bddb5bca81e08c13c6cb1dafc981
> The issues with the previous attempt were addressed in the latest
> Clang roll (#553415).
> 
> Original change's description:
> > win: Link with lld instead of MSVC's link.exe by default
> >
> > lld is LLVM's linker. It produces PE/COFF and PDB files just like
> > link.exe, but it's significantly faster and it can also handle LLVM's
> > internal representation, which will enable us to do link-time
> > optimization and control-flow integraty checks with Clang.
> >
> > While lld is much faster at linking, it doesn't support incremental
> > links, meaning builds that only touch a few files and re-link a large
> > executable may become slower.
> >
> > This is the first attempt at switching everything over, with the
> > purpose of gathering data and finding unknown unknowns. It's likely
> > temporary until something breaks.
> >
> > is_win_fastlink is implicitly ignored when using lld, as lld without
> > fastlink is faster than link.exe with it.
> >
> > Also switch the CrWinClangLLD bots on chromium.clang to use MSVC's
> > link.exe to make sure that configuration keeps working.
> >
> > Bug: 792131
> > Change-Id: I0f115a78c33d69eadbd480f75c2a5d636e86483d
> > Reviewed-on: https://chromium-review.googlesource.com/983632
> > Commit-Queue: Nico Weber <thakis@chromium.org>
> > Reviewed-by: Nico Weber <thakis@chromium.org>
> > Cr-Commit-Position: refs/heads/master@{#551367}
> 
> Bug: 792131
> Change-Id: I3b76cd015ef18bb3e2ac7a3efa4352c4f04e560b
> Reviewed-on: https://chromium-review.googlesource.com/1028374
> Reviewed-by: Nico Weber <thakis@chromium.org>
> Commit-Queue: Hans Wennborg <hans@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#553776}

TBR=thakis@chromium.org,hans@chromium.org

Change-Id: Ied5addd2f8d16d1e002bf37846e7106b4c754cb9
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: 792131, 837090
Reviewed-on: https://chromium-review.googlesource.com/1029631
Reviewed-by: Hans Wennborg <hans@chromium.org>
Commit-Queue: Hans Wennborg <hans@chromium.org>
Cr-Original-Commit-Position: refs/heads/master@{#553878}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: fda7b0b62df2fe87ca1650907911ef66a051faa8
2018-04-26 03:13:25 +00:00
John Budorick 799d5ab771 Guard checkout_android gclient check w/ build_with_chromiuim.
Un-breaking WebRTC to let them revert a CL to un-break CrOS.

TBR=agrieve@chromium.org

Bug: 836344
Change-Id: I48abc7353825571873f63f37af54026db6c429c8
Reviewed-on: https://chromium-review.googlesource.com/1028571
Reviewed-by: John Budorick <jbudorick@chromium.org>
Commit-Queue: John Budorick <jbudorick@chromium.org>
Cr-Original-Commit-Position: refs/heads/master@{#553822}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: c4a580dfaca15a8824d1f0ddfdd233ae660587ce
2018-04-25 23:32:06 +00:00
Hans Wennborg 2d766b927e Reland "win: Link with lld instead of MSVC's link.exe by default"
This is a reland of be8138a4eb66bddb5bca81e08c13c6cb1dafc981
The issues with the previous attempt were addressed in the latest
Clang roll (#553415).

Original change's description:
> win: Link with lld instead of MSVC's link.exe by default
>
> lld is LLVM's linker. It produces PE/COFF and PDB files just like
> link.exe, but it's significantly faster and it can also handle LLVM's
> internal representation, which will enable us to do link-time
> optimization and control-flow integraty checks with Clang.
>
> While lld is much faster at linking, it doesn't support incremental
> links, meaning builds that only touch a few files and re-link a large
> executable may become slower.
>
> This is the first attempt at switching everything over, with the
> purpose of gathering data and finding unknown unknowns. It's likely
> temporary until something breaks.
>
> is_win_fastlink is implicitly ignored when using lld, as lld without
> fastlink is faster than link.exe with it.
>
> Also switch the CrWinClangLLD bots on chromium.clang to use MSVC's
> link.exe to make sure that configuration keeps working.
>
> Bug: 792131
> Change-Id: I0f115a78c33d69eadbd480f75c2a5d636e86483d
> Reviewed-on: https://chromium-review.googlesource.com/983632
> Commit-Queue: Nico Weber <thakis@chromium.org>
> Reviewed-by: Nico Weber <thakis@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#551367}

Bug: 792131
Change-Id: I3b76cd015ef18bb3e2ac7a3efa4352c4f04e560b
Reviewed-on: https://chromium-review.googlesource.com/1028374
Reviewed-by: Nico Weber <thakis@chromium.org>
Commit-Queue: Hans Wennborg <hans@chromium.org>
Cr-Original-Commit-Position: refs/heads/master@{#553776}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 6b5ac2efbfcbf98590bb1b7e610dacb3318c122a
2018-04-25 21:55:42 +00:00
Daniel Cheng eb6a75b301 Chrome style plugin: fix and enable a subset of the warnings in Blink
This CL includes manual fixes for the remaining warnings that
WeakPtrFactory should be the last member.

After this, a subset of the Chrome style plugin warnings are also enabled in
Blink:
- prompting that override/final are appropriately used
- ensuring that auto is qualified with * or & as needed
- kMaxValue is, in fact, the max value in an enum

Bug: 706466
Cq-Include-Trybots: master.tryserver.blink:linux_trusty_blink_rel;master.tryserver.chromium.linux:linux_layout_tests_slimming_paint_v2
Change-Id: I296fb9be0214632a76d7faf739ee606383f50383
Reviewed-on: https://chromium-review.googlesource.com/1027437
Reviewed-by: Nico Weber <thakis@chromium.org>
Reviewed-by: Kentaro Hara <haraken@chromium.org>
Commit-Queue: Daniel Cheng <dcheng@chromium.org>
Cr-Original-Commit-Position: refs/heads/master@{#553567}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 733c4fa5dd0e68bd38afb085819b6c7230b68410
2018-04-25 15:28:43 +00:00
Takuto Ikuta 69a225da00 Remove -Wno-return-std-move flag
Bug: 832211
Change-Id: I9dbfdb0c49aa10f6655454e0d9958f869454f31c
Reviewed-on: https://chromium-review.googlesource.com/1025435
Reviewed-by: Greg Thompson <grt@chromium.org>
Reviewed-by: Nico Weber <thakis@chromium.org>
Reviewed-by: Vadym Doroshenko <dvadym@chromium.org>
Commit-Queue: Takuto Ikuta <tikuta@chromium.org>
Cr-Original-Commit-Position: refs/heads/master@{#553510}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 6e04c725a492c27cae91ab4c76192273ea5a35f9
2018-04-25 11:14:06 +00:00
Wez 2ef8c02938 Restore 'shell' feature in test package sandbox policy.
The 'shell' feature removal CL was reverted after the sandbox policy
files had been split into production and test versions, so the revert
did not apply to the new test process policy.

TBR: kmarshall
Bug: 823927, 836341
Change-Id: I9a4c75cb01c255887a4928c31ab199e039d53397
Reviewed-on: https://chromium-review.googlesource.com/1027441
Reviewed-by: Wez <wez@chromium.org>
Commit-Queue: Wez <wez@chromium.org>
Cr-Original-Commit-Position: refs/heads/master@{#553500}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 3a52bf670fb4e7da6832c2cd3e407b42bc2447cf
2018-04-25 10:02:05 +00:00
Kevin Marshall 6ccfc9d7cf Fuchsia: Expose /dev/null and /dev/zero to packaged test processes.
Some tests make use of /dev/null and /dev/zero , which was removed
by default as a consequence of turning off the "shell" permission.

This change re-adds those devices to the process' namespaces
by specifying them in the sandbox policy.

Added GN arguments for specifying different sandbox policies in
test and production executables.


Bug: 836341
Change-Id: If9bf9109e855ec7aa7a07672352be93160252a0c
Reviewed-on: https://chromium-review.googlesource.com/1026394
Reviewed-by: Dirk Pranke <dpranke@chromium.org>
Reviewed-by: Wez <wez@chromium.org>
Commit-Queue: Kevin Marshall <kmarshall@chromium.org>
Cr-Original-Commit-Position: refs/heads/master@{#553402}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: b9612d09b3d6879337d0795a8b82011d7cf4eee1
2018-04-25 00:55:18 +00:00
Fabrice de Gans-Riberi df13be3ea5 Remove the posix sources exclusion filter
Bug: 835405
Change-Id: I0dc49d7d8dd4c5cb05e93007c020bca4cf7830b0
Reviewed-on: https://chromium-review.googlesource.com/1013061
Reviewed-by: Dirk Pranke <dpranke@chromium.org>
Commit-Queue: Fabrice de Gans-Riberi <fdegans@chromium.org>
Cr-Original-Commit-Position: refs/heads/master@{#553344}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 1550bd3f6d3c425573dc7009d327bba738b4fa88
2018-04-24 23:10:17 +00:00
Kevin Marshall ba94751ecd Revert "Reland "Fuchsia: remove "shell" capability and add dynamic libraries to packages.""
This reverts commit 54c93b850a2473a1b3d10fb028d44397ab9b9008.

Reason for revert: Multiple nontrivial failures in FYI https://ci.chromium.org/buildbot/chromium.fyi/Fuchsia/16409

Original change's description:
> Reland "Fuchsia: remove "shell" capability and add dynamic libraries to packages."
> 
> Removing the "shell" capability allows packaged apps to load dynamic libraries
> from the package. In addition, it prevents the app from using any
> system-provided libraries, in favor of the package supplying all of its
> data and dynamic library dependencies.
> 
> This CL includes the system libraries from the SDK's "dist" directory in
> packages built using the package() GN template.
> 
> 
> Bug: 823927
> Change-Id: Ibc22913658f73d992e563e829a377be66f61f805
> Reviewed-on: https://chromium-review.googlesource.com/1025046
> Reviewed-by: Scott Graham <scottmg@chromium.org>
> Commit-Queue: Kevin Marshall <kmarshall@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#552950}

TBR=kmarshall@chromium.org,scottmg@chromium.org

Change-Id: I1b0b9517c878d1c4483efbba3e46502d875b194f
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: 823927
Reviewed-on: https://chromium-review.googlesource.com/1026811
Reviewed-by: Kevin Marshall <kmarshall@chromium.org>
Commit-Queue: Kevin Marshall <kmarshall@chromium.org>
Cr-Original-Commit-Position: refs/heads/master@{#553305}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 8def47b99d87059f1c34e1ea68c30e9de1c86ba7
2018-04-24 22:00:30 +00:00
Siddhartha c0626b0dfc Reland "Fix conditions for can_unwind_with_cfi_table with frame pointers"
This reverts commit e34f08fadd179214d7da6c4160c538a6b882d97d.

Reason for revert: using_sanitizer should also set enable_frame_pointer on android.
The cfi bot was broken because it enabled cfi unwinding with frame pointers.

Original change's description:
> Revert "Fix conditions for can_unwind_with_cfi_table with frame pointers"
>
> This reverts commit 5e4c7d7b030455dcfc91245c3d6f673e35b7a3d5.
>
> Reason for revert:
> Speculative revert for failing base_unittests on Android,
> CFIBacktraceAndroidTest.TestUnwinding.
>
> See https://uberchromegw.corp.google.com/i/chromium.memory/builders/Android%20CFI/builds/579
>
> Original change's description:
> > Fix conditions for can_unwind_with_cfi_table with frame pointers
> >
> > CFI table unwinder is not appilcable for builds with frame pointer
> > enabled. Make sure can_unwind_with_cfi_table is set to false.
> > No need to check for use_thin_lto.
> >
> > BUG=469376
> >
> > Change-Id: I71a4de08a0496edf26829c69851ea89bdbc02bd6
> > Reviewed-on: https://chromium-review.googlesource.com/992890
> > Reviewed-by: Peter Collingbourne <pcc@chromium.org>
> > Reviewed-by: Nico Weber <thakis@chromium.org>
> > Commit-Queue: Siddhartha S <ssid@chromium.org>
> > Cr-Commit-Position: refs/heads/master@{#548634}
>
> TBR=thakis@chromium.org,ssid@chromium.org,pcc@chromium.org
>
> Change-Id: I1bb99a9cde8fd501bd5abb7aa7fe798684454226
> No-Presubmit: true
> No-Tree-Checks: true
> No-Try: true
> Bug: 469376,826718
> Reviewed-on: https://chromium-review.googlesource.com/999635
> Reviewed-by: Mikel Astiz <mastiz@chromium.org>
> Commit-Queue: Mikel Astiz <mastiz@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#548765}

Change-Id: Ic6637dfe890a51264f9d151a681534fe92fc9354
Bug: 469376, 826718
Reviewed-on: https://chromium-review.googlesource.com/1000412
Commit-Queue: Siddhartha S <ssid@chromium.org>
Reviewed-by: Peter Collingbourne <pcc@chromium.org>
Reviewed-by: Nico Weber <thakis@chromium.org>
Reviewed-by: Siddhartha S <ssid@chromium.org>
Cr-Original-Commit-Position: refs/heads/master@{#553287}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 03d58e81dc74ca76cd83e1fe9778baf9bbe99f19
2018-04-24 21:34:54 +00:00
Max Moroz 6254389a64 [Code Coverage] Add support for component build + update documentation.
Bug: 831939
Change-Id: I2804796894045dc69aa8309aa3ab34e6c80b38d7
Reviewed-on: https://chromium-review.googlesource.com/1010464
Commit-Queue: Max Moroz <mmoroz@chromium.org>
Reviewed-by: Yuke Liao <liaoyuke@chromium.org>
Reviewed-by: Abhishek Arya <inferno@chromium.org>
Cr-Original-Commit-Position: refs/heads/master@{#553211}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: d73e45fdf4ab585227bdda1f3fd7e3105ae798ee
2018-04-24 18:32:47 +00:00
Kevin Marshall 9098220a60 Reland "Fuchsia: remove "shell" capability and add dynamic libraries to packages."
Removing the "shell" capability allows packaged apps to load dynamic libraries
from the package. In addition, it prevents the app from using any
system-provided libraries, in favor of the package supplying all of its
data and dynamic library dependencies.

This CL includes the system libraries from the SDK's "dist" directory in
packages built using the package() GN template.


Bug: 823927
Change-Id: Ibc22913658f73d992e563e829a377be66f61f805
Reviewed-on: https://chromium-review.googlesource.com/1025046
Reviewed-by: Scott Graham <scottmg@chromium.org>
Commit-Queue: Kevin Marshall <kmarshall@chromium.org>
Cr-Original-Commit-Position: refs/heads/master@{#552950}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 54c93b850a2473a1b3d10fb028d44397ab9b9008
2018-04-24 01:43:08 +00:00
John Budorick 63a24c8aab Ensure that gclient target_os includes android for android builds.
Bug: 834964
Change-Id: If2c40ee7a785f85a084527f346c78d57f5f338d5
Reviewed-on: https://chromium-review.googlesource.com/1022741
Reviewed-by: agrieve <agrieve@chromium.org>
Commit-Queue: John Budorick <jbudorick@chromium.org>
Cr-Original-Commit-Position: refs/heads/master@{#552687}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 24bdb02ce9ba349ec9d93dcf6170aab30d1a501a
2018-04-23 14:15:28 +00:00