Reland "[PDB] Defer relocating .debug$S until commit time and parallelize it"
authorReid Kleckner <rnk@google.com>
Wed, 20 Jan 2021 19:46:05 +0000 (11:46 -0800)
committerReid Kleckner <rnk@google.com>
Wed, 20 Jan 2021 19:53:43 +0000 (11:53 -0800)
commit1a9bd5b81328adf0dd5a8b4f3ad5949463e66da3
treec6a15bb5b5fca215e7727230fc9d259e403ff917
parentc075572646a9bd71ac675e20f3d75101ae7dd090
Reland "[PDB] Defer relocating .debug$S until commit time and parallelize it"

This reverts commit 5b7aef6eb4b2930971029b984cb2360f7682e5a5 and relands
6529d7c5a45b1b9588e512013b02f891d71bc134.

The ASan error was debugged and determined to be the fault of an invalid
object file input in our test suite, which was fixed by my last change.
LLD's project policy is that it assumes input objects are valid, so I
have added a comment about this assumption to the relocation bounds
check.
lld/COFF/Chunks.cpp
lld/COFF/Chunks.h
lld/COFF/PDB.cpp
llvm/include/llvm/DebugInfo/PDB/Native/DbiModuleDescriptorBuilder.h
llvm/lib/DebugInfo/PDB/Native/DbiModuleDescriptorBuilder.cpp
llvm/lib/DebugInfo/PDB/Native/DbiStreamBuilder.cpp