------- Comment #29 from howarth at nitro dot med dot uc dot edu  2009-11-20 
18:59 -------
I have some additional comments from the dsymutils maintainer...

>>> 7397601 is a bug in dsymutils.  It was not handling the case when the
>>> dwarf debug info contained an AT_location with form DW_FORM_block1 with
>>> zero length.  It may also be possible to have the compiler not emit that
>>> as a work around.

Clarification: The fix was made for any block form (DW_FORM_block1,
DW_FORM_block2, DW_FORM_block4, DW_FORM_block) variant that had zero length.

>>   One other question. Does dwarf debug info on an AT_location with form
>> DW_FORM_block1 that has zero length have any real meaning or is
>> that likely just accidental noise on the dwarf debug output?

It is probably accidental noise, or a bug. The variable should be checked to
make sure it really doesn't have a location, and if it doesn't just don't emit
the DW_AT_location attribute. If it does have a valid location, then a lenght
of zero is probably a bug.

>> If zero length dwarf debug info, is either invalid or effectively a noop,
>> we may just be suffering from the fact binutils is immune to such flaws in
>> the dwarf output. Then, darwin might actually be useful in helping identify
>> bogus dwarf info being emitted. Thanks in advance for any clarifications.

I have modified dwarfdump to properly dump the information and I did check the
DWARF spec, and it seems that it is ok to have  DW_FORM_blockXXX forms with
zero length, so it isn't invalid DWARF.


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=41473

Reply via email to