------- 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