149 Commits

Author SHA1 Message Date
Mark Mentovai
8b1be541f5 mac: Support 32-bit x86 builds
Updates mini_chromium to 471390dc9c5a.

471390dc9c5a mac: Support 32-bit x86 builds

% gn gen out/debug_32 --args='target_cpu="x86"'
% ninja -C out/debug_32

The 10.14 SDK does not contain support to link for 32-bit x86, so with
Xcode 10, it may be necessary to set the GN argument mac_sdk=10.13 (or
lower) or target_sysroot to an equivalent path. It may also be necessary
to coax Xcode into accepting this SDK.

Change-Id: I251c870ae06e2a7d9e6d8936240f204da2f4a517
Reviewed-on: https://chromium-review.googlesource.com/c/crashpad/crashpad/+/1529224
Reviewed-by: Scott Graham <scottmg@chromium.org>
Reviewed-by: Robert Sesek <rsesek@chromium.org>
Commit-Queue: Mark Mentovai <mark@chromium.org>
2019-03-19 20:52:31 +00:00
Mark Mentovai
348022def8 Fuchsia: Proper Fuchsia-on-macOS cross build support
Update mini_chromium to df0c375531b7

df0c375531b7 Fuchsia: Proper Fuchsia-on-macOS cross build support

Change-Id: I40b184ad2d61e989acf5c73b6e251a58466a801d
Reviewed-on: https://chromium-review.googlesource.com/c/crashpad/crashpad/+/1505790
Reviewed-by: Scott Graham <scottmg@chromium.org>
Commit-Queue: Mark Mentovai <mark@chromium.org>
2019-03-07 03:12:08 +00:00
Mark Mentovai
36f9051caf Enable clang -Wextra-semi in POSIX/Fuchsia clang builds
This completes compatibility with clang -Wextra-semi and enables that
warning when building with clang for POSIX/Fuchsia. The enabling
mini_chromium change depends on the compatibility changes in gtest.

-Wextra-semi is only used when using mini_chromium’s build
configuration. This does not affect in-Chromium builds.

This updates mini_chromium to d3e46f173a22 and gtest to 8b6d3f9c4a77.
Semicolon-related changes in each:

mini_chromium

29c507fb618e Add -Wextra-semi to POSIX/Fuchsia Clang builds
d3e46f173a22 Sync base/numerics with upstream as of 97fa6e4bdf7b

gtest

56ef07a20308 Build gmock cleanly with clang -Wextra-semi
a1dd07786b9a Build gmock cleanly with clang -Wextra-semi and
             -Wextra-semi-stmt

All changes:

mini_chromium

4e8b715e2aeb Partially restore VS2015 support; baseline functionality
             only
29c507fb618e Add -Wextra-semi to POSIX/Fuchsia Clang builds
d3e46f173a22 Sync base/numerics with upstream as of 97fa6e4bdf7b

gtest

4d62b5b9aef0 fix:  Remove Arduino entry points
0c0ca9038245 fix:  Correct *_main.cc paths
adc5045cbf27 chore:  Alphabetize exclude directories
23533009b872 chore:  Add Windows cmake files to .gitignore
0ffa5f9779fc Merge branch 'master' into chore/fix_library_json
fd1c7976aee8 Merge branch 'chore/fix_library_json' of
             https://github.com/ciband/googletest into
             chore/fix_library_json
202dcabf39fd misc:  Revert formatting changes
23e693787399 misc:  Reapply Arduino functions
45c58aa6f360 fix:  Add Arduino setup()/loop() functions back
c868da198834 Enable building as a shared library (dll) on Windows with
             Bazel
7c4164bf404d Fix INSTANTIATE_TEST_CASE_P with zero variadic arguments
91bfc0822855 Enable CI on Windows (appveyor) with Bazel
569fba4d742b Make internal FunctionMocker class final
fdc59ffd050a Add AllOfArray matcher that verifies a value matches all
             member of some array/container/list/set/..., e.g:
bf07131c1d0a Merge pull request #2041 from ciband:chore/fix_library_json
46b81732b634 Fixed "make dist"
5ec7f0c4a113 Merge pull request #2079 from acozzette:fix-dist
718bb65acff1 Avoid dynamic/static runtime linking (LNK4098) by properly
             replacing MD(d)->MT(d) in both C and CXX flags, resolves
             2074
01148677a937 Merge pull request #2086 from hugolm84:fix-dynamic/static-
             runtime-link
1f42ae7353b3 Merge pull request #2063 from mathbunnyru:master
9318a18ccf8f Added -Wgnu-zero-variadic-macro-arguments" clang
2775733ee1e9 Update advanced.md casing in example
ce29e55cfcbb Merge pull request #2090 from KellyWalker/patch-1
8e37822b4b21 Merge pull request #2063 from mathbunnyru:master
acde02c635f8 Repeat #2090
e04254989d26 Merge pull request #2091 from google/gennadiycivil-patch-1
1c23efb42450 Fix README.md broken link
4f4c01d8c866 Merge pull request #2092 from Billy4195/Update_README
fe519d64a6e0 fix: Add *_all.cc files to ignore list
b2b24622500d fix: Add Arduino to embedded platform list
53798de93935 chore: Add PlatformIO supported platforms list
0ea2d8f8fa16 Fix stack overflow in AnyOfArray tests
67265e070677 cmake: move global project definition to beginning
f89253434fd3 cmake: detect Cygwin which needs extensions to build
471f5bc433c0 Merge pull request #2098 from
             ciband:feat/finish_platformio_support
876bdfa565b7 Update example code in gtest.h to prefer override over
             virtual now
52ea4f7beaa6 Mark legacy _TEST_CASE_ macros as deprecated
50059a12b9fd Address -Wgnu-zero-variadic-macro-arguments
9df5475b8267 Test out changes with clang/OSX each PR using Travis CI
5dfcd1bc422d Update .travis.yml
f80d6644d4b4 Update .travis.yml
b3679d856586 Fix an invalid example of JSON report in advanced.md
e28b50609e78 Merge pull request #2103 from kw-udon/fix-json-in-advanced-
             md
9a502a5b14b4 Merge pull request #2100 from ngie-eign/test-clang-osx-
             every-travis-run
47568eade6b9 fix:  Correct *-all.cc file paths
48e6f1f387e6 Stop TestInfo::Run() calling a function through null
             pointer
f4d3cdb65753 Generate a libgtest.la to help libtool managing
             dependencies
60cf03313da2 Set gtest version correctly for older cmake versions
dda0df3b0ac6 Internal change
28a96d1834dd Fix matcher comparisons for std::reference_wrapper
4f79e316acc9 Internal changes
b68ec344bfe4 Merge pull request #2101 from MaEtUgR:fix-cmake-cygwin
b37574c1bfb3 Merge pull request #2107 from
             ciband:feat/finish_platformio_support
c4ccab33aaa0 Internal Change
ed2fe122f8dc Fix -Wunused-private-field issues with clang
1ded83195d93 Compile clang with `-Wall -Wshadow -Werror`
96826743ea0a Import `patch-bsd-defines` from FreeBSD ports [1]
75c3396099bf Merge pull request #2113 from knuto:pr/set_old_gtest_ver
e5e846da7fda Merge pull request #2120 from ngie-eign:clang-compile-with-
             basic-warns-flags
ea43be9d1a78 Merge pull request #2119 from ngie-eign:clang-wunused-
             private-field
f73b2fb39efc Merge pull request #2114 from knuto:pr/libtool_support
54ec41f00018 Merge pull request #2121 from ngie-eign:add-dragonflybsd-
             and-kfreebsd-support
d850e144710e Merge pull request #2112 from knuto:pr/fix_null_pointer
a4af76cf8c13 Add `cxx_strict_flags` for clang to match FreeBSD's WARNS
             flags
2147806d2d5c Fix clang `-Winconsistent-missing-override` warnings
5388473acfb6 Fix clang `-Winconsistent-missing-override` warnings
1c22797cd304 Fix clang `-Wunused-parameter` warnings
fcf59ca7bf63 Ignore `-Wsign-conversion` issues
9dc235b59cfd Avoid array index out of range
6d4d2f06bebc Merge pull request #2141 from dspinellis/index-fix
0e424c7594dd Update gtest-death-test to use new Fuchsia API
873e479817d3 Internal Change
c374893023c9 Merge pull request #2123 from ngie-eign:clang-inconsistent-
             missing-override
c5a792d1b685 Merge pull request #2125 from ngie-eign:clang-unused-
             parameter
1411d27a944d Merge pull request #2061 from samolisov:building-with-
             bazel-as-a-dll-on-windows
7203f37f57e4 Merge pull request #2137 from ngie-eign:clang-ignore-sign-
             conversion
cd09534deccd Don't hardcode the filename in
             `CxxExceptionDeathTest.PrintsMessageForStdException`
b6473fcf90a3 Merge pull request #2126 from ngie-eign:clang-add-more-
             strict-warnings
37ae1fc5e6be Merge pull request #2147 from ngie-eign:gtest-test-death-
             test-dont-hardcode-test-name
d70cd4e35859 Fix grammatical error in primer.md
5154386c5f76 Merge pull request #2152 from rsinnet/patch-1
efecb0bfa687 Replace more pump'd code with variadic templates
fc979623a91e Minor build system fixes
56ef07a20308 Build gmock cleanly with clang -Wextra-semi
db9b85e27522 Let embedders customize GTEST_INTERNAL_DEPRECATED()
a1dd07786b9a Build gmock cleanly with clang -Wextra-semi and
             -Wextra-semi-stmt
