mirror of
https://github.com/yuzu-emu/breakpad.git
synced 2025-11-12 08:14:55 +00:00
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 |
||
|---|---|---|
| .. | ||
| bytereader-inl.h | ||
| bytereader.cc | ||
| bytereader.h | ||
| bytereader_unittest.cc | ||
| cfi_assembler.cc | ||
| cfi_assembler.h | ||
| dwarf2diehandler.cc | ||
| dwarf2diehandler.h | ||
| dwarf2diehandler_unittest.cc | ||
| dwarf2enums.h | ||
| dwarf2reader.cc | ||
| dwarf2reader.h | ||
| dwarf2reader_cfi_unittest.cc | ||
| dwarf2reader_die_unittest.cc | ||
| dwarf2reader_test_common.h | ||
| functioninfo.cc | ||
| functioninfo.h | ||
| line_state_machine.h | ||
| types.h | ||