================
@@ -321,7 +321,10 @@ static void convertFunctionLineTable(OutputAggregator 
&Out, CUInfo &CUI,
       StartAddress, object::SectionedAddress::UndefSection};
 
 
-  if (!CUI.LineTable->lookupAddressRange(SecAddress, RangeSize, RowVector)) {
+  // end_sequence markers can be located at RangeSize position,
+  // lookupAddressRange search up to RangeSize not inclusive, to include
+  // end_sequence markers it is necessary to lookup until RangeSize+1
+  if (!CUI.LineTable->lookupAddressRange(SecAddress, RangeSize + 1, 
RowVector)) {
----------------
clayborg wrote:

If a line table has two functions that share the same address range within the 
same line table, this call currently will return only matches from the first 
sequence that contains an address. So we won't get all rows from all sequences 
that match. I checked the 
`DWARFDebugLine::LineTable::lookupAddressRangeImpl(...)` function to verify.

https://github.com/llvm/llvm-project/pull/90535
_______________________________________________
llvm-branch-commits mailing list
llvm-branch-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch-commits

Reply via email to