This is the mail archive of the
gdb-patches@sourceware.org
mailing list for the GDB project.
Re: [RFA/DWARF] constant class of DW_AT_high_pc is offset for version >=4 only.
- From: Joel Brobecker <brobecker at adacore dot com>
- To: Mark Wielaard <mjw at redhat dot com>
- Cc: gdb-patches at sourceware dot org
- Date: Wed, 19 Feb 2014 08:23:17 +0100
- Subject: Re: [RFA/DWARF] constant class of DW_AT_high_pc is offset for version >=4 only.
- Authentication-results: sourceware.org; auth=none
- References: <1392478818-30320-1-git-send-email-brobecker at adacore dot com> <20140218133000 dot GA15835 at adacore dot com> <1392739369 dot 21975 dot 145 dot camel at bordewijk dot wildebeest dot org> <20140218184906 dot GB15835 at adacore dot com> <1392760350 dot 21975 dot 200 dot camel at bordewijk dot wildebeest dot org>
> Just trying to make up for breaking your setup with my original patch.
> Although I might be too pedantic in my DWARF spec reading and I cannot
> actually approve the patch. So it might be of little help. Sorry about
> that.
No - I think you're being very helpful, because you seem very
knowledgeable about present and future DWARF.
> Sadly DWARF doesn't seem to forbid anything. [...] But even DWARF2
> says that the only possible encoding of attribute values of class
> address is DW_FORM_addr.
[...]
> I admit I am mostly worried because GDB is seen as the gold standard of
> DWARF consumers. When GDB accepts some DWARF then basically all other
> DWARF consumers have to adapt.
[...]
> I am just pedantic about interpreting the DWARF standard. Because I do
> worry this will make things harder in the future.
OK, I see where you are coming from. In that case, I agree we should
be adding the complaint. The intention behind my patch then becomes:
Yes, we accept this format but its meaning is undefined. We interpret
it the best we can hoping that it may actually work in your case,
but no guarantees.
So, overall, the plan now is to adjust version #2 in the following
ways:
- Add a comment in the function documentation explaining that
this is to help trying to read broken DWARF;
- Add a complaint inside the function when the attribute has
the wrong format
The generalized usage of the new function is maintained.
> > > Note that this might break for DWARF5. See http://dwarfstd.org/ShowIssue.php?issue=120719.1
> >
> > Interesting. I am curious why you would handle this attribute as
> > an offset even when the value is encoded in address form?
>
> As Doug said, it is a space saving (offsets are often small) and it
> saves a relocation (linkers have to resolve all DW_FORM_addr values and
> they add up).
I was wondering why we don't "simply" require a constant format in
this case, instead of allowing both formats.
Thanks,
--
Joel