Re: symbol maintenance

Fabian Cenedese
2006-11-29T09:24:40Z

>>>> (gdb) file gccext3.x
>>>> Reading symbols from /data/gdb-6.5/gdb/gccext3.x...unknown symbol type 0x1e...ex
>>>> panding to full symbols...unsupported const value attribute form: 'DW_FORM_strin
>>>> g'...const value length mismatch for 'ciOffline', got 8, expected 0...done.
>>>
>>>Those look more serious. GDB is trying to read DWARF debugging
>>>information, and it's malformed. What compiler are you using? What
>>>does 'objdump -h gccext3.x' say?
>>
>> The used compiler is gcc 4.0.2, cross compiled for ppc.
>> The files for gccext3 were compiled with -gdwarf-2 (no +, no O).
>
>Oh, so you have an ELF file, not a PE file. In that case, could you
>run 'readelf -wi gccext3.x', and post the output? If the DWARF in
>that file is valid, and GDB's reading it properly, then the problem is
>that GCC is producing information GDB can't use.
>
>But even in that case, GDB should be able to properly skip data it
>doesn't understand (DWARF is very good about that), so the answer to
>your original question is, no, you don't need to worry about that
>warning --- unless you're trying to use string constants and GDB
>doesn't seem to know their values.

I uploaded the output (11MB uncompressed, 1MB zipped) here:
http://www.speedyshare.com/512483789.html

I looked for the definition of this mismatch variable in the source. It's:

typedef signed char int8;
const int8 ciOffline = 254;

254 for a signed char is not really nice, but that alone shouldn't
confuse gdb or gcc, right?

<2><6774b>: Abbrev Number: 92 (DW_TAG_variable)
DW_AT_name : ciOffline
DW_AT_decl_file : 6
DW_AT_decl_line : 142
DW_AT_type : <685a0>
DW_AT_external : 1
DW_AT_declaration : 1
DW_AT_const_value : 8 byte block: ff ff ff ff ff ff ff fe

I don't know what variable or entry would cause the "unsupported const
value attribute form:'DW_FORM_string'", I can't find that string.

Thanks

bye Fabi