1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-11-22 18:54:02 +01:00
llvm-mirror/lib/DebugInfo/CodeView
Alexandre Ganea 685f5dc624 [CodeView] Align type records on 4-bytes when emitting PDBs
When emitting PDBs, the TypeStreamMerger class is used to merge .debug$T records from the input .OBJ files into the output .PDB stream.
Records in .OBJs are not required to be aligned on 4-bytes, and "The Netwide Assembler 2.14" generates non-aligned records.

When compiling with -DLLVM_ENABLE_ASSERTIONS=ON, an assert was triggered in MergingTypeTableBuilder when non-ghash merging was used.
With ghash merging there was no assert.
As a result, LLD could potentially generate a non-aligned TPI stream.

We now align records on 4-bytes when record indices are remapped, in TypeStreamMerger::remapIndices().

Differential Revision: https://reviews.llvm.org/D75081
2020-03-13 12:22:19 -04:00
..
AppendingTypeTableBuilder.cpp
CMakeLists.txt
CodeViewError.cpp
CodeViewRecordIO.cpp [MCStreamer] De-capitalize EmitValue EmitIntValue{,InHex} 2020-02-14 23:08:40 -08:00
ContinuationRecordBuilder.cpp
CVSymbolVisitor.cpp
CVTypeVisitor.cpp
DebugChecksumsSubsection.cpp
DebugCrossExSubsection.cpp
DebugCrossImpSubsection.cpp
DebugFrameDataSubsection.cpp
DebugInlineeLinesSubsection.cpp
DebugLinesSubsection.cpp
DebugStringTableSubsection.cpp Revert "Remove redundant "std::move"s in return statements" 2020-02-10 07:07:40 -08:00
DebugSubsection.cpp
DebugSubsectionRecord.cpp
DebugSubsectionVisitor.cpp
DebugSymbolRVASubsection.cpp
DebugSymbolsSubsection.cpp
EnumTables.cpp
Formatters.cpp
GlobalTypeTableBuilder.cpp
LazyRandomTypeCollection.cpp
Line.cpp
LLVMBuild.txt
MergingTypeTableBuilder.cpp [CodeView] Align type records on 4-bytes when emitting PDBs 2020-03-13 12:22:19 -04:00
RecordName.cpp Make llvm::StringRef to std::string conversions explicit. 2020-01-28 23:25:25 +01:00
RecordSerialization.cpp
SimpleTypeSerializer.cpp [codeview] Prune SimpleTypeSerializer.h headers, NFC 2020-01-24 16:07:36 -08:00
StringsAndChecksums.cpp
SymbolDumper.cpp
SymbolRecordHelpers.cpp
SymbolRecordMapping.cpp
SymbolSerializer.cpp
TypeDumpVisitor.cpp
TypeHashing.cpp
TypeIndex.cpp
TypeIndexDiscovery.cpp
TypeRecordHelpers.cpp
TypeRecordMapping.cpp Make llvm::StringRef to std::string conversions explicit. 2020-01-28 23:25:25 +01:00
TypeStreamMerger.cpp [CodeView] Align type records on 4-bytes when emitting PDBs 2020-03-13 12:22:19 -04:00
TypeTableCollection.cpp