diff options
author | Mike Frysinger <vapier@chromium.org> | 2019-03-02 02:02:12 -0500 |
---|---|---|
committer | Mike Frysinger <vapier@chromium.org> | 2019-03-03 17:39:36 +0000 |
commit | 59d89be2d67621d818879701dcf8cfcb3291520f (patch) | |
tree | b5abd0507633637d57efff6a884f292296eba805 /src/tools/solaris/dump_syms/testdata | |
parent | Replace TYPED_TEST_CASE with TYPED_TEST_SUITE. (diff) | |
download | breakpad-59d89be2d67621d818879701dcf8cfcb3291520f.tar.xz |
linux_core_dumper: support NT_SIGINFO for reading crashing address
The current core dumper only parses NT_PRSTATUS notes. With signal
details, this note only includes three fields: signo, code, and errno.
We set exception_code to signo and exception_flag to code. The errno
value isn't set by the kernel, so there's no need to save it.
However, we never fill in exception_address which means all converted
crashes look like they happen at address 0. This implies a NULL jump
which is usually not the case, so it's just confusing. The prstatus
structure doesn't offer anything directly that tracks this.
Starting with linux-3.7, the kernel writes out the full siginfo
structure in the NT_SIGINFO note. So lets support that to pull out
si_addr which, for a bunch of common signals, is the value we want in
exception_address.
The size of the siginfo_t structure should be locked to 128 bytes at
build time for all architectures, so this should hopefully be stable.
Bug: google-breakpad:790
Change-Id: I458bad4787b1a8b73fad8fe068e9f23bec957599
Reviewed-on: https://chromium-review.googlesource.com/c/1497661
Reviewed-by: Mark Mentovai <mark@chromium.org>
Diffstat (limited to 'src/tools/solaris/dump_syms/testdata')
0 files changed, 0 insertions, 0 deletions