3dd2e841c34b Fix emission of -Wzero-as-null-pointer-constant when
             comparing integers
8b6d3f9c4a77 Merge pull request #2158 from CarloWood:master

Bug: chromium:926235
Change-Id: I078620849c2369636d0809f0193a355aa0879cae
Reviewed-on: https://chromium-review.googlesource.com/c/crashpad/crashpad/+/1503686
Commit-Queue: Mark Mentovai <mark@chromium.org>
Reviewed-by: Nico Weber <thakis@chromium.org>
2019-03-06 23:00:18 +00:00
Mark Mentovai
2a47ea4663 Obtain the Fuchsia SDK from the correct (updated) location
Since a mac-amd64 SDK is now published in addition to linux-amd64, use
it on macOS instead of repurposing linux-amd64.

Many thanks to Scott Graham <scottmg@chromium.org> for helping out at
https://chromium-review.googlesource.com/c/1506419.

Bug: crashpad:279
Change-Id: I4f108222ec2e75dea93fe32053ab470ac7ce48b9
Reviewed-on: https://chromium-review.googlesource.com/c/crashpad/crashpad/+/1503688
Commit-Queue: Mark Mentovai <mark@chromium.org>
Reviewed-by: Scott Graham <scottmg@chromium.org>
2019-03-06 22:29:08 +00:00
Mark Mentovai
c8fdad4fe5 Update DEPS for buildtools and GYP
Point buildtools to its new location and update it to 3e50219fc450.

https://chromium.googlesource.com/chromium/buildtools:

437a616be5b2 Roll doclava from Android version 6.0.0 to 8.1.0
e514b423cd41 Remove libunwind arm dependency from libc++abi
d8b13809dced Build libc++abi with LIBCXXABI_SILENT_TERMINATE set
dd61138d2390 Add libunwind include path to libunwind config
a2cbf26d9ed3 Roll lib{cxx,cxxabi,unwind}
95d2a25d1de9 Roll gn 5478ca083b..c67646fb60 (r528993:r531988)
cac097d5c2b8 Roll lib{cxx,cxxabi,unwind}
f115f4786771 Revert "Roll gn 5478ca083b..c67646fb60 (r528993:r531988)"
2637e7e91152 Roll gn 5478ca083b..a0a05a85c5 (r528993:r533513)
053f96910491 Add Windows support to libc++ target
a09e064635a4 Merge "Add Windows support to libc++ target."
2888931260f2 checkdeps: Add "noparent" support, similar to OWNERS files
3748a2a90871 Roll gn a0a05a85c5..ee966518c2 (r533513:r544233)
10d701fce52d Prepare for |is_posix| switch in the Fuchsia build
ce837ab781da Roll lib{c++,c++abi,unwind}
c81e25593ef4 [CFI] Update libc++abi to include cfi-icall fix
4c8aa3ad4fd3 Roll gn ee966518c2..b709e226c5 (r544233:r549249)
e8aa02ea839e Merge "Roll gn ee966518c2..b709e226c5 (r544233:r549249)"
8febfea9bc7e Move SVN revision comments to be variables in a gni file
ab7b6a7b350d Roll gn b709e226c5..76b9b6c759 (r549249:r552354)
b7d53a93026d Make libc++abi C++17 ready
50bedd71e73c Roll gn 76b9b6c759..8b9e025d4d (r552354:r554932)
0b71401b977f Roll gn 8b9e025d4d..0fbf0789d9 (r554932:r555198)
292896eef97e Roll libc++abi 52c7a376..05a73941
ae5162d61ffc Remove unnecessary android_crazy_linker dependency from
             libc++abi
c2fb17cecaf9 Correctly configure __cxa_demangle visibility
a9e946f166b7 Exclude libc++abi target when use_custom_libcxx=false
e7546473ac90 Move extern-C before __attribute__ declarations
e0b3d0a72133 Roll gn 0fbf0789d9..ccbeab673a (r555198:r558753)
8ca403ab93e0 Merge "Move extern-C before __attribute__ declarations"
4cbff1e40ea6 Roll lib{cxx,unwind} to ToT
94288c26d2ff Revert "Roll gn 0fbf0789d9..ccbeab673a (r555198:r558753)"
893eb86b02b2 Set no_default_deps in shared libc++ builds
6f4dae280c6a Roll gn 0fbf0789d9..84176d72a4 (r555198:r564007)
5941c1b3df96 Roll gn 84176d72a4..a3bcd204a1 (r564007:r567268)
9c9fd97928dd Roll gn a3bcd204a1..7f29218b23 (r567268:r570036)
f45682622e92 Remove GN from buildtools
506ae1c73670 Add gn-has-moved binary in old gn location
49b054d87c53 Remove libcpp_is_static
aec56e26079f Roll to gn from gn.googlesource.com
2568b85b1fa9 Merge "Remove libcpp_is_static"
66c7d9dc3c26 Re-add .gitignore for GN
a57c8cf55208 Merge "Re-add .gitignore for GN"
7876a3a2adc9 Revert "Remove libcpp_is_static"
0dd5c6f980d2 Merge "Revert "Remove libcpp_is_static""
4ae75c1f8188 Add components/tracing in visibility for libunwind
637716e67c05 Remove libcpp_is_static
5a265b45c14c Merge "Remove libcpp_is_static"
691bfec9d73b Only set is_component_build if !is_component_build
9a90d9aaadeb Use new export_libcxxabi_from_executables variable
2dff9c9c74e9 Roll GN from "UNKNOWN" to 1413 (4cf8d15..e134e49)
13a00f110ef9 Roll lib{cxx,cxxabi,unwind}
fdce2ad26b26 Roll libcxx{abi}
24ebce457874 Update clang-format binaries and scripts for all platforms
da9b2941cbf6 Revert "Roll libcxx{abi}
04161ec8d7c7 Roll gn to version 1496 (0790d304)
7d88270de197 Added statically linked linux binary for clang-format
b07ce09e6870 Roll lib{c++,c++abi,unwind}
5cce74c6ae2e Roll libc++
93e021048e8a Add thomasanderson and thakis to libc++{abi} OWNERS
0e1cbc4eab68 Stop removing hide_all_but_jni_onload config from libc++
9d61cbb94fd6 Make libc++ a shared library on Android sanitizer builds
40194ab03962 Do TODOs related to Android/libc++
2f02e1f363b1 Don't export operator new/delete on Mac
6fbda1b24c18 Add eu-strip to buildtools/third_party/
d658e92a1fc2 Delete buildtools

https://chromium.googlesource.com/chromium/src/buildtools:

6b05562fca00 [buildtools] add owners
97f503c698ae Update libcxx{abi}
daac513c763a Fixes necessary for enabling libc++ on Windows
3e50219fc450 Fix mac/component/asan builds

Update GYP to 8bee09f4a578.

52d9dcea6525 Add prototype of Travis config
85a2192070ba
ac24c9a9501e osx
6dbd6e1ed2ad
2f9ae921f899 add copyright to .sh
2ea7773b5a97 set +x  on buildbot/travis-checkout.sh
834a0592ddee fiddling with directories
c3b797d883df try exporting PATH and only build ninja for now
541da5393710 try other order for sync:
39ad9f30379c see if ninja is getting pulled
007db9efe490 see if ninja is getting pulled
0afd3fc18f12 try a wrapper script
7f2941039abf readd osx
d22dd9717aeb and try clang
deb62526ffbb Disable some tests that fail on bots to try to get a green
             build
4d467626b0b9 Make Travis build only the master branch
81286d388abf infra: remove cq.cfg, which is no longer used
197c82b78bc8 Patch GYP so that building with Xcode 10 works
f825c98e4bff Fix issue with missing resources in Xcode ui tests targets
6dbf304b77cb Add a copyright header to TestCmd.py
9df93ee4302e Make Visual Studio 2017 Community Edition work w/ GYP
f989ef9f1c41 Use ast module instead of compiler module for parsing files
f2dca32f7856 Update simple_copy.py for Python3 types
ab4aca868d68 Mostly mechanical changes for Python3 support
732bde62a5eb Fix one dangling utf8 decode call needed for python 3
e22714e51525 Fixes needed for Python3 on Win32
703706c4995b src,win: add VS2019 version
bd11dd1c51ef More miscellaneous fixes for Python3 compatibility
8bee09f4a578 Changes for windows and easy xml to get gyp to run under
             python 3

Change-Id: I7a0dc6638d275728aec2bd30c07b11492573d1e3
Reviewed-on: https://chromium-review.googlesource.com/c/1496661
Commit-Queue: Joshua Peraza <jperaza@chromium.org>
Commit-Queue: Mark Mentovai <mark@chromium.org>
Reviewed-by: Joshua Peraza <jperaza@chromium.org>
2019-03-04 01:43:22 +00:00
Mark Mentovai
8694cbf33e Update gtest to 9518a57428ae0a7ed450c1361768e84a2a38af5a
4665eee10a1d test, please ignore
826656b25f62 Remove workarounds for unsupported MSVC versions
c43603f288f4 Remove GTEST_HAS_HASH_SET/MAP check
a3a42514f1a9 Define GTEST_DISABLE_MSC_WARNINGS_PUSH/POP for all
             compilers
