[llvm] [Symbolizer] Compute Nearest Line Info for Address. (PR #71032)

via llvm-commits llvm-commits at lists.llvm.org
Thu Nov 2 10:04:45 PDT 2023


================
@@ -70,30 +73,52 @@ LLVMSymbolizer::symbolizeCodeCommon(const T &ModuleSpecifier,
   if (Opts.RelativeAddresses)
     ModuleOffset.Address += Info->getModulePreferredBase();
 
-  DILineInfo LineInfo = Info->symbolizeCode(
-      ModuleOffset, DILineInfoSpecifier(Opts.PathStyle, Opts.PrintFunctions),
-      Opts.UseSymbolTable);
+  DILineInfo LineInfo;
+  if (!Nearest)
+    LineInfo = Info->symbolizeCode(
+        ModuleOffset, DILineInfoSpecifier(Opts.PathStyle, Opts.PrintFunctions),
+        Opts.UseSymbolTable);
+  else {
+    object::SectionedAddress PrevModuleOffset = ModuleOffset;
+    while (LineInfo.Line = 0) {
----------------
gbreynoo wrote:

Should this be `while (LineInfo.Line == 0) {` ?

https://github.com/llvm/llvm-project/pull/71032


More information about the llvm-commits mailing list