refclassfixup.py fixes up some class references.
authorDavid Anderson <davea42@earthlink.net>
Tue, 29 May 2012 20:36:03 +0000 (13:36 -0700)
committerDavid Anderson <davea42@earthlink.net>
Tue, 29 May 2012 20:36:03 +0000 (13:36 -0700)
The places changed to add the live links are in
dataobject.tex datarepresentation.tex debugsectionrelationships.tex
generaldescription.tex  using refclassfixup.py to effect the
source changes.  Note that using label and hyperref
in the live* commands defined in dwarf5.tex result in
incorrect links in the pdf (not clear why) so we use
hyperlink and hypertarget instead for now.

dwarf5/latexdoc/dataobject.tex
dwarf5/latexdoc/datarepresentation.tex
dwarf5/latexdoc/debugsectionrelationships.tex
dwarf5/latexdoc/dwarf5.tex
dwarf5/latexdoc/generaldescription.tex
dwarf5/tools/refclassfixup.py

index 7d5bd2d..6abb803 100644 (file)
@@ -132,7 +132,7 @@ for the object from the beginning of the first range list entry
 that is not a base selection entry or an end of list entry.
 
 \item Otherwise, the scope of the object is specified using
 that is not a base selection entry or an end of list entry.
 
 \item Otherwise, the scope of the object is specified using
-a value of class rangelistptr. This value indicates the
+a value of class \livelink{chap:rangelistptr}{rangelistptr}. This value indicates the
 beginning of a range list (see Section 2.17.3).
 \end{enumerate}
 
 beginning of a range list (see Section 2.17.3).
 \end{enumerate}
 
index 9a2aa99..c458c5b 100644 (file)
@@ -467,14 +467,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,
 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
 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.}
 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 +546,7 @@ unsigned integers respectively, rather than
 DW\_FORM\_data\textless n \textgreater.}
 
 
 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
 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 +564,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.
 
 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
 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 +577,7 @@ in the 64\dash bit DWARF format, it is an 8\dash byte unsigned value
 (see Section \refersec{datarep:32bitand64bitdwarfformats}).
 
 
 (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
 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 +590,7 @@ in the 64\dash bit DWARF format, it is an 8\dash byte unsigned value
 (see Section \refersec{datarep:32bitand64bitdwarfformats}).
 
 
 (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
 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 +602,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}).
 
 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
 This is an offset into the .debug\_ranges section
 (DW\_FORM\_sec\_offset). 
 It consists of an
@@ -617,7 +617,7 @@ format, it is an 8\dash byte unsigned value (see Section
 \refersec{datarep:32bitand64bitdwarfformats}).
 \end{itemize}
 
 \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}
 
 share a common representation, it is not possible for an
 attribute to allow more than one of these classes}
 
@@ -713,8 +713,8 @@ not. However, the UTF\dash 8 representation is strongly recommended.
 
 \end{itemize}
 
 
 \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 
 .debug\_info or .debug\_str section.
 
 The form encodings are listed in 
@@ -825,13 +825,13 @@ DW\_CHILDREN\_yes&0x01 \\ \hline
   \hline
 \endlastfoot
 DW\_AT\_sibling&0x01&reference \\
   \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\_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   \\
 DW\_AT\_low\_pc&0x11&address   \\
 DW\_AT\_high\_pc&0x12&address, constant   \\
 DW\_AT\_language&0x13&constant   \\
@@ -839,7 +839,7 @@ DW\_AT\_discr&0x15&reference   \\
 DW\_AT\_discr\_value&0x16&constant   \\
 DW\_AT\_visibility&0x17&constant   \\
 DW\_AT\_import&0x18&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   \\
 DW\_AT\_common\_reference&0x1a&reference   \\
 DW\_AT\_comp\_dir&0x1b&string   \\
 DW\_AT\_const\_value&0x1c&block, constant, string   \\
@@ -847,22 +847,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\_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\_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
 % 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\_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     \\
 DW\_AT\_decl\_column&0x39&constant     \\
 DW\_AT\_decl\_file&0x3a&constant     \\
 DW\_AT\_decl\_line&0x3b&constant     \\
@@ -870,30 +870,30 @@ DW\_AT\_declaration&0x3c&flag     \\
 DW\_AT\_discr\_list&0x3d&block     \\
 DW\_AT\_encoding&0x3e&constant     \\
 DW\_AT\_external&0x3f&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\_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\_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\_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\_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\_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\_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     \\
 DW\_AT\_trampoline&0x56&address, flag, reference, string     \\
 DW\_AT\_call\_column&0x57&constant     \\
 DW\_AT\_call\_file&0x58&constant     \\
