This is the mail archive of the
elfutils-devel@sourceware.org
mailing list for the elfutils project.
dwarflint vs C++
- From: Roland McGrath <roland at redhat dot com>
- To: elfutils-devel at lists dot fedorahosted dot org
- Date: Wed, 01 Jul 2009 19:42:29 -0700
- Subject: dwarflint vs C++
Now common (maybe gcc 4.4 fixed its output?):
warning: .debug_info: DIE 0x851d7: DIE "member" has attribute "MIPS_linkage_name", which is not expected.
warning: .debug_info: DIE 0x851d7: DIE "member" has attribute "external", which is not expected.
warning: .debug_info: DIE 0x851d7: DIE "member" has attribute "const_value", which is not expected.
DW_TAG_member can have basically all the same attrs as DW_TAG_variable.
Those and DW_TAG_formal_parameter can have DW_AT_const_value; it is
normally mutually exclusing with DW_AT_location, but having both is a
"suspicious" rather than a "wrong".
member/variable can have DW_AT_external. Basically anything that can have
DW_AT_external can have DW_AT_MIPS_linkage_name. There should be a
grouping for those so the DW_AT_external et al handling is in common.
But in that common code it wants a special case: DW_AT_MIPS_linkage_name
without DW_AT_external is suspicious.
Also, still getting a lot of:
error: .debug_aranges: addresses 0x412fe9..0x412fe9 of section .text are not covered.
Is that saying a 0-byte range or a 1-byte range? Perhaps use [x,y] or
[x,y) notation for all byte/addr ranges to be more clear. If it's a 1-byte
range, it should not be complaining because .text has sh_addralign=16, so
[0x412fe9,0x412ff0) is expected alignment padding.
Thanks,
Roland