This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug debug/47946] New: Dwarf uses 64-bits to refer to a structure offset unnecessarily
- From: "hariharans at picochip dot com" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: Tue, 1 Mar 2011 15:31:08 +0000
- Subject: [Bug debug/47946] New: Dwarf uses 64-bits to refer to a structure offset unnecessarily
- Auto-submitted: auto-generated
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47946
Summary: Dwarf uses 64-bits to refer to a structure offset
unnecessarily
Product: gcc
Version: 4.6.0
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: debug
AssignedTo: unassigned@gcc.gnu.org
ReportedBy: hariharans@picochip.com
Created attachment 23503
--> http://gcc.gnu.org/bugzilla/attachment.cgi?id=23503
The source code
Hello,
In the attached testcase, our dwarf reader reports the structure as
Abbrevation 2: DW_TAG_structure_type [has children]
DW_AT_name DW_FORM_string
DW_AT_byte_size DW_FORM_data1
DW_AT_decl_file DW_FORM_data1
DW_AT_decl_line DW_FORM_data1
DW_AT_sibling DW_FORM_ref4
Abbrevation 3: DW_TAG_member
DW_AT_name DW_FORM_string
DW_AT_decl_file DW_FORM_data1
DW_AT_decl_line DW_FORM_data1
DW_AT_type DW_FORM_ref4
DW_AT_byte_size DW_FORM_data1
DW_AT_bit_size DW_FORM_data1
DW_AT_bit_offset DW_FORM_data1
DW_AT_data_member_location DW_FORM_block1
Abbrevation 4: DW_TAG_member
DW_AT_name DW_FORM_string
DW_AT_decl_file DW_FORM_data1
DW_AT_decl_line DW_FORM_data1
DW_AT_type DW_FORM_ref4
DW_AT_byte_size DW_FORM_data1
DW_AT_bit_size DW_FORM_data1
DW_AT_bit_offset DW_FORM_data8
DW_AT_data_member_location DW_FORM_block1
Note that the first element (c1) takes a DW_FORM_data1 to represent the offset,
whereas the second (i) uses DW_FORM_data8. I am fairly certain it doesn't need
64-bits to represent the offset, so something is wrong here.
I tested this with picochip port in the mainline GCC (as of 03-feb-2011).