48021336904c Add back warning suppression that shouldn't have been
             removed
1454f301c554 Update README.md
09beafcd1d54 Merge branch 'master' into patch-1
7a0680dc2230 Merge pull request #1959 from robinlinden:remove-msvc-
             workarounds
d5932506d6ee Merge pull request #1961 from coppered/patch-1
c5f08bf91944 Googletest export
e46e87bb1f76 Googletest export
aac18185ebb4 Googletest export
8e86f6726164 Googletest export
45d66d81bec9 Googletest export
5dab7be70d62 Googletest export
c2989fe29b6a Googletest export
b49266606875 Googletest export
bb7c0ecbdf47 Googletest export
64368e0584e0 Googletest export
f7779eb3cb5d Googletest export
a3013cceffbe Googletest export
3cf8f514d859 Update build badge
ce526b87007a Issue #1955: Remove THREADS_PREFER_PTHREAD_FLAG
28a3261fdf94 Create CODE_OF_CONDUCT.md
87589af5ba5a Update .travis.yml
2f126c74d264 Update .travis.yml
5404fd7d06a8 Update .travis.yml
915f6cfef369 Update .travis.yml
fca458cab75b Googletest export
191f9336bc92 Merge pull request #1977 from

             lukasm91:issue_1955_remove_pthread_flags
b22d23667b60 Googletest export
8fbf9d16a63a Googletest export
775a17631217 Fixed typo
a42cdf2abdc0 Googletest export
26743363be8f Googletest export
ba344cbc405f Googletest export
10e82d01d94c Update README.md
a28a71ae41fa Update README.md
214521a1486d Update WORKSPACE
3fd66989bb5c Googletest export
067aa4c28bb1 Do not define GTEST_IS_THREADSAFE within GTEST_HAS_SEH
3d71ab4c37de Googletest export
fe14e3030737 Merge pull request #1995 from siddhanjay/patch-1
2c8ab3f18b2e feat:  Add initial support for PlatformIO and Arduino
695cf7c96249 Merge pull request #1997 from gpakosz:GTEST_IS_THREADSAFE
39c09043b83e chore:  Add initial library.json config
d9251df84951 fix: Remove global chmod from Travis
31eb5e9b873a chore:  Update version to latest release
b5c08cb9f4f1 Cache gcc and clang APT packages
06bb8d4d6dcf Googletest export
6cbd3753dc19 Googletest export
ea5e941d8470 Change directory ownership earlier
fc0f92676865 Don't cache APT packages on OS X/macOS
3b1f43c2e7a5 Use if statements
b545089f5117 Merge pull request #2004 from cotsog/patch-1
6ef591381372 Googletest export
3949c403c0ed Update README.md
81f00260668d Googletest export
c6cb7e033591 Googletest export
b5f5c596a991 Merge pull request #2000 from
             ciband:feat/add_support_platformio
1496f73cc4c3 fix:  correct JSON syntax
0f698c830f79 chore:  Add .vs to .gitignore for Visual Studio
096fb37a1976 Googletest export
1ec20f87e390 Googletest export
b7dd66519f4a Googletest export
ed3f9bb22960 Googletest export
85c4172ed66e Update README.md
7515e399436a Googletest export
9ab640ce5e51 Googletest export
e26a3fa13ca2 Googletest export
9494c45e75a5 Googletest export
a83cc11abe48 Googletest export
b93a13ec4db4 Improvements have been made to the example/sample makefiles
             for both googlemock and googletest. Library files are now
             created and named like versions produced by Cmake
34a99e547ab7 Googletest export
4160336cb433 Merge pull request #2013 from ciband:chore/fix_library_json
150613166524 Update README.md
c0ef2cbe42df fix:  Correct GitHub paths
16269ae2f857 Merge pull request #2027 from ciband:chore/fix_library_json
77004096e850 Update README.md
6729a1361150 Merge #2002
0cf2130c0b59 Update Xcode project file
3bedb5a9fc36 Merge pull request #2035 from syohex/update-xcode-project-
             file
6d5ce40d4c27 fix:  Add additional source and include directories
de99386b67a3 Merge branch 'chore/fix_library_json' of
             https://github.com/ciband/googletest into
             chore/fix_library_json
25905b9f9a45 Merge branch 'master' of
             https://github.com/google/googletest
2ace910a3580 Revert "test, please ignore"
8ed34e0f6b4e Remove outdated scripts
933e5df28372 Merge pull request #2039 from gennadiycivil/master
f8b1c1af1775 Googletest export
14c2fba7349e Googletest export
1bcbd5871e34 Merge pull request #2037 from ciband:chore/fix_library_json
bfcc47fc2f61 Merge pull request #2026 from
             justin6case/example_makefile_improvements
8a27d164cbc7 Update README.md
6e410a3ae965 Update README.md
ac8c102dae66 Update README.md
3a460a26b7a9 Googletest export
827515f8a092 Googletest export
5d3a2cd9c854 Update docs, TestCase->TestSuite
58e62f7a989c Merge branch 'master' of
             https://github.com/google/googletest
3880b13e4c0b Merge pull request #2042 from gennadiycivil/master
ade8baa7d213 clang-tidy: modernize-deprecated-headers
8369b5bbd0dd fixing build errors for unused parameter
b6cd405286ed Googletest export
644319b9f06f Merge pull request #2048 from ciband:chore/clang_tidy
216c37f057ae Googletest export
f31bf1d362af Googletest export
50f1a77955bd Merge pull request #2051 from enptfb55:master
7a7e2bba1d62 Googletest export
bc1023b4131c Googletest export
6693e85b0402 Merge branch 'master' of github.com:google/googletest
2edadcedf350 Workaround homebrew issue
0599a7b8410d Googletest export
097407fd3cfb Googletest export
9acd065a905a Googletest export
eb9225ce361a Googletest export
0adeadd28302 Googletest export
9518a57428ae Googletest export

Change-Id: I2029f907549bed52816fd3660be5b77ad19e73c9
Reviewed-on: https://chromium-review.googlesource.com/c/1427241
Reviewed-by: Joshua Peraza <jperaza@chromium.org>
Commit-Queue: Mark Mentovai <mark@chromium.org>
2019-01-22 20:57:37 +00:00
Mark Mentovai
cc166d71f4 Use base::size where appropriate, and ArraySize elsewhere
This is a follow-up to c8a016b99d97, following the post-landing
discussion at
https://chromium-review.googlesource.com/c/crashpad/crashpad/+/1393921/5#message-2058541d8c4505d20a990ab7734cd758e437a5f7

base::size, and std::size that will eventually replace it when C++17 is
assured, does not allow the size of non-static data members to be taken
in constant expression context. The remaining uses of ArraySize are in:

minidump/minidump_exception_writer.cc (×1)
minidump/minidump_system_info_writer.cc (×2, also uses base::size)
snapshot/cpu_context.cc (×4, also uses base::size)
util/misc/arraysize_test.cc (×10, of course)

The first of these occurs when initializing a constexpr variable. All
others are in expressions used with static_assert.

Includes:
Update mini_chromium to 737433ebade4d446643c6c07daae02a67e8deccao

f701716d9546 Add Windows ARM64 build target to mini_chromium
87a95a3d6ac2 Remove the arraysize macro
1f7255ead1f7 Placate MSVC in areas of base::size usage
737433ebade4 Add cast

Bug: chromium:837308
Change-Id: I6a5162654461b1bdd9b7b6864d0d71a734bcde19
Reviewed-on: https://chromium-review.googlesource.com/c/1396108
Commit-Queue: Mark Mentovai <mark@chromium.org>
Reviewed-by: Mark Mentovai <mark@chromium.org>
2019-01-04 22:42:57 +00:00
Francois Rousseau
3ca0713430 roll googletest to b18d39
* 71d4fc is the change fixing death tests on Fuchsia where the exception was still caught by the system exception handler
* we need up to b18d39 to make Windows happy

Change-Id: Ic938caabe3dde93ebda520b389b166d78c4460a6
Reviewed-on: https://chromium-review.googlesource.com/c/1350931
Reviewed-by: Scott Graham <scottmg@chromium.org>
Commit-Queue: Francois Rousseau <frousseau@google.com>
2018-11-26 23:52:28 +00:00
Scott Graham
ad788280e4 fuchsia: Disable HTTPS tests to avoid (unavailable) dependency on BoringSSL
Bug: crashpad:266
Bug: fuchsia:DX-690
Change-Id: Ica6c2d6d345cbda17fd67de69e7c770389808f63
Reviewed-on: https://chromium-review.googlesource.com/c/1340743
Commit-Queue: Scott Graham <scottmg@chromium.org>
Reviewed-by: Mark Mentovai <mark@chromium.org>
2018-11-16 21:19:24 +00:00
Vlad Tsyrklevich
236ee1076c Roll mini_chromium to d2c271a
d2c271a Add base::GetPageSize()
a3e3e59 Remove MSVC_SUPPRESS_WARNING

Bug: crashpad:262
Change-Id: I98f1a53e300556fed8780f6c58cc274a7ad2b43f
Reviewed-on: https://chromium-review.googlesource.com/c/1312034
Reviewed-by: Mark Mentovai <mark@chromium.org>
Commit-Queue: Vlad Tsyrklevich <vtsyrklevich@chromium.org>
2018-11-03 00:58:08 +00:00
Scott Graham
289be79a33 Roll mini_chromium to 3577ffd
3577ffd win: Add additional detection for toolchain

