ggreif labeled Issue #2105:
I have a Wasm file with this DIE in the DWARF section:
0x0000002b: DW_TAG_enumeration_type DW_AT_artificial (true) 0x0000002c: DW_TAG_enumerator DW_AT_name ("mon") DW_AT_const_value (0x005316cc) 0x00000035: DW_TAG_enumerator DW_AT_name ("tue") DW_AT_const_value (0x00586bc4) 0x0000003e: DW_TAG_enumerator DW_AT_name ("wed") DW_AT_const_value (0x005aa496) 0x00000047: NULL
When I translate with
wasm2obj
, theDW_TAG_enumerator
s get stripped, and it ends up as0x00000067: DW_TAG_enumeration_type DW_AT_artificial (0x01) 0x00000069:
In this case
0x00000067
is the only enumeration in the output. The corresponding abbreviation for the latter is[9] DW_TAG_enumeration_type DW_CHILDREN_no DW_AT_artificial DW_FORM_flag
while the former correctly has children
[17] DW_TAG_enumeration_type DW_CHILDREN_yes DW_AT_artificial DW_FORM_flag_present
Obviously the flag for children has flipped.
ggreif opened Issue #2105:
I have a Wasm file with this DIE in the DWARF section:
0x0000002b: DW_TAG_enumeration_type DW_AT_artificial (true) 0x0000002c: DW_TAG_enumerator DW_AT_name ("mon") DW_AT_const_value (0x005316cc) 0x00000035: DW_TAG_enumerator DW_AT_name ("tue") DW_AT_const_value (0x00586bc4) 0x0000003e: DW_TAG_enumerator DW_AT_name ("wed") DW_AT_const_value (0x005aa496) 0x00000047: NULL
When I translate with
wasm2obj
, theDW_TAG_enumerator
s get stripped, and it ends up as0x00000067: DW_TAG_enumeration_type DW_AT_artificial (0x01) 0x00000069:
In this case
0x00000067
is the only enumeration in the output. The corresponding abbreviation for the latter is[9] DW_TAG_enumeration_type DW_CHILDREN_no DW_AT_artificial DW_FORM_flag
while the former correctly has children
[17] DW_TAG_enumeration_type DW_CHILDREN_yes DW_AT_artificial DW_FORM_flag_present
Obviously the flag for children has flipped.
ggreif edited Issue #2105:
(For a Wasm file example, see #2078.)
I have a Wasm file with this DIE in the DWARF section:
0x0000002b: DW_TAG_enumeration_type DW_AT_artificial (true) 0x0000002c: DW_TAG_enumerator DW_AT_name ("mon") DW_AT_const_value (0x005316cc) 0x00000035: DW_TAG_enumerator DW_AT_name ("tue") DW_AT_const_value (0x00586bc4) 0x0000003e: DW_TAG_enumerator DW_AT_name ("wed") DW_AT_const_value (0x005aa496) 0x00000047: NULL
When I translate with
wasm2obj
, theDW_TAG_enumerator
s get stripped, and it ends up as0x00000067: DW_TAG_enumeration_type DW_AT_artificial (0x01) 0x00000069:
In this case
0x00000067
is the only enumeration in the output. The corresponding abbreviation for the latter is[9] DW_TAG_enumeration_type DW_CHILDREN_no DW_AT_artificial DW_FORM_flag
while the former correctly has children
[17] DW_TAG_enumeration_type DW_CHILDREN_yes DW_AT_artificial DW_FORM_flag_present
Obviously the flag for children has flipped.
yurydelendik closed Issue #2105:
(For a Wasm file example, see #2078.)
I have a Wasm file with this DIE in the DWARF section:
0x0000002b: DW_TAG_enumeration_type DW_AT_artificial (true) 0x0000002c: DW_TAG_enumerator DW_AT_name ("mon") DW_AT_const_value (0x005316cc) 0x00000035: DW_TAG_enumerator DW_AT_name ("tue") DW_AT_const_value (0x00586bc4) 0x0000003e: DW_TAG_enumerator DW_AT_name ("wed") DW_AT_const_value (0x005aa496) 0x00000047: NULL
When I translate with
wasm2obj
, theDW_TAG_enumerator
s get stripped, and it ends up as0x00000067: DW_TAG_enumeration_type DW_AT_artificial (0x01) 0x00000069:
In this case
0x00000067
is the only enumeration in the output. The corresponding abbreviation for the latter is[9] DW_TAG_enumeration_type DW_CHILDREN_no DW_AT_artificial DW_FORM_flag
while the former correctly has children
[17] DW_TAG_enumeration_type DW_CHILDREN_yes DW_AT_artificial DW_FORM_flag_present
Obviously the flag for children has flipped.
Last updated: Dec 23 2024 at 13:07 UTC