breakpad/src
jimblandy 5e4f6feaf6 Breakpad DWARF: Add support for DWARF 4 attribute forms.
This patch allows Breakpad's DWARF reader to at least read or skip
attributes using the new forms defined in version 4 of the DWARF
specification, instead of crashing.

Attributes encoded using DW_FORM_flag_present, DW_FORM_sec_offset, and
DW_FORM_exprloc should work fine now. However, compilation units using
DW_FORM_ref_sig8 to refer to types in .debug_types will need further work
to support. (GCC 4.6.2 does not emit .debug_types sections.)

Specifically:

- dwarf2reader::DwarfForm gets new values.
- dwarf2reader::Dwarf2Handler and dwarf2reader::DIEHandler get new handler
  methods, named ProcessAttributeSignature, for DW_FORM_ref_sig8 attributes.
- dwarf2reader::CompilationUnit reads DW_FORM_ref_sig8 attributes, and
  passes them to ProcessAttributeSignature. It also gets support for
  DW_FORM_sec_offset, DW_FORM_exprloc, and DW_FORM_flag_present, using the
  existing appropriate ProcessAttribute* methods.
- dwarf2reader::DIEDispatcher passes through ProcessAttributeSignature
  attributes to its DIEHandler.
- Unit tests are updated.

a=jimb, r=ted.mielczarek
Review URL: http://breakpad.appspot.com/343003/


git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@912 4c0a9323-5329-0410-9bdc-e9ce6186880e
2012-02-01 15:01:54 +00:00
..
client Fix test addresses to use uintptr_t instead of u_int64_t. 2012-01-27 05:23:23 +00:00
common Breakpad DWARF: Add support for DWARF 4 attribute forms. 2012-02-01 15:01:54 +00:00
google_breakpad Use frame pointer to walk ARM stack on iOS. 2011-10-17 13:42:35 +00:00
processor Clear error state flags in binarystream::rewind(). 2012-01-09 19:43:11 +00:00
third_party Adding svn:ignore properties for .deps and .dirstamp 2011-10-06 13:24:35 +00:00
tools Implement core dump to minidump conversion. 2012-01-19 07:14:51 +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 Remove NetworkSourceLine{Resolver,Server} and related code. It never wound up being useful enough to use in production, so let's drop the maintenence burden 2011-07-07 20:53:52 +00:00