TBR=mark@chromium.org
Bug: chromium:892712
Change-Id: I0674c8068dac089e014da5b982ef672f57d80b9e
Reviewed-on: https://chromium-review.googlesource.com/c/1289089
Reviewed-by: Scott Graham <scottmg@chromium.org>
Commit-Queue: Scott Graham <scottmg@chromium.org>
2018-10-18 17:01:54 +00:00
Scott Graham
c7f1543dd3 Don't auto-generate gyp build files any more
We were still generating gyp build files on the bots, and then using the
GN build. There's some not-working logic in gyp to find the hermetic
Xcode SDK that the new bots are using, so just avoid generating the gyp
build now, since we're not using it anyway.

(My understanding is that the Android build uses
build/gyp_crashpad_android.py instead not build/gyp_crashpad.py. But
there's no Android bots in any case, so it shouldn't be a problem for
that.)

Bug: chromium:892712
Change-Id: Id290f0ddb8d9067deae10b32ab4a8f08a3954ed0
Reviewed-on: https://chromium-review.googlesource.com/c/1287234
Reviewed-by: Mark Mentovai <mark@chromium.org>
Commit-Queue: Scott Graham <scottmg@chromium.org>
2018-10-17 23:31:09 +00:00
Mark Mentovai
3ab5d5eff2 Update mini_chromium to 8d641e30a8b12088649606b912c2bc4947419ccc
5544d67ab99a [fuchsia] Update to zx_cprng_draw
dd77be1abce5 [Fuchsia] Remove unused 'launchpad' include path.
8d641e30a8b1 Remove unused base::ScopedZxHandle.

This is needed because the transitional zx_cprng_draw_new() has been
removed from Fuchsia in Zircon 9b5f75446d37, and there is now only
zx_cprng_draw().

Change-Id: I182e74bc2fb3df6f8eaabe6400a544d611b29976
Reviewed-on: https://chromium-review.googlesource.com/1176124
Reviewed-by: Joshua Peraza <jperaza@chromium.org>
Commit-Queue: Mark Mentovai <mark@chromium.org>
2018-08-15 18:19:06 +00:00
Ryan Tseng
3af81d7012 DEPS: Use gclient's native cipd instead of runhooks
Bug: 865729
Change-Id: Ie5cbd3edb394b82b86509576fb421cf2f1807675
Reviewed-on: https://chromium-review.googlesource.com/1145830
Commit-Queue: Ryan Tseng <hinoka@chromium.org>
Reviewed-by: Mark Mentovai <mark@chromium.org>
2018-07-23 18:45:58 +00:00
Scott Graham
d5ab4e21c6 Roll mini_chromium to 793e94e2
Only one change:
793e94e2  win: Use cipd win toolchain package when available

Bug: crashpad:236
Change-Id: I6482aebb785dd0dc2db022d1b3b44014ea7e952f
Reviewed-on: https://chromium-review.googlesource.com/1110664
Reviewed-by: Joshua Peraza <jperaza@chromium.org>
Commit-Queue: Scott Graham <scottmg@chromium.org>
2018-06-21 20:04:48 +00:00
Scott Graham
b0de1cff1b win: Move cipd toolchain pull to subdirectory of third_party/win
In case we want more things under third_party/win, having a toolchain
subdir makes more sense.

Bug: crashpad:236
Change-Id: Iefb54117c286d79f96ffa7beca9e3e3aab3f208e
Reviewed-on: https://chromium-review.googlesource.com/1110489
Reviewed-by: Joshua Peraza <jperaza@chromium.org>
Commit-Queue: Scott Graham <scottmg@chromium.org>
2018-06-21 18:56:28 +00:00
Scott Graham
fec77b7593 win: Add optional cipd pull of Windows toolchain package
Requires
https://chromium-review.googlesource.com/c/chromium/mini_chromium/+/1110347
to get used.

Bug: crashpad:236
Change-Id: I0e6178b68959e3995ace65d5109380b3ce1d8158
Reviewed-on: https://chromium-review.googlesource.com/1110346
Reviewed-by: Joshua Peraza <jperaza@chromium.org>
Commit-Queue: Scott Graham <scottmg@chromium.org>
2018-06-21 18:33:07 +00:00
Scott Graham
edc8084c3b Roll mini_chromium to d5523a7 [fuchsia] Update to zx_cprng_draw_new
Bug: crashpad:196
Change-Id: Ia6f3d19045b10ee02d241e65f0aa437c53a47e55
Reviewed-on: https://chromium-review.googlesource.com/1098227
Reviewed-by: Scott Graham <scottmg@chromium.org>
Commit-Queue: Scott Graham <scottmg@chromium.org>
2018-06-12 23:40:58 +00:00
Scott Graham
bff3594594 fuchsia: Update includes for new fdio header location
Also includes a gtest roll, which includes a change in gtest to do the
same thing. This also removes the link against launchpad which is no
longer necessary, and will be removed from the SDK soon.

Bug: crashpad:196, chromium:848028, chromium:850757
Change-Id: Ica8632a6157b585d6b44073e05bf7aa43253e305
Reviewed-on: https://chromium-review.googlesource.com/1096353
Commit-Queue: Scott Graham <scottmg@chromium.org>
Reviewed-by: Joshua Peraza <jperaza@chromium.org>
2018-06-12 16:47:21 +00:00
Scott Graham
9a97daff39 Add libfuzzer support
Adds the build support for using libfuzzer controlled by setting
`crashpad_use_libfuzzer=true`.

Also adds a first fuzzer (for ElfImageReader). Currently only runs on
Linux, but should work on Fuchsia too with some minor fixes (not sure
yet whether the fixes required are toolchain or in our build setup).

Run as:
  out/lin/elf_image_reader_fuzzer snapshot/elf/elf_image_reader_fuzzer_corpus/
hits an OOM pretty quickly in trying to allocate a giant buffer.

Bug: crashpad:30, crashpad:196, crashpad:233
Change-Id: Idd3ca11fe00319b8b29e029d5e13b17bfd518ea0
Reviewed-on: https://chromium-review.googlesource.com/1083451
Reviewed-by: Robert Sesek <rsesek@chromium.org>
Reviewed-by: Joshua Peraza <jperaza@chromium.org>
Commit-Queue: Scott Graham <scottmg@chromium.org>
2018-06-07 21:09:53 +00:00
Scott Graham
9de3535bbb fuchsia: Re-add launchpad for now
launchpad usage directly in Crashpad was removed, but gtest still uses
launchpad (for death tests) so keep it here for now (until the gtest
upstream change has landed to remove launchpad there).

Also, roll mini_chromium and remove link of zircon, since that's in the
base configuration now.

Bug: crashpad:196
Change-Id: I68b1092aaa6fc31efe693e3fcd5bde71c2d91d42
Reviewed-on: https://chromium-review.googlesource.com/1083611
Commit-Queue: Scott Graham <scottmg@chromium.org>
Reviewed-by: Joshua Peraza <jperaza@chromium.org>
2018-06-02 00:01:54 +00:00
Scott Graham
f5564e6292 Roll gtest (and mini_chromium)
gtest started depending on zircon and launchpad directly for death
tests, so tweak the build files.

Logs for upstreams below:

mini_chromium$ git log --oneline --no-merges --no-decorate 40cb6722bbc6bd6fb5fccecd80362313440a0537..53a3ff4cf81adb25fdf764e8547a8515fc8f70c2
53a3ff4 fuchsia: Add fdio to system includes
23b3647 fuchsia: Update sysroot.gni for sysroot location moving in SDK

