summaryrefslogtreecommitdiffstats
path: root/build
diff options
context:
space:
mode:
authorprimiano <primiano@chromium.org>2014-11-25 04:34:09 -0800
committerCommit bot <commit-bot@chromium.org>2014-11-25 12:34:30 +0000
commita452216018d53897ccb9e2c3b6e3cb3d63551f16 (patch)
tree3067ed50185b2a3bcd104239f21ce6c2e2bbc74b /build
parent666394a3af345102449976dad925dec2b60ac291 (diff)
downloadchromium_src-a452216018d53897ccb9e2c3b6e3cb3d63551f16.zip
chromium_src-a452216018d53897ccb9e2c3b6e3cb3d63551f16.tar.gz
chromium_src-a452216018d53897ccb9e2c3b6e3cb3d63551f16.tar.bz2
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}
Diffstat (limited to 'build')
-rw-r--r--build/common.gypi2
1 files changed, 2 insertions, 0 deletions
diff --git a/build/common.gypi b/build/common.gypi
index 4ee9e9a..db6edbb6 100644
--- a/build/common.gypi
+++ b/build/common.gypi
@@ -3633,6 +3633,7 @@
'cflags': ['-funwind-tables'],
}, {
'cflags': ['-fno-unwind-tables', '-fno-asynchronous-unwind-tables'],
+ 'defines': ['NO_UNWIND_TABLES'],
}],
# TODO(mostynb): shuffle clang/gcc_version/binutils_version
# definitions in to the right scope to use them when setting
@@ -3714,6 +3715,7 @@
'cflags': ['-funwind-tables'],
}, {
'cflags': ['-fno-unwind-tables', '-fno-asynchronous-unwind-tables'],
+ 'defines': ['NO_UNWIND_TABLES'],
}],
],
},