[Dwarf-discuss] What values to use for our own attributes

Ron Brender ron.brender
Fri Mar 10 06:29:21 PST 2006


Any value in a DWARF-defined "vendor-specific area" of a DWARF construct 
is, by its nature, vendor-specific. Which is to say that to properly 
interpret such a value the consumer must take into account the producer 
identified in the unit header. Which is to say that there is no such 
thing as a "conflict" for values in vendor-specific codes (unless the 
producer is confused/inconsistent).

That said, since there is no published registry to identify producers it 
often feels it would be nice if there were a registry of vendor-specific 
codes that informal cooperation could exploit to minimize re-use of the 
same codes, so that the identity of the producer could be ignored (at 
least usually). So far there is no such registry.

Could/should there be? Good question. There seems to be enough critical 
mass of DWARF committee participants these days + a formal framework 
(FSO) that perhaps it would make sense to establish such a registry. 
After the initial startup, I would expect on-going administration to be 
relatively low effort.

Thoughts?

Ron

------------------------------------------------------------------------
Kees Bakker wrote:
> Hi,
> 
> For our compiler and debugger we need a couple of "user" values
> in dwarf.h
> 
> We don't want to get into a situation where we will pick a value
> and later discover that someone else just picked that same value
> too. (As did happen, I guess, with some MIPS and HP attributes.)
> Oh, too late, we already did (DW_ATE_Tasking_fract).
> 
> Is it enough to just report it to the list here? Or is there a
> more official procedure?
> 
> Some values that we have been using lately are:
> DW_TAG_Tasking_circ_type	0x5101
> DW_TAG_Tasking_mwa_circ_type	0x5102
> DW_TAG_Tasking_rev_carry_type	0x5103
> DW_TAG_Tasking_rom		0x5111
> 
> DW_AT_Tasking_compat_v2		0x2301
> 
> DW_ATE_Tasking_fract		0x80 (conflicts with HP)
> DW_ATE_Tasking_accum		0x81 (conflicts with HP)
> 
> DW_LANG_Tasking_Assembler	0x9101
> 
> DW_CC_Tasking_interrupt  	0x65
> DW_CC_Tasking_near_system_stack 0x66
> DW_CC_Tasking_near_user_stack 	0x67
> DW_CC_Tasking_huge_user_stack 	0x68
> 



More information about the Dwarf-Discuss mailing list