llvm-project/llvm/lib/DebugInfo/PDB/Raw
Bob Haarman a5b4358956 [pdb] handle missing pdb streams more gracefully
Summary: The code we use to read PDBs assumed that streams we ask it to read exist, and would read memory outside a vector and crash if this wasn't the case. This would, for example, cause llvm-pdbdump to crash on PDBs generated by lld. This patch handles such cases more gracefully: the PDB reading code in LLVM now reports errors when asked to get a stream that is not present, and llvm-pdbdump will report missing streams and continue processing streams that are present.

Reviewers: ruiu, zturner

Subscribers: thakis, amccarth

Differential Revision: https://reviews.llvm.org/D27325

llvm-svn: 288722
2016-12-05 22:44:00 +00:00
..
DbiStream.cpp [DebugInfo] Fix some Clang-tidy modernize-use-default and Include What You Use warnings; other minor fixes (NFC). 2016-11-23 23:16:32 +00:00
DbiStreamBuilder.cpp Remove PDBFileBuilder::build() and related functions. 2016-11-22 20:32:22 +00:00
EnumTables.cpp [pdb] Parse and dump section map and section contribs 2016-06-02 05:07:49 +00:00
GSI.cpp [pdb] added support for dumping globals stream 2016-10-21 19:43:19 +00:00
GSI.h [pdb] added support for dumping globals stream 2016-10-21 19:43:19 +00:00
GlobalsStream.cpp [DebugInfo] Fix some Clang-tidy modernize-use-default and Include What You Use warnings; other minor fixes (NFC). 2016-11-23 23:16:32 +00:00
Hash.cpp Implement pdb::hashBufferV8 hash function. 2016-06-16 13:48:16 +00:00
InfoStream.cpp [msf] Resubmit "Rename Msf -> MSF". 2016-07-29 20:56:36 +00:00
InfoStreamBuilder.cpp Remove PDBFileBuilder::build() and related functions. 2016-11-22 20:32:22 +00:00
ModInfo.cpp [DebugInfo] Fix some Clang-tidy modernize-use-default and Include What You Use warnings; other minor fixes (NFC). 2016-11-23 23:16:32 +00:00
ModStream.cpp [DebugInfo] Fix some Clang-tidy modernize-use-default and Include What You Use warnings; other minor fixes (NFC). 2016-11-23 23:16:32 +00:00
NameHashTable.cpp [msf] Resubmit "Rename Msf -> MSF". 2016-07-29 20:56:36 +00:00
NameMap.cpp [DebugInfo] Fix some Clang-tidy modernize-use-default and Include What You Use warnings; other minor fixes (NFC). 2016-11-23 23:16:32 +00:00
NameMapBuilder.cpp [DebugInfo] Fix some Clang-tidy modernize-use-default and Include What You Use warnings; other minor fixes (NFC). 2016-11-23 23:16:32 +00:00
PDBFile.cpp [pdb] handle missing pdb streams more gracefully 2016-12-05 22:44:00 +00:00
PDBFileBuilder.cpp Remove PDBFileBuilder::build() and related functions. 2016-11-22 20:32:22 +00:00
PublicsStream.cpp [DebugInfo] Fix some Clang-tidy modernize-use-default and Include What You Use warnings; other minor fixes (NFC). 2016-11-23 23:16:32 +00:00
RawError.cpp Remove LLVM_NOEXCEPT and replace it with noexcept 2016-10-19 23:52:38 +00:00
RawSession.cpp [DebugInfo] Fix some Clang-tidy modernize-use-default and Include What You Use warnings; other minor fixes (NFC). 2016-11-23 23:16:32 +00:00
SymbolStream.cpp [msf] Resubmit "Rename Msf -> MSF". 2016-07-29 20:56:36 +00:00
TpiHashing.cpp [pdb] Get rid of Data and RawData in CVType. 2016-09-14 23:00:16 +00:00
TpiStream.cpp [DebugInfo] Fix some Clang-tidy modernize-use-default and Include What You Use warnings; other minor fixes (NFC). 2016-11-23 23:16:32 +00:00
TpiStreamBuilder.cpp [DebugInfo] Fix some Clang-tidy modernize-use-default and Include What You Use warnings; other minor fixes (NFC). 2016-11-23 23:16:32 +00:00