breakpad/src
jimblandy 841ad48a37 Breakpad Linux symbol dumper: Handle programs linked with --gc-sections.
As explained in the code:

Given the right options, the GNU toolchain will omit unreferenced
functions from the final executable. Unfortunately, when it does so,
it does not remove the associated portions of the line number program;
instead, it lets the symbol references in the DW_LNE_set_address
instructions pointing to the now-deleted code resolve to zero. Given
this input, the DWARF line parser will call AddLine with a series of
lines starting at address zero.

Rather than collecting series of lines describing code that is not
there, we should drop them. Since the linker doesn't explicitly
distinguish references to dropped sections from genuine references to
zero, we must use a heuristic. We have chosen:

 - If a line starts at address zero, omit it. (On the platforms
   breakpad targets, it is extremely unlikely that there will be code
   at address zero.)

 - If a line starts immediately after an omitted line, omit it too.

a=jimblandy, r=nealsid


git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@538 4c0a9323-5329-0410-9bdc-e9ce6186880e
2010-02-24 22:36:20 +00:00
..
client Breakpad: Update copyright notice years on all files changed in 2010. 2010-02-09 17:08:56 +00:00
common Breakpad Linux symbol dumper: Handle programs linked with --gc-sections. 2010-02-24 22:36:20 +00:00
google_breakpad Breakpad: Update copyright notice years on all files changed in 2010. 2010-02-09 17:08:56 +00:00
processor Breakpad processor: Support negative literals in the postfix evaluator. 2010-02-24 19:17:54 +00:00
third_party/linux New uploader for Linux with unit tests, and gflags/glog libraries 2009-09-29 21:55:19 +00:00
tools Linux DWARF reader: Follow DW_AT_abstract_origin links to find function names. 2010-02-10 17:55:24 +00:00
breakpad_googletest_includes.h Add more error information to minidump processing return code. Also added dependency on google test, and modified minidump processing unit tests to use google test 2009-05-29 00:53:02 +00:00
config.h.in Make build system less annoying (#8) r=bryner 2006-08-30 20:05:05 +00:00