The new taglink.py app created links from all uses of TAGS
[dwarf-doc.git] / dwarf5 / latexdoc / datarepresentation.tex
index 9a2aa99..b156429 100644 (file)
@@ -21,7 +21,8 @@ appropriate prefix (DW\_TAG, DW\_AT, DW\_END, DW\_ATE, DW\_OP,
 DW\_LANG, DW\_LNE, DW\_CC or DW\_CFA respectively) followed by
 \_lo\_user or \_hi\_user. 
 \textit{For example, for entry tags, the special
-labels are DW\_TAG\_lo\_user and DW\_TAG\_hi\_user.}
+labels are \livetarg{chap:DWTAGlouser}{DW\_TAG\_lo\_user} and 
+\livetarg{chap:DWTAGhiuser}{DW\_TAG\_hi\_user}.}
 Values in the
 range between prefix\_lo\_user and prefix\_hi\_user inclusive,
 are reserved for vendor specific extensions. Vendors may
@@ -248,14 +249,14 @@ the object file. Each such contribution consists of a
 compilation unit header 
 (see Section \refersec{datarep:compilationunitheader}) 
 followed by a
-single DW\_TAG\_compile\_unit or DW\_TAG\_partial\_unit debugging
+single \livelink{chap:DWTAGcompileunit}{DW\_TAG\_compile\_unit} or \livelink{chap:DWTAGpartialunit}{DW\_TAG\_partial\_unit} debugging
 information entry, together with its children.
 
 For each type defined in a compilation unit, a contribution may
 be made to the .debug\_types section of the object file. Each
 such contribution consists of a type unit header 
 (see Section \refersec{datarep:typeunitheader}) 
-followed by a DW\_TAG\_type\_unit entry, together with
+followed by a \livelink{chap:DWTAGtypeunit}{DW\_TAG\_type\_unit} entry, together with
 its children.
 
 Each debugging information entry begins with a code that
@@ -467,14 +468,14 @@ and which are given a common interpretation according to the
 attribute in which the form is used.
 
 Form DW\_FORM\_sec\_offset is a member of more than one class,
-namely lineptr, loclistptr, macptr or rangelistptr; the list
+namely \livelink{chap:lineptr}{lineptr}, \livelink{chap:loclistptr}{loclistptr}, \livelink{chap:macptr}{macptr} or \livelink{chap:rangelistptr}{rangelistptr}; the list
 of classes allowed by the applicable attribute in 
 Table \refersec{tab:attributeencodings}
 determines the class of the form.
 
 \textit{In DWARF V3 the forms DW\_FORM\_data4 and DW\_FORM\_data8 were
-members of either class constant or one of the classes lineptr,
-loclistptr, macptr or rangelistptr, depending on context. In
+members of either class constant or one of the classes \livelink{chap:lineptr}{lineptr},
+\livelink{chap:loclistptr}{loclistptr}, \livelink{chap:macptr}{macptr} or \livelink{chap:rangelistptr}{rangelistptr}, depending on context. In
 DWARF V4 DW\_FORM\_data4 and DW\_FORM\_data8 are members of class
 constant in all cases. The new DW\_FORM\_sec\_offset replaces
 their usage for the other classes.}
@@ -546,7 +547,7 @@ unsigned integers respectively, rather than
 DW\_FORM\_data\textless n \textgreater.}
 
 
-\item exprloc \\
+\item \livelink{chap:exprloc}{exprloc} \\
 This is an unsigned LEB128 length followed by the
 number of information bytes specified by the length
 (DW\_FORM\_exprloc). The information bytes contain a DWARF
@@ -564,7 +565,7 @@ it indicates the presence of the attribute. In the second
 case, the attribute is implicitly indicated as present, and
 no value is encoded in the debugging information entry itself.
 
-\item lineptr \\
+\item \livelink{chap:lineptr}{lineptr} \\
 This is an offset into the .debug\_line section
 (DW\_FORM\_sec\_offset). It consists of an offset from the
 beginning of the .debug\_line section to the first byte of
