• R/O
  • HTTP
  • SSH

thirdparty-breakpad: 提交列表

Breakpad, a crash reporter, from Google.

Original home: https://chromium.googlesource.com/breakpad/breakpad/

Rev. 时间 作者
70914b2 master 2017-11-14 23:31:22 Mike Wittman

Make identical-code-folded symbol output more consistent between runs

Consistently output the "least" symbol by decorated name when
multiple symbols share an address.

Testing with chrome.dll.pdb the diffs between the new and old output
look sensible, and this is actually ~20% faster than the existing

Bug: 749
Change-Id: Ie638559b63f0eb2dcb80b1ebb579228d62c63bb2
Reviewed-on: https://chromium-review.googlesource.com/758885
Reviewed-by: Mark Mentovai <mark@chromium.org>

615ad2b 2017-11-14 04:50:29 Tomas Popela

List missing 64-bit arches in the bundled curl

Currently the bundled curl fails to build on ppc64/ppc64le or s390x, because
it has an incomplete list of 64-bit arches (where long is 64-bit).

Similar version is currently used as a downstream patch in Fedora
Change-Id: Id27bfe1ca048340c45926f5435336941c080f132
Reviewed-on: https://chromium-review.googlesource.com/765453
Reviewed-by: Mike Frysinger <vapier@chromium.org>

8a0edac 2017-11-08 08:24:48 Robert Sesek

Add index-based set functionality to NonAllocatingMap.

This enables repeatedly setting a value based on index, which avoids a
linear scan of the entry table after the first SetKeyValue().

Bug: chromium:598854
Change-Id: I9964670a09dcd8ff76180d031a373f20990bf4d8
Reviewed-on: https://chromium-review.googlesource.com/757579
Reviewed-by: Mark Mentovai <mark@chromium.org>

3bbf3fb 2017-11-07 23:56:36 Peter Collingbourne

dump_symbols: Stop rejecting files with Android packed relocation sections.

The lld linker has native support for creating packed relocation
sections, and as a result we can expect files with these sections to
have symbols.

Bug: chromium:742655
Change-Id: I48a50bff041146f51b3a8b730d7a778f832787f6
Reviewed-on: https://chromium-review.googlesource.com/754239
Reviewed-by: Mike Frysinger <vapier@chromium.org>
Reviewed-by: Mark Mentovai <mark@chromium.org>

8e9080b 2017-11-04 02:06:05 Yi Wang

Create LongStringDictionary and replace SimpleStringDictionary on iOS

This relands fd0a0d2b7ae9dd3d8a02b6a12e7941f7189fbb6c which was reverted
in 5dad29423e62292c6ff468cabfee4422ba55b18b, with a fix for guarding
kMaxSuffixLength which only used in assert()s with macros which breaks

Change-Id: I5ee21b7f290517d6e7a0ef90b693b97f92392549
Reviewed-on: https://chromium-review.googlesource.com/751922
Reviewed-by: Mark Mentovai <mark@chromium.org>

550c622 2017-11-03 11:53:56 Adam Harrison

Don’t set exit_after_write to false for tvOS.

On tvOS, the app fails to shutdown after write.
Allow exit_after_write to be false for tvOS in order to force an exit() after write.

Change-Id: Ib2e1e1d03264a2972f5607b3070f4a6287aa0a98
Reviewed-on: https://chromium-review.googlesource.com/752071
Reviewed-by: Mark Mentovai <mark@chromium.org>

5dad294 2017-11-03 02:56:17 Mark Mentovai

Revert "Create LongStringDictionary and replace SimpleStringDictionary usages in client/ios/Breakpad.mm."

This reverts commit fd0a0d2b7ae9dd3d8a02b6a12e7941f7189fbb6c.

Reason for revert: Build failures reported at https://chromium-review.googlesource.com/c/chromium/src/+/750591#message-cc4f7dd486fa1da7373ad5d83d56f550d607d429

