Mirror of Google Breakpad project
Go to file
jimblandy 775c6f7640 Breakpad Linux dumper: Handle STABS-in-symbol-table, and line number records outside functions.
This patch addresses two differences between Linux and Macintosh OS X STABS
data:

- StabsReader assumes that the STABS entries follow the conventions for
  storing STABS data in object file sections (that is, .stabs and
  .stabstr), rather than in the object files's linker symbol table. On Mac
  OS X, STABS entries live in the Mach-O file's LC_SYMTAB load command,
  along with all the other linker symbols; they are not grouped into units
  by N_UNDF entries.

  This patch adds a boolean argument to the StabsReader constructor
  indicating whether the parser should treat N_UNDF entries as unit
  boundaries; this argument should be true on Linux, and false on Mac. The
  patch changes src/common/linux/dump_symbols.cc to pass this new argument.

- Mac OS X STABS place SLINE (line number) records immediately before the
  FUN record for the function to which they belong, and the values of such
  records are absolute, not relative to the function start.

  This patch extends the parser to queue up such records and report them to
  the handler when we do see the FUN record. The meaning of
  StabsHandler::Line remains unchanged; existing handlers do not need to be
  adjusted.

This patch also adds unit tests for the new parser behaviors.

a=jimblandy, r=mark


git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@587 4c0a9323-5329-0410-9bdc-e9ce6186880e
2010-05-05 17:34:19 +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
m4 ARM support, with some build system changes to support x86-64, arm, and i386 in an autoconf style build in Linux. The O2 build for the unit tests is still broken but I'm checking this in to unblock people 2010-03-02 00:39:48 +00:00
src Breakpad Linux dumper: Handle STABS-in-symbol-table, and line number records outside functions. 2010-05-05 17:34:19 +00:00
aclocal.m4 provide a network source line resolver + server. r=mark,jimb at http://breakpad.appspot.com/36001 2010-04-08 23:06:23 +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 provide a network source line resolver + server. r=mark,jimb at http://breakpad.appspot.com/36001 2010-04-08 23:06:23 +00:00
configure.ac provide a network source line resolver + server. r=mark,jimb at http://breakpad.appspot.com/36001 2010-04-08 23:06:23 +00:00
COPYING Relicense to BSD (#29). r=bryner 2006-09-20 21:16:16 +00:00
DEPS Replacing solutions with gyp files. Moving tests for windows clients in unittests. 2010-05-03 20:21:40 +00:00
INSTALL Add logging to minidump processor (#82). First part: logging infrastructure 2007-05-17 18:34:37 +00:00
Makefile.am Breakpad test support: Move test_assembler.{h,cc} from src/processor to src/common. 2010-04-27 19:17:59 +00:00
Makefile.in Breakpad test support: Move test_assembler.{h,cc} from src/processor to src/common. 2010-04-27 19:17:59 +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.