[Dwarf-discuss] Re: dwarf2 question [abbreviations]
Fri Mar 4 09:48:51 GMT 2005
From: SMTP%"firstname.lastname@example.org" 3-MAR-2005 15:38:57.07
Subj: [Dwarf-discuss] Re: dwarf2 question [abbreviations]
>As Michael points out within a single .o there is no ordering
>requirement on the abbreviation tags in the abbreviation table.
>Consequently you cannot depend on ordering.
>(If the compilation system uses dwarf3-duplicate-eliminations
>there can be multiple abbreviations (and other) sections in a single
>But in practice I would think most compilation systems would
>have abbreviation codes in sequential order most of the time.
>For example, the libdwarf producer code generates
>abbreviations in sequential order.
FWIW, the GEM-based compilers on OpenVMS for Itanium (as well as
Alpha Linux) generate abbreviation table entries on the fly and
as needed. For each DIE, the set of needed attributes and
associated value forms is first determined. If that particular
combination is already in the abbreviation table then it (that
is, its prior index) is re-used; otherwise a new abbreviation is
added and used. As a result, there can be many entries for some
DW_TAG codes scattered about in an order indirectly related to
the source program.
Which adds another dimension to the notion of "in order"--there
need not be just one abbreviation for a given DW_TAG code, so any
notion of "in order" has to take into account the actual set of
attributes as well.
More information about the Dwarf-discuss