This is the mail archive of the
elfutils-devel@sourceware.org
mailing list for the elfutils project.
Re: Some dwarf "nitpicks"
- From: Petr Machata <pmachata at redhat dot com>
- To: elfutils-devel at lists dot fedorahosted dot org
- Date: Thu, 10 Mar 2011 15:47:15 +0100
- Subject: Re: Some dwarf "nitpicks"
Roland McGrath <roland@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