breakpad/src/common
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
..
dwarf Breakpad DWARF: Add support for DWARF 4 attribute forms. 2012-02-01 15:01:54 +00:00
linux Change some functions in linux_libc_support.h to use intmax_t instead of int. 2012-01-27 12:51:07 +00:00
mac Correct compilation warning. 2011-11-23 14:22:05 +00:00
solaris Breakpad: Update copyright notice years on all files changed in 2010. 2010-02-09 17:08:56 +00:00
testdata Breakpad Linux dumper: Make StabsReader independent of endianness and word size. 2010-05-05 17:09:20 +00:00
tests Add utilities for processing Linux core dump files. 2012-01-07 02:25:22 +00:00
windows Fixed message about unregistered msdia*dll. Builds with different DiaSDK need different dll. 2011-04-26 20:52:48 +00:00
basictypes.h Refactor code in preparation of merging with the fork in Chromium OS. 2011-12-16 16:42:59 +00:00
byte_cursor.h Breakpad symbol dumper: Define the ByteBuffer and ByteCursor classes. 2010-05-05 17:07:23 +00:00
byte_cursor_unittest.cc Breakpad symbol dumper: Define the ByteBuffer and ByteCursor classes. 2010-05-05 17:07:23 +00:00
convert_UTF.c Add unicode.org UTF-8/16/32 conversion code. 2006-12-15 00:03:27 +00:00
convert_UTF.h Add unicode.org UTF-8/16/32 conversion code. 2006-12-15 00:03:27 +00:00
dwarf_cfi_to_module.cc Fix harmless warning in dwarf_cfi_to_module.cc. 2011-10-11 17:38:35 +00:00
dwarf_cfi_to_module.h Breakpad Linux/Mac symbol dumper: Share duplicate strings that arise in DWARF data. 2010-07-17 15:14:30 +00:00
dwarf_cfi_to_module_unittest.cc Add includes for unittests that appear to need them. 2011-10-17 19:08:31 +00:00
dwarf_cu_to_module.cc Add some unit tests for Linux WriteSymbolFile 2011-07-06 17:05:59 +00:00
dwarf_cu_to_module.h Fix some comments and parameter names. 2011-11-23 23:03:30 +00:00
dwarf_cu_to_module_unittest.cc Fix some comments and parameter names. 2011-11-23 23:03:30 +00:00
dwarf_line_to_module.cc Remove "using namespace std" from dwarf2reader.h. Using-directives are 2011-10-11 17:59:03 +00:00
dwarf_line_to_module.h Breakpad symbol dumper: Move Linux dumping classes into src/common. 2010-04-05 19:40:17 +00:00
dwarf_line_to_module_unittest.cc Add includes for unittests that appear to need them. 2011-10-17 19:08:31 +00:00
language.cc Upstream fix for compiling of breakpad with gcc-4.6. Remove an unnecessary 2011-10-22 16:57:10 +00:00
language.h Breakpad symbol dumper: Move Linux dumping classes into src/common. 2010-04-05 19:40:17 +00:00
md5.cc Rename md5.c to md5.cc, put its contents inside the google_breakpad namespace. 2011-11-18 21:40:27 +00:00
md5.h Rename md5.c to md5.cc, put its contents inside the google_breakpad namespace. 2011-11-18 21:40:27 +00:00
memory.h Refactor LinuxDumper and MinidumpWriter. 2012-01-11 01:31:35 +00:00
memory_range.h Replace MMappedRange with MinidumpMemoryRange. 2011-12-21 22:33:21 +00:00
memory_range_unittest.cc Refactor code in preparation of merging with the fork in Chromium OS. 2011-12-16 16:42:59 +00:00
memory_unittest.cc Refactor LinuxDumper and MinidumpWriter. 2012-01-11 01:31:35 +00:00
module.cc Linux/Mac: Add option to omit the CFI section in dump_syms. 2011-09-14 01:02:55 +00:00
module.h Linux/Mac: Add option to omit the CFI section in dump_syms. 2011-09-14 01:02:55 +00:00
module_unittest.cc Linux/Mac: Add option to omit the CFI section in dump_syms. 2011-09-14 01:02:55 +00:00
stabs_reader.cc Fix some shadow variables, including one in file_id.cc that causes all files to generate the same hash. Add a test to make sure this doesn't happen again. 2011-10-20 18:23:01 +00:00
stabs_reader.h Put PUBLIC lines in Mac symbol files. 2011-03-04 16:08:39 +00:00
stabs_reader_unittest.cc Put PUBLIC lines in Mac symbol files. 2011-03-04 16:08:39 +00:00
stabs_to_module.cc Add some unit tests for Linux WriteSymbolFile 2011-07-06 17:05:59 +00:00
stabs_to_module.h Put PUBLIC lines in Mac symbol files. 2011-03-04 16:08:39 +00:00
stabs_to_module_unittest.cc Put PUBLIC lines in Mac symbol files. 2011-03-04 16:08:39 +00:00
string_conversion.cc Clean up build for 64 bit. 2010-07-19 20:43:49 +00:00
string_conversion.h Solaris port of minidump generator. Port by Alfred Peng. r=me 2007-08-07 21:16:45 +00:00
test_assembler.cc review: http://breakpad.appspot.com/138001 2010-07-29 05:25:43 +00:00
test_assembler.h Breakpad Mac symbol dumper: Add new Mach-O reader class. 2010-06-25 16:56:16 +00:00
test_assembler_unittest.cc Clean up build for 64 bit. 2010-07-19 20:43:49 +00:00