gtest$ git log --oneline --no-merges --no-decorate d175c8bf823e709d570772b038757fadf63bc632..145d05750b15324899473340c8dd5af50d125d33
49ecebd Downgrade to C++98.
ec2c911 Downgrade to C++98 code.
f91bf75 Remove unused variable in Fuchsia.
54e331b Add support for versioned standard libraries.
fc66ae4 Update generated code.
b8fa4d2 Add unit test for CanonicalizeForStdLibVersioning.
18abd8f Use NULL instead of nullptr, for pre-C++11 builds.
ec5ad0f Fix the bug where ad_hoc_test_result() functions of UnitTest and TestCase objects would return failures registered at TestCase and UnitTest scopes, respectively.
960149f Remove magic number
242f0f6 Style fix
8497540 Fix comments
13af91f Fix more stuff and get tests to pass
96c3c42 Get all the things to work.
a9653c4 Fix gmock not building when -fno-rtti
b6cb5c3 Fix stuff
d4b5281 Add Fuchsia support for death test.
95ec42d Add no-exception and no-rtti to build matrix
b539167 merging,
bb7a018 reverting, test
7b4ee66 reverting just to test
62a7c14 testing
2d3024f Fix friend declaration to use GTEST_API_ decl spec.
b2f97ab Revert useless use of GTEST_API_ on WithoutMatchers decl.
1c79ad7 Add GTEST_API_ tag to WithoutMatchers class. Hopefully that fixes the problem on MSVC?
d5725da Mark new GetWithoutMatchers method as part of the exported API, to address MSVC linker errors.
f6551f2 Don't use generalized initializer list; is C++11 extension.
f437f8c Clone of unsubmitted cr/176529515. Introduce parameterless expectations.
f312435 more typos
a0fd742 msvc
b00e281 more typos
881ee30 typo
10e8ec2 move only types docs
4d554c3 typo
b4cbf53 typo
78d7381 http://cl/193386206
c56ba73 merge, explicit, ( should be it)
4707c0f 193353312
80d6e26 cl/193060888
5dccf6b http://cl/193060888
dff32af http://cl/193060888
3f88bb1 test-meerging
ec425d7 typo
e4ab316 more msvc
1944bc0 typo
e9eff48 msvc warnings
bd2a1ae merging gmock generated matchers
9fba103 merging, testing, this should be it
1c6e68c merging
26c10dc merging
d84eb86 more pizza
f45728a more OSX pizzas
b74a1af osx pizzas
f9bd618 merging gmock actions test
0bfa823 merging, gmock actions test
2dc576e merging
f7330f9 more fixing osx libstd++ bugs
6538049 fixing
dc4f563 merging, fix OSX issue
092ca91 merging
a79851f merging
fa658e0 merging
c67f51b msvc
9b5940e revert this one
b2d81b4 merge, ... gmock-matchers test
e77deb2 small cleanup
1324e2d Remove multiple inheritance from "unintesting call" mock classes.
373481c ...merging
8654c1c merging
ab84d14 Upstream cl/192179348
c13ab60 merging
5cd213e ..and this should be it
6a7573a more
039d9b5 pizza work, cont
f15fd96 osx pizzas, cont
b15be9a fixing osx pizza
6f9db26 merging
9bc82ce merging
25d8176 merging
e1071eb RE-Doing the merge, this time with gcc on mac in the PR so I can catch errors before merging the PR
8fbb419 Include gcc on mac into PR matrix
ca54b67 Revert "gmock actions 2"
64d24b8 ... and this
c1d4c34 this should be it
f587100 yet more
05b5a53 formatting
2de24fb tuning
055f321 tuning
57d6e82 more
44da2b9 cont
e93a0ec msvc
c4684b4 more msvc
431bfdc msvc 14
8bc7c63 testing msvc again
c4e3d77 More msvc 14
6525044 And also silence for MSVS14
35a709a preproc syntax ( I can never remember it)
61e8a0b syntax
03be5df cont.
e0b3c26 continued
51f8ad4 Sync gmock-generated-nice-strict.h.pump with gmock-generated-nice-strict.h.
dbd206e more mcvs fixing
701e1e5 linkage, fixing MSVC
2d4d4ef fixing MSVC
5fe8de5 more warnings
cb13dc7 more warnings
d9f3611 more MSVC warnings
c75b76e warnings
04e3188 cont - 2
32ac949 cont
1831ac9 more warnings
eb3e4aa deal with MSVC warn, cont 1
50c0bcd Cont. deal with MCVS warnings
b5c87fb Deal with MCVS warnings
88fc7d7 merging gmock-actions 2
fe402c2 Merging gMock, 2
7e5f90d formatting
9286361 And more MCVS warnings
e0f4cf0 fixing MCVS warn
7045138 Have to wait for this one
66eaf9f Have to wait for this one
af93d59 Merging matchers test
0cd6a4f Merging matchers test
d81b6a0 bad cut/paste
a608d4a More on MSVC warning C4503, decorated name length exceeded
6f4e939 More on MSVC warning C4503, decorated name length exceeded
5b3d277 Address MSVC warning C4503, decorated name length exceeded, name was truncated
aa14cc4 Fixing build break on MSVC
e55089e merging gmock matchers 1
a0c27bd fix build break on locale windows
1776ed8 Tweaking https://github.com/google/googletest/pull/1523 to exclude nacl
d52aaee Upstreaming, cl 191344765
a2dd136 merging port, cont. 191443078
aa349ac merging, cont - 2
2cedd5b merging gtest-port.h , 191439094
04d1e56 merging, just comments format
5beb452 testing, merge
df5a48d Testing, gtest-port.h merge
87a4cdd merging gtest-port.h, again - 1
7888184 Include OSX builds back into PR builds
b2373c6 Revert "merging gtest-port 1 of N"
54bb165 Revert "merging gtest-port, 2"
d04bf07 typo
8e0364a merging gtest-port, 2
11855d8 provide alternative for DebugBreak()
aea6fc3 merging gtest-port 1 of N
a75a5c9 merges 1
3df7cbe merges, gtest
6aae206 merging gmock-matchers.h 3
2318705 merging gmock-matchers.h 2
8ea10d3 Upstreaming FloatingEq2Matcher,
b907c26 Merging gmock-matchers.h -2
466a49a gmock-matchers merging -2
b7c5683 merging, gmock -1
4e89c76 reverting gtest_list_tests_unittest.py
eaaa422 Update appveyor.yml
da71e8c more merges
0f65679 more merges
691e38e More merges
a3c2e10 cl 189032107, again
080fcbe cl 189032107
a178cc7 merge, again, IsRecursiveContainer
262aaf2 erging, cont
2814b4b merging, merging
a719320 fixing, was removing too much
af463c4 More merges, removing old dead code
7b70413 Allow macros inside of parametrized test names.
cf9d634 merges-port(1)
e891900 Merging, XML tests
89d6f70 merges-8
995a9df merges-7
086825d merges-6
8385928 merges-3
dbf63e3 merges-2
0d5e01a Merges-1
7a2050d Use a full message in the JSON output for failures
3431b69 Add options to parallelize builds.
6baf17e Support JSON output format in addition to XML
2eb31c1 Add documentation for VariantWith.
2bd1750 gmock merging -2
190e2cd Add matcher for std::variant.
84ec2e0 Switch default death test style back to "fast".
20074be Use DEBUG_POSTFIX instead of CMAKE_DEBUG_POSTFIX
4dbb437 merging unittests - 5
567b40e Try to handle unsigned wchar_t (arm) a bit better
004f6a0 merging unitests - check 4
29e9ca8 merging unitests, check
3299a23 merging unittests - 2
b7e0294 merging unitests
11e1dd2 Removed trailing comma in enum
0656830 TEST() arguments are invalid in an example
df65632 merges
8a61587 Fix unused function warning on Mac OS.
a3e322b cleanup, merges
09581b3 cleanup/merges
0697241 merging, cleaning up
ab186a8 merges
30d276d cxxx11
3b1fe3e clang warnings
d7c966c clang warnings
2a23ca0 https://travis-ci.org/google/googletest/jobs/340995238
a66d209 clang warning 'https://travis-ci.org/google/googletest/jobs/340987201'
e76f4ee clang warning https://travis-ci.org/google/googletest/jobs/340978022
9e07281 merges
225e674 moving JoinAsTuple to internal
b3a1759 Fix std::iscntrl use in gtest-printers.cc
d84f58a Merging, coniniue
575c081 merging
49fc378 merges
ec7faa9 merges
c851050 Fixed typos
092d088 Add ability to throw from ASSERT
a3c73ed Include MSVC14 on PRs as well
e6ec8bc Merges and also adding new bazel build mode
e55fded Code merges
2a46830 Ability to optionally depend on Abseil plus upstream of 183716547
6c0c389 Adding tests to googlemock bazel
fbb48a7 Code merges
efd49c2 Update Documentation.md
b8ac390 Fix test build issue with GCC7.2.
3498a1a Use _CPPUNWIND instead of _HAS_EXCEPTIONS with MSVC.
f915530 Pass -EHs-c- to disable exceptions with MSVC.
b3a2048 Update README.md
7cced89 Remove Visual Studio 10,11,12 from build matrix
b9651c0 placating gcc and its overzeauls size comparison warnings
e29805a upstream cl 182543808
06c3cce revert, lets get this compiled
80defce Many code merge/upstream changes
6723b6c Merging, upstream http://cl/182836545
bbb17ad more code merge
f1c87ad merges, cl/155419551 and other
9bc8666 more merging
a0435a5 merging
8d707df code merge
b1623e9 Adding python tests to Bazel build file.
8e86221 Use fully qualified  in examples
354fc8d Document ScopedTrace utility
ba99a04 Check whether _MSC_VER is defined when detecting presence of cxxabi.h under libc++.
9c82e77 Expose ScopedTrace utility in public interface
08b323f Reverting some changes, need to make the merge compile
9195571 Reverting some changes, need to make the merge compile
6d04de7 Reverting some changes, need to make the merge compile
b9e2978 Reverting some changes, need to make the merge compile
304be8f Test files for corresponding changes
6befe42 Test files for corresponding changes
f45c22c Test files for corresponding changes
5f4ce9d Test files for corresponding changes
d629744 More code merges
da1f7fe Code merging
33d73d4 Added support for WINAPI_PARTITION_TV_TITLE which is defined on XboxOne
569d713 Added support for WINAPI_PARTITION_TV_TITLE which is defined on XboxOne
93b7798 continue upstream/merge, etc
ed8d02c Update .travis.yml
73d1251 Update .travis.yml
cfd29e0 Update .travis.yml
29f94e0 Update .travis.yml
2982dc1 Trying to fix travis
6914ae2 Upstream cl 103120214
1d757db More merge, cleanup
481fe94 More merge, cleanup
6a26e47 Code merge, upstreaming accumulated changes, cleanup
62dbaa2 revert
d630a8b code merges, cleanup
f33902b revert googletest/test/gtest-param-test_test.cc
6eccdb7 Update .travis.yml
d237297 code merge, cleanups
2ad5661 Upstream of cl 129104714
5eecadf Revert one file
9fce984 wip, cleanups/merge
258fd6e cleanup, merge
cbd15d4 [Bazel] Detect Windows with cpu value x64_windows and x64_windows_msvc
91ba05c Small cleanups, merge
67d6e46 Use correct name for build event types.
67476c1 Revert one file for now
adfdc65 Fixed test for pull request.
d3acb4b Fixed output and test for 'enabled_on_pr'
19b5774 code cleanup in preparation for merges, cl 180857299
9cee677 Optimize build matrix (#1)
1c09831 upstreaming cl 124976692
1acf8c7 Also define GTEST_ATTRIBUTE_PRINTF_ in clang-cl.
b3d9be5 Pass the -Wmissing-declarations warning.
e7734fb OSS Sync, cl 163329677
90244a6 Fix testing::Combine on MSVC 2017.
bcd3552 Avoid warning C4619 in MSVC 2017.
ec2b0c3 Build both googletest and googlemock.
75b85d5 Create a autotools-based build for Travis.
7990f56 Re-enable MSVC++ C4389 warning in CmdHelperEq()
e17907d Update internal_utils.cmake
a7fceb4 Update gtest-param-test.h.pump
8a48f0e Update gtest-param-test.h.pump
23a014a Refactor docs about contributions to CONTRIBUTING.md.
74a5306 remove extra line
3ea0631 remove implicit casts
c82cd5e Also add documentation around becoming a contributor.
1184117 Wrong LICENSE file, sorry.  Corrected. [skip ci]
bc3320b Implement bazel-based builds in Travis.
e22d344 Add Apache-2.0 LICENSE file.
cf3adad Add licenses() directive for googlemock/tests.
57bb0bb Remove C4996 warning in VS2017
3464f76 Improved description of VS std::tuple support
8d9d6bb Improved description of VS std::tuple support
4aa05bd Only switch to g++-4.9 on Linux.
aea8580 Run autoconf from top-level directory.
0663ce9 Fix double free when building Gtest/GMock in shared libraries and linking a test executable with both.
f46bd00 make includes system
a7269e2 replaced back accidently removed static_cast with consistent ImplicitCast_
82447f2 Fixes issue #826 by treating MinGW as "non-Windows" when determining colored output
1ae4096 fix for VS2017 deprecation of ::tr1::tuple change static_cast to ImplicitCast_ for consitency fixes for building with path names containing spaces
aa0b545 remove GTEST_HAS_PARAM_TESTS
4d26df7 Speed up printing of characters which need hex escaping
99d0ef3 Also can build when included in source.
9538687 Remove trailing whitespaces in BUILD.bazel
c113a71 Added support for WINAPI_PARTITION_TV_TITLE which is defined on XboxOne
ca6a70c Pass MSVC's C4826 warning.


Bug: crashpad:196
Change-Id: I60be5750667d1901e0ad47c3558de1338b083536
Reviewed-on: https://chromium-review.googlesource.com/1069562
Reviewed-by: Joshua Peraza <jperaza@chromium.org>
Commit-Queue: Scott Graham <scottmg@chromium.org>
2018-05-22 21:01:08 +00:00
Scott Graham
d766e659bb Roll mini_chromium to 40cb6722
mini_chromium$ git log --oneline 6e0fdb2e..40cb6722
40cb672 fuchsia: Update mini_chromium/Crashpad build for SDK reorg
ce9be13 Set |posix| to false for the Fuchsia build.
ff7ad85 win: Use target_out_dir instead of source_out_dir for pdbname

Bug: crashpad:196
Change-Id: I8d23b0dece8222a2dc883f6c4e4d43aaf7f5fc89
Reviewed-on: https://chromium-review.googlesource.com/1036189
Reviewed-by: Joshua Peraza <jperaza@chromium.org>
Commit-Queue: Scott Graham <scottmg@chromium.org>
2018-04-30 21:26:41 +00:00
Scott Graham
439ba730c5 Implementation in C++ of HTTPTransport test server
- Pulls in cpp-httplib for test-only usage in third_party/.
- Replaces http_transport_test_server.py with .cc server.
- Remove unnecessary Go toolchain pull. This was planned to be used for
  the test server, but the toolchain integration was too messy when
  covering all target platforms/configs.

Bug: crashpad:196, crashpad:227, crashpad:30
Change-Id: I5990781473dcadfcc036fbe711c02928638ff851
Reviewed-on: https://chromium-review.googlesource.com/1013293
Reviewed-by: Robert Sesek <rsesek@chromium.org>
Commit-Queue: Scott Graham <scottmg@chromium.org>
2018-04-20 20:56:49 +00:00
Scott Graham
ca2d7e776a Pull go toolchain for all host types
To be used to build replacement http test server.

Bug: crashpad:227, crashpad:196, crashpad:30
Change-Id: I8bdd33a629d98af8b149bd83a11edb5965ad6e76
Reviewed-on: https://chromium-review.googlesource.com/1011653
Reviewed-by: Robert Sesek <rsesek@chromium.org>
Commit-Queue: Scott Graham <scottmg@chromium.org>
2018-04-13 18:04:20 +00:00
Scott Graham
ba0bd63254 Use clang ref:goma instead of ref:latest
This is considered a "stable-latest" by the Fuchsia toolchain team that
maintains this package.

Bug: crashpad:30, crashpad:196
Change-Id: I24a57abc9c0eaaab9b003b204ee56e73fad88f11
Reviewed-on: https://chromium-review.googlesource.com/996308
Reviewed-by: Mark Mentovai <mark@chromium.org>
2018-04-04 22:20:49 +00:00
Fabrice de Gans-Riberi
74a56c256b Prepare for removal of is_posix from the Fuchsia build
This also rolls crashpad/third_party/mini_chromium/mini_chromium/ d42eb4101..6e0fdb2e4 (2 commits)
d42eb41012..6e0fdb2e49

$ git log d42eb4101..6e0fdb2e4 --date=short --no-merges --format='%ad %ae %s'
2018-04-04 scottmg@chromium.org Repair Linux-with-sysroot build after clang update
2018-04-04 fdegans Prepare for |is_posix| switch in the Fuchsia build

Created with:
  roll-dep crashpad/third_party/mini_chromium/mini_chromium

Bug: chromium:812974
Change-Id: I3d8efc3124c97981eda63f104a7adfb670babab7
Reviewed-on: https://chromium-review.googlesource.com/988231
Reviewed-by: Mark Mentovai <mark@chromium.org>
2018-04-04 22:18:25 +00:00
Joshua Peraza
afd3186280 Roll mini_chromium to d42eb41
Change-Id: I18c0a3cfcc82725f19023aa3d78a937719fd2d49
Reviewed-on: https://chromium-review.googlesource.com/972424
Reviewed-by: Mark Mentovai <mark@chromium.org>
2018-03-20 23:00:11 +00:00
Joshua Peraza
449506d59c Roll mini_chromium to ef0df11
Includes:
win: remove flags not present in chromium
Change-Id: Ib5ec58ea8e406a9c151bc5901ebaa418fb8c8c20
Reviewed-on: https://chromium-review.googlesource.com/943722
Reviewed-by: Mark Mentovai <mark@chromium.org>
Commit-Queue: Joshua Peraza <jperaza@chromium.org>
2018-03-01 18:00:14 +00:00
Scott Graham
746ce1a637 Roll mini_chromium to 987bde8
Includes:
987bde8 Linux GN: Optionally link statically against libstdc++

Bug: crashpad:30, crashpad:79, crashpad:220
Change-Id: If15d2224239166138aa5dcfe531ff269b7ed22fe
Reviewed-on: https://chromium-review.googlesource.com/941543
Reviewed-by: Mark Mentovai <mark@chromium.org>
Commit-Queue: Scott Graham <scottmg@chromium.org>
2018-02-28 19:07:30 +00:00
Scott Graham
8e80a575d1 Linux: Pull a sysroot if pulling a local clang
Didn't actually end up being too bad. Also requires setting GN arg of

  target_sysroot = "//third_party/linux/sysroot"

when building.

Bug: crashpad:220
Change-Id: I4d4b282f165d454b5d32fc8cc11287ff665b943d
Reviewed-on: https://chromium-review.googlesource.com/935981
Commit-Queue: Scott Graham <scottmg@chromium.org>
Reviewed-by: Joshua Peraza <jperaza@chromium.org>
2018-02-24 04:31:12 +00:00
Scott Graham
cd3afe616e Linux: Pull and use clang toolchain in third_party
Includes mini_chromium update including one change:
b4128fb Linux GN: support override of clang to different path

Complementary bot change at
https://chromium-review.googlesource.com/c/chromium/tools/build/+/935668.

Bug: crashpad:79, crashpad:220
Change-Id: I9228bf6786d94c34265e933e21e45a899816bb52
Reviewed-on: https://chromium-review.googlesource.com/935470
Reviewed-by: Mark Mentovai <mark@chromium.org>
Commit-Queue: Scott Graham <scottmg@chromium.org>
2018-02-23 22:35:59 +00:00
Scott Graham
d8d03172c2 arm: Capture context around pc and registers
Includes mini_chromium DEPS roll of one change:
4e3b2c0 fuchsia: Make target flag apply to asm too

After this, the Fuchsia ARM64 build compiles.

Bug: crashpad:196
Change-Id: I1b749a2b2443303ad86122fbe5c9750300474d79
Reviewed-on: https://chromium-review.googlesource.com/925454
Reviewed-by: Mark Mentovai <mark@chromium.org>
Commit-Queue: Scott Graham <scottmg@chromium.org>
2018-02-20 15:18:40 +00:00
Scott Graham
83a83c5b00 Roll mini_chromium to e7e8237
Includes:
e7e8237 Don't run win_helper.py get-visual-studio-data on non-Windows
387f001 gn win: Support detection of VS2017

Bug: crashpad:79
Change-Id: I709b6a7f1b64baa3b5ab37a1e5b90c2c529c14de
Reviewed-on: https://chromium-review.googlesource.com/906971
Reviewed-by: Mark Mentovai <mark@chromium.org>
2018-02-07 19:59:04 +00:00
Scott Graham
798f654043 gn win: Use new toolchain names to support both x86 and x64
Rolls mini_chromium to include:
75b5697 gn win: Template toolchain to support x86 and x64
428a555 gn win: Automatically find location of Visual Studio

Bug: crashpad:79
Change-Id: Ie7ff10f8b4853071028e3a9580e5be8e5ca5c0ec
Reviewed-on: https://chromium-review.googlesource.com/905625
Commit-Queue: Scott Graham <scottmg@chromium.org>
Reviewed-by: Mark Mentovai <mark@chromium.org>
2018-02-06 23:35:49 +00:00
Scott Graham
14dbd3531d gn win: Get main test binaries building
- default to subsystem:console
- don't build posix/timezone.*
- add some missing libs

This gets all the main binaries building and running. Most configs pass,
but there's some offsets that seem different in some builds; need to
investigate more. Additionally, the binaries used by end_to_end_test.py
aren't yet built, so that script fails.

Includes mini_chromium roll to 46eeaf9:
46eea49 gn win: Add debug info and pdb to cc/cxx
902a29f gn win: Various fixes towards making GN build work

Bug: crashpad:79
Change-Id: Ie56a469b84bed7b0330172cec9f1a8aeb95f702e
Reviewed-on: https://chromium-review.googlesource.com/902403
Commit-Queue: Scott Graham <scottmg@chromium.org>
Reviewed-by: Mark Mentovai <mark@chromium.org>
2018-02-06 19:12:18 +00:00
Scott Graham
a8ecdbc973 Updates to support -Wimplicit-fallthrough
https://chromium-review.googlesource.com/c/chromium/mini_chromium/+/899847
turns the warning on. This adds one annotation, and fixes one bug.

Includes mini_chromium roll:

.../mini_chromium$ git log 5fcfa43c1587b94132e24782579350cb8266b990..3b953302848580cdf23b50402befc0ae09d03ff9 --oneline
3b95330 (HEAD, origin/master, origin/HEAD) Add -Wimplicit-fallthrough when building on clang

Bug: chromium:807632
Change-Id: I2f3ddca0228e52013844cb8d78d10cb359e851d0
Reviewed-on: https://chromium-review.googlesource.com/900317
Commit-Queue: Scott Graham <scottmg@chromium.org>
Reviewed-by: Mark Mentovai <mark@chromium.org>
2018-02-03 03:05:45 +00:00
Scott Graham
a62033d6c0 Roll mini_chromium to 5fcfa43
Includes:
5fcfa43 Remove .a before alink, otherwise stale .o can hang around

Bug: crashpad:196
Change-Id: Iae361c5e5fa0797be9461eecf0a9c0669e5e6522
Reviewed-on: https://chromium-review.googlesource.com/874811
Reviewed-by: Mark Mentovai <mark@chromium.org>
Commit-Queue: Scott Graham <scottmg@chromium.org>
2018-01-18 18:45:38 +00:00
Scott Graham
f62a30e977 fuchsia: Implementation of MultiprocessExec
This supports multiprocess tests of the non-fork() variety.

Also, improve directory finding so that the
crashpad_test_test_multiprocess_exec_test_child binary can be located
correctly on Fuchsia.

Doc ref for launchpad:
https://fuchsia.googlesource.com/zircon/+/master/system/ulib/launchpad/include/launchpad/launchpad.h#23

Also, roll mini_chromium to pick up ScopedZxHandle addition. Includes:
a19ef08 Merge ScopedZxHandle from Chromium base
f21c900 fuchsia: Move zircon libs dep to base, rather than global

Bug: crashpad:196
Change-Id: Id01dee43f2d04e682e70c12777aff41f8dd848d6
Reviewed-on: https://chromium-review.googlesource.com/868967
Reviewed-by: Mark Mentovai <mark@chromium.org>
Commit-Queue: Scott Graham <scottmg@chromium.org>
2018-01-17 23:45:42 +00:00
Scott Graham
1d1bf89d62 Roll buildtools to 6fe4a3251488f7af86d64fc25cf442e817cf6133
Includes a number of gn rolls.

Change-Id: Id2cdbaca493b6537de9741109bb81ef8e05327fa
Reviewed-on: https://chromium-review.googlesource.com/865829
Reviewed-by: Mark Mentovai <mark@chromium.org>
Commit-Queue: Scott Graham <scottmg@chromium.org>
2018-01-13 00:52:13 +00:00
Scott Graham
ab153f7e1b gn: Avoid depending on BUILDCONFIG.gn globals
Goes with https://chromium-review.googlesource.com/c/chromium/mini_chromium/+/834648.

Includes mini_chromium DEPS roll to pull in edfe51ce81

Bug: crashpad:79, crashpad:196
Change-Id: Ib45cc738aecf9ae727f8faeff81f3b71e2dc9de8
Reviewed-on: https://chromium-review.googlesource.com/834543
Commit-Queue: Scott Graham <scottmg@chromium.org>
Reviewed-by: Mark Mentovai <mark@chromium.org>
2017-12-19 23:38:36 +00:00
Mark Mentovai
99b0030616 gn, linux: Build for Linux with GN
This is sufficient for a native Linux build using GN. Android is not yet
supported.

mini_chromium side: https://crrev.com/c/833407

This also updates mini_chromium to 404f6dbf9928.

c913ef97a236 gn, linux: Build for Linux with GN
404f6dbf9928 gn: Don’t use .rsp files; rationalize descriptions and
             output dirs

Bug: crashpad:79
Change-Id: I4f3b72fd02884d77812e520fb95231b35815677d
Reviewed-on: https://chromium-review.googlesource.com/833408
Commit-Queue: Mark Mentovai <mark@chromium.org>
Reviewed-by: Scott Graham <scottmg@chromium.org>
2017-12-19 19:31:20 +00:00
Scott Graham
1bc07b76ed gn: Use mini_chromium_is_posix in preference to global is_posix
Goes with
https://chromium-review.googlesource.com/c/chromium/mini_chromium/+/833328.

Also roll mini_chromium:

scottmg@around:/work/crashpad/crashpad/third_party/mini_chromium/mini_chromium$ git log 20182dd263312db9fad52042fc92c33331ec6904..e182031 --oneline
e182031 gn: Add is_posix.gni to define local is_posix variable
4cb1344 gn: Enable proper release-mode optimizations for POSIX-non-Mac
9c0eb0c Remove reference to ptr_util.h
c5ae5aa gn: Configure the sysroot in target_sysroot, not sysroot
f7e5654 gn, mac: Honor mac_sdk_min, sysroot, and mac_deployment_target
7701901 Remove the deprecated sparse_histogram.h header.
e2f0160 Use Chromium copyright notice and BSD license in mini_chromium


Bug: crashpad:79, crashpad:196
Change-Id: Ie41d971e0e769db2ed18861da07021c071f6c650
Reviewed-on: https://chromium-review.googlesource.com/833329
Commit-Queue: Scott Graham <scottmg@chromium.org>
Reviewed-by: Mark Mentovai <mark@chromium.org>
2017-12-19 00:07:06 +00:00
Ilya Sherman
7662fb087f Roll mini_chromium a12ed4a6..20182dd2
$ git log --oneline a12ed4a6..20182dd2
20182dd Add missing newline at EOF after d1943e187f47
d1943e1 Add a stub for Chromium's base::UmaHistogramSparse().
9920849 gn, mac: Various GN build fixes
0b16698 gn, mac: Tell libtool not to warn about empty .o files

R=mark@chromium.org

Bug: chromium:773850
Change-Id: I2fb4b7ed8a8efa8b3d37f1b8f131396e9a2bbfdc
Reviewed-on: https://chromium-review.googlesource.com/827648
Reviewed-by: Mark Mentovai <mark@chromium.org>
2017-12-15 04:19:44 +00:00
Scott Graham
05dee13e84 fuchsia: Add QEMU and helper script to start/stop instance
This is mostly intended to be used for waterfall/trybots.
Fuchsia-on-metal isn't available as a Swarming dimension, so in order to
run tests, use QEMU-with-KVM on the host. It might also be useful for
local development for those without a Fuchsia hardware device.

Bug: crashpad:196, crashpad:212
Change-Id: I88170bc95bd532676b787b50a94f7fa3c69b1ac7
Reviewed-on: https://chromium-review.googlesource.com/822523
Commit-Queue: Scott Graham <scottmg@chromium.org>
Reviewed-by: Mark Mentovai <mark@chromium.org>
2017-12-13 23:18:05 +00:00
Scott Graham
82a80acd31 Roll mini_chromium 96e32dd4..a12ed4a6
$ git log --oneline 96e32dd4..a12ed4a6
a12ed4a gn, mac: Add sysroot.gni for Mac that finds default SDK
5e8e232 gn, win: Add copy and solink_module tools to win toolchain
009b44a gn: Explicitly filter posix files from mini_chromium/base

TBR=mark@chromium.org
Bug: crashpad:79
Change-Id: Ic86a2e376d31cbf614e0f44907156f83cbeabd20
Reviewed-on: https://chromium-review.googlesource.com/812544
Reviewed-by: Scott Graham <scottmg@chromium.org>
Commit-Queue: Scott Graham <scottmg@chromium.org>
2017-12-06 23:47:04 +00:00
Mark Mentovai
612237a032 android: Fix 32-bit test to build at API [21, 24) with unified headers
Although API 21 introduced support for 64-bit off_t in many system calls
or their wrappers, <stdio.h> support for 64-bit off_t is absent until
API 24.

This is a partial revert of 5969d6b1eb22, because with this more
targeted fix applying only to gtest, the rest of Crashpad will work with
a 64-bit off_t even at API levels lacking NDK support by going through
the mmap() shim in compat.

This includes a mini_chromium update to 96e32dd499a4.

85cbec19ffc0 fuchsia: Make EINTR macros no-ops
fbf410cd4d40 fuchsia: Use koid instead of getpid() for process field in
             logging
96e32dd499a4 Revert "android: Don’t use _FILE_OFFSET_BITS=64 until API
             21"

Bug: crashpad:211
Change-Id: I34c3c8b42eb315605e6775962b44c3c4573b7462
Reviewed-on: https://chromium-review.googlesource.com/811204
Commit-Queue: Mark Mentovai <mark@chromium.org>
Reviewed-by: Joshua Peraza <jperaza@chromium.org>
2017-12-06 18:05:37 +00:00
Mark Mentovai
5969d6b1eb android: NDK r16 compatibility
This updates build/gyp_crashpad_android.py to define the
android_api_level GYP variable whenver unified headers are in use.
Previously, it was only set when compiling with GCC and using unified
headers. This pairs with https://crrev.com/c/804574 to allow proper
detection of when _FILE_OFFSET_BITS=64 would be inappropriate.

Since there’s no longer any possibility of using a 64-bit off_t with API
< 21, this also drops the compatibility wrapper for mmap() that allowed
this configuration to work. Too bad, I liked this, but it’s pointless to
carry now.

The development documentation is also updated to refer to NDK r16.

mini_chromium is updated to 88e056258a01450b07414642fa5fb98493c1f6ce.

f609089390cd fuchsia: Add ZX_LOG, et al. to mini_chromium
0a8c5de30c67 fuchsia: Fix RandBytes() ZX_CHECK message string
88e056258a01 android: Don’t use _FILE_OFFSET_BITS=64 until API 21

Change-Id: I932116e0c01bcddd5719f9091a070d504eae600f
Reviewed-on: https://chromium-review.googlesource.com/804555
Commit-Queue: Mark Mentovai <mark@chromium.org>
Reviewed-by: Joshua Peraza <jperaza@chromium.org>
2017-12-04 16:26:00 +00:00
Scott Graham
eeb31321f7 gn, fuchsia: Add //testing forwarding and GN build file
third_party/gtest/BUILD.gn mostly written by rsesek.

Also includes DEPS roll of mini_chromium for Wexit_time_destructors config.

$ git log --oneline dd0c3e96..fa146c12
fa146c1 (HEAD, origin/master, origin/HEAD) gn: Extract Wexit-time-destructors into separate config
95bfddb fuchsia: Fix base::RandBytes() after 5a1c5f82ce75
b79608a fuchsia: Use llvm-ar from the Fuchsia clang package
c34725b fuchsia: Look for the toolchain and SDK in per-build-host directories
e8e1ee4 fuchsia: Don't assume that kernel will provide all requested rand bytes
5a1c5f8 fuchsia: Implement RandBytes()
df359ca fuchsia: Enable -fPIC
bd50c95 Restore accidentally changed license
a70db15 Improvements to GN build config
7de4d23 fuchsia: Fix compile of base/logging.cc
25a8b57 Add link GN rules to non-win build, set c++14 in CC flags.
7d15806 fuchsia: The very basics of compiling mini_chromium/base with GN

Bug: crashpad:79, crashpad:196
Change-Id: I3e741f185b028a96705eefc1f993037830d97448
Reviewed-on: https://chromium-review.googlesource.com/797414
Commit-Queue: Scott Graham <scottmg@chromium.org>
Reviewed-by: Mark Mentovai <mark@chromium.org>
Reviewed-by: Robert Sesek <rsesek@chromium.org>
2017-11-30 20:58:46 +00:00
Mark Mentovai
1ee9fee37c Update buildtools, gtest, and gyp
Update buildtools to 505de88083136eefd056e5ee4ca0f01fe9b33de8

97d73b1a3ddb Do not apply clang coverage to libc++ and libc++abi
e043d81e9185 Roll gn 87530f977a..2c6f9299ed (r503394:r509075)
3275a099f3c1 Output warning only in verbose mode in Java deps checker
011c39ca57fa Roll libcxx, libcxxabi, and libunwind
df36429e1847 Add vector.cpp to libc++ sources
b0f94d04e26f Java checker only warns multiple definitions of touched
             files
c79d52ba0fb4 Merge "Java checker only warns multiple definitions of
             touched files"
817a502753ff Prepare Android for building libc++ in-tree
05f9bc9b8599 Fix undefined deps on arm64
2a2f666c35b7 Update libc++, libc++abi, and libunwind READMEs
73ddd64be624 Roll gn 2c6f9299ed..157d5de447 (r509075:r514519)
93a751e41bd9 Fix git cl presubmit failure caused by java_checker.py scan
             deleted files
6cce6ca960b9 Fix libc++ build when using gcc
7f134c70f0f8 Allow java file multiple definition for excluded paths in
             java checker
9c40f80c9998 Merge "Fix libc++ build when using gcc"
8c7174c87fd6 Always hide libunwind symbols on desktop Linux
3196d83d5c1f Fix typo: fuschia -> fuchsia
461b345a815c Add migration code for no_exceptions configs
505de8808313 Finish migration to exceptions configs

Update gtest to d175c8bf823e709d570772b038757fadf63bc632

509f7fe84094 Update googletest README.md
24696c3958f0 Merge branch 'master' into master
3eaba9f07c5f Merge branch 'master' into master
4597ec587ca2 Updated README with information about C runtime
             dynamic/static linking issues in Windows
ecb1c3ddb6cf #1282: Doc typo fix
963932e7f37b Merge pull request #1292 from DariuszOstolski/master
3282f9ae018f Merge pull request #1288 from joealam/master
dfed97a69ac3 Workaround for Travis issue https://github.com/travis-ci
             /travis-ci/issues/8552
5c9543547e5f Merge pull request #1297 from gennadiycivil/master
34aaf58c8b1b Revert "Workaround for Travis issue https://github.com
             /travis-ci/travis-ci/is…"
27be0dfb53a1 Merge pull request #1298 from google/revert-1297-master
54c2648bff0e Workaround for Travis issue https://goo.gl/d5eV8o
48986f9d4c8e Merge branch 'master' into master
69e48e92de43 Merge pull request #1300 from gennadiycivil/master
c208d8df23d6 Merge branch 'master' into master
1beff241c359 googletest: Add GTEST_API_ attribute to ThreadLocal class
6d0bb75c81bc Merge pull request #1139 from chehsunliu/master
77380cddf771 Enable C++11 features for VS2015 and VS2017
2641b021fc2a Fix tests with VS2015 and VS2017
840c711e7bd7 Fix gmock tests when std::unary_function unavailable
7684db32712e Merge pull request #1218 from KindDragon/vs-build-fix
20e2de7d8bba Remove gcc 6 misleading indentations
060783b7d2b7 Merge branch 'master' into gtestapifix
e93a15c5a59e Merge pull request #913 from Romain-Geissler/fix-gcc-
             misleading-indentation-warning
3121b2049e30 Merge pull request #1304 from m-gupta/gtestapifix
b153bfd8f503 Enable CI for VS2017
8866af0386d7 remove markdown stars (bold) from code examples
43d6ad75bc4f Merge pull request #1308 from KindDragon/vs2017-ci
d175c8bf823e Merge pull request #1313 from aninf-wo/heth/fix-faq-stars-
             issue-1312

Update gyp to 5e2b3ddde7cda5eb6bc09a5546a76b00e49d888f

365ffa057dc3 Flip to LUCI for tryjobs
5e2b3ddde7cd Remove Rietveld CQ config

Change-Id: I20ca6d84ac79cb85d73934392ff1655de2f147c5
Reviewed-on: https://chromium-review.googlesource.com/797011
Reviewed-by: Scott Graham <scottmg@chromium.org>
Commit-Queue: Mark Mentovai <mark@chromium.org>
2017-11-29 18:27:20 +00:00