@@ -577,7 +578,7 @@ in the 64\dash bit DWARF format, it is an 8\dash byte unsigned value
 (see Section \refersec{datarep:32bitand64bitdwarfformats}).
 
 
-\item loclistptr \\
+\item \livelink{chap:loclistptr}{loclistptr} \\
 This is an offset into the .debug\_loc section
 (DW\_FORM\_sec\_offset). It consists of an offset from the
 beginning of the .debug\_loc section to the first byte of
@@ -590,7 +591,7 @@ in the 64\dash bit DWARF format, it is an 8\dash byte unsigned value
 (see Section \refersec{datarep:32bitand64bitdwarfformats}).
 
 
-\item macptr \\
+\item \livelink{chap:macptr}{macptr} \\
 This is an offset into the .debug\_macinfo section
 (DW\_FORM\_sec\_offset). It consists of an offset from the
 beginning of the .debug\_macinfo section to the first byte of
@@ -602,7 +603,7 @@ DWARF format, this offset is a 4\dash byte unsigned value;
 in the 64\dash bit DWARF format, it is an 8\dash byte unsigned value
 (see Section \refersec{datarep:32bitand64bitdwarfformats}).
 
-\item rangelistptr \\
+\item \livelink{chap:rangelistptr}{rangelistptr} \\
 This is an offset into the .debug\_ranges section
 (DW\_FORM\_sec\_offset). 
 It consists of an
@@ -617,7 +618,7 @@ format, it is an 8\dash byte unsigned value (see Section
 \refersec{datarep:32bitand64bitdwarfformats}).
 \end{itemize}
 
