This is the mail archive of the elfutils-devel@sourceware.org mailing list for the elfutils project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [PATCH] libdw: dwarf_getsrclines mark highest address as end_sequence.


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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]