aboutsummaryrefslogtreecommitdiffhomepage
path: root/gn/BUILD.gn
Commit message (Collapse)AuthorAge
* build for gdb on linuxGravatar Cary Clark2018-07-17
| | | | | | | | | | | | | | | | | | build debug on linux for gdb Building with this define enables additional checks for standard library functions when running gdb, and allows printing std::string. R=halcanary@google.com Bug: skia: Change-Id: I7f2dc12336f9239443328f13264be7a6b285c4b5 Reviewed-on: https://skia-review.googlesource.com/140786 Commit-Queue: Cary Clark <caryclark@google.com> Reviewed-by: Mike Klein <mtklein@google.com> Reviewed-on: https://skia-review.googlesource.com/141083 Commit-Queue: Cary Clark <caryclark@skia.org>
* Revert "build debug on linux for gdb"Gravatar Robert Phillips2018-07-12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit 3c3db72e69ef5dcdde57f1fbbd939579d50d96f1. Reason for revert: I suspect this is breaking the Build-Debian9-Clang-arm-Debug-Chromebook_GLES bot Original change's description: > build debug on linux for gdb > > Building with this define enables additional > checks for standard library functions when > running gdb, and allows printing std::string. > > R=​halcanary@google.com > > Bug: skia: > Change-Id: Ib71c179d8cbacbcd7f17a1c85f912072918e6be8 > Reviewed-on: https://skia-review.googlesource.com/140786 > Commit-Queue: Cary Clark <caryclark@google.com> > Reviewed-by: Mike Klein <mtklein@google.com> TBR=mtklein@google.com,halcanary@google.com,caryclark@google.com Change-Id: I56ae1c6c02032e6445f5585de51c48423d283636 No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: skia: Reviewed-on: https://skia-review.googlesource.com/140840 Reviewed-by: Robert Phillips <robertphillips@google.com> Commit-Queue: Robert Phillips <robertphillips@google.com>
* build debug on linux for gdbGravatar Cary Clark2018-07-12
| | | | | | | | | | | | | | Building with this define enables additional checks for standard library functions when running gdb, and allows printing std::string. R=halcanary@google.com Bug: skia: Change-Id: Ib71c179d8cbacbcd7f17a1c85f912072918e6be8 Reviewed-on: https://skia-review.googlesource.com/140786 Commit-Queue: Cary Clark <caryclark@google.com> Reviewed-by: Mike Klein <mtklein@google.com>
* C++14Gravatar Brian Salomon2018-06-04
| | | | | | | Change-Id: I4bbf3e5e6d9d4e11e968a0bc88ce43444047a382 Reviewed-on: https://skia-review.googlesource.com/130903 Commit-Queue: Brian Salomon <bsalomon@google.com> Reviewed-by: Mike Klein <mtklein@google.com>
* Revert "Added support for visual debugging on Android Studio"Gravatar Hal Canary2018-06-01
| | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit 222c9cfd1b3f50d21d4a1f93b0b52dd4973fe1b5. Reason for revert: Breaks documented workflow. Original change's description: > Added support for visual debugging on Android Studio > > Change-Id: Icaf848c31167db10d6fbb13d74c7287b03628fb6 > Bug: skia: > Reviewed-on: https://skia-review.googlesource.com/130144 > Reviewed-by: Derek Sollenberger <djsollen@google.com> TBR=djsollen@google.com,mtklein@google.com,bsalomon@google.com,halcanary@google.com,bungeman@google.com,ziadb@google.com Change-Id: I6e7ac2d16d9a0f267d75cd202fd4975be36da4f5 No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: skia: Reviewed-on: https://skia-review.googlesource.com/131601 Reviewed-by: Hal Canary <halcanary@google.com> Commit-Queue: Hal Canary <halcanary@google.com>
* turn on pointer-overflow on ASAN/UBSAN botsGravatar Mike Klein2018-06-01
| | | | | | | | | | | | | | | | | I know SkRasterPipelineBlitter will add back offsets to the mask pointer to make these fMaskPtr.pixels safe. SkImageInfo wasn't making out-of-bounds pointers, but was moving between two in-bounds pointers by subtracting large (negative) size_t. Switching to explicit negate and add quiets this down. Bug: chromium:836282 Change-Id: Ia65e380ec41dbfedce0659106830fbacb1a5cf4a Reviewed-on: https://skia-review.googlesource.com/131147 Reviewed-by: Mike Reed <reed@google.com> Reviewed-by: Cary Clark <caryclark@google.com> Commit-Queue: Mike Klein <mtklein@chromium.org>
* Added support for visual debugging on Android StudioGravatar ziadb2018-06-01
| | | | | | | Change-Id: Icaf848c31167db10d6fbb13d74c7287b03628fb6 Bug: skia: Reviewed-on: https://skia-review.googlesource.com/130144 Reviewed-by: Derek Sollenberger <djsollen@google.com>
* Suppress bad-function-cast warningGravatar Brian Osman2018-05-16
| | | | | | | | | | Bug: skia: Change-Id: Ic5efe371b6365913a47d833c698958cc842d16ae Reviewed-on: https://skia-review.googlesource.com/128685 Commit-Queue: Brian Osman <brianosman@google.com> Commit-Queue: Mike Klein <mtklein@chromium.org> Auto-Submit: Brian Osman <brianosman@google.com> Reviewed-by: Mike Klein <mtklein@chromium.org>
* update to NDK r17Gravatar Mike Klein2018-05-14
| | | | | | | | | | | | We haven't done this in a while. The only interesting change I've noticed so far is that we no longer need to link libandroid_support when targeting API 21+. Change-Id: I6506fbe7bd02534f1ea136f2164acab7f44c29e0 Reviewed-on: https://skia-review.googlesource.com/128009 Reviewed-by: Derek Sollenberger <djsollen@google.com> Commit-Queue: Mike Klein <mtklein@chromium.org>
* Add loongson3a Build jobs.Gravatar Ben Wagner2018-04-04
| | | | | | | Change-Id: I4a0259f82272099e08df0e7dea91489f6d641ca4 Reviewed-on: https://skia-review.googlesource.com/113670 Commit-Queue: Ben Wagner <benjaminwagner@google.com> Reviewed-by: Mike Klein <mtklein@chromium.org>
* small ABI + narrow/wide code updatesGravatar Mike Klein2018-03-21
| | | | | | | | | | | | | | | | | | | | The only tangible effect this CL should have is to use __vectorcall on all Windows builds, including scalar ones. The code generation is a little better there with __vectorcall than not, so might as well. This is a baby step towards vector stages with MSVC, but a very baby step indeed. Mostly this refactors and regroups a bunch of logic to reflect my current thoughts. The BUILD.gn changes are essentially no-ops, but they simplify things and make our flags more similar to how those targets are built in Chromium. (And I cleaned up other /arch: uses so this works.) Change-Id: I73dd39d15cdc7b3d268231a707952bbbfd91496e Reviewed-on: https://skia-review.googlesource.com/115644 Reviewed-by: Herb Derby <herb@google.com> Commit-Queue: Mike Klein <mtklein@chromium.org>
* Add in float-divide-by-zero as an FYI sanitizerGravatar Kevin Lubick2018-03-20
| | | | | | | Bug: skia: Change-Id: Iacf9bcf10c69d3d6e2a1a2bdcce62bdd364582a1 Reviewed-on: https://skia-review.googlesource.com/115078 Reviewed-by: Mike Klein <mtklein@chromium.org>
* Compile with GCC 7.2.0.Gravatar Ben Wagner2018-03-13
| | | | | | | | | | | | | | This suppresses the noexcept-type warning, since Skia doesn't have a stable ABI in any event. GCC now warns on more printf style formats, so we have to hide our bad test formats a little better. GCC now also warns on implicit enum to bool conversions, which did catch two issues. Change-Id: Ib81769c421757186506873f0fe298ecd0106ae87 Reviewed-on: https://skia-review.googlesource.com/114263 Commit-Queue: Ben Wagner <bungeman@google.com> Reviewed-by: Mike Klein <mtklein@chromium.org> Reviewed-by: Brian Salomon <bsalomon@google.com>
* Add Win Clang x86 builds.Gravatar Ben Wagner2018-03-13
| | | | | | | | | Enable /arch:SSE2 for Win x86 builds (both MSVC and Clang). Change-Id: I0618e938b6542b60fae3947b7e0dcde22650ba54 Reviewed-on: https://skia-review.googlesource.com/56721 Commit-Queue: Ben Wagner <benjaminwagner@google.com> Reviewed-by: Mike Klein <mtklein@google.com>
* set -Wno-implicit-fallthrough on GCC tooGravatar Mike Klein2018-02-22
| | | | | | | | | Bug: skia:7643 Change-Id: Ieeca5414f51c7c113c54b47578ec840fc7d684e0 Reviewed-on: https://skia-review.googlesource.com/109520 Reviewed-by: Brian Osman <brianosman@google.com> Commit-Queue: Mike Klein <mtklein@chromium.org>
* Remove XSAN blacklistGravatar Kevin Lubick2018-02-20
| | | | | | | | Bug: skia: Change-Id: I97bf83ca001acc762a42d26207a394faee6d90fb Reviewed-on: https://skia-review.googlesource.com/107782 Commit-Queue: Kevin Lubick <kjlubick@google.com> Reviewed-by: Mike Klein <mtklein@chromium.org>
* Fix Android ASAN buildGravatar Kevin Lubick2018-02-15
| | | | | | | | | | | Android+ASAN was already using libc++, so don't confuse it with the host library. Bug: skia: Change-Id: Ibdeb40007f9d346a84adb39de240299049c0c55e Reviewed-on: https://skia-review.googlesource.com/107721 Reviewed-by: Mike Klein <mtklein@chromium.org> Commit-Queue: Kevin Lubick <kjlubick@google.com>
* Use libc++ for all XSAN buildsGravatar Kevin Lubick2018-02-15
| | | | | | | | Docs-Preview: https://skia.org/?cl=107306 Bug: oss-fuzz:6347 Change-Id: I59c3b1b2e693fd97be0091ba2df406f51461fd10 Reviewed-on: https://skia-review.googlesource.com/107306 Reviewed-by: Mike Klein <mtklein@chromium.org>
* No omit-frame-pointer on WinGravatar Kevin Lubick2018-02-01
| | | | | | | | Bug: skia: Change-Id: I0dda67283b32aaf06a34463847e760158bf47392 Reviewed-on: https://skia-review.googlesource.com/102422 Reviewed-by: Mike Klein <mtklein@chromium.org> Commit-Queue: Kevin Lubick <kjlubick@google.com>
* Get better stacktraces for *SAN buildsGravatar Kevin Lubick2018-02-01
| | | | | | | | Bug: skia:7566 Change-Id: I89f662b6493fee4d9f8a10ba6aa791634cb39bba Reviewed-on: https://skia-review.googlesource.com/102621 Reviewed-by: Mike Klein <mtklein@chromium.org> Commit-Queue: Kevin Lubick <kjlubick@google.com>
* Add Android ASAN botGravatar Kevin Lubick2018-01-12
| | | | | | | | | | | It should work on 32 and 64 bit android running M or newer. Bug: skia: Change-Id: I7e6d4000f4fee8f2704b84b7174174dd0e68d21c Reviewed-on: https://skia-review.googlesource.com/93700 Reviewed-by: Mike Klein <mtklein@chromium.org> Reviewed-by: Eric Boren <borenet@google.com> Commit-Queue: Kevin Lubick <kjlubick@google.com>
* fix x86 Android buildsGravatar Mike Klein2018-01-08
| | | | | | | | | | | After tinkering with libstdc++ -> libc++, looks like we need this warning again. We already turn it on in Android's own x86 builds; see gn_to_bp.py for that. Change-Id: I7b7a76d1c22dd3f3b7712e9ce89b78d9a229a302 Reviewed-on: https://skia-review.googlesource.com/92360 Reviewed-by: Florin Malita <fmalita@chromium.org> Commit-Queue: Mike Klein <mtklein@chromium.org>
* switch android builds to libc++Gravatar Mike Klein2018-01-08
| | | | | | | | | All other options are going away real soon now. Change-Id: I57051fdabc2b0fd18fd133c9fb345ffa5a46e5db Reviewed-on: https://skia-review.googlesource.com/92300 Reviewed-by: Florin Malita <fmalita@chromium.org> Commit-Queue: Mike Klein <mtklein@chromium.org>
* Enable conditional-uninitialized flagGravatar Kevin Lubick2018-01-05
| | | | | | | | | Bug: skia:7462 Cq-Include-Trybots: skia.primary:Test-Debian9-Clang-GCE-CPU-AVX2-x86_64-Release-All-SKNX_NO_SIMD Change-Id: I1c0a09984bf28a5c620a89af56040f018bae6310 Reviewed-on: https://skia-review.googlesource.com/90941 Commit-Queue: Kevin Lubick <kjlubick@google.com> Reviewed-by: Mike Klein <mtklein@chromium.org>
* Re-enable 3 clang warningsGravatar Kevin Lubick2018-01-04
| | | | | | | | Bug: skia:7462 Change-Id: Iba0af2f0ff8ef646f93a0e2ced083d99020a38c9 Reviewed-on: https://skia-review.googlesource.com/90842 Reviewed-by: Mike Klein <mtklein@google.com> Commit-Queue: Kevin Lubick <kjlubick@google.com>
* Add Win UBSAN jobs.Gravatar Ben Wagner2018-01-03
| | | | | | | | Bug: skia:2679 Change-Id: Ia462af01b9832da90206b9e9be2278cb48c6c502 Reviewed-on: https://skia-review.googlesource.com/86401 Reviewed-by: Mike Klein <mtklein@chromium.org> Commit-Queue: Ben Wagner <benjaminwagner@google.com>
* Add FASTLINK to windows buildsGravatar Brian Osman2017-12-31
| | | | | | | | | | | | | | | From my local testing, this brings incremental link times back where they were before switching to Z7 (55s -> 15s). It also speeds up full builds times by a similar margin (so no real impact on per-translation unit build time). https://blogs.msdn.microsoft.com/vcblog/2016/10/05/faster-c-build-cycle-in-vs-15-with-debugfastlink/ Bug: skia: Change-Id: I83a3b8a3d6492eb9a6bd7fe8b6893b2dd6970b06 Reviewed-on: https://skia-review.googlesource.com/89800 Commit-Queue: Mike Klein <mtklein@google.com> Reviewed-by: Mike Klein <mtklein@google.com>
* Try /Z7 on Windows builds.Gravatar Mike Klein2017-12-15
| | | | | | | | | | | | | | | | | | | | | Right now /FS and /Zi together serialize debug information into .pdb files through another process. I tried just dropping /FS, so that each cl.exe instance writes to the .pdb file directly, but the bots don't like that. Instead, let's try switching /Zi to /Z7, to embed debug information directly into the object file instead of alongside in a .pdb. This is all about trying to improve build times. https://docs.microsoft.com/en-us/cpp/build/reference/z7-zi-zi-debug-information-format https://docs.microsoft.com/en-us/cpp/build/reference/fs-force-synchronous-pdb-writes Change-Id: If636f8fa21c639eff81d9c335c5223908c0fdcea Reviewed-on: https://skia-review.googlesource.com/85661 Reviewed-by: Brian Osman <brianosman@google.com> Commit-Queue: Mike Klein <mtklein@chromium.org>
* Don't set /GS- on Windows builds.Gravatar Mike Klein2017-12-15
| | | | | | | | | | | | | I'm not sure why we're setting this... it disables buffer overrun protection. That seems like something we'd like on all test bots, not just the Debug ones. https://docs.microsoft.com/en-us/cpp/build/reference/gs-buffer-security-check Change-Id: I0bc3ec146812b4ad3d1d39488caf6e78633830fc Reviewed-on: https://skia-review.googlesource.com/85660 Commit-Queue: Brian Osman <brianosman@google.com> Reviewed-by: Brian Osman <brianosman@google.com>
* Updated MSVC toolchain to 2017, and further refactored GNGravatar Brian Osman2017-12-08
| | | | | | | | | | | | | | | | | | | | | | 'windk' is no longer a thing. There are two separate variables to point at your compiler (win_vc), and SDK (win_sdk). 'msvc' is no longer a thing, either. By default, we look for 2017 and then 2015 (in the default locations). If neither is located, use an assert to let users know they should set win_vc. Then, detect if win_vc points at a 2017 or 2015 installation, and configure it automatically. Because the toolchain is now 2017, update the GN files to handle building x86 in that configuration. In fact, we only support x86 builds (with 2017 or 2015) using the toolchain assets. Keep a 2015 toolchain around as a new asset, so we can add bot coverage. Docs-Preview: https://skia.org/?cl=81841 Bug: skia: Change-Id: I8c68a6f949e54c0e798a219450bbb9406f8dc6ac Reviewed-on: https://skia-review.googlesource.com/81841 Reviewed-by: Mike Klein <mtklein@chromium.org> Commit-Queue: Brian Osman <brianosman@google.com>
* quiet down Mac linker warningsGravatar Mike Klein2017-12-07
| | | | | | | Change-Id: I9a2a061e7a021587441f3f39427306309e0341e8 Reviewed-on: https://skia-review.googlesource.com/82042 Reviewed-by: Herb Derby <herb@google.com> Commit-Queue: Mike Klein <mtklein@chromium.org>
* Reland "Always use the Win 10 SDK, and optionally detect/use the latest version"Gravatar Brian Osman2017-12-06
| | | | | | | | | | | | | | | | | | | | | | | | | | | This is a reland of 6da1d32c16a0598e9b32a4e5b60f99aca871a399 Original change's description: > Always use the Win 10 SDK, and optionally detect/use the latest version > > For bot toolchain builds, we were already using the Win 10 SDK. Local > 2015 builds were using a strange hybrid of Win 10 and Win 8 SDKs. Now > we always use the Win 10 SDK exclusively. > > This adds two new GN arguments: win_sdk, which points at the top level > Windows 10 SDK directory, and win_sdk_version, which can be used to > pin to a specific version. (Otherwise we use a script to detect the > most recent version). > > Bug: skia: > Change-Id: I5aabb5eb9e7f483e3676b67b50356ddd0421cf7d > Reviewed-on: https://skia-review.googlesource.com/81304 > Reviewed-by: Mike Klein <mtklein@chromium.org> > Commit-Queue: Brian Osman <brianosman@google.com> Bug: skia: Change-Id: Ide0d6bd3413c4fe7a8bada7d3d32bdba9709d11b Reviewed-on: https://skia-review.googlesource.com/81501 Reviewed-by: Mike Klein <mtklein@google.com> Commit-Queue: Mike Klein <mtklein@google.com>
* Revert "Always use the Win 10 SDK, and optionally detect/use the latest version"Gravatar Ravi Mistry2017-12-06
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit 6da1d32c16a0598e9b32a4e5b60f99aca871a399. Reason for revert: Caused Build-Win-Clang-arm64-Release-Android to fail. Eg: https://chromium-swarm.appspot.com/task?id=3a467f1ddd15fb10&refresh=10 Original change's description: > Always use the Win 10 SDK, and optionally detect/use the latest version > > For bot toolchain builds, we were already using the Win 10 SDK. Local > 2015 builds were using a strange hybrid of Win 10 and Win 8 SDKs. Now > we always use the Win 10 SDK exclusively. > > This adds two new GN arguments: win_sdk, which points at the top level > Windows 10 SDK directory, and win_sdk_version, which can be used to > pin to a specific version. (Otherwise we use a script to detect the > most recent version). > > Bug: skia: > Change-Id: I5aabb5eb9e7f483e3676b67b50356ddd0421cf7d > Reviewed-on: https://skia-review.googlesource.com/81304 > Reviewed-by: Mike Klein <mtklein@chromium.org> > Commit-Queue: Brian Osman <brianosman@google.com> TBR=mtklein@chromium.org,borenet@google.com,bungeman@google.com,brianosman@google.com Change-Id: Id044114fc685d570741e3f5ed003c4be2ffa84a3 No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: skia: Reviewed-on: https://skia-review.googlesource.com/81500 Reviewed-by: Ravi Mistry <rmistry@google.com> Commit-Queue: Ravi Mistry <rmistry@google.com>
* Always use the Win 10 SDK, and optionally detect/use the latest versionGravatar Brian Osman2017-12-06
| | | | | | | | | | | | | | | | | For bot toolchain builds, we were already using the Win 10 SDK. Local 2015 builds were using a strange hybrid of Win 10 and Win 8 SDKs. Now we always use the Win 10 SDK exclusively. This adds two new GN arguments: win_sdk, which points at the top level Windows 10 SDK directory, and win_sdk_version, which can be used to pin to a specific version. (Otherwise we use a script to detect the most recent version). Bug: skia: Change-Id: I5aabb5eb9e7f483e3676b67b50356ddd0421cf7d Reviewed-on: https://skia-review.googlesource.com/81304 Reviewed-by: Mike Klein <mtklein@chromium.org> Commit-Queue: Brian Osman <brianosman@google.com>
* Add win_toolchain_version to support MSVC 2017 UpdatesGravatar Brian Osman2017-12-06
| | | | | | | | | | | | | | | | | | To make this simpler in the future, add a python script that finds the most recent 2017 toolchain, and use that. If/when we update the bot toolchain, this will be even more helpful, because the Chromium toolchain isn't perfectly in sync with the general update channel, so people are likely to have a newer/older release locally. Note that explicitly setting win_toolchain_version in your GN args suppresses the python script, so you can choose to build with whatever version you need. Bug: skia: Change-Id: Iaf6d0dd9be2623472118c3ad27b20023a205d67c Reviewed-on: https://skia-review.googlesource.com/81162 Commit-Queue: Brian Osman <brianosman@google.com> Reviewed-by: Mike Klein <mtklein@chromium.org>
* remove mips support and botsGravatar Mike Klein2017-12-05
| | | | | | | | | | | The NDK has deprecated mips and mips64: https://developer.android.com/ndk/guides/abis.html Might as well clean this up now while I remember. Change-Id: Ie4b2334c75208082067cc16fe355d0349c7e0904 Reviewed-on: https://skia-review.googlesource.com/80560 Reviewed-by: Derek Sollenberger <djsollen@google.com>
* Fix ANGLE build with extended clang warningsGravatar Chris Dalton2017-12-04
| | | | | | | | | | | Add newline-eof to the list of ignroed warnings. Fix shadowed fields. Bug: skia: Change-Id: I4985ce2495194a7f805af98c4f42c44691086e36 Reviewed-on: https://skia-review.googlesource.com/79681 Commit-Queue: Chris Dalton <csmartdalton@google.com> Reviewed-by: Mike Klein <mtklein@chromium.org>
* turn on extended Clang warnings on Windows tooGravatar Chris Dalton2017-12-04
| | | | | | | | | | Plus some small rearrangements of the various warning lists. Change-Id: Ied58f940341d69ddab971a529fd01b1e96b65641 Reviewed-on: https://skia-review.googlesource.com/67720 Commit-Queue: Chris Dalton <csmartdalton@google.com> Commit-Queue: Mike Klein <mtklein@chromium.org> Reviewed-by: Mike Klein <mtklein@chromium.org>
* Merge UBSAN_float_cast_overflow into ASAN.Gravatar Ben Wagner2017-12-04
| | | | | | | | | | | | The new check was a different config while we fixed the errors. Most errors are now fixed, and merging these will help with running both on the CQ. No-Try: true Change-Id: I5804ecea84a8dbbaacf6a4ea96e2af9505641d49 Reviewed-on: https://skia-review.googlesource.com/79323 Commit-Queue: Ben Wagner <benjaminwagner@google.com> Reviewed-by: Mike Klein <mtklein@chromium.org>
* Support cc_wrapper with MSVC toolchainGravatar Brian Osman2017-10-23
| | | | | | | | Bug: skia: Change-Id: I0433105c4a0e064e5cc228b7f6bec1ef3c66909c Reviewed-on: https://skia-review.googlesource.com/62744 Commit-Queue: Brian Osman <brianosman@google.com> Reviewed-by: Mike Klein <mtklein@chromium.org>
* Remove "-Wno-over-aligned" from x86 Android buildsGravatar Leon Scroggins III2017-10-17
| | | | | | | | | | | We now build without requiring disabling this warning. Came up in https://android-review.googlesource.com/498211 Bug: b/66996870 Change-Id: Ife596240507b3c055d2fabd08330828f8a5dbb9c Reviewed-on: https://skia-review.googlesource.com/60530 Reviewed-by: Mike Klein <mtklein@chromium.org> Commit-Queue: Leon Scroggins <scroggo@google.com>
* disable object-size santizer in debug buildsGravatar Mike Klein2017-10-05
| | | | | | | | | | | | This avoids a warning-as-error: clang-5.0: error: the object size sanitizer has no effect at -O0, but is explicitly enabled: Change-Id: I53a16acc3e743b42fe9c2f35919d3c09d5d601b7 Reviewed-on: https://skia-review.googlesource.com/55720 Reviewed-by: Mike Klein <mtklein@chromium.org> Commit-Queue: Mike Klein <mtklein@chromium.org>
* function santizer is not available on MacGravatar Mike Klein2017-09-28
| | | | | | | Change-Id: Id2ae524f765414e4c3d990066fcd3ebcea693657 Reviewed-on: https://skia-review.googlesource.com/52781 Reviewed-by: Mike Klein <mtklein@chromium.org> Commit-Queue: Mike Klein <mtklein@chromium.org>
* [WASM] Add POC compile bot for WebAssemblyGravatar Kevin Lubick2017-09-21
| | | | | | | | | | | | | | | | | | | | Fix core.gni to use not use Assembler for none cpu. Right now, there are no outputs because we aren't compiling dm or nanobench. However, this still compiles the skia library and creates two executables, so it's a good canary for a real WASM build. Additional note: the two executables in question don't draw anything to the screen via GL, which is still not possible with Skia+WASM. Bug: skia: Change-Id: I0d767467e94e40d01070e34223dd90e96f1c96f2 Reviewed-on: https://skia-review.googlesource.com/49540 Commit-Queue: Kevin Lubick <kjlubick@google.com> Reviewed-by: Mike Klein <mtklein@chromium.org> Reviewed-by: Eric Boren <borenet@google.com>
* update clang_linux package to Clang 5Gravatar Mike Klein2017-09-10
| | | | | | | | | Disable some new warning flags to get us building. Change-Id: I10299d667b06fb61d03e52329883c634bd42f45c Reviewed-on: https://skia-review.googlesource.com/44341 Reviewed-by: Florin Malita <fmalita@chromium.org> Commit-Queue: Mike Klein <mtklein@chromium.org>
* ok, backtrace support on AndroidGravatar Mike Klein2017-08-30
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This adds a fallback backtracer for use on Android where <execinfo.h> ins't present, instead using <unwind.h> to unwind and <dlfcn.h> to lookup function names and addresses. lockf() wasn't available until NDK API 24, so I've just no-op'd file locking on older targets. I tried switching from lockf() to flock(), but flock() didn't see to _do_ anything, neither on Android nor on my Mac laptop. I think I should be able to use the lower-level fcntl() APIs to restore file locking uniformly in a follow-up. The upshot is until then, we'll have interlaced logs and stack traces on Android devices unless you set ndk_api=24 in GN. We need to add a couple build flags to make backtraces useful: * -funwind-tables makes the call to _Unwind_Backtrace() actually traverse the call stack. This is a small extra binary size cost. * -rdynamic makes symbols linked into the main executable visible to dladdr(). We do this on Linux already for the same reason. Here's an example where I made aaxfermodes call SK_ABORT(): 650 ok, 1 crashed caught signal SIGABRT while running 'aaxfermodes' 0x76ed936288 [unknown]+308 0x76eec014e0 [unknown]+510811706592 0x76ed367b2c tgkill+8 0x76ed364f50 pthread_kill+68 0x76ed31ff5c raise+28 0x76ed318814 abort+56 0x76edebd070 sk_out_of_memory()+12 0x76ed99f664 AAXfermodesGM::draw_pass(SkCanvas*, AAXfermodesGM::DrawingPass)+96 0x76ed99f4e4 AAXfermodesGM::onDraw(SkCanvas*)+36 0x76ed9e8550 skiagm::GM::drawContent(SkCanvas*)+224 0x76ed9e82ac skiagm::GM::draw(SkCanvas*)+288 0x76ed93b10c GMStream::GMSrc::draw(SkCanvas*)+96 0x76ed937b08 SWDst::draw(Src*)+284 0x76ed936ca0 [unknown]+112 0x76ed939b4c ForkEngine::spawn(std::function<Status ()>)+88 0x76ed934d00 main+2200 0x76ed316598 __libc_init+92 0x76ed93434c [unknown]+510791992140 Change-Id: Ica4849d99a3b97f48d778f4c15a7fa36275b8133 Reviewed-on: https://skia-review.googlesource.com/40802 Reviewed-by: Herb Derby <herb@google.com> Commit-Queue: Mike Klein <mtklein@chromium.org>
* Revert "Turn on exceptions in test tools."Gravatar Mike Klein2017-08-16
| | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit c667dff58dc4b16faf30c34e98a118c6a1c1f987. Reason for revert: temporary while I fix Android, Google3. Original change's description: > Turn on exceptions in test tools. > > This allows us to test things that, e.g., throw std::bad_alloc. > > Change-Id: I6409159b89f1d93d403b1a1f40539cf2531a8b68 > Reviewed-on: https://skia-review.googlesource.com/34982 > Reviewed-by: Herb Derby <herb@google.com> > Commit-Queue: Mike Klein <mtklein@chromium.org> TBR=mtklein@chromium.org,herb@google.com Change-Id: Iafdc34c5f70f99f7df3cd0bbad65eed0828453a1 No-Presubmit: true No-Tree-Checks: true No-Try: true Reviewed-on: https://skia-review.googlesource.com/35081 Reviewed-by: Mike Klein <mtklein@google.com> Commit-Queue: Mike Klein <mtklein@google.com>
* Turn on exceptions in test tools.Gravatar Mike Klein2017-08-16
| | | | | | | | | This allows us to test things that, e.g., throw std::bad_alloc. Change-Id: I6409159b89f1d93d403b1a1f40539cf2531a8b68 Reviewed-on: https://skia-review.googlesource.com/34982 Reviewed-by: Herb Derby <herb@google.com> Commit-Queue: Mike Klein <mtklein@chromium.org>
* Tell clang/win to emulate MSVC 2015Gravatar Mike Klein2017-07-31
| | | | | | | | | | | | | By default it emulates your installed cl.exe, but the bots don't have one. I think the fallback is 2013, which causes all sorts of pre-C++11 problems. CQ_INCLUDE_TRYBOTS=skia.primary:Build-Win-Clang-x86_64-Release Change-Id: I2556abe68825e58762b4172d067ba6826de5c133 Reviewed-on: https://skia-review.googlesource.com/29021 Reviewed-by: Mike Klein <mtklein@chromium.org> Commit-Queue: Mike Klein <mtklein@chromium.org>
* use -imsvc (~= -isystem) with win/clangGravatar Mike Klein2017-07-31
| | | | | | | | This should shut up any warnings in the win toolchain headers? Change-Id: I7d17bf6d63d56e66afffa557d0ed06bc3994200d Reviewed-on: https://skia-review.googlesource.com/28981 Reviewed-by: Ben Wagner <bungeman@google.com>