This is the mail archive of the elfutils-devel@sourceware.org mailing list for the elfutils project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

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

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]