-
Notifications
You must be signed in to change notification settings - Fork 0
Description
When writing location of members(DW_TAG_member) inside structs, sometimes the compiler may use DW_FORM_data2. As per the DWARF standard v4, Section 7.5.4 :
...
constant
There are six forms of constants. There are fixed length constant data forms for one, two,
four and eight byte values (respectively, DW_FORM_data1, DW_FORM_data2,
DW_FORM_data4, and DW_FORM_data8). There are also variable length constant data
forms encoded using LEB128 numbers (see below). Both signed (DW_FORM_sdata) and
unsigned (DW_FORM_udata) variable length constants are available
....
This issue DOES NOT include LEB128. Another issue by itself may make more sense for LEB128.
It might make the most sense to split up this issue, one per form.
Producer(compiler) that triggered this behavior:
COMPILE_UNIT
:< 0><0x0000000c> DW_TAG_compile_unit
DW_AT_producer GNU C+17 11.4.0 -mtune=generic -march=x86-64 -g -std=c+17 -fPIC -fasynchronous-unwind-tables -fstack-protector-strong -fstack-clash-protection -fcf-protection
DW_AT_language DW_LANG_C_plus_plus_14