[Dwarf-discuss] Proposal: `DW_LNS_indirect_line`

Adrian Prantl aprantl@apple.com
Thu Jul 25 17:22:24 GMT 2024



> On Jul 8, 2024, at 2:18 PM, David Blaikie <dblaikie@gmail.com> wrote:
> 
> @Adrian Prantl <mailto:aprantl@apple.com> and @Jonas Devlieghere <mailto:jdevlieghere@apple.com> with the CAS DWARF stuff, how are you folks separating line table fragments for functions? My understanding was the line table header was too large to have one on every function's line table fragment, so I would've thought you'd figured out a way to make line table fragments that could be added/removed from a line table without disturbing the other flags/state and without relying on specific values in/out of the line register?

[Sorry for the delay, I've been out on vacation]

With -cas-friendly-debug-info (https://github.com/swiftlang/llvm-project/blob/d0204d443283ed71526b61ffc6a2994dd2ff46f4/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp#L174) a DW_LNE_end_sequence is emitted at the end of each function. This resets the state machine and allows for individual functions to grow/shrink in size without disturbing the encoding for its neighbors. It does not emit a new header for each function.

-- adrian
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.dwarfstd.org/pipermail/dwarf-discuss/attachments/20240725/715f902d/attachment.htm>


More information about the Dwarf-discuss mailing list