30 Commits

Author SHA1 Message Date
Mark Mentovai
a5a1c3b07f Add .style.yapf and reformat according to yapf, using “google” style
% yapf --in-place $(git ls-files **/*.py)
% yapf --version
yapf 0.30.0

Note that this is not using the “chromium” yapf style because Chromium
is moving to PEP-8.
https://groups.google.com/a/chromium.org/d/topic/chromium-dev/RcJgJdkNIdg
yapf 0.30.0 no longer recognizes “chromium” as a style option.
22ef70f3c4
Since this is a mass reformatting, it might as well move things all the
way into the future all at once.

This uses the “google” style, which is a superset of “pep8”.

Change-Id: Ifa37371079ea1859e4afe8e31d2eef2cfd7af384
Reviewed-on: https://chromium-review.googlesource.com/c/crashpad/crashpad/+/2165637
Commit-Queue: Mark Mentovai <mark@chromium.org>
Reviewed-by: Scott Graham <scottmg@chromium.org>
2020-04-27 13:59:09 +00:00
Francois Rousseau
6d8b196150 [fuchsia] remove handler
* Fuchsia only uses Crashpad for minidump generation, report database
  and report upload, not for the actual exception handling so it does
  not need a handler class
* the current handler class didn't have tests anyway
* Chromium on Fuchsia relies on the platform exception handling instead
  of rolling its own Crashpad exception handler
* this avoids us having to maintain an exception handler in another repo
* this removes the last FIDL dependency in Crashpad

TESTED=`fx test crashpad_test`

Change-Id: Ie3998f709e7cc4252dd551882a23b337864da85e
Reviewed-on: https://chromium-review.googlesource.com/c/crashpad/crashpad/+/2165638
Commit-Queue: Francois Rousseau <frousseau@google.com>
Reviewed-by: Scott Graham <scottmg@chromium.org>
2020-04-24 23:20:08 +00:00
Scott Graham
a519f1bec3 fuchsia: Update build to use new "GN" SDK
This reworks the SDK pull to get the new packaging of the SDK.

Includes DEPS update to roll mini_chromium with two changes:
f7bd221 fuchsia: Remove fuchsia_sdk declare_args, add copy() tool
8ca5ea3 fuchsia: Use sdk/$host_os-amd64 for sdk path

Bug: fuchsia:7802
Change-Id: Ifcb0e90b19c7eddc32a37422e6951f214dcdfd36
Reviewed-on: https://chromium-review.googlesource.com/c/crashpad/crashpad/+/2165494
Reviewed-by: Mark Mentovai <mark@chromium.org>
Commit-Queue: Scott Graham <scottmg@chromium.org>
2020-04-24 22:27:07 +00:00
Scott Graham
069fddf184 fuchsia: Remove unused sysinfo dep
This was previously used, but is no longer required. Delete the one
remaining include at the build rules.

Change-Id: If5083a4fb8a5562d3e40149976bd27fcec0fd302
Reviewed-on: https://chromium-review.googlesource.com/c/crashpad/crashpad/+/2165635
Reviewed-by: Mark Mentovai <mark@chromium.org>
Reviewed-by: Francois Rousseau <frousseau@google.com>
Commit-Queue: Scott Graham <scottmg@chromium.org>
2020-04-24 20:00:17 +00:00
Mark Mentovai
e621aaa132 Make “gn check” pass
Change-Id: Ia7a215e1a2d0a3b1868b00c5d47b46ef8a675cdc
Reviewed-on: https://chromium-review.googlesource.com/c/crashpad/crashpad/+/2144917
Reviewed-by: Justin Cohen <justincohen@chromium.org>
Reviewed-by: Joshua Peraza <jperaza@chromium.org>
Commit-Queue: Mark Mentovai <mark@chromium.org>
2020-04-13 18:29:42 +00:00
Scott Graham
054f45724e Revert "fuchsia: Include reference to zx library"
This reverts commit de5bc33b8b45b197977430a0e74a37c00c6a3bc3.

Reason for revert: going to be removed back out of the SDK, transitions are hard :( https://bugs.fuchsia.dev/p/fuchsia/issues/detail?id=7802#c33

Original change's description:
> fuchsia: Include reference to zx library
> 
> "library zx" used to be built in to fidlc, but is now a standalone file
> (this is an SDK change). Update the build rules to adapt to this.
> 
> ref: https://logs.chromium.org/logs/crashpad/buildbucket/cr-buildbucket.appspot.com/8883567878548782112/+/steps/compile_with_ninja/0/stdout
> 
> FAILED: gen/fidl/include/fuchsia/sysinfo/c/client.cc gen/fidl/include/fuchsia/sysinfo/c/fidl.h gen/third_party/fuchsia/fidl/fuchsia.sysinfo/tables.c gen/third_party/fuchsia/fidl/fuchsia.sysinfo/intermediary_representation.json
> python ../../third_party/fuchsia/runner.py ../../third_party/fuchsia/sdk/linux-amd64/tools/fidlc --c-header gen/fidl/include/fuchsia/sysinfo/c/fidl.h --c-client gen/fidl/include/fuchsia/sysinfo/c/client.cc --tables gen/third_party/fuchsia/fidl/fuchsia.sysinfo/tables.c --json gen/third_party/fuchsia/fidl/fuchsia.sysinfo/intermediary_representation.json --name fuchsia.sysinfo --files ../../third_party/fuchsia/sdk/linux-amd64/fidl/fuchsia.sysinfo/sysinfo.fidl
> ../../third_party/fuchsia/sdk/linux-amd64/fidl/fuchsia.sysinfo/sysinfo.fidl:7:7: error: Could not find library named zx. Did you include its sources with --files?
> using zx;
>       ^~
> 
> Bug: fuchsia:7802
> Change-Id: I10c0109fd9621a19d72deb21a489c2041caeeeca
> Reviewed-on: https://chromium-review.googlesource.com/c/crashpad/crashpad/+/2141019
> Commit-Queue: Scott Graham <scottmg@chromium.org>
> Commit-Queue: Justin Cohen <justincohen@chromium.org>
> Reviewed-by: Justin Cohen <justincohen@chromium.org>

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

Change-Id: I0328c2ff586ff733926a51d87774453cb2cf7c33
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: fuchsia:7802
Reviewed-on: https://chromium-review.googlesource.com/c/crashpad/crashpad/+/2143940
Reviewed-by: Scott Graham <scottmg@chromium.org>
Commit-Queue: Scott Graham <scottmg@chromium.org>
2020-04-09 23:56:21 +00:00
Scott Graham
de5bc33b8b fuchsia: Include reference to zx library
"library zx" used to be built in to fidlc, but is now a standalone file
(this is an SDK change). Update the build rules to adapt to this.

ref: https://logs.chromium.org/logs/crashpad/buildbucket/cr-buildbucket.appspot.com/8883567878548782112/+/steps/compile_with_ninja/0/stdout

FAILED: gen/fidl/include/fuchsia/sysinfo/c/client.cc gen/fidl/include/fuchsia/sysinfo/c/fidl.h gen/third_party/fuchsia/fidl/fuchsia.sysinfo/tables.c gen/third_party/fuchsia/fidl/fuchsia.sysinfo/intermediary_representation.json
python ../../third_party/fuchsia/runner.py ../../third_party/fuchsia/sdk/linux-amd64/tools/fidlc --c-header gen/fidl/include/fuchsia/sysinfo/c/fidl.h --c-client gen/fidl/include/fuchsia/sysinfo/c/client.cc --tables gen/third_party/fuchsia/fidl/fuchsia.sysinfo/tables.c --json gen/third_party/fuchsia/fidl/fuchsia.sysinfo/intermediary_representation.json --name fuchsia.sysinfo --files ../../third_party/fuchsia/sdk/linux-amd64/fidl/fuchsia.sysinfo/sysinfo.fidl
../../third_party/fuchsia/sdk/linux-amd64/fidl/fuchsia.sysinfo/sysinfo.fidl:7:7: error: Could not find library named zx. Did you include its sources with --files?
using zx;
      ^~

Bug: fuchsia:7802
Change-Id: I10c0109fd9621a19d72deb21a489c2041caeeeca
Reviewed-on: https://chromium-review.googlesource.com/c/crashpad/crashpad/+/2141019
Commit-Queue: Scott Graham <scottmg@chromium.org>
Commit-Queue: Justin Cohen <justincohen@chromium.org>
Reviewed-by: Justin Cohen <justincohen@chromium.org>
2020-04-08 20:45:01 +00:00
Nico Weber
2fd16e3392 Reformat all gn files
Port of chromium-side
https://chromium-review.googlesource.com/c/chromium/src/+/1997899

Bug: chromium:1041419
Change-Id: Ic7afefa0dea024da37fe4bb0f965840a160e2166
Reviewed-on: https://chromium-review.googlesource.com/c/crashpad/crashpad/+/2015428
Commit-Queue: Mark Mentovai <mark@chromium.org>
Reviewed-by: Mark Mentovai <mark@chromium.org>
2020-01-23 13:59:00 +00:00
Scott Graham
af5d5468e0 Rename FIDL tables to .c due to use of designated initializers
Will also need https://fuchsia-review.googlesource.com/c/fuchsia/+/348593 to land in the SDK to fix the bots.

Very helpful link: https://ci.chromium.org/p/crashpad/builders/try/crashpad_try_fuchsia_arm64_dbg/728

Change-Id: Iacdbb13a72d116bd579f5f10cadbe7a0b3ed7987
Reviewed-on: https://chromium-review.googlesource.com/c/crashpad/crashpad/+/1966371
Commit-Queue: Scott Graham <scottmg@chromium.org>
Reviewed-by: Joshua Peraza <jperaza@chromium.org>
Reviewed-by: Mark Mentovai <mark@chromium.org>
2019-12-13 16:46:32 +00:00
Scott Graham
272c4bb64e fuchsia: Add missing transformer.cc to fidl_base
Fix fidl_base build, again. Fixes broken tryjobs as seen in
https://chromium-review.googlesource.com/c/crashpad/crashpad/+/1872188.

Change-Id: Iaec1613b3b335fac501227b7a86134309f52d7f3
Reviewed-on: https://chromium-review.googlesource.com/c/crashpad/crashpad/+/1899650
Reviewed-by: Francois Rousseau <frousseau@google.com>
Commit-Queue: Scott Graham <scottmg@chromium.org>
2019-11-05 19:07:27 +00:00
Scott Graham
b2e26bc455 fuchsia: Fix fidl_init_txn_header link error
Add missing/new fidl_base/txn_header.c to fidl_base library in Fuchsia
build. However, that transitively includes files that use static_assert
via assert.h, which is a C11 feature. Per
https://fuchsia.googlesource.com/fuchsia/+/master/docs/development/api/c.md#Language-versions-C-1
Fuchsia does not aim to support C99, so change the build setting in mini_chromium as well in
https://chromium-review.googlesource.com/c/chromium/mini_chromium/+/1876894

Includes mini_chromium roll:
2298dbe9d0b3213720ac0e5418ad0013a19aeb5d Change cflags_c from c99 to c11
63dfdbd690244c58c1595543806bafd5e5f8aabd Adds support for codesigning iOS app bundles.
ae8e6c54b9a6ea2fd4ff64aab61227d9fad1897e Adds GN rules for ios app bundles.

Change-Id: I09c93d5b2b7ae197c8dc95b83e9c467a68ee51f1
Reviewed-on: https://chromium-review.googlesource.com/c/crashpad/crashpad/+/1876893
Commit-Queue: Scott Graham <scottmg@chromium.org>
Reviewed-by: Mark Mentovai <mark@chromium.org>
2019-10-23 20:16:37 +00:00
P.Y. Laligand
10a1d2d877 [fuchsia] Use the appropriate separator for FIDL library names.
Bug: fuchsia:35562
Change-Id: If465af3d91c418b448f837b850e10e8d12f3281b
Reviewed-on: https://chromium-review.googlesource.com/c/crashpad/crashpad/+/1776919
Commit-Queue: Scott Graham <scottmg@chromium.org>
Reviewed-by: Scott Graham <scottmg@chromium.org>
2019-08-29 22:18:32 +00:00
P.Y. Laligand
1c7023875b [build] //zircon/public/fidl --> //zircon/system/fidl
Bug: fuchsia:35562
Change-Id: Ic50ae72b870fe8aa415539a93aae4eaa2647731a
Reviewed-on: https://chromium-review.googlesource.com/c/crashpad/crashpad/+/1773124
Commit-Queue: Scott Graham <scottmg@chromium.org>
Reviewed-by: Scott Graham <scottmg@chromium.org>
2019-08-27 21:14:25 +00:00
Francois Rousseau
8b8066297c [fuchsia] remove obsolete FIDL string.cc include
the code moved to string.h and the SDK no longer includes that source file

TESTED=fix the broken Fuchsia bots

Change-Id: I2ad39e6bc4d90e7a79ab380899bd20a84d0df465
Reviewed-on: https://chromium-review.googlesource.com/c/crashpad/crashpad/+/1724907
Reviewed-by: Francois Rousseau <frousseau@google.com>
Commit-Queue: Francois Rousseau <frousseau@google.com>
2019-07-30 17:57:45 +00:00
Scott Graham
b1dbfc65be Fuchsia: Update SDK build from cpp to cc
Fuchsia recently globally renamed all .cpp to .cc and some of that leaks
out into the SDK.

Change-Id: Id04c7e18cde77674dc6c1a40f9e378bb182951c8
Reviewed-on: https://chromium-review.googlesource.com/c/crashpad/crashpad/+/1682767
Reviewed-by: Joshua Peraza <jperaza@chromium.org>
Commit-Queue: Scott Graham <scottmg@chromium.org>
2019-06-28 21:31:44 +00:00
Roland McGrath
bc9104541f [fidl] Convert from - to . names for //zircon/public/fidl
This is part of a soft transition to replace fuchsia-foo-bar names
with fuchsia.foo.bar names for the directory and GN target names for
FIDL libraries defined in //zircon/system/fidl and accessed in legacy
GN via //zircon/public/fidl.  After the transition, the directory and
GN target names will exactly match the FIDL library names everywhere.
 1. Make //zircon/public/fidl/a.b.c alias //zircon/public/fidl/a-b-c
 2. Convert all //zircon/public/fidl uses outside fuchsia.git & integrate
 3. Convert all //zircon/public/fidl uses inside fuchsia.git
 4. Remove transition hacks
 5. Enforce naming conventions in GN templates
This is step 2.

Bug: ZX-3365 #comment //third_party/crashpad references converted
Change-Id: Ief90c6f9fa1da51dea7dbbd5b58741cbb7e06891
Reviewed-on: https://chromium-review.googlesource.com/c/crashpad/crashpad/+/1608163
Reviewed-by: Scott Graham <scottmg@chromium.org>
Commit-Queue: Roland McGrath <mcgrathr@chromium.org>
2019-05-16 23:49:37 +00:00
Francois Rousseau
77b2b2f1d0 [fuchsia] change attachments from filepaths to VMOs
* we start with VMOs in Fuchsia so this avoids a temporary file before writing the files in the database
* in order to do a soft transition, we add the new type and leave the old one until the caller in Fuchsia has been updated.

Bug: fuchsia:DX-1270

Change-Id: I3c77c775a186801dbcc7379e84ad5795f41780e7
Reviewed-on: https://chromium-review.googlesource.com/c/crashpad/crashpad/+/1554011
Commit-Queue: Francois Rousseau <frousseau@google.com>
Reviewed-by: Scott Graham <scottmg@chromium.org>
2019-04-10 19:29:17 +00:00
Francois Rousseau
83f6f43d81 [fuchsia] allow generation of C++ bindings for FIDL dependencies
Bug: fuchsia/DX-1270
Change-Id: I99edcfcc96baa00affd129f9249fe6e3c565812b
Reviewed-on: https://chromium-review.googlesource.com/c/crashpad/crashpad/+/1560311
Reviewed-by: Scott Graham <scottmg@chromium.org>
Commit-Queue: Francois Rousseau <frousseau@google.com>
2019-04-09 21:03:52 +00:00
Francois Rousseau
0c618f8317 [fuchsia] define zx and fidl_base in their own source_set
ideally these source_set would be create programmatically from the corresponding meta.json

Change-Id: I4374aef5614c75603132dcdf8d32a687fb9cbadc
Reviewed-on: https://chromium-review.googlesource.com/c/crashpad/crashpad/+/1560077
Commit-Queue: Francois Rousseau <frousseau@google.com>
Reviewed-by: Scott Graham <scottmg@chromium.org>
2019-04-09 20:24:52 +00:00
Francois Rousseau
7411c8354b [fuchsia] use source_set for C FIDL library
this makes it easier to depend on what we want (the C bindings) rather than having to maintain two lists in sync (sources and deps)

Change-Id: Ib3c7715cf8e54658ab44e4de04d04acedf13d09c
Reviewed-on: https://chromium-review.googlesource.com/c/crashpad/crashpad/+/1558821
Reviewed-by: Scott Graham <scottmg@chromium.org>
Commit-Queue: Francois Rousseau <frousseau@google.com>
2019-04-09 17:24:12 +00:00
Francois Rousseau
c8dc08b719 [fuchsia] clean up third_party/fuchsia/BUILD.gn
Change-Id: I5c5f03ea5882592008d11e2819962e8781954ca2
Reviewed-on: https://chromium-review.googlesource.com/c/crashpad/crashpad/+/1555833
Reviewed-by: Scott Graham <scottmg@chromium.org>
Commit-Queue: Francois Rousseau <frousseau@google.com>
2019-04-08 16:13:29 +00:00
Francois Rousseau
0730f0c60c [fuchsia] rename gn group to fuchsia
now that we import fuchsia-sysinfo and fdio, this isn't really just zx anymore

Change-Id: Ic42359ce3d230e214ebdbbefb880ccb021434a0f
Reviewed-on: https://chromium-review.googlesource.com/c/crashpad/crashpad/+/1555533
Reviewed-by: Scott Graham <scottmg@chromium.org>
Commit-Queue: Francois Rousseau <frousseau@google.com>
2019-04-05 23:33:12 +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
Scott Graham
25048d37f8 fuchsia: Remove log.cpp and log.h
zx_log_ is being removed in favour of zx_debuglog_, and so log.h/cpp
will also be going.

Bug: fuchsia:ZX-2184
Change-Id: I4f342d05716745d1248fe1de6e7cd2f92ff1dea3
Reviewed-on: https://chromium-review.googlesource.com/c/1407534
Reviewed-by: Mark Mentovai <mark@chromium.org>
Commit-Queue: Scott Graham <scottmg@chromium.org>
2019-01-11 23:27:14 +00:00
Joshua Peraza
dc0052bd43 Fuchsia: Use SDK manifest for CC prebuilt and source packages
Upstreams:
https://chromium-review.googlesource.com/c/chromium/src/+/1292570

Change-Id: I366651f57076dd0e854daa6f23a6dfa47babf60d
Reviewed-on: https://chromium-review.googlesource.com/c/1315432
Reviewed-by: Scott Graham <scottmg@chromium.org>
Commit-Queue: Joshua Peraza <jperaza@chromium.org>
2018-11-02 17:30:22 +00:00
Braden Kell
5dd094381c [sysinfo] Convert sysinfo ioctls to FIDL calls
Bug: fuchsia:ZX-2842

Change-Id: Ib84b4319d3bb07a2c68bc2ff0d63e49fa65eb2b5
Reviewed-on: https://chromium-review.googlesource.com/c/1292237
Reviewed-by: Scott Graham <scottmg@chromium.org>
Commit-Queue: Scott Graham <scottmg@chromium.org>
2018-10-29 20:24:55 +00:00
Wez
bc50af15a2 Migrate from ScopedZxHandle to libzx containers.
Bug: chromium:852541
Change-Id: Ie05c70f249e6f843183a02ec61fd09f6a0607598
Reviewed-on: https://chromium-review.googlesource.com/1148923
Reviewed-by: Mark Mentovai <mark@chromium.org>
Commit-Queue: Wez <wez@chromium.org>
2018-08-01 17:38:19 +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
Mark Mentovai
5e16410ad4 fuchsia: Download the toolchain to distinct directories per build host
I like to share a single Crashpad checkout between my non-virtual
machine and some virtual machines. Downloaded toolchains, which vary by
build host configuration, must go in paths named for the build host.
(Chromium doesn’t do this, and it bugs me.)

Rather than downloading the Fuchsia toolchain to
third_party/fuchsia/clang, this puts it in
third_party/fuchsia/clang/{mac,linux}-amd64.

The Fuchsia SDK is only published on cipd for linux-amd64, but the
sysroot that it contains ought to be perfectly functional on any
suitably-equipped build host, so this also checks out that package
unconditionally.

Bug: crashpad:196
Change-Id: Iabd4f2dd1e2c06a3f7208b5c40432619983919ea
Reviewed-on: https://chromium-review.googlesource.com/794537
Commit-Queue: Mark Mentovai <mark@chromium.org>
Reviewed-by: Scott Graham <scottmg@chromium.org>
2017-11-29 15:19:17 +00:00
Scott Graham
4ee20f5831 Add Fuchsia clang and sdk to DEPS
These use CIPD (from depot_tools) to download packages created by the
Fuchsia team. The .ensure file is passed to `cipd` which currently
include specificiations for the Fuchsia team's build of clang (which,
because it's close to HEAD includes support for targeting Fuchsia), as
well as the Fuchsia SDK.

Both packages are specified as "latest" rather than pinning to a
specific revision. At this early point in the process we don't have any
good reason to pin, but that can be accomplished later by replacing that
with a specific package's SHA1.

Due to the (relatively new) 'condition': 'checkout_fuchsia', this DEPS
step will only be run when .gclient includes 'fuchsia' in the target_os
block at the top_level, e.g.

$ cat .gclient
solutions = [
  { ...  },
]
target_os = ['fuchsia']

Bug: crashpad:196, crashpad:209
Change-Id: Id6d444a1c4450ffde8ee6665ff9720ce454c5cdf
Reviewed-on: https://chromium-review.googlesource.com/786092
Commit-Queue: Scott Graham <scottmg@chromium.org>
Reviewed-by: Mark Mentovai <mark@chromium.org>
2017-11-27 21:42:44 +00:00