One interesting thing about the dwarf format is that it is executable and Turing complete, running small programs on a virtual machine to figure out file names, line numbers and exception handling.
DWARF is such a neat little format. I have a soft spot for the "line program" table, which is a little state machine that allows DWARF to efficiently encode a line/column correspondence for virtual addresses.
8 comments
[ 1.5 ms ] story [ 27.3 ms ] threadhttps://github.com/gimli-rs/gimli
Also, the link to OPAM documentation leads to a 404
The Dwarf 5 document is over 400 pages long (c.f. https://dwarfstd.org/doc/DWARF5.pdf).