[PATCH] D70378: [LLD][COFF] Fix missing cache cleanup in COFF::link()

Alexandre Ganea via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Thu May 14 07:32:37 PDT 2020


aganea added a reviewer: aganea.
aganea added inline comments.


================
Comment at: lld/COFF/DebugTypes.cpp:236
 void loadTypeServerSource(llvm::MemoryBufferRef m) {
+  TypeServerSource::instances.clear();
   std::string path = normalizePdbPath(m.getBufferIdentifier());
----------------
This can't work. `loadTypeServerSource` might be called several times during a single link. Please wait until D79672 lands, it will fix this particular `TypeServerSource` issue.


================
Comment at: lld/COFF/Writer.cpp:589
 void Writer::run() {
+  outputSections.clear();
   ScopedTimer t1(codeLayoutTimer);
----------------
Can you instead move `outputSections` in the `OutputSection` class, and call `.clear()` in `lld/COFF/Driver.cpp, link()`, like for the others static containers?


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D70378/new/

https://reviews.llvm.org/D70378





More information about the llvm-commits mailing list