@@ -961,8 +961,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\_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 \\
  
 DW\_FORM\_flag\_present \ddag &0x19&flag \\
 DW\_FORM\_ref\_sig8 \ddag &0x20&reference \\
  
index 3f5bb41..d69951c 100644 (file)
@@ -102,24 +102,24 @@ The operand of the DW\_OP\_call\_ref DWARF expression operator is the
 offset of a debugging information entry in the .debug\_info section.
 
 \item .debug\_info \\
 offset of a debugging information entry in the .debug\_info section.
 
 \item .debug\_info \\
-An attribute value of class loclistptr (specifically form
+An attribute value of class \livelink{chap:loclistptr}{loclistptr} (specifically form
 DW\_FORM\_sec\_offset) is an offset within the .debug\_loc section of a
 location list.
 
 \item .debug\_info \\
 DW\_FORM\_sec\_offset) is an offset within the .debug\_loc section of a
 location list.
 
 \item .debug\_info \\
-An attribute value of class rangelistptr (specifically form
+An attribute value of class \livelink{chap:rangelistptr}{rangelistptr} (specifically form
 DW\_FORM\_sec\_offset) is an offset within the .debug\_ranges section of
 a range list.
 
 
 \item .debug\_info \\
 DW\_FORM\_sec\_offset) is an offset within the .debug\_ranges section of
 a range list.
 
 
 \item .debug\_info \\
-An attribute value of class macptr (specifically form
+An attribute value of class \livelink{chap:macptr}{macptr} (specifically form
 DW\_FORM\_sec\_offset) is an offset within the .debug\_macinfo section
 of the beginning of the macro information for the referencing unit.
 
 
 \item .debug\_info \\
 DW\_FORM\_sec\_offset) is an offset within the .debug\_macinfo section
 of the beginning of the macro information for the referencing unit.
 
 
 \item .debug\_info \\
-An attribute value of class lineptr (specifically form
+An attribute value of class \livelink{chap:lineptr}{lineptr} (specifically form
 DW\_FORM\_sec\_offset) is an offset in the .debug\_line section of the
 beginning of the line number information for the referencing unit.
 \end{enumerate}
 DW\_FORM\_sec\_offset) is an offset in the .debug\_line section of the
 beginning of the line number information for the referencing unit.
 \end{enumerate}
index 765332d..bc3f70b 100644 (file)
@@ -43,7 +43,7 @@ escapeinside={\%*}{*)}  % if you want to add a comment within your code
 \usepackage[plainpages=false,pdfpagelabels,pagebackref]{hyperref}  % Lets us generate colored active links inside a pdf.
 \makeindex  % This and the makeidx package allow \index to create index entries.
 
 \usepackage[plainpages=false,pdfpagelabels,pagebackref]{hyperref}  % Lets us generate colored active links inside a pdf.
 \makeindex  % This and the makeidx package allow \index to create index entries.
 
-\newcommand{\docdate}{13 May 2012}
+\newcommand{\docdate}{29 May 2012}
 
 \newcommand{\dwf}{DWARF Debugging Information Format}
 \newenvironment{myindentpara}[1]%
 
 \newcommand{\dwf}{DWARF Debugging Information Format}
 \newenvironment{myindentpara}[1]%
@@ -68,11 +68,11 @@ escapeinside={\%*}{*)}  % if you want to add a comment within your code
 
 % Generate a live link in the document
 % use like \livelink{chap:DWOPdup}{DW\_OP\_dup}
 
 % Generate a live link in the document
 % use like \livelink{chap:DWOPdup}{DW\_OP\_dup}
