On Mon, 2013-03-25 at 14:27 -0700, Roland McGrath wrote:
I think this change is fine but we should have dwarflint complain
about
such malformed DWARF and you should immediately report the bugs in any
compilers known to produce it.
Yes, I am trying to poke the compiler people. Sadly .debug_line seems to
have a somewhat high percentage of weird quirks. The spec says that
addresses in a sequence may only increases, but (also because of missing
end_sequence markers) you will often find a line program jumps around a
lot and you get multiple rows for the same address. The eu-readelf
--debug-dump=decodedline support helps to spot them more easily.
Especially GCC not emitting prologue_end markers is a pain because that
seems to be the cause of lots of "adhoc heuristics" on how to interpret
these quirks.
There are already a couple of issues filed against this for GCC:
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47471
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48827
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49906
I thought there was also a general bug about the missing
DW_LNS_set_prologue_end but I cannot find it now.
Cheers,
Mark