1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56
|
Speculative thoughts on using a script to define what
DWARF? to write out in an elf file:
Syntax for dw tab entry
# is comment
levels by indentation like python
attrs. indent to the tag they apply to.
;section x
;endsection x
:label:
[<level>] tag
attr [form name] value
any attr or tag may have a label.
Various forms require specific value formats.
values sometims require offsets such as a sibling ref
or a fwd/rev ref or a ref to the debug_loc sec
DW_FORM_data 1,2 integer
DW_FORM_data 4,8 integer or offset depends on context
DW_FORM_sdata, udata integer
DW_FORM_string "string value"
DW_FORM_strp "string value"
DW_FORM_block 1,2,4,8 blk-fmt
this is blk_fmt
hex number
decimal number
[ dw-expr]
sythetic forms:
DW_FORM_loclist [label | loclist-itself]
loclist-itself
offset offset DW_FORM_block<n> [blk_fmt]
...
DW_FORM_maclist label
DW_FORM_?
Line table entries
CIE entries
FDE entries
mac sec entries
|