[Dwarf-discuss] Enhancement: DWARF Extension Registry

David Anderson davea42@gmail.com
Fri Dec 1 21:43:20 GMT 2023


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.

 >3) I also feel like intentionally requiring the producer defined 
 >extensions to be reconsidered with every major version release of the 
 >standard helps keep the standardization process moving along.

This makes no sense to me, since the lack of reconsideration has
never impeded the standardization process of -any- DWARF release
in -any- way.

Mentioning a 'practically infinite extension space' as a negative
makes no sense to me either.  Compiler writers
will be motivated to avoid the extension space(s)
when possible as extensions take more bytes.
Self correcting, I think.

I am in favor of a public registry as the (rare but real)
duplication of use DW_AT_HP_ codes is annoying, even though so far
it may not have lead to any practical difficulty.

The registry issue, 231110.1, seems to hint that the *only* things
registered are name/code pairs, avoiding any mention of what the
thing registered actually does or requires.  That's not going
to go well over years.  One wonders how much the registry/registrars
should know and how they should know it.

Finally, the fact that *one* thing, DW_OP, is running out of numbers
is not, IMO, a sensible reason to start re-using codes in places
where there are no shortages of namespace.

Notice, that in the low numbers of TAGs and ATtributes things are 
reserved. That is because those had meaning in DWARF1 which
was irrelevant to DWARF2. Kind and generous, we are.

David Anderson



More information about the Dwarf-discuss mailing list