This is the mail archive of the dwarf2@corp.sgi.com mailing list for the dwarf2 project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

miscellaneous comments


Broken pdf:

   I'm sure this is just a procedural thing, but I'm viewing the
   dwarf2p1-draft5dw-001130-dif-base.pdf document from the eagercon.com site,
   and the tables in it seem broken.  At least when viewed with the linux
   version of acroread 4.05.

   In every table, for however many vertical cells there are that contain
   actual text, there are an equal number of them preceding the table that
   are just empty.  Or in some cases, the empty cells are interspersed with
   the real cells.  For instance, pages 188-201 of my copy of this are
   completely filled with empty cells.

   Also, the Index is replicated.  There is a version with correct page
   numbers, and another with incorrect ones.  (I forget which one is which.)

   I suppose it could be a bug in the version of acroread that I'm using, but
   I've never seen it behave this way on any other document, so that isn't my
   first assumption.

In proposal 001018.1, it was mentioned that Ada could use
DW_TAG_unspecified_type for access types that references incomplete types
(i.e. forward declarations) which are completed in the body of a package.  I
just thought I'd mention that we don't do that, but rather use the
DW_AT_declaration/DW_AT_specification mechanism that I detailed in an earlier
proposal.  This way, if the debugger is queried about the nature of the type,
it can do the appropriate associations between the incomplete and complete
declarations, and display a proper type declaration for the access type and
can dereference objects of that access type, knowing the exact nature of the
designated type.

With respect to 010219.1 (Duplicate dwarf elimination), I thought I'd mention
that we resolve this issue with a tool called "cprs".  It's a post-link tool
that analyzes the DWARF for the whole executable and coalesces entities that
are the same (or similar enough).  I expect other companies have similar
tools.

With respect to 991115.1 (withdrawn Template support proposal), I thought I
would mention that we created a DW_TAG_generic tag to describe generic units
(which are the Ada analogue to C++ templates).  They aren't full-blown
descriptions of the generic, like with abstract instances for inlines.  The
full-blown description is reserved for the instances.  The DW_TAG_generic
entries are just placeholders for the generic name, and a common place to be
referenced by each instance of the generic, so that the debugger can tell
that all the instances are related.  They also serve as containers for any
elaboration code that might be needed for the generic.  (In a few cases, it's
necessary to set a bit to indicate that the generic has been elaborated.)

-- 
Todd Allen
Concurrent Computer Corporation


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]