Mirror of Google Breakpad project
Go to file
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
autotools Regenerate using automake-1.11.1, autoconf 2.65, and libtool 2.2.6b, 2010-02-02 17:39:51 +00:00
src Breakpad Linux symbol dumper: Handle programs linked with --gc-sections. 2010-02-24 22:36:20 +00:00
aclocal.m4 Regenerate using automake-1.11.1, autoconf 2.65, and libtool 2.2.6b, 2010-02-02 17:39:51 +00:00
AUTHORS Make build system less annoying (#8) r=bryner 2006-08-30 20:05:05 +00:00
ChangeLog Initial import, which includes the Windows client-side dump_syms tool, and 2006-08-25 21:14:45 +00:00
configure Regenerate using automake-1.11.1, autoconf 2.65, and libtool 2.2.6b, 2010-02-02 17:39:51 +00:00
configure.ac Breakpad: Require Automake 1.11.1. 2010-02-11 19:31:48 +00:00
COPYING Relicense to BSD (#29). r=bryner 2006-09-20 21:16:16 +00:00
INSTALL Add logging to minidump processor (#82). First part: logging infrastructure 2007-05-17 18:34:37 +00:00
Makefile.am Issue 49012: Breakpad Processor: Rename 'StackFrameInfo' structure to 'WindowsFrameInfo'. 2009-12-23 22:32:14 +00:00
Makefile.in Breakpad: Require Automake 1.11.1. 2010-02-11 19:31:48 +00:00
NEWS Initial import, which includes the Windows client-side dump_syms tool, and 2006-08-25 21:14:45 +00:00
README Rename Airbag to Breakpad. 2007-02-14 19:51:05 +00:00

Breakpad is a set of client and server components which implement a
crash-reporting system.