== smart reloc handling in DWARF reader == Today's libdwfl applies relocs at the ELF level to DWARF section data so that libdw can look at it and decode final offsets from it. Smarter is to get inside libdw in the limited number of places where reading a part of the format that can have relocated values in it. * DW_FORM_ref_addr * DW_FORM_data4/8, others? * DW_FORM_addr * header fields that are target address or fixed-size section offset (so could be reloc'd, i.e. 4/8 byte int forms) The library can keep a map of relocs indexed by mapped address their r_offset corresponds to, so formfoo calls look up the Dwarf_Attr.valp pointer directly to see if it's relocated. === smart form data interfaces === For relocatable quantities, we need form interfaces that give some means to indicate a reloc/symbol. Compatible form generators in the DwarfProducer are then natural to produce relocs from scratch.