Roll Breakpad r1397:r1404 and enable Android microdump crash handler.
commita452216018d53897ccb9e2c3b6e3cb3d63551f16
authorprimiano <primiano@chromium.org>
Tue, 25 Nov 2014 12:34:09 +0000 (25 04:34 -0800)
committerCommit bot <commit-bot@chromium.org>
Tue, 25 Nov 2014 12:34:30 +0000 (25 12:34 +0000)
tree3067ed50185b2a3bcd104239f21ce6c2e2bbc74b
parent666394a3af345102449976dad925dec2b60ac291
Roll Breakpad r1397:r1404 and enable Android microdump crash handler.

On official releases, Chrome for Android omits unwind tables to save
some precious binary size (~1.5M on arm, ~10M on arm64). This, however,
causes information loss on the stack traces generated on the device
(logcat, tombstones, debuggerd and generally everything != breakpad).
This CL solves this problem by enabling breakpad micro crash dumps
when unwind tables are stripped out.
Microdumps have been recently introduced in breakpad and, in the very
essence, are a reduced version of minidumps which can be dumped out
directly on a text console (logcat on Android).
By dumping microdumps into logcat, bug reports will keep having enough
information to be able to reconstruct the stack trace of the crashing
thread, without needing unwind tables.
Conversely to minidump, microdumps are NOT uploaded anywhere and just
live in the logcat / tombstones. Furthermore, in order to avoid
intefering with the conventional breakpad crash reporting, (when
enabled) the microdump crash handler is registered as secondary handler
and it is run after the breakpad minidump one.

This change also roll breakpad/src into DEPS to catch:
r1398 Introduce microdump writer class.
r1399 Fix Windows client compilation on mingw.
r1400 Read dynamic symbols table even if binary contains debug info
r1401 Fix UMR and potential crash in Mac dump_syms.
r1402 Add parameter --product to symupload.exe
r1403 Microdump processing implementation
r1404 Fix microdump_writer and add unittest.

BUG=410294

Review URL: https://codereview.chromium.org/689923003

Cr-Commit-Position: refs/heads/master@{#305623}
DEPS
breakpad/BUILD.gn
breakpad/breakpad.gyp
build/common.gypi
components/crash/app/breakpad_linux.cc