Expand description
Helpers for generating DWARF LSDA data for Cranelift-compiled functions.
The structures and encoding implemented here mirror what LLVM produces for Wasm exception handling so that Wasmerβs libunwind personalities can parse the tables without any runtime changes.
StructsΒ§
- Action
Table π - Call
Site πDesc - Function
Lsda Data - Fully encoded LSDA bytes for a single function, together with pending tag relocations that will be resolved once the global tag section is built.
- TagRelocation
- Relocation information for an LSDA entry that references a tag constant.
- Type
Table π
EnumsΒ§
- Action
Kind π - Type
Entry π - TypeKey π
FunctionsΒ§
- build_
function_ lsda - Build the LSDA for a single function given the finalized Cranelift call-site metadata.
- build_
lsda_ section - Build the LSDA custom section and record the offset for each function.
- build_
tag_ section - Build the global tag section and a tag->offset map.
- encode_
action_ πtable - encode_
call_ πsite_ table - uleb128_
len π - write_
encoded_ πoffset