This fixes the issue when the current line offset is actually for next range.
Maintain a current code range with current line offset and cache next file/line
offset. Update file/line offset after finishing current range.
Paths
| Differential D123151
[llvm-symbolizer] Fix line offset for inline site. ClosedPublic Authored by zequanwu on Apr 5 2022, 12:20 PM.
Details Summary This fixes the issue when the current line offset is actually for next range. Maintain a current code range with current line offset and cache next file/line
Diff Detail
Event TimelineComment Actions I think this looks good, although I don't entirely remember how these work-- what's the situation where the "current line offset is actually for next range"? This revision is now accepted and ready to land.Apr 5 2022, 4:38 PM Comment Actions
In the following example, It has the mapping: If OffsetInFunc is 0x21, the original implementation exits the function after reading 5th line which updates line offset to 3 but it should be 2. line offset 3 is for next code range. 0602 line 1 (+1) 0315 code 0x15 (+0x15) 0B2B code 0x20 (+0xB) line 2 (+1) 0602 line 3 (+1) 0311 code 0x31 (+0x11) 0B29 code 0x3A (+0x9) line 4 (+1) 0409 code end 0x43 (+0x9) This revision was landed with ongoing or failed builds.Apr 7 2022, 3:18 PM Closed by commit rG1da67ecefdda: [llvm-symbolizer] Fix line offset for inline site. (authored by zequanwu). · Explain Why This revision was automatically updated to reflect the committed changes.
Revision Contents
Diff 421355 lld/test/COFF/symbolizer-inline.s
llvm/lib/DebugInfo/PDB/Native/NativeInlineSiteSymbol.cpp
|