History log of /external/google-breakpad/src/client/linux/microdump_writer/microdump_writer.cc
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
637cbce19f3a5bb6d951e13d8d494ac168437372 10-Mar-2015 primiano@chromium.org <primiano@chromium.org@4c0a9323-5329-0410-9bdc-e9ce6186880e> Microdump writer: stop using new/malloc in compromised context

A recent change in the client-side microdump write (r1404) ended up
introducing a call to new() to instantiate the line buffer that
microdump uses to dump its lines. new/malloc is a luxury we cannot
afford in a compromised context.
This change switches the line buffer to be backed by the dumper
page allocator, which on Linux/Android ends up requesting pages
via mmap.
Also, the microdump write bails out without crashing if the page
allocator failed (crash during severe OOM).

BUG=640

git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@1432 4c0a9323-5329-0410-9bdc-e9ce6186880e
/external/google-breakpad/src/client/linux/microdump_writer/microdump_writer.cc
2aa2e9728b4960b0c7ef6898d06a57679a3b6292 02-Dec-2014 primiano@chromium.org <primiano@chromium.org@4c0a9323-5329-0410-9bdc-e9ce6186880e> Microdumps: support aarch64 and lib mapping from APK

- Filter modules by prot flags (only +x) not extensions. It wouldn't
otherwise catch the case of Chrome mapping the library from the
apk (which is mapped r-x but doesn't end in .so).
- Use compile-time detection of target arch, in order to cope with
multilib OSes, where uname() doesn't reflect the run-time arch.
- Add OS information and CPU arch / count.
- Add support for aarch64.
- Add tests and stackwalk expectations for aarch64.
- Fix a potential overflow bug in the processor.
- Rebaseline the tests using smaller symbols.
- Fix microdump_writer_unittest.cc on 32-bit host.

BUG=chromium:410294

git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@1407 4c0a9323-5329-0410-9bdc-e9ce6186880e
/external/google-breakpad/src/client/linux/microdump_writer/microdump_writer.cc
3bad5e68a6cb0e8c9dbd7afebbd6921409ca9852 25-Nov-2014 primiano@chromium.org <primiano@chromium.org@4c0a9323-5329-0410-9bdc-e9ce6186880e> Fix microdump_writer and add unittest.

This adds some small fixes to the microdump writer and introduces
a unittest.

BUG=chromium:410294
R=mmandlis@chromium.org

Review URL: https://breakpad.appspot.com/2814002

git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@1404 4c0a9323-5329-0410-9bdc-e9ce6186880e
/external/google-breakpad/src/client/linux/microdump_writer/microdump_writer.cc
03d36567efefa6d833cb4b15f2ea6f97b040ea85 28-Oct-2014 primiano@chromium.org <primiano@chromium.org@4c0a9323-5329-0410-9bdc-e9ce6186880e> Introduce microdump writer class.

Microdumps are a very lightweight variant of minidumps. They are meant
to dump a minimal crash report on the system log (logcat on Android),
containing only the state of the crashing thread.
This is to deal with cases where the user has opted out from crash
uploading but we still want to generate meaningful information on the
device to pull a stacktrace for development purposes.
Conversely to conventional stack traces (e.g. the one generated by
Android's debuggerd or Chromium's base::stacktrace) microdumps do NOT
require unwind tables to be present in the target binary. This allows
to save precious binary size (~1.5 MB for Chrome on Arm, ~10 MB on
arm64).
More information and design doc on crbug.com/410294

BUG=chromium:410294

git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@1398 4c0a9323-5329-0410-9bdc-e9ce6186880e
/external/google-breakpad/src/client/linux/microdump_writer/microdump_writer.cc