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

Kees Bakker kees.bakker
Mon Mar 13 00:43:27 PST 2006

On Friday 10 March 2006 18:23, David Anderson wrote:
> I think the wiki approach would be good.
> That said, though, I'm quite willing to insert 
> vendor-specific values into the dwarf.h SGI publishes
> with libdwarf/dwarfdump.
> However, I'd need some few words (to me) as documentation
> so each such could be properly commented for readers.
> (Need not be 'fully documented',  I just want the
> attribution (who) and what the general concept is).
> The word 'Tasking' as it appears in the extensions is quite unclear.
> Does that refer to a company?  A concept (related to multi-tasking?)?
> Or something else.  I would want to know (so I could document
> in a comment) the company and a clue about the meaning.
> It's unclear to me why "Tasking" was chosen: in general
> the advice in the spec requests that you name the vendor
> (not a concept) and generally all-upper-case is preferred:
> HP or GNU or MIPS are examples you will find used.
> There are also exceptions to the spelling advice, but
> I don't consider the exceptions good choices.

I can't help it, but it is our company name. Well, it used to be.
Tasking is now part of Altium. Tasking is still the product
name of the embedded tools that we have. We have been making
compilers and other tools for embedded software for about 20
years now. Maybe you want to have a look at http://www.tasking.com/

I know the word is confusing, and with a little irony I said
that I can't help it. We have been using these names for several
years now, and we've communicated them with some third party vendors.
Now, if everybody immediately connected the name "Tasking" with
embedded tools it would have been a different story.

It's OK with me if we change them to Altium names. And now with comments
as we have them in our dwarf.h. Ignore the fact that we have them as enums.

DW_TAG_ALTIUM_circ_type         = 0x5101,       /* ALTIUM DSP-C/Starcore __circ qualifier */
DW_TAG_ALTIUM_mwa_circ_type     = 0x5102,       /* ALTIUM Starcore __mwa_circ qualifier */
DW_TAG_ALTIUM_rev_carry_type    = 0x5103,       /* ALTIUM Starcore __rev_carry qualifier */
DW_TAG_ALTIUM_rom               = 0x5111,       /* ALTIUM M16 __rom qualifier */

DW_ATE_ALTIUM_fract             = 0x80,		/* ALTIUM __fract type */
DW_ATE_ALTIUM_accum             = 0x81,		/* ALTIUM __accum type */

DW_LANG_ALTIUM_Assembler        = 0x9101,

DW_CC_ALTIUM_interrupt          = 0x65,         /* Function is an interrupt handler, return address on system stack */
DW_CC_ALTIUM_near_system_stack  = 0x66,         /* Near function model, return address on system stack */
DW_CC_ALTIUM_near_user_stack    = 0x67,         /* Near function model, return address on user stack */
DW_CC_ALTIUM_huge_user_stack    = 0x68,         /* Huge function model, return address on user stack  */

> So I don't consider 'Tasking' a good choice as it
> ignores the advice in the spec.

It this the part that you refer to (section 7.1)?
  "... conventionally use the form prefix_vendor_id_name, where vendor_id is some identifying 
   character sequence chosen so as to avoid conflicts with other vendors."
In that case there was nothing wrong with the original names, except that all other
vendor names are in allcaps.

Hope this clarifies it.
Kees Bakker
Senior Software Designer
Altium - Think it, Design it, Build it
Phone  : +31 33 455 8584
E-Mail : Kees.Bakker at altium.nl
URL    : http://www.altium.com/
Clones are people two.

More information about the Dwarf-Discuss mailing list