This is the mail archive of the gdb-patches@sourceware.org mailing list for the GDB 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: [RFA/DWARF] constant class of DW_AT_high_pc is offset for version >=4 only.


> 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


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