diff options
author | Mark Mentovai <mark@chromium.org> | 2019-08-07 12:42:38 -0400 |
---|---|---|
committer | Mark Mentovai <mark@chromium.org> | 2019-08-07 16:43:11 +0000 |
commit | 01dfa81f1b4becb157ed9ccc9277f6eac1de67e3 (patch) | |
tree | 64ab22305a380877c9fb4422b4de35122867643d /src/common/dwarf | |
parent | string_conversion: fix pointer math (diff) | |
download | breakpad-01dfa81f1b4becb157ed9ccc9277f6eac1de67e3.tar.xz |
Mac dump_syms: accept __DWARF segment without __debug_info section
A .dSYM may validly contain a __DWARF segment without any __debug_info
section. This can occur for Chromium Framework in a component build of
Chromium, because in that case, all of the code is in other libraries
that Chromium Framework depends on.
This was previously tested by an assertion, but the assertion did not
trigger in NDEBUG (release) builds. In NDEBUG builds, this condition
would lead to an out-of-bounds read, detected by AddressSanitizer.
Instead of an assertion, the check is now always done at runtime.
Instead of being fatal, it's now just a warning, because it's been
established that __DWARF without __debug_info can occur.
(In the Chromium case, it remains pointless to run dump_syms via the
"chrome_dump_syms" target on a component build, as it'll only attempt to
symbolize Chromium Framework, and not any of the libraries that Chromium
Framework depends on that actually contain the code.)
Bug: chromium:991206
Change-Id: I6c9c75f0be7901813e3eaae54aff38c1afe73ca9
Reviewed-on: https://chromium-review.googlesource.com/c/breakpad/breakpad/+/1741610
Reviewed-by: Robert Sesek <rsesek@chromium.org>
Diffstat (limited to 'src/common/dwarf')
0 files changed, 0 insertions, 0 deletions