Failed build on chromium.mac/ios-device: https://build.chromium.org/p/chromium.mac/builders/ios-device/builds/73163, https://logs.chromium.org/v/?s=chromium%2Fbb%2Fchromium.mac%2Fios-device%2F73163%2F%2B%2Frecipes%2Fsteps%2Fcompile%2F0%2Fstdout

[637/3593] CXX obj/third_party/breakpad/client/long_string_dictionary.o
FAILED: obj/third_party/breakpad/client/long_string_dictionary.o
../../third_party/breakpad/breakpad/src/common/long_string_dictionary.cc:46:16: error: unused variable 'kMaxSuffixLength' [-Werror,-Wunused-const-variable]
const size_t kMaxSuffixLength = 4;
1 error generated.
[641/3593] CXX ios_clang_arm64/obj/third_party/breakpad/client/long_string_dictionary.o
FAILED: ios_clang_arm64/obj/third_party/breakpad/client/long_string_dictionary.o
../../third_party/breakpad/breakpad/src/common/long_string_dictionary.cc:46:16: error: unused variable 'kMaxSuffixLength' [-Werror,-Wunused-const-variable]
const size_t kMaxSuffixLength = 4;
1 error generated.

Change-Id: I285eaac6abfcb7d173a0d1e4998b92d5c8dd6ecb
Reviewed-on: https://chromium-review.googlesource.com/751723
Reviewed-by: Mark Mentovai <mark@chromium.org>

2d85d49 2017-11-02 11:40:39 Peter Collingbourne

Rename an argument named "register" to "reg".

This silences a warning in newer versions of clang that complains
about "register" being a deprecated keyword.

Bug: chromium:780692
Change-Id: If354b9b18421e3e910849b385c44207e0ce02590
Reviewed-on: https://chromium-review.googlesource.com/750362
Reviewed-by: Mark Mentovai <mark@chromium.org>

7e3c165 2017-10-31 02:23:56 Nicholas Baldwin

Fix double declaration of tgkill when using Android NDK Headers.

As of Android API level 16 tgkill is declared in the NDK version of
signal.h, which conflicts with the static definition found in
src/client/linux/handler/exception_handler.cc. This change removes
the static tgkill definition and replaces its use with sys_tgkill
from the linux syscall support library.

Change-Id: Ic70addd8a064cfa36345d86b7e36409e2089e909
Reviewed-on: https://chromium-review.googlesource.com/738912
Reviewed-by: Mike Frysinger <vapier@chromium.org>

fd0a0d2 2017-10-28 02:47:03 Yi Wang

Create LongStringDictionary and replace SimpleStringDictionary usages in client/ios/Breakpad.mm.

Change-Id: I401028f5d90417d79fb109b510aaa9660a039b44
Reviewed-on: https://chromium-review.googlesource.com/688301
Reviewed-by: Mark Mentovai <mark@chromium.org>

73d2773 2017-10-27 07:25:57 Bruce Dawson

Avoid skipping an initializer with a goto

C++ doesn't allow skipping initialization with a goto. This means that
this code is illegal:

