[PATCH] D92134: [llvm-symbolizer] Fix native symbolization on windows for inline sites.

Reid Kleckner via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Wed Nov 25 16:00:46 PST 2020


rnk added a comment.

Well, I *can* think of a way to test this from a .s file. Instead of using .cv_inline_line_table, you could use a sequence of `.byte 0xNN, 0xNN` directives. I think you can get the hex codes from llvm-pdbutil dump -symbols. How about it?



================
Comment at: llvm/lib/DebugInfo/PDB/Native/NativeFunctionSymbol.cpp:81
       CodeOffset += Annot.U2;
-      if (OffsetInFunc >= CodeOffset)
-        Found = true;
-      CodeOffset += Annot.U1;
-      if (Found && OffsetInFunc < CodeOffset)
+      if (OffsetInFunc >= CodeOffset && OffsetInFunc < CodeOffset + Annot.U1)
         return true;
----------------
I see. LLVM never uses this opcode. If this opcode is used to create a gap in the inlined call site, CodeOffset will be incorrect after the gap.


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D92134



More information about the llvm-commits mailing list