[PATCH] D101340: Allows for dsymutil crashes to generate reproduceable information

Fred Grim via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Mon Jun 7 12:54:24 PDT 2021


feg208 marked 11 inline comments as done.
feg208 added a comment.

I rolled up all the comments save one where I just have an outstanding question and then I'll roll that up as well



================
Comment at: llvm/tools/dsymutil/Reproducer.cpp:39
+Reproducer::Reproducer(StringRef Rt)
+    : VFS{vfs::getRealFileSystem()}, Root{std::move(Rt)} {}
+
----------------
JDevlieghere wrote:
> LLVM generally does not prefer braced initializer lists (https://llvm.org/docs/CodingStandards.html#do-not-use-braced-initializer-lists-to-call-a-constructor) 
Got it. Thanks for passing this along. I really should have reviewed it before this submission but I certainly will before the next


================
Comment at: llvm/tools/dsymutil/dsymutil.cpp:680-682
     }
-
     Threads.wait();
     if (!AllOK)
----------------
JDevlieghere wrote:
> Unrelated whitespace change?
yeah. Sorry it snuck in.


================
Comment at: llvm/tools/dsymutil/dsymutil.cpp:710-718
+  auto VFS = (*Repro)->getVFS();
+  for (auto &InputFile : Options.InputFiles) {
+    auto DebugMapPtrsOrErr =
+        parseDebugMap(VFS, InputFile, Options.Archs, {}, false, false, false);
+    if (auto EC = DebugMapPtrsOrErr.getError()) {
+      dbgs() << "cannot parse the debug map for '" << InputFile
+             << "': " << EC.message() << '\n';
----------------
JDevlieghere wrote:
> Why is this needed? 
So my understanding is that when dsymutil crashes we want the mapping.yaml file, the binary and associated .o file (assuming its compiled with -g). The latter maybe for some workflows? Reusing this gets us the object file but at the cost of parsing the debug map. So maybe I should just copy the binary in? I can do that or just parse enough to recreate the object files. Or maybe I am misunderstanding this entirely?


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D101340



More information about the llvm-commits mailing list