void func(bool b) {
if(b) goto END;
int value = 0; //error C2362 with /permissive-
//... value used here

Adding an extra scope makes the code legal. This problem is only
detected with /permissive- but now that compiling with this
switch is practical we might as well stay /permissive- clean:

Note that compiling /permissive- clean only works with the 10.0.16299.0
SDK which currently has other issues...

Bug: 773476
Change-Id: I54e64aaef46d70a817cf7da272f76d9ae5f6a6f7
Reviewed-on: https://chromium-review.googlesource.com/740287
Reviewed-by: Mark Mentovai <mark@chromium.org>

2aaeead 2017-10-20 03:43:22 Torne (Richard Coles)

Roll src/src/third_party/lss/ a91633d17..e6527b0cd (1 commit)


$ git log a91633d17..e6527b0cd --date=short --no-merges --format='%ad %ae %s'
2017-10-03 torne Fix use of non-whitelisted syscalls on Android.

Created with:
roll-dep src/src/third_party/lss
Bug: 770449

Change-Id: Ia9556ba31f61c0bd8a5dcd4b032cdb1f321d7a57
Reviewed-on: https://chromium-review.googlesource.com/728357
Reviewed-by: Mike Frysinger <vapier@chromium.org>

072f86c 2017-10-19 00:44:59 Tobias Sargeant

Provide helper wrappers for basename(3) and dirname(3)

This hides the need to provide mutable C strings, and unifies
existing basename calls and variations in a single location.

Change-Id: Idfb449c47b1421f1a751efc3d7404f15f8b369ca
Reviewed-on: https://chromium-review.googlesource.com/725731
Reviewed-by: Mark Mentovai <mark@chromium.org>
Reviewed-by: Mike Frysinger <vapier@chromium.org>

9b23ca3 2017-10-18 05:19:03 Peter Collingbourne

Move main executable handling out of procmaps parser loop.

If the mapping for the main executable needed to be merged (for
example, if it was linked with lld and therefore contains an r mapping
followed by an r/x mapping), we would never reach the code that makes
it the first module. Handle that situation by moving that code into
a separate loop.

This fixes an issue where breakpad_unittests fails on Android devices
when linked with lld. It appears that the glibc dynamic loader
happens to always load executables (or at least the executables that
we create) at a lower address than DSOs, so we never hit this bug on
desktop Linux.

Testing: "make check" with both gold and lld as linker. Also
breakpad_unittests when patched into Chromium on Linux (lld) and
Android (gold and lld).

Bug: chromium:469376
Change-Id: I6329e4afd2f1bf44c25a6c3e684495e21dba83a6
Reviewed-on: https://chromium-review.googlesource.com/722286
Reviewed-by: Mike Frysinger <vapier@chromium.org>
Reviewed-by: Mark Mentovai <mark@chromium.org>

8bb3d55 2017-10-17 23:02:43 Ted Mielczarek

Rename src/common/memory.h to memory_allocator.h.

memory.h shadows a system header which normally isn't a problem
because of the include paths in Breakpad, but the Firefox build
system winds up with src/common in the include path so we've had
a workaround for this for years. Renaming the file lets us get
rid of that workaround and shouldn't hurt anything.

Change-Id: I3b7c4239dc77f3b2b7cf2b572a0cad88cd7e8522
Reviewed-on: https://chromium-review.googlesource.com/723261
Reviewed-by: Mark Mentovai <mark@chromium.org>

3d6076e 2017-10-17 19:22:46 Tobias Sargeant

Add -s flag to microdump_stackwalk for dumping stack contents.

Note that the current MicrodumpProcessor::Process implementation has a
bug due to the fact that it creates a local Microdump instance, and then
holds onto a pointer to the object returned by microdump.GetMemory()
which is destroyed when microdump goes out of scope. This CL fixes the
crash by making Microdump outlive MicrodumpProcessor, which is the same
pattern that Minidump/MinidumpProcessor uses.

Bug: google-breakpad:748
Change-Id: I554b46d309649cf404523722bd9ee39e17a10139
Reviewed-on: https://chromium-review.googlesource.com/720809
Reviewed-by: Primiano Tucci <primiano@chromium.org>
Reviewed-by: Ivan Penkov <ivanpe@chromium.org>

623c4a0 2017-10-16 18:13:02 Tobias Sargeant

Convert {mini|micro}dump_stackwalk argument parsing to getopt.

Bug: google-breakpad:748
Change-Id: I70b16ba6456df0be038d6c7170eb22b093fdc65d
Reviewed-on: https://chromium-review.googlesource.com/718756
Reviewed-by: Mike Frysinger <vapier@chromium.org>

bc8fb88 2017-10-12 09:21:31 Adam Harrison

ios: Adds a no-Mach exception handler

This exception_handler_no_mach does not use Mach for exception handling
so that clients such as tvOS and watchOS that do not support mach
messages can handle POSIX signals.

Change-Id: I4a4574e58834bc590e110e6ecd1825f8af1437a2
Reviewed-on: https://chromium-review.googlesource.com/714276
Reviewed-by: Mark Mentovai <mark@chromium.org>

1c3f8d1 2017-10-07 03:19:40 Joshua Peraza

Android: Use sys/types.h instead of stdint.h for sys/user.h

When using traditional headers, sys/types.h is needed to define __u64
for sys/user.h. Previously, we thought this would be provided by
stdint.h, but it is not.

Change-Id: I0e648712f4ef1e303104a5264d3d2d0b218f5d45
Reviewed-on: https://chromium-review.googlesource.com/705267
Reviewed-by: Mark Mentovai <mark@chromium.org>

0bdf616 2017-10-06 00:18:12 Mark Mentovai

Fix minidump_dump_test after 6d0287851fab

Change-Id: I9957f27cd134f862b9831e4b1d90f8a014eb37b6
Reviewed-on: https://chromium-review.googlesource.com/701740
Reviewed-by: Mike Frysinger <vapier@chromium.org>

6d02878 2017-09-28 06:27:17 Mark Mentovai

Dump Crashpad extension structures in minidump_dump

This is currently mostly useful to expose the annotations that Crashpad
stores in minidumps.

Example output:

version = 1
report_id = 01234567-89ab-cdef-0123-456789abcdef
client_id = fedcba98-7654-3210-fedc-ba9876543210
simple_annotations["channel"] = canary
simple_annotations["plat"] = OS X
simple_annotations["prod"] = Chrome_Mac
simple_annotations["ver"] = 59.0.3069.0
module_list[0].minidump_module_list_index = 0
module_list[0].version = 1
module_list[0].simple_annotations["ptype"] = crashpad-handler
module_list[1].minidump_module_list_index = 28
module_list[1].version = 1
module_list[1].list_annotations[0] = abort() called

Change-Id: I00ba291f93ea3a37fc3754c651b3ccc542e5b8b2
Reviewed-on: https://chromium-review.googlesource.com/688416
Reviewed-by: Robert Sesek <rsesek@chromium.org>

cbd7bb4 2017-09-28 05:46:16 Mark Mentovai

Only run GYP for Windows targets on Windows

This prevents GYP from running on macOS, where it would produce a bunch
of pointless .xcodeproj directories for Windows libraries and tools that
could never possibly build. Those would pollute “git status” output and
other operations.

Check in a new default.xml generated from DEPS too. It doesn’t
correspond to this change, but I should have done this in 26b988681d5b.

Change-Id: I034a5b30d13fdcc14911fc1354504375752d6144
Reviewed-on: https://chromium-review.googlesource.com/688045
Reviewed-by: Robert Sesek <rsesek@chromium.org>

09df673 2017-09-25 16:10:11 Orgad Shaneh

Fix MSVC build on 64-bit

Mostly int<->size_t implicit conversions.

Warning 4366 (The result of the unary '&' operator may be unaligned)
appears in minidump.cc:907, but I don't know why. It looks aligned to me.

Change-Id: I641942adc324f8f9832b20662083dc83498688a8
Reviewed-on: https://chromium-review.googlesource.com/637390
Reviewed-by: Mike Frysinger <vapier@chromium.org>

005f41e 2017-09-25 08:23:20 Orgad Shaneh

Refresh refresh_binaries.bat

Change-Id: I15687f35e560eb1e25bb4d7483c8f6fe5fdf210e
Reviewed-on: https://chromium-review.googlesource.com/637391
Reviewed-by: Mike Frysinger <vapier@chromium.org>

1c6d161 2017-09-21 04:34:39 Mark Mentovai

Restore missing #include <stdint.h> to Android <sys/user.h>

This was lost in afa9c52715db, but it turns out that it’s still

Bug: google-breakpad:733
Change-Id: I4e0e4e4d2e80c22df1ff6b82e471905773c940a3
Reviewed-on: https://chromium-review.googlesource.com/675732
Reviewed-by: Joshua Peraza <jperaza@chromium.org>

bddcc58 2017-09-20 20:50:04 Mark Mentovai

Replace remaining references to 'struct ucontext' with 'ucontext_t'

This relands
which was accidentally committed to breakpad/breakpad/src, the read-only
mirror of src in breakpad/breakpad. (Well, it should have been
read-only.) See https://crbug.com/766164.

This fixes issues with glibc-2.26.

See https://bugs.gentoo.org/show_bug.cgi?id=628782 ,
https://sourceware.org/git/?p=glibc.git;h=251287734e89a52da3db682a8241eb6bccc050c9 , and
https://sourceware.org/ml/libc-alpha/2017-08/msg00010.html for context.
Change-Id: Id66f474d636dd2afa450bab925c5514a800fdd6f
Reviewed-on: https://chromium-review.googlesource.com/674304
Reviewed-by: Mark Mentovai <mark@chromium.org>

491f174 2017-09-20 05:51:42 Mark Mentovai

Fix googletest/googlemock build

1. testing.gyp is a gyp file, not a gypi file. It is only referenced in
“dependencies” sections. The gypi extension is used for files that are
included by an “includes” section.

2. Update paths in testing.gyp to reflect the real locations of
googletest and googlemock following their merge into a single

Change-Id: If9c356d93aa5ffda54af46fbed648baa2274dac6
Reviewed-on: https://chromium-review.googlesource.com/673404
Reviewed-by: Mike Frysinger <vapier@chromium.org>

afa9c52 2017-09-18 23:00:44 Mark Mentovai

android: Don’t compete with NDK API >= 21 over NDK structures

Chrome uses API 16 for 32-bit builds and API 21 for 64-bit builds. The
NDK’s <link.h> provides r_debug and link_map structure definitions only
at API 21 and above. Breakpad used a custom <link.h> to define these
structures only during 64-bit builds, which worked for Chrome’s
purposes. However, other consumers may wish to build Breakpad at
arbitrary API levels without regard to bitness. This alters Breakpad’s
custom <link.h> to correctly check the NDK API level rather than target
CPU bitness.

Likewise for <sys/user.h> on 32-bit x86, which provided a typedef for
user_fpxregs_struct to user_fxsr_struct. API 21 and above, as well as
the unified headers at any API level, always name the structure

Definitions for 64-bit ARM’s user_regs_struct and user_fpsimd_struct
have been removed from Breakpad’s copy of <sys/user.h>. The header
claims that these fallback definitions are only necessary with NDK r10,
which should no longer be in use even by Chromium, which now uses NDK
r12b. This removes the Chromium-specific ANDROID_NDK_MAJOR_VERSION macro
from use entirely.

Fixes https://stackoverflow.com/questions/44141159/ and b/65630828.

Bug: google-breakpad:733
Change-Id: I5841906297cd15b15ce48b73fd8332fd40afc9a0
Reviewed-on: https://chromium-review.googlesource.com/665740
Reviewed-by: Primiano Tucci <primiano@chromium.org>
Reviewed-by: Joshua Peraza <jperaza@chromium.org>

dea867e 2017-09-15 05:54:34 Tobias Sargeant

Add new test data to Makefile.am

This should have been done as part of 2b3be5

Bug: google-breakpad:746
Change-Id: I7eae33166cff238d72293e659abc90e724b365dc
Reviewed-on: https://chromium-review.googlesource.com/667102
Reviewed-by: Mike Frysinger <vapier@chromium.org>

6a49764 2017-09-14 08:38:29 Mike Frysinger

drop bundled gflags from the checkout

The only code using gflags is google_crash_report_sender, and nothing
builds or tests that code currently. Switch it over to using system
versions of gflags so we can drop the local prebuilts. Tested local
builds by hand of the tool.

Bug: google-breakpad:360
Change-Id: I75d79b176468c948773079a54d87e70709feaf87
Reviewed-on: https://chromium-review.googlesource.com/665799
Reviewed-by: Mark Mentovai <mark@chromium.org>

Show on old repository browser