-\textit{Because classes lineptr, loclistptr, macptr and rangelistptr
+\textit{Because classes \livelink{chap:lineptr}{lineptr}, \livelink{chap:loclistptr}{loclistptr}, \livelink{chap:macptr}{macptr} and \livelink{chap:rangelistptr}{rangelistptr}
 share a common representation, it is not possible for an
 attribute to allow more than one of these classes}
 
@@ -713,8 +714,8 @@ not. However, the UTF\dash 8 representation is strongly recommended.
 
 \end{itemize}
 
-In no case does an attribute use one of the classes lineptr,
-loclistptr, macptr or rangelistptr to point into either the
+In no case does an attribute use one of the classes \livelink{chap:lineptr}{lineptr},
+\livelink{chap:loclistptr}{loclistptr}, \livelink{chap:macptr}{macptr} or \livelink{chap:rangelistptr}{rangelistptr} to point into either the
 .debug\_info or .debug\_str section.
 
 The form encodings are listed in 
@@ -732,68 +733,68 @@ Table \refersec{tab:attributeformencodings}.
 \endfoot
   \hline
 \endlastfoot
-DW\_TAG\_array\_type &0x01 \\
-DW\_TAG\_class\_type&0x02 \\
-DW\_TAG\_entry\_point&0x03 \\
-DW\_TAG\_enumeration\_type&0x04 \\
-DW\_TAG\_formal\_parameter&0x05 \\
-DW\_TAG\_imported\_declaration&0x08 \\
-DW\_TAG\_label&0x0a \\
-DW\_TAG\_lexical\_block&0x0b \\
-DW\_TAG\_member&0x0d \\
-DW\_TAG\_pointer\_type&0x0f \\
-DW\_TAG\_reference\_type&0x10 \\
-DW\_TAG\_compile\_unit&0x11 \\
-DW\_TAG\_string\_type&0x12 \\
-DW\_TAG\_structure\_type&0x13 \\
-DW\_TAG\_subroutine\_type&0x15 \\
-DW\_TAG\_typedef&0x16 \\
-DW\_TAG\_union\_type&0x17 \\
-DW\_TAG\_unspecified\_parameters&0x18  \\
-DW\_TAG\_variant&0x19  \\
-DW\_TAG\_common\_block&0x1a  \\
-DW\_TAG\_common\_inclusion&0x1b  \\
-DW\_TAG\_inheritance&0x1c  \\
-DW\_TAG\_inlined\_subroutine&0x1d  \\
-DW\_TAG\_module&0x1e  \\
-DW\_TAG\_ptr\_to\_member\_type&0x1f  \\
-DW\_TAG\_set\_type&0x20  \\
-DW\_TAG\_subrange\_type&0x21  \\
-DW\_TAG\_with\_stmt&0x22  \\
-DW\_TAG\_access\_declaration&0x23  \\
-DW\_TAG\_base\_type&0x24  \\
-DW\_TAG\_catch\_block&0x25  \\
-DW\_TAG\_const\_type&0x26  \\
-DW\_TAG\_constant&0x27  \\
-DW\_TAG\_enumerator&0x28  \\
-DW\_TAG\_file\_type&0x29  \\
-DW\_TAG\_friend&0x2a  \\
-DW\_TAG\_namelist&0x2b    \\
-DW\_TAG\_namelist\_item&0x2c    \\
-DW\_TAG\_packed\_type&0x2d    \\
-DW\_TAG\_subprogram&0x2e    \\
-DW\_TAG\_template\_type\_parameter&0x2f    \\
-DW\_TAG\_template\_value\_parameter&0x30    \\
-DW\_TAG\_thrown\_type&0x31    \\
-DW\_TAG\_try\_block&0x32    \\
-DW\_TAG\_variant\_part&0x33    \\
-DW\_TAG\_variable&0x34    \\
-DW\_TAG\_volatile\_type&0x35    \\
-DW\_TAG\_dwarf\_procedure&0x36     \\
-DW\_TAG\_restrict\_type&0x37      \\
-DW\_TAG\_interface\_type&0x38      \\
-DW\_TAG\_namespace&0x39      \\
-DW\_TAG\_imported\_module&0x3a      \\
-DW\_TAG\_unspecified\_type&0x3b      \\
-DW\_TAG\_partial\_unit&0x3c      \\
-DW\_TAG\_imported\_unit&0x3d      \\
-DW\_TAG\_condition&0x3f      \\
-DW\_TAG\_shared\_type&0x40      \\
-DW\_TAG\_type\_unit \ddag &0x41      \\
-DW\_TAG\_rvalue\_reference\_type \ddag &0x42      \\
-DW\_TAG\_template\_alias \ddag &0x43      \\
-DW\_TAG\_lo\_user&0x4080      \\
-DW\_TAG\_hi\_user&0xffff      \\
+\livelink{chap:DWTAGarraytype}{DW\_TAG\_array\_type} &0x01 \\
+\livelink{chap:DWTAGclasstype}{DW\_TAG\_class\_type}&0x02 \\
+\livelink{chap:DWTAGentrypoint}{DW\_TAG\_entry\_point}&0x03 \\
+\livelink{chap:DWTAGenumerationtype}{DW\_TAG\_enumeration\_type}&0x04 \\
+\livelink{chap:DWTAGformalparameter}{DW\_TAG\_formal\_parameter}&0x05 \\
+\livelink{chap:DWTAGimporteddeclaration}{DW\_TAG\_imported\_declaration}&0x08 \\
+\livelink{chap:DWTAGlabel}{DW\_TAG\_label}&0x0a \\
+\livelink{chap:DWTAGlexicalblock}{DW\_TAG\_lexical\_block}&0x0b \\
+\livelink{chap:DWTAGmember}{DW\_TAG\_member}&0x0d \\
+\livelink{chap:DWTAGpointertype}{DW\_TAG\_pointer\_type}&0x0f \\
+\livelink{chap:DWTAGreferencetype}{DW\_TAG\_reference\_type}&0x10 \\
+\livelink{chap:DWTAGcompileunit}{DW\_TAG\_compile\_unit}&0x11 \\
+\livelink{chap:DWTAGstringtype}{DW\_TAG\_string\_type}&0x12 \\
+\livelink{chap:DWTAGstructuretype}{DW\_TAG\_structure\_type}&0x13 \\
+\livelink{chap:DWTAGsubroutinetype}{DW\_TAG\_subroutine\_type}&0x15 \\
+\livelink{chap:DWTAGtypedef}{DW\_TAG\_typedef}&0x16 \\
+\livelink{chap:DWTAGuniontype}{DW\_TAG\_union\_type}&0x17 \\
+\livelink{chap:DWTAGunspecifiedparameters}{DW\_TAG\_unspecified\_parameters}&0x18  \\
+\livelink{chap:DWTAGvariant}{DW\_TAG\_variant}&0x19  \\
+\livelink{chap:DWTAGcommonblock}{DW\_TAG\_common\_block}&0x1a  \\
+\livelink{chap:DWTAGcommoninclusion}{DW\_TAG\_common\_inclusion}&0x1b  \\
+\livelink{chap:DWTAGinheritance}{DW\_TAG\_inheritance}&0x1c  \\
+\livelink{chap:DWTAGinlinedsubroutine}{DW\_TAG\_inlined\_subroutine}&0x1d  \\
+\livelink{chap:DWTAGmodule}{DW\_TAG\_module}&0x1e  \\
+\livelink{chap:DWTAGptrtomembertype}{DW\_TAG\_ptr\_to\_member\_type}&0x1f  \\
+\livelink{chap:DWTAGsettype}{DW\_TAG\_set\_type}&0x20  \\
+\livelink{chap:DWTAGsubrangetype}{DW\_TAG\_subrange\_type}&0x21  \\
+\livelink{chap:DWTAGwithstmt}{DW\_TAG\_with\_stmt}&0x22  \\
+\livelink{chap:DWTAGaccessdeclaration}{DW\_TAG\_access\_declaration}&0x23  \\
+\livelink{chap:DWTAGbasetype}{DW\_TAG\_base\_type}&0x24  \\
+\livelink{chap:DWTAGcatchblock}{DW\_TAG\_catch\_block}&0x25  \\
+\livelink{chap:DWTAGconsttype}{DW\_TAG\_const\_type}&0x26  \\
+\livelink{chap:DWTAGconstant}{DW\_TAG\_constant}&0x27  \\
+\livelink{chap:DWTAGenumerator}{DW\_TAG\_enumerator}&0x28  \\
+\livelink{chap:DWTAGfiletype}{DW\_TAG\_file\_type}&0x29  \\
+\livelink{chap:DWTAGfriend}{DW\_TAG\_friend}&0x2a  \\
+\livelink{chap:DWTAGnamelist}{DW\_TAG\_namelist}&0x2b    \\
+\livelink{chap:DWTAGnamelistitem}{DW\_TAG\_namelist\_item}&0x2c    \\
+\livelink{chap:DWTAGpackedtype}{DW\_TAG\_packed\_type}&0x2d    \\
+\livelink{chap:DWTAGsubprogram}{DW\_TAG\_subprogram}&0x2e    \\
+\livelink{chap:DWTAGtemplatetypeparameter}{DW\_TAG\_template\_type\_parameter}&0x2f    \\
+\livelink{chap:DWTAGtemplatevalueparameter}{DW\_TAG\_template\_value\_parameter}&0x30    \\
+\livelink{chap:DWTAGthrowntype}{DW\_TAG\_thrown\_type}&0x31    \\
+\livelink{chap:DWTAGtryblock}{DW\_TAG\_try\_block}&0x32    \\
+\livelink{chap:DWTAGvariantpart}{DW\_TAG\_variant\_part}&0x33    \\
+\livelink{chap:DWTAGvariable}{DW\_TAG\_variable}&0x34    \\
+\livelink{chap:DWTAGvolatiletype}{DW\_TAG\_volatile\_type}&0x35    \\
+\livelink{chap:DWTAGdwarfprocedure}{DW\_TAG\_dwarf\_procedure}&0x36     \\
+\livelink{chap:DWTAGrestricttype}{DW\_TAG\_restrict\_type}&0x37      \\
+\livelink{chap:DWTAGinterfacetype}{DW\_TAG\_interface\_type}&0x38      \\
+\livelink{chap:DWTAGnamespace}{DW\_TAG\_namespace}&0x39      \\
+\livelink{chap:DWTAGimportedmodule}{DW\_TAG\_imported\_module}&0x3a      \\
+\livelink{chap:DWTAGunspecifiedtype}{DW\_TAG\_unspecified\_type}&0x3b      \\
+\livelink{chap:DWTAGpartialunit}{DW\_TAG\_partial\_unit}&0x3c      \\
+\livelink{chap:DWTAGimportedunit}{DW\_TAG\_imported\_unit}&0x3d      \\
+\livelink{chap:DWTAGcondition}{DW\_TAG\_condition}&0x3f      \\
+\livelink{chap:DWTAGsharedtype}{DW\_TAG\_shared\_type}&0x40      \\
+\livelink{chap:DWTAGtypeunit}{DW\_TAG\_type\_unit} \ddag &0x41      \\
+\livelink{chap:DWTAGrvaluereferencetype}{DW\_TAG\_rvalue\_reference\_type} \ddag &0x42      \\
+\livelink{chap:DWTAGtemplatealias}{DW\_TAG\_template\_alias} \ddag &0x43      \\
+\livelink{chap:DWTAGlouser}{DW\_TAG\_lo\_user}&0x4080      \\
+\livelink{chap:DWTAGhiuser}{DW\_TAG\_hi\_user}&0xffff      \\
 \end{longtable}
 \ddag  TAG new in DWARF Version 4 
 \end{centering}
@@ -825,13 +826,13 @@ DW\_CHILDREN\_yes&0x01 \\ \hline
   \hline
 \endlastfoot
 DW\_AT\_sibling&0x01&reference \\
-DW\_AT\_location&0x02&exprloc, loclistptr   \\
+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, exprloc, reference   \\
-DW\_AT\_bit\_offset&0x0c&constant, exprloc, reference   \\
-DW\_AT\_bit\_size&0x0d&constant, exprloc, reference   \\
-DW\_AT\_stmt\_list&0x10&lineptr   \\
+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   \\
@@ -839,7 +840,7 @@ 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&exprloc, loclistptr   \\
+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   \\
@@ -847,22 +848,22 @@ 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, exprloc, reference     \\
+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&exprloc, loclistptr     \\
+DW\_AT\_return\_addr&0x2a&\livelink{chap:exprloc}{exprloc}, \livelink{chap:loclistptr}{loclistptr}     \\
 % FIXME: lower case , not Constant
-DW\_AT\_start\_scope&0x2c&Constant, rangelistptr     \\
-DW\_AT\_bit\_stride&0x2e&constant, exprloc, reference     \\
-DW\_AT\_upper\_bound&0x2f&constant, exprloc, reference     \\
+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, exprloc, reference     \\
-DW\_AT\_data\_member\_location&0x38&constant, exprloc, loclistptr     \\
+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     \\
@@ -870,30 +871,30 @@ 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&exprloc, loclistptr     \\
+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&macptr    \\
+DW\_AT\_macro\_info&0x43&\livelink{chap:macptr}{macptr}    \\
 DW\_AT\_namelist\_item&0x44&reference    \\
 DW\_AT\_priority&0x45&reference    \\
-DW\_AT\_segment&0x46&exprloc, loclistptr    \\
+DW\_AT\_segment&0x46&\livelink{chap:exprloc}{exprloc}, \livelink{chap:loclistptr}{loclistptr}    \\
 DW\_AT\_specification&0x47&reference    \\
-DW\_AT\_static\_link&0x48&exprloc, loclistptr    \\
+DW\_AT\_static\_link&0x48&\livelink{chap:exprloc}{exprloc}, \livelink{chap:loclistptr}{loclistptr}    \\
 DW\_AT\_type&0x49&reference    \\
-DW\_AT\_use\_location&0x4a&exprloc, loclistptr    \\
+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&exprloc, loclistptr    \\
+DW\_AT\_vtable\_elem\_location&0x4d&\livelink{chap:exprloc}{exprloc}, \livelink{chap:loclistptr}{loclistptr}    \\
 
 
-DW\_AT\_allocated&0x4e&constant, exprloc, reference     \\
-DW\_AT\_associated&0x4f&constant, exprloc, reference     \\
-DW\_AT\_data\_location&0x50&exprloc     \\
-DW\_AT\_byte\_stride&0x51&constant, exprloc, reference     \\
+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&rangelistptr     \\
+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     \\
@@ -961,8 +962,8 @@ DW\_FORM\_ref4&0x13&reference         \\
 DW\_FORM\_ref8&0x14&reference \\
 DW\_FORM\_ref\_udata&0x15&reference  \\
 DW\_FORM\_indirect&0x16&(see Section \refersec{datarep:abbreviationstables}) \\
-DW\_FORM\_sec\_offset \ddag &0x17&lineptr, loclistptr, macptr, rangelistptr \\
-DW\_FORM\_exprloc \ddag &0x18&exprloc \\
+DW\_FORM\_sec\_offset \ddag &0x17&\livelink{chap:lineptr}{lineptr}, \livelink{chap:loclistptr}{loclistptr}, \livelink{chap:macptr}{macptr}, \livelink{chap:rangelistptr}{rangelistptr} \\
+DW\_FORM\_exprloc \ddag &0x18&\livelink{chap:exprloc}{exprloc} \\
 DW\_FORM\_flag\_present \ddag &0x19&flag \\
 DW\_FORM\_ref\_sig8 \ddag &0x20&reference \\
  
@@ -1422,7 +1423,7 @@ 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
-DW\_TAG\_subrange\_type debugging information entry for each
+\livelink{chap:DWTAGsubrangetype}{DW\_TAG\_subrange\_type} debugging information entry for each
 defined language.
 
 \begin{centering}
@@ -2107,28 +2108,28 @@ DW\_FORM\_flag,
 DW\_FORM\_string,
 and DW\_FORM\_block.
 
-\item If the tag in Step 3 is one of DW\-\_TAG\-\_pointer\-\_type,
-DW\-\_TAG\-\_reference\-\_type
-DW\-\_TAG\-\_rvalue\-\_reference\-\_type,
-DW\-\_TAG\-\_ptr\-\_to\-\_member\-\_type
-or DW\-\_TAG\-\_friend, and the referenced
+\item If the tag in Step 3 is one of \livelink{chap:DWTAGpointertype}{DW\-\_TAG\-\_pointer\-\_type},
+\livelink{chap:DWTAGreferencetype}{DW\-\_TAG\-\_reference\-\_type}
+\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
 the type (according to the method in Step 2), the letter 'E',
-and the name of the type. For DW\-\_TAG\-\_friend, if the referenced
-entry is a DW\-\_TAG\-\_subprogram, the context is omitted and the
+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
 name to be used is the ABI-specific name of the subprogram
 (e.g., the mangled linker name).
 
 
-\item 6.If the tag in Step 3 is not one of DW\-\_TAG\-\_pointer\-\_type,
-DW\-\_TAG\-\_reference\-\_type
-DW\-\_TAG\-\_rvalue\-\_reference\-\_type,
-DW\-\_TAG\-\_ptr\-\_to\-\_member\-\_type, or 
-DW\-\_TAG\-\_friend, but has
+\item 6.If the tag in Step 3 is not one of \livelink{chap:DWTAGpointertype}{DW\-\_TAG\-\_pointer\-\_type},
+\livelink{chap:DWTAGreferencetype}{DW\-\_TAG\-\_reference\-\_type}
+\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