[llvm] Modify llvm-gsymutil to work around invalid DW_AT_LLVM_stmt_sequence attributes. (PR #178034)

via llvm-commits llvm-commits at lists.llvm.org
Mon Jan 26 13:50:24 PST 2026


================
@@ -335,35 +335,48 @@ static void convertFunctionLineTable(OutputAggregator &Out, CUInfo &CUI,
 
   if (!CUI.LineTable->lookupAddressRange(SecAddress, RangeSize, RowVector,
                                          StmtSeqOffset)) {
-    // If we have a DW_TAG_subprogram but no line entries, fall back to using
-    // the DW_AT_decl_file an d DW_AT_decl_line if we have both attributes.
-    std::string FilePath = Die.getDeclFile(
-        DILineInfoSpecifier::FileLineInfoKind::AbsoluteFilePath);
-    if (FilePath.empty()) {
-      // If we had a DW_AT_decl_file, but got no file then we need to emit a
-      // warning.
-      const uint64_t DwarfFileIdx = dwarf::toUnsigned(
-          Die.findRecursively(dwarf::DW_AT_decl_file), UINT32_MAX);
-      // Check if there is no DW_AT_decl_line attribute, and don't report an
-      // error if it isn't there.
-      if (DwarfFileIdx == UINT32_MAX)
+    // if StmtSeqOffset had a value and the lookup succceeds, then we had an
----------------
alx32 wrote:

"and the lookup succceeds" - Do you mean "fails" ? Which lookup are you referring to ?  Also typo 'succceeds'. 

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


More information about the llvm-commits mailing list