llvm-project/llvm/tools/dsymutil
Alexey Samsonov 7a18c06128 [DWARF parser] Make DWARF parser more robust against missing compile/type units.
DWARF standard claims that each compilation/type unit header in
.debug_info/.debug_types section must be followed by corresponding
compile/type unit DIE, possibly with its children. Two situations
are possible:

 * compile/type unit DIE is missing because DWARF producer failed to
   emit it.
 * DWARF parser failed to parse unit DIE correctly, for instance if it
   contains some unsupported attributes (see r237721, for instance).

In either of these cases, the library, and the tools that use it
(llvm-dwarfdump, llvm-symbolizer) should not crash. Insert appropriate
checks to protect against this.

llvm-svn: 237733
2015-05-19 21:54:32 +00:00
..
BinaryHolder.cpp [dsymutil] Implement the BinaryHolder object and gain archive support. 2015-01-05 21:29:28 +00:00
BinaryHolder.h [dsymutil] Implement the BinaryHolder object and gain archive support. 2015-01-05 21:29:28 +00:00
CMakeLists.txt [dsymutil] Add the DwarfStreamer class. 2015-02-28 00:29:11 +00:00
DebugMap.cpp [dsymutil] Add function size to the debug map. 2015-03-15 01:29:30 +00:00
DebugMap.h [dsymutil] Add an way to iterate over a DebugMapObject symbols. 2015-03-15 02:02:53 +00:00
DwarfLinker.cpp [DWARF parser] Make DWARF parser more robust against missing compile/type units. 2015-05-19 21:54:32 +00:00
LLVMBuild.txt [dsymutil] Add the DwarfStreamer class. 2015-02-28 00:29:11 +00:00
MachODebugMapParser.cpp [dsymutil] Add function size to the debug map. 2015-03-15 01:29:30 +00:00
Makefile [dsymutil] Add the DwarfStreamer class. 2015-02-28 00:29:11 +00:00
dsymutil.cpp [dsymutil] Add the DwarfStreamer class. 2015-02-28 00:29:11 +00:00
dsymutil.h [dsymutil] Add the DwarfStreamer class. 2015-02-28 00:29:11 +00:00