Attributes are now linked from use to the table.
authorDavid Anderson <davea42@earthlink.net>
Thu, 31 May 2012 16:21:31 +0000 (09:21 -0700)
committerDavid Anderson <davea42@earthlink.net>
Thu, 31 May 2012 16:21:31 +0000 (09:21 -0700)
The table with attr. meanings does not yet link to
the various descriptions.
There were a few trivial mistakes in the examples
and the compression chapter and one or two
in debug section relationships exposed by the links failing
(now that the links are made for attributes).

dwarf5/latexdoc/attributesbytag.tex
dwarf5/latexdoc/compression.tex
dwarf5/latexdoc/dataobject.tex
dwarf5/latexdoc/datarepresentation.tex
dwarf5/latexdoc/debugsectionrelationships.tex
dwarf5/latexdoc/examples.tex
dwarf5/latexdoc/generaldescription.tex
dwarf5/latexdoc/introduction.tex
dwarf5/latexdoc/otherdebugginginformation.tex
dwarf5/latexdoc/programscope.tex
dwarf5/latexdoc/typeentries.tex

index 6a81ccd..467ed19 100644 (file)
@@ -15,8 +15,8 @@ entry. Therefore, the list may be taken as instructive, but
 cannot be considered definitive.  
 
 In the following table,
-DECL means the declaration coordinates DW\-\_AT\-\_decl\-\_column,
-DW\-\_AT\-\_decl\-\_file, and DW\-\_AT\-\_decl\-\_line.
+DECL means the declaration coordinates \livelink{chap:DWATdeclcolumn}{DW\-\_AT\-\_decl\-\_column},
+\livelink{chap:DWATdeclfile}{DW\-\_AT\-\_decl\-\_file}, and \livelink{chap:DWATdeclline}{DW\-\_AT\-\_decl\-\_line}.
 
 
 \label{tab:attributesbytag}
@@ -33,727 +33,727 @@ DW\-\_AT\-\_decl\-\_file, and DW\-\_AT\-\_decl\-\_line.
 \endlastfoot
 \livelink{chap:DWTAGaccessdeclaration}{DW\-\_TAG\-\_access\-\_declaration} 
 & DECL \\
-&DW\-\_AT\-\_accessibility \\
-&DW\-\_AT\-\_description \\
-&DW\-\_AT\-\_name \\
-&DW\-\_AT\-\_sibling \\
+&\livelink{chap:DWATaccessibility}{DW\-\_AT\-\_accessibility} \\
+&\livelink{chap:DWATdescription}{DW\-\_AT\-\_description} \\
+&\livelink{chap:DWATname}{DW\-\_AT\-\_name} \\
+&\livelink{chap:DWATsibling}{DW\-\_AT\-\_sibling} \\
 
 \livelink{chap:DWTAGarraytype}{DW\-\_TAG\-\_array\-\_type}
 &DECL \\
-&DW\-\_AT\-\_abstract\-\_origin \\
-&DW\-\_AT\-\_accessibility \\
-&DW\-\_AT\-\_allocated \\
-&DW\-\_AT\-\_associated \\
-&DW\-\_AT\-\_bit\-\_size \\
-&DW\-\_AT\-\_bit\-\_stride \\
-&DW\-\_AT\-\_byte\-\_size \\
-&DW\-\_AT\-\_data\-\_location \\
-&DW\-\_AT\-\_declaration \\
-&DW\-\_AT\-\_description \\
-&DW\-\_AT\-\_name \\
-&DW\-\_AT\-\_ordering \\
-&DW\-\_AT\-\_sibling \\
-&DW\-\_AT\-\_specification \\
-&DW\-\_AT\-\_start\-\_scope \\
-&DW\-\_AT\-\_type \\
-&DW\-\_AT\-\_visibility \\
+&\livelink{chap:DWATabstractorigin}{DW\-\_AT\-\_abstract\-\_origin} \\
+&\livelink{chap:DWATaccessibility}{DW\-\_AT\-\_accessibility} \\
+&\livelink{chap:DWATallocated}{DW\-\_AT\-\_allocated} \\
+&\livelink{chap:DWATassociated}{DW\-\_AT\-\_associated} \\
+&\livelink{chap:DWATbitsize}{DW\-\_AT\-\_bit\-\_size} \\
+&\livelink{chap:DWATbitstride}{DW\-\_AT\-\_bit\-\_stride} \\
+&\livelink{chap:DWATbytesize}{DW\-\_AT\-\_byte\-\_size} \\
+&\livelink{chap:DWATdatalocation}{DW\-\_AT\-\_data\-\_location} \\
+&\livelink{chap:DWATdeclaration}{DW\-\_AT\-\_declaration} \\
+&\livelink{chap:DWATdescription}{DW\-\_AT\-\_description} \\
+&\livelink{chap:DWATname}{DW\-\_AT\-\_name} \\
+&\livelink{chap:DWATordering}{DW\-\_AT\-\_ordering} \\
+&\livelink{chap:DWATsibling}{DW\-\_AT\-\_sibling} \\
+&\livelink{chap:DWATspecification}{DW\-\_AT\-\_specification} \\
+&\livelink{chap:DWATstartscope}{DW\-\_AT\-\_start\-\_scope} \\
+&\livelink{chap:DWATtype}{DW\-\_AT\-\_type} \\
+&\livelink{chap:DWATvisibility}{DW\-\_AT\-\_visibility} \\
 
 \livelink{chap:DWTAGbasetype}{DW\-\_TAG\-\_base\-\_type}
 &DECL \\
-&DW\-\_AT\-\_allocated \\
-&DW\-\_AT\-\_associated \\
-&DW\-\_AT\-\_binary\-\_scale \\
-&DW\-\_AT\-\_bit\-\_offset \\
-&DW\-\_AT\-\_bit\-\_size \\
-&DW\-\_AT\-\_byte\-\_size \\
-&DW\-\_AT\-\_data\-\_bit\-\_offset \\
-&DW\-\_AT\-\_data\-\_location \\
-&DW\-\_AT\-\_decimal\-\_scale \\
-&DW\-\_AT\-\_decimal\-\_sign \\
-&DW\-\_AT\-\_description \\
-&DW\-\_AT\-\_digit\-\_count \\
-&DW\-\_AT\-\_encoding \\
-&DW\-\_AT\-\_endianity \\
-&DW\-\_AT\-\_name \\
-&DW\-\_AT\-\_picture\-\_string \\
-&DW\-\_AT\-\_sibling \\
-&DW\-\_AT\-\_small \\
+&\livelink{chap:DWATallocated}{DW\-\_AT\-\_allocated} \\
+&\livelink{chap:DWATassociated}{DW\-\_AT\-\_associated} \\
+&\livelink{chap:DWATbinaryscale}{DW\-\_AT\-\_binary\-\_scale} \\
+&\livelink{chap:DWATbitoffset}{DW\-\_AT\-\_bit\-\_offset} \\
+&\livelink{chap:DWATbitsize}{DW\-\_AT\-\_bit\-\_size} \\
+&\livelink{chap:DWATbytesize}{DW\-\_AT\-\_byte\-\_size} \\
+&\livelink{chap:DWATdatabitoffset}{DW\-\_AT\-\_data\-\_bit\-\_offset} \\
+&\livelink{chap:DWATdatalocation}{DW\-\_AT\-\_data\-\_location} \\
+&\livelink{chap:DWATdecimalscale}{DW\-\_AT\-\_decimal\-\_scale} \\
+&\livelink{chap:DWATdecimalsign}{DW\-\_AT\-\_decimal\-\_sign} \\
+&\livelink{chap:DWATdescription}{DW\-\_AT\-\_description} \\
+&\livelink{chap:DWATdigitcount}{DW\-\_AT\-\_digit\-\_count} \\
+&\livelink{chap:DWATencoding}{DW\-\_AT\-\_encoding} \\
+&\livelink{chap:DWATendianity}{DW\-\_AT\-\_endianity} \\
+&\livelink{chap:DWATname}{DW\-\_AT\-\_name} \\
+&\livelink{chap:DWATpicturestring}{DW\-\_AT\-\_picture\-\_string} \\
+&\livelink{chap:DWATsibling}{DW\-\_AT\-\_sibling} \\
+&\livelink{chap:DWATsmall}{DW\-\_AT\-\_small} \\
 
  
 \livelink{chap:DWTAGcatchblock}{DW\-\_TAG\-\_catch\-\_block}
 &DECL \\
-&DW\-\_AT\-\_abstract\-\_origin \\
-&DW\-\_AT\-\_high\-\_pc \\
-&DW\-\_AT\-\_low\-\_pc \\
-&DW\-\_AT\-\_ranges \\
-&DW\-\_AT\-\_segment \\
-&DW\-\_AT\-\_sibling \\
+&\livelink{chap:DWATabstractorigin}{DW\-\_AT\-\_abstract\-\_origin} \\
+&\livelink{chap:DWAThighpc}{DW\-\_AT\-\_high\-\_pc} \\
+&\livelink{chap:DWATlowpc}{DW\-\_AT\-\_low\-\_pc} \\
+&\livelink{chap:DWATranges}{DW\-\_AT\-\_ranges} \\
+&\livelink{chap:DWATsegment}{DW\-\_AT\-\_segment} \\
+&\livelink{chap:DWATsibling}{DW\-\_AT\-\_sibling} \\
 
 \livelink{chap:DWTAGclasstype}{DW\-\_TAG\-\_class\-\_type}
 
 &DECL \\
-&DW\-\_AT\-\_abstract\-\_origin \\
-&DW\-\_AT\-\_accessibility \\
-&DW\-\_AT\-\_allocated \\
-&DW\-\_AT\-\_associated \\
-&DW\-\_AT\-\_bit\-\_size \\
-&DW\-\_AT\-\_byte\-\_size \\
-&DW\-\_AT\-\_data\-\_location \\
-&DW\-\_AT\-\_declaration \\
-&DW\-\_AT\-\_description \\
-&DW\-\_AT\-\_name \\
-&DW\-\_AT\-\_sibling \\
-&DW\-\_AT\-\_signature \\
-&DW\-\_AT\-\_specification \\
-&DW\-\_AT\-\_start\-\_scope \\
-&DW\-\_AT\-\_visibility \\
+&\livelink{chap:DWATabstractorigin}{DW\-\_AT\-\_abstract\-\_origin} \\
+&\livelink{chap:DWATaccessibility}{DW\-\_AT\-\_accessibility} \\
+&\livelink{chap:DWATallocated}{DW\-\_AT\-\_allocated} \\
+&\livelink{chap:DWATassociated}{DW\-\_AT\-\_associated} \\
+&\livelink{chap:DWATbitsize}{DW\-\_AT\-\_bit\-\_size} \\
+&\livelink{chap:DWATbytesize}{DW\-\_AT\-\_byte\-\_size} \\
+&\livelink{chap:DWATdatalocation}{DW\-\_AT\-\_data\-\_location} \\
+&\livelink{chap:DWATdeclaration}{DW\-\_AT\-\_declaration} \\
+&\livelink{chap:DWATdescription}{DW\-\_AT\-\_description} \\
+&\livelink{chap:DWATname}{DW\-\_AT\-\_name} \\
+&\livelink{chap:DWATsibling}{DW\-\_AT\-\_sibling} \\
+&\livelink{chap:DWATsignature}{DW\-\_AT\-\_signature} \\
+&\livelink{chap:DWATspecification}{DW\-\_AT\-\_specification} \\
+&\livelink{chap:DWATstartscope}{DW\-\_AT\-\_start\-\_scope} \\
+&\livelink{chap:DWATvisibility}{DW\-\_AT\-\_visibility} \\
 
 
 \livelink{chap:DWTAGcommonblock}{DW\-\_TAG\-\_common\-\_block}
 &DECL \\
-&DW\-\_AT\-\_declaration \\
-&DW\-\_AT\-\_description \\
-&DW\-\_AT\-\_linkage\-\_name \\
-&DW\-\_AT\-\_location \\
-&DW\-\_AT\-\_name \\
-&DW\-\_AT\-\_segment \\
-&DW\-\_AT\-\_sibling \\
-&DW\-\_AT\-\_visibility \\
+&\livelink{chap:DWATdeclaration}{DW\-\_AT\-\_declaration} \\
+&\livelink{chap:DWATdescription}{DW\-\_AT\-\_description} \\
+&\livelink{chap:DWATlinkagename}{DW\-\_AT\-\_linkage\-\_name} \\
+&\livelink{chap:DWATlocation}{DW\-\_AT\-\_location} \\
+&\livelink{chap:DWATname}{DW\-\_AT\-\_name} \\
+&\livelink{chap:DWATsegment}{DW\-\_AT\-\_segment} \\
+&\livelink{chap:DWATsibling}{DW\-\_AT\-\_sibling} \\
+&\livelink{chap:DWATvisibility}{DW\-\_AT\-\_visibility} \\
 
 \livelink{chap:DWTAGcommoninclusion}{DW\-\_TAG\-\_common\-\_inclusion}
 &DECL \\
-&DW\-\_AT\-\_common\-\_reference \\
-&DW\-\_AT\-\_declaration \\
-&DW\-\_AT\-\_sibling \\
-&DW\-\_AT\-\_visibility \\
+&\livelink{chap:DWATcommonreference}{DW\-\_AT\-\_common\-\_reference} \\
+&\livelink{chap:DWATdeclaration}{DW\-\_AT\-\_declaration} \\
+&\livelink{chap:DWATsibling}{DW\-\_AT\-\_sibling} \\
+&\livelink{chap:DWATvisibility}{DW\-\_AT\-\_visibility} \\
 
 
 \livelink{chap:DWTAGcompileunit}{DW\-\_TAG\-\_compile\-\_unit}
-&DW\-\_AT\-\_base\-\_types \\
-&DW\-\_AT\-\_comp\-\_dir \\
-&DW\-\_AT\-\_identifier\-\_case \\
-&DW\-\_AT\-\_high\-\_pc \\
-&DW\-\_AT\-\_language \\
-&DW\-\_AT\-\_low\-\_pc \\
-&DW\-\_AT\-\_macro\-\_info \\
-&DW\-\_AT\-\_main\-\_subprogram \\
-&DW\-\_AT\-\_name \\
-&DW\-\_AT\-\_producer \\
-&DW\-\_AT\-\_ranges \\
-&DW\-\_AT\-\_segment \\
-&DW\-\_AT\-\_stmt\-\_list \\
-&DW\-\_AT\-\_use\-\_UTF8 \\
+&\livelink{chap:DWATbasetypes}{DW\-\_AT\-\_base\-\_types} \\
+&\livelink{chap:DWATcompdir}{DW\-\_AT\-\_comp\-\_dir} \\
+&\livelink{chap:DWATidentifiercase}{DW\-\_AT\-\_identifier\-\_case} \\
+&\livelink{chap:DWAThighpc}{DW\-\_AT\-\_high\-\_pc} \\
+&\livelink{chap:DWATlanguage}{DW\-\_AT\-\_language} \\
+&\livelink{chap:DWATlowpc}{DW\-\_AT\-\_low\-\_pc} \\
+&\livelink{chap:DWATmacroinfo}{DW\-\_AT\-\_macro\-\_info} \\
+&\livelink{chap:DWATmainsubprogram}{DW\-\_AT\-\_main\-\_subprogram} \\
+&\livelink{chap:DWATname}{DW\-\_AT\-\_name} \\
+&\livelink{chap:DWATproducer}{DW\-\_AT\-\_producer} \\
+&\livelink{chap:DWATranges}{DW\-\_AT\-\_ranges} \\
+&\livelink{chap:DWATsegment}{DW\-\_AT\-\_segment} \\
+&\livelink{chap:DWATstmtlist}{DW\-\_AT\-\_stmt\-\_list} \\
+&\livelink{chap:DWATuseUTF8}{DW\-\_AT\-\_use\-\_UTF8} \\
 
 \livelink{chap:DWTAGcondition}{DW\-\_TAG\-\_condition}
 &DECL \\
-&DW\-\_AT\-\_name \\
-&DW\-\_AT\-\_sibling \\
+&\livelink{chap:DWATname}{DW\-\_AT\-\_name} \\
+&\livelink{chap:DWATsibling}{DW\-\_AT\-\_sibling} \\
 
 \livelink{chap:DWTAGconsttype}{DW\-\_TAG\-\_const\-\_type}
-&DW\-\_AT\-\_allocated \\
-&DW\-\_AT\-\_associated \\
-&DW\-\_AT\-\_data\-\_location \\
-&DW\-\_AT\-\_name \\
-&DW\-\_AT\-\_sibling \\
-&DW\-\_AT\-\_type \\
+&\livelink{chap:DWATallocated}{DW\-\_AT\-\_allocated} \\
+&\livelink{chap:DWATassociated}{DW\-\_AT\-\_associated} \\
+&\livelink{chap:DWATdatalocation}{DW\-\_AT\-\_data\-\_location} \\
+&\livelink{chap:DWATname}{DW\-\_AT\-\_name} \\
+&\livelink{chap:DWATsibling}{DW\-\_AT\-\_sibling} \\
+&\livelink{chap:DWATtype}{DW\-\_AT\-\_type} \\
 
 \livelink{chap:DWTAGconstant}{DW\-\_TAG\-\_constant}
 &DECL \\
-&DW\-\_AT\-\_accessibility \\
-&DW\-\_AT\-\_const\-\_value \\
-&DW\-\_AT\-\_declaration \\
-&DW\-\_AT\-\_description \\
-&DW\-\_AT\-\_endianity \\
-&DW\-\_AT\-\_external \\
-&DW\-\_AT\-\_linkage\-\_name \\
-&DW\-\_AT\-\_name \\
-&DW\-\_AT\-\_sibling \\
-&DW\-\_AT\-\_start\-\_scope \\
-&DW\-\_AT\-\_type \\
-&DW\-\_AT\-\_visibility \\
+&\livelink{chap:DWATaccessibility}{DW\-\_AT\-\_accessibility} \\
+&\livelink{chap:DWATconstvalue}{DW\-\_AT\-\_const\-\_value} \\
+&\livelink{chap:DWATdeclaration}{DW\-\_AT\-\_declaration} \\
+&\livelink{chap:DWATdescription}{DW\-\_AT\-\_description} \\
+&\livelink{chap:DWATendianity}{DW\-\_AT\-\_endianity} \\
+&\livelink{chap:DWATexternal}{DW\-\_AT\-\_external} \\
+&\livelink{chap:DWATlinkagename}{DW\-\_AT\-\_linkage\-\_name} \\
+&\livelink{chap:DWATname}{DW\-\_AT\-\_name} \\
+&\livelink{chap:DWATsibling}{DW\-\_AT\-\_sibling} \\
+&\livelink{chap:DWATstartscope}{DW\-\_AT\-\_start\-\_scope} \\
+&\livelink{chap:DWATtype}{DW\-\_AT\-\_type} \\
+&\livelink{chap:DWATvisibility}{DW\-\_AT\-\_visibility} \\
 
 \livelink{chap:DWTAGdwarfprocedure}{DW\-\_TAG\-\_dwarf\-\_procedure}
-&DW\-\_AT\-\_location \\
+&\livelink{chap:DWATlocation}{DW\-\_AT\-\_location} \\
 
 \livelink{chap:DWTAGentrypoint}{DW\-\_TAG\-\_entry\-\_point}
 &DECL \\
-&DW\-\_AT\-\_address\-\_class \\
-&DW\-\_AT\-\_description \\
-&DW\-\_AT\-\_frame\-\_base \\
-&DW\-\_AT\-\_linkage\-\_name \\
-&DW\-\_AT\-\_low\-\_pc \\
-&DW\-\_AT\-\_name \\
-&DW\-\_AT\-\_return\-\_addr \\
-&DW\-\_AT\-\_segment \\
-&DW\-\_AT\-\_sibling \\
-&DW\-\_AT\-\_static\-\_link \\
-&DW\-\_AT\-\_type \\
+&\livelink{chap:DWATaddressclass}{DW\-\_AT\-\_address\-\_class} \\
+&\livelink{chap:DWATdescription}{DW\-\_AT\-\_description} \\
+&\livelink{chap:DWATframebase}{DW\-\_AT\-\_frame\-\_base} \\
+&\livelink{chap:DWATlinkagename}{DW\-\_AT\-\_linkage\-\_name} \\
+&\livelink{chap:DWATlowpc}{DW\-\_AT\-\_low\-\_pc} \\
+&\livelink{chap:DWATname}{DW\-\_AT\-\_name} \\
+&\livelink{chap:DWATreturnaddr}{DW\-\_AT\-\_return\-\_addr} \\
+&\livelink{chap:DWATsegment}{DW\-\_AT\-\_segment} \\
+&\livelink{chap:DWATsibling}{DW\-\_AT\-\_sibling} \\
+&\livelink{chap:DWATstaticlink}{DW\-\_AT\-\_static\-\_link} \\
+&\livelink{chap:DWATtype}{DW\-\_AT\-\_type} \\
 
 
 \livelink{chap:DWTAGenumerationtype}{DW\-\_TAG\-\_enumeration\-\_type}
 DECL \\
-&DW\-\_AT\-\_abstract\-\_origin \\
-&DW\-\_AT\-\_accessibility \\
-&DW\-\_AT\-\_allocated \\
-&DW\-\_AT\-\_associated \\
-&DW\-\_AT\-\_bit\-\_size \\
-&DW\-\_AT\-\_bit\-\_stride \\
-&DW\-\_AT\-\_byte\-\_size \\
-&DW\-\_AT\-\_byte\-\_stride \\
-&DW\-\_AT\-\_data\-\_location \\
-&DW\-\_AT\-\_declaration \\
-&DW\-\_AT\-\_description \\
-&DW\-\_AT\-\_enum\-\_class \\
-&DW\-\_AT\-\_name \\
-&DW\-\_AT\-\_sibling \\
-&DW\-\_AT\-\_signature \\
-&DW\-\_AT\-\_specification \\
-&DW\-\_AT\-\_start\-\_scope \\
-&DW\-\_AT\-\_type \\
-&DW\-\_AT\-\_visibility \\
+&\livelink{chap:DWATabstractorigin}{DW\-\_AT\-\_abstract\-\_origin} \\
+&\livelink{chap:DWATaccessibility}{DW\-\_AT\-\_accessibility} \\
+&\livelink{chap:DWATallocated}{DW\-\_AT\-\_allocated} \\
+&\livelink{chap:DWATassociated}{DW\-\_AT\-\_associated} \\
+&\livelink{chap:DWATbitsize}{DW\-\_AT\-\_bit\-\_size} \\
+&\livelink{chap:DWATbitstride}{DW\-\_AT\-\_bit\-\_stride} \\
+&\livelink{chap:DWATbytesize}{DW\-\_AT\-\_byte\-\_size} \\
+&\livelink{chap:DWATbytestride}{DW\-\_AT\-\_byte\-\_stride} \\
+&\livelink{chap:DWATdatalocation}{DW\-\_AT\-\_data\-\_location} \\
+&\livelink{chap:DWATdeclaration}{DW\-\_AT\-\_declaration} \\
+&\livelink{chap:DWATdescription}{DW\-\_AT\-\_description} \\
+&\livelink{chap:DWATenumclass}{DW\-\_AT\-\_enum\-\_class} \\
+&\livelink{chap:DWATname}{DW\-\_AT\-\_name} \\
+&\livelink{chap:DWATsibling}{DW\-\_AT\-\_sibling} \\
+&\livelink{chap:DWATsignature}{DW\-\_AT\-\_signature} \\
+&\livelink{chap:DWATspecification}{DW\-\_AT\-\_specification} \\
+&\livelink{chap:DWATstartscope}{DW\-\_AT\-\_start\-\_scope} \\
+&\livelink{chap:DWATtype}{DW\-\_AT\-\_type} \\
+&\livelink{chap:DWATvisibility}{DW\-\_AT\-\_visibility} \\
 
 \livelink{chap:DWTAGenumerator}{DW\-\_TAG\-\_enumerator}
 &DECL \\
-&DW\-\_AT\-\_const\-\_value \\
-&DW\-\_AT\-\_description \\
-&DW\-\_AT\-\_name \\
-&DW\-\_AT\-\_sibling \\
+&\livelink{chap:DWATconstvalue}{DW\-\_AT\-\_const\-\_value} \\
+&\livelink{chap:DWATdescription}{DW\-\_AT\-\_description} \\
+&\livelink{chap:DWATname}{DW\-\_AT\-\_name} \\
+&\livelink{chap:DWATsibling}{DW\-\_AT\-\_sibling} \\
 
 \livelink{chap:DWTAGfiletype}{DW\-\_TAG\-\_file\-\_type}
 &DECL \\
-&DW\-\_AT\-\_abstract\-\_origin \\
-&DW\-\_AT\-\_allocated \\
-&DW\-\_AT\-\_associated \\
-&DW\-\_AT\-\_bit\-\_size \\
-&DW\-\_AT\-\_byte\-\_size \\
-&DW\-\_AT\-\_data\-\_location \\
-&DW\-\_AT\-\_description \\
-&DW\-\_AT\-\_name \\
-&DW\-\_AT\-\_sibling \\
-&DW\-\_AT\-\_start\-\_scope \\
-&DW\-\_AT\-\_type \\
-&DW\-\_AT\-\_visibility \\
+&\livelink{chap:DWATabstractorigin}{DW\-\_AT\-\_abstract\-\_origin} \\
+&\livelink{chap:DWATallocated}{DW\-\_AT\-\_allocated} \\
+&\livelink{chap:DWATassociated}{DW\-\_AT\-\_associated} \\
+&\livelink{chap:DWATbitsize}{DW\-\_AT\-\_bit\-\_size} \\
+&\livelink{chap:DWATbytesize}{DW\-\_AT\-\_byte\-\_size} \\
+&\livelink{chap:DWATdatalocation}{DW\-\_AT\-\_data\-\_location} \\
+&\livelink{chap:DWATdescription}{DW\-\_AT\-\_description} \\
+&\livelink{chap:DWATname}{DW\-\_AT\-\_name} \\
+&\livelink{chap:DWATsibling}{DW\-\_AT\-\_sibling} \\
+&\livelink{chap:DWATstartscope}{DW\-\_AT\-\_start\-\_scope} \\
+&\livelink{chap:DWATtype}{DW\-\_AT\-\_type} \\
+&\livelink{chap:DWATvisibility}{DW\-\_AT\-\_visibility} \\
 
 \livelink{chap:DWTAGformalparameter}{DW\-\_TAG\-\_formal\-\_parameter}
 &DECL \\
-&DW\-\_AT\-\_abstract\-\_origin \\
-&DW\-\_AT\-\_artificial \\
-&DW\-\_AT\-\_const\-\_value \\
-&DW\-\_AT\-\_default\-\_value \\
-&DW\-\_AT\-\_description \\
-&DW\-\_AT\-\_endianity \\
-&DW\-\_AT\-\_is\-\_optional \\
-&DW\-\_AT\-\_location \\
-&DW\-\_AT\-\_name \\
-&DW\-\_AT\-\_segment \\
-&DW\-\_AT\-\_sibling \\
-&DW\-\_AT\-\_type \\
-&DW\-\_AT\-\_variable\-\_parameter \\
+&\livelink{chap:DWATabstractorigin}{DW\-\_AT\-\_abstract\-\_origin} \\
+&\livelink{chap:DWATartificial}{DW\-\_AT\-\_artificial} \\
+&\livelink{chap:DWATconstvalue}{DW\-\_AT\-\_const\-\_value} \\
+&\livelink{chap:DWATdefaultvalue}{DW\-\_AT\-\_default\-\_value} \\
+&\livelink{chap:DWATdescription}{DW\-\_AT\-\_description} \\
+&\livelink{chap:DWATendianity}{DW\-\_AT\-\_endianity} \\
+&\livelink{chap:DWATisoptional}{DW\-\_AT\-\_is\-\_optional} \\
+&\livelink{chap:DWATlocation}{DW\-\_AT\-\_location} \\
+&\livelink{chap:DWATname}{DW\-\_AT\-\_name} \\
+&\livelink{chap:DWATsegment}{DW\-\_AT\-\_segment} \\
+&\livelink{chap:DWATsibling}{DW\-\_AT\-\_sibling} \\
+&\livelink{chap:DWATtype}{DW\-\_AT\-\_type} \\
+&\livelink{chap:DWATvariableparameter}{DW\-\_AT\-\_variable\-\_parameter} \\
 
 \livelink{chap:DWTAGfriend}{DW\-\_TAG\-\_friend}
 &DECL \\
-&DW\-\_AT\-\_abstract\-\_origin \\
-&DW\-\_AT\-\_friend \\
-&DW\-\_AT\-\_sibling \\
+&\livelink{chap:DWATabstractorigin}{DW\-\_AT\-\_abstract\-\_origin} \\
+&\livelink{chap:DWATfriend}{DW\-\_AT\-\_friend} \\
+&\livelink{chap:DWATsibling}{DW\-\_AT\-\_sibling} \\
 
 \livelink{chap:DWTAGimporteddeclaration}{DW\-\_TAG\-\_imported\-\_declaration}
 &DECL \\
-&DW\-\_AT\-\_accessibility \\
-&DW\-\_AT\-\_description \\
-&DW\-\_AT\-\_import \\
-&DW\-\_AT\-\_name \\
-&DW\-\_AT\-\_sibling \\
-&DW\-\_AT\-\_start\-\_scope \\
+&\livelink{chap:DWATaccessibility}{DW\-\_AT\-\_accessibility} \\
+&\livelink{chap:DWATdescription}{DW\-\_AT\-\_description} \\
+&\livelink{chap:DWATimport}{DW\-\_AT\-\_import} \\
+&\livelink{chap:DWATname}{DW\-\_AT\-\_name} \\
+&\livelink{chap:DWATsibling}{DW\-\_AT\-\_sibling} \\
+&\livelink{chap:DWATstartscope}{DW\-\_AT\-\_start\-\_scope} \\
 
 \livelink{chap:DWTAGimportedmodule}{DW\-\_TAG\-\_imported\-\_module}
 &DECL \\
-&DW\-\_AT\-\_import \\
-&DW\-\_AT\-\_sibling \\
-&DW\-\_AT\-\_start\-\_scope \\
+&\livelink{chap:DWATimport}{DW\-\_AT\-\_import} \\
+&\livelink{chap:DWATsibling}{DW\-\_AT\-\_sibling} \\
+&\livelink{chap:DWATstartscope}{DW\-\_AT\-\_start\-\_scope} \\
 
 \livelink{chap:DWTAGimportedunit}{DW\-\_TAG\-\_imported\-\_unit}
-&DW\-\_AT\-\_import \\
+&\livelink{chap:DWATimport}{DW\-\_AT\-\_import} \\
 
 \livelink{chap:DWTAGinheritance}{DW\-\_TAG\-\_inheritance}
 &DECL \\
-&DW\-\_AT\-\_accessibility \\
-&DW\-\_AT\-\_data\-\_member\-\_location \\
-&DW\-\_AT\-\_sibling \\
-&DW\-\_AT\-\_type \\
-&DW\-\_AT\-\_virtuality \\
+&\livelink{chap:DWATaccessibility}{DW\-\_AT\-\_accessibility} \\
+&\livelink{chap:DWATdatamemberlocation}{DW\-\_AT\-\_data\-\_member\-\_location} \\
+&\livelink{chap:DWATsibling}{DW\-\_AT\-\_sibling} \\
+&\livelink{chap:DWATtype}{DW\-\_AT\-\_type} \\
+&\livelink{chap:DWATvirtuality}{DW\-\_AT\-\_virtuality} \\
 
 \livelink{chap:DWTAGinlinedsubroutine}{DW\-\_TAG\-\_inlined\-\_subroutine}
-&DW\-\_AT\-\_abstract\-\_origin \\
-&DW\-\_AT\-\_call\-\_column \\
-&DW\-\_AT\-\_call\-\_file \\
-&DW\-\_AT\-\_call\-\_line \\
-&DW\-\_AT\-\_const\-\_expr \\
-&DW\-\_AT\-\_entry\-\_pc \\
-&DW\-\_AT\-\_high\-\_pc \\
-&DW\-\_AT\-\_low\-\_pc \\
-&DW\-\_AT\-\_ranges \\
-&DW\-\_AT\-\_return\-\_addr \\
-&DW\-\_AT\-\_segment \\
-&DW\-\_AT\-\_sibling \\
-&DW\-\_AT\-\_start\-\_scope \\
-&DW\-\_AT\-\_trampoline \\
+&\livelink{chap:DWATabstractorigin}{DW\-\_AT\-\_abstract\-\_origin} \\
+&\livelink{chap:DWATcallcolumn}{DW\-\_AT\-\_call\-\_column} \\
+&\livelink{chap:DWATcallfile}{DW\-\_AT\-\_call\-\_file} \\
+&\livelink{chap:DWATcallline}{DW\-\_AT\-\_call\-\_line} \\
+&\livelink{chap:DWATconstexpr}{DW\-\_AT\-\_const\-\_expr} \\
+&\livelink{chap:DWATentrypc}{DW\-\_AT\-\_entry\-\_pc} \\
+&\livelink{chap:DWAThighpc}{DW\-\_AT\-\_high\-\_pc} \\
+&\livelink{chap:DWATlowpc}{DW\-\_AT\-\_low\-\_pc} \\
+&\livelink{chap:DWATranges}{DW\-\_AT\-\_ranges} \\
+&\livelink{chap:DWATreturnaddr}{DW\-\_AT\-\_return\-\_addr} \\
+&\livelink{chap:DWATsegment}{DW\-\_AT\-\_segment} \\
+&\livelink{chap:DWATsibling}{DW\-\_AT\-\_sibling} \\
+&\livelink{chap:DWATstartscope}{DW\-\_AT\-\_start\-\_scope} \\
+&\livelink{chap:DWATtrampoline}{DW\-\_AT\-\_trampoline} \\
 
 \livelink{chap:DWTAGinterfacetype}{DW\-\_TAG\-\_interface\-\_type}
 &DECL \\
-&DW\-\_AT\-\_accessibility \\
-&DW\-\_AT\-\_description \\
-&DW\-\_AT\-\_name \\
-&DW\-\_AT\-\_sibling \\
-&DW\-\_AT\-\_start\-\_scope \\
+&\livelink{chap:DWATaccessibility}{DW\-\_AT\-\_accessibility} \\
+&\livelink{chap:DWATdescription}{DW\-\_AT\-\_description} \\
+&\livelink{chap:DWATname}{DW\-\_AT\-\_name} \\
+&\livelink{chap:DWATsibling}{DW\-\_AT\-\_sibling} \\
+&\livelink{chap:DWATstartscope}{DW\-\_AT\-\_start\-\_scope} \\
 
 \livelink{chap:DWTAGlabel}{DW\-\_TAG\-\_label}
 &DECL \\
-&DW\-\_AT\-\_abstract\-\_origin \\
-&DW\-\_AT\-\_description \\
-&DW\-\_AT\-\_low\-\_pc \\
-&DW\-\_AT\-\_name \\
-&DW\-\_AT\-\_segment \\
-&DW\-\_AT\-\_start\-\_scope \\
-&DW\-\_AT\-\_sibling \\
+&\livelink{chap:DWATabstractorigin}{DW\-\_AT\-\_abstract\-\_origin} \\
+&\livelink{chap:DWATdescription}{DW\-\_AT\-\_description} \\
+&\livelink{chap:DWATlowpc}{DW\-\_AT\-\_low\-\_pc} \\
+&\livelink{chap:DWATname}{DW\-\_AT\-\_name} \\
+&\livelink{chap:DWATsegment}{DW\-\_AT\-\_segment} \\
+&\livelink{chap:DWATstartscope}{DW\-\_AT\-\_start\-\_scope} \\
+&\livelink{chap:DWATsibling}{DW\-\_AT\-\_sibling} \\
 
 \livelink{chap:DWTAGlexicalblock}{DW\-\_TAG\-\_lexical\-\_block}
 &DECL \\
-&DW\-\_AT\-\_abstract\-\_origin \\
-&DW\-\_AT\-\_description \\
-&DW\-\_AT\-\_high\-\_pc \\
-&DW\-\_AT\-\_low\-\_pc \\
-&DW\-\_AT\-\_name \\
-&DW\-\_AT\-\_ranges \\
-&DW\-\_AT\-\_segment \\
-&DW\-\_AT\-\_sibling \\
+&\livelink{chap:DWATabstractorigin}{DW\-\_AT\-\_abstract\-\_origin} \\
+&\livelink{chap:DWATdescription}{DW\-\_AT\-\_description} \\
+&\livelink{chap:DWAThighpc}{DW\-\_AT\-\_high\-\_pc} \\
+&\livelink{chap:DWATlowpc}{DW\-\_AT\-\_low\-\_pc} \\
+&\livelink{chap:DWATname}{DW\-\_AT\-\_name} \\
+&\livelink{chap:DWATranges}{DW\-\_AT\-\_ranges} \\
+&\livelink{chap:DWATsegment}{DW\-\_AT\-\_segment} \\
+&\livelink{chap:DWATsibling}{DW\-\_AT\-\_sibling} \\
 
 \livelink{chap:DWTAGmember}{DW\-\_TAG\-\_member}
 &DECL \\
-&DW\-\_AT\-\_accessibility \\
-&DW\-\_AT\-\_bit\-\_offset \\
-&DW\-\_AT\-\_bit\-\_size \\
-&DW\-\_AT\-\_byte\-\_size \\
-&DW\-\_AT\-\_data\-\_bit\-\_offset \\
-&DW\-\_AT\-\_data\-\_member\-\_location \\
-&DW\-\_AT\-\_declaration \\
-&DW\-\_AT\-\_description \\
-&DW\-\_AT\-\_mutable \\
-&DW\-\_AT\-\_name \\
-&DW\-\_AT\-\_sibling \\
-&DW\-\_AT\-\_type \\
-&DW\-\_AT\-\_visibility \\
+&\livelink{chap:DWATaccessibility}{DW\-\_AT\-\_accessibility} \\
+&\livelink{chap:DWATbitoffset}{DW\-\_AT\-\_bit\-\_offset} \\
+&\livelink{chap:DWATbitsize}{DW\-\_AT\-\_bit\-\_size} \\
+&\livelink{chap:DWATbytesize}{DW\-\_AT\-\_byte\-\_size} \\
+&\livelink{chap:DWATdatabitoffset}{DW\-\_AT\-\_data\-\_bit\-\_offset} \\
+&\livelink{chap:DWATdatamemberlocation}{DW\-\_AT\-\_data\-\_member\-\_location} \\
+&\livelink{chap:DWATdeclaration}{DW\-\_AT\-\_declaration} \\
+&\livelink{chap:DWATdescription}{DW\-\_AT\-\_description} \\
+&\livelink{chap:DWATmutable}{DW\-\_AT\-\_mutable} \\
+&\livelink{chap:DWATname}{DW\-\_AT\-\_name} \\
+&\livelink{chap:DWATsibling}{DW\-\_AT\-\_sibling} \\
+&\livelink{chap:DWATtype}{DW\-\_AT\-\_type} \\
+&\livelink{chap:DWATvisibility}{DW\-\_AT\-\_visibility} \\
 
 
 \livelink{chap:DWTAGmodule}{DW\-\_TAG\-\_module}
 &DECL \\
-&DW\-\_AT\-\_accessibility \\
-&DW\-\_AT\-\_declaration \\
-&DW\-\_AT\-\_description \\
-&DW\-\_AT\-\_entry\-\_pc \\
-&DW\-\_AT\-\_high\-\_pc \\
-&DW\-\_AT\-\_low\-\_pc \\
-&DW\-\_AT\-\_name \\
-&DW\-\_AT\-\_priority \\
-&DW\-\_AT\-\_ranges \\
-&DW\-\_AT\-\_segment \\
-&DW\-\_AT\-\_sibling \\
-&DW\-\_AT\-\_specification \\
-&DW\-\_AT\-\_visibility \\
+&\livelink{chap:DWATaccessibility}{DW\-\_AT\-\_accessibility} \\
+&\livelink{chap:DWATdeclaration}{DW\-\_AT\-\_declaration} \\
+&\livelink{chap:DWATdescription}{DW\-\_AT\-\_description} \\
+&\livelink{chap:DWATentrypc}{DW\-\_AT\-\_entry\-\_pc} \\
+&\livelink{chap:DWAThighpc}{DW\-\_AT\-\_high\-\_pc} \\
+&\livelink{chap:DWATlowpc}{DW\-\_AT\-\_low\-\_pc} \\
+&\livelink{chap:DWATname}{DW\-\_AT\-\_name} \\
+&\livelink{chap:DWATpriority}{DW\-\_AT\-\_priority} \\
+&\livelink{chap:DWATranges}{DW\-\_AT\-\_ranges} \\
+&\livelink{chap:DWATsegment}{DW\-\_AT\-\_segment} \\
+&\livelink{chap:DWATsibling}{DW\-\_AT\-\_sibling} \\
+&\livelink{chap:DWATspecification}{DW\-\_AT\-\_specification} \\
+&\livelink{chap:DWATvisibility}{DW\-\_AT\-\_visibility} \\
 
 \livelink{chap:DWTAGnamelist}{DW\-\_TAG\-\_namelist}
 &DECL \\
-&DW\-\_AT\-\_abstract\-\_origin \\
-&DW\-\_AT\-\_accessibility \\
-&DW\-\_AT\-\_declaration \\
-&DW\-\_AT\-\_name \\
-&DW\-\_AT\-\_sibling \\
-&DW\-\_AT\-\_visibility \\
+&\livelink{chap:DWATabstractorigin}{DW\-\_AT\-\_abstract\-\_origin} \\
+&\livelink{chap:DWATaccessibility}{DW\-\_AT\-\_accessibility} \\
+&\livelink{chap:DWATdeclaration}{DW\-\_AT\-\_declaration} \\
+&\livelink{chap:DWATname}{DW\-\_AT\-\_name} \\
+&\livelink{chap:DWATsibling}{DW\-\_AT\-\_sibling} \\
+&\livelink{chap:DWATvisibility}{DW\-\_AT\-\_visibility} \\
 
 \livelink{chap:DWTAGnamelistitem}{DW\-\_TAG\-\_namelist\-\_item}
 &DECL \\
-&DW\-\_AT\-\_namelist\-\_item \\
-&DW\-\_AT\-\_sibling \\
+&\livelink{chap:DWATnamelistitem}{DW\-\_AT\-\_namelist\-\_item} \\
+&\livelink{chap:DWATsibling}{DW\-\_AT\-\_sibling} \\
 
 \livelink{chap:DWTAGnamespace}{DW\-\_TAG\-\_namespace}
 &DECL \\
-&DW\-\_AT\-\_description \\
-&DW\-\_AT\-\_extension \\
-&DW\-\_AT\-\_name \\
-&DW\-\_AT\-\_sibling \\
-&DW\-\_AT\-\_start\-\_scope \\
+&\livelink{chap:DWATdescription}{DW\-\_AT\-\_description} \\
+&\livelink{chap:DWATextension}{DW\-\_AT\-\_extension} \\
+&\livelink{chap:DWATname}{DW\-\_AT\-\_name} \\
+&\livelink{chap:DWATsibling}{DW\-\_AT\-\_sibling} \\
+&\livelink{chap:DWATstartscope}{DW\-\_AT\-\_start\-\_scope} \\
 
 \livelink{chap:DWTAGpackedtype}{DW\-\_TAG\-\_packed\-\_type}
-&DW\-\_AT\-\_allocated \\
-&DW\-\_AT\-\_associated \\
-&DW\-\_AT\-\_data\-\_location \\
-&DW\-\_AT\-\_name \\
-&DW\-\_AT\-\_sibling \\
-&DW\-\_AT\-\_type \\
+&\livelink{chap:DWATallocated}{DW\-\_AT\-\_allocated} \\
+&\livelink{chap:DWATassociated}{DW\-\_AT\-\_associated} \\
+&\livelink{chap:DWATdatalocation}{DW\-\_AT\-\_data\-\_location} \\
+&\livelink{chap:DWATname}{DW\-\_AT\-\_name} \\
+&\livelink{chap:DWATsibling}{DW\-\_AT\-\_sibling} \\
+&\livelink{chap:DWATtype}{DW\-\_AT\-\_type} \\
 
 \livelink{chap:DWTAGpartialunit}{DW\-\_TAG\-\_partial\-\_unit}
-&DW\-\_AT\-\_base\-\_types  \\  
-&DW\-\_AT\-\_comp\-\_dir  \\
-&DW\-\_AT\-\_description  \\
-&DW\-\_AT\-\_identifier\-\_case  \\
-&DW\-\_AT\-\_high\-\_pc  \\
-&DW\-\_AT\-\_language  \\
-&DW\-\_AT\-\_low\-\_pc  \\
-&DW\-\_AT\-\_macro\-\_info  \\
-&DW\-\_AT\-\_main\-\_subprogram  \\
-&DW\-\_AT\-\_name  \\
-&DW\-\_AT\-\_producer  \\
-&DW\-\_AT\-\_ranges  \\
-&DW\-\_AT\-\_segment  \\
-&DW\-\_AT\-\_stmt\-\_list  \\
-&DW\-\_AT\-\_use\-\_UTF8  \\
+&\livelink{chap:DWATbasetypes}{DW\-\_AT\-\_base\-\_types}  \\  
+&\livelink{chap:DWATcompdir}{DW\-\_AT\-\_comp\-\_dir}  \\
+&\livelink{chap:DWATdescription}{DW\-\_AT\-\_description}  \\
+&\livelink{chap:DWATidentifiercase}{DW\-\_AT\-\_identifier\-\_case}  \\
+&\livelink{chap:DWAThighpc}{DW\-\_AT\-\_high\-\_pc}  \\
+&\livelink{chap:DWATlanguage}{DW\-\_AT\-\_language}  \\
+&\livelink{chap:DWATlowpc}{DW\-\_AT\-\_low\-\_pc}  \\
+&\livelink{chap:DWATmacroinfo}{DW\-\_AT\-\_macro\-\_info}  \\
+&\livelink{chap:DWATmainsubprogram}{DW\-\_AT\-\_main\-\_subprogram}  \\
+&\livelink{chap:DWATname}{DW\-\_AT\-\_name}  \\
+&\livelink{chap:DWATproducer}{DW\-\_AT\-\_producer}  \\
+&\livelink{chap:DWATranges}{DW\-\_AT\-\_ranges}  \\
+&\livelink{chap:DWATsegment}{DW\-\_AT\-\_segment}  \\
+&\livelink{chap:DWATstmtlist}{DW\-\_AT\-\_stmt\-\_list}  \\
+&\livelink{chap:DWATuseUTF8}{DW\-\_AT\-\_use\-\_UTF8}  \\
 
 
 \livelink{chap:DWTAGpointertype}{DW\-\_TAG\-\_pointer\-\_type}  \\
-&DW\-\_AT\-\_address\-\_class  \\
-&DW\-\_AT\-\_allocated  \\
-&DW\-\_AT\-\_associated  \\
-&DW\-\_AT\-\_data\-\_location  \\
-&DW\-\_AT\-\_name  \\
-&DW\-\_AT\-\_sibling  \\
-&DW\-\_AT\-\_type  \\
+&\livelink{chap:DWATaddressclass}{DW\-\_AT\-\_address\-\_class}  \\
+&\livelink{chap:DWATallocated}{DW\-\_AT\-\_allocated}  \\
+&\livelink{chap:DWATassociated}{DW\-\_AT\-\_associated}  \\
+&\livelink{chap:DWATdatalocation}{DW\-\_AT\-\_data\-\_location}  \\
+&\livelink{chap:DWATname}{DW\-\_AT\-\_name}  \\
+&\livelink{chap:DWATsibling}{DW\-\_AT\-\_sibling}  \\
+&\livelink{chap:DWATtype}{DW\-\_AT\-\_type}  \\
 
 \livelink{chap:DWTAGptrtomembertype}{DW\-\_TAG\-\_ptr\-\_to\-\_member\-\_type}
 &DECL  \\
-&DW\-\_AT\-\_abstract\-\_origin  \\
-&DW\-\_AT\-\_address\-\_class  \\
-&DW\-\_AT\-\_allocated  \\
-&DW\-\_AT\-\_associated  \\
-&DW\-\_AT\-\_containing\-\_type  \\
-&DW\-\_AT\-\_data\-\_location  \\
-&DW\-\_AT\-\_declaration  \\
-&DW\-\_AT\-\_description  \\
-&DW\-\_AT\-\_name  \\
-&DW\-\_AT\-\_sibling  \\
-&DW\-\_AT\-\_type  \\
-&DW\-\_AT\-\_use\-\_location  \\
-&DW\-\_AT\-\_visibility  \\
+&\livelink{chap:DWATabstractorigin}{DW\-\_AT\-\_abstract\-\_origin}  \\
+&\livelink{chap:DWATaddressclass}{DW\-\_AT\-\_address\-\_class}  \\
+&\livelink{chap:DWATallocated}{DW\-\_AT\-\_allocated}  \\
+&\livelink{chap:DWATassociated}{DW\-\_AT\-\_associated}  \\
+&\livelink{chap:DWATcontainingtype}{DW\-\_AT\-\_containing\-\_type}  \\
+&\livelink{chap:DWATdatalocation}{DW\-\_AT\-\_data\-\_location}  \\
+&\livelink{chap:DWATdeclaration}{DW\-\_AT\-\_declaration}  \\
+&\livelink{chap:DWATdescription}{DW\-\_AT\-\_description}  \\
+&\livelink{chap:DWATname}{DW\-\_AT\-\_name}  \\
+&\livelink{chap:DWATsibling}{DW\-\_AT\-\_sibling}  \\
+&\livelink{chap:DWATtype}{DW\-\_AT\-\_type}  \\
+&\livelink{chap:DWATuselocation}{DW\-\_AT\-\_use\-\_location}  \\
+&\livelink{chap:DWATvisibility}{DW\-\_AT\-\_visibility}  \\
 
 
 \livelink{chap:DWTAGreferencetype}{DW\-\_TAG\-\_reference\-\_type}
-&DW\-\_AT\-\_address\-\_class  \\
-&DW\-\_AT\-\_allocated  \\
-&DW\-\_AT\-\_associated  \\
-&DW\-\_AT\-\_data\-\_location  \\
-&DW\-\_AT\-\_name  \\
-&DW\-\_AT\-\_sibling  \\
-&DW\-\_AT\-\_type  \\
+&\livelink{chap:DWATaddressclass}{DW\-\_AT\-\_address\-\_class}  \\
+&\livelink{chap:DWATallocated}{DW\-\_AT\-\_allocated}  \\
+&\livelink{chap:DWATassociated}{DW\-\_AT\-\_associated}  \\
+&\livelink{chap:DWATdatalocation}{DW\-\_AT\-\_data\-\_location}  \\
+&\livelink{chap:DWATname}{DW\-\_AT\-\_name}  \\
+&\livelink{chap:DWATsibling}{DW\-\_AT\-\_sibling}  \\
+&\livelink{chap:DWATtype}{DW\-\_AT\-\_type}  \\
 
 \livelink{chap:DWTAGrestricttype}{DW\-\_TAG\-\_restrict\-\_type}
-&DW\-\_AT\-\_allocated  \\
-&DW\-\_AT\-\_associated  \\
-&DW\-\_AT\-\_data\-\_location  \\
-&DW\-\_AT\-\_name  \\
-&DW\-\_AT\-\_sibling  \\
-&DW\-\_AT\-\_type  \\
+&\livelink{chap:DWATallocated}{DW\-\_AT\-\_allocated}  \\
+&\livelink{chap:DWATassociated}{DW\-\_AT\-\_associated}  \\
+&\livelink{chap:DWATdatalocation}{DW\-\_AT\-\_data\-\_location}  \\
+&\livelink{chap:DWATname}{DW\-\_AT\-\_name}  \\
+&\livelink{chap:DWATsibling}{DW\-\_AT\-\_sibling}  \\
+&\livelink{chap:DWATtype}{DW\-\_AT\-\_type}  \\
 
 \livelink{chap:DWTAGrvaluereferencetype}{DW\-\_TAG\-\_rvalue\-\_reference\-\_type}
 &DECL  \\
-&DW\-\_AT\-\_address\-\_class  \\
-&DW\-\_AT\-\_allocated  \\
-&DW\-\_AT\-\_associated  \\
-&DW\-\_AT\-\_data\-\_location  \\
-&DW\-\_AT\-\_name  \\
-&DW\-\_AT\-\_sibling  \\
-&DW\-\_AT\-\_type  \\
+&\livelink{chap:DWATaddressclass}{DW\-\_AT\-\_address\-\_class}  \\
+&\livelink{chap:DWATallocated}{DW\-\_AT\-\_allocated}  \\
+&\livelink{chap:DWATassociated}{DW\-\_AT\-\_associated}  \\
+&\livelink{chap:DWATdatalocation}{DW\-\_AT\-\_data\-\_location}  \\
+&\livelink{chap:DWATname}{DW\-\_AT\-\_name}  \\
+&\livelink{chap:DWATsibling}{DW\-\_AT\-\_sibling}  \\
+&\livelink{chap:DWATtype}{DW\-\_AT\-\_type}  \\
 
 
 \livelink{chap:DWTAGsettype}{DW\-\_TAG\-\_set\-\_type}
 &DECL  \\
-&DW\-\_AT\-\_abstract\-\_origin  \\
-&DW\-\_AT\-\_accessibility  \\
-&DW\-\_AT\-\_allocated  \\
-&DW\-\_AT\-\_associated  \\
-&DW\-\_AT\-\_bit\-\_size  \\
-&DW\-\_AT\-\_byte\-\_size  \\
-&DW\-\_AT\-\_data\-\_location  \\
-&DW\-\_AT\-\_declaration  \\
-&DW\-\_AT\-\_description  \\
-&DW\-\_AT\-\_name  \\
-&DW\-\_AT\-\_start\-\_scope  \\
-&DW\-\_AT\-\_sibling  \\
-&DW\-\_AT\-\_type  \\
-&DW\-\_AT\-\_visibility  \\
+&\livelink{chap:DWATabstractorigin}{DW\-\_AT\-\_abstract\-\_origin}  \\
+&\livelink{chap:DWATaccessibility}{DW\-\_AT\-\_accessibility}  \\
+&\livelink{chap:DWATallocated}{DW\-\_AT\-\_allocated}  \\
+&\livelink{chap:DWATassociated}{DW\-\_AT\-\_associated}  \\
+&\livelink{chap:DWATbitsize}{DW\-\_AT\-\_bit\-\_size}  \\
+&\livelink{chap:DWATbytesize}{DW\-\_AT\-\_byte\-\_size}  \\
+&\livelink{chap:DWATdatalocation}{DW\-\_AT\-\_data\-\_location}  \\
+&\livelink{chap:DWATdeclaration}{DW\-\_AT\-\_declaration}  \\
+&\livelink{chap:DWATdescription}{DW\-\_AT\-\_description}  \\
+&\livelink{chap:DWATname}{DW\-\_AT\-\_name}  \\
+&\livelink{chap:DWATstartscope}{DW\-\_AT\-\_start\-\_scope}  \\
+&\livelink{chap:DWATsibling}{DW\-\_AT\-\_sibling}  \\
+&\livelink{chap:DWATtype}{DW\-\_AT\-\_type}  \\
+&\livelink{chap:DWATvisibility}{DW\-\_AT\-\_visibility}  \\
 
 \livelink{chap:DWTAGsharedtype}{DW\-\_TAG\-\_shared\-\_type}
-&DW\-\_AT\-\_allocated  \\
-&DW\-\_AT\-\_associated  \\
-&DW\-\_AT\-\_count  \\
-&DW\-\_AT\-\_data\-\_location  \\
-&DW\-\_AT\-\_name  \\
-&DW\-\_AT\-\_sibling  \\
-&DW\-\_AT\-\_type  \\
+&\livelink{chap:DWATallocated}{DW\-\_AT\-\_allocated}  \\
+&\livelink{chap:DWATassociated}{DW\-\_AT\-\_associated}  \\
+&\livelink{chap:DWATcount}{DW\-\_AT\-\_count}  \\
+&\livelink{chap:DWATdatalocation}{DW\-\_AT\-\_data\-\_location}  \\
+&\livelink{chap:DWATname}{DW\-\_AT\-\_name}  \\
+&\livelink{chap:DWATsibling}{DW\-\_AT\-\_sibling}  \\
+&\livelink{chap:DWATtype}{DW\-\_AT\-\_type}  \\
 
 
 \livelink{chap:DWTAGstringtype}{DW\-\_TAG\-\_string\-\_type}
 &DECL  \\
-&DW\-\_AT\-\_abstract\-\_origin  \\
-&DW\-\_AT\-\_accessibility  \\
-&DW\-\_AT\-\_allocated  \\
-&DW\-\_AT\-\_associated  \\
-&DW\-\_AT\-\_bit\-\_size  \\
-&DW\-\_AT\-\_byte\-\_size  \\
-&DW\-\_AT\-\_data\-\_location  \\
-&DW\-\_AT\-\_declaration  \\
-&DW\-\_AT\-\_description  \\
-&DW\-\_AT\-\_name  \\
-&DW\-\_AT\-\_sibling  \\
-&DW\-\_AT\-\_start\-\_scope  \\
-&DW\-\_AT\-\_string\-\_length  \\
-&DW\-\_AT\-\_visibility  \\
+&\livelink{chap:DWATabstractorigin}{DW\-\_AT\-\_abstract\-\_origin}  \\
+&\livelink{chap:DWATaccessibility}{DW\-\_AT\-\_accessibility}  \\
+&\livelink{chap:DWATallocated}{DW\-\_AT\-\_allocated}  \\
+&\livelink{chap:DWATassociated}{DW\-\_AT\-\_associated}  \\
+&\livelink{chap:DWATbitsize}{DW\-\_AT\-\_bit\-\_size}  \\
+&\livelink{chap:DWATbytesize}{DW\-\_AT\-\_byte\-\_size}  \\
+&\livelink{chap:DWATdatalocation}{DW\-\_AT\-\_data\-\_location}  \\
+&\livelink{chap:DWATdeclaration}{DW\-\_AT\-\_declaration}  \\
+&\livelink{chap:DWATdescription}{DW\-\_AT\-\_description}  \\
+&\livelink{chap:DWATname}{DW\-\_AT\-\_name}  \\
+&\livelink{chap:DWATsibling}{DW\-\_AT\-\_sibling}  \\
+&\livelink{chap:DWATstartscope}{DW\-\_AT\-\_start\-\_scope}  \\
+&\livelink{chap:DWATstringlength}{DW\-\_AT\-\_string\-\_length}  \\
+&\livelink{chap:DWATvisibility}{DW\-\_AT\-\_visibility}  \\
 
 \livelink{chap:DWTAGstructuretype}{DW\-\_TAG\-\_structure\-\_type}
 &DECL  \\
-&DW\-\_AT\-\_abstract\-\_origin  \\
-&DW\-\_AT\-\_accessibility  \\
-&DW\-\_AT\-\_allocated  \\
-&DW\-\_AT\-\_associated  \\
-&DW\-\_AT\-\_bit\-\_size  \\
-&DW\-\_AT\-\_byte\-\_size  \\
-&DW\-\_AT\-\_data\-\_location  \\
-&DW\-\_AT\-\_declaration  \\
-&DW\-\_AT\-\_description  \\
-&DW\-\_AT\-\_name  \\
-&DW\-\_AT\-\_sibling  \\
-&DW\-\_AT\-\_signature  \\
-&DW\-\_AT\-\_specification  \\
-&DW\-\_AT\-\_start\-\_scope  \\
-&DW\-\_AT\-\_visibility  \\
+&\livelink{chap:DWATabstractorigin}{DW\-\_AT\-\_abstract\-\_origin}  \\
+&\livelink{chap:DWATaccessibility}{DW\-\_AT\-\_accessibility}  \\
+&\livelink{chap:DWATallocated}{DW\-\_AT\-\_allocated}  \\
+&\livelink{chap:DWATassociated}{DW\-\_AT\-\_associated}  \\
+&\livelink{chap:DWATbitsize}{DW\-\_AT\-\_bit\-\_size}  \\
+&\livelink{chap:DWATbytesize}{DW\-\_AT\-\_byte\-\_size}  \\
+&\livelink{chap:DWATdatalocation}{DW\-\_AT\-\_data\-\_location}  \\
+&\livelink{chap:DWATdeclaration}{DW\-\_AT\-\_declaration}  \\
+&\livelink{chap:DWATdescription}{DW\-\_AT\-\_description}  \\
+&\livelink{chap:DWATname}{DW\-\_AT\-\_name}  \\
+&\livelink{chap:DWATsibling}{DW\-\_AT\-\_sibling}  \\
+&\livelink{chap:DWATsignature}{DW\-\_AT\-\_signature}  \\
+&\livelink{chap:DWATspecification}{DW\-\_AT\-\_specification}  \\
+&\livelink{chap:DWATstartscope}{DW\-\_AT\-\_start\-\_scope}  \\
+&\livelink{chap:DWATvisibility}{DW\-\_AT\-\_visibility}  \\
 
 \livelink{chap:DWTAGsubprogram}{DW\-\_TAG\-\_subprogram}
 &DECL  \\
-&DW\-\_AT\-\_abstract\-\_origin  \\
-&DW\-\_AT\-\_accessibility  \\
-&DW\-\_AT\-\_address\-\_class  \\
-&DW\-\_AT\-\_artificial  \\
-&DW\-\_AT\-\_calling\-\_convention  \\
-&DW\-\_AT\-\_declaration  \\
-&DW\-\_AT\-\_description  \\
-&DW\-\_AT\-\_elemental  \\
-&DW\-\_AT\-\_entry\-\_pc  \\
-&DW\-\_AT\-\_explicit  \\
-&DW\-\_AT\-\_external  \\
-&DW\-\_AT\-\_frame\-\_base  \\
-&DW\-\_AT\-\_high\-\_pc  \\
-&DW\-\_AT\-\_inline  \\
-&DW\-\_AT\-\_linkage\-\_name  \\
-&DW\-\_AT\-\_low\-\_pc  \\
-&DW\-\_AT\-\_main\-\_subprogram  \\
-&DW\-\_AT\-\_name  \\
-&DW\-\_AT\-\_object\-\_pointer  \\
-&DW\-\_AT\-\_prototyped  \\
-&DW\-\_AT\-\_pure  \\
-&DW\-\_AT\-\_ranges  \\
-&DW\-\_AT\-\_recursive  \\
-&DW\-\_AT\-\_return\-\_addr  \\
-&DW\-\_AT\-\_segment  \\
-&DW\-\_AT\-\_sibling  \\
-&DW\-\_AT\-\_specification  \\
-&DW\-\_AT\-\_start\-\_scope  \\
-&DW\-\_AT\-\_static\-\_link  \\
-&DW\-\_AT\-\_trampoline  \\
-&DW\-\_AT\-\_type  \\
-&DW\-\_AT\-\_visibility  \\
-&DW\-\_AT\-\_virtuality  \\
-&DW\-\_AT\-\_vtable\-\_elem\-\_location  \\
+&\livelink{chap:DWATabstractorigin}{DW\-\_AT\-\_abstract\-\_origin}  \\
+&\livelink{chap:DWATaccessibility}{DW\-\_AT\-\_accessibility}  \\
+&\livelink{chap:DWATaddressclass}{DW\-\_AT\-\_address\-\_class}  \\
+&\livelink{chap:DWATartificial}{DW\-\_AT\-\_artificial}  \\
+&\livelink{chap:DWATcallingconvention}{DW\-\_AT\-\_calling\-\_convention}  \\
+&\livelink{chap:DWATdeclaration}{DW\-\_AT\-\_declaration}  \\
+&\livelink{chap:DWATdescription}{DW\-\_AT\-\_description}  \\
+&\livelink{chap:DWATelemental}{DW\-\_AT\-\_elemental}  \\
+&\livelink{chap:DWATentrypc}{DW\-\_AT\-\_entry\-\_pc}  \\
+&\livelink{chap:DWATexplicit}{DW\-\_AT\-\_explicit}  \\
+&\livelink{chap:DWATexternal}{DW\-\_AT\-\_external}  \\
+&\livelink{chap:DWATframebase}{DW\-\_AT\-\_frame\-\_base}  \\
+&\livelink{chap:DWAThighpc}{DW\-\_AT\-\_high\-\_pc}  \\
+&\livelink{chap:DWATinline}{DW\-\_AT\-\_inline}  \\
+&\livelink{chap:DWATlinkagename}{DW\-\_AT\-\_linkage\-\_name}  \\
+&\livelink{chap:DWATlowpc}{DW\-\_AT\-\_low\-\_pc}  \\
+&\livelink{chap:DWATmainsubprogram}{DW\-\_AT\-\_main\-\_subprogram}  \\
+&\livelink{chap:DWATname}{DW\-\_AT\-\_name}  \\
+&\livelink{chap:DWATobjectpointer}{DW\-\_AT\-\_object\-\_pointer}  \\
+&\livelink{chap:DWATprototyped}{DW\-\_AT\-\_prototyped}  \\
+&\livelink{chap:DWATpure}{DW\-\_AT\-\_pure}  \\
+&\livelink{chap:DWATranges}{DW\-\_AT\-\_ranges}  \\
+&\livelink{chap:DWATrecursive}{DW\-\_AT\-\_recursive}  \\
+&\livelink{chap:DWATreturnaddr}{DW\-\_AT\-\_return\-\_addr}  \\
+&\livelink{chap:DWATsegment}{DW\-\_AT\-\_segment}  \\
+&\livelink{chap:DWATsibling}{DW\-\_AT\-\_sibling}  \\
+&\livelink{chap:DWATspecification}{DW\-\_AT\-\_specification}  \\
+&\livelink{chap:DWATstartscope}{DW\-\_AT\-\_start\-\_scope}  \\
+&\livelink{chap:DWATstaticlink}{DW\-\_AT\-\_static\-\_link}  \\
+&\livelink{chap:DWATtrampoline}{DW\-\_AT\-\_trampoline}  \\
+&\livelink{chap:DWATtype}{DW\-\_AT\-\_type}  \\
+&\livelink{chap:DWATvisibility}{DW\-\_AT\-\_visibility}  \\
+&\livelink{chap:DWATvirtuality}{DW\-\_AT\-\_virtuality}  \\
+&\livelink{chap:DWATvtableelemlocation}{DW\-\_AT\-\_vtable\-\_elem\-\_location}  \\
 
 \livelink{chap:DWTAGsubrangetype}{DW\-\_TAG\-\_subrange\-\_type}
 &DECL  \\
-&DW\-\_AT\-\_abstract\-\_origin  \\
-&DW\-\_AT\-\_accessibility  \\
-&DW\-\_AT\-\_allocated  \\
-&DW\-\_AT\-\_associated  \\
-&DW\-\_AT\-\_bit\-\_size  \\
-&DW\-\_AT\-\_bit\-\_stride  \\
-&DW\-\_AT\-\_byte\-\_size  \\
-&DW\-\_AT\-\_byte\-\_stride  \\
-&DW\-\_AT\-\_count  \\
-&DW\-\_AT\-\_data\-\_location  \\
-&DW\-\_AT\-\_declaration  \\
-&DW\-\_AT\-\_description  \\
-&DW\-\_AT\-\_lower\-\_bound  \\
-&DW\-\_AT\-\_name  \\
-&DW\-\_AT\-\_sibling  \\
-&DW\-\_AT\-\_threads\-\_scaled  \\
-&DW\-\_AT\-\_type  \\
-&DW\-\_AT\-\_upper\-\_bound  \\
-&DW\-\_AT\-\_visibility  \\
+&\livelink{chap:DWATabstractorigin}{DW\-\_AT\-\_abstract\-\_origin}  \\
+&\livelink{chap:DWATaccessibility}{DW\-\_AT\-\_accessibility}  \\
+&\livelink{chap:DWATallocated}{DW\-\_AT\-\_allocated}  \\
+&\livelink{chap:DWATassociated}{DW\-\_AT\-\_associated}  \\
+&\livelink{chap:DWATbitsize}{DW\-\_AT\-\_bit\-\_size}  \\
+&\livelink{chap:DWATbitstride}{DW\-\_AT\-\_bit\-\_stride}  \\
+&\livelink{chap:DWATbytesize}{DW\-\_AT\-\_byte\-\_size}  \\
+&\livelink{chap:DWATbytestride}{DW\-\_AT\-\_byte\-\_stride}  \\
+&\livelink{chap:DWATcount}{DW\-\_AT\-\_count}  \\
+&\livelink{chap:DWATdatalocation}{DW\-\_AT\-\_data\-\_location}  \\
+&\livelink{chap:DWATdeclaration}{DW\-\_AT\-\_declaration}  \\
+&\livelink{chap:DWATdescription}{DW\-\_AT\-\_description}  \\
+&\livelink{chap:DWATlowerbound}{DW\-\_AT\-\_lower\-\_bound}  \\
+&\livelink{chap:DWATname}{DW\-\_AT\-\_name}  \\
+&\livelink{chap:DWATsibling}{DW\-\_AT\-\_sibling}  \\
+&\livelink{chap:DWATthreadsscaled}{DW\-\_AT\-\_threads\-\_scaled}  \\
+&\livelink{chap:DWATtype}{DW\-\_AT\-\_type}  \\
+&\livelink{chap:DWATupperbound}{DW\-\_AT\-\_upper\-\_bound}  \\
+&\livelink{chap:DWATvisibility}{DW\-\_AT\-\_visibility}  \\
 
 \livelink{chap:DWTAGsubroutinetype}{DW\-\_TAG\-\_subroutine\-\_type}
 &DECL  \\
-&DW\-\_AT\-\_abstract\-\_origin  \\
-&DW\-\_AT\-\_accessibility  \\
-&DW\-\_AT\-\_address\-\_class  \\
-&DW\-\_AT\-\_allocated  \\
-&DW\-\_AT\-\_associated  \\
-&DW\-\_AT\-\_data\-\_location  \\
-&DW\-\_AT\-\_declaration  \\
-&DW\-\_AT\-\_description  \\
-&DW\-\_AT\-\_name  \\
-&DW\-\_AT\-\_prototyped  \\
-&DW\-\_AT\-\_sibling  \\
-&DW\-\_AT\-\_start\-\_scope  \\
-&DW\-\_AT\-\_type  \\
-&DW\-\_AT\-\_visibility  \\
+&\livelink{chap:DWATabstractorigin}{DW\-\_AT\-\_abstract\-\_origin}  \\
+&\livelink{chap:DWATaccessibility}{DW\-\_AT\-\_accessibility}  \\
+&\livelink{chap:DWATaddressclass}{DW\-\_AT\-\_address\-\_class}  \\
+&\livelink{chap:DWATallocated}{DW\-\_AT\-\_allocated}  \\
+&\livelink{chap:DWATassociated}{DW\-\_AT\-\_associated}  \\
+&\livelink{chap:DWATdatalocation}{DW\-\_AT\-\_data\-\_location}  \\
+&\livelink{chap:DWATdeclaration}{DW\-\_AT\-\_declaration}  \\
+&\livelink{chap:DWATdescription}{DW\-\_AT\-\_description}  \\
+&\livelink{chap:DWATname}{DW\-\_AT\-\_name}  \\
+&\livelink{chap:DWATprototyped}{DW\-\_AT\-\_prototyped}  \\
+&\livelink{chap:DWATsibling}{DW\-\_AT\-\_sibling}  \\
+&\livelink{chap:DWATstartscope}{DW\-\_AT\-\_start\-\_scope}  \\
+&\livelink{chap:DWATtype}{DW\-\_AT\-\_type}  \\
+&\livelink{chap:DWATvisibility}{DW\-\_AT\-\_visibility}  \\
 
 \livelink{chap:DWTAGtemplatealias}{DW\-\_TAG\-\_template\-\_alias}
 &DECL   \\
-&DW\-\_AT\-\_abstract\-\_origin   \\
-&DW\-\_AT\-\_accessibility   \\
-&DW\-\_AT\-\_allocated   \\
-&DW\-\_AT\-\_associated   \\
-&DW\-\_AT\-\_data\-\_location   \\
-&DW\-\_AT\-\_declaration   \\
-&DW\-\_AT\-\_description   \\
-&DW\-\_AT\-\_name   \\
-&DW\-\_AT\-\_sibling   \\
-&DW\-\_AT\-\_signature   \\
-&DW\-\_AT\-\_start\-\_scope   \\
-&DW\-\_AT\-\_type   \\
-&DW\-\_AT\-\_visibility   \\
+&\livelink{chap:DWATabstractorigin}{DW\-\_AT\-\_abstract\-\_origin}   \\
+&\livelink{chap:DWATaccessibility}{DW\-\_AT\-\_accessibility}   \\
+&\livelink{chap:DWATallocated}{DW\-\_AT\-\_allocated}   \\
+&\livelink{chap:DWATassociated}{DW\-\_AT\-\_associated}   \\
+&\livelink{chap:DWATdatalocation}{DW\-\_AT\-\_data\-\_location}   \\
+&\livelink{chap:DWATdeclaration}{DW\-\_AT\-\_declaration}   \\
+&\livelink{chap:DWATdescription}{DW\-\_AT\-\_description}   \\
+&\livelink{chap:DWATname}{DW\-\_AT\-\_name}   \\
+&\livelink{chap:DWATsibling}{DW\-\_AT\-\_sibling}   \\
+&\livelink{chap:DWATsignature}{DW\-\_AT\-\_signature}   \\
+&\livelink{chap:DWATstartscope}{DW\-\_AT\-\_start\-\_scope}   \\
+&\livelink{chap:DWATtype}{DW\-\_AT\-\_type}   \\
+&\livelink{chap:DWATvisibility}{DW\-\_AT\-\_visibility}   \\
 
 \livelink{chap:DWTAGtemplatetypeparameter}{DW\-\_TAG\-\_template\-\_type\-\_parameter}
 &DECL   \\
-&DW\-\_AT\-\_description   \\
-&DW\-\_AT\-\_name   \\
-&DW\-\_AT\-\_sibling   \\
-&DW\-\_AT\-\_type   \\
+&\livelink{chap:DWATdescription}{DW\-\_AT\-\_description}   \\
+&\livelink{chap:DWATname}{DW\-\_AT\-\_name}   \\
+&\livelink{chap:DWATsibling}{DW\-\_AT\-\_sibling}   \\
+&\livelink{chap:DWATtype}{DW\-\_AT\-\_type}   \\
 
 \livelink{chap:DWTAGtemplatevalueparameter}{DW\-\_TAG\-\_template\-\_value\-\_parameter} 
 &DECL   \\
-&DW\-\_AT\-\_const\-\_value   \\
-&DW\-\_AT\-\_description   \\
-&DW\-\_AT\-\_name   \\
-&DW\-\_AT\-\_sibling   \\
-&DW\-\_AT\-\_type   \\
+&\livelink{chap:DWATconstvalue}{DW\-\_AT\-\_const\-\_value}   \\
+&\livelink{chap:DWATdescription}{DW\-\_AT\-\_description}   \\
+&\livelink{chap:DWATname}{DW\-\_AT\-\_name}   \\
+&\livelink{chap:DWATsibling}{DW\-\_AT\-\_sibling}   \\
+&\livelink{chap:DWATtype}{DW\-\_AT\-\_type}   \\
 
 
 \livelink{chap:DWTAGthrowntype}{DW\-\_TAG\-\_thrown\-\_type}
 &DECL   \\
-&DW\-\_AT\-\_allocated   \\
-&DW\-\_AT\-\_associated   \\
-&DW\-\_AT\-\_data\-\_location   \\
-&DW\-\_AT\-\_sibling   \\
-&DW\-\_AT\-\_type   \\
+&\livelink{chap:DWATallocated}{DW\-\_AT\-\_allocated}   \\
+&\livelink{chap:DWATassociated}{DW\-\_AT\-\_associated}   \\
+&\livelink{chap:DWATdatalocation}{DW\-\_AT\-\_data\-\_location}   \\
+&\livelink{chap:DWATsibling}{DW\-\_AT\-\_sibling}   \\
+&\livelink{chap:DWATtype}{DW\-\_AT\-\_type}   \\
 
 \livelink{chap:DWTAGtryblock}{DW\-\_TAG\-\_try\-\_block}
 &DECL   \\
-&DW\-\_AT\-\_abstract\-\_origin   \\
-&DW\-\_AT\-\_high\-\_pc   \\
-&DW\-\_AT\-\_low\-\_pc   \\
-&DW\-\_AT\-\_ranges   \\
-&DW\-\_AT\-\_segment   \\
-&DW\-\_AT\-\_sibling   \\
+&\livelink{chap:DWATabstractorigin}{DW\-\_AT\-\_abstract\-\_origin}   \\
+&\livelink{chap:DWAThighpc}{DW\-\_AT\-\_high\-\_pc}   \\
+&\livelink{chap:DWATlowpc}{DW\-\_AT\-\_low\-\_pc}   \\
+&\livelink{chap:DWATranges}{DW\-\_AT\-\_ranges}   \\
+&\livelink{chap:DWATsegment}{DW\-\_AT\-\_segment}   \\
+&\livelink{chap:DWATsibling}{DW\-\_AT\-\_sibling}   \\
 
 \livelink{chap:DWTAGtypedef}{DW\-\_TAG\-\_typedef}
 &DECL   \\
-&DW\-\_AT\-\_abstract\-\_origin   \\
-&DW\-\_AT\-\_accessibility   \\
-&DW\-\_AT\-\_allocated   \\
-&DW\-\_AT\-\_associated   \\
-&DW\-\_AT\-\_data\-\_location   \\
-&DW\-\_AT\-\_declaration   \\
-&DW\-\_AT\-\_description   \\
-&DW\-\_AT\-\_name   \\
-&DW\-\_AT\-\_sibling   \\
-&DW\-\_AT\-\_start\-\_scope   \\
-&DW\-\_AT\-\_type   \\
-&DW\-\_AT\-\_visibility   \\
+&\livelink{chap:DWATabstractorigin}{DW\-\_AT\-\_abstract\-\_origin}   \\
+&\livelink{chap:DWATaccessibility}{DW\-\_AT\-\_accessibility}   \\
+&\livelink{chap:DWATallocated}{DW\-\_AT\-\_allocated}   \\
+&\livelink{chap:DWATassociated}{DW\-\_AT\-\_associated}   \\
+&\livelink{chap:DWATdatalocation}{DW\-\_AT\-\_data\-\_location}   \\
+&\livelink{chap:DWATdeclaration}{DW\-\_AT\-\_declaration}   \\
+&\livelink{chap:DWATdescription}{DW\-\_AT\-\_description}   \\
+&\livelink{chap:DWATname}{DW\-\_AT\-\_name}   \\
+&\livelink{chap:DWATsibling}{DW\-\_AT\-\_sibling}   \\
+&\livelink{chap:DWATstartscope}{DW\-\_AT\-\_start\-\_scope}   \\
+&\livelink{chap:DWATtype}{DW\-\_AT\-\_type}   \\
+&\livelink{chap:DWATvisibility}{DW\-\_AT\-\_visibility}   \\
 
 \livelink{chap:DWTAGtypeunit}{DW\-\_TAG\-\_type\-\_unit}
-&DW\-\_AT\-\_language   \\
+&\livelink{chap:DWATlanguage}{DW\-\_AT\-\_language}   \\
 
 \livelink{chap:DWTAGuniontype}{DW\-\_TAG\-\_union\-\_type}
 &DECL   \\
-&DW\-\_AT\-\_abstract\-\_origin   \\
-&DW\-\_AT\-\_accessibility   \\
-&DW\-\_AT\-\_allocated   \\
-&DW\-\_AT\-\_associated   \\
-&DW\-\_AT\-\_bit\-\_size   \\
-&DW\-\_AT\-\_byte\-\_size   \\
-&DW\-\_AT\-\_data\-\_location   \\
-&DW\-\_AT\-\_declaration   \\
-&DW\-\_AT\-\_description   \\
-&DW\-\_AT\-\_name   \\
-&DW\-\_AT\-\_sibling   \\
-&DW\-\_AT\-\_signature   \\
-&DW\-\_AT\-\_specification   \\
-&DW\-\_AT\-\_start\-\_scope   \\
-&DW\-\_AT\-\_visibility   \\
+&\livelink{chap:DWATabstractorigin}{DW\-\_AT\-\_abstract\-\_origin}   \\
+&\livelink{chap:DWATaccessibility}{DW\-\_AT\-\_accessibility}   \\
+&\livelink{chap:DWATallocated}{DW\-\_AT\-\_allocated}   \\
+&\livelink{chap:DWATassociated}{DW\-\_AT\-\_associated}   \\
+&\livelink{chap:DWATbitsize}{DW\-\_AT\-\_bit\-\_size}   \\
+&\livelink{chap:DWATbytesize}{DW\-\_AT\-\_byte\-\_size}   \\
+&\livelink{chap:DWATdatalocation}{DW\-\_AT\-\_data\-\_location}   \\
+&\livelink{chap:DWATdeclaration}{DW\-\_AT\-\_declaration}   \\
+&\livelink{chap:DWATdescription}{DW\-\_AT\-\_description}   \\
+&\livelink{chap:DWATname}{DW\-\_AT\-\_name}   \\
+&\livelink{chap:DWATsibling}{DW\-\_AT\-\_sibling}   \\
+&\livelink{chap:DWATsignature}{DW\-\_AT\-\_signature}   \\
+&\livelink{chap:DWATspecification}{DW\-\_AT\-\_specification}   \\
+&\livelink{chap:DWATstartscope}{DW\-\_AT\-\_start\-\_scope}   \\
+&\livelink{chap:DWATvisibility}{DW\-\_AT\-\_visibility}   \\
 
 
 \livelink{chap:DWTAGunspecifiedparameters}{DW\-\_TAG\-\_unspecified\-\_parameters}
 &DECL   \\
-&DW\-\_AT\-\_abstract\-\_origin   \\
-&DW\-\_AT\-\_artificial   \\
-&DW\-\_AT\-\_sibling   \\
+&\livelink{chap:DWATabstractorigin}{DW\-\_AT\-\_abstract\-\_origin}   \\
+&\livelink{chap:DWATartificial}{DW\-\_AT\-\_artificial}   \\
+&\livelink{chap:DWATsibling}{DW\-\_AT\-\_sibling}   \\
 
 \livelink{chap:DWTAGunspecifiedtype}{DW\-\_TAG\-\_unspecified\-\_type}
 &DECL   \\
-&DW\-\_AT\-\_description   \\
-&DW\-\_AT\-\_name    \\
+&\livelink{chap:DWATdescription}{DW\-\_AT\-\_description}   \\
+&\livelink{chap:DWATname}{DW\-\_AT\-\_name}    \\
 
 
 \livelink{chap:DWTAGvariable}{DW\-\_TAG\-\_variable}
 &DECL    \\
-&DW\-\_AT\-\_abstract\-\_origin    \\
-&DW\-\_AT\-\_accessibility    \\
-&DW\-\_AT\-\_const\-\_expr    \\
-&DW\-\_AT\-\_const\-\_value    \\
-&DW\-\_AT\-\_declaration    \\
-&DW\-\_AT\-\_description    \\
-&DW\-\_AT\-\_endianity    \\
-&DW\-\_AT\-\_external    \\
-&DW\-\_AT\-\_linkage\-\_name    \\
-&DW\-\_AT\-\_location    \\
-&DW\-\_AT\-\_name    \\
-&DW\-\_AT\-\_segment    \\
-&DW\-\_AT\-\_sibling    \\
-&DW\-\_AT\-\_specification    \\
-&DW\-\_AT\-\_start\-\_scope    \\
-&DW\-\_AT\-\_type    \\
-&DW\-\_AT\-\_visibility    \\
+&\livelink{chap:DWATabstractorigin}{DW\-\_AT\-\_abstract\-\_origin}    \\
+&\livelink{chap:DWATaccessibility}{DW\-\_AT\-\_accessibility}    \\
+&\livelink{chap:DWATconstexpr}{DW\-\_AT\-\_const\-\_expr}    \\
+&\livelink{chap:DWATconstvalue}{DW\-\_AT\-\_const\-\_value}    \\
+&\livelink{chap:DWATdeclaration}{DW\-\_AT\-\_declaration}    \\
+&\livelink{chap:DWATdescription}{DW\-\_AT\-\_description}    \\
+&\livelink{chap:DWATendianity}{DW\-\_AT\-\_endianity}    \\
+&\livelink{chap:DWATexternal}{DW\-\_AT\-\_external}    \\
+&\livelink{chap:DWATlinkagename}{DW\-\_AT\-\_linkage\-\_name}    \\
+&\livelink{chap:DWATlocation}{DW\-\_AT\-\_location}    \\
+&\livelink{chap:DWATname}{DW\-\_AT\-\_name}    \\
+&\livelink{chap:DWATsegment}{DW\-\_AT\-\_segment}    \\
+&\livelink{chap:DWATsibling}{DW\-\_AT\-\_sibling}    \\
+&\livelink{chap:DWATspecification}{DW\-\_AT\-\_specification}    \\
+&\livelink{chap:DWATstartscope}{DW\-\_AT\-\_start\-\_scope}    \\
+&\livelink{chap:DWATtype}{DW\-\_AT\-\_type}    \\
+&\livelink{chap:DWATvisibility}{DW\-\_AT\-\_visibility}    \\
 
 \livelink{chap:DWTAGvariant}{DW\-\_TAG\-\_variant}
 &DECL    \\
-&DW\-\_AT\-\_accessibility   \\
-&DW\-\_AT\-\_abstract\-\_origin   \\
-&DW\-\_AT\-\_declaration   \\
-&DW\-\_AT\-\_discr\-\_list   \\
-&DW\-\_AT\-\_discr\-\_value   \\
-&DW\-\_AT\-\_sibling   \\
+&\livelink{chap:DWATaccessibility}{DW\-\_AT\-\_accessibility}   \\
+&\livelink{chap:DWATabstractorigin}{DW\-\_AT\-\_abstract\-\_origin}   \\
+&\livelink{chap:DWATdeclaration}{DW\-\_AT\-\_declaration}   \\
+&\livelink{chap:DWATdiscrlist}{DW\-\_AT\-\_discr\-\_list}   \\
+&\livelink{chap:DWATdiscrvalue}{DW\-\_AT\-\_discr\-\_value}   \\
+&\livelink{chap:DWATsibling}{DW\-\_AT\-\_sibling}   \\
 
 \livelink{chap:DWTAGvariantpart}{DW\-\_TAG\-\_variant\-\_part}
 &DECL   \\
-&DW\-\_AT\-\_abstract\-\_origin   \\
-&DW\-\_AT\-\_accessibility   \\
-&DW\-\_AT\-\_declaration   \\
-&DW\-\_AT\-\_discr   \\
-&DW\-\_AT\-\_sibling   \\
-&DW\-\_AT\-\_type   \\
+&\livelink{chap:DWATabstractorigin}{DW\-\_AT\-\_abstract\-\_origin}   \\
+&\livelink{chap:DWATaccessibility}{DW\-\_AT\-\_accessibility}   \\
+&\livelink{chap:DWATdeclaration}{DW\-\_AT\-\_declaration}   \\
+&\livelink{chap:DWATdiscr}{DW\-\_AT\-\_discr}   \\
+&\livelink{chap:DWATsibling}{DW\-\_AT\-\_sibling}   \\
+&\livelink{chap:DWATtype}{DW\-\_AT\-\_type}   \\
 
 \livelink{chap:DWTAGvolatiletype}{DW\-\_TAG\-\_volatile\-\_type}  
-&DW\-\_AT\-\_allocated   \\
-&DW\-\_AT\-\_associated    \\
-&DW\-\_AT\-\_data\-\_location    \\
-&DW\-\_AT\-\_name    \\
-&DW\-\_AT\-\_sibling    \\
-&DW\-\_AT\-\_type    \\
+&\livelink{chap:DWATallocated}{DW\-\_AT\-\_allocated}   \\
+&\livelink{chap:DWATassociated}{DW\-\_AT\-\_associated}    \\
+&\livelink{chap:DWATdatalocation}{DW\-\_AT\-\_data\-\_location}    \\
+&\livelink{chap:DWATname}{DW\-\_AT\-\_name}    \\
+&\livelink{chap:DWATsibling}{DW\-\_AT\-\_sibling}    \\
+&\livelink{chap:DWATtype}{DW\-\_AT\-\_type}    \\
 
 \livelink{chap:DWTAGwithstmt}{DW\-\_TAG\-\_with\-\_stmt}
-&DW\-\_AT\-\_accessibility    \\
-&DW\-\_AT\-\_address\-\_class    \\
-&DW\-\_AT\-\_declaration    \\
-&DW\-\_AT\-\_high\-\_pc    \\
-&DW\-\_AT\-\_location    \\
-&DW\-\_AT\-\_low\-\_pc    \\
-&DW\-\_AT\-\_ranges    \\
-&DW\-\_AT\-\_segment    \\
-&DW\-\_AT\-\_sibling    \\
-&DW\-\_AT\-\_type    \\
-&DW\-\_AT\-\_visibility    \\
+&\livelink{chap:DWATaccessibility}{DW\-\_AT\-\_accessibility}    \\
+&\livelink{chap:DWATaddressclass}{DW\-\_AT\-\_address\-\_class}    \\
+&\livelink{chap:DWATdeclaration}{DW\-\_AT\-\_declaration}    \\
+&\livelink{chap:DWAThighpc}{DW\-\_AT\-\_high\-\_pc}    \\
+&\livelink{chap:DWATlocation}{DW\-\_AT\-\_location}    \\
+&\livelink{chap:DWATlowpc}{DW\-\_AT\-\_low\-\_pc}    \\
+&\livelink{chap:DWATranges}{DW\-\_AT\-\_ranges}    \\
+&\livelink{chap:DWATsegment}{DW\-\_AT\-\_segment}    \\
+&\livelink{chap:DWATsibling}{DW\-\_AT\-\_sibling}    \\
+&\livelink{chap:DWATtype}{DW\-\_AT\-\_type}    \\
+&\livelink{chap:DWATvisibility}{DW\-\_AT\-\_visibility}    \\
 \end{longtable}
index 0459138..c5b6503 100644 (file)
@@ -339,7 +339,7 @@ the attributes assigned to a \livelink{chap:DWTAGcompileunit}{DW\-\_TAG\-\_compi
 \textbf{Use of \livelink{chap:DWTAGimportedunit}{DW\-\_TAG\-\_imported\-\_unit}}
 
 A \livelink{chap:DWTAGimportedunit}{DW\-\_TAG\-\_imported\-\_unit} debugging information entry has an
-DW\-\_AT\-\_import attribute referencing a \livelink{chap:DWTAGcompileunit}{DW\-\_TAG\-\_compile\-\_unit} or
+\livelink{chap:DWATimport}{DW\-\_AT\-\_import} attribute referencing a \livelink{chap:DWTAGcompileunit}{DW\-\_TAG\-\_compile\-\_unit} or
 \livelink{chap:DWTAGpartialunit}{DW\-\_TAG\-\_partial\-\_unit} debugging information entry.
 
 A \livelink{chap:DWTAGimportedunit}{DW\-\_TAG\-\_imported\-\_unit} debugging information entry refers
@@ -439,18 +439,18 @@ wa.h.
 == section .debug\_info
 DW.cpp.wa.h.123456.1: ! linker global symbol
     \livelink{chap:DWTAGcompileunit}{DW\-\_TAG\-\_compile\-\_unit}
-        DW\-\_AT\-\_language(DW\-\_LANG\-\_C\-\_plus\-\_plus)
+        \livelink{chap:DWATlanguage}{DW\-\_AT\-\_language}(DW\-\_LANG\-\_C\-\_plus\-\_plus)
         ...  ! other unit attributes
 DW.cpp.wa.h.123456.2: ! linker global symbol
     \livelink{chap:DWTAGbasetype}{DW\-\_TAG\-\_base\-\_type}
-        DW\-\_AT\-\_name("int")
+        \livelink{chap:DWATname}{DW\-\_AT\-\_name}("int")
 DW.cpp.wa.h.123456.3: ! linker global symbol
     \livelink{chap:DWTAGstructuretype}{DW\-\_TAG\-\_structure\-\_type}
-        DW\-\_AT\-\_NAME("A")
+        \livelink{chap:DWATname}{DW\-\_AT\-\_name}("A")
 DW.cpp.wa.h.123456.4: ! linker global symbol
         \livelink{chap:DWTAGmember}{DW\-\_TAG\-\_member}
-        DW\-\_AT\-\_name("i")
-        DW\-\_AT\-\_type(DW\-\_FORM\-\_refn to DW.cpp.wa.h.123456.2)
+        \livelink{chap:DWATname}{DW\-\_AT\-\_name}("i")
+        \livelink{chap:DWATtype}{DW\-\_AT\-\_type}(DW\-\_FORM\-\_refn to DW.cpp.wa.h.123456.2)
             ! (This is a local reference, so the more
             ! compact form DW\-\_FORM\-\_refn can be used)
 \end{alltt}
@@ -470,13 +470,13 @@ in the section group shown above.
     \livelink{chap:DWTAGcompileunit}{DW\-\_TAG\-\_compile\-\_unit}
 .L1:                   ! local (non-linker) symbol
         \livelink{chap:DWTAGreferencetype}{DW\-\_TAG\-\_reference\-\_type}
-            DW\-\_AT\-\_type(reference to DW.cpp.wa.h.123456.3)
+            \livelink{chap:DWATtype}{DW\-\_AT\-\_type}(reference to DW.cpp.wa.h.123456.3)
         \livelink{chap:DWTAGsubprogram}{DW\-\_TAG\-\_subprogram}
-            DW\-\_AT\-\_name("f")
-            DW\-\_AT\-\_type(reference to DW.cpp.wa.h.123456.2)
+            \livelink{chap:DWATname}{DW\-\_AT\-\_name}("f")
+            \livelink{chap:DWATtype}{DW\-\_AT\-\_type}(reference to DW.cpp.wa.h.123456.2)
             \livelink{chap:DWTAGvariable}{DW\-\_TAG\-\_variable}
-                DW\-\_AT\-\_name("a")
-                DW\-\_AT\-\_type(reference to .L1)
+                \livelink{chap:DWATname}{DW\-\_AT\-\_name}("a")
+                \livelink{chap:DWATtype}{DW\-\_AT\-\_type}(reference to .L1)
         ...
 \end{alltt}
 
@@ -531,35 +531,35 @@ corresponding to the included file CommonStuff.fh.
 DW.myf90.CommonStuff.fh.654321.1:    ! linker global symbol
     \livelink{chap:DWTAGpartialunit}{DW\-\_TAG\-\_partial\-\_unit}
         ! ...compilation unit attributes, including...
-        DW\-\_AT\-\_language(DW\-\_LANG\-\_Fortran90)
-        DW\-\_AT\-\_identifier\-\_case(DW\-\_ID\-\_case\-\_insensitive)
+        \livelink{chap:DWATlanguage}{DW\-\_AT\-\_language}(DW\-\_LANG\-\_Fortran90)
+        \livelink{chap:DWATidentifiercase}{DW\-\_AT\-\_identifier\-\_case}(DW\-\_ID\-\_case\-\_insensitive)
 
 DW.myf90.CommonStuff.fh.654321.2: ! linker global symbol
 3\$: \livelink{chap:DWTAGarraytype}{DW\-\_TAG\-\_array\-\_type}
         ! unnamed
-        DW\-\_AT\-\_type(reference to DW.f90.F90\$main.f.2)
+        \livelink{chap:DWATtype}{DW\-\_AT\-\_type}(reference to DW.f90.F90\$main.f.2)
             ! base type INTEGER
         \livelink{chap:DWTAGsubrangetype}{DW\-\_TAG\-\_subrange\-\_type}
-            DW\-\_AT\-\_type(reference to DW.f90.F90\$main.f.2)
+            \livelink{chap:DWATtype}{DW\-\_AT\-\_type}(reference to DW.f90.F90\$main.f.2)
                 ! base type INTEGER)
-            DW\-\_AT\-\_lower\-\_bound(constant 1)
-            DW\-\_AT\-\_upper\-\_bound(constant 100)
+            \livelink{chap:DWATlowerbound}{DW\-\_AT\-\_lower\-\_bound}(constant 1)
+            \livelink{chap:DWATupperbound}{DW\-\_AT\-\_upper\-\_bound}(constant 100)
 
 DW.myf90.CommonStuff.fh.654321.3: ! linker global symbol
     \livelink{chap:DWTAGcommonblock}{DW\-\_TAG\-\_common\-\_block}
-        DW\-\_AT\-\_name("Common1")
-        DW\-\_AT\-\_location(Address of common block Common1)
+        \livelink{chap:DWATname}{DW\-\_AT\-\_name}("Common1")
+        \livelink{chap:DWATlocation}{DW\-\_AT\-\_location}(Address of common block Common1)
         \livelink{chap:DWTAGvariable}{DW\-\_TAG\-\_variable}
-            DW\-\_AT\-\_name("C")
-            DW\-\_AT\-\_type(reference to 3\$)
-            DW\-\_AT\-\_location(address of C)
+            \livelink{chap:DWATname}{DW\-\_AT\-\_name}("C")
+            \livelink{chap:DWATtype}{DW\-\_AT\-\_type}(reference to 3\$)
+            \livelink{chap:DWATlocation}{DW\-\_AT\-\_location}(address of C)
 
 DW.myf90.CommonStuff.fh.654321.4: ! linker global symbol
     \livelink{chap:DWTAGconstant}{DW\-\_TAG\-\_constant}
-        DW\-\_AT\-\_name("SEVEN")
-        DW\-\_AT\-\_type(reference to DW.f90.F90\$main.f.2)
+        \livelink{chap:DWATname}{DW\-\_AT\-\_name}("SEVEN")
+        \livelink{chap:DWATtype}{DW\-\_AT\-\_type}(reference to DW.f90.F90\$main.f.2)
             ! base type INTEGER
-        DW\-\_AT\-\_const\-\_value(constant 7)
+        \livelink{chap:DWATconstvalue}{DW\-\_AT\-\_const\-\_value}(constant 7)
 \end{alltt}
 
 Section \refersec{app:duplicateeliminationexample2primaryunit}
@@ -576,18 +576,18 @@ shows the sections for the primary compilation unit.
 == section .debug\_info
     \livelink{chap:DWTAGcompileunit}{DW\-\_TAG\-\_compile\-\_unit}
         \livelink{chap:DWTAGsubprogram}{DW\-\_TAG\-\_subprogram}
-            DW\-\_AT\-\_name("Foo")
-            DW\-\_AT\-\_type(reference to DW.f90.F90\$main.f.2)
+            \livelink{chap:DWATname}{DW\-\_AT\-\_name}("Foo")
+            \livelink{chap:DWATtype}{DW\-\_AT\-\_type}(reference to DW.f90.F90\$main.f.2)
                 ! base type INTEGER
             \livelink{chap:DWTAGimportedunit}{DW\-\_TAG\-\_imported\-\_unit}
-                DW\-\_AT\-\_import(reference to
+                \livelink{chap:DWATimport}{DW\-\_AT\-\_import}(reference to
                     DW.myf90.CommonStuff.fh.654321.1)
             \livelink{chap:DWTAGcommoninclusion}{DW\-\_TAG\-\_common\-\_inclusion} ! For Common1
-                DW\-\_AT\-\_common\-\_reference(reference to
+                \livelink{chap:DWATcommonreference}{DW\-\_AT\-\_common\-\_reference}(reference to
                     DW.myf90.CommonStuff.fh.654321.3)
             \livelink{chap:DWTAGvariable}{DW\-\_TAG\-\_variable} ! For function result
-                DW\-\_AT\-\_name("Foo")
-                    DW\-\_AT\-\_type(reference to DW.f90.F90\$main.f.2)
+                \livelink{chap:DWATname}{DW\-\_AT\-\_name}("Foo")
+                    \livelink{chap:DWATtype}{DW\-\_AT\-\_type}(reference to DW.f90.F90\$main.f.2)
                         ! base type INTEGER
 \end{alltt}
 
@@ -620,22 +620,22 @@ Section \refersec{app:duplicateeliminationexample2companiondwarf}.
 \begin{alltt}
 == section .debug\_info
     \livelink{chap:DWTAGcompileunit}{DW\-\_TAG\-\_compile\-\_unit}
-        DW\-\_AT\-\_name(F90\$main)
+        \livelink{chap:DWATname}{DW\-\_AT\-\_name}(F90\$main)
         \livelink{chap:DWTAGbasetype}{DW\-\_TAG\-\_base\-\_type}
-            DW\-\_AT\-\_name("INTEGER")
-            DW\-\_AT\-\_encoding(DW\-\_ATE\-\_signed)
-            DW\-\_AT\-\_byte\-\_size(...)
+            \livelink{chap:DWATname}{DW\-\_AT\-\_name}("INTEGER")
+            \livelink{chap:DWATencoding}{DW\-\_AT\-\_encoding}(DW\-\_ATE\-\_signed)
+            \livelink{chap:DWATbytesize}{DW\-\_AT\-\_byte\-\_size}(...)
 
         \livelink{chap:DWTAGbasetype}{DW\-\_TAG\-\_base\-\_type}
             ...
         ...  ! other base types
         \livelink{chap:DWTAGsubprogram}{DW\-\_TAG\-\_subprogram}
-            DW\-\_AT\-\_name("F90\$main")
+            \livelink{chap:DWATname}{DW\-\_AT\-\_name}("F90\$main")
             \livelink{chap:DWTAGimportedunit}{DW\-\_TAG\-\_imported\-\_unit}
-                DW\-\_AT\-\_import(reference to
+                \livelink{chap:DWATimport}{DW\-\_AT\-\_import}(reference to
                     DW.myf90.CommonStuff.fh.654321.1)
             \livelink{chap:DWTAGcommoninclusion}{DW\-\_TAG\-\_common\-\_inclusion} ! for Common1
-                DW\-\_AT\-\_common\-\_reference(reference to
+                \livelink{chap:DWATcommonreference}{DW\-\_AT\-\_common\-\_reference}(reference to
                     DW.myf90.CommonStuff.fh.654321.3)
             ...
 \end{alltt}
@@ -651,7 +651,7 @@ visible as global entities.
 The C++ example in this Section might appear to be equally
 valid as a C example. However, it is prudent to include
 a \livelink{chap:DWTAGimportedunit}{DW\-\_TAG\-\_imported\-\_unit} in the primary unit (see Figure 84)
-with an DW\-\_AT\-\_import attribute that refers to the proper unit
+with an \livelink{chap:DWATimport}{DW\-\_AT\-\_import} attribute that refers to the proper unit
 in the section group.
 
 \textit{The C rules for consistency of global (file scope) symbols
@@ -746,32 +746,32 @@ in
 % does not result in adding : into the attribute name.
 \begin{alltt}
   \livelink{chap:DWTAGtypeunit}{DW\-\_TAG\-\_type\-\_unit}
-      DW\-\_AT\-\_language: DW\-\_LANG\-\_C\-\_plus\-\_plus (4)
+      \livelink{chap:DWATlanguage}{DW\-\_AT\-\_language} : DW\-\_LANG\-\_C\-\_plus\-\_plus (4)
     \livelink{chap:DWTAGnamespace}{DW\-\_TAG\-\_namespace}
-        DW\-\_AT\-\_name : "N"
+        \livelink{chap:DWATname}{DW\-\_AT\-\_name} : "N"
 L1:
       \livelink{chap:DWTAGstructuretype}{DW\-\_TAG\-\_structure\-\_type}
-          DW\-\_AT\-\_name : "C"
-          DW\-\_AT\-\_byte\-\_size : 8
-          DW\-\_AT\-\_decl\-\_file : 1
-          DW\-\_AT\-\_decl\-\_line : 5
+          \livelink{chap:DWATname}{DW\-\_AT\-\_name} : "C"
+          \livelink{chap:DWATbytesize}{DW\-\_AT\-\_byte\-\_size} : 8
+          \livelink{chap:DWATdeclfile}{DW\-\_AT\-\_decl\-\_file} : 1
+          \livelink{chap:DWATdeclline}{DW\-\_AT\-\_decl\-\_line} : 5
         \livelink{chap:DWTAGmember}{DW\-\_TAG\-\_member}
-            DW\-\_AT\-\_name : "x"
-            DW\-\_AT\-\_decl\-\_file : 1
-            DW\-\_AT\-\_decl\-\_line : 6
-            DW\-\_AT\-\_type : reference to L2
-            DW\-\_AT\-\_data\-\_member\-\_location : 0
+            \livelink{chap:DWATname}{DW\-\_AT\-\_name} : "x"
+            \livelink{chap:DWATdeclfile}{DW\-\_AT\-\_decl\-\_file} : 1
+            \livelink{chap:DWATdeclline}{DW\-\_AT\-\_decl\-\_line} : 6
+            \livelink{chap:DWATtype}{DW\-\_AT\-\_type} : reference to L2
+            \livelink{chap:DWATdatamemberlocation}{DW\-\_AT\-\_data\-\_member\-\_location} : 0
         \livelink{chap:DWTAGmember}{DW\-\_TAG\-\_member}
-            DW\-\_AT\-\_name : "y"
-            DW\-\_AT\-\_decl\-\_file : 1
-            DW\-\_AT\-\_decl\-\_line : 7
-            DW\-\_AT\-\_type : reference to L2
-            DW\-\_AT\-\_data\-\_member\-\_location : 4
+            \livelink{chap:DWATname}{DW\-\_AT\-\_name} : "y"
+            \livelink{chap:DWATdeclfile}{DW\-\_AT\-\_decl\-\_file} : 1
+            \livelink{chap:DWATdeclline}{DW\-\_AT\-\_decl\-\_line} : 7
+            \livelink{chap:DWATtype}{DW\-\_AT\-\_type} : reference to L2
+            \livelink{chap:DWATdatamemberlocation}{DW\-\_AT\-\_data\-\_member\-\_location} : 4
 L2:
      \livelink{chap:DWTAGbasetype}{DW\-\_TAG\-\_base\-\_type}
-         DW\-\_AT\-\_byte\-\_size : 4
-         DW\-\_AT\-\_encoding : DW\-\_ATE\-\_signed
-         DW\-\_AT\-\_name : "int"
+         \livelink{chap:DWATbytesize}{DW\-\_AT\-\_byte\-\_size} : 4
+         \livelink{chap:DWATencoding}{DW\-\_AT\-\_encoding} : DW\-\_ATE\-\_signed
+         \livelink{chap:DWATname}{DW\-\_AT\-\_name} : "int"
 \end{alltt}
 
 In computing a signature for the type N::C, flatten the type
@@ -789,26 +789,26 @@ Section \refersec{app:typesignaturecomputation1flattenedbytestream}.
 0x43 0x39 0x4e 0x00
 // Step 3: 'D' \livelink{chap:DWTAGstructuretype}{DW\-\_TAG\-\_structure\-\_type}
 0x44 0x13
-// Step 4: 'A' DW\-\_AT\-\_name DW\-\_FORM\-\_string "C"
+// Step 4: 'A' \livelink{chap:DWATname}{DW\-\_AT\-\_name} DW\-\_FORM\-\_string "C"
 0x41 0x03 0x08 0x43 0x00
-// Step 4: 'A' DW\-\_AT\-\_byte\-\_size DW\-\_FORM\-\_sdata 8
+// Step 4: 'A' \livelink{chap:DWATbytesize}{DW\-\_AT\-\_byte\-\_size} DW\-\_FORM\-\_sdata 8
 0x41 0x0b 0x0d 0x08
 // Step 7: First child ("x")
     // Step 3: 'D' \livelink{chap:DWTAGmember}{DW\-\_TAG\-\_member}
     0x44 0x0d
-    // Step 4: 'A' DW\-\_AT\-\_name DW\-\_FORM\-\_string "x"
+    // Step 4: 'A' \livelink{chap:DWATname}{DW\-\_AT\-\_name} DW\-\_FORM\-\_string "x"
     0x41 0x03 0x08 0x78 0x00
-    // Step 4: 'A' DW\-\_AT\-\_data\-\_member\-\_location DW\-\_FORM\-\_sdata 0
+    // Step 4: 'A' \livelink{chap:DWATdatamemberlocation}{DW\-\_AT\-\_data\-\_member\-\_location} DW\-\_FORM\-\_sdata 0
     0x41 0x38 0x0d 0x00
-    // Step 6: 'T' DW\-\_AT\-\_type (type \#2)
+    // Step 6: 'T' \livelink{chap:DWATtype}{DW\-\_AT\-\_type} (type \#2)
     0x54 0x49
         // Step 3: 'D' \livelink{chap:DWTAGbasetype}{DW\-\_TAG\-\_base\-\_type}
         0x44 0x24
-        // Step 4: 'A' DW\-\_AT\-\_name DW\-\_FORM\-\_string "int"
+        // Step 4: 'A' \livelink{chap:DWATname}{DW\-\_AT\-\_name} DW\-\_FORM\-\_string "int"
         0x41 0x03 0x08 0x69 0x6e 0x74 0x00
-        // Step 4: 'A' DW\-\_AT\-\_byte\-\_size DW\-\_FORM\-\_sdata 4
+        // Step 4: 'A' \livelink{chap:DWATbytesize}{DW\-\_AT\-\_byte\-\_size} DW\-\_FORM\-\_sdata 4
         0x41 0x0b 0x0d 0x04
-        // Step 4: 'A' DW\-\_AT\-\_encoding DW\-\_FORM\-\_sdata DW\-\_ATE\-\_signed
+        // Step 4: 'A' \livelink{chap:DWATencoding}{DW\-\_AT\-\_encoding} DW\-\_FORM\-\_sdata DW\-\_ATE\-\_signed
         0x41 0x3e 0x0d 0x05
         // Step 7: End of \livelink{chap:DWTAGbasetype}{DW\-\_TAG\-\_base\-\_type} "int"
         0x00
@@ -817,11 +817,11 @@ Section \refersec{app:typesignaturecomputation1flattenedbytestream}.
 // Step 7: Second child ("y")
     // Step 3: 'D' \livelink{chap:DWTAGmember}{DW\-\_TAG\-\_member}
     0x44 0x0d
-    // Step 4: 'A' DW\-\_AT\-\_name DW\-\_FORM\-\_string "y"
+    // Step 4: 'A' \livelink{chap:DWATname}{DW\-\_AT\-\_name} DW\-\_FORM\-\_string "y"
     0x41 0x03 0x08 0x78 0x00
-    // Step 4: 'A' DW\-\_AT\-\_data\-\_member\-\_location DW\-\_FORM\-\_sdata 4
+    // Step 4: 'A' \livelink{chap:DWATdatamemberlocation}{DW\-\_AT\-\_data\-\_member\-\_location} DW\-\_FORM\-\_sdata 4
     0x41 0x38 0x0d 0x04
-    // Step 6: 'R' DW\-\_AT\-\_type (type \#2)
+    // Step 6: 'R' \livelink{chap:DWATtype}{DW\-\_AT\-\_type} (type \#2)
     0x52 0x49 0x02
     // Step 7: End of \livelink{chap:DWTAGmember}{DW\-\_TAG\-\_member} "y"
     0x00
@@ -843,81 +843,81 @@ Section \refersec{app:typesignaturecomputation2dwarfrepresentation}.
 
 \begin{alltt}
   \livelink{chap:DWTAGtypeunit}{DW\-\_TAG\-\_type\-\_unit}
-      DW\-\_AT\-\_language: DW\-\_LANG\-\_C\-\_plus\-\_plus (4)
+      \livelink{chap:DWATlanguage}{DW\-\_AT\-\_language} : DW\-\_LANG\-\_C\-\_plus\-\_plus (4)
     \livelink{chap:DWTAGnamespace}{DW\-\_TAG\-\_namespace}
-          DW\-\_AT\-\_name : "N"
+          \livelink{chap:DWATname}{DW\-\_AT\-\_name} : "N"
 L1:
         \livelink{chap:DWTAGclasstype}{DW\-\_TAG\-\_class\-\_type}
-             DW\-\_AT\-\_name : "A"
-             DW\-\_AT\-\_byte\-\_size : 20
-             DW\-\_AT\-\_decl\-\_file : 1
-             DW\-\_AT\-\_decl\-\_line : 10
+             \livelink{chap:DWATname}{DW\-\_AT\-\_name} : "A"
+             \livelink{chap:DWATbytesize}{DW\-\_AT\-\_byte\-\_size} : 20
+             \livelink{chap:DWATdeclfile}{DW\-\_AT\-\_decl\-\_file} : 1
+             \livelink{chap:DWATdeclline}{DW\-\_AT\-\_decl\-\_line} : 10
            \livelink{chap:DWTAGmember}{DW\-\_TAG\-\_member}
-                DW\-\_AT\-\_name : "v\_"
-                DW\-\_AT\-\_decl\-\_file : 1
-                DW\-\_AT\-\_decl\-\_line : 15
-                DW\-\_AT\-\_type : reference to L2
-                DW\-\_AT\-\_data\-\_member\-\_location : 0
-                DW\-\_AT\-\_accessibility : DW\-\_ACCESS\-\_private
+                \livelink{chap:DWATname}{DW\-\_AT\-\_name} : "v\_"
+                \livelink{chap:DWATdeclfile}{DW\-\_AT\-\_decl\-\_file} : 1
+                \livelink{chap:DWATdeclline}{DW\-\_AT\-\_decl\-\_line} : 15
+                \livelink{chap:DWATtype}{DW\-\_AT\-\_type} : reference to L2
+                \livelink{chap:DWATdatamemberlocation}{DW\-\_AT\-\_data\-\_member\-\_location} : 0
+                \livelink{chap:DWATaccessibility}{DW\-\_AT\-\_accessibility} : DW\-\_ACCESS\-\_private
           \livelink{chap:DWTAGmember}{DW\-\_TAG\-\_member}
-               DW\-\_AT\-\_name : "next"
-               DW\-\_AT\-\_decl\-\_file : 1
-               DW\-\_AT\-\_decl\-\_line : 16
-               DW\-\_AT\-\_type : reference to L3
-               DW\-\_AT\-\_data\-\_member\-\_location : 4
-               DW\-\_AT\-\_accessibility : DW\-\_ACCESS\-\_private
+               \livelink{chap:DWATname}{DW\-\_AT\-\_name} : "next"
+               \livelink{chap:DWATdeclfile}{DW\-\_AT\-\_decl\-\_file} : 1
+               \livelink{chap:DWATdeclline}{DW\-\_AT\-\_decl\-\_line} : 16
+               \livelink{chap:DWATtype}{DW\-\_AT\-\_type} : reference to L3
+               \livelink{chap:DWATdatamemberlocation}{DW\-\_AT\-\_data\-\_member\-\_location} : 4
+               \livelink{chap:DWATaccessibility}{DW\-\_AT\-\_accessibility} : DW\-\_ACCESS\-\_private
           \livelink{chap:DWTAGmember}{DW\-\_TAG\-\_member}
-               DW\-\_AT\-\_name : "bp"
-               DW\-\_AT\-\_decl\-\_file : 1
-               DW\-\_AT\-\_decl\-\_line : 17
-               DW\-\_AT\-\_type : reference to L4
-               DW\-\_AT\-\_data\-\_member\-\_location : 8
-               DW\-\_AT\-\_accessibility : DW\-\_ACCESS\-\_private
+               \livelink{chap:DWATname}{DW\-\_AT\-\_name} : "bp"
+               \livelink{chap:DWATdeclfile}{DW\-\_AT\-\_decl\-\_file} : 1
+               \livelink{chap:DWATdeclline}{DW\-\_AT\-\_decl\-\_line} : 17
+               \livelink{chap:DWATtype}{DW\-\_AT\-\_type} : reference to L4
+               \livelink{chap:DWATdatamemberlocation}{DW\-\_AT\-\_data\-\_member\-\_location} : 8
+               \livelink{chap:DWATaccessibility}{DW\-\_AT\-\_accessibility} : DW\-\_ACCESS\-\_private
           \livelink{chap:DWTAGmember}{DW\-\_TAG\-\_member}
-               DW\-\_AT\-\_name : "c"
-               DW\-\_AT\-\_decl\-\_file : 1
-               DW\-\_AT\-\_decl\-\_line : 18
-               DW\-\_AT\-\_type : 0xd28081e8 dcf5070a (signature for struct C)
-               DW\-\_AT\-\_data\-\_member\-\_location : 12
-               DW\-\_AT\-\_accessibility : DW\-\_ACCESS\-\_private
+               \livelink{chap:DWATname}{DW\-\_AT\-\_name} : "c"
+               \livelink{chap:DWATdeclfile}{DW\-\_AT\-\_decl\-\_file} : 1
+               \livelink{chap:DWATdeclline}{DW\-\_AT\-\_decl\-\_line} : 18
+               \livelink{chap:DWATtype}{DW\-\_AT\-\_type} : 0xd28081e8 dcf5070a (signature for struct C)
+               \livelink{chap:DWATdatamemberlocation}{DW\-\_AT\-\_data\-\_member\-\_location} : 12
+               \livelink{chap:DWATaccessibility}{DW\-\_AT\-\_accessibility} : DW\-\_ACCESS\-\_private
        \livelink{chap:DWTAGsubprogram}{DW\-\_TAG\-\_subprogram}
-           DW\-\_AT\-\_external : 1
-           DW\-\_AT\-\_name : "A"
-           DW\-\_AT\-\_decl\-\_file : 1
-           DW\-\_AT\-\_decl\-\_line : 12
-           DW\-\_AT\-\_declaration : 1
+           \livelink{chap:DWATexternal}{DW\-\_AT\-\_external} : 1
+           \livelink{chap:DWATname}{DW\-\_AT\-\_name} : "A"
+           \livelink{chap:DWATdeclfile}{DW\-\_AT\-\_decl\-\_file} : 1
+           \livelink{chap:DWATdeclline}{DW\-\_AT\-\_decl\-\_line} : 12
+           \livelink{chap:DWATdeclaration}{DW\-\_AT\-\_declaration} : 1
         \livelink{chap:DWTAGformalparameter}{DW\-\_TAG\-\_formal\-\_parameter}
-           DW\-\_AT\-\_type : reference to L3
-           DW\-\_AT\-\_artificial : 1
+           \livelink{chap:DWATtype}{DW\-\_AT\-\_type} : reference to L3
+           \livelink{chap:DWATartificial}{DW\-\_AT\-\_artificial} : 1
         \livelink{chap:DWTAGformalparameter}{DW\-\_TAG\-\_formal\-\_parameter}
-           DW\-\_AT\-\_type : reference to L2
+           \livelink{chap:DWATtype}{DW\-\_AT\-\_type} : reference to L2
        \livelink{chap:DWTAGsubprogram}{DW\-\_TAG\-\_subprogram}
-           DW\-\_AT\-\_external : 1
-           DW\-\_AT\-\_name : "v"
-           DW\-\_AT\-\_decl\-\_file : 1
-           DW\-\_AT\-\_decl\-\_line : 13
-           DW\-\_AT\-\_type : reference to L2
-           DW\-\_AT\-\_declaration : 1
+           \livelink{chap:DWATexternal}{DW\-\_AT\-\_external} : 1
+           \livelink{chap:DWATname}{DW\-\_AT\-\_name} : "v"
+           \livelink{chap:DWATdeclfile}{DW\-\_AT\-\_decl\-\_file} : 1
+           \livelink{chap:DWATdeclline}{DW\-\_AT\-\_decl\-\_line} : 13
+           \livelink{chap:DWATtype}{DW\-\_AT\-\_type} : reference to L2
+           \livelink{chap:DWATdeclaration}{DW\-\_AT\-\_declaration} : 1
          \livelink{chap:DWTAGformalparameter}{DW\-\_TAG\-\_formal\-\_parameter}
-           DW\-\_AT\-\_type : reference to L3
-           DW\-\_AT\-\_artificial : 1
+           \livelink{chap:DWATtype}{DW\-\_AT\-\_type} : reference to L3
+           \livelink{chap:DWATartificial}{DW\-\_AT\-\_artificial} : 1
 L2:
     \livelink{chap:DWTAGbasetype}{DW\-\_TAG\-\_base\-\_type}
-         DW\-\_AT\-\_byte\-\_size : 4
-         DW\-\_AT\-\_encoding : DW\-\_ATE\-\_signed
-         DW\-\_AT\-\_name : "int"
+         \livelink{chap:DWATbytesize}{DW\-\_AT\-\_byte\-\_size} : 4
+         \livelink{chap:DWATencoding}{DW\-\_AT\-\_encoding} : DW\-\_ATE\-\_signed
+         \livelink{chap:DWATname}{DW\-\_AT\-\_name} : "int"
 L3:
     \livelink{chap:DWTAGpointertype}{DW\-\_TAG\-\_pointer\-\_type}
-         DW\-\_AT\-\_type : reference to L1
+         \livelink{chap:DWATtype}{DW\-\_AT\-\_type} : reference to L1
 L4:
     \livelink{chap:DWTAGpointertype}{DW\-\_TAG\-\_pointer\-\_type}
-         DW\-\_AT\-\_type : reference to L5
+         \livelink{chap:DWATtype}{DW\-\_AT\-\_type} : reference to L5
     \livelink{chap:DWTAGnamespace}{DW\-\_TAG\-\_namespace}
-         DW\-\_AT\-\_name : "N"
+         \livelink{chap:DWATname}{DW\-\_AT\-\_name} : "N"
 L5:
        \livelink{chap:DWTAGstructuretype}{DW\-\_TAG\-\_structure\-\_type}
-           DW\-\_AT\-\_name : "B"
-           DW\-\_AT\-\_declaration : 1
+           \livelink{chap:DWATname}{DW\-\_AT\-\_name} : "B"
+           \livelink{chap:DWATdeclaration}{DW\-\_AT\-\_declaration} : 1
 \end{alltt}
 
 In this example, the structure types N::A and N::C have each
@@ -943,34 +943,35 @@ Section \refersec{app:typesignatureexample2flattenedbytestream}.
 
 \subsubsection{Type signature example 2: flattenedbytestream}
 \label{app:typesignatureexample2flattenedbytestream}
-
+% DWARF4 had a DW_AT_namespace below, 
+% but this error is fixed here to be DW_TAG_namespace.
 \begin{alltt}
 // Step 2: 'C' \livelink{chap:DWTAGnamespace}{DW\-\_TAG\-\_namespace} "N"
 0x43 0x39 0x4e 0x00
 // Step 3: 'D' \livelink{chap:DWTAGclasstype}{DW\-\_TAG\-\_class\-\_type}
 0x44 0x02
-// Step 4: 'A' DW\-\_AT\-\_name DW\-\_FORM\-\_string "A"
+// Step 4: 'A' \livelink{chap:DWATname}{DW\-\_AT\-\_name} DW\-\_FORM\-\_string "A"
 0x41 0x03 0x08 0x41 0x00
-// Step 4: 'A' DW\-\_AT\-\_byte\-\_size DW\-\_FORM\-\_sdata 20
+// Step 4: 'A' \livelink{chap:DWATbytesize}{DW\-\_AT\-\_byte\-\_size} DW\-\_FORM\-\_sdata 20
 0x41 0x0b 0x0d 0x14
 // Step 7: First child ("v\_")
     // Step 3: 'D' \livelink{chap:DWTAGmember}{DW\-\_TAG\-\_member}
     0x44 0x0d
-    // Step 4: 'A' DW\-\_AT\-\_name DW\-\_FORM\-\_string "v\_"
+    // Step 4: 'A' \livelink{chap:DWATname}{DW\-\_AT\-\_name} DW\-\_FORM\-\_string "v\_"
     0x41 0x03 0x08 0x76 0x5f 0x00
-    // Step 4: 'A' DW\-\_AT\-\_accessibility DW\-\_FORM\-\_sdata DW\-\_ACCESS\-\_private
+    // Step 4: 'A' \livelink{chap:DWATaccessibility}{DW\-\_AT\-\_accessibility} DW\-\_FORM\-\_sdata DW\-\_ACCESS\-\_private
     0x41 0x32 0x0d 0x03
-    // Step 4: 'A' DW\-\_AT\-\_data\-\_member\-\_location DW\-\_FORM\-\_sdata 0
+    // Step 4: 'A' \livelink{chap:DWATdatamemberlocation}{DW\-\_AT\-\_data\-\_member\-\_location} DW\-\_FORM\-\_sdata 0
     0x41 0x38 0x0d 0x00
-    // Step 6: 'T' DW\-\_AT\-\_type (type \#2)
+    // Step 6: 'T' \livelink{chap:DWATtype}{DW\-\_AT\-\_type} (type \#2)
     0x54 0x49
         // Step 3: 'D' \livelink{chap:DWTAGbasetype}{DW\-\_TAG\-\_base\-\_type}
         0x44 0x24
-        // Step 4: 'A' DW\-\_AT\-\_name DW\-\_FORM\-\_string "int"
+        // Step 4: 'A' \livelink{chap:DWATname}{DW\-\_AT\-\_name} DW\-\_FORM\-\_string "int"
         0x41 0x03 0x08 0x69 0x6e 0x74 0x00
-        // Step 4: 'A' DW\-\_AT\-\_byte\-\_size DW\-\_FORM\-\_sdata 4
+        // Step 4: 'A' \livelink{chap:DWATbytesize}{DW\-\_AT\-\_byte\-\_size} DW\-\_FORM\-\_sdata 4
         0x41 0x0b 0x0d 0x04
-        // Step 4: 'A' DW\-\_AT\-\_encoding DW\-\_FORM\-\_sdata DW\-\_ATE\-\_signed
+        // Step 4: 'A' \livelink{chap:DWATencoding}{DW\-\_AT\-\_encoding} DW\-\_FORM\-\_sdata DW\-\_ATE\-\_signed
         0x41 0x3e 0x0d 0x05
         // Step 7: End of \livelink{chap:DWTAGbasetype}{DW\-\_TAG\-\_base\-\_type} "int"
         0x00
@@ -979,19 +980,19 @@ Section \refersec{app:typesignatureexample2flattenedbytestream}.
 // Step 7: Second child ("next")
     // Step 3: 'D' \livelink{chap:DWTAGmember}{DW\-\_TAG\-\_member}
     0x44 0x0d
-    // Step 4: 'A' DW\-\_AT\-\_name DW\-\_FORM\-\_string "next"
+    // Step 4: 'A' \livelink{chap:DWATname}{DW\-\_AT\-\_name} DW\-\_FORM\-\_string "next"
     0x41 0x03 0x08 0x6e 0x65 0x78 0x74 0x00
-    // Step 4: 'A' DW\-\_AT\-\_accessibility DW\-\_FORM\-\_sdata DW\-\_ACCESS\-\_private
+    // Step 4: 'A' \livelink{chap:DWATaccessibility}{DW\-\_AT\-\_accessibility} DW\-\_FORM\-\_sdata DW\-\_ACCESS\-\_private
     0x41 0x32 0x0d 0x03
-    // Step 4: 'A' DW\-\_AT\-\_data\-\_member\-\_location DW\-\_FORM\-\_sdata 4
+    // Step 4: 'A' \livelink{chap:DWATdatamemberlocation}{DW\-\_AT\-\_data\-\_member\-\_location} DW\-\_FORM\-\_sdata 4
     0x41 0x38 0x0d 0x04
-    // Step 6: 'T' DW\-\_AT\-\_type (type \#3)
+    // Step 6: 'T' \livelink{chap:DWATtype}{DW\-\_AT\-\_type} (type \#3)
     0x54 0x49
         // Step 3: 'D' \livelink{chap:DWTAGpointertype}{DW\-\_TAG\-\_pointer\-\_type}
         0x44 0x0f
-        // Step 5: 'N' DW\-\_AT\-\_type
+        // Step 5: 'N' \livelink{chap:DWATtype}{DW\-\_AT\-\_type}
         0x4e 0x49
-        // Step 5: 'C' DW\-\_AT\-\_namespace "N" 'E'
+        // Step 5: 'C' \livelink{chap:DWTAGnamespace}{DW\-\_TAG\-\_namespace} "N" 'E'
         0x43 0x39 0x4e 0x00 0x45
         // Step 5: "A"
         0x41 0x00
@@ -1002,19 +1003,19 @@ Section \refersec{app:typesignatureexample2flattenedbytestream}.
 // Step 7: Third child ("bp")
     // Step 3: 'D' \livelink{chap:DWTAGmember}{DW\-\_TAG\-\_member}
     0x44 0x0d
-    // Step 4: 'A' DW\-\_AT\-\_name DW\-\_FORM\-\_string "bp"
+    // Step 4: 'A' \livelink{chap:DWATname}{DW\-\_AT\-\_name} DW\-\_FORM\-\_string "bp"
     0x41 0x03 0x08 0x62 0x70 0x00
-    // Step 4: 'A' DW\-\_AT\-\_accessibility DW\-\_FORM\-\_sdata DW\-\_ACCESS\-\_private
+    // Step 4: 'A' \livelink{chap:DWATaccessibility}{DW\-\_AT\-\_accessibility} DW\-\_FORM\-\_sdata DW\-\_ACCESS\-\_private
     0x41 0x32 0x0d 0x03
-    // Step 4: 'A' DW\-\_AT\-\_data\-\_member\-\_location DW\-\_FORM\-\_sdata 8
+    // Step 4: 'A' \livelink{chap:DWATdatamemberlocation}{DW\-\_AT\-\_data\-\_member\-\_location} DW\-\_FORM\-\_sdata 8
     0x41 0x38 0x0d 0x08
-    // Step 6: 'T' DW\-\_AT\-\_type (type \#4)
+    // Step 6: 'T' \livelink{chap:DWATtype}{DW\-\_AT\-\_type} (type \#4)
     0x54 0x49
         // Step 3: 'D' \livelink{chap:DWTAGpointertype}{DW\-\_TAG\-\_pointer\-\_type}
 0x44 0x0f
-        // Step 5: 'N' DW\-\_AT\-\_type
+        // Step 5: 'N' \livelink{chap:DWATtype}{DW\-\_AT\-\_type}
         0x4e 0x49
-        // Step 5: 'C' DW\-\_AT\-\_namespace "N" 'E'
+        // Step 5: 'C' \livelink{chap:DWTAGnamespace}{DW\-\_TAG\-\_namespace} "N" 'E'
         0x43 0x39 0x4e 0x00 0x45
         // Step 5: "B"
         0x42 0x00
@@ -1025,41 +1026,41 @@ Section \refersec{app:typesignatureexample2flattenedbytestream}.
 // Step 7: Fourth child ("c")
     // Step 3: 'D' \livelink{chap:DWTAGmember}{DW\-\_TAG\-\_member}
     0x44 0x0d
-    // Step 4: 'A' DW\-\_AT\-\_name DW\-\_FORM\-\_string "c"
+    // Step 4: 'A' \livelink{chap:DWATname}{DW\-\_AT\-\_name} DW\-\_FORM\-\_string "c"
     0x41 0x03 0x08 0x63 0x00
-    // Step 4: 'A' DW\-\_AT\-\_accessibility DW\-\_FORM\-\_sdata DW\-\_ACCESS\-\_private
+    // Step 4: 'A' \livelink{chap:DWATaccessibility}{DW\-\_AT\-\_accessibility} DW\-\_FORM\-\_sdata DW\-\_ACCESS\-\_private
     0x41 0x32 0x0d 0x03
-    // Step 4: 'A' DW\-\_AT\-\_data\-\_member\-\_location DW\-\_FORM\-\_sdata 12
+    // Step 4: 'A' \livelink{chap:DWATdatamemberlocation}{DW\-\_AT\-\_data\-\_member\-\_location} DW\-\_FORM\-\_sdata 12
     0x41 0x38 0x0d 0x0c
-    // Step 6: 'T' DW\-\_AT\-\_type (type \#5)
+    // Step 6: 'T' \livelink{chap:DWATtype}{DW\-\_AT\-\_type} (type \#5)
     0x54 0x49
         // Step 2: 'C' \livelink{chap:DWTAGnamespace}{DW\-\_TAG\-\_namespace} "N"
         0x43 0x39 0x4e 0x00
         // Step 3: 'D' \livelink{chap:DWTAGstructuretype}{DW\-\_TAG\-\_structure\-\_type}
         0x44 0x13
-        // Step 4: 'A' DW\-\_AT\-\_name DW\-\_FORM\-\_string "C"
+        // Step 4: 'A' \livelink{chap:DWATname}{DW\-\_AT\-\_name} DW\-\_FORM\-\_string "C"
         0x41 0x03 0x08 0x43 0x00
-        // Step 4: 'A' DW\-\_AT\-\_byte\-\_size DW\-\_FORM\-\_sdata 8
+        // Step 4: 'A' \livelink{chap:DWATbytesize}{DW\-\_AT\-\_byte\-\_size} DW\-\_FORM\-\_sdata 8
         0x41 0x0b 0x0d 0x08
         // Step 7: First child ("x")
             // Step 3: 'D' \livelink{chap:DWTAGmember}{DW\-\_TAG\-\_member}
             0x44 0x0d
-            // Step 4: 'A' DW\-\_AT\-\_name DW\-\_FORM\-\_string "x"
+            // Step 4: 'A' \livelink{chap:DWATname}{DW\-\_AT\-\_name} DW\-\_FORM\-\_string "x"
             0x41 0x03 0x08 0x78 0x00
-            // Step 4: 'A' DW\-\_AT\-\_data\-\_member\-\_location DW\-\_FORM\-\_sdata 0
+            // Step 4: 'A' \livelink{chap:DWATdatamemberlocation}{DW\-\_AT\-\_data\-\_member\-\_location} DW\-\_FORM\-\_sdata 0
             0x41 0x38 0x0d 0x00
-            // Step 6: 'R' DW\-\_AT\-\_type (type \#2)
+            // Step 6: 'R' \livelink{chap:DWATtype}{DW\-\_AT\-\_type} (type \#2)
             0x52 0x49 0x02
             // Step 7: End of \livelink{chap:DWTAGmember}{DW\-\_TAG\-\_member} "x"
             0x00
         // Step 7: Second child ("y")
             // Step 3: 'D' \livelink{chap:DWTAGmember}{DW\-\_TAG\-\_member}
             0x44 0x0d
-            // Step 4: 'A' DW\-\_AT\-\_name DW\-\_FORM\-\_string "y"
+            // Step 4: 'A' \livelink{chap:DWATname}{DW\-\_AT\-\_name} DW\-\_FORM\-\_string "y"
             0x41 0x03 0x08 0x79 0x00
-            // Step 4: 'A' DW\-\_AT\-\_data\-\_member\-\_location DW\-\_FORM\-\_sdata 4
+            // Step 4: 'A' \livelink{chap:DWATdatamemberlocation}{DW\-\_AT\-\_data\-\_member\-\_location} DW\-\_FORM\-\_sdata 4
             0x41 0x38 0x0d 0x04
-            // Step 6: 'R' DW\-\_AT\-\_type (type \#2)
+            // Step 6: 'R' \livelink{chap:DWATtype}{DW\-\_AT\-\_type} (type \#2)
             0x52 0x49 0x02
             // Step 7: End of \livelink{chap:DWTAGmember}{DW\-\_TAG\-\_member} "y"
             0x00
@@ -1097,9 +1098,9 @@ Section \refersec{app:typesignatureexampleusage}.
   \livelink{chap:DWTAGsubprogram}{DW\-\_TAG\-\_subprogram}
     ...
     \livelink{chap:DWTAGvariable}{DW\-\_TAG\-\_variable}
-      DW\-\_AT\-\_name : "a"
-      DW\-\_AT\-\_type : (signature) 0xd6d160f5 5589f6e9
-      DW\-\_AT\-\_location : ...
+      \livelink{chap:DWATname}{DW\-\_AT\-\_name} : "a"
+      \livelink{chap:DWATtype}{DW\-\_AT\-\_type} : (signature) 0xd6d160f5 5589f6e9
+      \livelink{chap:DWATlocation}{DW\-\_AT\-\_location} : ...
     ...
 \end{alltt}
 
index 3694b84..99aa399 100644 (file)
@@ -23,27 +23,27 @@ have true named constants.}
 The debugging information entry for a program variable,
 formal parameter or constant may have the following attributes:
 \begin{enumerate}[1.]
-\item A DW\-\_AT\-\_name attribute, whose value is a null-terminated
+\item A \livelink{chap:DWATname}{DW\-\_AT\-\_name} attribute, whose value is a null-terminated
 string, containing the data object name as it appears in the
 source program.  If a variable entry describes an anonymous
 union, the name attribute is omitted or consists of a single
 zero byte.
 
-\item A DW\-\_AT\-\_external attribute, which is a flag, if the name
+\item A \livelink{chap:DWATexternal}{DW\-\_AT\-\_external} attribute, which is a flag, if the name
 of a variable is visible outside of its enclosing compilation
 unit.  The definitions of C++ static data members of structures
 or classes are represented by variable entries flagged as
 external. Both file static and local variables in C and C++
 are represented by non-external variable entries.
 
-\item A DW\-\_AT\-\_declaration attribute, which is a flag that
+\item A \livelink{chap:DWATdeclaration}{DW\-\_AT\-\_declaration} attribute, which is a flag that
 indicates whether this entry represents a non-defining
 declaration of an object.
 
-\item A DW\-\_AT\-\_location attribute, whose value describes the
+\item A \livelink{chap:DWATlocation}{DW\-\_AT\-\_location} attribute, whose value describes the
 location of a variable or parameter at run-time.  In a variable
 entry representing the definition of a variable (that is,
-with no DW\-\_AT\-\_declaration attribute) if no location attribute
+with no \livelink{chap:DWATdeclaration}{DW\-\_AT\-\_declaration} attribute) if no location attribute
 is present, or if the location attribute is present but has
 an empty location description (as described in Section 2.6),
 the variable is assumed to exist in the source code but not
@@ -53,41 +53,41 @@ In a variable entry representing a non-defining declaration of a variable, the l
 specified modifies the location specified by the defining declaration and only applies for the
 scope of the variable entry; if no location is specified, then the location specified in the
 defining declaration applies.
-The location of a variable may be further specified with a DW\-\_AT\-\_segment attribute, if
+The location of a variable may be further specified with a \livelink{chap:DWATsegment}{DW\-\_AT\-\_segment} attribute, if
 appropriate.
 
-\item A DW\-\_AT\-\_type attribute describing the type of the variable,
+\item A \livelink{chap:DWATtype}{DW\-\_AT\-\_type} attribute describing the type of the variable,
 constant or formal parameter.
 
 \item If the variable entry represents the defining declaration
 for a C++ static data member of a structure, class or union,
-the entry has a DW\-\_AT\-\_specification attribute, whose value is a
+the entry has a \livelink{chap:DWATspecification}{DW\-\_AT\-\_specification} attribute, whose value is a
 reference to the debugging information entry representing the
 declaration of this data member. The referenced entry has the
 tag \livelink{chap:DWTAGmember}{DW\-\_TAG\-\_member} and will be a child of some class, structure
 or union type entry.  If the variable entry represents a
-non-defining declaration, DW\-\_AT\-\_specification may be used
+non-defining declaration, \livelink{chap:DWATspecification}{DW\-\_AT\-\_specification} may be used
 to reference the defining declaration of the variable. If
-no DW\-\_AT\-\_specification attribute is present, the defining
+no \livelink{chap:DWATspecification}{DW\-\_AT\-\_specification} attribute is present, the defining
 declaration may be found as a global definition either in the
 current compilation unit or in another compilation unit with
-the DW\-\_AT\-\_external attribute.  Variable entries containing
-the DW\-\_AT\-\_specification attribute do not need to duplicate
+the \livelink{chap:DWATexternal}{DW\-\_AT\-\_external} attribute.  Variable entries containing
+the \livelink{chap:DWATspecification}{DW\-\_AT\-\_specification} attribute do not need to duplicate
 information provided by the declaration entry referenced by
 the specification attribute. In particular, such variable
 entries do not need to contain attributes for the name or
 type of the data member whose definition they represent.
 
-\item A DW\-\_AT\-\_variable\-\_parameter attribute, which is a flag,
+\item A \livelink{chap:DWATvariableparameter}{DW\-\_AT\-\_variable\-\_parameter} attribute, which is a flag,
 if a formal parameter entry represents a parameter whose
 value in the calling function may be modified by the callee..
 The absence of this attribute implies that the parameter’s
 value in the calling function cannot be modified by the callee.
 
-\item A DW\-\_AT\-\_is\-\_optional attribute, which is a flag, if a
+\item A \livelink{chap:DWATisoptional}{DW\-\_AT\-\_is\-\_optional} attribute, which is a flag, if a
 parameter entry represents an optional parameter.
 
-\item A DW\-\_AT\-\_default\-\_value attribute for a formal parameter
+\item A \livelink{chap:DWATdefaultvalue}{DW\-\_AT\-\_default\-\_value} attribute for a formal parameter
 entry. The value of this attribute is a reference to the
 debugging information entry for a variable or subroutine,
 or the value may be a constant. If the attribute form is of
@@ -101,7 +101,7 @@ as a default value of the type of the formal parameter.
 \textit{For a constant form there is no way to 
 express the absence of a default value.}
 
-\item A DW\-\_AT\-\_const\-\_value attribute for an entry describing a
+\item A \livelink{chap:DWATconstvalue}{DW\-\_AT\-\_const\-\_value} attribute for an entry describing a
 variable or formal parameter whose value is constant and not
 represented by an object in the address space of the program,
 or an entry describing a named constant. (Note that such
@@ -115,7 +115,7 @@ with a constant value and no location can arise is for a
 formal parameter of an inlined subprogram that corresponds
 to a constant actual parameter of a call that is inlined.
 
-\item A DW\-\_AT\-\_start\-\_scope attribute if the scope of an
+\item A \livelink{chap:DWATstartscope}{DW\-\_AT\-\_start\-\_scope} attribute if the scope of an
 object is smaller than (that is, is a subset of the addresses
 of) the scope most closely enclosing the object. There are
 two cases:
@@ -167,7 +167,7 @@ the containing scope is contiguous. Conversely, the scope of
 an object may not require its own range list even when the
 containing scope is non\dash contiguous.}
 
-\item A DW\-\_AT\-\_endianity attribute, whose value is a constant
+\item A \livelink{chap:DWATendianity}{DW\-\_AT\-\_endianity} attribute, whose value is a constant
 that specifies the endianity of the object. The value of
 this attribute specifies an ABI\dash defined byte ordering for
 the value of the object. If omitted, the default endianity
@@ -181,7 +181,7 @@ Figure \refersec{fig:endianityattributevalues}.
 Name&Meaning\\ \hline
 DW\-\_END\-\_default &  Default endian encoding
   (equivalent to the absence of a 
-  DW\-\_AT\-\_endianity attribute) \\
+  \livelink{chap:DWATendianity}{DW\-\_AT\-\_endianity} attribute) \\
 DW\-\_END\-\_big & Big\dash endian encoding \\
 DW\-\_END\-\_little& Little-endian encoding \\
 \end{tabular}
@@ -196,17 +196,17 @@ exact definition of these formats may differ in subtle ways
 for different architectures.
 
 
-\item A DW\-\_AT\-\_const\-\_expr attribute, which is a flag, if a
+\item A \livelink{chap:DWATconstexpr}{DW\-\_AT\-\_const\-\_expr} attribute, which is a flag, if a
 variable entry represents a C++ object declared with the
 constexpr specifier. This attributes indicates that the
 variable can be evaluated as a compile\dash time constant.  
 
 \textit{In C++,
 a variable declared with constexpr is implicitly const. Such a
-variable has a DW\-\_AT\-\_type attribute whose value is a reference
+variable has a \livelink{chap:DWATtype}{DW\-\_AT\-\_type} attribute whose value is a reference
 to a debugging information entry}
 
-\item A DW\-\_AT\-\_linkage\-\_name attribute for a 
+\item A \livelink{chap:DWATlinkagename}{DW\-\_AT\-\_linkage\-\_name} attribute for a 
 variable or constant entry as described in 
 Section \refersec{chap:linkagenames}.
 
@@ -218,13 +218,13 @@ A Fortran common block may be described by a debugging
 information entry with the 
 tag \livetarg{chap:DWTAGcommonblock}{DW\-\_TAG\-\_common\-\_block}. 
 The
-common block entry has a DW\-\_AT\-\_name attribute whose value
+common block entry has a \livelink{chap:DWATname}{DW\-\_AT\-\_name} attribute whose value
 is a null-terminated string containing the common block
 name as it appears in the source program. It may also have a
-DW\-\_AT\-\_linkage\-\_name attribute as described in 
+\livelink{chap:DWATlinkagename}{DW\-\_AT\-\_linkage\-\_name} attribute as described in 
 Section \refersec{chap:linkagenames}. 
 It
-also has a DW\-\_AT\-\_location attribute whose value describes the
+also has a \livelink{chap:DWATlocation}{DW\-\_AT\-\_location} attribute whose value describes the
 location of the beginning of the common block. The common
 block entry owns debugging information entries describing
 the variables contained within the common block.
@@ -240,7 +240,7 @@ A namelist is represented by a debugging information entry
 with the 
 tag \livetarg{chap:DWTAGnamelist}{DW\-\_TAG\-\_namelist}. 
 If the namelist itself has a
-name, the namelist entry has a DW\-\_AT\-\_name attribute, whose
+name, the namelist entry has a \livelink{chap:DWATname}{DW\-\_AT\-\_name} attribute, whose
 value is a null-terminated string containing the namelist’s
 name as it appears in the source program.
 
@@ -252,7 +252,7 @@ namelist entry, and all of the namelist item entries for a
 given namelist are ordered as were the list of names they
 correspond to in the source program.
 
-Each namelist item entry contains a DW\-\_AT\-\_namelist\-\_item
+Each namelist item entry contains a \livelink{chap:DWATnamelistitem}{DW\-\_AT\-\_namelist\-\_item}
 attribute whose value is a reference to the debugging
 information entry representing the declaration of the item
 whose name appears in the namelist.
index 5ff442d..7d500b2 100644 (file)
@@ -697,7 +697,7 @@ value is a 4\dash byte unsigned offset; in the 64\dash bit DWARF format,
 it is an 8\dash byte unsigned offset 
 (see Section \refersec{datarep:32bitand64bitdwarfformats}).
 
-If the DW\-\_AT\-\_use\-\_UTF8 attribute is specified for the
+If the \livelink{chap:DWATuseUTF8}{DW\-\_AT\-\_use\-\_UTF8} attribute is specified for the
 compilation unit entry, string values are encoded using the
 UTF\dash 8 (Unicode Transformation Format\dash 8) from the Universal
 Character Set standard (ISO/IEC 10646\dash 1:1993). Otherwise,
@@ -825,105 +825,105 @@ DW\-\_CHILDREN\-\_yes&0x01 \\ \hline
 \endfoot
   \hline
 \endlastfoot
-DW\-\_AT\-\_sibling&0x01&reference \\
-DW\-\_AT\-\_location&0x02&\livelink{chap:exprloc}{exprloc}, \livelink{chap:loclistptr}{loclistptr}   \\
-DW\-\_AT\-\_name&0x03&string   \\
-DW\-\_AT\-\_ordering&0x09&constant   \\
-DW\-\_AT\-\_byte\-\_size&0x0b&constant, \livelink{chap:exprloc}{exprloc}, reference   \\
-DW\-\_AT\-\_bit\-\_offset&0x0c&constant, \livelink{chap:exprloc}{exprloc}, reference   \\
-DW\-\_AT\-\_bit\-\_size&0x0d&constant, \livelink{chap:exprloc}{exprloc}, reference   \\
-DW\-\_AT\-\_stmt\-\_list&0x10&\livelink{chap:lineptr}{lineptr}   \\
-DW\-\_AT\-\_low\-\_pc&0x11&address   \\
-DW\-\_AT\-\_high\-\_pc&0x12&address, constant   \\
-DW\-\_AT\-\_language&0x13&constant   \\
-DW\-\_AT\-\_discr&0x15&reference   \\
-DW\-\_AT\-\_discr\-\_value&0x16&constant   \\
-DW\-\_AT\-\_visibility&0x17&constant   \\
-DW\-\_AT\-\_import&0x18&reference   \\
-DW\-\_AT\-\_string\-\_length&0x19&\livelink{chap:exprloc}{exprloc}, \livelink{chap:loclistptr}{loclistptr}   \\
-DW\-\_AT\-\_common\-\_reference&0x1a&reference   \\
-DW\-\_AT\-\_comp\-\_dir&0x1b&string   \\
-DW\-\_AT\-\_const\-\_value&0x1c&block, constant, string   \\
-DW\-\_AT\-\_containing\-\_type&0x1d&reference     \\
-DW\-\_AT\-\_default\-\_value&0x1e&reference     \\
-DW\-\_AT\-\_inline&0x20&constant     \\
-DW\-\_AT\-\_is\-\_optional&0x21&flag     \\
-DW\-\_AT\-\_lower\-\_bound&0x22&constant, \livelink{chap:exprloc}{exprloc}, reference     \\
-DW\-\_AT\-\_producer&0x25&string     \\
-DW\-\_AT\-\_prototyped&0x27&flag     \\
-DW\-\_AT\-\_return\-\_addr&0x2a&\livelink{chap:exprloc}{exprloc}, \livelink{chap:loclistptr}{loclistptr}     \\
+\livelink{chap:DWATsibling}{DW\-\_AT\-\_sibling}&0x01&reference \\
+\livelink{chap:DWATlocation}{DW\-\_AT\-\_location}&0x02&\livelink{chap:exprloc}{exprloc}, \livelink{chap:loclistptr}{loclistptr}   \\
+\livelink{chap:DWATname}{DW\-\_AT\-\_name}&0x03&string   \\
+\livelink{chap:DWATordering}{DW\-\_AT\-\_ordering}&0x09&constant   \\
+\livelink{chap:DWATbytesize}{DW\-\_AT\-\_byte\-\_size}&0x0b&constant, \livelink{chap:exprloc}{exprloc}, reference   \\
+\livelink{chap:DWATbitoffset}{DW\-\_AT\-\_bit\-\_offset}&0x0c&constant, \livelink{chap:exprloc}{exprloc}, reference   \\
+\livelink{chap:DWATbitsize}{DW\-\_AT\-\_bit\-\_size}&0x0d&constant, \livelink{chap:exprloc}{exprloc}, reference   \\
+\livelink{chap:DWATstmtlist}{DW\-\_AT\-\_stmt\-\_list}&0x10&\livelink{chap:lineptr}{lineptr}   \\
+\livelink{chap:DWATlowpc}{DW\-\_AT\-\_low\-\_pc}&0x11&address   \\
+\livelink{chap:DWAThighpc}{DW\-\_AT\-\_high\-\_pc}&0x12&address, constant   \\
+\livelink{chap:DWATlanguage}{DW\-\_AT\-\_language}&0x13&constant   \\
+\livelink{chap:DWATdiscr}{DW\-\_AT\-\_discr}&0x15&reference   \\
+\livelink{chap:DWATdiscrvalue}{DW\-\_AT\-\_discr\-\_value}&0x16&constant   \\
+\livelink{chap:DWATvisibility}{DW\-\_AT\-\_visibility}&0x17&constant   \\
+\livelink{chap:DWATimport}{DW\-\_AT\-\_import}&0x18&reference   \\
+\livelink{chap:DWATstringlength}{DW\-\_AT\-\_string\-\_length}&0x19&\livelink{chap:exprloc}{exprloc}, \livelink{chap:loclistptr}{loclistptr}   \\
+\livelink{chap:DWATcommonreference}{DW\-\_AT\-\_common\-\_reference}&0x1a&reference   \\
+\livelink{chap:DWATcompdir}{DW\-\_AT\-\_comp\-\_dir}&0x1b&string   \\
+\livelink{chap:DWATconstvalue}{DW\-\_AT\-\_const\-\_value}&0x1c&block, constant, string   \\
+\livelink{chap:DWATcontainingtype}{DW\-\_AT\-\_containing\-\_type}&0x1d&reference     \\
+\livelink{chap:DWATdefaultvalue}{DW\-\_AT\-\_default\-\_value}&0x1e&reference     \\
+\livelink{chap:DWATinline}{DW\-\_AT\-\_inline}&0x20&constant     \\
+\livelink{chap:DWATisoptional}{DW\-\_AT\-\_is\-\_optional}&0x21&flag     \\
+\livelink{chap:DWATlowerbound}{DW\-\_AT\-\_lower\-\_bound}&0x22&constant, \livelink{chap:exprloc}{exprloc}, reference     \\
+\livelink{chap:DWATproducer}{DW\-\_AT\-\_producer}&0x25&string     \\
+\livelink{chap:DWATprototyped}{DW\-\_AT\-\_prototyped}&0x27&flag     \\
+\livelink{chap:DWATreturnaddr}{DW\-\_AT\-\_return\-\_addr}&0x2a&\livelink{chap:exprloc}{exprloc}, \livelink{chap:loclistptr}{loclistptr}     \\
 % FIXME: lower case , not Constant
-DW\-\_AT\-\_start\-\_scope&0x2c&Constant, \livelink{chap:rangelistptr}{rangelistptr}     \\
-DW\-\_AT\-\_bit\-\_stride&0x2e&constant, \livelink{chap:exprloc}{exprloc}, reference     \\
-DW\-\_AT\-\_upper\-\_bound&0x2f&constant, \livelink{chap:exprloc}{exprloc}, reference     \\
-DW\-\_AT\-\_abstract\-\_origin&0x31&reference     \\
-DW\-\_AT\-\_accessibility&0x32&constant     \\
-DW\-\_AT\-\_address\-\_class&0x33&constant     \\
-DW\-\_AT\-\_artificial&0x34&flag     \\
-DW\-\_AT\-\_base\-\_types&0x35&reference     \\
-DW\-\_AT\-\_calling\-\_convention&0x36&constant     \\
-DW\-\_AT\-\_count&0x37&constant, \livelink{chap:exprloc}{exprloc}, reference     \\
-DW\-\_AT\-\_data\-\_member\-\_location&0x38&constant, \livelink{chap:exprloc}{exprloc}, \livelink{chap:loclistptr}{loclistptr}     \\
-DW\-\_AT\-\_decl\-\_column&0x39&constant     \\
-DW\-\_AT\-\_decl\-\_file&0x3a&constant     \\
-DW\-\_AT\-\_decl\-\_line&0x3b&constant     \\
-DW\-\_AT\-\_declaration&0x3c&flag     \\
-DW\-\_AT\-\_discr\-\_list&0x3d&block     \\
-DW\-\_AT\-\_encoding&0x3e&constant     \\
-DW\-\_AT\-\_external&0x3f&flag     \\
-DW\-\_AT\-\_frame\-\_base&0x40&\livelink{chap:exprloc}{exprloc}, \livelink{chap:loclistptr}{loclistptr}     \\
-DW\-\_AT\-\_friend&0x41&reference     \\
-DW\-\_AT\-\_identifier\-\_case&0x42&constant    \\
-DW\-\_AT\-\_macro\-\_info&0x43&\livelink{chap:macptr}{macptr}    \\
-DW\-\_AT\-\_namelist\-\_item&0x44&reference    \\
-DW\-\_AT\-\_priority&0x45&reference    \\
-DW\-\_AT\-\_segment&0x46&\livelink{chap:exprloc}{exprloc}, \livelink{chap:loclistptr}{loclistptr}    \\
-DW\-\_AT\-\_specification&0x47&reference    \\
-DW\-\_AT\-\_static\-\_link&0x48&\livelink{chap:exprloc}{exprloc}, \livelink{chap:loclistptr}{loclistptr}    \\
-DW\-\_AT\-\_type&0x49&reference    \\
-DW\-\_AT\-\_use\-\_location&0x4a&\livelink{chap:exprloc}{exprloc}, \livelink{chap:loclistptr}{loclistptr}    \\
-DW\-\_AT\-\_variable\-\_parameter&0x4b&flag    \\
-DW\-\_AT\-\_virtuality&0x4c&constant    \\
-DW\-\_AT\-\_vtable\-\_elem\-\_location&0x4d&\livelink{chap:exprloc}{exprloc}, \livelink{chap:loclistptr}{loclistptr}    \\
-
-
-DW\-\_AT\-\_allocated&0x4e&constant, \livelink{chap:exprloc}{exprloc}, reference     \\
-DW\-\_AT\-\_associated&0x4f&constant, \livelink{chap:exprloc}{exprloc}, reference     \\
-DW\-\_AT\-\_data\-\_location&0x50&\livelink{chap:exprloc}{exprloc}     \\
-DW\-\_AT\-\_byte\-\_stride&0x51&constant, \livelink{chap:exprloc}{exprloc}, reference     \\
-DW\-\_AT\-\_entry\-\_pc&0x52&address     \\
-DW\-\_AT\-\_use\-\_UTF8&0x53&flag     \\
-DW\-\_AT\-\_extension&0x54&reference     \\
-DW\-\_AT\-\_ranges&0x55&\livelink{chap:rangelistptr}{rangelistptr}     \\
-DW\-\_AT\-\_trampoline&0x56&address, flag, reference, string     \\
-DW\-\_AT\-\_call\-\_column&0x57&constant     \\
-DW\-\_AT\-\_call\-\_file&0x58&constant     \\
-DW\-\_AT\-\_call\-\_line&0x59&constant     \\
-DW\-\_AT\-\_description&0x5a&string     \\
-DW\-\_AT\-\_binary\-\_scale&0x5b&constant     \\
-DW\-\_AT\-\_decimal\-\_scale&0x5c&constant     \\
-DW\-\_AT\-\_small &0x5d&reference     \\
-DW\-\_AT\-\_decimal\-\_sign&0x5e&constant     \\
-DW\-\_AT\-\_digit\-\_count&0x5f&constant     \\
-DW\-\_AT\-\_picture\-\_string&0x60&string      \\
-DW\-\_AT\-\_mutable&0x61&flag     \\
-
-
-DW\-\_AT\-\_threads\-\_scaled&0x62&flag     \\
-DW\-\_AT\-\_explicit&0x63&flag     \\
-DW\-\_AT\-\_object\-\_pointer&0x64&reference     \\
-DW\-\_AT\-\_endianity&0x65&constant     \\
-DW\-\_AT\-\_elemental&0x66&flag     \\
-DW\-\_AT\-\_pure&0x67&flag     \\
-DW\-\_AT\-\_recursive&0x68&flag     \\
-DW\-\_AT\-\_signature \ddag &0x69&reference     \\ 
-DW\-\_AT\-\_main\-\_subprogram \ddag &0x6a&flag     \\
-DW\-\_AT\-\_data\-\_bit\-\_offset \ddag &0x6b&constant     \\
-DW\-\_AT\-\_const\-\_expr \ddag &0x6c&flag     \\
-DW\-\_AT\-\_enum\-\_class \ddag &0x6d&flag     \\
-DW\-\_AT\-\_linkage\-\_name \ddag &0x6e&string     \\
-DW\-\_AT\-\_lo\-\_user&0x2000 & ---     \\
-DW\-\_AT\-\_hi\-\_user&0x3fff& ---     \\
+\livelink{chap:DWATstartscope}{DW\-\_AT\-\_start\-\_scope}&0x2c&Constant, \livelink{chap:rangelistptr}{rangelistptr}     \\
+\livelink{chap:DWATbitstride}{DW\-\_AT\-\_bit\-\_stride}&0x2e&constant, \livelink{chap:exprloc}{exprloc}, reference     \\
+\livelink{chap:DWATupperbound}{DW\-\_AT\-\_upper\-\_bound}&0x2f&constant, \livelink{chap:exprloc}{exprloc}, reference     \\
+\livelink{chap:DWATabstractorigin}{DW\-\_AT\-\_abstract\-\_origin}&0x31&reference     \\
+\livelink{chap:DWATaccessibility}{DW\-\_AT\-\_accessibility}&0x32&constant     \\
+\livelink{chap:DWATaddressclass}{DW\-\_AT\-\_address\-\_class}&0x33&constant     \\
+\livelink{chap:DWATartificial}{DW\-\_AT\-\_artificial}&0x34&flag     \\
+\livelink{chap:DWATbasetypes}{DW\-\_AT\-\_base\-\_types}&0x35&reference     \\
+\livelink{chap:DWATcallingconvention}{DW\-\_AT\-\_calling\-\_convention}&0x36&constant     \\
+\livelink{chap:DWATcount}{DW\-\_AT\-\_count}&0x37&constant, \livelink{chap:exprloc}{exprloc}, reference     \\
+\livelink{chap:DWATdatamemberlocation}{DW\-\_AT\-\_data\-\_member\-\_location}&0x38&constant, \livelink{chap:exprloc}{exprloc}, \livelink{chap:loclistptr}{loclistptr}     \\
+\livelink{chap:DWATdeclcolumn}{DW\-\_AT\-\_decl\-\_column}&0x39&constant     \\
+\livelink{chap:DWATdeclfile}{DW\-\_AT\-\_decl\-\_file}&0x3a&constant     \\
+\livelink{chap:DWATdeclline}{DW\-\_AT\-\_decl\-\_line}&0x3b&constant     \\
+\livelink{chap:DWATdeclaration}{DW\-\_AT\-\_declaration}&0x3c&flag     \\
+\livelink{chap:DWATdiscrlist}{DW\-\_AT\-\_discr\-\_list}&0x3d&block     \\
+\livelink{chap:DWATencoding}{DW\-\_AT\-\_encoding}&0x3e&constant     \\
+\livelink{chap:DWATexternal}{DW\-\_AT\-\_external}&0x3f&flag     \\
+\livelink{chap:DWATframebase}{DW\-\_AT\-\_frame\-\_base}&0x40&\livelink{chap:exprloc}{exprloc}, \livelink{chap:loclistptr}{loclistptr}     \\
+\livelink{chap:DWATfriend}{DW\-\_AT\-\_friend}&0x41&reference     \\
+\livelink{chap:DWATidentifiercase}{DW\-\_AT\-\_identifier\-\_case}&0x42&constant    \\
+\livelink{chap:DWATmacroinfo}{DW\-\_AT\-\_macro\-\_info}&0x43&\livelink{chap:macptr}{macptr}    \\
+\livelink{chap:DWATnamelistitem}{DW\-\_AT\-\_namelist\-\_item}&0x44&reference    \\
+\livelink{chap:DWATpriority}{DW\-\_AT\-\_priority}&0x45&reference    \\
+\livelink{chap:DWATsegment}{DW\-\_AT\-\_segment}&0x46&\livelink{chap:exprloc}{exprloc}, \livelink{chap:loclistptr}{loclistptr}    \\
+\livelink{chap:DWATspecification}{DW\-\_AT\-\_specification}&0x47&reference    \\
+\livelink{chap:DWATstaticlink}{DW\-\_AT\-\_static\-\_link}&0x48&\livelink{chap:exprloc}{exprloc}, \livelink{chap:loclistptr}{loclistptr}    \\
+\livelink{chap:DWATtype}{DW\-\_AT\-\_type}&0x49&reference    \\
+\livelink{chap:DWATuselocation}{DW\-\_AT\-\_use\-\_location}&0x4a&\livelink{chap:exprloc}{exprloc}, \livelink{chap:loclistptr}{loclistptr}    \\
+\livelink{chap:DWATvariableparameter}{DW\-\_AT\-\_variable\-\_parameter}&0x4b&flag    \\
+\livelink{chap:DWATvirtuality}{DW\-\_AT\-\_virtuality}&0x4c&constant    \\
+\livelink{chap:DWATvtableelemlocation}{DW\-\_AT\-\_vtable\-\_elem\-\_location}&0x4d&\livelink{chap:exprloc}{exprloc}, \livelink{chap:loclistptr}{loclistptr}    \\
+
+
+\livelink{chap:DWATallocated}{DW\-\_AT\-\_allocated}&0x4e&constant, \livelink{chap:exprloc}{exprloc}, reference     \\
+\livelink{chap:DWATassociated}{DW\-\_AT\-\_associated}&0x4f&constant, \livelink{chap:exprloc}{exprloc}, reference     \\
+\livelink{chap:DWATdatalocation}{DW\-\_AT\-\_data\-\_location}&0x50&\livelink{chap:exprloc}{exprloc}     \\
+\livelink{chap:DWATbytestride}{DW\-\_AT\-\_byte\-\_stride}&0x51&constant, \livelink{chap:exprloc}{exprloc}, reference     \\
+\livelink{chap:DWATentrypc}{DW\-\_AT\-\_entry\-\_pc}&0x52&address     \\
+\livelink{chap:DWATuseUTF8}{DW\-\_AT\-\_use\-\_UTF8}&0x53&flag     \\
+\livelink{chap:DWATextension}{DW\-\_AT\-\_extension}&0x54&reference     \\
+\livelink{chap:DWATranges}{DW\-\_AT\-\_ranges}&0x55&\livelink{chap:rangelistptr}{rangelistptr}     \\
+\livelink{chap:DWATtrampoline}{DW\-\_AT\-\_trampoline}&0x56&address, flag, reference, string     \\
+\livelink{chap:DWATcallcolumn}{DW\-\_AT\-\_call\-\_column}&0x57&constant     \\
+\livelink{chap:DWATcallfile}{DW\-\_AT\-\_call\-\_file}&0x58&constant     \\
+\livelink{chap:DWATcallline}{DW\-\_AT\-\_call\-\_line}&0x59&constant     \\
+\livelink{chap:DWATdescription}{DW\-\_AT\-\_description}&0x5a&string     \\
+\livelink{chap:DWATbinaryscale}{DW\-\_AT\-\_binary\-\_scale}&0x5b&constant     \\
+\livelink{chap:DWATdecimalscale}{DW\-\_AT\-\_decimal\-\_scale}&0x5c&constant     \\
+\livelink{chap:DWATsmall}{DW\-\_AT\-\_small} &0x5d&reference     \\
+\livelink{chap:DWATdecimalsign}{DW\-\_AT\-\_decimal\-\_sign}&0x5e&constant     \\
+\livelink{chap:DWATdigitcount}{DW\-\_AT\-\_digit\-\_count}&0x5f&constant     \\
+\livelink{chap:DWATpicturestring}{DW\-\_AT\-\_picture\-\_string}&0x60&string      \\
+\livelink{chap:DWATmutable}{DW\-\_AT\-\_mutable}&0x61&flag     \\
+
+
+\livelink{chap:DWATthreadsscaled}{DW\-\_AT\-\_threads\-\_scaled}&0x62&flag     \\
+\livelink{chap:DWATexplicit}{DW\-\_AT\-\_explicit}&0x63&flag     \\
+\livelink{chap:DWATobjectpointer}{DW\-\_AT\-\_object\-\_pointer}&0x64&reference     \\
+\livelink{chap:DWATendianity}{DW\-\_AT\-\_endianity}&0x65&constant     \\
+\livelink{chap:DWATelemental}{DW\-\_AT\-\_elemental}&0x66&flag     \\
+\livelink{chap:DWATpure}{DW\-\_AT\-\_pure}&0x67&flag     \\
+\livelink{chap:DWATrecursive}{DW\-\_AT\-\_recursive}&0x68&flag     \\
+\livelink{chap:DWATsignature}{DW\-\_AT\-\_signature} \ddag &0x69&reference     \\ 
+\livelink{chap:DWATmainsubprogram}{DW\-\_AT\-\_main\-\_subprogram} \ddag &0x6a&flag     \\
+\livelink{chap:DWATdatabitoffset}{DW\-\_AT\-\_data\-\_bit\-\_offset} \ddag &0x6b&constant     \\
+\livelink{chap:DWATconstexpr}{DW\-\_AT\-\_const\-\_expr} \ddag &0x6c&flag     \\
+\livelink{chap:DWATenumclass}{DW\-\_AT\-\_enum\-\_class} \ddag &0x6d&flag     \\
+\livelink{chap:DWATlinkagename}{DW\-\_AT\-\_linkage\-\_name} \ddag &0x6e&string     \\
+\livetarg{chap:DWATlouser}{DW\-\_AT\-\_lo\-\_user}&0x2000 & ---     \\
+\livetarg{chap:DWAThiuser}{DW\-\_AT\-\_hi\-\_user}&0x3fff& ---     \\
 
 \end{longtable}
 \ddag  Attribute new in DWARF Version 4 
@@ -1227,7 +1227,7 @@ the corresponding compilation unit must be defined
 \section{Base Type Attribute Encodings}
 \label{datarep:basetypeattributeencodings}
 
-The encodings of the constants used in the DW\-\_AT\-\_encoding
+The encodings of the constants used in the \livelink{chap:DWATencoding}{DW\-\_AT\-\_encoding}
 attribute are given in 
 Table \refersec{tab:basetypeencodingvalues}
 
@@ -1269,7 +1269,7 @@ DW\-\_ATE\-\_hi\-\_user & 0xff \\
 
 
 The encodings of the constants used in the 
-DW\-\_AT\-\_decimal\-\_sign attribute 
+\livelink{chap:DWATdecimalsign}{DW\-\_AT\-\_decimal\-\_sign} attribute 
 are given in 
 Table \refersec{tab:decimalsignencodings}.
 
@@ -1297,7 +1297,7 @@ DW\-\_DS\-\_trailing\-\_separate & 0x05  \\
 \end{centering}
 
 The encodings of the constants used in the 
-DW\-\_AT\-\_endianity attribute are given in 
+\livelink{chap:DWATendianity}{DW\-\_AT\-\_endianity} attribute are given in 
 Table \refersec{tab:endianityencodings}.
 
 \begin{centering}
@@ -1324,7 +1324,7 @@ DW\-\_END\-\_hi\-\_user & 0xff \\
 
 \section{Accessibility Codes}
 \label{datarep:accessibilitycodes}
-The encodings of the constants used in the DW\-\_AT\-\_accessibility
+The encodings of the constants used in the \livelink{chap:DWATaccessibility}{DW\-\_AT\-\_accessibility}
 attribute are given in 
 Table \refersec{tab:accessibilityencodings}.
 
@@ -1352,7 +1352,7 @@ DW\-\_ACCESS\-\_private&0x03 \\
 \section{Visibility Codes}
 \label{datarep:visibilitycodes}
 The encodings of the constants used in the 
-DW\-\_AT\-\_visibility attribute are given in 
+\livelink{chap:DWATvisibility}{DW\-\_AT\-\_visibility} attribute are given in 
 Table \refersec{tab:visibilityencodings}. 
 
 \begin{centering}
@@ -1379,7 +1379,7 @@ DW\-\_VIS\-\_qualified&0x03 \\
 \label{datarep:vitualitycodes}
 
 The encodings of the constants used in the 
-DW\-\_AT\-\_virtuality attribute are given in 
+\livelink{chap:DWATvirtuality}{DW\-\_AT\-\_virtuality} attribute are given in 
 Table \refersec{tab:virtualityencodings}.
 
 \begin{centering}
@@ -1406,13 +1406,13 @@ DW\-\_VIRTUALITY\-\_pure\-\_virtual&0x02 \\
 
 The value 
 DW\-\_VIRTUALITY\-\_none is equivalent to the absence of the 
-DW\-\_AT\-\_virtuality
+\livelink{chap:DWATvirtuality}{DW\-\_AT\-\_virtuality}
 attribute.
 
 \section{Source Languages}
 \label{datarep:sourcelanguages}
 
-The encodings of the constants used in the DW\-\_AT\-\_language
+The encodings of the constants used in the \livelink{chap:DWATlanguage}{DW\-\_AT\-\_language}
 attribute are given in 
 Table \refersec{tab:languageencodings}.
 Names marked with
@@ -1422,7 +1422,7 @@ and their associated values are reserved, but the
 languages they represent are not well supported. 
 Table \refersec{tab:languageencodings}
 also shows the default lower bound, if any, assumed for
-an omitted DW\-\_AT\-\_lower\-\_bound attribute in the context of a
+an omitted \livelink{chap:DWATlowerbound}{DW\-\_AT\-\_lower\-\_bound} attribute in the context of a
 \livelink{chap:DWTAGsubrangetype}{DW\-\_TAG\-\_subrange\-\_type} debugging information entry for each
 defined language.
 
@@ -1477,7 +1477,7 @@ DW\-\_ADDR\-\_none is 0.
 \label{datarep:identifiercase}
 
 The encodings of the constants used in the 
-DW\-\_AT\-\_identifier\-\_case attribute are given in 
+\livelink{chap:DWATidentifiercase}{DW\-\_AT\-\_identifier\-\_case} attribute are given in 
 Table \refersec{tab:identifiercaseencodings}.
 
 \begin{centering}
@@ -1502,7 +1502,7 @@ DW\-\_ID\-\_case\-\_insensitive&0x03     \\
 \section{Calling Convention Encodings}
 \label{datarep:callingconventionencodings}
 The encodings of the constants used in the 
-DW\-\_AT\-\_calling\-\_convention attribute are given in
+\livelink{chap:DWATcallingconvention}{DW\-\_AT\-\_calling\-\_convention} attribute are given in
 Table \refersec{tab:callingconventionencodings}.
 
 \begin{centering}
@@ -1531,7 +1531,7 @@ DW\-\_CC\-\_hi\-\_user&0xff     \\
 \label{datarep:inlinecodes}
 
 The encodings of the constants used in the 
-DW\-\_AT\-\_inline attribute are given in 
+\livelink{chap:DWATinline}{DW\-\_AT\-\_inline} attribute are given in 
 Table \refersec{tab:inlineencodings}.
 
 \begin{centering}
@@ -1562,7 +1562,7 @@ DW\-\_INL\-\_declared\-\_inlined&0x03      \\
 \label{datarep:arrayordering}
 
 The encodings of the constants used in the 
-DW\-\_AT\-\_ordering attribute are given in 
+\livelink{chap:DWATordering}{DW\-\_AT\-\_ordering} attribute are given in 
 Table \refersec{tab:orderingencodings}.
 
 \begin{centering}
@@ -1589,7 +1589,7 @@ DW\-\_ORD\-\_col\-\_major&0x01  \\
 \label{datarep:discriminantlists}
 
 The descriptors used in the 
-DW\-\_AT\-\_discr\-\_list attribute are 
+\livelink{chap:DWATdiscrlist}{DW\-\_AT\-\_discr\-\_list} attribute are 
 encoded as 1\dash byte constants. The
 defined values are given in 
 Table \refersec{tab:discriminantdescriptorencodings}.
@@ -2020,7 +2020,7 @@ is nested inside another type or a namespace, append to S
 the type’s context as follows: For each surrounding type
 or namespace, beginning with the outermost such construct,
 append the letter 'C', the DWARF tag of the construct, and
-the name (taken from the DW\-\_AT\-\_name attribute) of the type
+the name (taken from the \livelink{chap:DWATname}{DW\-\_AT\-\_name} attribute) of the type
 or namespace (including its trailing null byte).
 
 \item  Append to S the letter 'D', followed by the DWARF tag of
@@ -2032,57 +2032,57 @@ append to S a marker letter (see below), the DWARF attribute
 code, and the attribute value.
 
 \begin{itemize}
-\item DW\-\_AT\-\_name
-\item DW\-\_AT\-\_accessibility
-\item DW\-\_AT\-\_address\-\_class
-\item DW\-\_AT\-\_allocated
-\item DW\-\_AT\-\_artificial
-\item DW\-\_AT\-\_associated
-\item DW\-\_AT\-\_binary\-\_scale
-\item DW\-\_AT\-\_bit\-\_offset
-\item DW\-\_AT\-\_bit\-\_size
-\item DW\-\_AT\-\_bit\-\_stride
-\item DW\-\_AT\-\_byte\-\_size
-\item DW\-\_AT\-\_byte\-\_stride
-\item DW\-\_AT\-\_const\-\_expr
-\item DW\-\_AT\-\_const\-\_value
-\item DW\-\_AT\-\_containing\-\_type
-\item DW\-\_AT\-\_count
-\item DW\-\_AT\-\_data\-\_bit\-\_offset
-\item DW\-\_AT\-\_data\-\_location
-\item DW\-\_AT\-\_data\-\_member\-\_location
-\item DW\-\_AT\-\_decimal\-\_scale
-\item DW\-\_AT\-\_decimal\-\_sign
-\item DW\-\_AT\-\_default\-\_value
-\item DW\-\_AT\-\_digit\-\_count
-\item DW\-\_AT\-\_discr
-\item DW\-\_AT\-\_discr\-\_list
-\item DW\-\_AT\-\_discr\-\_value
-\item DW\-\_AT\-\_encoding
-\item DW\-\_AT\-\_enum\-\_class
-\item DW\-\_AT\-\_endianity
-\item DW\-\_AT\-\_explicit
-\item DW\-\_AT\-\_is\-\_optional
-\item DW\-\_AT\-\_location
-\item DW\-\_AT\-\_lower\-\_bound
-\item DW\-\_AT\-\_mutable
-\item DW\-\_AT\-\_ordering
-\item DW\-\_AT\-\_picture\-\_string
-\item DW\-\_AT\-\_prototyped
-\item DW\-\_AT\-\_small
-\item DW\-\_AT\-\_segment
-\item DW\-\_AT\-\_string\-\_length
-\item DW\-\_AT\-\_threads\-\_scaled
-\item DW\-\_AT\-\_upper\-\_bound
-\item DW\-\_AT\-\_use\-\_location
-\item DW\-\_AT\-\_use\-\_UTF8
-\item DW\-\_AT\-\_variable\-\_parameter
-\item DW\-\_AT\-\_virtuality
-\item DW\-\_AT\-\_visibility
-\item DW\-\_AT\-\_vtable\-\_elem\-\_location
+\item \livelink{chap:DWATname}{DW\-\_AT\-\_name}
+\item \livelink{chap:DWATaccessibility}{DW\-\_AT\-\_accessibility}
+\item \livelink{chap:DWATaddressclass}{DW\-\_AT\-\_address\-\_class}
+\item \livelink{chap:DWATallocated}{DW\-\_AT\-\_allocated}
+\item \livelink{chap:DWATartificial}{DW\-\_AT\-\_artificial}
+\item \livelink{chap:DWATassociated}{DW\-\_AT\-\_associated}
+\item \livelink{chap:DWATbinaryscale}{DW\-\_AT\-\_binary\-\_scale}
+\item \livelink{chap:DWATbitoffset}{DW\-\_AT\-\_bit\-\_offset}
+\item \livelink{chap:DWATbitsize}{DW\-\_AT\-\_bit\-\_size}
+\item \livelink{chap:DWATbitstride}{DW\-\_AT\-\_bit\-\_stride}
+\item \livelink{chap:DWATbytesize}{DW\-\_AT\-\_byte\-\_size}
+\item \livelink{chap:DWATbytestride}{DW\-\_AT\-\_byte\-\_stride}
+\item \livelink{chap:DWATconstexpr}{DW\-\_AT\-\_const\-\_expr}
+\item \livelink{chap:DWATconstvalue}{DW\-\_AT\-\_const\-\_value}
+\item \livelink{chap:DWATcontainingtype}{DW\-\_AT\-\_containing\-\_type}
+\item \livelink{chap:DWATcount}{DW\-\_AT\-\_count}
+\item \livelink{chap:DWATdatabitoffset}{DW\-\_AT\-\_data\-\_bit\-\_offset}
+\item \livelink{chap:DWATdatalocation}{DW\-\_AT\-\_data\-\_location}
+\item \livelink{chap:DWATdatamemberlocation}{DW\-\_AT\-\_data\-\_member\-\_location}
+\item \livelink{chap:DWATdecimalscale}{DW\-\_AT\-\_decimal\-\_scale}
+\item \livelink{chap:DWATdecimalsign}{DW\-\_AT\-\_decimal\-\_sign}
+\item \livelink{chap:DWATdefaultvalue}{DW\-\_AT\-\_default\-\_value}
+\item \livelink{chap:DWATdigitcount}{DW\-\_AT\-\_digit\-\_count}
+\item \livelink{chap:DWATdiscr}{DW\-\_AT\-\_discr}
+\item \livelink{chap:DWATdiscrlist}{DW\-\_AT\-\_discr\-\_list}
+\item \livelink{chap:DWATdiscrvalue}{DW\-\_AT\-\_discr\-\_value}
+\item \livelink{chap:DWATencoding}{DW\-\_AT\-\_encoding}
+\item \livelink{chap:DWATenumclass}{DW\-\_AT\-\_enum\-\_class}
+\item \livelink{chap:DWATendianity}{DW\-\_AT\-\_endianity}
+\item \livelink{chap:DWATexplicit}{DW\-\_AT\-\_explicit}
+\item \livelink{chap:DWATisoptional}{DW\-\_AT\-\_is\-\_optional}
+\item \livelink{chap:DWATlocation}{DW\-\_AT\-\_location}
+\item \livelink{chap:DWATlowerbound}{DW\-\_AT\-\_lower\-\_bound}
+\item \livelink{chap:DWATmutable}{DW\-\_AT\-\_mutable}
+\item \livelink{chap:DWATordering}{DW\-\_AT\-\_ordering}
+\item \livelink{chap:DWATpicturestring}{DW\-\_AT\-\_picture\-\_string}
+\item \livelink{chap:DWATprototyped}{DW\-\_AT\-\_prototyped}
+\item \livelink{chap:DWATsmall}{DW\-\_AT\-\_small}
+\item \livelink{chap:DWATsegment}{DW\-\_AT\-\_segment}
+\item \livelink{chap:DWATstringlength}{DW\-\_AT\-\_string\-\_length}
+\item \livelink{chap:DWATthreadsscaled}{DW\-\_AT\-\_threads\-\_scaled}
+\item \livelink{chap:DWATupperbound}{DW\-\_AT\-\_upper\-\_bound}
+\item \livelink{chap:DWATuselocation}{DW\-\_AT\-\_use\-\_location}
+\item \livelink{chap:DWATuseUTF8}{DW\-\_AT\-\_use\-\_UTF8}
+\item \livelink{chap:DWATvariableparameter}{DW\-\_AT\-\_variable\-\_parameter}
+\item \livelink{chap:DWATvirtuality}{DW\-\_AT\-\_virtuality}
+\item \livelink{chap:DWATvisibility}{DW\-\_AT\-\_visibility}
+\item \livelink{chap:DWATvtableelemlocation}{DW\-\_AT\-\_vtable\-\_elem\-\_location}
 \end{itemize}
 
-Note that except for the initial DW\-\_AT\-\_name attribute,
+Note that except for the initial \livelink{chap:DWATname}{DW\-\_AT\-\_name} attribute,
 attributes are appended in order according to the alphabetical
 spelling of their identifier.
 
@@ -2113,11 +2113,11 @@ and DW\-\_FORM\-\_block.
 \livelink{chap:DWTAGrvaluereferencetype}{DW\-\_TAG\-\_rvalue\-\_reference\-\_type},
 \livelink{chap:DWTAGptrtomembertype}{DW\-\_TAG\-\_ptr\-\_to\-\_member\-\_type}, 
 or \livelink{chap:DWTAGfriend}{DW\-\_TAG\-\_friend}, and the referenced
-type (via the DW\-\_AT\-\_type or 
-DW\-\_AT\-\_friend attribute) has a
-DW\-\_AT\-\_name attribute, append to S the letter 'N', the DWARF
-attribute code (DW\-\_AT\-\_type or 
-DW\-\_AT\-\_friend), the context of
+type (via the \livelink{chap:DWATtype}{DW\-\_AT\-\_type} or 
+\livelink{chap:DWATfriend}{DW\-\_AT\-\_friend} attribute) has a
+\livelink{chap:DWATname}{DW\-\_AT\-\_name} attribute, append to S the letter 'N', the DWARF
+attribute code (\livelink{chap:DWATtype}{DW\-\_AT\-\_type} or 
+\livelink{chap:DWATfriend}{DW\-\_AT\-\_friend}), the context of
 the type (according to the method in Step 2), the letter 'E',
 and the name of the type. For \livelink{chap:DWTAGfriend}{DW\-\_TAG\-\_friend}, if the referenced
 entry is a \livelink{chap:DWTAGsubprogram}{DW\-\_TAG\-\_subprogram}, the context is omitted and the
@@ -2130,17 +2130,17 @@ name to be used is the ABI-specific name of the subprogram
 \livelink{chap:DWTAGrvaluereferencetype}{DW\-\_TAG\-\_rvalue\-\_reference\-\_type},
 \livelink{chap:DWTAGptrtomembertype}{DW\-\_TAG\-\_ptr\-\_to\-\_member\-\_type}, or 
 \livelink{chap:DWTAGfriend}{DW\-\_TAG\-\_friend}, but has
-a DW\-\_AT\-\_type attribute, or if the referenced type (via
-the DW\-\_AT\-\_type or 
-DW\-\_AT\-\_friend attribute) does not have a
-DW\-\_AT\-\_name attribute, the attribute is processed according to
+a \livelink{chap:DWATtype}{DW\-\_AT\-\_type} attribute, or if the referenced type (via
+the \livelink{chap:DWATtype}{DW\-\_AT\-\_type} or 
+\livelink{chap:DWATfriend}{DW\-\_AT\-\_friend} attribute) does not have a
+\livelink{chap:DWATname}{DW\-\_AT\-\_name} attribute, the attribute is processed according to
 the method in Step 4 for an attribute that refers to another
 type entry.
 
 
 \item Visit each child C of the debugging information
 entry as follows: If C is a nested type entry or a member
-function entry, and has a DW\-\_AT\-\_name attribute, append to
+function entry, and has a \livelink{chap:DWATname}{DW\-\_AT\-\_name} attribute, append to
 S the letter 'S', the tag of C, and its name; otherwise,
 process C recursively by performing Steps 3 through 7,
 appending the result to S. Following the last child (or if
@@ -2151,10 +2151,10 @@ there are no children), append a zero byte.
 
 For the purposes of this algorithm, if a debugging information
 entry S has a 
-DW\-\_AT\-\_specification 
+\livelink{chap:DWATspecification}{DW\-\_AT\-\_specification} 
 attribute that refers to
 another entry D (which has a 
-DW\-\_AT\-\_declaration 
+\livelink{chap:DWATdeclaration}{DW\-\_AT\-\_declaration} 
 attribute),
 then S inherits the attributes and children of D, and S is
 processed as if those attributes and children were present in
@@ -2223,17 +2223,17 @@ a type.}
 \textit{Certain attributes are not included in the type signature:}
 
 \begin{itemize}
-\item \textit{The DW\-\_AT\-\_declaration attribute is not included because it
+\item \textit{The \livelink{chap:DWATdeclaration}{DW\-\_AT\-\_declaration} attribute is not included because it
 indicates that the debugging information entry represents an
 incomplete declaration, and incomplete declarations should
 not be placed in separate type units.}
 
-\item \textit{The DW\-\_AT\-\_description attribute is not included because
+\item \textit{The \livelink{chap:DWATdescription}{DW\-\_AT\-\_description} attribute is not included because
 it does not provide any information unique to the defining
 declaration of the type.}
 
-\item \textit{The DW\-\_AT\-\_decl\-\_file, DW\-\_AT\-\_decl\-\_line, and
-DW\-\_AT\-\_decl\-\_column attributes are not included because they
+\item \textit{The \livelink{chap:DWATdeclfile}{DW\-\_AT\-\_decl\-\_file}, \livelink{chap:DWATdeclline}{DW\-\_AT\-\_decl\-\_line}, and
+\livelink{chap:DWATdeclcolumn}{DW\-\_AT\-\_decl\-\_column} attributes are not included because they
 may vary from one source file to the next, and would prevent
 two otherwise identical type declarations from producing the
 same hash.}
index 50c683f..e6b61cf 100644 (file)
   \put(300,-150){\line(4,-1){40}}
 
   \put(90,-195){\line(7,2){95}}
-  \put(190,-180){\framebox(110,20){DW\-\_AT\-\_location(f)} }
+  \put(190,-180){\framebox(110,20){\livelink{chap:DWATlocation}{DW\-\_AT\-\_location}(f)} }
   \put(300,-180){\vector(1,0){40}}
 
   \put(90,-195){\line(7,-2){95}}
-  \put(190,-230){\framebox(110,20){DW\-\_AT\-\_ranges (g)} }
+  \put(190,-230){\framebox(110,20){\livelink{chap:DWATranges}{DW\-\_AT\-\_ranges} (g)} }
   \put(300,-230){\vector(4,-3){40}}
 
   \put(85,-200){\line(3,-2){95}}
-  \put(180,-270){\framebox(110,20){DW\-\_AT\-\_macinfo (h)} }
+  \put(180,-270){\framebox(110,20){\livelink{chap:DWATmacroinfo}{DW\-\_AT\-\_macro\-\_info} (h)} }
   \put(230,-270){\vector(3,-2){110}}
 
   \put(85,-200){\line(1,-1){80}}
-  \put(120,-300){\framebox(110,20){DW\-\_AT\-\_stmt\-\_list (i)} }
+  \put(120,-300){\framebox(110,20){\livelink{chap:DWATstmtlist}{DW\-\_AT\-\_stmt\-\_list} (i)} }
   \put(180,-300){\vector(1,-2){10}}
 
   \put(40,-250){\vector(0,1){15}}
index ff85772..fb6356a 100644 (file)
@@ -107,37 +107,37 @@ Abbreviation Table: .debug\_abbrev
 \begin{alltt}
 \livelink{chap:DWTAGcompileunit}{DW\-\_TAG\-\_compile\-\_unit}
 DW\-\_CHILDREN\-\_yes
-DW\-\_AT\-\_name       DW\-\_FORM\-\_string
-DW\-\_AT\-\_producer   DW\-\_FORM\-\_string
-DW\-\_AT\-\_comp\-\_dir   DW\-\_FORM\-\_string
-DW\-\_AT\-\_language   DW\-\_FORM\-\_data1
-DW\-\_AT\-\_low\-\_pc     DW\-\_FORM\-\_addr
-DW\-\_AT\-\_high\-\_pc    DW\-\_FORM\-\_data1
-DW\-\_AT\-\_stmt\-\_list  DW\-\_FORM\-\_indirect
+\livelink{chap:DWATname}{DW\-\_AT\-\_name}       DW\-\_FORM\-\_string
+\livelink{chap:DWATproducer}{DW\-\_AT\-\_producer}   DW\-\_FORM\-\_string
+\livelink{chap:DWATcompdir}{DW\-\_AT\-\_comp\-\_dir}   DW\-\_FORM\-\_string
+\livelink{chap:DWATlanguage}{DW\-\_AT\-\_language}   DW\-\_FORM\-\_data1
+\livelink{chap:DWATlowpc}{DW\-\_AT\-\_low\-\_pc}     DW\-\_FORM\-\_addr
+\livelink{chap:DWAThighpc}{DW\-\_AT\-\_high\-\_pc}    DW\-\_FORM\-\_data1
+\livelink{chap:DWATstmtlist}{DW\-\_AT\-\_stmt\-\_list}  DW\-\_FORM\-\_indirect
 0                  0
 \vspace{0.01cm}
 \hrule
 2
 \livelink{chap:DWTAGbasetype}{DW\-\_TAG\-\_base\-\_type}
 DW\-\_CHILDREN\-\_no
-DW\-\_AT\-\_name       DW\-\_FORM\-\_string
-DW\-\_AT\-\_encoding   DW\-\_FORM\-\_data1
-DW\-\_AT\-\_byte\-\_size  DW\-\_FORM\-\_data1
+\livelink{chap:DWATname}{DW\-\_AT\-\_name}       DW\-\_FORM\-\_string
+\livelink{chap:DWATencoding}{DW\-\_AT\-\_encoding}   DW\-\_FORM\-\_data1
+\livelink{chap:DWATbytesize}{DW\-\_AT\-\_byte\-\_size}  DW\-\_FORM\-\_data1
 0
 \vspace{0.01cm}
 \hrule
 3
 \livelink{chap:DWTAGpointertype}{DW\-\_TAG\-\_pointer\-\_type}
 DW\-\_CHILDREN\-\_no
-DW\-\_AT\-\_type       DW\-\_FORM\-\_ref4
+\livelink{chap:DWATtype}{DW\-\_AT\-\_type}       DW\-\_FORM\-\_ref4
 0
 \vspace{0.01cm}
 \hrule
 4
 \livelink{chap:DWTAGtypedef}{DW\-\_TAG\-\_typedef}
 DW\-\_CHILDREN\-\_no
-DW\-\_AT\-\_name      DW\-\_FORM\-\_string
-DW\-\_AT\-\_type      DW\-\_FORM\-\_ref\-\_addr
+\livelink{chap:DWATname}{DW\-\_AT\-\_name}      DW\-\_FORM\-\_string
+\livelink{chap:DWATtype}{DW\-\_AT\-\_type}      DW\-\_FORM\-\_ref\-\_addr
 0
 \vspace{0.01cm}
 \hrule
@@ -241,11 +241,11 @@ to the “raw data” (the real data, the only thing around
 that can be the object).
 
 If an object has a descriptor, then the DWARF type for that
-object will have a DW\-\_AT\-\_data\-\_location attribute. If an object
+object will have a \livelink{chap:DWATdatalocation}{DW\-\_AT\-\_data\-\_location} attribute. If an object
 does not have a descriptor, then usually the DWARF type for the
-object will not have a DW\-\_AT\-\_data\-\_location. (See the following
+object will not have a \livelink{chap:DWATdatalocation}{DW\-\_AT\-\_data\-\_location}. (See the following
 Ada example for a case where the type for an object without
-a descriptor does have a DW\-\_AT\-\_data\-\_location attribute. In
+a descriptor does have a \livelink{chap:DWATdatalocation}{DW\-\_AT\-\_data\-\_location} attribute. In
 that case the object doubles as its own descriptor.)
 
 The Fortran 90 derived type array\_ptr can now be redescribed
@@ -287,30 +287,30 @@ Section \refersec{app:fortran90exampledwarfdescription}.
 
 1\$: \livelink{chap:DWTAGarraytype}{DW\-\_TAG\-\_array\-\_type}
         ! No name, default (Fortran) ordering, default stride
-        DW\-\_AT\-\_type(reference to REAL)
-        DW\-\_AT\-\_associated(expression= ! Test 'ptr\_assoc' flag
+        \livelink{chap:DWATtype}{DW\-\_AT\-\_type}(reference to REAL)
+        \livelink{chap:DWATassociated}{DW\-\_AT\-\_associated}(expression= ! Test 'ptr\_assoc' flag
             DW\-\_OP\-\_push\-\_object\-\_address
             DW\-\_OP\-\_lit<n> ! where n == offset(ptr\_assoc)
             DW\-\_OP\-\_plus
             DW\-\_OP\-\_deref
             DW\-\_OP\-\_lit1 ! mask for 'ptr\_assoc' flag
             DW\-\_OP\-\_and)
-        DW\-\_AT\-\_data\-\_location(expression= ! Get raw data address
+        \livelink{chap:DWATdatalocation}{DW\-\_AT\-\_data\-\_location}(expression= ! Get raw data address
             DW\-\_OP\-\_push\-\_object\-\_address
             DW\-\_OP\-\_lit<n> ! where n == offset(base)
             DW\-\_OP\-\_plus
             DW\-\_OP\-\_deref) ! Type of index of array 'ap'
 2\$:     \livelink{chap:DWTAGsubrangetype}{DW\-\_TAG\-\_subrange\-\_type}
         ! No name, default stride
-        DW\-\_AT\-\_type(reference to INTEGER)
-        DW\-\_AT\-\_lower\-\_bound(expression=
+        \livelink{chap:DWATtype}{DW\-\_AT\-\_type}(reference to INTEGER)
+        \livelink{chap:DWATlowerbound}{DW\-\_AT\-\_lower\-\_bound}(expression=
         DW\-\_OP\-\_push\-\_object\-\_address
             DW\-\_OP\-\_lit<n> ! where n ==
                          !  offset(desc, dims) +
                          !  offset(dims\_str, lower\_bound)
             DW\-\_OP\-\_plus
             DW\-\_OP\-\_deref)
-        DW\-\_AT\-\_upper\-\_bound(expression=
+        \livelink{chap:DWATupperbound}{DW\-\_AT\-\_upper\-\_bound}(expression=
             DW\-\_OP\-\_push\-\_object\-\_address
             DW\-\_OP\-\_lit<n> ! where n ==
                          !  offset(desc, dims) +
@@ -326,21 +326,21 @@ Section \refersec{app:fortran90exampledwarfdescription}.
         !  successive dimension (other than to express the larger
         !  offsets involved).
 3\$: \livelink{chap:DWTAGstructuretype}{DW\-\_TAG\-\_structure\-\_type}
-        DW\-\_AT\-\_name("array\_ptr")
-        DW\-\_AT\-\_byte\-\_size(constant sizeof(REAL) + sizeof(desc<1>))
+        \livelink{chap:DWATname}{DW\-\_AT\-\_name}("array\_ptr")
+        \livelink{chap:DWATbytesize}{DW\-\_AT\-\_byte\-\_size}(constant sizeof(REAL) + sizeof(desc<1>))
 4\$:     \livelink{chap:DWTAGmember}{DW\-\_TAG\-\_member}
-            DW\-\_AT\-\_name("myvar")
-            DW\-\_AT\-\_type(reference to REAL)
-            DW\-\_AT\-\_data\-\_member\-\_location(constant 0)
+            \livelink{chap:DWATname}{DW\-\_AT\-\_name}("myvar")
+            \livelink{chap:DWATtype}{DW\-\_AT\-\_type}(reference to REAL)
+            \livelink{chap:DWATdatamemberlocation}{DW\-\_AT\-\_data\-\_member\-\_location}(constant 0)
 5\$:     \livelink{chap:DWTAGmember}{DW\-\_TAG\-\_member}
-            DW\-\_AT\-\_name("ap");
-            DW\-\_AT\-\_type(reference to 1\$)
-            DW\-\_AT\-\_data\-\_member\-\_location(constant sizeof(REAL))
+            \livelink{chap:DWATname}{DW\-\_AT\-\_name}("ap");
+            \livelink{chap:DWATtype}{DW\-\_AT\-\_type}(reference to 1\$)
+            \livelink{chap:DWATdatamemberlocation}{DW\-\_AT\-\_data\-\_member\-\_location}(constant sizeof(REAL))
 
 6\$: \livelink{chap:DWTAGarraytype}{DW\-\_TAG\-\_array\-\_type}
         ! No name, default (Fortran) ordering, default stride
-        DW\-\_AT\-\_type(reference to 3\$)
-        DW\-\_AT\-\_allocated(expression=
+        \livelink{chap:DWATtype}{DW\-\_AT\-\_type}(reference to 3\$)
+        \livelink{chap:DWATallocated}{DW\-\_AT\-\_allocated}(expression=
              ! Test 'ptr\_alloc' flag
             DW\-\_OP\-\_push\-\_object\-\_address
             DW\-\_OP\-\_lit<n> ! where n == offset(ptr\_alloc)
@@ -349,7 +349,7 @@ Section \refersec{app:fortran90exampledwarfdescription}.
             DW\-\_OP\-\_lit2
              ! mask for 'ptr\_alloc' flag
             DW\-\_OP\-\_and)
-        DW\-\_AT\-\_data\-\_location(expression= ! Get raw data address
+        \livelink{chap:DWATdatalocation}{DW\-\_AT\-\_data\-\_location}(expression= ! Get raw data address
             DW\-\_OP\-\_push\-\_object\-\_address
             DW\-\_OP\-\_lit<n> ! where n = offset(base)
             DW\-\_OP\-\_plus
@@ -357,22 +357,22 @@ Section \refersec{app:fortran90exampledwarfdescription}.
 
 7\$: \livelink{chap:DWTAGsubrangetype}{DW\-\_TAG\-\_subrange\-\_type}
         ! No name, default stride
-        DW\-\_AT\-\_type(reference to INTEGER)
-        DW\-\_AT\-\_lower\-\_bound(expression=
+        \livelink{chap:DWATtype}{DW\-\_AT\-\_type}(reference to INTEGER)
+        \livelink{chap:DWATlowerbound}{DW\-\_AT\-\_lower\-\_bound}(expression=
             DW\-\_OP\-\_push\-\_object\-\_address
             DW\-\_OP\-\_lit<n> ! where n == ...
             DW\-\_OP\-\_plus
             DW\-\_OP\-\_deref)
-        DW\-\_AT\-\_upper\-\_bound(expression=
+        \livelink{chap:DWATupperbound}{DW\-\_AT\-\_upper\-\_bound}(expression=
             DW\-\_OP\-\_push\-\_object\-\_address
             DW\-\_OP\-\_lit<n> ! where n == ...
             DW\-\_OP\-\_plus
             DW\-\_OP\-\_deref)
 
 8\$: \livelink{chap:DWTAGvariable}{DW\-\_TAG\-\_variable}
-        DW\-\_AT\-\_name("arrays")
-        DW\-\_AT\-\_type(reference to 6\$)
-        DW\-\_AT\-\_location(expression=
+        \livelink{chap:DWATname}{DW\-\_AT\-\_name}("arrays")
+        \livelink{chap:DWATtype}{DW\-\_AT\-\_type}(reference to 6\$)
+        \livelink{chap:DWATlocation}{DW\-\_AT\-\_location}(expression=
             ...as appropriate...) ! Assume static allocation
 \end{alltt}
 
@@ -412,12 +412,12 @@ bound too, but we will skip that for this example. \rbrack
 
 \end{enumerate}
 
-For a), check for a DW\-\_AT\-\_data\-\_location attribute. Since
+For a), check for a \livelink{chap:DWATdatalocation}{DW\-\_AT\-\_data\-\_location} attribute. Since
 there is one, go execute the expression, whose result is
 the address needed. The object address used in this case
 is the object we are working on, namely the variable named
 arrays , whose address was found in step 1. (Had there been
-no DW\-\_AT\-\_data\-\_location attribute, the desired address would
+no \livelink{chap:DWATdatalocation}{DW\-\_AT\-\_data\-\_location} attribute, the desired address would
 be the same as the address from step 1.)
 
 For b), for each dimension of the array (only one
@@ -429,7 +429,7 @@ from step 1, because we have not begun to actually perform
 any indexing yet.
 
 For c), the default stride applies. Since there is no
-DW\-\_AT\-\_byte\-\_stride attribute, use the size of the array element
+\livelink{chap:DWATbytestride}{DW\-\_AT\-\_byte\-\_stride} attribute, use the size of the array element
 type, which is the size of type array\_ptr (at 3\$).
 
 Having acquired all the necessary data, perform the indexing
@@ -466,7 +466,7 @@ several pieces of information:
 \end{enumerate}
 
 This is just like step 2), so the details are omitted. Recall
-that because the DWARF type 1\$ has a DW\-\_AT\-\_data\-\_location,
+that because the DWARF type 1\$ has a \livelink{chap:DWATdatalocation}{DW\-\_AT\-\_data\-\_location},
 the address that results from step 4) is that of a
 descriptor, and that address is the address pushed by the
 DW\-\_OP\-\_push\-\_object\-\_address operations in 1\$ and 2\$.
@@ -530,7 +530,7 @@ Interesting aspects about this example are:
 \begin{enumerate}[1)]
 \item The array VEC2 is ``immediately'' contained within structure
 REC2 (there is no intermediate descriptor or indirection),
-which is reflected in the absence of a DW\-\_AT\-\_data\-\_location
+which is reflected in the absence of a \livelink{chap:DWATdatalocation}{DW\-\_AT\-\_data\-\_location}
 attribute on the array type at 28\$.
 
 \item One of the bounds of VEC2 is nonetheless dynamic and part of
@@ -555,51 +555,51 @@ of this example and therefore not shown.
 
 \begin{alltt}
 11\$: \livelink{chap:DWTAGvariable}{DW\-\_TAG\-\_variable}
-        DW\-\_AT\-\_name("M")
-        DW\-\_AT\-\_type(reference to INTEGER)
+        \livelink{chap:DWATname}{DW\-\_AT\-\_name}("M")
+        \livelink{chap:DWATtype}{DW\-\_AT\-\_type}(reference to INTEGER)
 12\$: \livelink{chap:DWTAGarraytype}{DW\-\_TAG\-\_array\-\_type}
         ! No name, default (Ada) order, default stride
-        DW\-\_AT\-\_type(reference to INTEGER)
+        \livelink{chap:DWATtype}{DW\-\_AT\-\_type}(reference to INTEGER)
 13\$:    \livelink{chap:DWTAGsubrangetype}{DW\-\_TAG\-\_subrange\-\_type}
-            DW\-\_AT\-\_type(reference to INTEGER)
-            DW\-\_AT\-\_lower\-\_bound(constant 1)
-            DW\-\_AT\-\_upper\-\_bound(reference to variable M at 11\$)
+            \livelink{chap:DWATtype}{DW\-\_AT\-\_type}(reference to INTEGER)
+            \livelink{chap:DWATlowerbound}{DW\-\_AT\-\_lower\-\_bound}(constant 1)
+            \livelink{chap:DWATupperbound}{DW\-\_AT\-\_upper\-\_bound}(reference to variable M at 11\$)
 14\$: \livelink{chap:DWTAGvariable}{DW\-\_TAG\-\_variable}
-        DW\-\_AT\-\_name("VEC1")
-        DW\-\_AT\-\_type(reference to array type at 12\$)
+        \livelink{chap:DWATname}{DW\-\_AT\-\_name}("VEC1")
+        \livelink{chap:DWATtype}{DW\-\_AT\-\_type}(reference to array type at 12\$)
     . . .
 21\$: \livelink{chap:DWTAGsubrangetype}{DW\-\_TAG\-\_subrange\-\_type}
-        DW\-\_AT\-\_name("TEENY")
-        DW\-\_AT\-\_type(reference to INTEGER)
-        DW\-\_AT\-\_lower\-\_bound(constant 1)
-        DW\-\_AT\-\_upper\-\_bound(constant 100)
+        \livelink{chap:DWATname}{DW\-\_AT\-\_name}("TEENY")
+        \livelink{chap:DWATtype}{DW\-\_AT\-\_type}(reference to INTEGER)
+        \livelink{chap:DWATlowerbound}{DW\-\_AT\-\_lower\-\_bound}(constant 1)
+        \livelink{chap:DWATupperbound}{DW\-\_AT\-\_upper\-\_bound}(constant 100)
 
       . . .
 26\$: \livelink{chap:DWTAGstructuretype}{DW\-\_TAG\-\_structure\-\_type}
-        DW\-\_AT\-\_name("REC2")
+        \livelink{chap:DWATname}{DW\-\_AT\-\_name}("REC2")
 27\$:   \livelink{chap:DWTAGmember}{DW\-\_TAG\-\_member}
-            DW\-\_AT\-\_name("N")
-            DW\-\_AT\-\_type(reference to subtype TEENY at 21\$)
-            DW\-\_AT\-\_data\-\_member\-\_location(constant 0)
+            \livelink{chap:DWATname}{DW\-\_AT\-\_name}("N")
+            \livelink{chap:DWATtype}{DW\-\_AT\-\_type}(reference to subtype TEENY at 21\$)
+            \livelink{chap:DWATdatamemberlocation}{DW\-\_AT\-\_data\-\_member\-\_location}(constant 0)
 28\$:   \livelink{chap:DWTAGarraytype}{DW\-\_TAG\-\_array\-\_type}
             ! No name, default (Ada) order, default stride
             ! Default data location
-            DW\-\_AT\-\_TYPE(reference to INTEGER)
+            \livelink{chap:DWATtype}{DW\-\_AT\-\_type}(reference to INTEGER)
 29\$:       \livelink{chap:DWTAGsubrangetype}{DW\-\_TAG\-\_subrange\-\_type}
-                DW\-\_AT\-\_type(reference to subrange TEENY at 21\$)
-                DW\-\_AT\-\_lower\-\_bound(constant 1)
-                DW\-\_AT\-\_upper\-\_bound(reference to member N at 27\$)
+                \livelink{chap:DWATtype}{DW\-\_AT\-\_type}(reference to subrange TEENY at 21\$)
+                \livelink{chap:DWATlowerbound}{DW\-\_AT\-\_lower\-\_bound}(constant 1)
+                \livelink{chap:DWATupperbound}{DW\-\_AT\-\_upper\-\_bound}(reference to member N at 27\$)
 30\$:   \livelink{chap:DWTAGmember}{DW\-\_TAG\-\_member}
-            DW\-\_AT\-\_name("VEC2")
-            DW\-\_AT\-\_type(reference to array “subtype” at 28\$)
-            DW\-\_AT\-\_data\-\_member\-\_location(machine=
+            \livelink{chap:DWATname}{DW\-\_AT\-\_name}("VEC2")
+            \livelink{chap:DWATtype}{DW\-\_AT\-\_type}(reference to array “subtype” at 28\$)
+            \livelink{chap:DWATdatamemberlocation}{DW\-\_AT\-\_data\-\_member\-\_location}(machine=
                 DW\-\_OP\-\_lit<n> ! where n == offset(REC2, VEC2)
                 DW\-\_OP\-\_plus)
       . . .
 41\$: \livelink{chap:DWTAGvariable}{DW\-\_TAG\-\_variable}
-        DW\-\_AT\-\_name("OBJ2B")
-        DW\-\_AT\-\_type(reference to REC2 at 26\$)
-        DW\-\_AT\-\_location(...as appropriate...)
+        \livelink{chap:DWATname}{DW\-\_AT\-\_name}("OBJ2B")
+        \livelink{chap:DWATtype}{DW\-\_AT\-\_type}(reference to REC2 at 26\$)
+        \livelink{chap:DWATlocation}{DW\-\_AT\-\_location}(...as appropriate...)
 
 \end{alltt}
 
@@ -643,46 +643,48 @@ Section \refersec{chap:datamemberentries}.
 
 \subsection{Packed record example: DWARF description}
 \label{app:packedrecordexampledwarfdescription}
+% DWARF4 had some entries here as DW_AT_member .
+% Those are fixed here to DW_TAG_member
 \begin{alltt}
 
 21\$: \livelink{chap:DWTAGstructuretype}{DW\-\_TAG\-\_structure\-\_type} ! anonymous type for F2
         \livelink{chap:DWTAGmember}{DW\-\_TAG\-\_member}
-            DW\-\_AT\-\_name("F3")
-            DW\-\_AT\-\_type(reference to 11\$)
+            \livelink{chap:DWATname}{DW\-\_AT\-\_name}("F3")
+            \livelink{chap:DWATtype}{DW\-\_AT\-\_type}(reference to 11\$)
 22\$: \livelink{chap:DWTAGarraytype}{DW\-\_TAG\-\_array\-\_type} ! anonymous type for F4
-        DW\-\_AT\-\_type(reference to 20\$)
+        \livelink{chap:DWATtype}{DW\-\_AT\-\_type}(reference to 20\$)
         \livelink{chap:DWTAGsubrangetype}{DW\-\_TAG\-\_subrange\-\_type}
-            DW\-\_AT\-\_type(reference to 11\$)
-            DW\-\_AT\-\_lower\-\_bound(0)
-            DW\-\_AT\-\_upper\-\_bound(1)
-        DW\-\_AT\-\_bit\-\_stride(2)
-        DW\-\_AT\-\_bit\-\_size(4)
+            \livelink{chap:DWATtype}{DW\-\_AT\-\_type}(reference to 11\$)
+            \livelink{chap:DWATlowerbound}{DW\-\_AT\-\_lower\-\_bound}(0)
+            \livelink{chap:DWATupperbound}{DW\-\_AT\-\_upper\-\_bound}(1)
+        \livelink{chap:DWATbitstride}{DW\-\_AT\-\_bit\-\_stride}(2)
+        \livelink{chap:DWATbitsize}{DW\-\_AT\-\_bit\-\_size}(4)
 23\$: \livelink{chap:DWTAGstructuretype}{DW\-\_TAG\-\_structure\-\_type} ! anonymous type for V
-        DW\-\_AT\-\_bit\-\_size(39)
+        \livelink{chap:DWATbitsize}{DW\-\_AT\-\_bit\-\_size}(39)
         \livelink{chap:DWTAGmember}{DW\-\_TAG\-\_member}
-            DW\-\_AT\-\_name("F1")
-            DW\-\_AT\-\_type(reference to 10\$)
-            DW\-\_AT\-\_data\-\_bit\-\_offset(0)! may be omitted
-            DW\-\_AT\-\_bit\-\_size(1) ! may be omitted
-        DW\-\_AT\-\_member
-            DW\-\_AT\-\_name("F2")
-            DW\-\_AT\-\_type(reference to 21\$)
-            DW\-\_AT\-\_data\-\_bit\-\_offset(1)
-            DW\-\_AT\-\_bit\-\_size(32) ! may be omitted
-        DW\-\_AT\-\_member
-            DW\-\_AT\-\_name("F4")
-            DW\-\_AT\-\_type(reference to 22\$)
-            DW\-\_AT\-\_data\-\_bit\-\_offset(33)
-            DW\-\_AT\-\_bit\-\_size(4) ! may be omitted
-        DW\-\_AT\-\_member
-            DW\-\_AT\-\_name("F7")
-            DW\-\_AT\-\_type(reference to 20\$) ! type T
-            DW\-\_AT\-\_data\-\_bit\-\_offset(37)
-            DW\-\_AT\-\_bit\-\_size(2) ! may be omitted
+            \livelink{chap:DWATname}{DW\-\_AT\-\_name}("F1")
+            \livelink{chap:DWATtype}{DW\-\_AT\-\_type}(reference to 10\$)
+            \livelink{chap:DWATdatabitoffset}{DW\-\_AT\-\_data\-\_bit\-\_offset}(0)! may be omitted
+            \livelink{chap:DWATbitsize}{DW\-\_AT\-\_bit\-\_size}(1) ! may be omitted
+        \livelink{chap:DWTAGmember}{DW\-\_TAG\-\_member}
+            \livelink{chap:DWATname}{DW\-\_AT\-\_name}("F2")
+            \livelink{chap:DWATtype}{DW\-\_AT\-\_type}(reference to 21\$)
+            \livelink{chap:DWATdatabitoffset}{DW\-\_AT\-\_data\-\_bit\-\_offset}(1)
+            \livelink{chap:DWATbitsize}{DW\-\_AT\-\_bit\-\_size}(32) ! may be omitted
+        \livelink{chap:DWTAGmember}{DW\-\_TAG\-\_member}
+            \livelink{chap:DWATname}{DW\-\_AT\-\_name}("F4")
+            \livelink{chap:DWATtype}{DW\-\_AT\-\_type}(reference to 22\$)
+            \livelink{chap:DWATdatabitoffset}{DW\-\_AT\-\_data\-\_bit\-\_offset}(33)
+            \livelink{chap:DWATbitsize}{DW\-\_AT\-\_bit\-\_size}(4) ! may be omitted
+        \livelink{chap:DWTAGmember}{DW\-\_TAG\-\_member}
+            \livelink{chap:DWATname}{DW\-\_AT\-\_name}("F7")
+            \livelink{chap:DWATtype}{DW\-\_AT\-\_type}(reference to 20\$) ! type T
+            \livelink{chap:DWATdatabitoffset}{DW\-\_AT\-\_data\-\_bit\-\_offset}(37)
+            \livelink{chap:DWATbitsize}{DW\-\_AT\-\_bit\-\_size}(2) ! may be omitted
      \livelink{chap:DWTAGvariable}{DW\-\_TAG\-\_variable}
-        DW\-\_AT\-\_name("V")
-        DW\-\_AT\-\_type(reference to 23\$)
-        DW\-\_AT\-\_location(...)
+        \livelink{chap:DWATname}{DW\-\_AT\-\_name}("V")
+        \livelink{chap:DWATtype}{DW\-\_AT\-\_type}(reference to 23\$)
+        \livelink{chap:DWATlocation}{DW\-\_AT\-\_location}(...)
         ...
 \end{alltt}
 
@@ -743,78 +745,78 @@ is appropriate.
 \begin{alltt}
 
 1\$:  \livelink{chap:DWTAGbasetype}{DW\-\_TAG\-\_base\-\_type}
-        DW\-\_AT\-\_name("int")
+        \livelink{chap:DWATname}{DW\-\_AT\-\_name}("int")
         ...
 2\$:  \livelink{chap:DWTAGbasetype}{DW\-\_TAG\-\_base\-\_type}
-        DW\-\_AT\-\_name("float")
+        \livelink{chap:DWATname}{DW\-\_AT\-\_name}("float")
         ...
 6\$:  \livelink{chap:DWTAGnamespace}{DW\-\_TAG\-\_namespace}
-        ! no DW\-\_AT\-\_name attribute
+        ! no \livelink{chap:DWATname}{DW\-\_AT\-\_name} attribute
 7\$:
         \livelink{chap:DWTAGvariable}{DW\-\_TAG\-\_variable}
-            DW\-\_AT\-\_name("i")
-            DW\-\_AT\-\_type(reference to 1\$)
-            DW\-\_AT\-\_location ...
+            \livelink{chap:DWATname}{DW\-\_AT\-\_name}("i")
+            \livelink{chap:DWATtype}{DW\-\_AT\-\_type}(reference to 1\$)
+            \livelink{chap:DWATlocation}{DW\-\_AT\-\_location} ...
             ...
 10\$: \livelink{chap:DWTAGnamespace}{DW\-\_TAG\-\_namespace}
-        DW\-\_AT\-\_name("A")
+        \livelink{chap:DWATname}{DW\-\_AT\-\_name}("A")
 20\$:    \livelink{chap:DWTAGnamespace}{DW\-\_TAG\-\_namespace}
-            DW\-\_AT\-\_name("B")
+            \livelink{chap:DWATname}{DW\-\_AT\-\_name}("B")
 30\$:        \livelink{chap:DWTAGvariable}{DW\-\_TAG\-\_variable}
-                DW\-\_AT\-\_name("j")
-                DW\-\_AT\-\_type(reference to 1\$)
-                DW\-\_AT\-\_location ...
+                \livelink{chap:DWATname}{DW\-\_AT\-\_name}("j")
+                \livelink{chap:DWATtype}{DW\-\_AT\-\_type}(reference to 1\$)
+                \livelink{chap:DWATlocation}{DW\-\_AT\-\_location} ...
                 ...
 34\$:        \livelink{chap:DWTAGsubprogram}{DW\-\_TAG\-\_subprogram}
-                DW\-\_AT\-\_name("myfunc")
-                DW\-\_AT\-\_type(reference to 1\$)
+                \livelink{chap:DWATname}{DW\-\_AT\-\_name}("myfunc")
+                \livelink{chap:DWATtype}{DW\-\_AT\-\_type}(reference to 1\$)
                 ...
 36\$:        \livelink{chap:DWTAGsubprogram}{DW\-\_TAG\-\_subprogram}
-                DW\-\_AT\-\_name("myfunc")
-                DW\-\_AT\-\_type(reference to 2\$)
+                \livelink{chap:DWATname}{DW\-\_AT\-\_name}("myfunc")
+                \livelink{chap:DWATtype}{DW\-\_AT\-\_type}(reference to 2\$)
                 ...
 38\$:        \livelink{chap:DWTAGsubprogram}{DW\-\_TAG\-\_subprogram}
-                DW\-\_AT\-\_name("myfunc2")
-                DW\-\_AT\-\_low\-\_pc ...
-                DW\-\_AT\-\_high\-\_pc ...
-                DW\-\_AT\-\_type(reference to 1\$)
+                \livelink{chap:DWATname}{DW\-\_AT\-\_name}("myfunc2")
+                \livelink{chap:DWATlowpc}{DW\-\_AT\-\_low\-\_pc} ...
+                \livelink{chap:DWAThighpc}{DW\-\_AT\-\_high\-\_pc} ...
+                \livelink{chap:DWATtype}{DW\-\_AT\-\_type}(reference to 1\$)
                 ...
 
 40\$: \livelink{chap:DWTAGnamespace}{DW\-\_TAG\-\_namespace}
-        DW\-\_AT\-\_name("Y")
+        \livelink{chap:DWATname}{DW\-\_AT\-\_name}("Y")
         \livelink{chap:DWTAGimporteddeclaration}{DW\-\_TAG\-\_imported\-\_declaration}    ! (1) using-declaration
-            DW\-\_AT\-\_import(reference to 30\$)
+            \livelink{chap:DWATimport}{DW\-\_AT\-\_import}(reference to 30\$)
         \livelink{chap:DWTAGvariable}{DW\-\_TAG\-\_variable}
-            DW\-\_AT\-\_name("foo")
-            DW\-\_AT\-\_type(reference to 1\$)
-            DW\-\_AT\-\_location ...
+            \livelink{chap:DWATname}{DW\-\_AT\-\_name}("foo")
+            \livelink{chap:DWATtype}{DW\-\_AT\-\_type}(reference to 1\$)
+            \livelink{chap:DWATlocation}{DW\-\_AT\-\_location} ...
             ...
      \livelink{chap:DWTAGimporteddeclaration}{DW\-\_TAG\-\_imported\-\_declaration}       ! (2) using declaration
-        DW\-\_AT\-\_import(reference to 30\$)
+        \livelink{chap:DWATimport}{DW\-\_AT\-\_import}(reference to 30\$)
         \livelink{chap:DWTAGimporteddeclaration}{DW\-\_TAG\-\_imported\-\_declaration}    ! (3) namespace alias
-            DW\-\_AT\-\_name("Foo")
-            DW\-\_AT\-\_import(reference to 20\$)
+            \livelink{chap:DWATname}{DW\-\_AT\-\_name}("Foo")
+            \livelink{chap:DWATimport}{DW\-\_AT\-\_import}(reference to 20\$)
         \livelink{chap:DWTAGimporteddeclaration}{DW\-\_TAG\-\_imported\-\_declaration}    ! (4) using declaration
-            DW\-\_AT\-\_import(reference to 34\$) ! - part 1
+            \livelink{chap:DWATimport}{DW\-\_AT\-\_import}(reference to 34\$) ! - part 1
         \livelink{chap:DWTAGimporteddeclaration}{DW\-\_TAG\-\_imported\-\_declaration}    ! (4) using declaration
-            DW\-\_AT\-\_import(reference to 36\$) !  - part 2
+            \livelink{chap:DWATimport}{DW\-\_AT\-\_import}(reference to 36\$) !  - part 2
         \livelink{chap:DWTAGimportedmodule}{DW\-\_TAG\-\_imported\-\_module}         ! (5) using directive
-            DW\-\_AT\-\_import(reference to 20\$)
+            \livelink{chap:DWATimport}{DW\-\_AT\-\_import}(reference to 20\$)
         \livelink{chap:DWTAGnamespace}{DW\-\_TAG\-\_namespace}
-            DW\-\_AT\-\_extension(reference to 10\$)
+            \livelink{chap:DWATextension}{DW\-\_AT\-\_extension}(reference to 10\$)
             \livelink{chap:DWTAGnamespace}{DW\-\_TAG\-\_namespace}
-                DW\-\_AT\-\_extension(reference to 20\$)
+                \livelink{chap:DWATextension}{DW\-\_AT\-\_extension}(reference to 20\$)
                 \livelink{chap:DWTAGimportedmodule}{DW\-\_TAG\-\_imported\-\_module} ! (6) using directive
-                    DW\-\_AT\-\_import(reference to 40\$)
+                    \livelink{chap:DWATimport}{DW\-\_AT\-\_import}(reference to 40\$)
                 \livelink{chap:DWTAGvariable}{DW\-\_TAG\-\_variable}
-                    DW\-\_AT\-\_name("k")
-                    DW\-\_AT\-\_type(reference to 1\$)
-                    DW\-\_AT\-\_location ...
+                    \livelink{chap:DWATname}{DW\-\_AT\-\_name}("k")
+                    \livelink{chap:DWATtype}{DW\-\_AT\-\_type}(reference to 1\$)
+                    \livelink{chap:DWATlocation}{DW\-\_AT\-\_location} ...
                     ...
 60\$: \livelink{chap:DWTAGsubprogram}{DW\-\_TAG\-\_subprogram}
-        DW\-\_AT\-\_specification(reference to 34\$)
-        DW\-\_AT\-\_low\-\_pc ...
-        DW\-\_AT\-\_high\-\_pc ...
+        \livelink{chap:DWATspecification}{DW\-\_AT\-\_specification}(reference to 34\$)
+        \livelink{chap:DWATlowpc}{DW\-\_AT\-\_low\-\_pc} ...
+        \livelink{chap:DWAThighpc}{DW\-\_AT\-\_high\-\_pc} ...
         ...
 \end{alltt}
 
@@ -849,71 +851,71 @@ is appropriate.
 
 \begin{alltt}
 1\$: \livelink{chap:DWTAGunspecifiedtype}{DW\-\_TAG\-\_unspecified\-\_type}
-        DW\-\_AT\-\_name("void")
+        \livelink{chap:DWATname}{DW\-\_AT\-\_name}("void")
                 ...
 2\$ \livelink{chap:DWTAGbasetype}{DW\-\_TAG\-\_base\-\_type}
-        DW\-\_AT\-\_name("int")
+        \livelink{chap:DWATname}{DW\-\_AT\-\_name}("int")
         ...
 3\$: \livelink{chap:DWTAGclasstype}{DW\-\_TAG\-\_class\-\_type}
-        DW\-\_AT\-\_name("A")
+        \livelink{chap:DWATname}{DW\-\_AT\-\_name}("A")
         ...
 4\$:    \livelink{chap:DWTAGpointertype}{DW\-\_TAG\-\_pointer\-\_type}
-            DW\-\_AT\-\_type(reference to 3\$)
+            \livelink{chap:DWATtype}{DW\-\_AT\-\_type}(reference to 3\$)
             ...
 5\$:    \livelink{chap:DWTAGconsttype}{DW\-\_TAG\-\_const\-\_type}
-            DW\-\_AT\-\_type(reference to 3\$)
+            \livelink{chap:DWATtype}{DW\-\_AT\-\_type}(reference to 3\$)
             ...
 6\$:    \livelink{chap:DWTAGpointertype}{DW\-\_TAG\-\_pointer\-\_type}
-            DW\-\_AT\-\_type(reference to 5\$)
+            \livelink{chap:DWATtype}{DW\-\_AT\-\_type}(reference to 5\$)
             ...
 
 7\$:    \livelink{chap:DWTAGsubprogram}{DW\-\_TAG\-\_subprogram}
-            DW\-\_AT\-\_declaration
-            DW\-\_AT\-\_name("func1")
-            DW\-\_AT\-\_type(reference to 1\$)
-            DW\-\_AT\-\_object\-\_pointer(reference to 8\$)
+            \livelink{chap:DWATdeclaration}{DW\-\_AT\-\_declaration}
+            \livelink{chap:DWATname}{DW\-\_AT\-\_name}("func1")
+            \livelink{chap:DWATtype}{DW\-\_AT\-\_type}(reference to 1\$)
+            \livelink{chap:DWATobjectpointer}{DW\-\_AT\-\_object\-\_pointer}(reference to 8\$)
                 ! References a formal parameter in this 
                 ! member function
             ...
 8\$:        \livelink{chap:DWTAGformalparameter}{DW\-\_TAG\-\_formal\-\_parameter}
-                DW\-\_AT\-\_artificial(true)
-                DW\-\_AT\-\_name("this")
-                DW\-\_AT\-\_type(reference to 4\$)
+                \livelink{chap:DWATartificial}{DW\-\_AT\-\_artificial}(true)
+                \livelink{chap:DWATname}{DW\-\_AT\-\_name}("this")
+                \livelink{chap:DWATtype}{DW\-\_AT\-\_type}(reference to 4\$)
                     ! Makes type of 'this' as 'A*' =>
                     ! func1 has not been marked const 
                     ! or volatile
-                DW\-\_AT\-\_location ...
+                \livelink{chap:DWATlocation}{DW\-\_AT\-\_location} ...
                 ...
 9\$:        \livelink{chap:DWTAGformalparameter}{DW\-\_TAG\-\_formal\-\_parameter}
-                DW\-\_AT\-\_name(x1)
-                DW\-\_AT\-\_type(reference to 2\$)
+                \livelink{chap:DWATname}{DW\-\_AT\-\_name}(x1)
+                \livelink{chap:DWATtype}{DW\-\_AT\-\_type}(reference to 2\$)
                 ...
 10\$:    \livelink{chap:DWTAGsubprogram}{DW\-\_TAG\-\_subprogram}
-             DW\-\_AT\-\_declaration
-             DW\-\_AT\-\_name("func2")
-             DW\-\_AT\-\_type(reference to 1\$)
-             DW\-\_AT\-\_object\-\_pointer(reference to 11\$)
+             \livelink{chap:DWATdeclaration}{DW\-\_AT\-\_declaration}
+             \livelink{chap:DWATname}{DW\-\_AT\-\_name}("func2")
+             \livelink{chap:DWATtype}{DW\-\_AT\-\_type}(reference to 1\$)
+             \livelink{chap:DWATobjectpointer}{DW\-\_AT\-\_object\-\_pointer}(reference to 11\$)
              ! References a formal parameter in this 
              ! member function
              ...
 11\$:        \livelink{chap:DWTAGformalparameter}{DW\-\_TAG\-\_formal\-\_parameter}
-                 DW\-\_AT\-\_artificial(true)
-                 DW\-\_AT\-\_name("this")
-                 DW\-\_AT\-\_type(reference to 6\$)
+                 \livelink{chap:DWATartificial}{DW\-\_AT\-\_artificial}(true)
+                 \livelink{chap:DWATname}{DW\-\_AT\-\_name}("this")
+                 \livelink{chap:DWATtype}{DW\-\_AT\-\_type}(reference to 6\$)
                      ! Makes type of 'this' as 'A const*' =>
                  !     func2 marked as const
-                 DW\-\_AT\-\_location ...
+                 \livelink{chap:DWATlocation}{DW\-\_AT\-\_location} ...
                  ...
 12\$:    \livelink{chap:DWTAGsubprogram}{DW\-\_TAG\-\_subprogram}
-             DW\-\_AT\-\_declaration
-             DW\-\_AT\-\_name("func3")
-             DW\-\_AT\-\_type(reference to 1\$)
+             \livelink{chap:DWATdeclaration}{DW\-\_AT\-\_declaration}
+             \livelink{chap:DWATname}{DW\-\_AT\-\_name}("func3")
+             \livelink{chap:DWATtype}{DW\-\_AT\-\_type}(reference to 1\$)
              ...
                  ! No object pointer reference formal parameter
                  ! implies func3 is static
 13\$:        \livelink{chap:DWTAGformalparameter}{DW\-\_TAG\-\_formal\-\_parameter}
-                 DW\-\_AT\-\_name(x3)
-                 DW\-\_AT\-\_type(reference to 2\$)
+                 \livelink{chap:DWATname}{DW\-\_AT\-\_name}(x3)
+                 \livelink{chap:DWATtype}{DW\-\_AT\-\_type}(reference to 2\$)
                  ...
 \end{alltt}
 
@@ -1346,36 +1348,36 @@ Section \refersec{app:inliningexample1concreteinstance}.
     !
 OUTER.AI.1.1:
     \livelink{chap:DWTAGsubprogram}{DW\-\_TAG\-\_subprogram}
-        DW\-\_AT\-\_name("OUTER")
-        DW\-\_AT\-\_inline(DW\-\_INL\-\_declared\-\_inlined)
+        \livelink{chap:DWATname}{DW\-\_AT\-\_name}("OUTER")
+        \livelink{chap:DWATinline}{DW\-\_AT\-\_inline}(DW\-\_INL\-\_declared\-\_inlined)
         ! No low/high PCs
 OUTER.AI.1.2:
         \livelink{chap:DWTAGformalparameter}{DW\-\_TAG\-\_formal\-\_parameter}
-            DW\-\_AT\-\_name("OUTER\_FORMAL")
-            DW\-\_AT\-\_type(reference to integer)
+            \livelink{chap:DWATname}{DW\-\_AT\-\_name}("OUTER\_FORMAL")
+            \livelink{chap:DWATtype}{DW\-\_AT\-\_type}(reference to integer)
             ! No location
 OUTER.AI.1.3:
         \livelink{chap:DWTAGvariable}{DW\-\_TAG\-\_variable}
-            DW\-\_AT\-\_name("OUTER\_LOCAL")
-            DW\-\_AT\-\_type(reference to integer)
+            \livelink{chap:DWATname}{DW\-\_AT\-\_name}("OUTER\_LOCAL")
+            \livelink{chap:DWATtype}{DW\-\_AT\-\_type}(reference to integer)
             ! No location
         !
         ! Abstract instance for INNER
         !
 INNER.AI.1.1:
         \livelink{chap:DWTAGsubprogram}{DW\-\_TAG\-\_subprogram}
-            DW\-\_AT\-\_name("INNER")
-            DW\-\_AT\-\_inline(DW\-\_INL\-\_declared\-\_inlined)
+            \livelink{chap:DWATname}{DW\-\_AT\-\_name}("INNER")
+            \livelink{chap:DWATinline}{DW\-\_AT\-\_inline}(DW\-\_INL\-\_declared\-\_inlined)
             ! No low/high PCs
 INNER.AI.1.2:
             \livelink{chap:DWTAGformalparameter}{DW\-\_TAG\-\_formal\-\_parameter}
-                DW\-\_AT\-\_name("INNER\_FORMAL")
-                DW\-\_AT\-\_type(reference to integer)
+                \livelink{chap:DWATname}{DW\-\_AT\-\_name}("INNER\_FORMAL")
+                \livelink{chap:DWATtype}{DW\-\_AT\-\_type}(reference to integer)
                 ! No location
 INNER.AI.1.3:
             \livelink{chap:DWTAGvariable}{DW\-\_TAG\-\_variable}
-                DW\-\_AT\-\_name("INNER\_LOCAL")
-                DW\-\_AT\-\_type(reference to integer)
+                \livelink{chap:DWATname}{DW\-\_AT\-\_name}("INNER\_LOCAL")
+                \livelink{chap:DWATtype}{DW\-\_AT\-\_type}(reference to integer)
                 ! No location
             ...
             0
@@ -1394,19 +1396,19 @@ INNER.AI.1.3:
 OUTER.CI.1.1:
     \livelink{chap:DWTAGinlinedsubroutine}{DW\-\_TAG\-\_inlined\-\_subroutine}
         ! No name
-        DW\-\_AT\-\_abstract\-\_origin(reference to OUTER.AI.1.1)
-        DW\-\_AT\-\_low\-\_pc(...)
-        DW\-\_AT\-\_high\-\_pc(...)
+        \livelink{chap:DWATabstractorigin}{DW\-\_AT\-\_abstract\-\_origin}(reference to OUTER.AI.1.1)
+        \livelink{chap:DWATlowpc}{DW\-\_AT\-\_low\-\_pc}(...)
+        \livelink{chap:DWAThighpc}{DW\-\_AT\-\_high\-\_pc}(...)
 OUTER.CI.1.2:
         \livelink{chap:DWTAGformalparameter}{DW\-\_TAG\-\_formal\-\_parameter}
             ! No name
-            DW\-\_AT\-\_abstract\-\_origin(reference to OUTER.AI.1.2)
-            DW\-\_AT\-\_const\-\_value(7)
+            \livelink{chap:DWATabstractorigin}{DW\-\_AT\-\_abstract\-\_origin}(reference to OUTER.AI.1.2)
+            \livelink{chap:DWATconstvalue}{DW\-\_AT\-\_const\-\_value}(7)
 OUTER.CI.1.3:
         \livelink{chap:DWTAGvariable}{DW\-\_TAG\-\_variable}
             ! No name
-            DW\-\_AT\-\_abstract\-\_origin(reference to OUTER.AI.1.3)
-            DW\-\_AT\-\_location(...)
+            \livelink{chap:DWATabstractorigin}{DW\-\_AT\-\_abstract\-\_origin}(reference to OUTER.AI.1.3)
+            \livelink{chap:DWATlocation}{DW\-\_AT\-\_location}(...)
         !
         ! No \livelink{chap:DWTAGsubprogram}{DW\-\_TAG\-\_subprogram} (abstract instance) for INNER
         !
@@ -1415,20 +1417,20 @@ OUTER.CI.1.3:
 INNER.CI.1.1:
         \livelink{chap:DWTAGinlinedsubroutine}{DW\-\_TAG\-\_inlined\-\_subroutine}
             ! No name
-            DW\-\_AT\-\_abstract\-\_origin(reference to INNER.AI.1.1)
-            DW\-\_AT\-\_low\-\_pc(...)
-            DW\-\_AT\-\_high\-\_pc(...)
-            DW\-\_AT\-\_static\-\_link(...)
+            \livelink{chap:DWATabstractorigin}{DW\-\_AT\-\_abstract\-\_origin}(reference to INNER.AI.1.1)
+            \livelink{chap:DWATlowpc}{DW\-\_AT\-\_low\-\_pc}(...)
+            \livelink{chap:DWAThighpc}{DW\-\_AT\-\_high\-\_pc}(...)
+            \livelink{chap:DWATstaticlink}{DW\-\_AT\-\_static\-\_link}(...)
 INNER.CI.1.2:
             \livelink{chap:DWTAGformalparameter}{DW\-\_TAG\-\_formal\-\_parameter}
                 ! No name
-                DW\-\_AT\-\_abstract\-\_origin(reference to INNER.AI.1.2)
-                DW\-\_AT\-\_location(...)
+                \livelink{chap:DWATabstractorigin}{DW\-\_AT\-\_abstract\-\_origin}(reference to INNER.AI.1.2)
+                \livelink{chap:DWATlocation}{DW\-\_AT\-\_location}(...)
 INNER.CI.1.3:
              \livelink{chap:DWTAGvariable}{DW\-\_TAG\-\_variable}
                 ! No name
-                DW\-\_AT\-\_abstract\-\_origin(reference to INNER.AI.1.3)
-                DW\-\_AT\-\_location(...)
+                \livelink{chap:DWATabstractorigin}{DW\-\_AT\-\_abstract\-\_origin}(reference to INNER.AI.1.3)
+                \livelink{chap:DWATlocation}{DW\-\_AT\-\_location}(...)
             ...
             0
         ! Another concrete instance of INNER within OUTER
@@ -1451,7 +1453,7 @@ Section \refersec{app:inliningexample2abstractinstance}.
 Note that the debugging information in this Figure differs from
 that in 
 Section \refersec{app:inliningexample1abstractinstance}
-in that INNER lacks a DW\-\_AT\-\_inline attribute
+in that INNER lacks a \livelink{chap:DWATinline}{DW\-\_AT\-\_inline} attribute
 and therefore is not a distinct abstract instance. INNER
 is merely an out\dash of\dash line routine that is part of OUTER’s
 abstract instance. This is reflected in the Figure 70 by
@@ -1468,10 +1470,10 @@ inlined instance, and that INNER is nested within it as a
 concrete out\dash of\dash line subprogram. Because INNER is cloned
 for each inline expansion of OUTER, only the invariant
 attributes of INNER 
-(for example, DW\-\_AT\-\_name) are specified
+(for example, \livelink{chap:DWATname}{DW\-\_AT\-\_name}) are specified
 in the abstract instance of OUTER, and the low\dash level,
 instance\dash specific attributes of INNER (for example,
-DW\-\_AT\-\_low\-\_pc) are specified in each concrete instance of OUTER.
+\livelink{chap:DWATlowpc}{DW\-\_AT\-\_low\-\_pc}) are specified in each concrete instance of OUTER.
 
 The several calls of INNER within OUTER are compiled as normal
 calls to the instance of INNER that is specific to the same
@@ -1485,36 +1487,36 @@ instance of OUTER that contains the calls.
     !
 OUTER.AI.2.1:
     \livelink{chap:DWTAGsubprogram}{DW\-\_TAG\-\_subprogram}
-        DW\-\_AT\-\_name("OUTER")
-        DW\-\_AT\-\_inline(DW\-\_INL\-\_declared\-\_inlined)
+        \livelink{chap:DWATname}{DW\-\_AT\-\_name}("OUTER")
+        \livelink{chap:DWATinline}{DW\-\_AT\-\_inline}(DW\-\_INL\-\_declared\-\_inlined)
         ! No low/high PCs
 OUTER.AI.2.2:
         \livelink{chap:DWTAGformalparameter}{DW\-\_TAG\-\_formal\-\_parameter}
-            DW\-\_AT\-\_name("OUTER\_FORMAL")
-            DW\-\_AT\-\_type(reference to integer)
+            \livelink{chap:DWATname}{DW\-\_AT\-\_name}("OUTER\_FORMAL")
+            \livelink{chap:DWATtype}{DW\-\_AT\-\_type}(reference to integer)
             ! No location
 OUTER.AI.2.3:
         \livelink{chap:DWTAGvariable}{DW\-\_TAG\-\_variable}
-            DW\-\_AT\-\_name("OUTER\_LOCAL")
-            DW\-\_AT\-\_type(reference to integer)
+            \livelink{chap:DWATname}{DW\-\_AT\-\_name}("OUTER\_LOCAL")
+            \livelink{chap:DWATtype}{DW\-\_AT\-\_type}(reference to integer)
             ! No location
         !
         ! Nested out-of-line INNER subprogram
         !
 OUTER.AI.2.4:
         \livelink{chap:DWTAGsubprogram}{DW\-\_TAG\-\_subprogram}
-            DW\-\_AT\-\_name("INNER")
-            ! No DW\-\_AT\-\_inline
+            \livelink{chap:DWATname}{DW\-\_AT\-\_name}("INNER")
+            ! No \livelink{chap:DWATinline}{DW\-\_AT\-\_inline}
             ! No low/high PCs, frame\_base, etc.
 OUTER.AI.2.5:
             \livelink{chap:DWTAGformalparameter}{DW\-\_TAG\-\_formal\-\_parameter}
-                DW\-\_AT\-\_name("INNER\_FORMAL")
-                DW\-\_AT\-\_type(reference to integer)
+                \livelink{chap:DWATname}{DW\-\_AT\-\_name}("INNER\_FORMAL")
+                \livelink{chap:DWATtype}{DW\-\_AT\-\_type}(reference to integer)
                 ! No location
 OUTER.AI.2.6:
             \livelink{chap:DWTAGvariable}{DW\-\_TAG\-\_variable}
-                DW\-\_AT\-\_name("INNER\_LOCAL")
-                DW\-\_AT\-\_type(reference to integer)
+                \livelink{chap:DWATname}{DW\-\_AT\-\_name}("INNER\_LOCAL")
+                \livelink{chap:DWATtype}{DW\-\_AT\-\_type}(reference to integer)
                 ! No location
             ...
             0
@@ -1531,40 +1533,40 @@ OUTER.AI.2.6:
 OUTER.CI.2.1:
     \livelink{chap:DWTAGinlinedsubroutine}{DW\-\_TAG\-\_inlined\-\_subroutine}
         ! No name
-        DW\-\_AT\-\_abstract\-\_origin(reference to OUTER.AI.2.1)
-        DW\-\_AT\-\_low\-\_pc(...)
-        DW\-\_AT\-\_high\-\_pc(...)
+        \livelink{chap:DWATabstractorigin}{DW\-\_AT\-\_abstract\-\_origin}(reference to OUTER.AI.2.1)
+        \livelink{chap:DWATlowpc}{DW\-\_AT\-\_low\-\_pc}(...)
+        \livelink{chap:DWAThighpc}{DW\-\_AT\-\_high\-\_pc}(...)
 OUTER.CI.2.2:
         \livelink{chap:DWTAGformalparameter}{DW\-\_TAG\-\_formal\-\_parameter}
             ! No name
-            DW\-\_AT\-\_abstract\-\_origin(reference to OUTER.AI.2.2)
-            DW\-\_AT\-\_location(...)
+            \livelink{chap:DWATabstractorigin}{DW\-\_AT\-\_abstract\-\_origin}(reference to OUTER.AI.2.2)
+            \livelink{chap:DWATlocation}{DW\-\_AT\-\_location}(...)
 OUTER.CI.2.3:
         \livelink{chap:DWTAGvariable}{DW\-\_TAG\-\_variable}
             ! No name
-            DW\-\_AT\-\_abstract\-\_origin(reference to OUTER.AI.2.3)
-            DW\-\_AT\-\_location(...)
+            \livelink{chap:DWATabstractorigin}{DW\-\_AT\-\_abstract\-\_origin}(reference to OUTER.AI.2.3)
+            \livelink{chap:DWATlocation}{DW\-\_AT\-\_location}(...)
         !
         ! Nested out-of-line INNER subprogram
         !
 OUTER.CI.2.4:
         \livelink{chap:DWTAGsubprogram}{DW\-\_TAG\-\_subprogram}
             ! No name
-            DW\-\_AT\-\_abstract\-\_origin(reference to OUTER.AI.2.4)
-            DW\-\_AT\-\_low\-\_pc(...)
-            DW\-\_AT\-\_high\-\_pc(...)
-            DW\-\_AT\-\_frame\-\_base(...)
-            DW\-\_AT\-\_static\-\_link(...)
+            \livelink{chap:DWATabstractorigin}{DW\-\_AT\-\_abstract\-\_origin}(reference to OUTER.AI.2.4)
+            \livelink{chap:DWATlowpc}{DW\-\_AT\-\_low\-\_pc}(...)
+            \livelink{chap:DWAThighpc}{DW\-\_AT\-\_high\-\_pc}(...)
+            \livelink{chap:DWATframebase}{DW\-\_AT\-\_frame\-\_base}(...)
+            \livelink{chap:DWATstaticlink}{DW\-\_AT\-\_static\-\_link}(...)
 OUTER.CI.2.5:
             \livelink{chap:DWTAGformalparameter}{DW\-\_TAG\-\_formal\-\_parameter}
                 ! No name
-                DW\-\_AT\-\_abstract\-\_origin(reference to OUTER.AI.2.5)
-                DW\-\_AT\-\_location(...)
+                \livelink{chap:DWATabstractorigin}{DW\-\_AT\-\_abstract\-\_origin}(reference to OUTER.AI.2.5)
+                \livelink{chap:DWATlocation}{DW\-\_AT\-\_location}(...)
 OUTER.CI.2.6:
             \livelink{chap:DWTAGvariable}{DW\-\_TAG\-\_variable}
                 ! No name
-                DW\-\_AT\-\_abstract\-\_origin(reference to OUTER.AT.2.6)
-                DW\-\_AT\-\_location(...)
+                \livelink{chap:DWATabstractorigin}{DW\-\_AT\-\_abstract\-\_origin}(reference to OUTER.AT.2.6)
+                \livelink{chap:DWATlocation}{DW\-\_AT\-\_location}(...)
             ...
             0
         ...
@@ -1584,8 +1586,8 @@ INNER exists only within the abstract instance of OUTER,
 and not in OUTER’s concrete instance. In the abstract
 instance of OUTER, the description of INNER has the full
 complement of attributes that would be expected for a
-normal subprogram. While attributes such as DW\-\_AT\-\_low\-\_pc,
-DW\-\_AT\-\_high\-\_pc, DW\-\_AT\-\_location, and so on, typically are omitted
+normal subprogram. While attributes such as \livelink{chap:DWATlowpc}{DW\-\_AT\-\_low\-\_pc},
+\livelink{chap:DWAThighpc}{DW\-\_AT\-\_high\-\_pc}, \livelink{chap:DWATlocation}{DW\-\_AT\-\_location}, and so on, typically are omitted
 from an abstract instance because they are not invariant across
 instances of the containing abstract instance, in this case
 those same attributes are included precisely because they are
@@ -1635,39 +1637,39 @@ for accessing purposes.)
     !
 OUTER.AI.3.1:
     \livelink{chap:DWTAGsubprogram}{DW\-\_TAG\-\_subprogram}
-        DW\-\_AT\-\_name("OUTER")
-        DW\-\_AT\-\_inline(DW\-\_INL\-\_declared\-\_inlined)
+        \livelink{chap:DWATname}{DW\-\_AT\-\_name}("OUTER")
+        \livelink{chap:DWATinline}{DW\-\_AT\-\_inline}(DW\-\_INL\-\_declared\-\_inlined)
         ! No low/high PCs
 OUTER.AI.3.2:
         \livelink{chap:DWTAGformalparameter}{DW\-\_TAG\-\_formal\-\_parameter}
-            DW\-\_AT\-\_name("OUTER\_FORMAL")
-            DW\-\_AT\-\_type(reference to integer)
+            \livelink{chap:DWATname}{DW\-\_AT\-\_name}("OUTER\_FORMAL")
+            \livelink{chap:DWATtype}{DW\-\_AT\-\_type}(reference to integer)
             ! No location
 OUTER.AI.3.3:
         \livelink{chap:DWTAGvariable}{DW\-\_TAG\-\_variable}
-            DW\-\_AT\-\_name("OUTER\_LOCAL")
-            DW\-\_AT\-\_type(reference to integer)
+            \livelink{chap:DWATname}{DW\-\_AT\-\_name}("OUTER\_LOCAL")
+            \livelink{chap:DWATtype}{DW\-\_AT\-\_type}(reference to integer)
             ! No location
         !
         ! Normal INNER
         !
 OUTER.AI.3.4:
         \livelink{chap:DWTAGsubprogram}{DW\-\_TAG\-\_subprogram}
-            DW\-\_AT\-\_name("INNER")
-            DW\-\_AT\-\_low\-\_pc(...)
-            DW\-\_AT\-\_high\-\_pc(...)
-            DW\-\_AT\-\_frame\-\_base(...)
-            DW\-\_AT\-\_static\-\_link(...)
+            \livelink{chap:DWATname}{DW\-\_AT\-\_name}("INNER")
+            \livelink{chap:DWATlowpc}{DW\-\_AT\-\_low\-\_pc}(...)
+            \livelink{chap:DWAThighpc}{DW\-\_AT\-\_high\-\_pc}(...)
+            \livelink{chap:DWATframebase}{DW\-\_AT\-\_frame\-\_base}(...)
+            \livelink{chap:DWATstaticlink}{DW\-\_AT\-\_static\-\_link}(...)
 OUTER.AI.3.5:
             \livelink{chap:DWTAGformalparameter}{DW\-\_TAG\-\_formal\-\_parameter}
-                DW\-\_AT\-\_name("INNER\_FORMAL")
-                DW\-\_AT\-\_type(reference to integer)
-                DW\-\_AT\-\_location(...)
+                \livelink{chap:DWATname}{DW\-\_AT\-\_name}("INNER\_FORMAL")
+                \livelink{chap:DWATtype}{DW\-\_AT\-\_type}(reference to integer)
+                \livelink{chap:DWATlocation}{DW\-\_AT\-\_location}(...)
 OUTER.AI.3.6:
             \livelink{chap:DWTAGvariable}{DW\-\_TAG\-\_variable}
-                DW\-\_AT\-\_name("INNER\_LOCAL")
-                DW\-\_AT\-\_type(reference to integer)
-                DW\-\_AT\-\_location(...)
+                \livelink{chap:DWATname}{DW\-\_AT\-\_name}("INNER\_LOCAL")
+                \livelink{chap:DWATtype}{DW\-\_AT\-\_type}(reference to integer)
+                \livelink{chap:DWATlocation}{DW\-\_AT\-\_location}(...)
             ...
             0
         ...
@@ -1683,22 +1685,22 @@ OUTER.AI.3.6:
 OUTER.CI.3.1:
     \livelink{chap:DWTAGinlinedsubroutine}{DW\-\_TAG\-\_inlined\-\_subroutine}
         ! No name
-        DW\-\_AT\-\_abstract\-\_origin(reference to OUTER.AI.3.1)
-        DW\-\_AT\-\_low\-\_pc(...)
-        DW\-\_AT\-\_high\-\_pc(...)
-        DW\-\_AT\-\_frame\-\_base(...)
+        \livelink{chap:DWATabstractorigin}{DW\-\_AT\-\_abstract\-\_origin}(reference to OUTER.AI.3.1)
+        \livelink{chap:DWATlowpc}{DW\-\_AT\-\_low\-\_pc}(...)
+        \livelink{chap:DWAThighpc}{DW\-\_AT\-\_high\-\_pc}(...)
+        \livelink{chap:DWATframebase}{DW\-\_AT\-\_frame\-\_base}(...)
 OUTER.CI.3.2:
         \livelink{chap:DWTAGformalparameter}{DW\-\_TAG\-\_formal\-\_parameter}
             ! No name
-            DW\-\_AT\-\_abstract\-\_origin(reference to OUTER.AI.3.2)
+            \livelink{chap:DWATabstractorigin}{DW\-\_AT\-\_abstract\-\_origin}(reference to OUTER.AI.3.2)
             ! No type
-            DW\-\_AT\-\_location(...)
+            \livelink{chap:DWATlocation}{DW\-\_AT\-\_location}(...)
 OUTER.CI.3.3:
         \livelink{chap:DWTAGvariable}{DW\-\_TAG\-\_variable}
             ! No name
-            DW\-\_AT\-\_abstract\-\_origin(reference to OUTER.AI.3.3)
+            \livelink{chap:DWATabstractorigin}{DW\-\_AT\-\_abstract\-\_origin}(reference to OUTER.AI.3.3)
             ! No type
-            DW\-\_AT\-\_location(...)
+            \livelink{chap:DWATlocation}{DW\-\_AT\-\_location}(...)
         ! No \livelink{chap:DWTAGsubprogram}{DW\-\_TAG\-\_subprogram} for "INNER"
         ...
         0
@@ -1728,43 +1730,43 @@ Section \refersec{app:constantexpressionsdwarfdescription}.
       ! For variable mass
       !
 1\$:  \livelink{chap:DWTAGconsttype}{DW\-\_TAG\-\_const\-\_type}
-        DW\-\_AT\-\_type(reference to "double")
+        \livelink{chap:DWATtype}{DW\-\_AT\-\_type}(reference to "double")
 2\$:  \livelink{chap:DWTAGvariable}{DW\-\_TAG\-\_variable}
-        DW\-\_AT\-\_name("mass")
-        DW\-\_AT\-\_type(reference to 1\$)
-        DW\-\_AT\-\_const\-\_expr(true)
-        DW\-\_AT\-\_const\-\_value(9.8)
+        \livelink{chap:DWATname}{DW\-\_AT\-\_name}("mass")
+        \livelink{chap:DWATtype}{DW\-\_AT\-\_type}(reference to 1\$)
+        \livelink{chap:DWATconstexpr}{DW\-\_AT\-\_const\-\_expr}(true)
+        \livelink{chap:DWATconstvalue}{DW\-\_AT\-\_const\-\_value}(9.8)
       ! Abstract instance for square
       !
 10\$: \livelink{chap:DWTAGsubprogram}{DW\-\_TAG\-\_subprogram}
-        DW\-\_AT\-\_name("square")
-        DW\-\_AT\-\_type(reference to "int")
-        DW\-\_AT\-\_inline(DW\-\_INL\-\_inlined)
+        \livelink{chap:DWATname}{DW\-\_AT\-\_name}("square")
+        \livelink{chap:DWATtype}{DW\-\_AT\-\_type}(reference to "int")
+        \livelink{chap:DWATinline}{DW\-\_AT\-\_inline}(DW\-\_INL\-\_inlined)
 11\$:   \livelink{chap:DWTAGformalparameter}{DW\-\_TAG\-\_formal\-\_parameter}
-            DW\-\_AT\-\_name("x")
-            DW\-\_AT\-\_type(reference to "int")
+            \livelink{chap:DWATname}{DW\-\_AT\-\_name}("x")
+            \livelink{chap:DWATtype}{DW\-\_AT\-\_type}(reference to "int")
       ! Concrete instance for square(9)
       !
 20\$: \livelink{chap:DWTAGinlinedsubroutine}{DW\-\_TAG\-\_inlined\-\_subroutine}
-        DW\-\_AT\-\_abstract\-\_origin(reference to 10\$)
-        DW\-\_AT\-\_const\-\_expr(present)
-        DW\-\_AT\-\_const\-\_value(81)
+        \livelink{chap:DWATabstractorigin}{DW\-\_AT\-\_abstract\-\_origin}(reference to 10\$)
+        \livelink{chap:DWATconstexpr}{DW\-\_AT\-\_const\-\_expr}(present)
+        \livelink{chap:DWATconstvalue}{DW\-\_AT\-\_const\-\_value}(81)
         \livelink{chap:DWTAGformalparameter}{DW\-\_TAG\-\_formal\-\_parameter}
-            DW\-\_AT\-\_abstract\-\_origin(reference to 11\$)
-            DW\-\_AT\-\_const\-\_value(9)
+            \livelink{chap:DWATabstractorigin}{DW\-\_AT\-\_abstract\-\_origin}(reference to 11\$)
+            \livelink{chap:DWATconstvalue}{DW\-\_AT\-\_const\-\_value}(9)
       ! Anonymous array type for arr
       !
 30\$: \livelink{chap:DWTAGarraytype}{DW\-\_TAG\-\_array\-\_type}
-        DW\-\_AT\-\_type(reference to "float")
-        DW\-\_AT\-\_byte\-\_size(324) ! 81*4
+        \livelink{chap:DWATtype}{DW\-\_AT\-\_type}(reference to "float")
+        \livelink{chap:DWATbytesize}{DW\-\_AT\-\_byte\-\_size}(324) ! 81*4
         \livelink{chap:DWTAGsubrangetype}{DW\-\_TAG\-\_subrange\-\_type}
-            DW\-\_AT\-\_type(reference to "int")
-            DW\-\_AT\-\_upper\-\_bound(reference to 20\$)
+            \livelink{chap:DWATtype}{DW\-\_AT\-\_type}(reference to "int")
+            \livelink{chap:DWATupperbound}{DW\-\_AT\-\_upper\-\_bound}(reference to 20\$)
       ! Variable arr
       !
 40\$: \livelink{chap:DWTAGvariable}{DW\-\_TAG\-\_variable}
-        DW\-\_AT\-\_name("arr")
-        DW\-\_AT\-\_type(reference to 30\$)
+        \livelink{chap:DWATname}{DW\-\_AT\-\_name}("arr")
+        \livelink{chap:DWATtype}{DW\-\_AT\-\_type}(reference to 30\$)
 \end{alltt}
 
 
@@ -1789,19 +1791,19 @@ char32_t chr_b = U'h';
 ! DWARF description
 !
 1\$: \livelink{chap:DWTAGbasetype}{DW\-\_TAG\-\_base\-\_type}
-        DW\-\_AT\-\_name("char16\_t")
-        DW\-\_AT\-\_encoding(DW\-\_ATE\-\_UTF)
-        DW\-\_AT\-\_byte\-\_size(2)
+        \livelink{chap:DWATname}{DW\-\_AT\-\_name}("char16\_t")
+        \livelink{chap:DWATencoding}{DW\-\_AT\-\_encoding}(DW\-\_ATE\-\_UTF)
+        \livelink{chap:DWATbytesize}{DW\-\_AT\-\_byte\-\_size}(2)
 2\$: \livelink{chap:DWTAGbasetype}{DW\-\_TAG\-\_base\-\_type}
-        DW\-\_AT\-\_name("char32\_t")
-        DW\-\_AT\-\_encoding(DW\-\_ATE\-\_UTF)
-        DW\-\_AT\-\_byte\-\_size(4)
+        \livelink{chap:DWATname}{DW\-\_AT\-\_name}("char32\_t")
+        \livelink{chap:DWATencoding}{DW\-\_AT\-\_encoding}(DW\-\_ATE\-\_UTF)
+        \livelink{chap:DWATbytesize}{DW\-\_AT\-\_byte\-\_size}(4)
 3\$: \livelink{chap:DWTAGvariable}{DW\-\_TAG\-\_variable}
-        DW\-\_AT\-\_name("chr\_a")
-        DW\-\_AT\-\_type(reference to 1\$)
+        \livelink{chap:DWATname}{DW\-\_AT\-\_name}("chr\_a")
+        \livelink{chap:DWATtype}{DW\-\_AT\-\_type}(reference to 1\$)
 4\$: \livelink{chap:DWTAGvariable}{DW\-\_TAG\-\_variable}
-        DW\-\_AT\-\_name("chr\_b")
-        DW\-\_AT\-\_type(reference to 2\$)
+        \livelink{chap:DWATname}{DW\-\_AT\-\_name}("chr\_b")
+        \livelink{chap:DWATtype}{DW\-\_AT\-\_type}(reference to 2\$)
 \end{alltt}
 
 
@@ -1826,19 +1828,19 @@ E e1;
 ! DWARF description
 !
 11\$: \livelink{chap:DWTAGenumerationtype}{DW\-\_TAG\-\_enumeration\-\_type}
-        DW\-\_AT\-\_name("E")
-        DW\-\_AT\-\_type(reference to "int")
-        DW\-\_AT\-\_enum\-\_class(present)
+        \livelink{chap:DWATname}{DW\-\_AT\-\_name}("E")
+        \livelink{chap:DWATtype}{DW\-\_AT\-\_type}(reference to "int")
+        \livelink{chap:DWATenumclass}{DW\-\_AT\-\_enum\-\_class}(present)
 12\$:   \livelink{chap:DWTAGenumerator}{DW\-\_TAG\-\_enumerator}
-            DW\-\_AT\-\_name("E1")
-            DW\-\_AT\-\_const\-\_value(0)
+            \livelink{chap:DWATname}{DW\-\_AT\-\_name}("E1")
+            \livelink{chap:DWATconstvalue}{DW\-\_AT\-\_const\-\_value}(0)
 13\$:
          \livelink{chap:DWTAGenumerator}{DW\-\_TAG\-\_enumerator}
-            DW\-\_AT\-\_name("E2")
-            DW\-\_AT\-\_const\-\_value(100)
+            \livelink{chap:DWATname}{DW\-\_AT\-\_name}("E2")
+            \livelink{chap:DWATconstvalue}{DW\-\_AT\-\_const\-\_value}(100)
 14\$: \livelink{chap:DWTAGvariable}{DW\-\_TAG\-\_variable}
-        DW\-\_AT\-\_name("e1")
-        DW\-\_AT\-\_type(reference to 11\$)
+        \livelink{chap:DWATname}{DW\-\_AT\-\_name}("e1")
+        \livelink{chap:DWATtype}{DW\-\_AT\-\_type}(reference to 11\$)
 \end{alltt}
 
 \section{Template Example}
@@ -1865,16 +1867,16 @@ wrapper<int> obj;
 ! DWARF description
 !
 11\$: \livelink{chap:DWTAGstructuretype}{DW\-\_TAG\-\_structure\-\_type}
-        DW\-\_AT\-\_name("wrapper")
+        \livelink{chap:DWATname}{DW\-\_AT\-\_name}("wrapper")
 12\$: \livelink{chap:DWTAGtemplatetypeparameter}{DW\-\_TAG\-\_template\-\_type\-\_parameter}
-        DW\-\_AT\-\_name("T")
-        DW\-\_AT\-\_type(reference to "int")
+        \livelink{chap:DWATname}{DW\-\_AT\-\_name}("T")
+        \livelink{chap:DWATtype}{DW\-\_AT\-\_type}(reference to "int")
 13\$ \livelink{chap:DWTAGmember}{DW\-\_TAG\-\_member}
-        DW\-\_AT\-\_name("comp")
-        DW\-\_AT\-\_type(reference to 12\$)
+        \livelink{chap:DWATname}{DW\-\_AT\-\_name}("comp")
+        \livelink{chap:DWATtype}{DW\-\_AT\-\_type}(reference to 12\$)
 14\$: \livelink{chap:DWTAGvariable}{DW\-\_TAG\-\_variable}
-        DW\-\_AT\-\_name("obj")
-        DW\-\_AT\-\_type(reference to 11\$)
+        \livelink{chap:DWATname}{DW\-\_AT\-\_name}("obj")
+        \livelink{chap:DWATtype}{DW\-\_AT\-\_type}(reference to 11\$)
 \end{alltt}
 
 The actual type of the component comp is int, but in the DWARF
@@ -1912,24 +1914,24 @@ Section \refersec{app:ctemplateexample2}.
 ! DWARF description
 !
 11\$: \livelink{chap:DWTAGstructuretype}{DW\-\_TAG\-\_structure\-\_type}
-        DW\-\_AT\-\_name("wrapper")
+        \livelink{chap:DWATname}{DW\-\_AT\-\_name}("wrapper")
 12\$:   \livelink{chap:DWTAGtemplatetypeparameter}{DW\-\_TAG\-\_template\-\_type\-\_parameter}
-            DW\-\_AT\-\_name("T")
-            DW\-\_AT\-\_type(reference to "int")
+            \livelink{chap:DWATname}{DW\-\_AT\-\_name}("T")
+            \livelink{chap:DWATtype}{DW\-\_AT\-\_type}(reference to "int")
 13\$    \livelink{chap:DWTAGmember}{DW\-\_TAG\-\_member}
-            DW\-\_AT\-\_name("comp")
-            DW\-\_AT\-\_type(reference to 12\$)
+            \livelink{chap:DWATname}{DW\-\_AT\-\_name}("comp")
+            \livelink{chap:DWATtype}{DW\-\_AT\-\_type}(reference to 12\$)
 14\$: \livelink{chap:DWTAGvariable}{DW\-\_TAG\-\_variable}
-        DW\-\_AT\-\_name("obj")
-        DW\-\_AT\-\_type(reference to 11\$)
+        \livelink{chap:DWATname}{DW\-\_AT\-\_name}("obj")
+        \livelink{chap:DWATtype}{DW\-\_AT\-\_type}(reference to 11\$)
 21\$: \livelink{chap:DWTAGsubprogram}{DW\-\_TAG\-\_subprogram}
-        DW\-\_AT\-\_name("consume")
+        \livelink{chap:DWATname}{DW\-\_AT\-\_name}("consume")
 22\$:   \livelink{chap:DWTAGtemplatetypeparameter}{DW\-\_TAG\-\_template\-\_type\-\_parameter}
-            DW\-\_AT\-\_name("U")
-            DW\-\_AT\-\_type(reference to "int")
+            \livelink{chap:DWATname}{DW\-\_AT\-\_name}("U")
+            \livelink{chap:DWATtype}{DW\-\_AT\-\_type}(reference to "int")
 23\$:   \livelink{chap:DWTAGformalparameter}{DW\-\_TAG\-\_formal\-\_parameter}
-            DW\-\_AT\-\_name("formal")
-            DW\-\_AT\-\_type(reference to 11\$)
+            \livelink{chap:DWATname}{DW\-\_AT\-\_name}("formal")
+            \livelink{chap:DWATtype}{DW\-\_AT\-\_type}(reference to 11\$)
 \end{alltt}
 
 In the \livelink{chap:DWTAGsubprogram}{DW\-\_TAG\-\_subprogram} entry for the instance of consume,
@@ -1955,7 +1957,7 @@ the instantiation of
 \begin{alltt}
 wrapper<U>, 
 \end{alltt}
-in the DW\-\_AT\-\_type attribute at 
+in the \livelink{chap:DWATtype}{DW\-\_AT\-\_type} attribute at 
 23\$. 
 There is no
 description of the relationship between template type parameter
@@ -2000,28 +2002,28 @@ Beta<long> b;
 ! DWARF representation for variable 'b'
 !
 20\$: \livelink{chap:DWTAGstructuretype}{DW\-\_TAG\-\_structure\-\_type}
-        DW\-\_AT\-\_name("Alpha")
+        \livelink{chap:DWATname}{DW\-\_AT\-\_name}("Alpha")
 21\$:   \livelink{chap:DWTAGtemplatetypeparameter}{DW\-\_TAG\-\_template\-\_type\-\_parameter}
-            DW\-\_AT\-\_name("T")
-            DW\-\_AT\-\_type(reference to "long")
+            \livelink{chap:DWATname}{DW\-\_AT\-\_name}("T")
+            \livelink{chap:DWATtype}{DW\-\_AT\-\_type}(reference to "long")
 22\$:   \livelink{chap:DWTAGtemplatetypeparameter}{DW\-\_TAG\-\_template\-\_type\-\_parameter}
-            DW\-\_AT\-\_name("U")
-            DW\-\_AT\-\_type(reference to "long")
+            \livelink{chap:DWATname}{DW\-\_AT\-\_name}("U")
+            \livelink{chap:DWATtype}{DW\-\_AT\-\_type}(reference to "long")
 23\$:   \livelink{chap:DWTAGmember}{DW\-\_TAG\-\_member}
-            DW\-\_AT\-\_name("tango")
-            DW\-\_AT\-\_type(reference to 21\$)
+            \livelink{chap:DWATname}{DW\-\_AT\-\_name}("tango")
+            \livelink{chap:DWATtype}{DW\-\_AT\-\_type}(reference to 21\$)
 24\$:   \livelink{chap:DWTAGmember}{DW\-\_TAG\-\_member}
-            DW\-\_AT\-\_name("uniform")
-            DW\-\_AT\-\_type(reference to 22\$)
+            \livelink{chap:DWATname}{DW\-\_AT\-\_name}("uniform")
+            \livelink{chap:DWATtype}{DW\-\_AT\-\_type}(reference to 22\$)
 25\$: \livelink{chap:DWTAGtemplatealias}{DW\-\_TAG\-\_template\-\_alias}
-        DW\-\_AT\-\_name("Beta")
-        DW\-\_AT\-\_type(reference to 20\$)
+        \livelink{chap:DWATname}{DW\-\_AT\-\_name}("Beta")
+        \livelink{chap:DWATtype}{DW\-\_AT\-\_type}(reference to 20\$)
 26\$:   \livelink{chap:DWTAGtemplatetypeparameter}{DW\-\_TAG\-\_template\-\_type\-\_parameter}
-            DW\-\_AT\-\_name("V")
-            DW\-\_AT\-\_type(reference to "long")
+            \livelink{chap:DWATname}{DW\-\_AT\-\_name}("V")
+            \livelink{chap:DWATtype}{DW\-\_AT\-\_type}(reference to "long")
 27\$: \livelink{chap:DWTAGvariable}{DW\-\_TAG\-\_variable}
-        DW\-\_AT\-\_name("b")
-        DW\-\_AT\-\_type(reference to 25\$)
+        \livelink{chap:DWATname}{DW\-\_AT\-\_name}("b")
+        \livelink{chap:DWATtype}{DW\-\_AT\-\_type}(reference to 25\$)
 \end{alltt}
 
 
@@ -2042,36 +2044,36 @@ X<Z<int>> z;
 ! DWARF representation for X<Y<int>>
 !
 30\$: \livelink{chap:DWTAGstructuretype}{DW\-\_TAG\-\_structure\-\_type}
-        DW\-\_AT\-\_name("Y")
+        \livelink{chap:DWATname}{DW\-\_AT\-\_name}("Y")
 31\$:   \livelink{chap:DWTAGtemplatetypeparameter}{DW\-\_TAG\-\_template\-\_type\-\_parameter}
-            DW\-\_AT\-\_name("TY")
-            DW\-\_AT\-\_type(reference to "int")
+            \livelink{chap:DWATname}{DW\-\_AT\-\_name}("TY")
+            \livelink{chap:DWATtype}{DW\-\_AT\-\_type}(reference to "int")
 32\$: \livelink{chap:DWTAGstructuretype}{DW\-\_TAG\-\_structure\-\_type}
-        DW\-\_AT\-\_name("X")
+        \livelink{chap:DWATname}{DW\-\_AT\-\_name}("X")
 33\$:   \livelink{chap:DWTAGtemplatetypeparameter}{DW\-\_TAG\-\_template\-\_type\-\_parameter}
-            DW\-\_AT\-\_name("TX")
-            DW\-\_AT\-\_type(reference to 30\$)
+            \livelink{chap:DWATname}{DW\-\_AT\-\_name}("TX")
+            \livelink{chap:DWATtype}{DW\-\_AT\-\_type}(reference to 30\$)
 
 ! DWARF representation for X<Z<int>>
 !
 40\$: \livelink{chap:DWTAGtemplatealias}{DW\-\_TAG\-\_template\-\_alias}
 using Z = Y<int>;
-        DW\-\_AT\-\_name("Z")
-        DW\-\_AT\-\_type(reference to 30\$)
+        \livelink{chap:DWATname}{DW\-\_AT\-\_name}("Z")
+        \livelink{chap:DWATtype}{DW\-\_AT\-\_type}(reference to 30\$)
 41\$:   \livelink{chap:DWTAGtemplatetypeparameter}{DW\-\_TAG\-\_template\-\_type\-\_parameter}
-            DW\-\_AT\-\_name("T")
-            DW\-\_AT\-\_type(reference to "int")
+            \livelink{chap:DWATname}{DW\-\_AT\-\_name}("T")
+            \livelink{chap:DWATtype}{DW\-\_AT\-\_type}(reference to "int")
 42\$: \livelink{chap:DWTAGstructuretype}{DW\-\_TAG\-\_structure\-\_type}
-        DW\-\_AT\-\_name("X")
+        \livelink{chap:DWATname}{DW\-\_AT\-\_name}("X")
 43\$:   \livelink{chap:DWTAGtemplatetypeparameter}{DW\-\_TAG\-\_template\-\_type\-\_parameter}
-            DW\-\_AT\-\_name("TX")
-            DW\-\_AT\-\_type(reference to 40\$)
+            \livelink{chap:DWATname}{DW\-\_AT\-\_name}("TX")
+            \livelink{chap:DWATtype}{DW\-\_AT\-\_type}(reference to 40\$)
 ! Note that 32\$ and 42\$ are actually the same type
 !
 50\$: \livelink{chap:DWTAGvariable}{DW\-\_TAG\-\_variable}
-        DW\-\_AT\-\_name("y")
-        DW\-\_AT\-\_type(reference to \$32)
+        \livelink{chap:DWATname}{DW\-\_AT\-\_name}("y")
+        \livelink{chap:DWATtype}{DW\-\_AT\-\_type}(reference to \$32)
 51\$: \livelink{chap:DWTAGvariable}{DW\-\_TAG\-\_variable}
-        DW\-\_AT\-\_name("z")
-        DW\-\_AT\-\_type(reference to \$42)
+        \livelink{chap:DWATname}{DW\-\_AT\-\_name}("z")
+        \livelink{chap:DWATtype}{DW\-\_AT\-\_type}(reference to \$42)
 \end{alltt}
index 44d9a7e..7bed20d 100644 (file)
@@ -25,8 +25,8 @@ pervasive and invariant across many kinds of
 debugging information entries, are described in 
 this section and not necessarily mentioned in all
 contexts where they may be appropriate. 
-Examples include DW\-\_AT\-\_artificial, the declaration
-coordinates, and DW\-\_AT\-\_description, among others.
+Examples include \livelink{chap:DWATartificial}{DW\-\_AT\-\_artificial}, the declaration
+coordinates, and \livelink{chap:DWATdescription}{DW\-\_AT\-\_description}, among others.
 
 The debugging information entries are contained 
 in the .debug\_info and .debug\_types
@@ -142,221 +142,221 @@ to one of the classes shown in Figure \refersec{tab:classesofattributevalue}.
 \endfoot
   \hline
 \endlastfoot
-DW\-\_AT\-\_abstract\-\_origin
+\livetarg{chap:DWATabstractorigin}{DW\-\_AT\-\_abstract\-\_origin}
 &Inline instances of inline subprograms \\
 &Out\dash{} of\dash{} line instances of inline subprograms \\
-DW\-\_AT\-\_accessibility
+\livetarg{chap:DWATaccessibility}{DW\-\_AT\-\_accessibility}
 &C++ and Ada declarations \\
 &C++ base classes \\
 &C++ inherited members \\
-DW\-\_AT\-\_address\-\_class
+\livetarg{chap:DWATaddressclass}{DW\-\_AT\-\_address\-\_class}
 &Pointer or reference types \\
 &Subroutine or subroutine type \\
-DW\-\_AT\-\_allocated
+\livetarg{chap:DWATallocated}{DW\-\_AT\-\_allocated}
 &Allocation status of types \\
-DW\-\_AT\-\_artificial
+\livetarg{chap:DWATartificial}{DW\-\_AT\-\_artificial}
 &Objects or types that are not
 actually declared in the source \\
-DW\-\_AT\-\_associated 
+\livetarg{chap:DWATassociated}{DW\-\_AT\-\_associated} 
 &Association status of types \\
-DW\-\_AT\-\_base\-\_types 
+\livetarg{chap:DWATbasetypes}{DW\-\_AT\-\_base\-\_types} 
 &Primitive data types of compilation unit \\
-DW\-\_AT\-\_binary\-\_scale 
+\livetarg{chap:DWATbinaryscale}{DW\-\_AT\-\_binary\-\_scale} 
 &Binary scale factor for fixed\dash point type \\
-DW\-\_AT\-\_bit\-\_offset 
+\livetarg{chap:DWATbitoffset}{DW\-\_AT\-\_bit\-\_offset} 
 &Base type bit location \\
 &Data member bit location \\
-DW\-\_AT\-\_bit\-\_size 
+\livetarg{chap:DWATbitsize}{DW\-\_AT\-\_bit\-\_size} 
 &Base type bit size \\
 &Data member bit size \\
-DW\-\_AT\-\_bit\-\_stride 
+\livetarg{chap:DWATbitstride}{DW\-\_AT\-\_bit\-\_stride} 
 &Array element stride (of array type) \\
 &Subrange stride (dimension of array type) \\
 &Enumeration stride (dimension of array type) \\
-DW\-\_AT\-\_byte\-\_size 
+\livetarg{chap:DWATbytesize}{DW\-\_AT\-\_byte\-\_size} 
 &Data object or data type size \\
-DW\-\_AT\-\_byte\-\_stride 
+\livetarg{chap:DWATbytestride}{DW\-\_AT\-\_byte\-\_stride} 
 &Array element stride (of array type) \\
 &Subrange stride (dimension of array type) \\
 &Enumeration stride (dimension of array type) \\
-DW\-\_AT\-\_call\-\_column 
+\livetarg{chap:DWATcallcolumn}{DW\-\_AT\-\_call\-\_column} 
 &Column position of inlined subroutine call \\
-DW\-\_AT\-\_call\-\_file
+\livetarg{chap:DWATcallfile}{DW\-\_AT\-\_call\-\_file}
 &File containing inlined subroutine call \\
-DW\-\_AT\-\_call\-\_line 
+\livetarg{chap:DWATcallline}{DW\-\_AT\-\_call\-\_line} 
 &Line number of inlined subroutine call \\
-DW\-\_AT\-\_calling\-\_convention 
+\livetarg{chap:DWATcallingconvention}{DW\-\_AT\-\_calling\-\_convention} 
 &Subprogram calling convention \\
-&DW\-\_AT\-\_common\-\_reference \\
+&\livetarg{chap:DWATcommonreference}{DW\-\_AT\-\_common\-\_reference} \\
 &Common block usage \\
-DW\-\_AT\-\_comp\-\_dir
+\livetarg{chap:DWATcompdir}{DW\-\_AT\-\_comp\-\_dir}
 &Compilation directory \\
-DW\-\_AT\-\_const\-\_value
+\livetarg{chap:DWATconstvalue}{DW\-\_AT\-\_const\-\_value}
 &Constant object \\
-DW\-\_AT\-\_const\-\_value
+\livetarg{chap:DWATconstvalue}{DW\-\_AT\-\_const\-\_value}
 &Enumeration literal value \\
 &Template value parameter \\
-DW\-\_AT\-\_const\-\_expr
+\livetarg{chap:DWATconstexpr}{DW\-\_AT\-\_const\-\_expr}
 &Compile\dash time constant object \\
 &Compile\dash time constant function \\
-DW\-\_AT\-\_containing\-\_type
+\livetarg{chap:DWATcontainingtype}{DW\-\_AT\-\_containing\-\_type}
 &Containing type of pointer to member type \\
-DW\-\_AT\-\_count
+\livetarg{chap:DWATcount}{DW\-\_AT\-\_count}
 &Elements of subrange type \\
-DW\-\_AT\-\_data\-\_bit\-\_offset
+\livetarg{chap:DWATdatabitoffset}{DW\-\_AT\-\_data\-\_bit\-\_offset}
 &Base type bit location \\
 &Data member bit location \\
-DW\-\_AT\-\_data\-\_location 
+\livetarg{chap:DWATdatalocation}{DW\-\_AT\-\_data\-\_location} 
 &Indirection to actual data \\
-DW\-\_AT\-\_data\-\_member\-\_location
+\livetarg{chap:DWATdatamemberlocation}{DW\-\_AT\-\_data\-\_member\-\_location}
 &Data member location \\
 &Inherited member location \\
-DW\-\_AT\-\_decimal\-\_scale
+\livetarg{chap:DWATdecimalscale}{DW\-\_AT\-\_decimal\-\_scale}
 &Decimal scale factor \\
-DW\-\_AT\-\_decimal\-\_sign
+\livetarg{chap:DWATdecimalsign}{DW\-\_AT\-\_decimal\-\_sign}
 &Decimal sign representation \\
-DW\-\_AT\-\_decl\-\_column
+\livetarg{chap:DWATdeclcolumn}{DW\-\_AT\-\_decl\-\_column}
 &Column position of source declaration \\
-DW\-\_AT\-\_decl\-\_file
+\livetarg{chap:DWATdeclfile}{DW\-\_AT\-\_decl\-\_file}
 &File containing source declaration \\
-DW\-\_AT\-\_decl\-\_line
+\livetarg{chap:DWATdeclline}{DW\-\_AT\-\_decl\-\_line}
 &Line number of source declaration \\
-DW\-\_AT\-\_declaration
+\livetarg{chap:DWATdeclaration}{DW\-\_AT\-\_declaration}
 &Incomplete, non\dash defining, or separate entity declaration \\
-DW\-\_AT\-\_default\-\_value
+\livetarg{chap:DWATdefaultvalue}{DW\-\_AT\-\_default\-\_value}
 &Default value of parameter \\
-DW\-\_AT\-\_description 
+\livetarg{chap:DWATdescription}{DW\-\_AT\-\_description} 
 & Artificial name or description \\
-DW\-\_AT\-\_digit\-\_count
+\livetarg{chap:DWATdigitcount}{DW\-\_AT\-\_digit\-\_count}
 &Digit count for packed decimal or numeric string type\\
-DW\-\_AT\-\_discr
+\livetarg{chap:DWATdiscr}{DW\-\_AT\-\_discr}
 &Discriminant of variant part\\
-DW\-\_AT\-\_discr\-\_list
+\livetarg{chap:DWATdiscrlist}{DW\-\_AT\-\_discr\-\_list}
 &List of discriminant values\\
-DW\-\_AT\-\_discr\-\_value
+\livetarg{chap:DWATdiscrvalue}{DW\-\_AT\-\_discr\-\_value}
 &Discriminant value\\
-DW\-\_AT\-\_elemental
+\livetarg{chap:DWATelemental}{DW\-\_AT\-\_elemental}
 &Elemental property of a subroutine\\
-DW\-\_AT\-\_encoding
+\livetarg{chap:DWATencoding}{DW\-\_AT\-\_encoding}
 &Encoding of base type\\
-DW\-\_AT\-\_endianity
+\livetarg{chap:DWATendianity}{DW\-\_AT\-\_endianity}
 &Endianity of data\\
-DW\-\_AT\-\_entry\-\_pc
+\livetarg{chap:DWATentrypc}{DW\-\_AT\-\_entry\-\_pc}
 &Entry address of module initialization\\
 &Entry address of subprogram\\
 &Entry address of inlined subprogram\\
-DW\-\_AT\-\_enum\-\_class
+\livetarg{chap:DWATenumclass}{DW\-\_AT\-\_enum\-\_class}
 &Type safe enumeration definition\\
-DW\-\_AT\-\_explicit
+\livetarg{chap:DWATexplicit}{DW\-\_AT\-\_explicit}
 &Explicit property of member function\\
-DW\-\_AT\-\_extension
+\livetarg{chap:DWATextension}{DW\-\_AT\-\_extension}
 &Previous namespace extension or original namespace\\
-DW\-\_AT\-\_external
+\livetarg{chap:DWATexternal}{DW\-\_AT\-\_external}
 &External subroutine\\
 &External variable\\
-DW\-\_AT\-\_frame\-\_base
+\livetarg{chap:DWATframebase}{DW\-\_AT\-\_frame\-\_base}
 &Subroutine frame base address\\
-DW\-\_AT\-\_friend
+\livetarg{chap:DWATfriend}{DW\-\_AT\-\_friend}
 &Friend relationship\\
-DW\-\_AT\-\_high\-\_pc
+\livetarg{chap:DWAThighpc}{DW\-\_AT\-\_high\-\_pc}
 &Contiguous range of code addresses\\
-DW\-\_AT\-\_identifier\-\_case
+\livetarg{chap:DWATidentifiercase}{DW\-\_AT\-\_identifier\-\_case}
 &Identifier case rule \\
-DW\-\_AT\-\_import
+\livetarg{chap:DWATimport}{DW\-\_AT\-\_import}
 &Imported declaration \\
 &Imported unit \\
 &Namespace alias \\
 &Namespace using declaration \\
 &Namespace using directive \\
-DW\-\_AT\-\_inline
+\livetarg{chap:DWATinline}{DW\-\_AT\-\_inline}
 &Abstract instance\\
 &Inlined subroutine\\
-DW\-\_AT\-\_is\-\_optional
+\livetarg{chap:DWATisoptional}{DW\-\_AT\-\_is\-\_optional}
 &Optional parameter\\
-DW\-\_AT\-\_language
+\livetarg{chap:DWATlanguage}{DW\-\_AT\-\_language}
 &Programming language\\
-DW\-\_AT\-\_linkage\-\_name
+\livetarg{chap:DWATlinkagename}{DW\-\_AT\-\_linkage\-\_name}
 &Object file linkage name of an entity\\
-DW\-\_AT\-\_location
+\livetarg{chap:DWATlocation}{DW\-\_AT\-\_location}
 &Data object location\\
-DW\-\_AT\-\_low\-\_pc
+\livetarg{chap:DWATlowpc}{DW\-\_AT\-\_low\-\_pc}
 &Code address or range of addresses\\
-DW\-\_AT\-\_lower\-\_bound
+\livetarg{chap:DWATlowerbound}{DW\-\_AT\-\_lower\-\_bound}
 &Lower bound of subrange\\
-DW\-\_AT\-\_macro\-\_info
+\livetarg{chap:DWATmacroinfo}{DW\-\_AT\-\_macro\-\_info}
 &Macro information (\#define, \#undef)\\
-DW\-\_AT\-\_main\-\_subprogram
+\livetarg{chap:DWATmainsubprogram}{DW\-\_AT\-\_main\-\_subprogram}
 &Main or starting subprogram\\
 &Unit containing main or starting subprogram\\
-DW\-\_AT\-\_mutable
+\livetarg{chap:DWATmutable}{DW\-\_AT\-\_mutable}
 &Mutable property of member data\\
-DW\-\_AT\-\_name
+\livetarg{chap:DWATname}{DW\-\_AT\-\_name}
 &Name of declaration\\
 &Path name of compilation source\\
-DW\-\_AT\-\_namelist\-\_item
+\livetarg{chap:DWATnamelistitem}{DW\-\_AT\-\_namelist\-\_item}
 &Namelist item\\
-DW\-\_AT\-\_object\-\_pointer
+\livetarg{chap:DWATobjectpointer}{DW\-\_AT\-\_object\-\_pointer}
 &Object (this, self) pointer of member function\\
-DW\-\_AT\-\_ordering
+\livetarg{chap:DWATordering}{DW\-\_AT\-\_ordering}
 &Array row/column ordering\\
-DW\-\_AT\-\_picture\-\_string
+\livetarg{chap:DWATpicturestring}{DW\-\_AT\-\_picture\-\_string}
 &Picture string for numeric string type\\
-DW\-\_AT\-\_priority
+\livetarg{chap:DWATpriority}{DW\-\_AT\-\_priority}
 &Module priority\\
-DW\-\_AT\-\_producer
+\livetarg{chap:DWATproducer}{DW\-\_AT\-\_producer}
 &Compiler identification\\
-DW\-\_AT\-\_prototyped
+\livetarg{chap:DWATprototyped}{DW\-\_AT\-\_prototyped}
 &Subroutine prototype\\
-DW\-\_AT\-\_pure
+\livetarg{chap:DWATpure}{DW\-\_AT\-\_pure}
 &Pure property of a subroutine\\
-DW\-\_AT\-\_ranges
+\livetarg{chap:DWATranges}{DW\-\_AT\-\_ranges}
 &Non\dash contiguous range of code addresses\\
-DW\-\_AT\-\_recursive
+\livetarg{chap:DWATrecursive}{DW\-\_AT\-\_recursive}
 &Recursive property of a subroutine\\
-DW\-\_AT\-\_return\-\_addr
+\livetarg{chap:DWATreturnaddr}{DW\-\_AT\-\_return\-\_addr}
 &Subroutine return address save location\\
-DW\-\_AT\-\_segment
+\livetarg{chap:DWATsegment}{DW\-\_AT\-\_segment}
 &Addressing information\\
-DW\-\_AT\-\_sibling
+\livetarg{chap:DWATsibling}{DW\-\_AT\-\_sibling}
 &Debugging information entry relationship\\
-DW\-\_AT\-\_small
+\livetarg{chap:DWATsmall}{DW\-\_AT\-\_small}
 &Scale factor for fixed\dash point type\\
-DW\-\_AT\-\_signature
+\livetarg{chap:DWATsignature}{DW\-\_AT\-\_signature}
 &Type signature\\
-DW\-\_AT\-\_specification
+\livetarg{chap:DWATspecification}{DW\-\_AT\-\_specification}
 &Incomplete, non\dash defining, or separate declaration
 corresponding to a declaration\\
-DW\-\_AT\-\_start\-\_scope
+\livetarg{chap:DWATstartscope}{DW\-\_AT\-\_start\-\_scope}
 &Object declaration\\
 &Type declaration\\
-DW\-\_AT\-\_static\-\_link
+\livetarg{chap:DWATstaticlink}{DW\-\_AT\-\_static\-\_link}
 &Location of uplevel frame\\
-DW\-\_AT\-\_stmt\-\_list
+\livetarg{chap:DWATstmtlist}{DW\-\_AT\-\_stmt\-\_list}
 &Line number information for unit\\
-DW\-\_AT\-\_string\-\_length
+\livetarg{chap:DWATstringlength}{DW\-\_AT\-\_string\-\_length}
 &String length of string type\\
-DW\-\_AT\-\_threads\-\_scaled
+\livetarg{chap:DWATthreadsscaled}{DW\-\_AT\-\_threads\-\_scaled}
 &UPC array bound THREADS scale factor\\
-DW\-\_AT\-\_trampoline
+\livetarg{chap:DWATtrampoline}{DW\-\_AT\-\_trampoline}
 &Target subroutine\\
-DW\-\_AT\-\_type
+\livetarg{chap:DWATtype}{DW\-\_AT\-\_type}
 &Type of declaration\\
 &Type of subroutine return\\
-DW\-\_AT\-\_upper\-\_bound
+\livetarg{chap:DWATupperbound}{DW\-\_AT\-\_upper\-\_bound}
 &Upper bound of subrange\\
-DW\-\_AT\-\_use\-\_location
+\livetarg{chap:DWATuselocation}{DW\-\_AT\-\_use\-\_location}
 &Member location for pointer to member type\\
-DW\-\_AT\-\_use\-\_UTF8
+\livetarg{chap:DWATuseUTF8}{DW\-\_AT\-\_use\-\_UTF8}
 &Compilation unit uses UTF\dash 8 strings \\
-DW\-\_AT\-\_variable\-\_parameter
+\livetarg{chap:DWATvariableparameter}{DW\-\_AT\-\_variable\-\_parameter}
 &Non\dash constant parameter flag \\
-DW\-\_AT\-\_virtuality
+\livetarg{chap:DWATvirtuality}{DW\-\_AT\-\_virtuality}
 &Virtuality indication \\
 &Virtuality of base class \\
 &Virtuality of function \\
-DW\-\_AT\-\_visibility
+\livetarg{chap:DWATvisibility}{DW\-\_AT\-\_visibility}
 &Visibility of declaration\\
-DW\-\_AT\-\_vtable\-\_elem\-\_location
+\livetarg{chap:DWATvtableelemlocation}{DW\-\_AT\-\_vtable\-\_elem\-\_location}
 &Virtual function vtable slot\\
 \end{longtable}
 
@@ -479,7 +479,7 @@ In cases where a producer of debugging information feels that
 it will be important for consumers of that information to
 quickly scan chains of sibling entries, while ignoring the
 children of individual siblings, that producer may attach a
-DW\-\_AT\-\_sibling attribute to any debugging information entry. 
+\livelink{chap:DWATsibling}{DW\-\_AT\-\_sibling} attribute to any debugging information entry. 
 The
 value of this attribute is a reference to the sibling entry
 of the entry to which the attribute is attached.
@@ -589,7 +589,7 @@ signed offset.
 \item DW\-\_OP\-\_fbreg \\
 The DW\-\_OP\-\_fbreg operation provides a signed LEB128 offset
 from the address specified by the location description in the
-DW\-\_AT\-\_frame\-\_base attribute of the current function. (This
+\livelink{chap:DWATframebase}{DW\-\_AT\-\_frame\-\_base} attribute of the current function. (This
 is typically a “stack pointer” register plus or minus
 some offset. On more sophisticated systems it might be a
 location list that adjusts the offset according to changes
@@ -701,7 +701,7 @@ determined by an earlier step during user expression
 evaluation.  This operator provides explicit functionality
 (especially for arrays involving descriptors) that is analogous
 to the implicit push of the base address of a structure prior
-to evaluation of a DW\-\_AT\-\_data\-\_member\-\_location to access a
+to evaluation of a \livelink{chap:DWATdatamemberlocation}{DW\-\_AT\-\_data\-\_member\-\_location} to access a
 data member of a structure. For an example, see 
 Appendix \refersec{app:aggregateexamples}.
 
@@ -732,7 +732,7 @@ consumer.
 The DW\-\_OP\-\_call\-\_frame\-\_cfa operation pushes the value of the
 CFA, obtained from the Call Frame Information 
 (see Section \refersec{chap:callframeinformation}).
-Although the value of DW\-\_AT\-\_frame\-\_base
+Although the value of \livelink{chap:DWATframebase}{DW\-\_AT\-\_frame\-\_base}
 can be computed using other DWARF expression operators,
 in some cases this would require an extensive location list
 because the values of the registers used in computing the
@@ -896,10 +896,10 @@ respectively
 
 These operations transfer
 control of DWARF expression evaluation to the 
-DW\-\_AT\-\_location
+\livelink{chap:DWATlocation}{DW\-\_AT\-\_location}
 attribute of the referenced debugging information entry. If
 there is no such attribute, then there is no effect. Execution
-of the DWARF expression of a DW\-\_AT\-\_location attribute may add
+of the DWARF expression of a \livelink{chap:DWATlocation}{DW\-\_AT\-\_location} attribute may add
 to and/or remove from values on the stack. Execution returns
 to the point following the call when the end of the attribute
 is reached. Values on the stack at the time of the call may be
@@ -1216,7 +1216,7 @@ variable instance.
 
 DW\-\_OP\-\_fbreg -50
 \begin{myindentpara}{1cm}
-Given a DW\-\_AT\-\_frame\-\_base value of ``DW\-\_OP\-\_breg31 64,''this example
+Given a \livelink{chap:DWATframebase}{DW\-\_AT\-\_frame\-\_base} value of ``DW\-\_OP\-\_breg31 64,''this example
 computes the address of a local variable that is -50 bytes from a
 logical frame pointer that is computed by adding 64 to the current
 stack pointer (register 31).
@@ -1359,7 +1359,7 @@ and representation.}
 \section{Types of Program Entities}
 \label{chap:typesofprogramentities}
 Any debugging information entry describing a declaration that
-has a type has a DW\-\_AT\-\_type attribute, whose value is a
+has a type has a \livelink{chap:DWATtype}{DW\-\_AT\-\_type} attribute, whose value is a
 reference to another debugging information entry. The entry
 referenced may describe a base type, that is, a type that is
 not defined in terms of other data types, or it may describe a
@@ -1367,7 +1367,7 @@ user-defined type, such as an array, structure or enumeration.
 Alternatively, the entry referenced may describe a type
 modifier, such as constant, packed, pointer, reference or
 volatile, which in turn will reference another entry describing
-a type or type modifier (using a DW\-\_AT\-\_type attribute of its
+a type or type modifier (using a \livelink{chap:DWATtype}{DW\-\_AT\-\_type} attribute of its
 own). See 
 Section  \refersec{chap:typeentries} 
 for descriptions of the entries describing
@@ -1382,7 +1382,7 @@ the accessibility of an object or of some other program
 entity. The accessibility specifies which classes of other
 program objects are permitted access to the object in question.}
 
-The accessibility of a declaration is represented by a DW\-\_AT\-\_accessibility attribute, whose
+The accessibility of a declaration is represented by a \livelink{chap:DWATaccessibility}{DW\-\_AT\-\_accessibility} attribute, whose
 value is a constant drawn from the set of codes listed in Figure 
 \ref{fig:accessibilitycodes}.
 
@@ -1407,7 +1407,7 @@ visible outside of the entity in which they are
 declared.}
 
 The visibility of a declaration is represented 
-by a DW\-\_AT\-\_visibility attribute, whose value is a
+by a \livelink{chap:DWATvisibility}{DW\-\_AT\-\_visibility} attribute, whose value is a
 constant drawn from the set of codes listed in 
 Figure \ref{fig:visibilitycodes}.
 
@@ -1428,7 +1428,7 @@ Figure \ref{fig:visibilitycodes}.
 member functions and for virtual base classes.}
 
 The virtuality of a declaration is represented by a
-DW\-\_AT\-\_virtuality attribute, whose value is a constant drawn
+\livelink{chap:DWATvirtuality}{DW\-\_AT\-\_virtuality} attribute, whose value is a constant drawn
 from the set of codes listed in 
 Figure \ref{fig:virtualitycodes}.
 
@@ -1455,7 +1455,7 @@ functions.}
 Any debugging information entry representing the
 declaration of an object or type artificially generated by
 a compiler and not explicitly declared by the source program
-may have a DW\-\_AT\-\_artificial attribute, which is a flag.
+may have a \livelink{chap:DWATartificial}{DW\-\_AT\-\_artificial} attribute, which is a flag.
 
 \section{Segmented Addresses}
 \label{chap:segmentedaddresses}
@@ -1465,21 +1465,21 @@ address space.}
 
 Any debugging information entry that contains a description
 of the location of an object or subroutine may have
-a DW\-\_AT\-\_segment attribute, whose value is a location
+a \livelink{chap:DWATsegment}{DW\-\_AT\-\_segment} attribute, whose value is a location
 description. The description evaluates to the segment selector
 of the item being described. If the entry containing the
-DW\-\_AT\-\_segment attribute has a DW\-\_AT\-\_low\-\_pc, DW\-\_AT\-\_high\-\_pc,
-DW\-\_AT\-\_ranges or DW\-\_AT\-\_entry\-\_pc attribute, or a location
+\livelink{chap:DWATsegment}{DW\-\_AT\-\_segment} attribute has a \livelink{chap:DWATlowpc}{DW\-\_AT\-\_low\-\_pc}, \livelink{chap:DWAThighpc}{DW\-\_AT\-\_high\-\_pc},
+\livelink{chap:DWATranges}{DW\-\_AT\-\_ranges} or \livelink{chap:DWATentrypc}{DW\-\_AT\-\_entry\-\_pc} attribute, or a location
 description that evaluates to an address, then those address
 values represent the offset portion of the address within
-the segment specified by DW\-\_AT\-\_segment.
+the segment specified by \livelink{chap:DWATsegment}{DW\-\_AT\-\_segment}.
 
-If an entry has no DW\-\_AT\-\_segment attribute, it inherits
+If an entry has no \livelink{chap:DWATsegment}{DW\-\_AT\-\_segment} attribute, it inherits
 the segment value from its parent entry.  If none of the
 entries in the chain of parents for this entry back to
-its containing compilation unit entry have DW\-\_AT\-\_segment
+its containing compilation unit entry have \livelink{chap:DWATsegment}{DW\-\_AT\-\_segment}
 attributes, then the entry is assumed to exist within a flat
-address space. Similarly, if the entry has a DW\-\_AT\-\_segment
+address space. Similarly, if the entry has a \livelink{chap:DWATsegment}{DW\-\_AT\-\_segment}
 attribute containing an empty location description, that
 entry is assumed to exist within a flat address space.
 
@@ -1490,7 +1490,7 @@ or the way a subroutine is called.}
 
 Any debugging information entry representing a pointer or
 reference type or a subroutine or subroutine type may have
-a DW\-\_AT\-\_address\-\_class attribute, whose value is an integer
+a \livelink{chap:DWATaddressclass}{DW\-\_AT\-\_address\-\_class} attribute, whose value is an integer
 constant.  The set of permissible values is specific to
 each target architecture. The value DW\-\_ADDR\-\_none, however,
 is common to all encodings, and means that no address class
@@ -1550,22 +1550,22 @@ a declaration with its occurrence in the program source.
 
 Any debugging information entry representing the
 declaration of an object, module, subprogram or type may have
-DW\-\_AT\-\_decl\-\_file, DW\-\_AT\-\_decl\-\_line and DW\-\_AT\-\_decl\-\_column
+\livelink{chap:DWATdeclfile}{DW\-\_AT\-\_decl\-\_file}, \livelink{chap:DWATdeclline}{DW\-\_AT\-\_decl\-\_line} and \livelink{chap:DWATdeclcolumn}{DW\-\_AT\-\_decl\-\_column}
 attributes each of whose value is an unsigned integer constant.
 
-The value of the DW\-\_AT\-\_decl\-\_file attribute corresponds to
+The value of the \livelink{chap:DWATdeclfile}{DW\-\_AT\-\_decl\-\_file} attribute corresponds to
 a file number from the line number information table for the
 compilation unit containing the debugging information entry and
 represents the source file in which the declaration appeared
 (see Section 6.2). The value 0 indicates that no source file
 has been specified.
 
-The value of the DW\-\_AT\-\_decl\-\_line attribute represents
+The value of the \livelink{chap:DWATdeclline}{DW\-\_AT\-\_decl\-\_line} attribute represents
 the source line number at which the first character of
 the identifier of the declared object appears. The value 0
 indicates that no source line has been specified.
 
-The value of the DW\-\_AT\-\_decl\-\_column attribute represents
+The value of the \livelink{chap:DWATdeclcolumn}{DW\-\_AT\-\_decl\-\_column} attribute represents
 the source column number at which the first character of
 the identifier of the declared object appears. The value 0
 indicates that no column has been specified.
@@ -1573,7 +1573,7 @@ indicates that no column has been specified.
 \section{Identifier Names}
 \label{chap:identifiernames}
 Any debugging information entry representing a program entity
-that has been given a name may have a DW\-\_AT\-\_name attribute,
+that has been given a name may have a \livelink{chap:DWATname}{DW\-\_AT\-\_name} attribute,
 whose value is a string representing the name as it appears in
 the source program. A debugging information entry containing
 no name attribute, or containing a name attribute whose value
@@ -1584,26 +1584,26 @@ a program entity for which no name was given in the source.
 names as they appear in the source program, implementations
 of language translators that use some form of mangled name
 (as do many implementations of C++) should use the unmangled
-form of the name in the DWARF DW\-\_AT\-\_name attribute,
+form of the name in the DWARF \livelink{chap:DWATname}{DW\-\_AT\-\_name} attribute,
 including the keyword operator (in names such as “operator
 +”), if present. See also 
 Section \refersec{chap:linkagenames} regarding the use
-of DW\-\_AT\-\_linkage\-\_name for mangled names. Sequences of
+of \livelink{chap:DWATlinkagename}{DW\-\_AT\-\_linkage\-\_name} for mangled names. Sequences of
 multiple whitespace characters may be compressed.}
 
 \section{Data Locations and DWARF Procedures}
 Any debugging information entry describing a data object (which
 includes variables and parameters) or common block may have a
-DW\-\_AT\-\_location attribute, whose value is a location description
+\livelink{chap:DWATlocation}{DW\-\_AT\-\_location} attribute, whose value is a location description
 (see Section 2.6).  
 
 A DWARF procedure is represented by any
-kind of debugging information entry that has a DW\-\_AT\-\_location
+kind of debugging information entry that has a \livelink{chap:DWATlocation}{DW\-\_AT\-\_location}
 attribute. If a suitable entry is not otherwise available,
 a DWARF procedure can be represented using a debugging
 information entry with the 
 tag \livetarg{chap:DWTAGdwarfprocedure}{DW\-\_TAG\-\_dwarf\-\_procedure}
-together with a DW\-\_AT\-\_location attribute.  
+together with a \livelink{chap:DWATlocation}{DW\-\_AT\-\_location} attribute.  
 
 A DWARF procedure
 is called by a DW\-\_OP\-\_call2, 
@@ -1621,37 +1621,37 @@ subroutines, ordinary blocks, try/catch blocks, labels and
 the like, may have
 
 \begin{itemize}
-\item A DW\-\_AT\-\_low\-\_pc and DW\-\_AT\-\_high\-\_pc pair of 
+\item A \livelink{chap:DWATlowpc}{DW\-\_AT\-\_low\-\_pc} and \livelink{chap:DWAThighpc}{DW\-\_AT\-\_high\-\_pc} pair of 
 attributes for a single contiguous range of
 addresses, or
 
-\item A DW\-\_AT\-\_ranges attribute for a non-contiguous range of addresses.
+\item A \livelink{chap:DWATranges}{DW\-\_AT\-\_ranges} attribute for a non-contiguous range of addresses.
 \end{itemize}
 
 In addition, a non-contiguous range of 
 addresses may also be specified for the
-DW\-\_AT\-\_start\-\_scope attribute.
+\livelink{chap:DWATstartscope}{DW\-\_AT\-\_start\-\_scope} attribute.
 If an entity has no associated machine code, 
 none of these attributes are specified.
 
 \subsection{Single Address} 
 When there is a single address associated with an entity,
 such as a label or alternate entry point of a subprogram,
-the entry has a DW\-\_AT\-\_low\-\_pc attribute whose value is the
-relocated address for the entity.  While the DW\-\_AT\-\_entry\-\_pc
+the entry has a \livelink{chap:DWATlowpc}{DW\-\_AT\-\_low\-\_pc} attribute whose value is the
+relocated address for the entity.  While the \livelink{chap:DWATentrypc}{DW\-\_AT\-\_entry\-\_pc}
 attribute might also seem appropriate for this purpose,
-historically the DW\-\_AT\-\_low\-\_pc attribute was used before the
-DW\-\_AT\-\_entry\-\_pc was introduced (in DWARF Version 3). There is
+historically the \livelink{chap:DWATlowpc}{DW\-\_AT\-\_low\-\_pc} attribute was used before the
+\livelink{chap:DWATentrypc}{DW\-\_AT\-\_entry\-\_pc} was introduced (in DWARF Version 3). There is
 insufficient reason to change this.
 
 \subsection{Continuous Address Range}
 \label{chap:contiguousaddressranges}
 When the set of addresses of a debugging information entry can
 be described as a single continguous range, the entry may have
-a DW\-\_AT\-\_low\-\_pc and DW\-\_AT\-\_high\-\_pc pair of attributes. The value
-of the DW\-\_AT\-\_low\-\_pc attribute is the relocated address of the
+a \livelink{chap:DWATlowpc}{DW\-\_AT\-\_low\-\_pc} and \livelink{chap:DWAThighpc}{DW\-\_AT\-\_high\-\_pc} pair of attributes. The value
+of the \livelink{chap:DWATlowpc}{DW\-\_AT\-\_low\-\_pc} attribute is the relocated address of the
 first instruction associated with the entity. If the value of
-the DW\-\_AT\-\_high\-\_pc is of class address, it is the relocated
+the \livelink{chap:DWAThighpc}{DW\-\_AT\-\_high\-\_pc} is of class address, it is the relocated
 address of the first location past the last instruction
 associated with the entity; if it is of class constant, the
 value is an unsigned integer offset which when added to the
@@ -1668,14 +1668,14 @@ attributes should be produced.
 \label{chap:noncontiguousaddressranges}
 When the set of addresses of a debugging information entry
 cannot be described as a single contiguous range, the entry has
-a DW\-\_AT\-\_ranges attribute whose value is of class \livelink{chap:rangelistptr}{rangelistptr}
+a \livelink{chap:DWATranges}{DW\-\_AT\-\_ranges} attribute whose value is of class \livelink{chap:rangelistptr}{rangelistptr}
 and indicates the beginning of a range list. Similarly,
-a DW\-\_AT\-\_start\-\_scope attribute may have a value of class
+a \livelink{chap:DWATstartscope}{DW\-\_AT\-\_start\-\_scope} attribute may have a value of class
 \livelink{chap:rangelistptr}{rangelistptr} for the same reason.  
 
 Range lists are contained
 in a separate object file section called .debug\_ranges. A
-range list is indicated by a DW\-\_AT\-\_ranges attribute whose
+range list is indicated by a \livelink{chap:DWATranges}{DW\-\_AT\-\_ranges} attribute whose
 value is represented as an offset from the beginning of the
 .debug\_ranges section to the beginning of the range list.
 
@@ -1750,12 +1750,12 @@ cases, the entry address needs to be specified explicitly.}
 Any debugging information entry describing an entity that has
 a range of code addresses, which includes compilation units,
 module initialization, subroutines, ordinary blocks, try/catch
-blocks, and the like, may have a DW\-\_AT\-\_entry\-\_pc attribute to
+blocks, and the like, may have a \livelink{chap:DWATentrypc}{DW\-\_AT\-\_entry\-\_pc} attribute to
 indicate the first executable instruction within that range
-of addresses. The value of the DW\-\_AT\-\_entry\-\_pc attribute is a
-relocated address. If no DW\-\_AT\-\_entry\-\_pc attribute is present,
+of addresses. The value of the \livelink{chap:DWATentrypc}{DW\-\_AT\-\_entry\-\_pc} attribute is a
+relocated address. If no \livelink{chap:DWATentrypc}{DW\-\_AT\-\_entry\-\_pc} attribute is present,
 then the entry address is assumed to be the same as the
-value of the DW\-\_AT\-\_low\-\_pc attribute, if present; otherwise,
+value of the \livelink{chap:DWATlowpc}{DW\-\_AT\-\_low\-\_pc} attribute, if present; otherwise,
 the entry address is unknown.
 
 \section{Static and Dynamic Values of Attributes}
@@ -1787,16 +1787,16 @@ rules of the applicable programming language.
 }
 
 \textit{The applicable attributes include: 
-DW\-\_AT\-\_allocated,
-DW\-\_AT\-\_associated
-DW\-\_AT\-\_bit\-\_offset
-DW\-\_AT\-\_bit\-\_size,
-DW\-\_AT\-\_byte\-\_size
-DW\-\_AT\-\_count
-DW\-\_AT\-\_lower\-\_bound,
-DW\-\_AT\-\_byte\-\_stride
-DW\-\_AT\-\_bit\-\_stride
-DW\-\_AT\-\_upper\-\_bound (and
+\livelink{chap:DWATallocated}{DW\-\_AT\-\_allocated},
+\livelink{chap:DWATassociated}{DW\-\_AT\-\_associated}
+\livelink{chap:DWATbitoffset}{DW\-\_AT\-\_bit\-\_offset}
+\livelink{chap:DWATbitsize}{DW\-\_AT\-\_bit\-\_size},
+\livelink{chap:DWATbytesize}{DW\-\_AT\-\_byte\-\_size}
+\livelink{chap:DWATcount}{DW\-\_AT\-\_count}
+\livelink{chap:DWATlowerbound}{DW\-\_AT\-\_lower\-\_bound},
+\livelink{chap:DWATbytestride}{DW\-\_AT\-\_byte\-\_stride}
+\livelink{chap:DWATbitstride}{DW\-\_AT\-\_bit\-\_stride}
+\livelink{chap:DWATupperbound}{DW\-\_AT\-\_upper\-\_bound} (and
 possibly others).}
 
 
@@ -1811,8 +1811,8 @@ type descriptions of the form typename’Class, and
 ``access typename'' parameters.  }
 
 Generally, any debugging information
-entry that has, or may have, a DW\-\_AT\-\_name attribute, may
-also have a DW\-\_AT\-\_description attribute whose value is a
+entry that has, or may have, a \livelink{chap:DWATname}{DW\-\_AT\-\_name} attribute, may
+also have a \livelink{chap:DWATdescription}{DW\-\_AT\-\_description} attribute whose value is a
 null-terminated string providing a description of the entity.
 
 
@@ -1825,17 +1825,17 @@ assigned, or the like.}
 \label{chap:byteandbitsizes}
 % Some trouble here with hbox full, so we try optional word breaks.
 Many debugging information entries allow either a
-DW\-\_AT\-\_byte\-\_size attribute or a DW\-\_AT\-\_bit\-\_size attribute,
+\livelink{chap:DWATbytesize}{DW\-\_AT\-\_byte\-\_size} attribute or a \livelink{chap:DWATbitsize}{DW\-\_AT\-\_bit\-\_size} attribute,
 whose integer constant value 
 (see \refersec{chap:staticanddynamicvaluesofattributes}) 
 specifies an
-amount of storage. The value of the DW\-\_AT\-\_byte\-\_size attribute
-is interpreted in bytes and the value of the DW\-\_AT\-\_bit\-\_size
+amount of storage. The value of the \livelink{chap:DWATbytesize}{DW\-\_AT\-\_byte\-\_size} attribute
+is interpreted in bytes and the value of the \livelink{chap:DWATbitsize}{DW\-\_AT\-\_bit\-\_size}
 attribute is interpreted in bits.  
 
 Similarly, the integer
-constant value of a DW\-\_AT\-\_byte\-\_stride attribute is interpreted
-in bytes and the integer constant value of a DW\-\_AT\-\_bit\-\_stride
+constant value of a \livelink{chap:DWATbytestride}{DW\-\_AT\-\_byte\-\_stride} attribute is interpreted
+in bytes and the integer constant value of a \livelink{chap:DWATbitstride}{DW\-\_AT\-\_bit\-\_stride}
 attribute is interpreted in bits.
 
 \section{Linkage Names}
@@ -1857,12 +1857,12 @@ that is encoded in the linkage name itself.
 
 % Some trouble maybe with hbox full, so we try optional word breaks.
 A debugging
-information entry may have a DW\-\_AT\-\_linkage\-\_name attribute
+information entry may have a \livelink{chap:DWATlinkagename}{DW\-\_AT\-\_linkage\-\_name} attribute
 whose value is a null-terminated string describing the object
 file linkage name associated with the corresponding entity.
 
 % Some trouble here with hbox full, so we try optional word breaks.
-\textit{Debugging information entries to which DW\-\_AT\-\_linkage\-\_name
+\textit{Debugging information entries to which \livelink{chap:DWATlinkagename}{DW\-\_AT\-\_linkage\-\_name}
 may apply include: \livelink{chap:DWTAGcommonblock}{DW\-\_TAG\-\_common\-\_block}, \livelink{chap:DWTAGconstant}{DW\-\_TAG\-\_constant},
 \livelink{chap:DWTAGentrypoint}{DW\-\_TAG\-\_entry\-\_point}, \livelink{chap:DWTAGsubprogram}{DW\-\_TAG\-\_subprogram} 
 and \livelink{chap:DWTAGvariable}{DW\-\_TAG\-\_variable}.
index df7c257..bfa0345 100644 (file)
@@ -142,7 +142,7 @@ name) from DWARF expressions, which compute a final value (such as an array boun
 occupy a whole number of bytes.
 \item Add a new attribute form for section offsets, DW\-\_FORM\-\_sec\-\_offset, to replace the use
 of DW\-\_FORM\-\_data4 and DW\-\_FORM\-\_data8 for section offsets.
-\item Add an attribute, DW\-\_AT\-\_main\-\_subprogram, to identify the main subprogram of a
+\item Add an attribute, \livelink{chap:DWATmainsubprogram}{DW\-\_AT\-\_main\-\_subprogram}, to identify the main subprogram of a
 program.
 \item Define default array lower bound values for each supported language.
 \item Add a new technique using separate type units, type signatures and COMDAT sections to
index befd138..baa6b78 100644 (file)
@@ -101,7 +101,7 @@ pairs. Each pair consists of the section offset from the
 beginning of the compilation unit corresponding to the current
 set to the debugging information entry for the given object,
 followed by a null\dash terminated character string representing
-the name of the object as given by the DW\-\_AT\-\_name attribute
+the name of the object as given by the \livelink{chap:DWATname}{DW\-\_AT\-\_name} attribute
 of the referenced debugging information entry. Each set of
 names is terminated by an offset field containing zero (and
 no following string).
@@ -110,7 +110,7 @@ no following string).
 In the case of the name of a function member or static data
 member of a C++ structure, class or union, the name presented
 in the .debug\_pubnames section is not the simple name given
-by the DW\-\_AT\-\_name attribute of the referenced debugging
+by the \livelink{chap:DWATname}{DW\-\_AT\-\_name} attribute of the referenced debugging
 information entry, but rather the fully qualified name of
 the data or function member.
 
@@ -539,7 +539,7 @@ values:
 path name of a source file. If the entry contains a file
 name or relative path name, the file is located relative
 to either the compilation directory (as specified by the
-DW\-\_AT\-\_comp\-\_dir attribute given in the compilation unit) or one
+\livelink{chap:DWATcompdir}{DW\-\_AT\-\_comp\-\_dir} attribute given in the compilation unit) or one
 of the directories listed in the include\_directories section.
 
 \item An unsigned LEB128 number representing the directory
@@ -565,7 +565,7 @@ section, and so on. The directory index is ignored for file
 names that represent full path names.
 
 The primary source file is described by an entry whose path
-name exactly matches that given in the DW\-\_AT\-\_name attribute
+name exactly matches that given in the \livelink{chap:DWATname}{DW\-\_AT\-\_name} attribute
 in the compilation unit, and whose directory is understood
 to be given by the implicit entry with index 0.
 
@@ -922,7 +922,7 @@ The DW\-\_LNE\-\_define\-\_file opcode takes four operands:
 path name of a source file. If the entry contains a file
 name or a relative path name, the file is located relative
 to either the compilation directory (as specified by the
-DW\-\_AT\-\_comp\-\_dir attribute given in the compilation unit)
+\livelink{chap:DWATcompdir}{DW\-\_AT\-\_comp\-\_dir} attribute given in the compilation unit)
 or one of the directories in the include\_directories section.
 
 \item An unsigned LEB128 number representing the directory index
@@ -946,7 +946,7 @@ directory index is ignored for file names that represent full
 path names.
 
 The primary source file is described by an entry whose path
-name exactly matches that given in the DW\-\_AT\-\_name attribute
+name exactly matches that given in the \livelink{chap:DWATname}{DW\-\_AT\-\_name} attribute
 in the compilation unit, and whose directory index is 0. The
 files are numbered, starting at 1, in the order in which they
 appear; the names in the header come before names defined by
index 61111cd..7f23c5d 100644 (file)
@@ -68,22 +68,22 @@ Section \refersec{chap:importedunitentries}).
 Compilation unit entries may have the following attributes:
 
 \begin{enumerate}[1]
-\item Either a DW\-\_AT\-\_low\-\_pc and DW\-\_AT\-\_high\-\_pc pair of
-attributes or a DW\-\_AT\-\_ranges attribute whose values encode the
+\item Either a \livelink{chap:DWATlowpc}{DW\-\_AT\-\_low\-\_pc} and \livelink{chap:DWAThighpc}{DW\-\_AT\-\_high\-\_pc} pair of
+attributes or a \livelink{chap:DWATranges}{DW\-\_AT\-\_ranges} attribute whose values encode the
 contiguous or non\dash contiguous address ranges, respectively,
 of the machine instructions generated for the compilation
 unit (see Section {chap:codeaddressesandranges}).  
-A DW\-\_AT\-\_low\-\_pc attribute may also
-be specified in combination with DW\-\_AT\-\_ranges to specify the
+A \livelink{chap:DWATlowpc}{DW\-\_AT\-\_low\-\_pc} attribute may also
+be specified in combination with \livelink{chap:DWATranges}{DW\-\_AT\-\_ranges} to specify the
 default base address for use in location lists (see Section
 \refersec{chap:locationlists}) and range lists 
 (see Section \refersec{chap:noncontiguousaddressranges}).
 
-\item A DW\-\_AT\-\_name attribute whose value is a null\dash terminated
+\item A \livelink{chap:DWATname}{DW\-\_AT\-\_name} attribute whose value is a null\dash terminated
 string containing the full or relative path name of the primary
 source file from which the compilation unit was derived.
 
-\item A DW\-\_AT\-\_language attribute whose constant value is an
+\item A \livelink{chap:DWATlanguage}{DW\-\_AT\-\_language} attribute whose constant value is an
 integer code indicating the source language of the compilation
 unit. The set of language names and their meanings are given
 in 
@@ -119,7 +119,7 @@ DW\-\_LANG\-\_UPC &Unified Parallel C\\ \hline
 \end{tabular}
 \end{figure}
 
-\item A DW\-\_AT\-\_stmt\-\_list attribute whose value is a section
+\item A \livelink{chap:DWATstmtlist}{DW\-\_AT\-\_stmt\-\_list} attribute whose value is a section
 offset to the line number information for this compilation
 unit.  This information is placed in a separate object file
 section from the debugging information entries themselves. The
@@ -128,7 +128,7 @@ value of the statement list attribute is the offset in the
 information for this compilation unit 
 (see Section \refersec{chap:linenumberinformation}).
 
-\item A DW\-\_AT\-\_macro\-\_info attribute whose value is a section
+\item A \livelink{chap:DWATmacroinfo}{DW\-\_AT\-\_macro\-\_info} attribute whose value is a section
 offset to the macro information for this compilation unit.
 This information is placed in a separate object file section
 from the debugging information entries themselves. The
@@ -137,12 +137,12 @@ the .debug\_macinfo section of the first byte of the macro
 information for this compilation unit 
 (see Section \refersec{chap:macroinformation}).
 
-\item  A DW\-\_AT\-\_comp\-\_dir attribute whose value is a
+\item  A \livelink{chap:DWATcompdir}{DW\-\_AT\-\_comp\-\_dir} attribute whose value is a
 null\dash terminated string containing the current working directory
 of the compilation command that produced this compilation
 unit in whatever form makes sense for the host system.
 
-\item  A DW\-\_AT\-\_producer attribute whose value is a null\dash
+\item  A \livelink{chap:DWATproducer}{DW\-\_AT\-\_producer} attribute whose value is a null\dash
 terminated string containing information about the compiler
 that produced the compilation unit. The actual contents of
 the string will be specific to each producer, but should
@@ -151,7 +151,7 @@ identifying character sequence that should avoid confusion
 with other producer values.
 
 
-\item  A DW\-\_AT\-\_identifier\-\_case attribute whose integer
+\item  A \livelink{chap:DWATidentifiercase}{DW\-\_AT\-\_identifier\-\_case} attribute whose integer
 constant value is a code describing the treatment
 of identifiers within this compilation unit. The
 set of identifier case codes is given in Figure
@@ -169,7 +169,7 @@ set of identifier case codes is given in Figure
 
 DW\-\_ID\-\_case\-\_sensitive is the default for all compilation units
 that do not have this attribute.  It indicates that names given
-as the values of DW\-\_AT\-\_name attributes in debugging information
+as the values of \livelink{chap:DWATname}{DW\-\_AT\-\_name} attributes in debugging information
 entries for the compilation unit reflect the names as they
 appear in the source program. The debugger should be sensitive
 to the case of identifier names when doing identifier lookups.
@@ -193,7 +193,7 @@ attributes reflect the names as they appear in the source
 program but that a case insensitive lookup should be used to
 access those names.
 
-\item A DW\-\_AT\-\_base\-\_types attribute whose value is a reference.
+\item A \livelink{chap:DWATbasetypes}{DW\-\_AT\-\_base\-\_types} attribute whose value is a reference.
 
 This attribute points to a debugging information entry
 representing another compilation unit.  It may be used
@@ -206,14 +206,14 @@ of base types for a compilation unit that does not itself
 contain such definitions. This allows a consumer, for example,
 to interpret a type conversion to a base type correctly.
 
-\item A DW\-\_AT\-\_use\-\_UTF8 attribute, which is a flag whose
+\item A \livelink{chap:DWATuseUTF8}{DW\-\_AT\-\_use\-\_UTF8} attribute, which is a flag whose
 presence indicates that all strings (such as the names of
 declared entities in the source program) are represented
 using the UTF\dash 8 representation 
 (see Section \refersec{datarep:attributeencodings}).
 
 
-\item A DW\-\_AT\-\_main\-\_subprogram attribute, which is a flag
+\item A \livelink{chap:DWATmainsubprogram}{DW\-\_AT\-\_main\-\_subprogram} attribute, which is a flag
 whose presence indicates that the compilation unit contains a
 subprogram that has been identified as the starting function
 of the program. If more than one compilation unit contains
@@ -229,7 +229,7 @@ a program.}
 \end{enumerate}
 
 The  base address of a compilation unit is defined as the
-value of the DW\-\_AT\-\_low\-\_pc attribute, if present; otherwise,
+value of the \livelink{chap:DWATlowpc}{DW\-\_AT\-\_low\-\_pc} attribute, if present; otherwise,
 it is undefined. If the base address is undefined, then any
 DWARF entry or structure defined in terms of the base address
 of that compilation unit is not valid.
@@ -241,7 +241,7 @@ The place where a normal or partial unit is imported is
 represented by a debugging information entry with the 
 tag \livetarg{chap:DWTAGimportedunit}{DW\-\_TAG\-\_imported\-\_unit}. 
 An imported unit entry contains a
-DW\-\_AT\-\_import attribute whose value is a reference to the
+\livelink{chap:DWATimport}{DW\-\_AT\-\_import} attribute whose value is a reference to the
 normal or partial compilation unit whose declarations logically
 belong at the place of the imported unit entry.
 
@@ -267,7 +267,7 @@ information entries that represent the definition of a single
 type, plus additional debugging information entries that may
 be necessary to include as part of the definition of the type.
 
-A type unit entry may have a DW\-\_AT\-\_language attribute, whose
+A type unit entry may have a \livelink{chap:DWATlanguage}{DW\-\_AT\-\_language} attribute, whose
 constant value is an integer code indicating the source
 language used to define the type. The set of language names
 and their meanings are given in Figure \refersec{fig:languagenames}.
@@ -311,7 +311,7 @@ those entities.}
 \label{chap:moduleentries}
 \textit{Several languages have the concept of a ``module.''
 A Modula\dash 2 definition module may be represented by a module
-entry containing a declaration attribute (DW\-\_AT\-\_declaration). A
+entry containing a declaration attribute (\livelink{chap:DWATdeclaration}{DW\-\_AT\-\_declaration}). A
 Fortran 90 module may also be represented by a module entry
 (but no declaration attribute is warranted because Fortran
 has no concept of a corresponding module body).}
@@ -323,23 +323,23 @@ Module entries may own other
 debugging information entries describing program entities
 whose declaration scopes end at the end of the module itself.
 
-If the module has a name, the module entry has a DW\-\_AT\-\_name
+If the module has a name, the module entry has a \livelink{chap:DWATname}{DW\-\_AT\-\_name}
 attribute whose value is a null\dash terminated string containing
 the module name as it appears in the source program.
 
-The module entry may have either a DW\-\_AT\-\_low\-\_pc and
-DW\-\_AT\-\_high\-\_pc pair of attributes or a DW\-\_AT\-\_ranges attribute
+The module entry may have either a \livelink{chap:DWATlowpc}{DW\-\_AT\-\_low\-\_pc} and
+\livelink{chap:DWAThighpc}{DW\-\_AT\-\_high\-\_pc} pair of attributes or a \livelink{chap:DWATranges}{DW\-\_AT\-\_ranges} attribute
 whose values encode the contiguous or non\dash contiguous address
 ranges, respectively, of the machine instructions generated for
 the module initialization code 
 (see Section \refersec{chap:codeaddressesandranges}). 
 It may also
-have a DW\-\_AT\-\_entry\-\_pc attribute whose value is the address of
+have a \livelink{chap:DWATentrypc}{DW\-\_AT\-\_entry\-\_pc} attribute whose value is the address of
 the first executable instruction of that initialization code
 (see Section \refersec{chap:entryaddress}).
 
 If the module has been assigned a priority, it may have a
-DW\-\_AT\-\_priority attribute. The value of this attribute is a
+\livelink{chap:DWATpriority}{DW\-\_AT\-\_priority} attribute. The value of this attribute is a
 reference to another debugging information entry describing
 a variable with a constant value. The value of this variable
 is the actual constant value of the module’s priority,
@@ -357,7 +357,7 @@ with the
 tag \livetarg{chap:DWTAGnamespace}{DW\-\_TAG\-\_namespace}. 
 A namespace extension is
 represented by a \livelink{chap:DWTAGnamespace}{DW\-\_TAG\-\_namespace} entry 
-with a DW\-\_AT\-\_extension
+with a \livelink{chap:DWATextension}{DW\-\_AT\-\_extension}
 attribute referring to the previous extension, or if there
 is no previous extension, to the original 
 \livelink{chap:DWTAGnamespace}{DW\-\_TAG\-\_namespace}
@@ -365,7 +365,7 @@ entry. A namespace extension entry does not need to duplicate
 information in a previous extension entry of the namespace
 nor need it duplicate information in the original namespace
 entry. (Thus, for a namespace with a name, 
-a DW\-\_AT\-\_name
+a \livelink{chap:DWATname}{DW\-\_AT\-\_name}
 attribute need only be attached directly to the original
 \livelink{chap:DWTAGnamespace}{DW\-\_TAG\-\_namespace} entry.)
 
@@ -380,10 +380,10 @@ function definitions.}
 If a type, variable, or function declared in a namespace is
 defined outside of the body of the namespace declaration,
 that type, variable, or function definition entry has a
-DW\-\_AT\-\_specification attribute whose value is a reference to the
+\livelink{chap:DWATspecification}{DW\-\_AT\-\_specification} attribute whose value is a reference to the
 debugging information entry representing the declaration of
 the type, variable or function. Type, variable, or function
-entries with a DW\-\_AT\-\_specification attribute do not need
+entries with a \livelink{chap:DWATspecification}{DW\-\_AT\-\_specification} attribute do not need
 to duplicate information provided by the declaration entry
 referenced by the specification attribute.
 
@@ -435,11 +435,11 @@ tag \livetarg{chap:DWTAGimporteddeclaration}{DW\-\_TAG\-\_imported\-\_declaratio
 When an overloaded entity
 is imported, there is one imported declaration entry for
 each overloading. Each imported declaration entry has a
-DW\-\_AT\-\_import attribute, whose value is a reference to the
+\livelink{chap:DWATimport}{DW\-\_AT\-\_import} attribute, whose value is a reference to the
 debugging information entry representing the declaration that
 is being imported.
 
-An imported declaration may also have a DW\-\_AT\-\_name attribute
+An imported declaration may also have a \livelink{chap:DWATname}{DW\-\_AT\-\_name} attribute
 whose value is a null\dash terminated string containing the
 name, as it appears in the source program, by which the
 imported entity is to be known in the context of the imported
@@ -491,7 +491,7 @@ An imported module declaration is represented by a debugging
 information entry with the 
 tag \livetarg{chap:DWTAGimportedmodule}{DW\-\_TAG\-\_imported\-\_module}.
 An
-imported module entry contains a DW\-\_AT\-\_import attribute
+imported module entry contains a \livelink{chap:DWATimport}{DW\-\_AT\-\_import} attribute
 whose value is a reference to the module or namespace entry
 containing the definition and/or declaration entries for
 the entities that are to be imported into the context of the
@@ -574,12 +574,12 @@ points:
 \subsection{General Subroutine and Entry Point Information}
 \label{chap:generalsubroutineandentrypointinformation}
 
-It may also have a DW\-\_AT\-\_linkage\-\_name attribute as
+It may also have a \livelink{chap:DWATlinkagename}{DW\-\_AT\-\_linkage\-\_name} attribute as
 described in Section \refersec{chap:linkagenames}.
 
 If the name of the subroutine described by an entry with the
 tag \livelink{chap:DWTAGsubprogram}{DW\-\_TAG\-\_subprogram} is visible outside of its containing
-compilation unit, that entry has a DW\-\_AT\-\_external attribute,
+compilation unit, that entry has a \livelink{chap:DWATexternal}{DW\-\_AT\-\_external} attribute,
 which is a flag.
 
 \textit{Additional attributes for functions that are members of a
@@ -587,7 +587,7 @@ class or structure are described in
 Section \refersec{chap:memberfunctionentries}.
 }
 
-A subroutine entry may contain a DW\-\_AT\-\_main\-\_subprogram
+A subroutine entry may contain a \livelink{chap:DWATmainsubprogram}{DW\-\_AT\-\_main\-\_subprogram}
 attribute which is a flag whose presence indicates that the
 subroutine has been identified as the starting function of
 the program.  If more than one subprogram contains this flag,
@@ -605,7 +605,7 @@ the standard calling conventions for the target architecture
 and will therefore not be safe to call from within a debugger.
 }
 
-A subroutine entry may contain a DW\-\_AT\-\_calling\-\_convention
+A subroutine entry may contain a \livelink{chap:DWATcallingconvention}{DW\-\_AT\-\_calling\-\_convention}
 attribute, whose value is an integer constant. The set of
 calling convention codes is given in 
 Figure \refersec{fig:callingconventioncodes}.
@@ -649,28 +649,28 @@ those declared using non\dash prototype declarations.
 
 A subroutine entry declared with a function prototype style
 declaration may have a 
-DW\-\_AT\-\_prototyped attribute, which is
+\livelink{chap:DWATprototyped}{DW\-\_AT\-\_prototyped} attribute, which is
 a flag.
 
 \textit{The Fortran language allows the keywords elemental, pure
 and recursive to be included as part of the declaration of
 a subroutine; these attributes reflect that usage. These
 attributes are not relevant for languages that do not support
-similar keywords or syntax. In particular, the DW\-\_AT\-\_recursive
+similar keywords or syntax. In particular, the \livelink{chap:DWATrecursive}{DW\-\_AT\-\_recursive}
 attribute is neither needed nor appropriate in languages such
 as C where functions support recursion by default.
 }
 
-A subprogram entry may have a DW\-\_AT\-\_elemental attribute, which
+A subprogram entry may have a \livelink{chap:DWATelemental}{DW\-\_AT\-\_elemental} attribute, which
 is a flag. The attribute indicates whether the subroutine
 or entry point was declared with the ``elemental'' keyword
 or property.
 
-A subprogram entry may have a DW\-\_AT\-\_pure attribute, which is
+A subprogram entry may have a \livelink{chap:DWATpure}{DW\-\_AT\-\_pure} attribute, which is
 a flag. The attribute indicates whether the subroutine was
 declared with the ``pure'' keyword or property.
 
-A subprogram entry may have a DW\-\_AT\-\_recursive attribute, which
+A subprogram entry may have a \livelink{chap:DWATrecursive}{DW\-\_AT\-\_recursive} attribute, which
 is a flag. The attribute indicates whether the subroutine
 or entry point was declared with the ``recursive'' keyword
 or property.
@@ -681,7 +681,7 @@ or property.
 \label{chap:subroutineandentrypointreturntypes}
 
 If the subroutine or entry point is a function that returns a
-value, then its debugging information entry has a DW\-\_AT\-\_type
+value, then its debugging information entry has a \livelink{chap:DWATtype}{DW\-\_AT\-\_type}
 attribute to denote the type returned by that function.
 
 \textit{Debugging information entries for C void functions should
@@ -691,29 +691,29 @@ not have an attribute for the return type.  }
 \subsection{Subroutine and Entry Point Locations}
 \label{chap:subroutineandentrypointlocations}
 
-A subroutine entry may have either a DW\-\_AT\-\_low\-\_pc and
-DW\-\_AT\-\_high\-\_pc pair of attributes or a DW\-\_AT\-\_ranges attribute
+A subroutine entry may have either a \livelink{chap:DWATlowpc}{DW\-\_AT\-\_low\-\_pc} and
+\livelink{chap:DWAThighpc}{DW\-\_AT\-\_high\-\_pc} pair of attributes or a \livelink{chap:DWATranges}{DW\-\_AT\-\_ranges} attribute
 whose values encode the contiguous or non\dash contiguous address
 ranges, respectively, of the machine instructions generated
 for the subroutine (see 
 Section \refersec{chap:codeaddressesandranges}).
 
-A subroutine entry may also have a DW\-\_AT\-\_entry\-\_pc attribute
+A subroutine entry may also have a \livelink{chap:DWATentrypc}{DW\-\_AT\-\_entry\-\_pc} attribute
 whose value is the address of the first executable instruction
 of the subroutine (see 
 Section \refersec{chap:entryaddress}).
 
-An entry point has a DW\-\_AT\-\_low\-\_pc attribute whose value is the
+An entry point has a \livelink{chap:DWATlowpc}{DW\-\_AT\-\_low\-\_pc} attribute whose value is the
 relocated address of the first machine instruction generated
 for the entry point.
 
-\textit{While the DW\-\_AT\-\_entry\-\_pc attribute might also seem appropriate
-for this purpose, historically the DW\-\_AT\-\_low\-\_pc attribute
-was used before the DW\-\_AT\-\_entry\-\_pc was introduced (in DWARF
+\textit{While the \livelink{chap:DWATentrypc}{DW\-\_AT\-\_entry\-\_pc} attribute might also seem appropriate
+for this purpose, historically the \livelink{chap:DWATlowpc}{DW\-\_AT\-\_low\-\_pc} attribute
+was used before the \livelink{chap:DWATentrypc}{DW\-\_AT\-\_entry\-\_pc} was introduced (in DWARF
 Version 3). There is insufficient reason to change this.}
 
-Subroutines and entry points may also have DW\-\_AT\-\_segment and
-DW\-\_AT\-\_address\-\_class attributes, as appropriate, to specify
+Subroutines and entry points may also have \livelink{chap:DWATsegment}{DW\-\_AT\-\_segment} and
+\livelink{chap:DWATaddressclass}{DW\-\_AT\-\_address\-\_class} attributes, as appropriate, to specify
 which segments the code for the subroutine resides in and
 the addressing mode to be used in calling that subroutine.
 
@@ -747,7 +747,7 @@ has a child entry with the
 tag \livetarg{chap:DWTAGcommoninclusion}{DW\-\_TAG\-\_common\-\_inclusion}. 
 The
 common inclusion entry has a 
-DW\-\_AT\-\_common\-\_reference attribute
+\livelink{chap:DWATcommonreference}{DW\-\_AT\-\_common\-\_reference} attribute
 whose value is a reference to the debugging information entry
 for the common block being included 
 (see Section \refersec{chap:commonblockentries}).
@@ -755,13 +755,13 @@ for the common block being included
 \subsection{Low-Level Information}
 \label{chap:lowlevelinformation}
 
-A subroutine or entry point entry may have a DW\-\_AT\-\_return\-\_addr
+A subroutine or entry point entry may have a \livelink{chap:DWATreturnaddr}{DW\-\_AT\-\_return\-\_addr}
 attribute, whose value is a location description. The location
 calculated is the place where the return address for the
 subroutine or entry point is stored.
 
 A subroutine or entry point entry may also have a
-DW\-\_AT\-\_frame\-\_base attribute, whose value is a location
+\livelink{chap:DWATframebase}{DW\-\_AT\-\_frame\-\_base} attribute, whose value is a location
 description that computes the “frame base” for the
 subroutine or entry point. If the location description is
 a simple register location description, the given register
@@ -780,18 +780,18 @@ compact. However, these are not equivalent in general.}
 
 \textit{The frame base for a procedure is typically an address fixed
 relative to the first unit of storage allocated for the
-procedure’s stack frame. The DW\-\_AT\-\_frame\-\_base attribute
+procedure’s stack frame. The \livelink{chap:DWATframebase}{DW\-\_AT\-\_frame\-\_base} attribute
 can be used in several ways:}
 
 \begin{enumerate}[1.]
 \item \textit{In procedures that need location lists to locate local
-variables, the DW\-\_AT\-\_frame\-\_base can hold the needed location
+variables, the \livelink{chap:DWATframebase}{DW\-\_AT\-\_frame\-\_base} can hold the needed location
 list, while all variables’ location descriptions can be
 simpler ones involving the frame base.}
 
 \item \textit{It can be used in resolving ``up\dash level'' addressing
 within nested routines. 
-(See also DW\-\_AT\-\_static\-\_link, below)}
+(See also \livelink{chap:DWATstaticlink}{DW\-\_AT\-\_static\-\_link}, below)}
 %The -See also- here is ok, the DW\-\_AT should be
 %a hyperref to the def itself, which is earlier in this document.
 \end{enumerate}
@@ -799,17 +799,17 @@ within nested routines.
 \textit{Some languages support nested subroutines. In such languages,
 it is possible to reference the local variables of an
 outer subroutine from within an inner subroutine. The
-DW\-\_AT\-\_static\-\_link and DW\-\_AT\-\_frame\-\_base attributes allow
+\livelink{chap:DWATstaticlink}{DW\-\_AT\-\_static\-\_link} and \livelink{chap:DWATframebase}{DW\-\_AT\-\_frame\-\_base} attributes allow
 debuggers to support this same kind of referencing.}
 
 If a subroutine or entry point is nested, it may have a
-DW\-\_AT\-\_static\-\_link attribute, whose value is a location
+\livelink{chap:DWATstaticlink}{DW\-\_AT\-\_static\-\_link} attribute, whose value is a location
 description that computes the frame base of the relevant
 instance of the subroutine that immediately encloses the
 subroutine or entry point.
 
 In the context of supporting nested subroutines, the
-DW\-\_AT\-\_frame\-\_base attribute value should obey the following
+\livelink{chap:DWATframebase}{DW\-\_AT\-\_frame\-\_base} attribute value should obey the following
 constraints:
 
 \begin{enumerate}[1.]
@@ -817,7 +817,7 @@ constraints:
 life of the procedure, and
 
 \item The computed value should be unique among instances of
-the same subroutine. (For typical DW\-\_AT\-\_frame\-\_base use, this
+the same subroutine. (For typical \livelink{chap:DWATframebase}{DW\-\_AT\-\_frame\-\_base} use, this
 means that a recursive subroutine’s stack frame must have
 non\dash zero size.)
 \end{enumerate}
@@ -825,7 +825,7 @@ non\dash zero size.)
 \textit{If a debugger is attempting to resolve an up\dash level reference
 to a variable, it uses the nesting structure of DWARF to
 determine which subroutine is the lexical parent and the
-DW\-\_AT\-\_static\-\_link value to identify the appropriate active
+\livelink{chap:DWATstaticlink}{DW\-\_AT\-\_static\-\_link} value to identify the appropriate active
 frame of the parent. It can then attempt to find the reference
 within the context of the parent.}
 
@@ -843,7 +843,7 @@ represented by a debugging information entry with the tag
 \livetarg{chap:DWTAGthrowntype}{DW\-\_TAG\-\_thrown\-\_type}.  
 Each such entry is a child of the entry
 representing the subroutine that may throw this type. Each
-thrown type entry contains a DW\-\_AT\-\_type attribute, whose
+thrown type entry contains a \livelink{chap:DWATtype}{DW\-\_AT\-\_type} attribute, whose
 value is a reference to an entry describing the type of the
 exception that may be thrown.
 
@@ -868,10 +868,10 @@ template definition is represented by a debugging information
 entry with the 
 tag \livetarg{chap:DWTAGtemplatetypeparameter}{DW\-\_TAG\-\_template\-\_type\-\_parameter}. 
 Each
-such entry has a DW\-\_AT\-\_name attribute, whose value is a
+such entry has a \livelink{chap:DWATname}{DW\-\_AT\-\_name} attribute, whose value is a
 null\dash terminated string containing the name of the formal
 type parameter as it appears in the source program. The
-template type parameter entry also has a DW\-\_AT\-\_type attribute
+template type parameter entry also has a \livelink{chap:DWATtype}{DW\-\_AT\-\_type} attribute
 describing the actual type by which the formal is replaced
 for this instantiation.
 
@@ -901,8 +901,8 @@ is represented by a debugging information entry with the
 tag \livelink{chap:DWTAGsubprogram}{DW\-\_TAG\-\_subprogram}. The entry for a subroutine that is
 explicitly declared to be available for inline expansion or
 that was expanded inline implicitly by the compiler has a
-DW\-\_AT\-\_inline attribute whose value is an integer constant. The
-set of values for the DW\-\_AT\-\_inline attribute is given in
+\livelink{chap:DWATinline}{DW\-\_AT\-\_inline} attribute whose value is an integer constant. The
+set of values for the \livelink{chap:DWATinline}{DW\-\_AT\-\_inline} attribute is given in
 Figure \refersec{fig:inlinecodes}.
 
 \begin{figure}[here]
@@ -913,7 +913,7 @@ Figure \refersec{fig:inlinecodes}.
 Name&Meaning\\ \hline
 DW\-\_INL\-\_not\-\_inlined & Not delared inline nor inlined by the
   compiler(equivalent to the absense of the containing
-  DW\-\_AT\-\_linline attribute) \\
+  \livelink{chap:DWATinline}{DW\-\_AT\-\_inline} attribute) \\
 DW\-\_INL\-\_inlined & Not declared inline but inlined by the compiler \\
 DW\-\_INL\-\_declared\-\_not\-\_inlined & Declared inline but 
   not inlined by the compiler \\
@@ -925,16 +925,16 @@ DW\-\_INL\-\_declared\-\_inlined & Declared inline and inlined by the compiler \
 constexpr is implicitly declared inline. The abstract inline
 instance (see below) is represented by a debugging information
 entry with the tag \livelink{chap:DWTAGsubprogram}{DW\-\_TAG\-\_subprogram}. Such an entry has a
-DW\-\_AT\-\_inline attribute whose value is DW\-\_INL\-\_inlined.}
+\livelink{chap:DWATinline}{DW\-\_AT\-\_inline} attribute whose value is DW\-\_INL\-\_inlined.}
 
 
 \paragraph{Abstract Instances}
 \label{chap:abstractinstances}
 Any debugging information entry that is owned (either
 directly or indirectly) by a debugging information entry
-that contains the DW\-\_AT\-\_inline attribute is referred to
+that contains the \livelink{chap:DWATinline}{DW\-\_AT\-\_inline} attribute is referred to
 as an “abstract instance entry.” Any subroutine entry
-that contains a DW\-\_AT\-\_inline attribute whose value is other
+that contains a \livelink{chap:DWATinline}{DW\-\_AT\-\_inline} attribute whose value is other
 than DW\-\_INL\-\_not\-\_inlined is known as an “abstract instance
 root.” Any set of abstract instance entries that are all
 children (either directly or indirectly) of some abstract
@@ -947,7 +947,7 @@ instance tree.
 
 Each abstract instance root is either part of a larger
 tree (which gives a context for the root) or uses
-DW\-\_AT\-\_specification to refer to the declaration in context.
+\livelink{chap:DWATspecification}{DW\-\_AT\-\_specification} to refer to the declaration in context.
 
 \textit{For example, in C++ the context might be a namespace
 declaration or a class declaration.}
@@ -960,11 +960,11 @@ A debugging information entry that is a member of an abstract
 instance tree should not contain any attributes which describe
 aspects of the subroutine which vary between distinct inlined
 expansions or distinct out\dash of\dash line expansions. For example,
-the DW\-\_AT\-\_low\-\_pc,
-DW\-\_AT\-\_high\-\_pc, DW\-\_AT\-\_ranges
-DW\-\_AT\-\_entry\-\_pc, DW\-\_AT\-\_location,
-DW\-\_AT\-\_return\-\_addr, DW\-\_AT\-\_start\-\_scope, and 
-DW\-\_AT\-\_segment
+the \livelink{chap:DWATlowpc}{DW\-\_AT\-\_low\-\_pc},
+\livelink{chap:DWAThighpc}{DW\-\_AT\-\_high\-\_pc}, \livelink{chap:DWATranges}{DW\-\_AT\-\_ranges}
+\livelink{chap:DWATentrypc}{DW\-\_AT\-\_entry\-\_pc}, \livelink{chap:DWATlocation}{DW\-\_AT\-\_location},
+\livelink{chap:DWATreturnaddr}{DW\-\_AT\-\_return\-\_addr}, \livelink{chap:DWATstartscope}{DW\-\_AT\-\_start\-\_scope}, and 
+\livelink{chap:DWATsegment}{DW\-\_AT\-\_segment}
 attributes typically should be omitted; however, this list
 is not exhaustive.
 
@@ -995,19 +995,19 @@ Each such entry should be a direct
 child of the entry that represents the scope within which
 the inlining occurs.
 
-Each inlined subroutine entry may have either a DW\-\_AT\-\_low\-\_pc
-and DW\-\_AT\-\_high\-\_pc pair of attributes or a DW\-\_AT\-\_ranges
+Each inlined subroutine entry may have either a \livelink{chap:DWATlowpc}{DW\-\_AT\-\_low\-\_pc}
+and \livelink{chap:DWAThighpc}{DW\-\_AT\-\_high\-\_pc} pair of attributes or a \livelink{chap:DWATranges}{DW\-\_AT\-\_ranges}
 attribute whose values encode the contiguous or non\dash contiguous
 address ranges, respectively, of the machine instructions
 generated for the inlined subroutine (see 
 Section \refersec{chap:codeaddressesandranges}). An
-inlined subroutine entry may also contain a DW\-\_AT\-\_entry\-\_pc
+inlined subroutine entry may also contain a \livelink{chap:DWATentrypc}{DW\-\_AT\-\_entry\-\_pc}
 attribute, representing the first executable instruction of
 the inline expansion (see 
 Section \refersec{chap:entryaddress}).
 
-An inlined subroutine entry may also have DW\-\_AT\-\_call\-\_file,
-DW\-\_AT\-\_call\-\_line and DW\-\_AT\-\_call\-\_column attributes, 
+An inlined subroutine entry may also have \livelink{chap:DWATcallfile}{DW\-\_AT\-\_call\-\_file},
+\livelink{chap:DWATcallline}{DW\-\_AT\-\_call\-\_line} and \livelink{chap:DWATcallcolumn}{DW\-\_AT\-\_call\-\_column} attributes, 
 each of whose
 value is an integer constant. These attributes represent the
 source file, source line number, and source column number,
@@ -1022,10 +1022,10 @@ The call file, call line and call column coordinates do not
 describe the coordinates of the subroutine declaration that
 was inlined, rather they describe the coordinates of the call.
 
-An inlined subroutine entry may have a DW\-\_AT\-\_const\-\_expr
+An inlined subroutine entry may have a \livelink{chap:DWATconstexpr}{DW\-\_AT\-\_const\-\_expr}
 attribute, which is a flag whose presence indicates that the
 subroutine has been evaluated as a compile\dash time constant. Such
-an entry may also have a DW\-\_AT\-\_const\-\_value attribute,
+an entry may also have a \livelink{chap:DWATconstvalue}{DW\-\_AT\-\_const\-\_value} attribute,
 whose value may be of any form that is appropriate for the
 representation of the subroutine's return value. The value of
 this attribute is the actual return value of the subroutine,
@@ -1033,8 +1033,8 @@ represented as it would be on the target architecture.
 
 \textit{In C++, if a function or a constructor declared with constexpr
 is called with constant expressions, then the corresponding
-concrete inlined instance has a DW\-\_AT\-\_const\-\_expr attribute,
-as well as a DW\-\_AT\-\_const\-\_value attribute whose value represents
+concrete inlined instance has a \livelink{chap:DWATconstexpr}{DW\-\_AT\-\_const\-\_expr} attribute,
+as well as a \livelink{chap:DWATconstvalue}{DW\-\_AT\-\_const\-\_value} attribute whose value represents
 the actual return value of the concrete inlined instance.}
 
 Any debugging information entry that is owned (either
@@ -1068,7 +1068,7 @@ are not specific to the concrete instance (but present in
 the abstract instance) and need include only attributes that
 are specific to the concrete instance (but omitted in the
 abstract instance). In place of these omitted attributes, each
-concrete inlined instance entry has a DW\-\_AT\-\_abstract\-\_origin
+concrete inlined instance entry has a \livelink{chap:DWATabstractorigin}{DW\-\_AT\-\_abstract\-\_origin}
 attribute that may be used to obtain the missing information
 (indirectly) from the associated abstract instance entry. The
 value of the abstract origin attribute is a reference to the
@@ -1083,7 +1083,7 @@ they may usually be omitted from any entry that has an abstract
 origin attribute.
 
 For each pair of entries that are associated via a
-DW\-\_AT\-\_abstract\-\_origin attribute, both members of the pair
+\livelink{chap:DWATabstractorigin}{DW\-\_AT\-\_abstract\-\_origin} attribute, both members of the pair
 have the same tag. So, for example, an entry with the tag
 \livelink{chap:DWTAGvariable}{DW\-\_TAG\-\_variable} can only be associated with another entry
 that also has the tag \livelink{chap:DWTAGvariable}{DW\-\_TAG\-\_variable}. The only exception
@@ -1099,7 +1099,7 @@ tree. There are a few exceptions:
 
 \begin{enumerate}[1.]
 \item An entry in the concrete instance tree may be omitted if
-it contains only a DW\-\_AT\-\_abstract\-\_origin attribute and either
+it contains only a \livelink{chap:DWATabstractorigin}{DW\-\_AT\-\_abstract\-\_origin} attribute and either
 has no children, or its children are omitted. Such entries
 would provide no useful information. In C\dash like languages,
 such entries frequently include types, including structure,
@@ -1111,7 +1111,7 @@ the reference should refer to the abstract instance entry.
 
 \item Entries in the concrete instance tree which are associated
 with entries in the abstract instance tree such that neither
-has a DW\-\_AT\-\_name attribute, and neither is referenced by
+has a \livelink{chap:DWATname}{DW\-\_AT\-\_name} attribute, and neither is referenced by
 any other debugging information entry, may be omitted. This
 may happen for debugging information entries in the abstract
 instance trees that became unnecessary in the concrete instance
@@ -1127,7 +1127,7 @@ not correspond to entries in the abstract instance tree
 to describe new entities that are specific to a particular
 inlined expansion. In that case, they will not have associated
 entries in the abstract instance tree, should not contain
-DW\-\_AT\-\_abstract\-\_origin attributes, and must contain all their
+\livelink{chap:DWATabstractorigin}{DW\-\_AT\-\_abstract\-\_origin} attributes, and must contain all their
 own attributes directly. This allows an abstract instance tree
 to omit debugging information entries for anonymous entities
 that are unlikely to be needed in most inlined expansions. In
@@ -1152,7 +1152,7 @@ The DWARF representation of a concrete out\dash of\dash line instance
 of an inlined subroutine is essentially the same as for a
 concrete inlined instance of that subroutine (as described in
 the preceding section). The representation of such a concrete
-out\dash of\dash line instance makes use of DW\-\_AT\-\_abstract\-\_origin
+out\dash of\dash line instance makes use of \livelink{chap:DWATabstractorigin}{DW\-\_AT\-\_abstract\-\_origin}
 attributes in exactly the same way as they are used for
 a concrete inlined instance (that is, as references to
 corresponding entries within the associated abstract instance
@@ -1235,11 +1235,11 @@ to the combined calling and called execution contexts.}
 
 A trampoline is represented by a debugging information entry
 with the tag \livelink{chap:DWTAGsubprogram}{DW\-\_TAG\-\_subprogram} or \livelink{chap:DWTAGinlinedsubroutine}{DW\-\_TAG\-\_inlined\-\_subroutine}
-that has a DW\-\_AT\-\_trampoline attribute. The value of that
+that has a \livelink{chap:DWATtrampoline}{DW\-\_AT\-\_trampoline} attribute. The value of that
 attribute indicates the target subroutine of the trampoline,
 that is, the subroutine to which the trampoline passes
 control. (A trampoline entry may but need not also have a
-DW\-\_AT\-\_artificial attribute.)
+\livelink{chap:DWATartificial}{DW\-\_AT\-\_artificial} attribute.)
 
 The value of the trampoline attribute may be represented
 using any of the following forms, which are listed in order
@@ -1302,8 +1302,8 @@ A lexical block is represented by a debugging information
 entry with the 
 tag \livetarg{chap:DWTAGlexicalblock}{DW\-\_TAG\-\_lexical\-\_block}.
 
-The lexical block entry may have either a DW\-\_AT\-\_low\-\_pc and
-DW\-\_AT\-\_high\-\_pc pair of attributes or a DW\-\_AT\-\_ranges attribute
+The lexical block entry may have either a \livelink{chap:DWATlowpc}{DW\-\_AT\-\_low\-\_pc} and
+\livelink{chap:DWAThighpc}{DW\-\_AT\-\_high\-\_pc} pair of attributes or a \livelink{chap:DWATranges}{DW\-\_AT\-\_ranges} attribute
 whose values encode the contiguous or non-contiguous address
 ranges, respectively, of the machine instructions generated
 for the lexical block 
@@ -1311,7 +1311,7 @@ for the lexical block
 
 If a name has been given to the lexical block in the source
 program, then the corresponding lexical block entry has a
-DW\-\_AT\-\_name attribute whose value is a null-terminated string
+\livelink{chap:DWATname}{DW\-\_AT\-\_name} attribute whose value is a null-terminated string
 containing the name of the lexical block as it appears in
 the source program.
 
@@ -1337,10 +1337,10 @@ the debugging information entry representing the scope within
 which the name of the label could be legally referenced within
 the source program.
 
-The label entry has a DW\-\_AT\-\_low\-\_pc attribute whose value
+The label entry has a \livelink{chap:DWATlowpc}{DW\-\_AT\-\_low\-\_pc} attribute whose value
 is the relocated address of the first machine instruction
 generated for the statement identified by the label in
-the source program.  The label entry also has a DW\-\_AT\-\_name
+the source program.  The label entry also has a \livelink{chap:DWATname}{DW\-\_AT\-\_name}
 attribute whose value is a null-terminated string containing
 the name of the label as it appears in the source program.
 
@@ -1357,17 +1357,17 @@ record variable.}
 A with statement is represented by a debugging information
 entry with the tag \livetarg{chap:DWTAGwithstmt}{DW\-\_TAG\-\_with\-\_stmt}.
 
-A with statement entry may have either a DW\-\_AT\-\_low\-\_pc and
-DW\-\_AT\-\_high\-\_pc pair of attributes or a DW\-\_AT\-\_ranges attribute
+A with statement entry may have either a \livelink{chap:DWATlowpc}{DW\-\_AT\-\_low\-\_pc} and
+\livelink{chap:DWAThighpc}{DW\-\_AT\-\_high\-\_pc} pair of attributes or a \livelink{chap:DWATranges}{DW\-\_AT\-\_ranges} attribute
 whose values encode the contiguous or non\dash contiguous address
 ranges, respectively, of the machine instructions generated
 for the with statement 
 (see Section \refersec{chap:codeaddressesandranges}).
 
-The with statement entry has a DW\-\_AT\-\_type attribute, denoting
+The with statement entry has a \livelink{chap:DWATtype}{DW\-\_AT\-\_type} attribute, denoting
 the type of record whose fields may be referenced without full
 qualification within the body of the statement. It also has
-a DW\-\_AT\-\_location attribute, describing how to find the base
+a \livelink{chap:DWATlocation}{DW\-\_AT\-\_location} attribute, describing how to find the base
 address of the record object referenced within the body of
 the with statement.
 
@@ -1387,8 +1387,8 @@ a debugging information entry with
 the tag \livetarg{chap:DWTAGcatchblock}{DW\-\_TAG\-\_catch\-\_block}.
 
 Both try and catch block entries may have either a
-DW\-\_AT\-\_low\-\_pc and DW\-\_AT\-\_high\-\_pc pair of attributes or a
-DW\-\_AT\-\_ranges attribute whose values encode the contiguous
+\livelink{chap:DWATlowpc}{DW\-\_AT\-\_low\-\_pc} and \livelink{chap:DWAThighpc}{DW\-\_AT\-\_high\-\_pc} pair of attributes or a
+\livelink{chap:DWATranges}{DW\-\_AT\-\_ranges} attribute whose values encode the contiguous
 or non- contiguous address ranges, respectively, of the
 machine instructions generated for the block (see Section
 \refersec{chap:codeaddressesandranges}).
index 6970778..18cf859 100644 (file)
@@ -6,7 +6,7 @@ user\dash defined types.
 
 If the scope of the declaration of a named type begins after
 the low pc value for the scope most closely enclosing the
-declaration, the declaration may have a DW\-\_AT\-\_start\-\_scope
+declaration, the declaration may have a \livelink{chap:DWATstartscope}{DW\-\_AT\-\_start\-\_scope}
 attribute as described for objects in 
 Section \refersec{chap:dataobjectentries}.
 
@@ -21,27 +21,27 @@ A base type is represented by a debugging information entry
 with the tag 
 \livetarg{chap:DWTAGbasetype}{DW\-\_TAG\-\_base\-\_type}.
 
-A base type entry has a DW\-\_AT\-\_name attribute whose value is
+A base type entry has a \livelink{chap:DWATname}{DW\-\_AT\-\_name} attribute whose value is
 a null\dash terminated string containing the name of the base type
 as recognized by the programming language of the compilation
 unit containing the base type entry.
 
-A base type entry has a DW\-\_AT\-\_encoding attribute describing
+A base type entry has a \livelink{chap:DWATencoding}{DW\-\_AT\-\_encoding} attribute describing
 how the base type is encoded and is to be interpreted. The
 value of this attribute is an integer constant. The set of
-values and their meanings for the DW\-\_AT\-\_encoding attribute
+values and their meanings for the \livelink{chap:DWATencoding}{DW\-\_AT\-\_encoding} attribute
 is given in 
 Figure \refersec{fig:encodingattributevalues}
 and following text.  
 
 A base type entry
-may have a DW\-\_AT\-\_endianity attribute as described in 
+may have a \livelink{chap:DWATendianity}{DW\-\_AT\-\_endianity} attribute as described in 
 Section \refersec{chap:dataobjectentries}. 
 If omitted, the encoding assumes the representation that
 is the default for the target architecture.
 
-A base type entry has either a DW\-\_AT\-\_byte\-\_size attribute
-or a DW\-\_AT\-\_bit\-\_size attribute whose integer constant value
+A base type entry has either a \livelink{chap:DWATbytesize}{DW\-\_AT\-\_byte\-\_size} attribute
+or a \livelink{chap:DWATbitsize}{DW\-\_AT\-\_bit\-\_size} attribute whose integer constant value
 (see Section \refersec{chap:byteandbitsizes}) 
 is the amount of storage needed to hold
 a value of the type.
@@ -54,8 +54,8 @@ value is 4.}
 
 If the value of an object of the given type does not fully
 occupy the storage described by a byte size attribute,
-the base type entry may also have a DW\-\_AT\-\_bit\-\_size and a
-DW\-\_AT\-\_data\-\_bit\-\_offset attribute, both of whose values are
+the base type entry may also have a \livelink{chap:DWATbitsize}{DW\-\_AT\-\_bit\-\_size} and a
+\livelink{chap:DWATdatabitoffset}{DW\-\_AT\-\_data\-\_bit\-\_offset} attribute, both of whose values are
 integer constant values (
 see Section \refersec{chap:staticanddynamicvaluesofattributes}). 
 The bit size
@@ -70,31 +70,31 @@ target system to locate the beginning of the storage and
 value. If this attribute is omitted a default data bit offset
 of zero is assumed.
 
-\textit{Attribute DW\-\_AT\-\_data\-\_bit\-\_offset is new in DWARF Version 4 and
+\textit{Attribute \livelink{chap:DWATdatabitoffset}{DW\-\_AT\-\_data\-\_bit\-\_offset} is new in DWARF Version 4 and
 is also used for bit field members 
 (see Section \refersec{chap:datamemberentries}). 
 It
-replaces the attribute DW\-\_AT\-\_bit\-\_offset when used for base
+replaces the attribute \livelink{chap:DWATbitoffset}{DW\-\_AT\-\_bit\-\_offset} when used for base
 types as defined in DWARF V3 and earlier. The earlier attribute
 is defined in a manner suitable for bit field members on
 big\dash endian architectures but which is wasteful for use on
 little\dash endian architectures.}
 
-\textit{The attribute DW\-\_AT\-\_bit\-\_offset is deprecated in DWARF Version
+\textit{The attribute \livelink{chap:DWATbitoffset}{DW\-\_AT\-\_bit\-\_offset} is deprecated in DWARF Version
 4 for use in base types, but implementations may continue to
 support its use for compatibility.}
 
 \textit{The DWARF Version 3 definition of these attributes is as follows.}
 
 \begin{myindentpara}{1cm}
-\textit{A base type entry has a DW\-\_AT\-\_byte\-\_size attribute, whose value
+\textit{A base type entry has a \livelink{chap:DWATbytesize}{DW\-\_AT\-\_byte\-\_size} attribute, whose value
 (see Section 2.19) is the size in bytes of the storage unit
 used to represent an object of the given type.}
 
 \textit{If the value of an object of the given type does not fully
 occupy the storage unit described by the byte size attribute,
-the base type entry may have a DW\-\_AT\-\_bit\-\_size attribute and a
-DW\-\_AT\-\_bit\-\_offset attribute, both of whose values (see Section
+the base type entry may have a \livelink{chap:DWATbitsize}{DW\-\_AT\-\_bit\-\_size} attribute and a
+\livelink{chap:DWATbitoffset}{DW\-\_AT\-\_bit\-\_offset} attribute, both of whose values (see Section
 2.19) are integers. The bit size attribute describes the actual
 size in bits used to represent a value of the given type.
 The bit offset attribute describes the offset in bits of the
@@ -108,15 +108,15 @@ defines the following combinations of attributes:}
 \begin{itemize}
 \item \textit{DW\-\_AT\-\_byte\-\_size}
 \item \textit{DW\-\_AT\-\_bit\-\_size}
-\item \textit{DW\-\_AT\-\_byte\-\_size, DW\-\_AT\-\_bit\-\_size 
-and optionally DW\-\_AT\-\_data\-\_bit\-\_offset}
+\item \textit{\livelink{chap:DWATbytesize}{DW\-\_AT\-\_byte\-\_size}, \livelink{chap:DWATbitsize}{DW\-\_AT\-\_bit\-\_size} 
+and optionally \livelink{chap:DWATdatabitoffset}{DW\-\_AT\-\_data\-\_bit\-\_offset}}
 \end{itemize}
 DWARF V3 defines the following combinations:
 % FIXME: the figure below interferes with the following
 % bullet list, which looks horrible as a result.
 \begin{itemize}
 \item \textit{DW\-\_AT\-\_byte\-\_size}
-\item \textit{DW\-\_AT\-\_byte\-\_size, DW\-\_AT\-\_bit\-\_size and DW\-\_AT\-\_bit\-\_offset}
+\item \textit{\livelink{chap:DWATbytesize}{DW\-\_AT\-\_byte\-\_size}, \livelink{chap:DWATbitsize}{DW\-\_AT\-\_bit\-\_size} and \livelink{chap:DWATbitoffset}{DW\-\_AT\-\_bit\-\_offset}}
 \end{itemize}
 
 \begin{figure}[!here]
@@ -162,10 +162,10 @@ The DW\-\_ATE\-\_packed\-\_decimal and DW\-\_ATE\-\_numeric\-\_string base types
 represent packed and unpacked decimal string numeric data
 types, respectively, either of which may be either signed
 or unsigned. These base types are used in combination with
-DW\-\_AT\-\_decimal\-\_sign, DW\-\_AT\-\_digit\-\_count and DW\-\_AT\-\_decimal\-\_scale
+\livelink{chap:DWATdecimalsign}{DW\-\_AT\-\_decimal\-\_sign}, \livelink{chap:DWATdigitcount}{DW\-\_AT\-\_digit\-\_count} and \livelink{chap:DWATdecimalscale}{DW\-\_AT\-\_decimal\-\_scale}
 attributes.
 
-A DW\-\_AT\-\_decimal\-\_sign attribute is an integer constant that
+A \livelink{chap:DWATdecimalsign}{DW\-\_AT\-\_decimal\-\_sign} attribute is an integer constant that
 conveys the representation of the sign of the decimal type
 (see Figure \refersec{fig:decimalsignattributevalues}). 
 Its integer constant value is interpreted to
@@ -173,11 +173,11 @@ mean that the type has a leading overpunch, trailing overpunch,
 leading separate or trailing separate sign representation or,
 alternatively, no sign at all.
 
-The DW\-\_AT\-\_digit\-\_count attribute is an integer constant
+The \livelink{chap:DWATdigitcount}{DW\-\_AT\-\_digit\-\_count} attribute is an integer constant
 value that represents the number of digits in an instance of
 the type.
 
-The DW\-\_AT\-\_decimal\-\_scale attribute is an integer constant value
+The \livelink{chap:DWATdecimalscale}{DW\-\_AT\-\_decimal\-\_scale} attribute is an integer constant value
 that represents the exponent of the base ten scale factor to
 be applied to an instance of the type. A scale of zero puts the
 decimal point immediately to the right of the least significant
@@ -190,21 +190,21 @@ digits on the left are not stored in an instance of the type.
 
 The DW\-\_ATE\-\_edited base type is used to represent an edited
 numeric or alphanumeric data type. It is used in combination
-with an DW\-\_AT\-\_picture\-\_string attribute whose value is a 
+with an \livelink{chap:DWATpicturestring}{DW\-\_AT\-\_picture\-\_string} attribute whose value is a 
 null\dash terminated string containing the target\dash dependent picture
 string associated with the type.
 
 If the edited base type entry describes an edited numeric
-data type, the edited type entry has a DW\-\_AT\-\_digit\-\_count and a
-DW\-\_AT\-\_decimal\-\_scale attribute. These attributes have the same
+data type, the edited type entry has a \livelink{chap:DWATdigitcount}{DW\-\_AT\-\_digit\-\_count} and a
+\livelink{chap:DWATdecimalscale}{DW\-\_AT\-\_decimal\-\_scale} attribute. These attributes have the same
 interpretation as described for the DW\-\_ATE\-\_packed\-\_decimal and
 DW\-\_ATE\-\_numeric\-\_string base types. If the edited type entry
 describes an edited alphanumeric data type, the edited type
 entry does not have these attributes.
 
 
-\textit{The presence or absence of the DW\-\_AT\-\_digit\-\_count and
-DW\-\_AT\-\_decimal\-\_scale attributes allows a debugger to easily
+\textit{The presence or absence of the \livelink{chap:DWATdigitcount}{DW\-\_AT\-\_digit\-\_count} and
+\livelink{chap:DWATdecimalscale}{DW\-\_AT\-\_decimal\-\_scale} attributes allows a debugger to easily
 distinguish edited numeric from edited alphanumeric, although
 in principle the digit count and scale are derivable by
 interpreting the picture string.}
@@ -213,18 +213,18 @@ The DW\-\_ATE\-\_signed\-\_fixed and DW\-\_ATE\-\_unsigned\-\_fixed entries
 describe signed and unsigned fixed\dash point binary data types,
 respectively.
 
-The fixed binary type entries have a DW\-\_AT\-\_digit\-\_count
+The fixed binary type entries have a \livelink{chap:DWATdigitcount}{DW\-\_AT\-\_digit\-\_count}
 attribute with the same interpretation as described for the
 DW\-\_ATE\-\_packed\-\_decimal and DW\-\_ATE\-\_numeric\-\_string base types.
 
 For a data type with a decimal scale factor, the fixed binary
-type entry has a DW\-\_AT\-\_decimal\-\_scale attribute with the same
+type entry has a \livelink{chap:DWATdecimalscale}{DW\-\_AT\-\_decimal\-\_scale} attribute with the same
 interpretation as described for the DW\-\_ATE\-\_packed\-\_decimal
 and DW\-\_ATE\-\_numeric\-\_string base types.
 
 For a data type with a binary scale factor, the fixed
-binary type entry has a DW\-\_AT\-\_binary\-\_scale attribute. The
-DW\-\_AT\-\_binary\-\_scale attribute is an integer constant value
+binary type entry has a \livelink{chap:DWATbinaryscale}{DW\-\_AT\-\_binary\-\_scale} attribute. The
+\livelink{chap:DWATbinaryscale}{DW\-\_AT\-\_binary\-\_scale} attribute is an integer constant value
 that represents the exponent of the base two scale factor to
 be applied to an instance of the type.  Zero scale puts the
 binary point immediately to the right of the least significant
@@ -236,14 +236,14 @@ larger than the number of bits, this implies additional zero
 bits on the left are not stored in an instance of the type.
 
 For a data type with a non\dash decimal and non\dash binary scale factor,
-the fixed binary type entry has a DW\-\_AT\-\_small attribute which
+the fixed binary type entry has a \livelink{chap:DWATsmall}{DW\-\_AT\-\_small} attribute which
 references a \livelink{chap:DWTAGconstant}{DW\-\_TAG\-\_constant} entry. The scale factor value
 is interpreted in accordance with the value defined by the
 \livelink{chap:DWTAGconstant}{DW\-\_TAG\-\_constant} entry. The value represented is the product
 of the integer value in memory and the associated constant
 entry for the type.
 
-\textit{The DW\-\_AT\-\_small attribute is defined with the Ada small
+\textit{The \livelink{chap:DWATsmall}{DW\-\_AT\-\_small} attribute is defined with the Ada small
 attribute in mind.}
 
 \begin{figure}[here]
@@ -273,7 +273,7 @@ type is represented by a debugging information entry with
 the tag \livetarg{chap:DWTAGunspecifiedtype}{DW\-\_TAG\-\_unspecified\-\_type}. 
 If a name has been given
 to the type, then the corresponding unspecified type entry
-has a DW\-\_AT\-\_name attribute whose value is a null\dash terminated
+has a \livelink{chap:DWATname}{DW\-\_AT\-\_name} attribute whose value is a null\dash terminated
 string containing the name as it appears in the source program.
 
 The interpretation of this debugging information entry is
@@ -304,23 +304,23 @@ Figure \refersec{fig:typemodifiertags}.
 
 If a name has been given to the modified type in the source
 program, then the corresponding modified type entry has
-a DW\-\_AT\-\_name attribute whose value is a null-terminated
+a \livelink{chap:DWATname}{DW\-\_AT\-\_name} attribute whose value is a null-terminated
 string containing the modified type name as it appears in
 the source program.
 
-Each of the type modifier entries has a DW\-\_AT\-\_type attribute,
+Each of the type modifier entries has a \livelink{chap:DWATtype}{DW\-\_AT\-\_type} attribute,
 whose value is a reference to a debugging information entry
 describing a base type, a user-defined type or another type
 modifier.
 
 A modified type entry describing a pointer or reference
 type (using \livelink{chap:DWTAGpointertype}{DW\-\_TAG\-\_pointer\-\_type}, \livelink{chap:DWTAGreferencetype}{DW\-\_TAG\-\_reference\-\_type} or
-\livelink{chap:DWTAGrvaluereferencetype}{DW\-\_TAG\-\_rvalue\-\_reference\-\_type}) may have a DW\-\_AT\-\_address\-\_class
+\livelink{chap:DWTAGrvaluereferencetype}{DW\-\_TAG\-\_rvalue\-\_reference\-\_type}) may have a \livelink{chap:DWATaddressclass}{DW\-\_AT\-\_address\-\_class}
 attribute to describe how objects having the given pointer
 or reference type ought to be dereferenced.
 
 A modified type entry describing a shared qualified type
-(using \livelink{chap:DWTAGsharedtype}{DW\-\_TAG\-\_shared\-\_type}) may have a DW\-\_AT\-\_count attribute
+(using \livelink{chap:DWTAGsharedtype}{DW\-\_TAG\-\_shared\-\_type}) may have a \livelink{chap:DWATcount}{DW\-\_AT\-\_count} attribute
 whose value is a constant expressing the blocksize of the
 type. If no count attribute is present, then the “infinite”
 blocksize is assumed.
@@ -383,11 +383,11 @@ volatile unsigned char * const restrict p;
 A named type that is defined in terms of another type
 definition is represented by a debugging information entry with
 the tag \livetarg{chap:DWTAGtypedef}{DW\-\_TAG\-\_typedef}. 
-The typedef entry has a DW\-\_AT\-\_name
+The typedef entry has a \livelink{chap:DWATname}{DW\-\_AT\-\_name}
 attribute whose value is a null-terminated string containing
 the name of the typedef as it appears in the source program.
 
-The typedef entry may also contain a DW\-\_AT\-\_type attribute whose
+The typedef entry may also contain a \livelink{chap:DWATtype}{DW\-\_AT\-\_type} attribute whose
 value is a reference to the type named by the typedef. If
 the debugging information entry for a typedef represents
 a declaration of the type that is not also a definition,
@@ -412,19 +412,19 @@ An array type is represented by a debugging information entry
 with the tag \livetarg{chap:DWTAGarraytype}{DW\-\_TAG\-\_array\-\_type}. 
 If a name has been given to
 the array type in the source program, then the corresponding
-array type entry has a DW\-\_AT\-\_name attribute whose value is a
+array type entry has a \livelink{chap:DWATname}{DW\-\_AT\-\_name} attribute whose value is a
 null-terminated string containing the array type name as it
 appears in the source program.
 
 The array type entry describing a multidimensional array may
-have a DW\-\_AT\-\_ordering attribute whose integer constant value is
+have a \livelink{chap:DWATordering}{DW\-\_AT\-\_ordering} attribute whose integer constant value is
 interpreted to mean either row-major or column-major ordering
 of array elements. The set of values and their meanings
 for the ordering attribute are listed in 
 Figure \refersec{fig:arrayordering}. 
 If no
 ordering attribute is present, the default ordering for the
-source language (which is indicated by the DW\-\_AT\-\_language
+source language (which is indicated by the \livelink{chap:DWATlanguage}{DW\-\_AT\-\_language}
 attribute of the enclosing compilation unit entry) is assumed.
 
 \begin{figure}[here]
@@ -438,21 +438,21 @@ attribute of the enclosing compilation unit entry) is assumed.
 The ordering attribute may optionally appear on one-dimensional
 arrays; it will be ignored.
 
-An array type entry has a DW\-\_AT\-\_type attribute describing
+An array type entry has a \livelink{chap:DWATtype}{DW\-\_AT\-\_type} attribute describing
 the type of each element of the array.
 
 If the amount of storage allocated to hold each element of an
 object of the given array type is different from the amount
 of storage that is normally allocated to hold an individual
 object of the indicated element type, then the array type
-entry has either a DW\-\_AT\-\_byte\-\_stride or a DW\-\_AT\-\_bit\-\_stride
+entry has either a \livelink{chap:DWATbytestride}{DW\-\_AT\-\_byte\-\_stride} or a \livelink{chap:DWATbitstride}{DW\-\_AT\-\_bit\-\_stride}
 attribute, whose value 
 (see Section \refersec{chap:staticanddynamicvaluesofattributes}) 
 is the size of each
 element of the array.
 
-The array type entry may have either a DW\-\_AT\-\_byte\-\_size or a
-DW\-\_AT\-\_bit\-\_size attribute 
+The array type entry may have either a \livelink{chap:DWATbytesize}{DW\-\_AT\-\_byte\-\_size} or a
+\livelink{chap:DWATbitsize}{DW\-\_AT\-\_bit\-\_size} attribute 
 (see Section \refersec{chap:byteandbitsizes}), 
 whose value is the
 amount of storage needed to hold an instance of the array type.
@@ -475,7 +475,7 @@ be represented by a debugging information entry for a
 multidimensional array.
 
 Other attributes especially applicable to arrays are
-DW\-\_AT\-\_allocated, DW\-\_AT\-\_associated and DW\-\_AT\-\_data\-\_location,
+\livelink{chap:DWATallocated}{DW\-\_AT\-\_allocated}, \livelink{chap:DWATassociated}{DW\-\_AT\-\_associated} and \livelink{chap:DWATdatalocation}{DW\-\_AT\-\_data\-\_location},
 which are described in 
 Section \refersec{chap:dynamictypeproperties}. 
 For relevant examples,
@@ -524,7 +524,7 @@ and \livetarg{chap:DWTAGclasstype}{DW\-\_TAG\-\_class\-\_type},
 respectively. If a name has been given to the structure,
 union, or class in the source program, then the corresponding
 structure type, union type, or class type entry has a
-DW\-\_AT\-\_name attribute whose value is a null\dash terminated string
+\livelink{chap:DWATname}{DW\-\_AT\-\_name} attribute whose value is a null\dash terminated string
 containing the type name as it appears in the source program.
 
 The members of a structure, union, or class are represented
@@ -534,32 +534,32 @@ and appear in the same order as the corresponding declarations
 in the source program.
 
 A structure type, union type or class type entry may have
-either a DW\-\_AT\-\_byte\-\_size or a DW\-\_AT\-\_bit\-\_size attribute 
+either a \livelink{chap:DWATbytesize}{DW\-\_AT\-\_byte\-\_size} or a \livelink{chap:DWATbitsize}{DW\-\_AT\-\_bit\-\_size} attribute 
 (see Section \refersec{chap:byteandbitsizes}), 
 whose value is the amount of storage needed
 to hold an instance of the structure, union or class type,
 including any padding.  An incomplete structure, union or
 class type is represented by a structure, union or class
 entry that does not have a byte size attribute and that has
-a DW\-\_AT\-\_declaration attribute.
+a \livelink{chap:DWATdeclaration}{DW\-\_AT\-\_declaration} attribute.
 
 If the complete declaration of a type has been placed in
 a separate type unit 
 (see Section \refersec{chap:separatetypeunitentries}), 
 an incomplete
 declaration of that type in the compilation unit may provide
-the unique 64\dash bit signature of the type using a DW\-\_AT\-\_signature
+the unique 64\dash bit signature of the type using a \livelink{chap:DWATsignature}{DW\-\_AT\-\_signature}
 attribute.
 
 If a structure, union or class entry represents the definition
 of a structure, class or union member corresponding to a prior
 incomplete structure, class or union, the entry may have a
-DW\-\_AT\-\_specification attribute whose value is a reference to
+\livelink{chap:DWATspecification}{DW\-\_AT\-\_specification} attribute whose value is a reference to
 the debugging information entry representing that incomplete
 declaration.
 
 Structure, union and class entries containing the
-DW\-\_AT\-\_specification attribute do not need to duplicate
+\livelink{chap:DWATspecification}{DW\-\_AT\-\_specification} attribute do not need to duplicate
 information provided by the declaration entry referenced by the
 specification attribute.  In particular, such entries do not
 need to contain an attribute for the name of the structure,
@@ -579,14 +579,14 @@ within the type declaration.}
 If the definition for a given member of the structure, union
 or class does not appear within the body of the declaration,
 that member also has a debugging information entry describing
-its definition. That latter entry has a DW\-\_AT\-\_specification
+its definition. That latter entry has a \livelink{chap:DWATspecification}{DW\-\_AT\-\_specification}
 attribute referencing the debugging information entry
 owned by the body of the structure, union or class entry and
 representing a non\dash defining declaration of the data, function
 or type member. The referenced entry will not have information
 about the location of that member (low and high pc attributes
 for function members, location descriptions for data members)
-and will have a DW\-\_AT\-\_declaration attribute.
+and will have a \livelink{chap:DWATdeclaration}{DW\-\_AT\-\_declaration} attribute.
 
 \textit{Consider a nested class whose 
 definition occurs outside of the containing class definition, as in:}
@@ -614,7 +614,7 @@ Interface types are represented by debugging information
 entries with the 
 tag \livetarg{chap:DWTAGinterfacetype}{DW\-\_TAG\-\_interface\-\_type}.
 
-An interface type entry has a DW\-\_AT\-\_name attribute, whose
+An interface type entry has a \livelink{chap:DWATname}{DW\-\_AT\-\_name} attribute, whose
 value is a null-terminated string containing the type name
 as it appears in the source program.
 
@@ -642,13 +642,13 @@ respectively, ordered as they were in the source program. Each
 such entry has the 
 tag \livetarg{chap:DWTAGinheritance}{DW\-\_TAG\-\_inheritance}.
 
-An inheritance entry has a DW\-\_AT\-\_type attribute whose value is
+An inheritance entry has a \livelink{chap:DWATtype}{DW\-\_AT\-\_type} attribute whose value is
 a reference to the debugging information entry describing the
 class or interface from which the parent class or structure
 of the inheritance entry is derived, extended or implementing.
 
 An inheritance entry for a class that derives from or extends
-another class or struct also has a DW\-\_AT\-\_data\-\_member\-\_location
+another class or struct also has a \livelink{chap:DWATdatamemberlocation}{DW\-\_AT\-\_data\-\_member\-\_location}
 attribute, whose value describes the location of the beginning
 of the inherited type relative to the beginning address of the
 derived class. If that value is a constant, it is the offset
@@ -665,14 +665,14 @@ members
 (see Section \refersec{chap:datamemberentries}).  }
 
 An inheritance entry may have a
-DW\-\_AT\-\_accessibility attribute. If no accessibility attribute
+\livelink{chap:DWATaccessibility}{DW\-\_AT\-\_accessibility} attribute. If no accessibility attribute
 is present, private access is assumed for an entry of a class
 and public access is assumed for an entry of an interface,
 struct or union.
 
 If the class referenced by the inheritance entry serves
 as a C++ virtual base class, the inheritance entry has a
-DW\-\_AT\-\_virtuality attribute.
+\livelink{chap:DWATvirtuality}{DW\-\_AT\-\_virtuality} attribute.
 
 \textit{For a C++ virtual base, the data member location attribute
 will usually consist of a non-trivial location description.}
@@ -693,12 +693,12 @@ information entry with the tag
 Each
 such entry is a child of the class or structure type entry.
 
-An access declaration entry has a DW\-\_AT\-\_name attribute, whose
+An access declaration entry has a \livelink{chap:DWATname}{DW\-\_AT\-\_name} attribute, whose
 value is a null-terminated string representing the name used
 in the declaration in the source program, including any class
 or structure qualifiers.
 
-An access declaration entry also has a DW\-\_AT\-\_accessibility
+An access declaration entry also has a \livelink{chap:DWATaccessibility}{DW\-\_AT\-\_accessibility}
 attribute describing the declared accessibility of the named
 entities.
 
@@ -712,7 +712,7 @@ that is a child of the structure, union or class type entry;
 the friend entry has the 
 tag \livetarg{chap:DWTAGfriend}{DW\-\_TAG\-\_friend}.
 
-A friend entry has a DW\-\_AT\-\_friend attribute, whose value is
+A friend entry has a \livelink{chap:DWATfriend}{DW\-\_AT\-\_friend} attribute, whose value is
 a reference to the debugging information entry describing
 the declaration of the friend.
 
@@ -724,20 +724,20 @@ A data member (as opposed to a member function) is
 represented by a debugging information entry with the 
 tag \livetarg{chap:DWTAGmember}{DW\-\_TAG\-\_member}. 
 The member entry for a named member has
-a DW\-\_AT\-\_name attribute whose value is a null-terminated
+a \livelink{chap:DWATname}{DW\-\_AT\-\_name} attribute whose value is a null-terminated
 string containing the member name as it appears in the source
 program. If the member entry describes an anonymous union, the
 name attribute is omitted or consists of a single zero byte.
 
-The data member entry has a DW\-\_AT\-\_type attribute to denote
+The data member entry has a \livelink{chap:DWATtype}{DW\-\_AT\-\_type} attribute to denote
 the type of that member.
 
-A data member entry may have a DW\-\_AT\-\_accessibility
+A data member entry may have a \livelink{chap:DWATaccessibility}{DW\-\_AT\-\_accessibility}
 attribute. If no accessibility attribute is present, private
 access is assumed for an entry of a class and public access
 is assumed for an entry of a structure, union, or interface.
 
-A data member entry may have a DW\-\_AT\-\_mutable attribute,
+A data member entry may have a \livelink{chap:DWATmutable}{DW\-\_AT\-\_mutable} attribute,
 which is a flag. This attribute indicates whether the data
 member was declared with the mutable storage class specifier.
 
@@ -755,12 +755,12 @@ the target system.
 
 The member entry corresponding to a data member that is
 defined in a structure, union or class may have either a
-DW\-\_AT\-\_data\-\_member\-\_location attribute or a DW\-\_AT\-\_data\-\_bit\-\_offset
+\livelink{chap:DWATdatamemberlocation}{DW\-\_AT\-\_data\-\_member\-\_location} attribute or a \livelink{chap:DWATdatabitoffset}{DW\-\_AT\-\_data\-\_bit\-\_offset}
 attribute. If the beginning of the data member is the same as
 the beginning of the containing entity then neither attribute
 is required.
 
-For a DW\-\_AT\-\_data\-\_member\-\_location attribute there are two cases:
+For a \livelink{chap:DWATdatamemberlocation}{DW\-\_AT\-\_data\-\_member\-\_location} attribute there are two cases:
 
 \begin{enumerate}[1.]
 
@@ -785,14 +785,14 @@ beginning of a location description for a data member. The
 result of the evaluation is a location--either an address or
 the name of a register, not an offset to the member.}
 
-\textit{A DW\-\_AT\-\_data\-\_member\-\_location attribute that has the form of a
+\textit{A \livelink{chap:DWATdatamemberlocation}{DW\-\_AT\-\_data\-\_member\-\_location} attribute that has the form of a
 location description is not valid for a data member contained
 in an entity that is not byte aligned because DWARF operations
 do not allow for manipulating or computing bit offsets.}
 
 \end{enumerate}
 
-For a DW\-\_AT\-\_data\-\_bit\-\_offset attribute, the value is an integer
+For a \livelink{chap:DWATdatabitoffset}{DW\-\_AT\-\_data\-\_bit\-\_offset} attribute, the value is an integer
 constant 
 (see Section \refersec{chap:staticanddynamicvaluesofattributes}) 
 that specifies the number of bits
@@ -803,14 +803,14 @@ per byte.
 
 If the size of a data member is not the same as the size
 of the type given for the data member, the data member has
-either a DW\-\_AT\-\_byte\-\_size or a DW\-\_AT\-\_bit\-\_size attribute whose
+either a \livelink{chap:DWATbytesize}{DW\-\_AT\-\_byte\-\_size} or a \livelink{chap:DWATbitsize}{DW\-\_AT\-\_bit\-\_size} attribute whose
 integer constant value 
 (see Section \refersec{chap:staticanddynamicvaluesofattributes}) 
 is the amount
 of storage needed to hold the value of the data member.
 
 \textit{C and C++ bit fields typically require the use of the
-DW\-\_AT\-\_data\-\_bit\-\_offset and DW\-\_AT\-\_bit\-\_size attributes.}
+\livelink{chap:DWATdatabitoffset}{DW\-\_AT\-\_data\-\_bit\-\_offset} and \livelink{chap:DWATbitsize}{DW\-\_AT\-\_bit\-\_size} attributes.}
 
 \textit{This Standard uses the following bit numbering and direction
 conventions in examples. These conventions are for illustrative
@@ -900,20 +900,20 @@ the target architecture may or may not make this seem natural.}
 and arrays, see 
 Appendix \refersec{app:pascalexample}.}
 
-\textit{Attribute DW\-\_AT\-\_data\-\_bit\-\_offset is new in DWARF Version 4 and
+\textit{Attribute \livelink{chap:DWATdatabitoffset}{DW\-\_AT\-\_data\-\_bit\-\_offset} is new in DWARF Version 4 and
 is also used for base types 
 (see Section \refersec{chap:basetypeentries}). 
 It replaces the
-attributes DW\-\_AT\-\_bit\-\_offset and DW\-\_AT\-\_byte\-\_size when used to
+attributes \livelink{chap:DWATbitoffset}{DW\-\_AT\-\_bit\-\_offset} and \livelink{chap:DWATbytesize}{DW\-\_AT\-\_byte\-\_size} when used to
 identify the beginning of bit field data members as defined
 in DWARF V3 and earlier. The earlier attributes are defined
 in a manner suitable for bit field members on big-endian
 architectures but which is either awkward or incomplete for
-use on little-endian architectures.  (DW\-\_AT\-\_byte\-\_size also
+use on little-endian architectures.  (\livelink{chap:DWATbytesize}{DW\-\_AT\-\_byte\-\_size} also
 has other uses that are not affected by this change.)}
 
-\textit{The DW\-\_AT\-\_byte\-\_size, DW\-\_AT\-\_bit\-\_size and 
-DW\-\_AT\-\_bit\-\_offset
+\textit{The \livelink{chap:DWATbytesize}{DW\-\_AT\-\_byte\-\_size}, \livelink{chap:DWATbitsize}{DW\-\_AT\-\_bit\-\_size} and 
+\livelink{chap:DWATbitoffset}{DW\-\_AT\-\_bit\-\_offset}
 attribute combination is deprecated for data members in DWARF
 Version 4, but implementations may continue to support this
 use for compatibility.}
@@ -926,7 +926,7 @@ as follows.}
 entry has the following attributes:}
 
 \begin{itemize}
-\item \textit{A DW\-\_AT\-\_byte\-\_size attribute whose value (see Section
+\item \textit{A \livelink{chap:DWATbytesize}{DW\-\_AT\-\_byte\-\_size} attribute whose value (see Section
 2.19) is the number of bytes that contain an instance of the
 bit field and any padding bits.}
 
@@ -934,11 +934,11 @@ bit field and any padding bits.}
 object containing the bit field can be inferred from the type
 attribute of the data member containing the bit field.}
 
-\item \textit{A DW\-\_AT\-\_bit\-\_offset attribute whose value (see Section
+\item \textit{A \livelink{chap:DWATbitoffset}{DW\-\_AT\-\_bit\-\_offset} attribute whose value (see Section
 2.19) is the number of bits to the left of the leftmost
 (most significant) bit of the bit field value.}
 
-\item \textit{A DW\-\_AT\-\_bit\-\_size attribute whose value (see Section
+\item \textit{A \livelink{chap:DWATbitsize}{DW\-\_AT\-\_bit\-\_size} attribute whose value (see Section
 2.19) is the number of bits occupied by the bit field value.}
 
 \end{itemize}
@@ -955,21 +955,21 @@ the bit field is the value of the bit offset attribute.}
 
 
 \textit{Diagrams similar to the above that show the use of the
-DW\-\_AT\-\_byte\-\_size, DW\-\_AT\-\_bit\-\_size and DW\-\_AT\-\_bit\-\_offset attribute
+\livelink{chap:DWATbytesize}{DW\-\_AT\-\_byte\-\_size}, \livelink{chap:DWATbitsize}{DW\-\_AT\-\_bit\-\_size} and \livelink{chap:DWATbitoffset}{DW\-\_AT\-\_bit\-\_offset} attribute
 combination may be found in the DWARF Version 3 Standard.}
 
 \textit{In comparing DWARF Versions 3 and 4, note that DWARF V4
 defines the following combinations of attributes:}
 
 \begin{itemize}
-\item \textit{either DW\-\_AT\-\_data\-\_member\-\_location or
-DW\-\_AT\-\_data\-\_bit\-\_offset (to specify the beginning of the
+\item \textit{either \livelink{chap:DWATdatamemberlocation}{DW\-\_AT\-\_data\-\_member\-\_location} or
+\livelink{chap:DWATdatabitoffset}{DW\-\_AT\-\_data\-\_bit\-\_offset} (to specify the beginning of the
 data member)}
 
 % FIXME: the indentation of the following line is suspect.
 \textit{optionally together with}
 
-\item  \textit{either DW\-\_AT\-\_byte\-\_size or DW\-\_AT\-\_bit\-\_size (to
+\item  \textit{either \livelink{chap:DWATbytesize}{DW\-\_AT\-\_byte\-\_size} or \livelink{chap:DWATbitsize}{DW\-\_AT\-\_bit\-\_size} (to
 specify the size of the data member)}
 
 \end{itemize}
@@ -977,14 +977,14 @@ specify the size of the data member)}
 \textit{DWARF V3 defines the following combinations}
 
 \begin{itemize}
-\item \textit{DW\-\_AT\-\_data\-\_member\-\_location (to specify the beginning
+\item \textit{\livelink{chap:DWATdatamemberlocation}{DW\-\_AT\-\_data\-\_member\-\_location} (to specify the beginning
 of the data member, except this specification is only partial
 in the case of a bit field) }
 
 % FIXME: the indentation of the following line is suspect.
 \textit{optionally together with}
 
-\item \textit{DW\-\_AT\-\_byte\-\_size, DW\-\_AT\-\_bit\-\_size and DW\-\_AT\-\_bit\-\_offset
+\item \textit{\livelink{chap:DWATbytesize}{DW\-\_AT\-\_byte\-\_size}, \livelink{chap:DWATbitsize}{DW\-\_AT\-\_bit\-\_size} and \livelink{chap:DWATbitoffset}{DW\-\_AT\-\_bit\-\_offset}
 (to further specify the beginning of a bit field data member
 as well as specify the size of the data member) }
 \end{itemize}
@@ -998,19 +998,19 @@ may contain the same attributes and follows the same rules
 as non\dash member global subroutine entries 
 (see Section \refersec{chap:subroutineandentrypointentries}).
 
-A member function entry may have a DW\-\_AT\-\_accessibility
+A member function entry may have a \livelink{chap:DWATaccessibility}{DW\-\_AT\-\_accessibility}
 attribute. If no accessibility attribute is present, private
 access is assumed for an entry of a class and public access
 is assumed for an entry of a structure, union or interface.
 
 If the member function entry describes a virtual function,
-then that entry has a DW\-\_AT\-\_virtuality attribute.
+then that entry has a \livelink{chap:DWATvirtuality}{DW\-\_AT\-\_virtuality} attribute.
 
 If the member function entry describes an explicit member
-function, then that entry has a DW\-\_AT\-\_explicit attribute.
+function, then that entry has a \livelink{chap:DWATexplicit}{DW\-\_AT\-\_explicit} attribute.
 
 An entry for a virtual function also has a
-DW\-\_AT\-\_vtable\-\_elem\-\_location attribute whose value contains
+\livelink{chap:DWATvtableelemlocation}{DW\-\_AT\-\_vtable\-\_elem\-\_location} attribute whose value contains
 a location description yielding the address of the slot
 for the function within the virtual function table for the
 enclosing class. The address of an object of the enclosing
@@ -1018,16 +1018,16 @@ type is pushed onto the expression stack before the location
 description is evaluated.
 
 If the member function entry describes a non\dash static member
-function, then that entry has a DW\-\_AT\-\_object\-\_pointer attribute
+function, then that entry has a \livelink{chap:DWATobjectpointer}{DW\-\_AT\-\_object\-\_pointer} attribute
 whose value is a reference to the formal parameter entry
 that corresponds to the object for which the function is
 called. The name attribute of that formal parameter is defined
 by the current language (for example, this for C++ or self
 for Objective C and some other languages). That parameter
-also has a DW\-\_AT\-\_artificial attribute whose value is true.
+also has a \livelink{chap:DWATartificial}{DW\-\_AT\-\_artificial} attribute whose value is true.
 
 Conversely, if the member function entry describes a static
-member function, the entry does not have a DW\-\_AT\-\_object\-\_pointer
+member function, the entry does not have a \livelink{chap:DWATobjectpointer}{DW\-\_AT\-\_object\-\_pointer}
 attribute.
 
 If the member function entry describes a non\dash static member
@@ -1039,12 +1039,12 @@ const\dash volatile qualification.
 If a subroutine entry represents the defining declaration
 of a member function and that definition appears outside of
 the body of the enclosing class declaration, the subroutine
-entry has a DW\-\_AT\-\_specification attribute, whose value is
+entry has a \livelink{chap:DWATspecification}{DW\-\_AT\-\_specification} attribute, whose value is
 a reference to the debugging information entry representing
 the declaration of this function member. The referenced entry
 will be a child of some class (or structure) type entry.
 
-Subroutine entries containing the DW\-\_AT\-\_specification
+Subroutine entries containing the \livelink{chap:DWATspecification}{DW\-\_AT\-\_specification}
 attribute do not need to duplicate information provided
 by the declaration entry referenced by the specification
 attribute. In particular, such entries do not need to contain
@@ -1073,10 +1073,10 @@ types and values. The exceptions are:
 \item Each formal parameterized type declaration appearing in the
 template definition is represented by a debugging information
 entry with the tag \livelink{chap:DWTAGtemplatetypeparameter}{DW\-\_TAG\-\_template\-\_type\-\_parameter}. Each
-such entry may have a DW\-\_AT\-\_name attribute, whose value is
+such entry may have a \livelink{chap:DWATname}{DW\-\_AT\-\_name} attribute, whose value is
 a null\dash terminated string containing the name of the formal
 type parameter as it appears in the source program. The
-template type parameter entry also has a DW\-\_AT\-\_type attribute
+template type parameter entry also has a \livelink{chap:DWATtype}{DW\-\_AT\-\_type} attribute
 describing the actual type by which the formal is replaced
 for this instantiation.
 
@@ -1085,12 +1085,12 @@ template definition is represented by a debugging information
 entry with the 
 tag \livetarg{chap:DWTAGtemplatevalueparameter}{DW\-\_TAG\-\_template\-\_value\-\_parameter}. 
 Each
-such entry may have a DW\-\_AT\-\_name attribute, whose value is
+such entry may have a \livelink{chap:DWATname}{DW\-\_AT\-\_name} attribute, whose value is
 a null\dash terminated string containing the name of the formal
 value parameter as it appears in the source program. The
-template value parameter entry also has a DW\-\_AT\-\_type attribute
+template value parameter entry also has a \livelink{chap:DWATtype}{DW\-\_AT\-\_type} attribute
 describing the type of the parameterized value. Finally,
-the template value parameter entry has a DW\-\_AT\-\_const\-\_value
+the template value parameter entry has a \livelink{chap:DWATconstvalue}{DW\-\_AT\-\_const\-\_value}
 attribute, whose value is the actual constant value of the
 value parameter for this instantiation as represented on the
 target architecture.
@@ -1130,11 +1130,11 @@ If the variant part has a discriminant, the discriminant is
 represented by a separate debugging information entry which
 is a child of the variant part entry. This entry has the form
 of a structure data member entry. The variant part entry will
-have a DW\-\_AT\-\_discr attribute whose value is a reference to
+have a \livelink{chap:DWATdiscr}{DW\-\_AT\-\_discr} attribute whose value is a reference to
 the member entry for the discriminant.
 
 If the variant part does not have a discriminant (tag field),
-the variant part entry has a DW\-\_AT\-\_type attribute to represent
+the variant part entry has a \livelink{chap:DWATtype}{DW\-\_AT\-\_type} attribute to represent
 the tag type.
 
 Each variant of a particular variant part is represented by
@@ -1142,14 +1142,14 @@ a debugging information entry with the
 tag \livetarg{chap:DWTAGvariant}{DW\-\_TAG\-\_variant}
 and is a child of the variant part entry. The value that
 selects a given variant may be represented in one of three
-ways. The variant entry may have a DW\-\_AT\-\_discr\-\_value attribute
+ways. The variant entry may have a \livelink{chap:DWATdiscrvalue}{DW\-\_AT\-\_discr\-\_value} attribute
 whose value represents a single case label. The value of this
 attribute is encoded as an LEB128 number. The number is signed
 if the tag type for the variant part containing this variant
 is a signed type. The number is unsigned if the tag type is
 an unsigned type.
 
-Alternatively, the variant entry may contain a DW\-\_AT\-\_discr\-\_list
+Alternatively, the variant entry may contain a \livelink{chap:DWATdiscrlist}{DW\-\_AT\-\_discr\-\_list}
 attribute, whose value represents a list of discriminant
 values. This list is represented by any of the block forms and
 may contain a mixture of case labels and label ranges. Each
@@ -1157,7 +1157,7 @@ item on the list is prefixed with a discriminant value
 descriptor that determines whether the list item represents
 a single label or a label range. A single case label is
 represented as an LEB128 number as defined above for the
-DW\-\_AT\-\_discr\-\_value attribute. A label range is represented by
+\livelink{chap:DWATdiscrvalue}{DW\-\_AT\-\_discr\-\_value} attribute. A label range is represented by
 two LEB128 numbers, the low value of the range followed by the
 high value. Both values follow the rules for signedness just
 described. The discriminant value descriptor is an integer
@@ -1172,9 +1172,9 @@ Figure \refersec{fig:discriminantdescriptorvalues}.
 \caption{Discriminant descriptor values}\label{fig:discriminantdescriptorvalues}
 \end{figure}
 
-If a variant entry has neither a DW\-\_AT\-\_discr\-\_value
-attribute nor a DW\-\_AT\-\_discr\-\_list attribute, or if it has
-a DW\-\_AT\-\_discr\-\_list attribute with 0 size, the variant is a
+If a variant entry has neither a \livelink{chap:DWATdiscrvalue}{DW\-\_AT\-\_discr\-\_value}
+attribute nor a \livelink{chap:DWATdiscrlist}{DW\-\_AT\-\_discr\-\_list} attribute, or if it has
+a \livelink{chap:DWATdiscrlist}{DW\-\_AT\-\_discr\-\_list} attribute with 0 size, the variant is a
 default variant.
 
 The components selected by a particular variant are represented
@@ -1197,7 +1197,7 @@ describes a
 logical condition that tests whether a given data item’s
 value matches one of a set of constant values. If a name
 has been given to the condition, the condition entry has a
-DW\-\_AT\-\_name attribute whose value is a null\dash terminated string
+\livelink{chap:DWATname}{DW\-\_AT\-\_name} attribute whose value is a null\dash terminated string
 giving the condition name as it appears in the source program.
 
 The condition entry's parent entry describes the conditional
@@ -1212,7 +1212,7 @@ otherwise it is the type of the parent entry.
 The condition entry owns \livelink{chap:DWTAGconstant}{DW\-\_TAG\-\_constant} and/or
 \livelink{chap:DWTAGsubrangetype}{DW\-\_TAG\-\_subrange\-\_type} entries that describe the constant
 values associated with the condition. If any child entry has
-a DW\-\_AT\-\_type attribute, that attribute should describe a type
+a \livelink{chap:DWATtype}{DW\-\_AT\-\_type} attribute, that attribute should describe a type
 compatible with the comparison type (according to the source
 language); otherwise the child’s type is the same as the
 comparison type.
@@ -1239,13 +1239,13 @@ entry with the tag
 
 If a name has been given to the enumeration type in the source
 program, then the corresponding enumeration type entry has
-a DW\-\_AT\-\_name attribute whose value is a null\dash terminated
+a \livelink{chap:DWATname}{DW\-\_AT\-\_name} attribute whose value is a null\dash terminated
 string containing the enumeration type name as it appears
-in the source program. This entry also has a DW\-\_AT\-\_byte\-\_size
+in the source program. This entry also has a \livelink{chap:DWATbytesize}{DW\-\_AT\-\_byte\-\_size}
 attribute whose integer constant value is the number of bytes
 required to hold an instance of the enumeration.
 
-The enumeration type entry may have a DW\-\_AT\-\_type attribute
+The enumeration type entry may have a \livelink{chap:DWATtype}{DW\-\_AT\-\_type} attribute
 which refers to the underlying data type used to implement
 the enumeration.
 
@@ -1257,7 +1257,7 @@ If an enumeration type has type safe semantics such that
 \item Enumerators are not implicitly converted to another type
 \end{enumerate}
 
-then the enumeration type entry may have a DW\-\_AT\-\_enum\-\_class
+then the enumeration type entry may have a \livelink{chap:DWATenumclass}{DW\-\_AT\-\_enum\-\_class}
 attribute, which is a flag. In a language that offers only
 one kind of enumeration declaration, this attribute is not
 required.
@@ -1267,7 +1267,7 @@ integral type determined by the compiler from the properties of
 the enumeration literal values. A C++ type declaration written
 using enum class declares a strongly typed enumeration and
 is represented using \livelink{chap:DWTAGenumerationtype}{DW\-\_TAG\-\_enumeration\-\_type} in combination
-with DW\-\_AT\-\_enum\-\_class.}
+with \livelink{chap:DWATenumclass}{DW\-\_AT\-\_enum\-\_class}.}
 
 Each enumeration literal is represented by a debugging
 information entry with the 
@@ -1277,10 +1277,10 @@ such entry is a child of the enumeration type entry, and the
 enumerator entries appear in the same order as the declarations
 of the enumeration literals in the source program.
 
-Each enumerator entry has a DW\-\_AT\-\_name attribute, whose
+Each enumerator entry has a \livelink{chap:DWATname}{DW\-\_AT\-\_name} attribute, whose
 value is a null\dash terminated string containing the name of the
 enumeration literal as it appears in the source program. Each
-enumerator entry also has a DW\-\_AT\-\_const\-\_value attribute,
+enumerator entry also has a \livelink{chap:DWATconstvalue}{DW\-\_AT\-\_const\-\_value} attribute,
 whose value is the actual numeric value of the enumerator as
 represented on the target system.
 
@@ -1288,13 +1288,13 @@ represented on the target system.
 If the enumeration type occurs as the description of a
 dimension of an array type, and the stride for that dimension
 is different than what would otherwise be determined, then
-the enumeration type entry has either a DW\-\_AT\-\_byte\-\_stride
-or DW\-\_AT\-\_bit\-\_stride attribute which specifies the separation
+the enumeration type entry has either a \livelink{chap:DWATbytestride}{DW\-\_AT\-\_byte\-\_stride}
+or \livelink{chap:DWATbitstride}{DW\-\_AT\-\_bit\-\_stride} attribute which specifies the separation
 between successive elements along the dimension as described
 in 
 Section \refersec{chap:visibilityofdeclarations}. 
-The value of the DW\-\_AT\-\_bit\-\_stride attribute
-is interpreted as bits and the value of the DW\-\_AT\-\_byte\-\_stride
+The value of the \livelink{chap:DWATbitstride}{DW\-\_AT\-\_bit\-\_stride} attribute
+is interpreted as bits and the value of the \livelink{chap:DWATbytestride}{DW\-\_AT\-\_byte\-\_stride}
 attribute is interpreted as bytes.
 
 
@@ -1314,12 +1314,12 @@ entry with the
 tag \livetarg{chap:DWTAGsubroutinetype}{DW\-\_TAG\-\_subroutine\-\_type}. 
 If a name has
 been given to the subroutine type in the source program,
-then the corresponding subroutine type entry has a DW\-\_AT\-\_name
+then the corresponding subroutine type entry has a \livelink{chap:DWATname}{DW\-\_AT\-\_name}
 attribute whose value is a null\dash terminated string containing
 the subroutine type name as it appears in the source program.
 
 If the subroutine type describes a function that returns
-a value, then the subroutine type entry has a DW\-\_AT\-\_type
+a value, then the subroutine type entry has a \livelink{chap:DWATtype}{DW\-\_AT\-\_type}
 attribute to denote the type returned by the subroutine. If
 the types of the arguments are necessary to describe the
 subroutine type, then the corresponding subroutine type
@@ -1333,7 +1333,7 @@ declared using function prototype style declarations and
 those declared using non\dash prototype declarations.
 
 A subroutine entry declared with a function prototype style
-declaration may have a DW\-\_AT\-\_prototyped attribute, which is
+declaration may have a \livelink{chap:DWATprototyped}{DW\-\_AT\-\_prototyped} attribute, which is
 a flag.
 
 Each debugging information entry owned by a subroutine
@@ -1344,7 +1344,7 @@ interpretations:
 \item The formal parameters of a parameter list (that have a
 specific type) are represented by a debugging information entry
 with the tag \livelink{chap:DWTAGformalparameter}{DW\-\_TAG\-\_formal\-\_parameter}. Each formal parameter
-entry has a DW\-\_AT\-\_type attribute that refers to the type of
+entry has a \livelink{chap:DWATtype}{DW\-\_AT\-\_type} attribute that refers to the type of
 the formal parameter.
 
 \item The unspecified parameters of a variable parameter list
@@ -1369,15 +1369,15 @@ A string type is represented by a debugging information entry
 with the tag \livetarg{chap:DWTAGstringtype}{DW\-\_TAG\-\_string\-\_type}. 
 If a name has been given to
 the string type in the source program, then the corresponding
-string type entry has a DW\-\_AT\-\_name attribute whose value is
+string type entry has a \livelink{chap:DWATname}{DW\-\_AT\-\_name} attribute whose value is
 a null\dash terminated string containing the string type name as
 it appears in the source program.
 
-The string type entry may have a DW\-\_AT\-\_string\-\_length attribute
+The string type entry may have a \livelink{chap:DWATstringlength}{DW\-\_AT\-\_string\-\_length} attribute
 whose value is a location description yielding the location
 where the length of the string is stored in the program. The
-string type entry may also have a DW\-\_AT\-\_byte\-\_size attribute
-or DW\-\_AT\-\_bit\-\_size attribute, whose value 
+string type entry may also have a \livelink{chap:DWATbytesize}{DW\-\_AT\-\_byte\-\_size} attribute
+or \livelink{chap:DWATbitsize}{DW\-\_AT\-\_bit\-\_size} attribute, whose value 
 (see Section \refersec{chap:byteandbitsizes}) 
 is the size of the data to be retrieved from the location
 referenced by the string length attribute. If no (byte or bit)
@@ -1385,7 +1385,7 @@ size attribute is present, the size of the data to be retrieved
 is the same as the size of an address on the target machine.
 
 If no string length attribute is present, the string type
-entry may have a DW\-\_AT\-\_byte\-\_size attribute or DW\-\_AT\-\_bit\-\_size
+entry may have a \livelink{chap:DWATbytesize}{DW\-\_AT\-\_byte\-\_size} attribute or \livelink{chap:DWATbitsize}{DW\-\_AT\-\_bit\-\_size}
 attribute, whose value 
 (see Section \refersec{chap:byteandbitsizes}) 
 is the amount of
@@ -1401,18 +1401,18 @@ a group of values of ordinal type.}
 A set is represented by a debugging information entry with
 the tag \livetarg{chap:DWTAGsettype}{DW\-\_TAG\-\_set\-\_type}. 
 If a name has been given to the
-set type, then the set type entry has a DW\-\_AT\-\_name attribute
+set type, then the set type entry has a \livelink{chap:DWATname}{DW\-\_AT\-\_name} attribute
 whose value is a null\dash terminated string containing the
 set type name as it appears in the source program.
 
-The set type entry has a DW\-\_AT\-\_type attribute to denote the
+The set type entry has a \livelink{chap:DWATtype}{DW\-\_AT\-\_type} attribute to denote the
 type of an element of the set.
 
 If the amount of storage allocated to hold each element of an
 object of the given set type is different from the amount of
 storage that is normally allocated to hold an individual object
 of the indicated element type, then the set type entry has
-either a DW\-\_AT\-\_byte\-\_size attribute, or DW\-\_AT\-\_bit\-\_size attribute
+either a \livelink{chap:DWATbytesize}{DW\-\_AT\-\_byte\-\_size} attribute, or \livelink{chap:DWATbitsize}{DW\-\_AT\-\_bit\-\_size} attribute
 whose value (see Section \refersec{chap:byteandbitsizes}) is
 the amount of storage needed to hold a value of the set type.
 
@@ -1431,11 +1431,11 @@ entry with the
 tag \livetarg{chap:DWTAGsubrangetype}{DW\-\_TAG\-\_subrange\-\_type}. 
 If a name has been
 given to the subrange type, then the subrange type entry
-has a DW\-\_AT\-\_name attribute whose value is a null\dash terminated
+has a \livelink{chap:DWATname}{DW\-\_AT\-\_name} attribute whose value is a null\dash terminated
 string containing the subrange type name as it appears in
 the source program.
 
-The subrange entry may have a DW\-\_AT\-\_type attribute to describe
+The subrange entry may have a \livelink{chap:DWATtype}{DW\-\_AT\-\_type} attribute to describe
 the type of object, called the basis type, of whose values
 this subrange is a subset.
 
@@ -1443,13 +1443,13 @@ If the amount of storage allocated to hold each element of an
 object of the given subrange type is different from the amount
 of storage that is normally allocated to hold an individual
 object of the indicated element type, then the subrange
-type entry has a DW\-\_AT\-\_byte\-\_size attribute or DW\-\_AT\-\_bit\-\_size
+type entry has a \livelink{chap:DWATbytesize}{DW\-\_AT\-\_byte\-\_size} attribute or \livelink{chap:DWATbitsize}{DW\-\_AT\-\_bit\-\_size}
 attribute, whose value 
 (see Section \refersec{chap:staticanddynamicvaluesofattributes})
 is the amount of
 storage needed to hold a value of the subrange type.
 
-The subrange entry may have a DW\-\_AT\-\_threads\-\_scaled attribute,
+The subrange entry may have a \livelink{chap:DWATthreadsscaled}{DW\-\_AT\-\_threads\-\_scaled} attribute,
 which is a flag. If present, this attribute indicates whether
 this subrange represents a UPC array bound which is scaled
 by the runtime THREADS value (the number of UPC threads in
@@ -1461,10 +1461,10 @@ this execution of the program).
 int shared foo[34*THREADS][10][20];
 \end{lstlisting}
 
-The subrange entry may have the attributes DW\-\_AT\-\_lower\-\_bound
-and DW\-\_AT\-\_upper\-\_bound to specify, respectively, the lower
-and upper bound values of the subrange. The DW\-\_AT\-\_upper\-\_bound
-attribute may be replaced by a DW\-\_AT\-\_count attribute, whose
+The subrange entry may have the attributes \livelink{chap:DWATlowerbound}{DW\-\_AT\-\_lower\-\_bound}
+and \livelink{chap:DWATupperbound}{DW\-\_AT\-\_upper\-\_bound} to specify, respectively, the lower
+and upper bound values of the subrange. The \livelink{chap:DWATupperbound}{DW\-\_AT\-\_upper\-\_bound}
+attribute may be replaced by a \livelink{chap:DWATcount}{DW\-\_AT\-\_count} attribute, whose
 value describes the number of elements in the subrange rather
 than the value of the last element. The value of each of
 these attributes is determined as described in 
@@ -1496,8 +1496,8 @@ integer with the same size as an address on the target machine.
 If the subrange type occurs as the description of a dimension
 of an array type, and the stride for that dimension is
 different than what would otherwise be determined, then
-the subrange type entry has either a DW\-\_AT\-\_byte\-\_stride or
-DW\-\_AT\-\_bit\-\_stride attribute which specifies the separation
+the subrange type entry has either a \livelink{chap:DWATbytestride}{DW\-\_AT\-\_byte\-\_stride} or
+\livelink{chap:DWATbitstride}{DW\-\_AT\-\_bit\-\_stride} attribute which specifies the separation
 between successive elements along the dimension as described
 in 
 Section \refersec{chap:byteandbitsizes}.
@@ -1515,20 +1515,20 @@ object that is a pointer to a structure or class member has
 the tag \livetarg{chap:DWTAGptrtomembertype}{DW\-\_TAG\-\_ptr\-\_to\-\_member\-\_type}.
 
 If the pointer to member type has a name, the pointer to
-member entry has a DW\-\_AT\-\_name attribute, whose value is a
+member entry has a \livelink{chap:DWATname}{DW\-\_AT\-\_name} attribute, whose value is a
 null\dash terminated string containing the type name as it appears
 in the source program.
 
-The pointer to member entry has a DW\-\_AT\-\_type attribute to
+The pointer to member entry has a \livelink{chap:DWATtype}{DW\-\_AT\-\_type} attribute to
 describe the type of the class or structure member to which
 objects of this type may point.
 
-The pointer to member entry also has a DW\-\_AT\-\_containing\-\_type
+The pointer to member entry also has a \livelink{chap:DWATcontainingtype}{DW\-\_AT\-\_containing\-\_type}
 attribute, whose value is a reference to a debugging
 information entry for the class or structure to whose members
 objects of this type may point.
 
-The pointer to member entry has a DW\-\_AT\-\_use\-\_location attribute
+The pointer to member entry has a \livelink{chap:DWATuselocation}{DW\-\_AT\-\_use\-\_location} attribute
 whose value is a location description that computes the
 address of the member of the class to which the pointer to
 member entry points.
@@ -1539,12 +1539,12 @@ or structure and to any instance of the pointer or member
 type. The method is thus associated with the type entry,
 rather than with each instance of the type.}
 
-The DW\-\_AT\-\_use\-\_location description is used in conjunction
+The \livelink{chap:DWATuselocation}{DW\-\_AT\-\_use\-\_location} description is used in conjunction
 with the location descriptions for a particular object of the
 given pointer to member type and for a particular structure or
-class instance. The DW\-\_AT\-\_use\-\_location attribute expects two
+class instance. The \livelink{chap:DWATuselocation}{DW\-\_AT\-\_use\-\_location} attribute expects two
 values to be pushed onto the DWARF expression stack before
-the DW\-\_AT\-\_use\-\_location description is evaluated. The first
+the \livelink{chap:DWATuselocation}{DW\-\_AT\-\_use\-\_location} description is evaluated. The first
 value pushed is the value of the pointer to member object
 itself. The second value pushed is the base address of the
 entire structure or union instance containing the member
@@ -1562,7 +1562,7 @@ whose address is being calculated.
 
 \textit{2. Push the base address of object onto the DWARF expression stack.}
 
-\textit{3. Evaluate the DW\-\_AT\-\_use\-\_location description 
+\textit{3. Evaluate the \livelink{chap:DWATuselocation}{DW\-\_AT\-\_use\-\_location} description 
 given in the type of mbr\_ptr.}
 
 \section{File Type Entries}
@@ -1575,15 +1575,15 @@ A file type is represented by a debugging information entry
 with the 
 \livetarg{chap:DWTAGfiletype}{DW\-\_TAG\-\_file\-\_type}. 
 If the file type has a name,
-the file type entry has a DW\-\_AT\-\_name attribute, whose value
+the file type entry has a \livelink{chap:DWATname}{DW\-\_AT\-\_name} attribute, whose value
 is a null\dash terminated string containing the type name as it
 appears in the source program.
 
-The file type entry has a DW\-\_AT\-\_type attribute describing
+The file type entry has a \livelink{chap:DWATtype}{DW\-\_AT\-\_type} attribute describing
 the type of the objects contained in the file.
 
-The file type entry also has a DW\-\_AT\-\_byte\-\_size or
-DW\-\_AT\-\_bit\-\_size attribute, whose value 
+The file type entry also has a \livelink{chap:DWATbytesize}{DW\-\_AT\-\_byte\-\_size} or
+\livelink{chap:DWATbitsize}{DW\-\_AT\-\_bit\-\_size} attribute, whose value 
 (see Section \refersec{chap:staticanddynamicvaluesofattributes})
 is the amount of storage need to hold a value of the file type.
 
@@ -1596,7 +1596,7 @@ is the amount of storage need to hold a value of the file type.
 information, including a location and/or run\dash time parameters,
 about the data that represents the value for that object.}
 
-The DW\-\_AT\-\_data\-\_location attribute may be used with any
+The \livelink{chap:DWATdatalocation}{DW\-\_AT\-\_data\-\_location} attribute may be used with any
 type that provides one or more levels of hidden indirection
 and/or run\dash time parameters in its representation. Its value
 is a location description. The result of evaluating this
@@ -1607,7 +1607,7 @@ the same as the address of the object.
 \textit{This location description will typically begin with
 DW\-\_OP\-\_push\-\_object\-\_address which loads the address of the
 object which can then serve as a descriptor in subsequent
-calculation. For an example using DW\-\_AT\-\_data\-\_location for a
+calculation. For an example using \livelink{chap:DWATdatalocation}{DW\-\_AT\-\_data\-\_location} for a
 Fortran 90 array, see 
 Appendix \refersec{app:fortran90example}.}
 
@@ -1618,14 +1618,14 @@ Appendix \refersec{app:fortran90example}.}
 may be dynamically allocated or associated with a variable
 under explicit program control.}
 
-The DW\-\_AT\-\_allocated attribute may optionally be used with any
+The \livelink{chap:DWATallocated}{DW\-\_AT\-\_allocated} attribute may optionally be used with any
 type for which objects of the type can be explicitly allocated
 and deallocated. The presence of the attribute indicates that
 objects of the type are allocatable and deallocatable. The
 integer value of the attribute (see below) specifies whether
 an object of the type is currently allocated or not.
 
-The DW\-\_AT\-\_associated attribute may optionally be used with
+The \livelink{chap:DWATassociated}{DW\-\_AT\-\_associated} attribute may optionally be used with
 any type for which objects of the type can be dynamically
 associated with other objects. The presence of the attribute
 indicates that objects of the type can be associated. The
@@ -1642,20 +1642,20 @@ Section \refersec{chap:staticanddynamicvaluesofattributes}.
 A non\dash zero value is interpreted as allocated or associated,
 and zero is interpreted as not allocated or not associated.
 
-\textit{For Fortran 90, if the DW\-\_AT\-\_associated attribute is present,
+\textit{For Fortran 90, if the \livelink{chap:DWATassociated}{DW\-\_AT\-\_associated} attribute is present,
 the type has the POINTER property where either the parent
 variable is never associated with a dynamic object or the
 implementation does not track whether the associated object
-is static or dynamic. If the DW\-\_AT\-\_allocated attribute is
-present and the DW\-\_AT\-\_associated attribute is not, the type
+is static or dynamic. If the \livelink{chap:DWATallocated}{DW\-\_AT\-\_allocated} attribute is
+present and the \livelink{chap:DWATassociated}{DW\-\_AT\-\_associated} attribute is not, the type
 has the ALLOCATABLE property. If both attributes are present,
 then the type should be assumed to have the POINTER property
-(and not ALLOCATABLE); the DW\-\_AT\-\_allocated attribute may then
+(and not ALLOCATABLE); the \livelink{chap:DWATallocated}{DW\-\_AT\-\_allocated} attribute may then
 be used to indicate that the association status of the object
 resulted from execution of an ALLOCATE statement rather than
 pointer assignment.}
 
-\textit{For examples using DW\-\_AT\-\_allocated for Ada and Fortran 90
+\textit{For examples using \livelink{chap:DWATallocated}{DW\-\_AT\-\_allocated} for Ada and Fortran 90
 arrays, 
 see Appendix \refersec{app:aggregateexamples}.}
 
@@ -1668,10 +1668,10 @@ A type named using a template alias is represented
 by a debugging information entry with the tag
 \livetarg{chap:DWTAGtemplatealias}{DW\-\_TAG\-\_template\-\_alias}. 
 The template alias entry has a
-DW\-\_AT\-\_name attribute whose value is a null\dash terminated string
+\livelink{chap:DWATname}{DW\-\_AT\-\_name} attribute whose value is a null\dash terminated string
 containing the name of the template alias as it appears in
 the source program. The template alias entry also contains a
-DW\-\_AT\-\_type attribute whose value is a reference to the type
+\livelink{chap:DWATtype}{DW\-\_AT\-\_type} attribute whose value is a reference to the type
 named by the template alias. The template alias entry has
 the following child entries:
 
@@ -1680,22 +1680,22 @@ the following child entries:
 in the template alias declaration is represented
 by a debugging information entry with the tag
 \livelink{chap:DWTAGtemplatetypeparameter}{DW\-\_TAG\-\_template\-\_type\-\_parameter}. Each such entry may have
-a DW\-\_AT\-\_name attribute, whose value is a null\dash terminated
+a \livelink{chap:DWATname}{DW\-\_AT\-\_name} attribute, whose value is a null\dash terminated
 string containing the name of the formal type parameter as it
 appears in the source program. The template type parameter
-entry also has a DW\-\_AT\-\_type attribute describing the actual
+entry also has a \livelink{chap:DWATtype}{DW\-\_AT\-\_type} attribute describing the actual
 type by which the formal is replaced for this instantiation.
 
 \item Each formal parameterized value declaration
 appearing in the template alias declaration is
 represented by a debugging information entry with the tag
 \livelink{chap:DWTAGtemplatevalueparameter}{DW\-\_TAG\-\_template\-\_value\-\_parameter}. Each such entry may have
-a DW\-\_AT\-\_name attribute, whose value is a null\dash terminated
+a \livelink{chap:DWATname}{DW\-\_AT\-\_name} attribute, whose value is a null\dash terminated
 string containing the name of the formal value parameter
 as it appears in the source program. The template value
-parameter entry also has a DW\-\_AT\-\_type attribute describing
+parameter entry also has a \livelink{chap:DWATtype}{DW\-\_AT\-\_type} attribute describing
 the type of the parameterized value. Finally, the template
-value parameter entry has a DW\-\_AT\-\_const\-\_value attribute, whose
+value parameter entry has a \livelink{chap:DWATconstvalue}{DW\-\_AT\-\_const\-\_value} attribute, whose
 value is the actual constant value of the value parameter for
 this instantiation as represented on the target architecture.
 \end{enumerate}