[Dwarf-Discuss] DWARF2 - Endianity issues for DW_AT_bit_offset fields
Boyapati, Anitha
Anitha.Boyapati@atmel.com
Wed Sep 7 13:52:57 GMT 2011
Hello Brender,
Thanks for the attachments. The more I go through the issue, the more confused I am!
To start with I'll stick to simple example. Please help me out.
struct test {
unsigned char a:1;
unsigned char b:1;
unsigned int k:5;
unsigned char l:2;
};
On a little-endian machine like x86, what is (are) the expected values for DW_AT_byte_size, DW_AT_bit_offset, DW_AT_data_member_location for member l of test?
That said, with gcc, I see the following output:
Abbrev Number: 3 (DW_TAG_member)
DW_AT_name : l
DW_AT_decl_file : 1
DW_AT_decl_line : 6
DW_AT_type : <af>
DW_AT_byte_size : 1
DW_AT_bit_size : 2
DW_AT_bit_offset : 6
DW_AT_data_member_location: 2 byte block: 23 1 (DW_OP_plus_uconst: 1)
I don't understand how DW_AT_bit_offset turns out to be 6. Following the convention used by Allen:
39 32 31 24 23 16 15 8 7 0
+--------+--------+--------+--------+--------+
| addr+4 | addr+3 | addr+2 | addr+1 | addr+0 |
+--------+--------+--------+--------+--------+
..................................L lKkkkkBA
Should not DW_AT_byte_size for 'l' be 2, DW_AT_bit_offset be 7 and DW_AT_data_member_location be 0?
Please correct me if I am going wrong.
Anitha
>-----Original Message-----
>From: Ron Brender [mailto:ron.brender at gmail.com]
>Sent: Tuesday, September 06, 2011 4:05 PM
>To: Boyapati, Anitha; DWARF discussion mailing list
>Subject: RE: [Dwarf-Discuss] DWARF2 - Endianity issues for DW_AT_bit_offset
>fields
>
>The three emails referenced are attached.
>
>Ron Brender
>
>---------------
>Hello All,
>
>In DWARF2, I have some trouble understanding why GCC is generating
>negative offsets for DW_AT_bit_offset field of structure using bitfields
>(C language). The target is little-endian.
>
>Incidentally I happen to come across the endianity issues discussed in
>http://dwarfstd.org/ShowIssue.php?issue=081130.1&type=closed3
>
>
>It mentions the original problem described in three emails -
>
>"
>Brender email of 2008-05-17
>Robinson email of 2008-05-19
>Allen email of 2008-07-07
>"
>
>
>I tried searching them in dwarf-discuss archives but could not find. Can
>someone give me the links to the above conversations?
>
>Thanks
>
>
>Anitha
>_______________________________________________
>Dwarf-Discuss mailing list
>Dwarf-Discuss at lists.dwarfstd.org
>http://lists.dwarfstd.org/listinfo.cgi/dwarf-discuss-dwarfstd.org
More information about the Dwarf-discuss
mailing list