[Dwarf-discuss] Enhancement: DWARF Extension Registry

David Anderson davea42@gmail.com
Sat Dec 2 01:01:16 GMT 2023


On 12/1/23 16:17, David Blaikie wrote:
> 
> 
> On Fri, Dec 1, 2023 at 1:43 PM David Anderson via Dwarf-discuss 
> <dwarf-discuss@lists.dwarfstd.org 
> <mailto:dwarf-discuss@lists.dwarfstd.org>> wrote:
> 
>     On 12/1/23 05:24, Ben Woodard via Dwarf-discuss wrote:
>      > My reasoning is that the reason why we are running out of vendor
>     defined
>      > space is that within in the various vendor spaces the encoding
>     space is
>      > consumed by legacy extensions that:
>      > 1) were never implemented publicly
>      > 2) were implemented but are no longer in use because the
>     compilers that
>      > generated them have been abandoned
>      > 3) were in use but have been incorporated into the standard
>     version of
>      > DWARF.
>      >
>      > I feel like clearing those out by drawing a line in the sand and
>     saying
>      > that extensions which existed in previous versions of DWARF do not
>      > necessarily mean the same thing once the new version of DWARF is
>      > released, should clear out the legacy cruft such that there
>     should be
>      > sufficient encoding space for new producer extensions.
>      >
> 
>     While clearing-out of attributes etc that were never implemented
>     makes sense,  I think the rest of this goes way too far in
>     re-using things.   There is a distinct danger of making
>     it impossible for a consumer to read DWARF3 once DWARF6 is complete.
>     That seems to me to be a bad idea. Unappealing.
> 
> 
> Not sure I follow this - you could still read DWARF3 as DWARF3 no matter 
> what changes in DWARF6, I think? Could you flesh out what you're 
> thinking here/how DWARF6 completion could (if we took some of these 
> suggestions) cause DWARF3 to be impossible to consume?

So, suddenly, a bunch of DWARF that said useful stuff
now says nothing meaningful...because it had to be skipped.

Or (for example) the new and old meanings of that AT code are readable
both ways, yet mean very different things.  How is one to know?

Having stuff stop working in whole or in
part is a thing big companies do
(all the time?) and I hate it.  (hand-wavy).

As of now libdwarf reads DWARF2 and later as well
as possible (nothing perfect) and losing the
capability of that (or having to do
things like look at the producer id (or?) to get something right)
does not appeal. To me.

Maybe it's just me, but I suspect we're really going overboard
just to make more room for DW_OP, and it's going to take serious
amounts of time all around that won't really help anything much.
A very simple registry would, IMO suffice, on dwarstd.org?
Temporary registration?

MIPS reserved ten or so DW_AT_MIPS about 1991-1993
(I forget what yr/month it was) because
there was a vague concern about waiting to reserve being bad somehow.
That everyone would just step on other folks codes. And there
was no internet yet (just usenet).
We did nothing about those DW_AT_MIPS as the optimizations
were created differently than we expected.
Everything is more than a bit different now!

My 0.02USD.
David A.


More information about the Dwarf-discuss mailing list