-\newcommand{\livelink}[2]{ \hyperref[#1]{#2}\index{#2} }
+\newcommand{\livelink}[2]{\hyperlink{#1}{#2}\index{#2} }
 % livetarg is the declaration this is the target of livelinks.
 % livetarg is the declaration this is the target of livelinks.
-\newcommand{\livetarg}[2]{\label{#1}#2\index{#2}}
+\newcommand{\livetarg}[2]{\hypertarget{#1}{#2}\index{#2}}
 % When we want the index entry to look different from the name.
 % When we want the index entry to look different from the name.
-\newcommand{\livetargi}[3]{\label{#1}#2\index{#3}}
+\newcommand{\livetargi}[3]{\hypertarget{#1}{#2}\index{#3}}
 
 \newcommand{\dash}{\nobreakdash-\hspace{0pt}}  % So we handle dashes ok.
 
 
 \newcommand{\dash}{\nobreakdash-\hspace{0pt}}  % So we handle dashes ok.
 
index e07b8c7..5eced84 100644 (file)
@@ -1007,9 +1007,8 @@ described below.
 The two forms are distinguished in a context sensitive
 manner. As the value of an attribute, a location description
 is encoded using class \livelink{chap:exprloc}{exprloc}  
 The two forms are distinguished in a context sensitive
 manner. As the value of an attribute, a location description
 is encoded using class \livelink{chap:exprloc}{exprloc}  
-FIXME HYPERREF WRONG
 and a location list is encoded
 and a location list is encoded
-using class loclistptr (which serves as an offset into a
+using class \livelink{chap:loclistptr}{loclistptr} (which serves as an offset into a
 separate location list table).
 
 
 separate location list table).
 
 
@@ -1668,10 +1667,10 @@ 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
 \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 rangelistptr
+a 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
 and indicates the beginning of a range list. Similarly,
 a DW\_AT\_start\_scope attribute may have a value of class
-rangelistptr for the same reason.  
+\livelink{chap:rangelistptr}{rangelistptr} for the same reason.  
 
 Range lists are contained
 in a separate object file section called .debug\_ranges. A
 
 Range lists are contained
 in a separate object file section called .debug\_ranges. A
@@ -1768,14 +1767,15 @@ computed dynamically during execution.  The value of these
 attributes is determined based on the class as follows:
 
 \begin{itemize}
 attributes is determined based on the class as follows:
 
 \begin{itemize}
-\item For a constant FIXME HYPERRREF, the value of the constant is the value of
+\item For a \livelink{chap:constant}{constant}, the value of the constant is the value of
 the attribute.
 
 the attribute.
 
-\item For a reference FIXME HYPERRREF, the value is a reference to another
+\item For a \livelink{chap:reference}{reference}, the
+value is a reference to another
 entity which specifies the value of the attribute.
 
 entity which specifies the value of the attribute.
 
-\item For an exprloc, the value is interpreted as a 
-DWARF expression FIXME HYPERREF
+\item For an \livelink{chap:exprloc}{exprloc}, the value is interpreted as a 
+DWARF expression; 
 evaluation of the expression yields the value of
 the attribute.
 \end{itemize}
 evaluation of the expression yields the value of
 the attribute.
 \end{itemize}
index d8bccee..e8913b4 100644 (file)
@@ -7,17 +7,17 @@ import sys
 import fileio
 
 refclass = { 
 import fileio
 
 refclass = { 
-"address":"chap:address", 
-"block":"chap:block", 
-"constant":"chap:constant", 
+#"address":"chap:address", 
+#"block":"chap:block", 
+#"constant":"chap:constant", 
 "exprloc":"chap:exprloc", 
 "exprloc":"chap:exprloc", 
-"flag":"chap:flag",
+#"flag":"chap:flag",
 "lineptr":"chap:lineptr",
 "loclistptr":"chap:loclistptr",
 "macptr":"chap:macptr",
 "lineptr":"chap:lineptr",
 "loclistptr":"chap:loclistptr",
 "macptr":"chap:macptr",
-"rangelistptr":"chap:rangelistptr",
-"reference":"chap:reference",
-"string":"chap:string" }
+"rangelistptr":"chap:rangelistptr" }
+#"reference":"chap:reference",
+#"string":"chap:string" }
 
 def ischar(tok,c):
    if tok._class != "ind":
 
 def ischar(tok,c):
    if tok._class != "ind":
@@ -64,7 +64,7 @@ def transfunc(linetoks):
          changes = changes +  1
          append_to_out(outtoks,tmp)
       else:
          changes = changes +  1
          append_to_out(outtoks,tmp)
       else:
-        if  ischar(linetoks[tnumin - 1],"{") != "y" or ischar(linetoks[tnumin+1],"}") != "y":
+        if  ischar(linetoks[tnumin - 1],"{") == "n" and ischar(linetoks[tnumin+1],"}") == "n":
           tmp = transformone(t, rawtok);
           append_to_out(outtoks,tmp)
           changes = changes +  1
           tmp = transformone(t, rawtok);
           append_to_out(outtoks,tmp)
           changes = changes +  1