Some dwarf "nitpicks"

Petr Machata pmachata at redhat.com
Thu Mar 10 14:47:15 UTC 2011


Roland McGrath <roland at redhat.com> writes:

>> But since the debug_line table header is actually there, dwarflint is
>> still not really happy. empty.o as produced by my patched gcc attached.
>> 
>> $ eu-dwarflint empty.o
>> warning: .debug_line: table 0: the file #1 `empty.c' is not used.
>> error: .debug_line: table 0: sequence of opcodes not terminated with
>> DW_LNE_end_sequence.
>> 
>> So maybe a better solution would be to just add a dummy end_sequence.
>
> I'm not sure the specification is clear this is invalid.  It says, "Every
> line number program sequence must end with a DW_LNE_end_sequence
> instruction..."  But I don't see any wording that says there actually has
> to be any line number program sequence at all.  Note that a .debug_line
> table with no line number program sequences still has a valid meaning: it
> defines the include directory path for the CU, and it defines the file
> entries that the CU's DW_AT_decl_file et al refer to.

I suppressed that message in dwarflint to only appear if there are
actual line number program opcodes in the table.

PM


More information about the elfutils-devel mailing list