Misc corrections Chpt 6 thru App A
authorRon Brender <ron.brender@gmail.com>
Thu, 20 Dec 2012 04:07:09 +0000 (23:07 -0500)
committerRon Brender <ron.brender@gmail.com>
Thu, 20 Dec 2012 04:07:09 +0000 (23:07 -0500)
dwarf5/latexdoc/attributesbytag.tex
dwarf5/latexdoc/datarepresentation.tex
dwarf5/latexdoc/dwarf5.tex
dwarf5/latexdoc/examples.tex
dwarf5/latexdoc/otherdebugginginformation.tex

index 9fb85e4..63d3d79 100644 (file)
@@ -16,11 +16,9 @@ cannot be considered definitive.
 
 In the following table,
 \addtoindex{DECL} 
-means 
+means includes all three of the
 \addtoindex{declaration coordinates} 
-the 
-\addtoindex{declaration coordinates|see {DW\_AT\_decl\_file,DW\_AT\_decl\_line, DW\_AT\_decl\_column}}
-declaration coordinates 
+\addtoindexx{declaration coordinates|see {DW\_AT\_decl\_file,DW\_AT\_decl\_line, DW\_AT\_decl\_column}}
 \livelink{chap:DWATdeclcolumn}{DW\-\_AT\-\_decl\-\_column},
 \livelink{chap:DWATdeclfile}{DW\-\_AT\-\_decl\-\_file}, and 
 \livelink{chap:DWATdeclline}{DW\-\_AT\-\_decl\-\_line}.
@@ -30,7 +28,7 @@ declaration coordinates
 \setlength{\extrarowheight}{0.1cm}
 \begin{longtable}{l|p{8cm}}
   \caption{Attributes by tag value} \\
-  \hline \\ \bfseries TAG Name&\bfseries Applicable Attributes\\ \hline
+  \hline \bfseries TAG Name&\bfseries Applicable Attributes\\ \hline
 \endfirsthead
   \bfseries TAG name&\bfseries Applicable Attributes \\ \hline
 \endhead
@@ -45,6 +43,7 @@ declaration coordinates
 &\livelink{chap:DWATname}{DW\-\_AT\-\_name} \\
 &\livelink{chap:DWATsibling}{DW\-\_AT\-\_sibling} \\
 
+\hline
 \livelink{chap:DWTAGarraytype}{DW\-\_TAG\-\_array\-\_type}
 &DECL \\
 &\livelink{chap:DWATabstractorigin}{DW\-\_AT\-\_abstract\-\_origin} \\
@@ -65,6 +64,7 @@ declaration coordinates
 &\livelink{chap:DWATtype}{DW\-\_AT\-\_type} \\
 &\livelink{chap:DWATvisibility}{DW\-\_AT\-\_visibility} \\
 
+\hline
 \livelink{chap:DWTAGbasetype}{DW\-\_TAG\-\_base\-\_type}
 &DECL \\
 &\livelink{chap:DWATallocated}{DW\-\_AT\-\_allocated} \\
@@ -86,7 +86,7 @@ declaration coordinates
 &\livelink{chap:DWATsibling}{DW\-\_AT\-\_sibling} \\
 &\livelink{chap:DWATsmall}{DW\-\_AT\-\_small} \\
 
+\hline
 \livelink{chap:DWTAGcatchblock}{DW\-\_TAG\-\_catch\-\_block}
 &DECL \\
 &\livelink{chap:DWATabstractorigin}{DW\-\_AT\-\_abstract\-\_origin} \\
@@ -96,8 +96,8 @@ declaration coordinates
 &\livelink{chap:DWATsegment}{DW\-\_AT\-\_segment} \\
 &\livelink{chap:DWATsibling}{DW\-\_AT\-\_sibling} \\
 
+\hline
 \livelink{chap:DWTAGclasstype}{DW\-\_TAG\-\_class\-\_type}
-
 &DECL \\
 &\livelink{chap:DWATabstractorigin}{DW\-\_AT\-\_abstract\-\_origin} \\
 &\livelink{chap:DWATaccessibility}{DW\-\_AT\-\_accessibility} \\
@@ -115,7 +115,7 @@ declaration coordinates
 &\livelink{chap:DWATstartscope}{DW\-\_AT\-\_start\-\_scope} \\
 &\livelink{chap:DWATvisibility}{DW\-\_AT\-\_visibility} \\
 
-
+\hline
 \livelink{chap:DWTAGcommonblock}{DW\-\_TAG\-\_common\-\_block}
 &DECL \\
 &\livelink{chap:DWATdeclaration}{DW\-\_AT\-\_declaration} \\
@@ -127,6 +127,7 @@ declaration coordinates
 &\livelink{chap:DWATsibling}{DW\-\_AT\-\_sibling} \\
 &\livelink{chap:DWATvisibility}{DW\-\_AT\-\_visibility} \\
 
+\hline
 \livelink{chap:DWTAGcommoninclusion}{DW\-\_TAG\-\_common\-\_inclusion}
 &DECL \\
 &\livelink{chap:DWATcommonreference}{DW\-\_AT\-\_common\-\_reference} \\
@@ -134,7 +135,7 @@ declaration coordinates
 &\livelink{chap:DWATsibling}{DW\-\_AT\-\_sibling} \\
 &\livelink{chap:DWATvisibility}{DW\-\_AT\-\_visibility} \\
 
-
+\hline
 \livelink{chap:DWTAGcompileunit}{DW\-\_TAG\-\_compile\-\_unit}
 &\livelink{chap:DWATbasetypes}{DW\-\_AT\-\_base\-\_types} \\
 &\livelink{chap:DWATcompdir}{DW\-\_AT\-\_comp\-\_dir} \\
@@ -151,11 +152,13 @@ declaration coordinates
 &\livelink{chap:DWATstmtlist}{DW\-\_AT\-\_stmt\-\_list} \\
 &\livelink{chap:DWATuseUTF8}{DW\-\_AT\-\_use\-\_UTF8} \\
 
+\hline
 \livelink{chap:DWTAGcondition}{DW\-\_TAG\-\_condition}
 &DECL \\
 &\livelink{chap:DWATname}{DW\-\_AT\-\_name} \\
 &\livelink{chap:DWATsibling}{DW\-\_AT\-\_sibling} \\
 
+\hline
 \livelink{chap:DWTAGconsttype}{DW\-\_TAG\-\_const\-\_type}
 &\livelink{chap:DWATallocated}{DW\-\_AT\-\_allocated} \\
 &\livelink{chap:DWATassociated}{DW\-\_AT\-\_associated} \\
@@ -164,6 +167,7 @@ declaration coordinates
 &\livelink{chap:DWATsibling}{DW\-\_AT\-\_sibling} \\
 &\livelink{chap:DWATtype}{DW\-\_AT\-\_type} \\
 
+\hline
 \livelink{chap:DWTAGconstant}{DW\-\_TAG\-\_constant}
 &DECL \\
 &\livelink{chap:DWATaccessibility}{DW\-\_AT\-\_accessibility} \\
@@ -179,9 +183,11 @@ declaration coordinates
 &\livelink{chap:DWATtype}{DW\-\_AT\-\_type} \\
 &\livelink{chap:DWATvisibility}{DW\-\_AT\-\_visibility} \\
 
+\hline
 \livelink{chap:DWTAGdwarfprocedure}{DW\-\_TAG\-\_dwarf\-\_procedure}
 &\livelink{chap:DWATlocation}{DW\-\_AT\-\_location} \\
 
+\hline
 \livelink{chap:DWTAGentrypoint}{DW\-\_TAG\-\_entry\-\_point}
 &DECL \\
 &\livelink{chap:DWATaddressclass}{DW\-\_AT\-\_address\-\_class} \\
@@ -196,9 +202,9 @@ declaration coordinates
 &\livelink{chap:DWATstaticlink}{DW\-\_AT\-\_static\-\_link} \\
 &\livelink{chap:DWATtype}{DW\-\_AT\-\_type} \\
 
-
+\hline
 \livelink{chap:DWTAGenumerationtype}{DW\-\_TAG\-\_enumeration\-\_type}
-DECL \\
+&DECL \\
 &\livelink{chap:DWATabstractorigin}{DW\-\_AT\-\_abstract\-\_origin} \\
 &\livelink{chap:DWATaccessibility}{DW\-\_AT\-\_accessibility} \\
 &\livelink{chap:DWATallocated}{DW\-\_AT\-\_allocated} \\
@@ -219,6 +225,7 @@ DECL \\
 &\livelink{chap:DWATtype}{DW\-\_AT\-\_type} \\
 &\livelink{chap:DWATvisibility}{DW\-\_AT\-\_visibility} \\
 
+\hline
 \livelink{chap:DWTAGenumerator}{DW\-\_TAG\-\_enumerator}
 &DECL \\
 &\livelink{chap:DWATconstvalue}{DW\-\_AT\-\_const\-\_value} \\
@@ -226,6 +233,7 @@ DECL \\
 &\livelink{chap:DWATname}{DW\-\_AT\-\_name} \\
 &\livelink{chap:DWATsibling}{DW\-\_AT\-\_sibling} \\
 
+\hline
 \livelink{chap:DWTAGfiletype}{DW\-\_TAG\-\_file\-\_type}
 &DECL \\
 &\livelink{chap:DWATabstractorigin}{DW\-\_AT\-\_abstract\-\_origin} \\
@@ -241,6 +249,7 @@ DECL \\
 &\livelink{chap:DWATtype}{DW\-\_AT\-\_type} \\
 &\livelink{chap:DWATvisibility}{DW\-\_AT\-\_visibility} \\
 
+\hline
 \livelink{chap:DWTAGformalparameter}{DW\-\_TAG\-\_formal\-\_parameter}
 &DECL \\
 &\livelink{chap:DWATabstractorigin}{DW\-\_AT\-\_abstract\-\_origin} \\
@@ -257,12 +266,14 @@ DECL \\
 &\livelink{chap:DWATtype}{DW\-\_AT\-\_type} \\
 &\livelink{chap:DWATvariableparameter}{DW\-\_AT\-\_variable\-\_parameter} \\
 
+\hline
 \livelink{chap:DWTAGfriend}{DW\-\_TAG\-\_friend}
 &DECL \\
 &\livelink{chap:DWATabstractorigin}{DW\-\_AT\-\_abstract\-\_origin} \\
 &\livelink{chap:DWATfriend}{DW\-\_AT\-\_friend} \\
 &\livelink{chap:DWATsibling}{DW\-\_AT\-\_sibling} \\
 
+\hline
 \livelink{chap:DWTAGimporteddeclaration}{DW\-\_TAG\-\_imported\-\_declaration}
 &DECL \\
 &\livelink{chap:DWATaccessibility}{DW\-\_AT\-\_accessibility} \\
@@ -272,15 +283,18 @@ DECL \\
 &\livelink{chap:DWATsibling}{DW\-\_AT\-\_sibling} \\
 &\livelink{chap:DWATstartscope}{DW\-\_AT\-\_start\-\_scope} \\
 
+\hline
 \livelink{chap:DWTAGimportedmodule}{DW\-\_TAG\-\_imported\-\_module}
 &DECL \\
 &\livelink{chap:DWATimport}{DW\-\_AT\-\_import} \\
 &\livelink{chap:DWATsibling}{DW\-\_AT\-\_sibling} \\
 &\livelink{chap:DWATstartscope}{DW\-\_AT\-\_start\-\_scope} \\
 
+\hline
 \livelink{chap:DWTAGimportedunit}{DW\-\_TAG\-\_imported\-\_unit}
 &\livelink{chap:DWATimport}{DW\-\_AT\-\_import} \\
 
+\hline
 \livelink{chap:DWTAGinheritance}{DW\-\_TAG\-\_inheritance}
 &DECL \\
 &\livelink{chap:DWATaccessibility}{DW\-\_AT\-\_accessibility} \\
@@ -289,6 +303,7 @@ DECL \\
 &\livelink{chap:DWATtype}{DW\-\_AT\-\_type} \\
 &\livelink{chap:DWATvirtuality}{DW\-\_AT\-\_virtuality} \\
 
+\hline
 \livelink{chap:DWTAGinlinedsubroutine}{DW\-\_TAG\-\_inlined\-\_subroutine}
 &\livelink{chap:DWATabstractorigin}{DW\-\_AT\-\_abstract\-\_origin} \\
 &\livelink{chap:DWATcallcolumn}{DW\-\_AT\-\_call\-\_column} \\
@@ -305,6 +320,7 @@ DECL \\
 &\livelink{chap:DWATstartscope}{DW\-\_AT\-\_start\-\_scope} \\
 &\livelink{chap:DWATtrampoline}{DW\-\_AT\-\_trampoline} \\
 
+\hline
 \livelink{chap:DWTAGinterfacetype}{DW\-\_TAG\-\_interface\-\_type}
 &DECL \\
 &\livelink{chap:DWATaccessibility}{DW\-\_AT\-\_accessibility} \\
@@ -313,6 +329,7 @@ DECL \\
 &\livelink{chap:DWATsibling}{DW\-\_AT\-\_sibling} \\
 &\livelink{chap:DWATstartscope}{DW\-\_AT\-\_start\-\_scope} \\
 
+\hline
 \livelink{chap:DWTAGlabel}{DW\-\_TAG\-\_label}
 &DECL \\
 &\livelink{chap:DWATabstractorigin}{DW\-\_AT\-\_abstract\-\_origin} \\
@@ -323,6 +340,7 @@ DECL \\
 &\livelink{chap:DWATstartscope}{DW\-\_AT\-\_start\-\_scope} \\
 &\livelink{chap:DWATsibling}{DW\-\_AT\-\_sibling} \\
 
+\hline
 \livelink{chap:DWTAGlexicalblock}{DW\-\_TAG\-\_lexical\-\_block}
 &DECL \\
 &\livelink{chap:DWATabstractorigin}{DW\-\_AT\-\_abstract\-\_origin} \\
@@ -334,6 +352,7 @@ DECL \\
 &\livelink{chap:DWATsegment}{DW\-\_AT\-\_segment} \\
 &\livelink{chap:DWATsibling}{DW\-\_AT\-\_sibling} \\
 
+\hline
 \livelink{chap:DWTAGmember}{DW\-\_TAG\-\_member}
 &DECL \\
 &\livelink{chap:DWATaccessibility}{DW\-\_AT\-\_accessibility} \\
@@ -350,7 +369,7 @@ DECL \\
 &\livelink{chap:DWATtype}{DW\-\_AT\-\_type} \\
 &\livelink{chap:DWATvisibility}{DW\-\_AT\-\_visibility} \\
 
-
+\hline
 \livelink{chap:DWTAGmodule}{DW\-\_TAG\-\_module}
 &DECL \\
 &\livelink{chap:DWATaccessibility}{DW\-\_AT\-\_accessibility} \\
@@ -367,6 +386,7 @@ DECL \\
 &\livelink{chap:DWATspecification}{DW\-\_AT\-\_specification} \\
 &\livelink{chap:DWATvisibility}{DW\-\_AT\-\_visibility} \\
 
+\hline
 \livelink{chap:DWTAGnamelist}{DW\-\_TAG\-\_namelist}
 &DECL \\
 &\livelink{chap:DWATabstractorigin}{DW\-\_AT\-\_abstract\-\_origin} \\
@@ -376,11 +396,13 @@ DECL \\
 &\livelink{chap:DWATsibling}{DW\-\_AT\-\_sibling} \\
 &\livelink{chap:DWATvisibility}{DW\-\_AT\-\_visibility} \\
 
+\hline
 \livelink{chap:DWTAGnamelistitem}{DW\-\_TAG\-\_namelist\-\_item}
 &DECL \\
 &\livelink{chap:DWATnamelistitem}{DW\-\_AT\-\_namelist\-\_item} \\
 &\livelink{chap:DWATsibling}{DW\-\_AT\-\_sibling} \\
 
+\hline
 \livelink{chap:DWTAGnamespace}{DW\-\_TAG\-\_namespace}
 &DECL \\
 &\livelink{chap:DWATdescription}{DW\-\_AT\-\_description} \\
@@ -389,6 +411,7 @@ DECL \\
 &\livelink{chap:DWATsibling}{DW\-\_AT\-\_sibling} \\
 &\livelink{chap:DWATstartscope}{DW\-\_AT\-\_start\-\_scope} \\
 
+\hline
 \livelink{chap:DWTAGpackedtype}{DW\-\_TAG\-\_packed\-\_type}
 &\livelink{chap:DWATallocated}{DW\-\_AT\-\_allocated} \\
 &\livelink{chap:DWATassociated}{DW\-\_AT\-\_associated} \\
@@ -397,6 +420,7 @@ DECL \\
 &\livelink{chap:DWATsibling}{DW\-\_AT\-\_sibling} \\
 &\livelink{chap:DWATtype}{DW\-\_AT\-\_type} \\
 
+\hline
 \livelink{chap:DWTAGpartialunit}{DW\-\_TAG\-\_partial\-\_unit}
 &\livelink{chap:DWATbasetypes}{DW\-\_AT\-\_base\-\_types}  \\  
 &\livelink{chap:DWATcompdir}{DW\-\_AT\-\_comp\-\_dir}  \\
@@ -414,7 +438,7 @@ DECL \\
 &\livelink{chap:DWATstmtlist}{DW\-\_AT\-\_stmt\-\_list}  \\
 &\livelink{chap:DWATuseUTF8}{DW\-\_AT\-\_use\-\_UTF8}  \\
 
-
+\hline
 \livelink{chap:DWTAGpointertype}{DW\-\_TAG\-\_pointer\-\_type}  \\
 &\livelink{chap:DWATaddressclass}{DW\-\_AT\-\_address\-\_class}  \\
 &\livelink{chap:DWATallocated}{DW\-\_AT\-\_allocated}  \\
@@ -424,6 +448,7 @@ DECL \\
 &\livelink{chap:DWATsibling}{DW\-\_AT\-\_sibling}  \\
 &\livelink{chap:DWATtype}{DW\-\_AT\-\_type}  \\
 
+\hline
 \livelink{chap:DWTAGptrtomembertype}{DW\-\_TAG\-\_ptr\-\_to\-\_member\-\_type}
 &DECL  \\
 &\livelink{chap:DWATabstractorigin}{DW\-\_AT\-\_abstract\-\_origin}  \\
@@ -440,7 +465,7 @@ DECL \\
 &\livelink{chap:DWATuselocation}{DW\-\_AT\-\_use\-\_location}  \\
 &\livelink{chap:DWATvisibility}{DW\-\_AT\-\_visibility}  \\
 
-
+\hline
 \livelink{chap:DWTAGreferencetype}{DW\-\_TAG\-\_reference\-\_type}
 &\livelink{chap:DWATaddressclass}{DW\-\_AT\-\_address\-\_class}  \\
 &\livelink{chap:DWATallocated}{DW\-\_AT\-\_allocated}  \\
@@ -450,6 +475,7 @@ DECL \\
 &\livelink{chap:DWATsibling}{DW\-\_AT\-\_sibling}  \\
 &\livelink{chap:DWATtype}{DW\-\_AT\-\_type}  \\
 
+\hline
 \livelink{chap:DWTAGrestricttype}{DW\-\_TAG\-\_restrict\-\_type}
 &\livelink{chap:DWATallocated}{DW\-\_AT\-\_allocated}  \\
 &\livelink{chap:DWATassociated}{DW\-\_AT\-\_associated}  \\
@@ -458,6 +484,7 @@ DECL \\
 &\livelink{chap:DWATsibling}{DW\-\_AT\-\_sibling}  \\
 &\livelink{chap:DWATtype}{DW\-\_AT\-\_type}  \\
 
+\hline
 \livelink{chap:DWTAGrvaluereferencetype}{DW\-\_TAG\-\_rvalue\-\_reference\-\_type}
 &DECL  \\
 &\livelink{chap:DWATaddressclass}{DW\-\_AT\-\_address\-\_class}  \\
@@ -468,7 +495,7 @@ DECL \\
 &\livelink{chap:DWATsibling}{DW\-\_AT\-\_sibling}  \\
 &\livelink{chap:DWATtype}{DW\-\_AT\-\_type}  \\
 
-
+\hline
 \livelink{chap:DWTAGsettype}{DW\-\_TAG\-\_set\-\_type}
 &DECL  \\
 &\livelink{chap:DWATabstractorigin}{DW\-\_AT\-\_abstract\-\_origin}  \\
@@ -486,6 +513,7 @@ DECL \\
 &\livelink{chap:DWATtype}{DW\-\_AT\-\_type}  \\
 &\livelink{chap:DWATvisibility}{DW\-\_AT\-\_visibility}  \\
 
+\hline
 \livelink{chap:DWTAGsharedtype}{DW\-\_TAG\-\_shared\-\_type}
 &\livelink{chap:DWATallocated}{DW\-\_AT\-\_allocated}  \\
 &\livelink{chap:DWATassociated}{DW\-\_AT\-\_associated}  \\
@@ -495,7 +523,7 @@ DECL \\
 &\livelink{chap:DWATsibling}{DW\-\_AT\-\_sibling}  \\
 &\livelink{chap:DWATtype}{DW\-\_AT\-\_type}  \\
 
-
+\hline
 \livelink{chap:DWTAGstringtype}{DW\-\_TAG\-\_string\-\_type}
 &DECL  \\
 &\livelink{chap:DWATabstractorigin}{DW\-\_AT\-\_abstract\-\_origin}  \\
@@ -513,6 +541,7 @@ DECL \\
 &\livelink{chap:DWATstringlength}{DW\-\_AT\-\_string\-\_length}  \\
 &\livelink{chap:DWATvisibility}{DW\-\_AT\-\_visibility}  \\
 
+\hline
 \livelink{chap:DWTAGstructuretype}{DW\-\_TAG\-\_structure\-\_type}
 &DECL  \\
 &\livelink{chap:DWATabstractorigin}{DW\-\_AT\-\_abstract\-\_origin}  \\
@@ -531,6 +560,7 @@ DECL \\
 &\livelink{chap:DWATstartscope}{DW\-\_AT\-\_start\-\_scope}  \\
 &\livelink{chap:DWATvisibility}{DW\-\_AT\-\_visibility}  \\
 
+\hline
 \livelink{chap:DWTAGsubprogram}{DW\-\_TAG\-\_subprogram}
 &DECL  \\
 &\livelink{chap:DWATabstractorigin}{DW\-\_AT\-\_abstract\-\_origin}  \\
@@ -568,6 +598,7 @@ DECL \\
 &\livelink{chap:DWATvirtuality}{DW\-\_AT\-\_virtuality}  \\
 &\livelink{chap:DWATvtableelemlocation}{DW\-\_AT\-\_vtable\-\_elem\-\_location}  \\
 
+\hline
 \livelink{chap:DWTAGsubrangetype}{DW\-\_TAG\-\_subrange\-\_type}
 &DECL  \\
 &\livelink{chap:DWATabstractorigin}{DW\-\_AT\-\_abstract\-\_origin}  \\
@@ -590,6 +621,7 @@ DECL \\
 &\livelink{chap:DWATupperbound}{DW\-\_AT\-\_upper\-\_bound}  \\
 &\livelink{chap:DWATvisibility}{DW\-\_AT\-\_visibility}  \\
 
+\hline
 \livelink{chap:DWTAGsubroutinetype}{DW\-\_TAG\-\_subroutine\-\_type}
 &DECL  \\
 &\livelink{chap:DWATabstractorigin}{DW\-\_AT\-\_abstract\-\_origin}  \\
@@ -607,6 +639,7 @@ DECL \\
 &\livelink{chap:DWATtype}{DW\-\_AT\-\_type}  \\
 &\livelink{chap:DWATvisibility}{DW\-\_AT\-\_visibility}  \\
 
+\hline
 \livelink{chap:DWTAGtemplatealias}{DW\-\_TAG\-\_template\-\_alias}
 &DECL   \\
 &\livelink{chap:DWATabstractorigin}{DW\-\_AT\-\_abstract\-\_origin}   \\
@@ -623,6 +656,7 @@ DECL \\
 &\livelink{chap:DWATtype}{DW\-\_AT\-\_type}   \\
 &\livelink{chap:DWATvisibility}{DW\-\_AT\-\_visibility}   \\
 
+\hline
 \livelink{chap:DWTAGtemplatetypeparameter}{DW\-\_TAG\-\_template\-\_type\-\_parameter}
 &DECL   \\
 &\livelink{chap:DWATdescription}{DW\-\_AT\-\_description}   \\
@@ -630,6 +664,7 @@ DECL \\
 &\livelink{chap:DWATsibling}{DW\-\_AT\-\_sibling}   \\
 &\livelink{chap:DWATtype}{DW\-\_AT\-\_type}   \\
 
+\hline
 \livelink{chap:DWTAGtemplatevalueparameter}{DW\-\_TAG\-\_template\-\_value\-\_parameter} 
 &DECL   \\
 &\livelink{chap:DWATconstvalue}{DW\-\_AT\-\_const\-\_value}   \\
@@ -638,7 +673,7 @@ DECL \\
 &\livelink{chap:DWATsibling}{DW\-\_AT\-\_sibling}   \\
 &\livelink{chap:DWATtype}{DW\-\_AT\-\_type}   \\
 
-
+\hline
 \livelink{chap:DWTAGthrowntype}{DW\-\_TAG\-\_thrown\-\_type}
 &DECL   \\
 &\livelink{chap:DWATallocated}{DW\-\_AT\-\_allocated}   \\
@@ -647,6 +682,7 @@ DECL \\
 &\livelink{chap:DWATsibling}{DW\-\_AT\-\_sibling}   \\
 &\livelink{chap:DWATtype}{DW\-\_AT\-\_type}   \\
 
+\hline
 \livelink{chap:DWTAGtryblock}{DW\-\_TAG\-\_try\-\_block}
 &DECL   \\
 &\livelink{chap:DWATabstractorigin}{DW\-\_AT\-\_abstract\-\_origin}   \\
@@ -656,6 +692,7 @@ DECL \\
 &\livelink{chap:DWATsegment}{DW\-\_AT\-\_segment}   \\
 &\livelink{chap:DWATsibling}{DW\-\_AT\-\_sibling}   \\
 
+\hline
 \livelink{chap:DWTAGtypedef}{DW\-\_TAG\-\_typedef}
 &DECL   \\
 &\livelink{chap:DWATabstractorigin}{DW\-\_AT\-\_abstract\-\_origin}   \\
@@ -671,9 +708,11 @@ DECL \\
 &\livelink{chap:DWATtype}{DW\-\_AT\-\_type}   \\
 &\livelink{chap:DWATvisibility}{DW\-\_AT\-\_visibility}   \\
 
+\hline
 \livelink{chap:DWTAGtypeunit}{DW\-\_TAG\-\_type\-\_unit}
 &\livelink{chap:DWATlanguage}{DW\-\_AT\-\_language}   \\
 
+\hline
 \livelink{chap:DWTAGuniontype}{DW\-\_TAG\-\_union\-\_type}
 &DECL   \\
 &\livelink{chap:DWATabstractorigin}{DW\-\_AT\-\_abstract\-\_origin}   \\
@@ -692,19 +731,20 @@ DECL \\
 &\livelink{chap:DWATstartscope}{DW\-\_AT\-\_start\-\_scope}   \\
 &\livelink{chap:DWATvisibility}{DW\-\_AT\-\_visibility}   \\
 
-
+\hline
 \livelink{chap:DWTAGunspecifiedparameters}{DW\-\_TAG\-\_unspecified\-\_parameters}
 &DECL   \\
 &\livelink{chap:DWATabstractorigin}{DW\-\_AT\-\_abstract\-\_origin}   \\
 &\livelink{chap:DWATartificial}{DW\-\_AT\-\_artificial}   \\
 &\livelink{chap:DWATsibling}{DW\-\_AT\-\_sibling}   \\
 
+\hline
 \livelink{chap:DWTAGunspecifiedtype}{DW\-\_TAG\-\_unspecified\-\_type}
 &DECL   \\
 &\livelink{chap:DWATdescription}{DW\-\_AT\-\_description}   \\
 &\livelink{chap:DWATname}{DW\-\_AT\-\_name}    \\
 
-
+\hline
 \livelink{chap:DWTAGvariable}{DW\-\_TAG\-\_variable}
 &DECL    \\
 &\livelink{chap:DWATabstractorigin}{DW\-\_AT\-\_abstract\-\_origin}    \\
@@ -725,6 +765,7 @@ DECL \\
 &\livelink{chap:DWATtype}{DW\-\_AT\-\_type}    \\
 &\livelink{chap:DWATvisibility}{DW\-\_AT\-\_visibility}    \\
 
+\hline
 \livelink{chap:DWTAGvariant}{DW\-\_TAG\-\_variant}
 &DECL    \\
 &\livelink{chap:DWATaccessibility}{DW\-\_AT\-\_accessibility}   \\
@@ -734,6 +775,7 @@ DECL \\
 &\livelink{chap:DWATdiscrvalue}{DW\-\_AT\-\_discr\-\_value}   \\
 &\livelink{chap:DWATsibling}{DW\-\_AT\-\_sibling}   \\
 
+\hline
 \livelink{chap:DWTAGvariantpart}{DW\-\_TAG\-\_variant\-\_part}
 &DECL   \\
 &\livelink{chap:DWATabstractorigin}{DW\-\_AT\-\_abstract\-\_origin}   \\
@@ -743,6 +785,7 @@ DECL \\
 &\livelink{chap:DWATsibling}{DW\-\_AT\-\_sibling}   \\
 &\livelink{chap:DWATtype}{DW\-\_AT\-\_type}   \\
 
+\hline
 \livelink{chap:DWTAGvolatiletype}{DW\-\_TAG\-\_volatile\-\_type}  
 &\livelink{chap:DWATallocated}{DW\-\_AT\-\_allocated}   \\
 &\livelink{chap:DWATassociated}{DW\-\_AT\-\_associated}    \\
@@ -751,6 +794,7 @@ DECL \\
 &\livelink{chap:DWATsibling}{DW\-\_AT\-\_sibling}    \\
 &\livelink{chap:DWATtype}{DW\-\_AT\-\_type}    \\
 
+\hline
 \livelink{chap:DWTAGwithstmt}{DW\-\_TAG\-\_with\-\_stmt}
 &\livelink{chap:DWATaccessibility}{DW\-\_AT\-\_accessibility}    \\
 &\livelink{chap:DWATaddressclass}{DW\-\_AT\-\_address\-\_class}    \\
index fbc9ce8..3070974 100644 (file)
@@ -335,7 +335,7 @@ of the 4\dash byte value 0xffffffff followed by an 8\dash byte unsigned
 integer that gives the actual length 
 (see Section \refersec{datarep:32bitand64bitdwarfformats}).
 
-\item  version (\addtoindex(uhalf))
+\item  version (\addtoindex{uhalf})
 A 2\dash byte unsigned integer representing the version of the
 DWARF information for the compilation unit\addtoindexx{version number!compilation unit} 
 (see Appendix \refersec{app:dwarfsectionversionnumbersinformative}). 
@@ -389,7 +389,7 @@ consists of the 4\dash byte value 0xffffffff followed by an
 8\dash byte unsigned integer that gives the actual length
 (see Section \refersec{datarep:32bitand64bitdwarfformats}).
 
-\item  version (\addtoindex(uhalf))
+\item  version (\addtoindex{uhalf})
 A 2\dash byte unsigned integer representing the version of the
 DWARF information for the 
 compilation unit\addtoindexx{version number!type unit} 
@@ -505,8 +505,7 @@ encodings for the child determination byte are given in
 Table \refersec{tab:childdeterminationencodings}
 (As mentioned in 
 Section \refersec{chap:relationshipofdebugginginformationentries}, 
-each chain of
-sibling entries is terminated by a null entry.)
+each chain of sibling entries is terminated by a null entry.)
 
 Finally, the child encoding is followed by a series of
 attribute specifications. Each attribute specification
@@ -531,10 +530,10 @@ without having to add a new entry to the abbreviations table.
 The abbreviations for a given compilation unit end with an
 entry consisting of a 0 byte for the abbreviation code.
 
-See 
+\textit{See 
 Appendix \refersec{app:compilationunitsandabbreviationstableexample} 
 for a depiction of the organization of the
-debugging information.
+debugging information.}
 
 \subsection{Attribute Encodings}
 \label{datarep:attributeencodings}
@@ -655,14 +654,15 @@ know how to interpret the bits, which if they are target
 machine data (such as an integer or floating point constant)
 will be in target machine byte\dash order.
 
-\textit{If one of the \livetarg{chap:DWFORMdata}{DW\-\_FORM\-\_data}<n> forms is used to represent a
+\textit{If one of the \livetarg{chap:DWFORMdata}{DW\-\_FORM\-\_data}\textless n\textgreater 
+forms is used to represent a
 signed or unsigned integer, it can be hard for a consumer
 to discover the context necessary to determine which
 interpretation is intended. Producers are therefore strongly
 encouraged to use \livelink{chap:DWFORMsdata}{DW\-\_FORM\-\_sdata} or 
 \livelink{chap:DWFORMudata}{DW\-\_FORM\-\_udata} for signed and
 unsigned integers respectively, rather than 
-\livelink{chap:DWFORMdata}{DW\-\_FORM\-\_data} \textless n \textgreater.}
+\livelink{chap:DWFORMdata}{DW\-\_FORM\-\_data}\textless n\textgreater.}
 
 
 \item \livelink{chap:exprloc}{exprloc} \\
@@ -760,7 +760,10 @@ format, it is an 8\dash byte unsigned value (see Section
 \refersec{datarep:32bitand64bitdwarfformats}).
 \end{itemize}
 
-\textit{Because classes \livelink{chap:lineptr}{lineptr}, \livelink{chap:loclistptr}{loclistptr}, \livelink{chap:macptr}{macptr} and \livelink{chap:rangelistptr}{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}
 
@@ -810,17 +813,17 @@ in the 64\dash bit DWARF format, it is an 8\dash byte
 unsigned value 
 (see Section \refersec{datarep:32bitand64bitdwarfformats}).
 
-A debugging information entry that may be referenced by
+\textit{A debugging information entry that may be referenced by
 another compilation unit using \livelink{chap:DWFORMrefaddr}{DW\-\_FORM\-\_ref\-\_addr} must have a
-global symbolic name.
+global symbolic name.}
 
-For a reference from one executable or shared object to
+\textit{For a reference from one executable or shared object to
 another, the reference is resolved by the debugger to identify
 the shared object or executable and the offset into that
 object’s \addtoindex{.debug\_info}
 section in the same fashion as the run
 time loader, either when the debug information is first read,
-or when the reference is used.
+or when the reference is used.}
 
 The third type of reference can identify any debugging
 information type entry that has been placed in its own
@@ -832,15 +835,15 @@ reference (\livetarg{chap:DWFORMrefsig8}{DW\-\_FORM\-\_ref\-\_sig8}) is the
 that was computed
 for the type.
 
-The use of compilation unit relative references will reduce the
+\textit{The use of compilation unit relative references will reduce the
 number of link\dash time relocations and so speed up linking. The
 use of the second and third type of reference allows for the
 sharing of information, such as types, across compilation
-units.
+units.}
 
-A reference to any kind of compilation unit identifies the
+\textit{A reference to any kind of compilation unit identifies the
 debugging information entry for that unit, not the preceding
-header.
+header.}
 
 \item string \\
 A string is a sequence of contiguous non\dash null bytes followed by
@@ -867,14 +870,14 @@ UTF\dash 8 (\addtoindex{Unicode} Transformation Format\dash 8) from the Universa
 Character Set standard (ISO/IEC 10646\dash 1:1993). Otherwise,
 the string representation is unspecified.
 
-The \addtoindex{Unicode} Standard Version 3 is fully compatible with
+\textit{The \addtoindex{Unicode} Standard Version 3 is fully compatible with
 ISO/IEC 10646\dash 1:1993. It contains all the same characters
 and encoding points as ISO/IEC 10646, as well as additional
-information about the characters and their use.
+information about the characters and their use.}
 
-Earlier versions of DWARF did not specify the representation
+\textit{Earlier versions of DWARF did not specify the representation
 of strings; for compatibility, this version also does
-not. However, the UTF\dash 8 representation is strongly recommended.
+not. However, the UTF\dash 8 representation is strongly recommended.}
 
 \end{itemize}
 
@@ -897,13 +900,14 @@ Table \refersec{tab:attributeformencodings}.
 \setlength{\extrarowheight}{0.1cm}
 \begin{longtable}{l|l}
   \caption{Tag encodings} \label{tab:tagencodings} \\
-  \hline \\ \bfseries Tag name&\bfseries Value\\ \hline
+  \hline \bfseries Tag name&\bfseries Value\\ \hline
 \endfirsthead
   \bfseries Tag name&\bfseries Value \\ \hline
 \endhead
   \hline \emph{Continued on next page}
 \endfoot
   \hline
+  \ddag New in \addtoindex{DWARF Version 4}
 \endlastfoot
 \livelink{chap:DWTAGarraytype}{DW\-\_TAG\-\_array\-\_type} &0x01 \\
 \livelink{chap:DWTAGclasstype}{DW\-\_TAG\-\_class\-\_type}&0x02 \\
@@ -968,34 +972,42 @@ Table \refersec{tab:attributeformencodings}.
 \livelink{chap:DWTAGlouser}{DW\-\_TAG\-\_lo\-\_user}&0x4080      \\
 \livelink{chap:DWTAGhiuser}{DW\-\_TAG\-\_hi\-\_user}&0xffff      \\
 \end{longtable}
-\ddag  TAG new in \addtoindex{DWARF Version 4}
 \end{centering}
 
 
-\begin{figure}[here]
-\centering
+\begin{centering}
 \setlength{\extrarowheight}{0.1cm}
-\caption{Child determination encodings}
-\label{tab:childdeterminationencodings}
-\begin{tabular}{l|l} \hline
-Child determination name& Value\\ \hline
+\begin{longtable}{l|l}
+  \caption{Child determination encodings}
+  \label{tab:childdeterminationencodings}
+  \addtoindexx{Child determination encodings} \\
+  \hline \bfseries Children determination name&\bfseries Value \\ \hline
+\endfirsthead
+  \bfseries Children determination name&\bfseries Value \\ \hline
+\endhead
+  \hline \emph{Continued on next page}
+\endfoot
+  \hline
+\endlastfoot
 \livelink{chap:DWCHILDRENno}{DW\-\_CHILDREN\-\_no}&0x00 \\ 
 \livelink{chap:DWCHILDRENyes}{DW\-\_CHILDREN\-\_yes}&0x01 \\ \hline
-\end{tabular}
-\end{figure}
-
+\end{longtable}
+\end{centering}
 
 \begin{centering}
 \setlength{\extrarowheight}{0.1cm}
 \begin{longtable}{l|l|l}
-  \caption{Attribute encodings} \label{tab:attributeencodings} \addtoindexx{attribute encodings} \\
-  \hline \\ \bfseries Attribute name&\bfseries Value &\bfseries Classes \\ \hline
+  \caption{Attribute encodings} 
+  \label{tab:attributeencodings} 
+  \addtoindexx{attribute encodings} \\
+  \hline \bfseries Attribute name&\bfseries Value &\bfseries Classes \\ \hline
 \endfirsthead
   \bfseries Attribute name&\bfseries Value &\bfseries Classes\\ \hline
 \endhead
   \hline \emph{Continued on next page}
 \endfoot
   \hline
+  \ddag New in \addtoindex{DWARF Version 4}
 \endlastfoot
 \livelink{chap:DWATsibling}{DW\-\_AT\-\_sibling}&0x01&reference 
         \addtoindexx{sibling attribute!encoding} \\
@@ -1187,21 +1199,21 @@ Child determination name& Value\\ \hline
 \livetarg{chap:DWATlouser}{DW\-\_AT\-\_lo\-\_user}&0x2000 & --- \addtoindexx{low user attribute encoding}  \\
 \livetarg{chap:DWAThiuser}{DW\-\_AT\-\_hi\-\_user}&0x3fff& --- \addtoindexx{high user attribute encoding}  \\
 
-\end{longtable}
-\ddag  Attribute new in \addtoindex{DWARF Version 4} 
+\end{longtable} 
 \end{centering}
 
 \begin{centering}
 \setlength{\extrarowheight}{0.1cm}
 \begin{longtable}{l|l|l}
   \caption{Attribute form encodings} \label{tab:attributeformencodings} \\
-  \hline \\ \bfseries Form name&\bfseries Value &\bfseries Classes \\ \hline
+  \hline \bfseries Form name&\bfseries Value &\bfseries Classes \\ \hline
 \endfirsthead
   \bfseries Form name&\bfseries Value &\bfseries Classes\\ \hline
 \endhead
   \hline \emph{Continued on next page}
 \endfoot
   \hline
+  \ddag New in \addtoindex{DWARF Version 4}
 \endlastfoot
 \livelink{chap:DWFORMaddr}{DW\-\_FORM\-\_addr}&0x01&address  \\
 \livelink{chap:DWFORMblock2}{DW\-\_FORM\-\_block2}&0x03&\livelink{chap:block}{block} \\
@@ -1230,7 +1242,6 @@ Child determination name& Value\\ \hline
 \livelink{chap:DWFORMrefsig8}{DW\-\_FORM\-\_ref\-\_sig8} \ddag &0x20&reference \\
  
 \end{longtable}
-\ddag  FORM new in \addtoindex{DWARF Version 4} 
 \end{centering}
 
 \section{Variable Length Data}
@@ -1246,12 +1257,12 @@ LEB128 is a scheme for encoding integers
 densely that exploits the assumption that most integers are
 small in magnitude.
 
-This encoding is equally suitable whether the target machine
-architecture represents data in big\dash\  endian or little\dash endian
+\textit{This encoding is equally suitable whether the target machine
+architecture represents data in big\dash\ endian or little\dash endian
 order. It is ``little\dash endian'' only in the sense that it
 avoids using space to represent the ``big'' end of an
 unsigned integer, when the big end is all zeroes or sign
-extension bits.
+extension bits.}
 
 Unsigned LEB128 (ULEB128) numbers are encoded as follows:
 \addtoindexx{LEB128!unsigned, encoding as}
@@ -1291,16 +1302,18 @@ Table \refersec{tab:examplesofsignedleb128encodings}
 gives some examples of signed LEB128 
 numbers.
 
-Appendix \refersec{app:variablelengthdataencodingdecodinginformative} 
+\textit{Appendix \refersec{app:variablelengthdataencodingdecodinginformative} 
 \addtoindexx{LEB128!examples}
-gives algorithms for encoding and decoding these forms.
+gives algorithms for encoding and decoding these forms.}
 
 
 \begin{centering}
 \setlength{\extrarowheight}{0.1cm}
 \begin{longtable}{l|l|l}
-  \caption{Examples of unsigned LEB128 encodings} \label{tab:examplesofunsignedleb128encodings} \\
-  \hline \\ \bfseries Number&\bfseries First byte &\bfseries Second byte \\ \hline
+  \caption{Examples of unsigned LEB128 encodings}
+  \label{tab:examplesofunsignedleb128encodings} 
+  \addtoindexx{LEB128 encoding!examples} \\
+  \hline \bfseries Number&\bfseries First byte &\bfseries Second byte \\ \hline
 \endfirsthead
   \bfseries Number&\bfseries First Byte &\bfseries Second byte\\ \hline
 \endhead
@@ -1314,7 +1327,6 @@ gives algorithms for encoding and decoding these forms.
 129& 1 + 0x80 & 1 \\
 130& 2 + 0x80 & 1 \\
 12857& 57 + 0x80 & 100 \\
-\addtoindex{LEB128 encoding!examples}
 \end{longtable}
 \end{centering}
 
@@ -1324,7 +1336,7 @@ gives algorithms for encoding and decoding these forms.
 \setlength{\extrarowheight}{0.1cm}
 \begin{longtable}{l|l|l}
   \caption{Examples of signed LEB128 encodings} \label{tab:examplesofsignedleb128encodings} \\
-  \hline \\ \bfseries Number&\bfseries First byte &\bfseries Second byte \\ \hline
+  \hline \bfseries Number&\bfseries First byte &\bfseries Second byte \\ \hline
 \endfirsthead
   \bfseries Number&\bfseries First Byte &\bfseries Second byte\\ \hline
 \endhead
@@ -1364,7 +1376,7 @@ Table \refersec{tab:dwarfoperationencodings}.
 \setlength{\extrarowheight}{0.1cm}
 \begin{longtable}{l|l|l|l}
   \caption{DWARF operation encodings} \label{tab:dwarfoperationencodings} \\
-  \hline \\ & &\bfseries No. of  &\\ 
+  \hline & &\bfseries No. of  &\\ 
   \bfseries Operation&\bfseries Code &\bfseries Operands &\bfseries Notes\\ \hline
 \endfirsthead
    & &\bfseries No. of &\\ 
@@ -1373,6 +1385,7 @@ Table \refersec{tab:dwarfoperationencodings}.
   \hline \emph{Continued on next page}
 \endfoot
   \hline
+  \ddag New in \addtoindex{DWARF Version 4}
 \endlastfoot
 
 \livelink{chap:DWOPaddr}{DW\-\_OP\-\_addr}&0x03&1 & constant address  \\ 
@@ -1430,17 +1443,17 @@ Table \refersec{tab:dwarfoperationencodings}.
 \livelink{chap:DWOPlit0}{DW\-\_OP\-\_lit0}&0x30 & 0 & \\
 
 \livelink{chap:DWOPlit1}{DW\-\_OP\-\_lit1}&0x31 & 0& literals 0 .. 31 = \\
-\ldots & & & (\livelink{chap:DWOPlit0}{DW\-\_OP\-\_lit0} + literal) \\
+\ldots & & &\hspace{0.5cm}(\livelink{chap:DWOPlit0}{DW\-\_OP\-\_lit0} + literal) \\
 \livelink{chap:DWOPlit31}{DW\-\_OP\-\_lit31}&0x4f & 0 & \\ \hline
 
 \livelink{chap:DWOPreg0}{DW\-\_OP\-\_reg0} & 0x50 & 0 & \\
 \livelink{chap:DWOPreg1}{DW\-\_OP\-\_reg1} & 0x51 & 0&reg 0 .. 31 = \\
-\ldots & & & (\livelink{chap:DWOPreg0}{DW\-\_OP\-\_reg0} + regnum) \\
+\ldots & & &\hspace{0.5cm}(\livelink{chap:DWOPreg0}{DW\-\_OP\-\_reg0} + regnum) \\
 \livelink{chap:DWOPreg31}{DW\-\_OP\-\_reg31} & 0x6f & 0 & \\ \hline
 
 \livelink{chap:DWOPbreg0}{DW\-\_OP\-\_breg0} & 0x70 &1 & SLEB128 offset \\
 \livelink{chap:DWOPbreg1}{DW\-\_OP\-\_breg1} & 0x71 & 1 &base register 0 .. 31 = \\
-... & &              &(\livelink{chap:DWOPbreg0}{DW\-\_OP\-\_breg0} + regnum) \\
+... & &              &\hspace{0.5cm}(\livelink{chap:DWOPbreg0}{DW\-\_OP\-\_breg0} + regnum) \\
 \livelink{chap:DWOPbreg31}{DW\-\_OP\-\_breg31} & 0x8f & 1 & \\ \hline
 
 \livelink{chap:DWOPregx}{DW\-\_OP\-\_regx} & 0x90 &1&ULEB128 register \\
@@ -1462,9 +1475,9 @@ Table \refersec{tab:dwarfoperationencodings}.
 \livelink{chap:DWOPcallframecfa}{DW\-\_OP\-\_call\-\_frame\-\_cfa} &0x9c &0& \\
 \livelink{chap:DWOPbitpiece}{DW\-\_OP\-\_bit\-\_piece}&0x9d &2&ULEB128 size followed by \\
 &&&ULEB128 offset\\
-\livelink{chap:DWOPimplicitvalue}{DW\-\_OP\-\_implicit\-\_value}&0x9e &2&ULEB128 size followed by \\
+\livelink{chap:DWOPimplicitvalue}{DW\-\_OP\-\_implicit\-\_value} \ddag &0x9e &2&ULEB128 size followed by \\
 &&&\nolink{block} of that size\\
-\livelink{chap:DWOPstackvalue}{DW\-\_OP\-\_stack\-\_value} &0x9f &0& \\
+\livelink{chap:DWOPstackvalue}{DW\-\_OP\-\_stack\-\_value} \ddag &0x9f &0& \\
 \livetarg{chap:DWOPlouser}{DW\-\_OP\-\_lo\-\_user} &0xe0 && \\
 \livetarg{chap:DWOPhiuser}{DW\-\_OP\-\_hi\-\_user} &0xff && \\
 
@@ -1519,13 +1532,14 @@ Table \refersec{tab:basetypeencodingvalues}
 \setlength{\extrarowheight}{0.1cm}
 \begin{longtable}{l|c}
   \caption{Base type encoding values} \label{tab:basetypeencodingvalues} \\
-  \hline \\ \bfseries Base type encoding code name&\bfseries Value \\ \hline
+  \hline \bfseries Base type encoding code name&\bfseries Value \\ \hline
 \endfirsthead
   \bfseries Base type encoding code name&\bfseries Value\\ \hline
 \endhead
   \hline \emph{Continued on next page}
 \endfoot
   \hline
+  \ddag New in \addtoindex{DWARF Version 4}
 \endlastfoot
 
 \livelink{chap:DWATEaddress}{DW\-\_ATE\-\_address}&0x01 \\
@@ -1548,7 +1562,6 @@ Table \refersec{tab:basetypeencodingvalues}
 \livetarg{chap:DWATEhiuser}{DW\-\_ATE\-\_hi\-\_user} & 0xff \\
 
 \end{longtable}
-\ddag  Base type encoding new in \addtoindex{DWARF Version 4}
 \end{centering}
 
 
@@ -1562,7 +1575,7 @@ Table \refersec{tab:decimalsignencodings}.
 \setlength{\extrarowheight}{0.1cm}
 \begin{longtable}{l|c}
   \caption{Decimal sign encodings} \label{tab:decimalsignencodings} \\
-  \hline \\ \bfseries Decimal sign code name&\bfseries Value \\ \hline
+  \hline \bfseries Decimal sign code name&\bfseries Value \\ \hline
 \endfirsthead
   \bfseries Decimal sign code name&\bfseries Value\\ \hline
 \endhead
@@ -1588,7 +1601,7 @@ Table \refersec{tab:endianityencodings}.
 \setlength{\extrarowheight}{0.1cm}
 \begin{longtable}{l|c}
   \caption{Endianity encodings} \label{tab:endianityencodings}\\
-  \hline \\ \bfseries Endian code name&\bfseries Value \\ \hline
+  \hline \bfseries Endian code name&\bfseries Value \\ \hline
 \endfirsthead
   \bfseries Endian code name&\bfseries Value\\ \hline
 \endhead
@@ -1619,7 +1632,7 @@ Table \refersec{tab:accessibilityencodings}.
 \setlength{\extrarowheight}{0.1cm}
 \begin{longtable}{l|c}
   \caption{Accessibility encodings} \label{tab:accessibilityencodings}\\
-  \hline \\ \bfseries Accessibility code name&\bfseries Value \\ \hline
+  \hline \bfseries Accessibility code name&\bfseries Value \\ \hline
 \endfirsthead
   \bfseries Accessibility code name&\bfseries Value\\ \hline
 \endhead
@@ -1646,7 +1659,7 @@ Table \refersec{tab:visibilityencodings}.
 \setlength{\extrarowheight}{0.1cm}
 \begin{longtable}{l|c}
   \caption{Visibility encodings} \label{tab:visibilityencodings}\\
-  \hline \\ \bfseries Visiibility code name&\bfseries Value \\ \hline
+  \hline \bfseries Visiibility code name&\bfseries Value \\ \hline
 \endfirsthead
   \bfseries Visibility code name&\bfseries Value\\ \hline
 \endhead
@@ -1673,7 +1686,7 @@ Table \refersec{tab:virtualityencodings}.
 \setlength{\extrarowheight}{0.1cm}
 \begin{longtable}{l|c}
   \caption{Virtuality encodings} \label{tab:virtualityencodings}\\
-  \hline \\ \bfseries Virtuality code name&\bfseries Value \\ \hline
+  \hline \bfseries Virtuality code name&\bfseries Value \\ \hline
 \endfirsthead
   \bfseries Virtuality code name&\bfseries Value\\ \hline
 \endhead
@@ -1724,13 +1737,14 @@ defined language.
 \setlength{\extrarowheight}{0.1cm}
 \begin{longtable}{l|c|c}
   \caption{Language encodings} \label{tab:languageencodings}\\
-  \hline \\ \bfseries Language name&\bfseries Value &\bfseries Default Lower Bound \\ \hline
+  \hline \bfseries Language name&\bfseries Value &\bfseries Default Lower Bound \\ \hline
 \endfirsthead
   \bfseries Language name&\bfseries Value &\bfseries Default Lower Bound\\ \hline
 \endhead
   \hline \emph{Continued on next page}
 \endfoot
   \hline
+  \dag See text
 \endlastfoot
 
 \livelink{chap:DWLANGC89}{DW\-\_LANG\-\_C89}&0x0001&0       \\
@@ -1757,7 +1771,6 @@ defined language.
 \livetarg{chap:DWLANGhiuser}{DW\-\_LANG\-\_hi\-\_user}&0xffff & \\
 
 \end{longtable}
-\dag See text
 \end{centering}
 
 \section{Address Class Encodings}
@@ -1780,7 +1793,7 @@ Table \refersec{tab:identifiercaseencodings}.
 \setlength{\extrarowheight}{0.1cm}
 \begin{longtable}{l|c}
   \caption{Identifier case encodings} \label{tab:identifiercaseencodings}\\
-  \hline \\ \bfseries Identifier case name&\bfseries Value \\ \hline
+  \hline \bfseries Identifier case name&\bfseries Value \\ \hline
 \endfirsthead
   \bfseries Identifier case name&\bfseries Value\\ \hline
 \endhead
@@ -1805,7 +1818,7 @@ Table \refersec{tab:callingconventionencodings}.
 \setlength{\extrarowheight}{0.1cm}
 \begin{longtable}{l|c}
   \caption{Calling convention encodings} \label{tab:callingconventionencodings}\\
-  \hline \\ \bfseries Calling Convention name&\bfseries Value \\ \hline
+  \hline \bfseries Calling Convention name&\bfseries Value \\ \hline
 \endfirsthead
   \bfseries Calling Convention name&\bfseries Value\\ \hline
 \endhead
@@ -1836,7 +1849,7 @@ Table \refersec{tab:inlineencodings}.
 \setlength{\extrarowheight}{0.1cm}
 \begin{longtable}{l|c}
   \caption{Inline encodings} \label{tab:inlineencodings}\\
-  \hline \\ \bfseries Iline Code name&\bfseries Value \\ \hline
+  \hline \bfseries Iline Code name&\bfseries Value \\ \hline
 \endfirsthead
   \bfseries Iline Code name&\bfseries Value\\ \hline
 \endhead
@@ -1867,7 +1880,7 @@ Table \refersec{tab:orderingencodings}.
 \setlength{\extrarowheight}{0.1cm}
 \begin{longtable}{l|c}
   \caption{Ordering encodings} \label{tab:orderingencodings}\\
-  \hline \\ \bfseries Ordering name&\bfseries Value \\ \hline
+  \hline \bfseries Ordering name&\bfseries Value \\ \hline
 \endfirsthead
   \bfseries Ordering name&\bfseries Value\\ \hline
 \endhead
@@ -1899,7 +1912,7 @@ Table \refersec{tab:discriminantdescriptorencodings}.
 \setlength{\extrarowheight}{0.1cm}
 \begin{longtable}{l|c}
   \caption{Discriminant descriptor encodings} \label{tab:discriminantdescriptorencodings}\\
-  \hline \\ \bfseries Descriptor Name&\bfseries Value \\ \hline
+  \hline \bfseries Descriptor Name&\bfseries Value \\ \hline
 \endfirsthead
   \bfseries Descriptor Name&\bfseries Value\\ \hline
 \endhead
@@ -1938,7 +1951,7 @@ of the 4\dash byte value 0xffffffff followed by an 8\dash byte unsigned
 integer that gives the actual length
 (see Section \refersec{datarep:32bitand64bitdwarfformats}).
 
-\item  version (\addtoindex(uhalf))
+\item  version (\addtoindex{uhalf})
 A 2\dash byte unsigned integer representing the version of the
 DWARF information\addtoindexx{version number!compilation unit} for the compilation unit
 \addtoindexx{version number!name lookup table}
@@ -2006,7 +2019,7 @@ in the 64-bit DWARF format, this consists of the 4-byte value
 the actual length 
 (see Section \refersec{datarep:32bitand64bitdwarfformats}).
 
-\item version (\addtoindex(uhalf)) \\
+\item version (\addtoindex{uhalf}) \\
 A 2\dash byte version identifier
 \addtoindexx{version number!address range table} containing the value 2 
 (see Appendix \refersec{app:dwarfsectionversionnumbersinformative}). 
@@ -2077,7 +2090,7 @@ Table \refersec{tab:linenumberstandardopcodeencodings}.
 \setlength{\extrarowheight}{0.1cm}
 \begin{longtable}{l|c}
   \caption{Line Number Standard Opcode encodings} \label{tab:linenumberstandardopcodeencodings}\\
-  \hline \\ \bfseries Opcode Name&\bfseries Value \\ \hline
+  \hline \bfseries Opcode Name&\bfseries Value \\ \hline
 \endfirsthead
   \bfseries Opcode Name&\bfseries Value\\ \hline
 \endhead
@@ -2111,13 +2124,14 @@ Table \refersec{tab:linenumberextendedopcodeencodings}.
 \setlength{\extrarowheight}{0.1cm}
 \begin{longtable}{l|c}
   \caption{Line Number Extended Opcode encodings} \label{tab:linenumberextendedopcodeencodings}\\
-  \hline \\ \bfseries Opcode Name&\bfseries Value \\ \hline
+  \hline \bfseries Opcode Name&\bfseries Value \\ \hline
 \endfirsthead
   \bfseries Opcode Name&\bfseries Value\\ \hline
 \endhead
   \hline \emph{Continued on next page}
 \endfoot
   \hline
+  \ddag New in \addtoindex{DWARF Version 4}
 \endlastfoot
 
 \livelink{chap:DWLNEendsequence}{DW\-\_LNE\-\_end\-\_sequence}&0x01    \\
@@ -2128,7 +2142,6 @@ Table \refersec{tab:linenumberextendedopcodeencodings}.
 \livetarg{chap:DWLNEhiuser}{DW\-\_LNE\-\_hi\-\_user}&0xff   \\
 
 \end{longtable}
-\ddag Extended opcode new in \addtoindex{DWARF Version 4}.
 \end{centering}
 
 \section{Macro Information}
@@ -2150,7 +2163,7 @@ Table \refersec{tab:macinfotypeencodings}.
 \setlength{\extrarowheight}{0.1cm}
 \begin{longtable}{l|c}
   \caption{Macinfo Type Encodings} \label{tab:macinfotypeencodings}\\
-  \hline \\ \bfseries Macinfo Type Name&\bfseries Value \\ \hline
+  \hline \bfseries Macinfo Type Name&\bfseries Value \\ \hline
 \endfirsthead
   \bfseries Macinfo Type Name&\bfseries Value\\ \hline
 \endhead
@@ -2190,7 +2203,7 @@ Table \refersec{tab:callframeinstructionencodings}.
 \setlength{\extrarowheight}{0.1cm}
 \begin{longtable}{l|c|c|l|l}
   \caption{Call frame instruction encodings} \label{tab:callframeinstructionencodings} \\
-  \hline \\ &\bfseries High 2 &\bfseries Low 6 &  & \\
+  \hline &\bfseries High 2 &\bfseries Low 6 &  & \\
   \bfseries Instruction&\bfseries Bits &\bfseries Bits &\bfseries Operand 1 &\bfseries Operand 2\\ \hline
 \endfirsthead
    & \bfseries High 2 &\bfseries Low 6 &  &\\
@@ -2609,11 +2622,35 @@ separate type units.}
 it does not provide any information unique to the defining
 declaration of the type.}
 
-\item \textit{The \livelink{chap:DWATdeclfile}{DW\-\_AT\-\_decl\-\_file}, \livelink{chap:DWATdeclline}{DW\-\_AT\-\_decl\-\_line}, and
+\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
 \addtoindexx{MD5 hash}
 same hash.}
 
+\item \textit{The \livelink{chap:DWATobjectpointer}{DW\-\_AT\-\_object\-\_pointer} attribute is not included 
+because the information it provides is not necessary for the 
+computation of a unique type signature.}
+
 \end{itemize}
+
+\textit{Nested types and some types referred to by a debugging 
+information entry are encoded by name rather than by recursively 
+encoding the type to allow for cases where a complete definition 
+of the type might not be available in all compilation units.}
+
+\textit{If a type definition contains the definition of a member function, 
+it cannot be moved as is into a type unit, because the member function 
+contains attributes that are unique to that compilation unit. 
+Such a type definition can be moved to a type unit by rewriting the DIE tree, 
+moving the member function declaration into a separate declaration tree, 
+and replacing the function definition in the type with a non-defining 
+declaration of the function (as if the function had been defined out of 
+line).}
+
+An example that illustrates the computation of an MD5 hash may be found in 
+Appendix \refersec{app:usingtypeunits}.
+
+
index 694381b..564de7f 100644 (file)
@@ -44,7 +44,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.
 
-\newcommand{\docdate}{18 December 2012}
+\newcommand{\docdate}{19 December 2012}
 
 \newcommand{\dwf}{DWARF Debugging Information Format}
 \newenvironment{myindentpara}[1]%
@@ -65,8 +65,9 @@ escapeinside={\%*}{*)}     % if you want to add a comment within your code
 
 % Generate a page ref.
 % use like   \refersec{chap:registerbasedaddressing}
-\newcommand{\refersec}[1]{\ref{#1} on page \pageref{#1}}
-%\newcommand{\refersec}[1]{\vref{#1}}  % beware possible rerun loop
+%\newcommand{\refersec}[1]{\ref{#1} on page \pageref{#1}}
+\newcommand{\refersec}[1]{\vref{#1}}  % beware possible rerun loop
+\newcommand{\referfol}[1]{\ref{#1} following}
 
 % Generate a live link in the document
 % use like \livelink{chap:DWOPdup}{DW\-\_OP\-\_dup}
@@ -90,13 +91,17 @@ escapeinside={\%*}{*)}     % if you want to add a comment within your code
 \newcommand{\nolink}[1]{#1}
 \newcommand{\noindex}[1]{#1}
 
-%For index entries.
+% For index entries.
 \newcommand{\addtoindex}[1]{#1\index{#1}}
 \newcommand{\addtoindexi}[2]{#1\index{#2}}
 \newcommand{\addtoindexx}[1]{\index{#1}}
 
+% Better naming for the lowest level section header
 \newcommand{\subsubsubsection}[1]{\paragraph{#1}}
 
+% Reduce vertical space at beginning of a list
+\setlength{\topsep}{0in}
+
 \begin{document}
 \pagenumbering{roman}
 \pagestyle{empty}
index 6c98370..c3b1954 100644 (file)
@@ -167,7 +167,7 @@ using DWARF.
 \label{app:fortran90example}
 Consider the \addtoindex{Fortran 90} source fragment in 
 \addtoindexx{array type entry!examples}
-Figure \refersec{fig:fortran90examplesourcefragment}.
+Figure \referfol{fig:fortran90examplesourcefragment}.
 
 \begin{figure}[here]
 \begin{lstlisting}
@@ -201,7 +201,7 @@ the ``variable'' is allocated or associated).
 
 For concreteness, suppose that a descriptor looks something
 like the C structure in 
-Figure \refersec{fig:fortran90exampledescriptorrepresentation}.
+Figure \referfol{fig:fortran90exampledescriptorrepresentation}.
 Note, however, that it is
 a property of the design that 1) a debugger needs no builtin
 knowledge of this structure and 2) there does not need to
@@ -225,7 +225,8 @@ struct desc {
     } dims[63];
 };
 \end{lstlisting}
-\caption{Fortran 90 example: descriptor representation} \label{fig:fortran90exampledescriptorrepresentation}
+\caption{Fortran 90 example: descriptor representation}
+\label{fig:fortran90exampledescriptorrepresentation}
 \end{figure}
 
 
@@ -501,7 +502,7 @@ would be different.
 \subsection{Ada Example}
 \label{app:adaexample}
 
-Figure \refersec{fig:adaexamplesourcefragment}
+Figure \referfol{fig:adaexamplesourcefragment}
 illustrates two kinds of \addtoindex{Ada} 
 parameterized array, one embedded in a record.
 
@@ -518,7 +519,8 @@ end record;
 
 OBJ2B : REC2;
 \end{lstlisting}
-\caption{Ada 90 example: source fragment} \label{fig:adaexamplesourcefragment}
+\caption{Ada 90 example: source fragment}
+\label{fig:adaexamplesourcefragment}
 \end{figure}
 
 VEC1 illustrates an (unnamed) array type where the upper bound
@@ -627,9 +629,10 @@ of this example and therefore not shown.
 \label{app:pascalexample}
 
 The Pascal \addtoindexx{Pascal example} source in 
-Figure \refersec{fig:packedrecordexamplesourcefragment}
+Figure \referfol{fig:packedrecordexamplesourcefragment}
 is used to illustrate the representation of packed unaligned
 \addtoindex{bit fields}.
+
 \begin{figure}[here]
 \begin{lstlisting}
 TYPE T : PACKED RECORD ! bit size is 2
@@ -645,7 +648,8 @@ F4 : PACKED ARRAY [0..1] OF T; ! bit offset is 33
 F7 : T; ! bit offset is 37
 END;
 \end{lstlisting}
-\caption{Packed record example: source fragment} \label{fig:packedrecordexamplesourcefragment}
+\caption{Packed record example: source fragment}
+\label{fig:packedrecordexamplesourcefragment}
 \end{figure}
 
 The DWARF representation in 
@@ -713,7 +717,7 @@ Section \refersec{chap:datamemberentries}.
 
 
 The C++ example in 
-Figure \refersec{fig:namespaceexamplesourcefragment}
+Figure \referfol{fig:namespaceexamplesourcefragment}
 is used 
 \addtoindexx{namespace (C++)!example}
 to illustrate the representation of namespaces.
@@ -754,12 +758,13 @@ int Foo::myfunc(int a)
     return myfunc2(3) + j + i + a + 2;
 }
 \end{lstlisting}
-\caption{Namespace example: source fragment} \label{fig:namespaceexamplesourcefragment}
+\caption{Namespace example: source fragment}
+\label{fig:namespaceexamplesourcefragment}
 \end{figure}
 
 
 The DWARF representation in 
-Section \refersec{app:namespaceexampledwarfdescription}
+Section \referfol{app:namespaceexampledwarfdescription}
 is appropriate.
 
 \subsection{Namespace example: DWARF description}
@@ -846,7 +851,7 @@ is appropriate.
 \label{app:memberfunctionexample}
 
 Consider the member function example fragment in 
-Figure \refersec{fig:memberfunctionexamplesourcefragment}.
+Figure \referfol{fig:memberfunctionexamplesourcefragment}.
 
 \begin{figure}[here]
 \begin{lstlisting}
@@ -858,7 +863,8 @@ class A
 };
 void A::func1(int x) {}
 \end{lstlisting}
-\caption{Member function example: source fragment} \label{fig:memberfunctionexamplesourcefragment}
+\caption{Member function example: source fragment}
+\label{fig:memberfunctionexamplesourcefragment}
 \end{figure}
 
 
@@ -946,7 +952,7 @@ is appropriate.
 
 Consider the simple source file and the resulting machine
 code for the Intel 8086 processor in 
-Figure \refersec{fig:linenumberprogramexamplemachinecode}.
+Figure \referfol{fig:linenumberprogramexamplemachinecode}.
 
 \begin{figure}[here]
 \begin{lstlisting}
@@ -970,7 +976,8 @@ Figure \refersec{fig:linenumberprogramexamplemachinecode}.
     0x24c: ret
 7: 0x24d:
 \end{lstlisting}
-\caption{Line number program example: machine code} \label{fig:linenumberprogramexamplemachinecode}
+\caption{Line number program example: machine code}
+\label{fig:linenumberprogramexamplemachinecode}
 \end{figure}
 
 Suppose the line number program header includes the following
@@ -995,7 +1002,7 @@ line_range                15
 \end{alltt}
 
 
-Figure \refersec{tab:linenumberprogramexampleoneencoding}
+Table \referfol{tab:linenumberprogramexampleoneencoding}
 shows one encoding of the line number program, which occupies
 12 bytes (the opcode SPECIAL(m,n) indicates the special opcode
 generated for a line increment of m and an address increment
@@ -1005,7 +1012,8 @@ of n).
 \begin{centering}
 \setlength{\extrarowheight}{0.1cm}
 \begin{longtable}{lll}
-  \caption{Line number program example: one encoding} \label{tab:linenumberprogramexampleoneencoding} \\
+  \caption{Line number program example: one encoding}
+  \label{tab:linenumberprogramexampleoneencoding} \\
   \hline \\ \bfseries Opcode &\bfseries Operand &\bfseries Byte Stream \\ \hline
 \endfirsthead
   \bfseries Opcode &\bfseries Operand &\bfseries Byte Stream\\ \hline
@@ -1025,7 +1033,7 @@ SPECIAL(1, 7)&0x73 & \\
 \end{centering}
 
 
-Table \refersec{tab:linenumberprogramexamplealternateencoding}
+Table \referfol{tab:linenumberprogramexamplealternateencoding}
 shows an alternate 
 encoding of the same program using 
 standard opcodes to advance
@@ -1035,7 +1043,8 @@ this encoding occupies 22 bytes.
 \begin{centering}
 \setlength{\extrarowheight}{0.1cm}
 \begin{longtable}{lll}
-  \caption{Line number program example: alternate encoding} \label{tab:linenumberprogramexamplealternateencoding} \\
+  \caption{Line number program example: alternate encoding} 
+  \label{tab:linenumberprogramexamplealternateencoding} \\
   \hline \\ \bfseries Opcode &\bfseries Operand &\bfseries Byte Stream \\ \hline
 \endfirsthead
   \bfseries Opcode &\bfseries Operand &\bfseries Byte Stream\\ \hline
@@ -1096,9 +1105,8 @@ stack pointer (R7) is the same as the CFA
 
 \end{itemize}
 
-The following 
-(Figure refersec{fig:callframeinformationexamplemachinecodefragments}
-are two code fragments from a subroutine called
+Figure \referfol{fig:callframeinformationexamplemachinecodefragments}
+shows two code fragments from a subroutine called
 foo that uses a frame pointer (in addition to the stack
 pointer). The first column values are byte addresses. 
 % The \space is so we get a space after >
@@ -1123,15 +1131,15 @@ foo+76 add R7, R7, <fs>        ; Deallocate frame
 foo+80 jump R1 ; Return
 foo+84
 \end{lstlisting}
-\caption{Call frame information example: machine code fragments} \label{fig:callframeinformationexamplemachinecodefragments}
+\caption{Call frame information example: machine code fragments}
+\label{fig:callframeinformationexamplemachinecodefragments}
 \end{figure}
 
 
 An abstract table 
 (see Section \refersec{chap:structureofcallframeinformation}) 
-for the foo subroutine
-is shown in 
-Table \refersec{tab:callframeinformationexampleconceptualmatrix}.
+for the foo subroutine is shown in 
+Table \referfol{tab:callframeinformationexampleconceptualmatrix}.
 Corresponding fragments from the
 \addtoindex{.debug\_frame} section are shown in 
 Table \refersec{tab:callframeinformationexamplecommoninformationentryencoding}.
@@ -1151,7 +1159,8 @@ Table \refersec{tab:callframeinformationexampleconceptualmatrix}:
 \begin{centering}
 \setlength{\extrarowheight}{0.1cm}
 \begin{longtable}{lllllllllll}
-  \caption{Call frame inforation example: conceptual matrix} \label{tab:callframeinformationexampleconceptualmatrix} \\
+  \caption{Call frame inforation example: conceptual matrix} 
+  \label{tab:callframeinformationexampleconceptualmatrix} \\
   \hline \\ \bfseries Location & \bfseries CFA & \bfseries R0 & \bfseries R1 & \bfseries R2 & \bfseries R3 & \bfseries R4 & \bfseries R5 & \bfseries R6 & \bfseries R7 & \bfseries R8 \\ \hline
 \endfirsthead
   \bfseries Location &\bfseries CFA &\bfseries R0 & \bfseries R1 & \bfseries R2 &\bfseries R3 &\bfseries R4 &\bfseries R5 &\bfseries R6 &\bfseries R7 &\bfseries R8\\ \hline
@@ -1179,7 +1188,8 @@ foo+80&[R7]+0&s&u&u&u&s&s&s&a&r1 \\
 \begin{centering}
 \setlength{\extrarowheight}{0.1cm}
 \begin{longtable}{lll}
-  \caption{Call frame information example: common information entry encoding} \label{tab:callframeinformationexamplecommoninformationentryencoding} \\
+  \caption{Call frame information example: common information entry encoding} 
+  \label{tab:callframeinformationexamplecommoninformationentryencoding} \\
   \hline \\ \bfseries Address &\bfseries Value &\bfseries Comment \\ \hline
 \endfirsthead
   \bfseries Address &\bfseries Value &\bfseries Comment \\ \hline
@@ -1269,7 +1279,7 @@ fde+44 && \\
 \section{Inlining Examples}
 \label{app:inliningexamples}
 The pseudo\dash source in 
-Figure \refersec{fig:inliningexamplespseudosourcefragment}
+Figure \referfol{fig:inliningexamplespseudosourcefragment}
 is used to illustrate the
 \addtoindexx{inlined subprogram call!examples}
 use of DWARF to describe inlined subroutine calls. This
@@ -1295,7 +1305,8 @@ inline procedure OUTER (OUTER_FORMAL : integer) =
 !
 OUTER(7);
 \end{lstlisting}
-\caption{Inlining examples: pseudo-source fragmment} \label{fig:inliningexamplespseudosourcefragment}
+\caption{Inlining examples: pseudo-source fragmment} 
+\label{fig:inliningexamplespseudosourcefragment}
 \end{figure}
 
 
@@ -1500,10 +1511,10 @@ instead of INNER.
 A resulting 
 \addtoindexx{concrete instance!example}
 concrete inlined instance of OUTER is shown in
-Section \refersec{app:inliningexample2concreteinstance}.
+Section \referfol{app:inliningexample2concreteinstance}.
 
 Notice in 
-Section \refersec{app:inliningexample2concreteinstance}.
+Section \referfol{app:inliningexample2concreteinstance}.
 that OUTER is expanded as a concrete
 \addtoindexx{concrete instance!example}
 inlined instance, and that INNER is nested within it as a
@@ -1514,7 +1525,6 @@ attributes of INNER
 in the abstract instance of OUTER, and the low\dash level,
 \addtoindexx{abstract instance!example}
 instance\dash specific attributes of INNER (for example,
-
 \livelink{chap:DWATlowpc}{DW\-\_AT\-\_low\-\_pc}) are specified in 
 each concrete instance of OUTER.
 \addtoindexx{concrete instance!example}
index 916da10..4a5fc68 100644 (file)
@@ -97,7 +97,7 @@ The total length of the all of the entries for that set,
 not including the length field itself 
 (see Section \refersec{datarep:locationdescriptions}).
 
-\item  version (\addtoindex(uhalf)) \\
+\item  version (\addtoindex{uhalf}) \\
 A version number
 \addtoindexx{version number!name lookup table}
 \addtoindexx{version number!type lookup table} 
@@ -157,16 +157,14 @@ portion of the program’s address space that is covered by
 a single compilation unit.
 
 Each set begins with a header containing five values:
-
 \begin{enumerate}[1.]
-
 \item unit\_length (initial length) \\
 \addtoindexx{unit\_length}
 The total length of all of the
 entries for that set, not including the length field itself
 (see Section \refersec{datarep:initiallengthvalues}).
 
-\item version (\addtoindex(uhalf)) \\
+\item version (\addtoindex{uhalf}) \\
 A version number\addtoindexx{version number!address lookup table} 
 (see Appendix \refersec{app:dwarfsectionversionnumbersinformative}). 
 This number is specific to the address lookup table and is
@@ -415,7 +413,8 @@ should be zero. \\
 At the beginning  of each sequence within a line number
 program, the state of the registers is:
 
-\begin{tabular}{lp{8cm}}
+%\begin{tabular}{lp{8cm}}
+\begin{tabular}{lp{11cm}}
 address & 0 \\
 \addtoindex{op\_index} & 0 \\
 file & 1 \\
@@ -449,7 +448,7 @@ line number program are special opcodes.} \\
 
 standard opcodes &
 These have a \addtoindex{ubyte} opcode field which may be followed by zero or more
-LEB128 operands (except for 
+\addtoindex{LEB128} operands (except for 
 \livelink{chap:DWLNSfixedadvancepc}{DW\-\_LNS\-\_fixed\-\_advance\-\_pc}, see below).
 The opcode implies the number of operands and their meanings, but the
 line number program header also specifies the number of operands for
@@ -457,7 +456,7 @@ each standard opcode. \\
 
 extended opcodes &
 These have a multiple byte format. The first byte is zero; the next bytes
-are an unsigned LEB128 integer giving the number of bytes in the
+are an unsigned LEB128\addtoindexx{LEB128!unsigned} integer giving the number of bytes in the
 instruction itself (does not include the first zero byte or the size). The
 remaining bytes are the instruction itself (which begins with a \addtoindex{ubyte}
 extended opcode). \\
@@ -483,7 +482,7 @@ The size in bytes of the line number information for this
 compilation unit, not including the unit\_length field itself
 (see Section \refersec{datarep:initiallengthvalues}). 
 
-\item version (\addtoindex(uhalf)
+\item version (\addtoindex{uhalf}
 A version number\addtoindexx{version number!line number information} 
 (see Appendix \refersec{app:dwarfsectionversionnumbersinformative}). 
 This number is specific to
@@ -579,7 +578,7 @@ opcode (not inclusive) are used for vendor specific extensions.}
 
 \item standard\_opcode\_lengths (array of \addtoindex{ubyte}) \\
 \addtoindexx{standard\_opcode\_lengths}
-This array specifies the number of LEB128 operands for each
+This array specifies the number of \addtoindex{LEB128} operands for each
 of the standard opcodes. The first element of the array
 corresponds to the opcode whose value is 1, and the last
 element corresponds to the opcode whose value 
@@ -627,20 +626,24 @@ 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
-\livelink{chap:DWATcompdir}{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 
 \addtoindex{include\_directories} section.
 
-\item An unsigned LEB128 number representing the directory
+\item An unsigned LEB128\addtoindexx{LEB128!unsigned} 
+number representing the directory
 index of a directory in the 
 \addtoindex{include\_directories} section.
 
 
-\item An unsigned LEB128 number representing the
+\item An unsigned LEB128\addtoindexx{LEB128!unsigned}
+number representing the
 (implementation\dash defined) time of last modification for
 the file, or 0 if not available.
 
-\item An unsigned LEB128 number representing the length in
+\item An unsigned LEB128\addtoindexx{LEB128!unsigned} 
+number representing the length in
 bytes of the file, or 0 if not available.  
 
 \end{itemize}
@@ -752,10 +755,11 @@ special opcode. The \addtoindex{operation advance} represents the number
 of operations to skip when advancing the \addtoindex{operation pointer}.
 
 The special opcode is then calculated using the following formula:
-
-  opcode = ( \textit{desired line increment} - \addtoindex{line\_base}) +
-(\addtoindex{line\_range} * \textit{operation advance} ) + \addtoindex{opcode\_base}
-
+\begin{alltt}
+  opcode = 
+    (\textit{desired line increment} - \addtoindex{line\_base}) +
+      (\addtoindex{line\_range} * \textit{operation advance}) + \addtoindex{opcode\_base}
+\end{alltt}
 If the resulting opcode is greater than 255, a standard opcode
 must be used instead.
 
@@ -769,29 +773,17 @@ The \textit{operation advance}
 is the result of the adjusted opcode divided by the
 line\_range. The new address and \addtoindex{op\_index} values
 are given by
-\begin{myindentpara}{1cm}
-
-\textit{adjusted opcode} = opcode – opcode\_base
-
-\textit{operation advance} = \textit{adjusted opcode} / line\_range
-
-\begin{myindentpara}{1cm}
-new address =
+\begin{alltt}
+  \textit{adjusted opcode} = opcode – opcode\_base
+  \textit{operation advance} = \textit{adjusted opcode} / line\_range
 
-address +
+  new address = address +
+    \addtoindex{minimum\_instruction\_length} *
+      ((\addtoindex{op\_index} + \addtoindex{operation advance}) / \addtoindex{maximum\_operations\_per\_instruction})
 
-\addtoindex{minimum\_instruction\_length} *
-((\addtoindex{op\_index} + \addtoindex{operation advance}) / 
-\addtoindex{maximum\_operations\_per\_instruction})
-\end{myindentpara}
-new op\_index =
-
-\begin{myindentpara}{1cm}
-(\addtoindex{op\_index} + \addtoindex{operation advance}) \% 
-\addtoindex{maximum\_operations\_per\_instruction}
-\end{myindentpara}
-
-\end{myindentpara}
+  new op\_index =
+    (\addtoindex{op\_index} + \addtoindex{operation advance}) \% \addtoindex{maximum\_operations\_per\_instruction}
+\end{alltt}
 
 \textit{When the \addtoindex{maximum\_operations\_per\_instruction} field is 1,
 op\_index is always 0 and these calculations simplify to those
@@ -805,9 +797,9 @@ the result of the
 \addtoindex{line\_range}. That
 is,
 
-\begin{myindentpara}{1cm}
-line increment = \addtoindex{line\_base} + (adjusted opcode \% \addtoindex{line\_range})
-\end{myindentpara}
+\begin{alltt}
+  line increment = \addtoindex{line\_base} + (\textit{adjusted opcode} \% \addtoindex{line\_range})
+\end{alltt}
 
 \textit{As an example, suppose that the opcode\_base is 13, 
 \addtoindex{line\_base}
@@ -824,11 +816,10 @@ is within the range [0, 20], but not all line advances are
 available for the maximum \addtoindex{operation advance} (see below).}
 
 \textit{The opcode mapping would be:}
-% FIXME: This should be a tabular or the like, not a verbatim
-\begin{verbatim}
-            \       Line advance
-   Operation \
-     Advance  \ -3  -2  -1   0   1   2   3   4   5   6   7   8
+\begin{alltt}\textit{
+                        Line Advance
+   Operation  
+     Advance    -3  -2  -1   0   1   2   3   4   5   6   7   8
    ---------   -----------------------------------------------
            0    13  14  15  16  17  18  19  20  21  22  23  24
            1    25  26  27  28  29  30  31  32  33  34  35  36
@@ -851,7 +842,7 @@ available for the maximum \addtoindex{operation advance} (see below).}
           18   229 230 231 232 233 234 235 236 237 238 239 240 
           19   241 242 243 244 245 246 247 248 249 250 251 252
           20   253 254 255
-\end{verbatim}
+}\end{alltt}
 
 
 \textit{There is no requirement that the expression 
@@ -868,7 +859,8 @@ actions performed by these opcodes are as follows:
 \begin{enumerate}[1.]
 
 \item \textbf{DW\-\_LNS\-\_copy} \\
-The \livetarg{chap:DWLNScopy}{DW\-\_LNS\-\_copy} opcode takes no operands. It appends a row
+The \livetarg{chap:DWLNScopy}{DW\-\_LNS\-\_copy} 
+opcode takes no operands. It appends a row
 to the matrix using the current values of the state machine
 registers. Then it sets the \addtoindex{discriminator} register to 0,
 and sets the \addtoindex{basic\_block}, 
@@ -877,24 +869,27 @@ and sets the \addtoindex{basic\_block},
 registers to ``false.''
 
 \item \textbf{DW\-\_LNS\-\_advance\-\_pc} \\
-The \livetarg{chap:DWLNSadvancepc}{DW\-\_LNS\-\_advance\-\_pc} opcode takes a single unsigned LEB128
+The \livetarg{chap:DWLNSadvancepc}{DW\-\_LNS\-\_advance\-\_pc} 
+opcode takes a single unsigned LEB128\addtoindexx{LEB128!unsigned}
 operand as the \addtoindex{operation advance} and modifies the address
 and \addtoindex{op\_index} registers as specified in 
 Section \refersec{chap:specialopcodes}.
 
 \item \textbf{DW\-\_LNS\-\_advance\-\_line} \\
-The \livetarg{chap:DWLNSadvanceline}{DW\-\_LNS\-\_advance\-\_line} opcode takes a single signed LEB128
+The \livetarg{chap:DWLNSadvanceline}{DW\-\_LNS\-\_advance\-\_line} 
+opcode takes a single signed LEB128\addtoindexx{LEB128!signed}
 operand and adds that value to the line register of the
 state machine.
 
 \item \textbf{DW\-\_LNS\-\_set\-\_file} \\ 
 The \livetarg{chap:DWLNSsetfile}{DW\-\_LNS\-\_set\-\_file} opcode takes a single
-unsigned LEB128 operand and stores it in the file register
+unsigned LEB128\addtoindexx{LEB128!unsigned} 
+operand and stores it in the file register
 of the state machine.
 
 \item \textbf{DW\-\_LNS\-\_set\-\_column} \\ 
 The \livetarg{chap:DWLNSsetcolumn}{DW\-\_LNS\-\_set\-\_column} opcode takes a
-single unsigned LEB128 operand and stores it in the column
+single unsigned LEB128\addtoindexx{LEB128!unsigned} operand and stores it in the column
 register of the state machine.
 
 \item \textbf{DW\-\_LNS\-\_negate\-\_stmt} \\
@@ -929,15 +924,16 @@ or more bytes.}
 
 \item \textbf{DW\-\_LNS\-\_fixed\-\_advance\-\_pc} \\ 
 The \livetarg{chap:DWLNSfixedadvancepc}{DW\-\_LNS\-\_fixed\-\_advance\-\_pc} opcode
-takes a single \addtoindex(uhalf) (unencoded) operand and adds it to the
+takes a single \addtoindex{uhalf} (unencoded) operand and adds it to the
 address register of the state machine and sets the op\_index
 register to 0. This is the only standard opcode whose operand
 is \textbf{not} a variable length number. It also does 
 \textbf{not} multiply the
 operand by the \addtoindex{minimum\_instruction\_length} field of the header.
 
-\textit{Existing assemblers cannot emit \livelink{chap:DWLNSadvancepc}{DW\-\_LNS\-\_advance\-\_pc} or special
-opcodes because they cannot encode LEB128 numbers or judge when
+\textit{Existing assemblers cannot emit 
+\livelink{chap:DWLNSadvancepc}{DW\-\_LNS\-\_advance\-\_pc} or special
+opcodes because they cannot encode \addtoindex{LEB128} numbers or judge when
 the computation of a special opcode overflows and requires
 the use of \livelink{chap:DWLNSadvancepc}{DW\-\_LNS\-\_advance\-\_pc}. Such assemblers, however, can
 use \livelink{chap:DWLNSfixedadvancepc}{DW\-\_LNS\-\_fixed\-\_advance\-\_pc} instead, sacrificing compression.}
@@ -995,7 +991,7 @@ subroutines).}
 
 \item \textbf{DW\-\_LNS\-\_set\-\_isa} \\
 The \livetarg{chap:DWLNSsetisa}{DW\-\_LNS\-\_set\-\_isa} opcode takes a single
-unsigned LEB128 operand and stores that value in the 
+unsigned LEB128\addtoindexx{LEB128!unsigned} operand and stores that value in the 
 \addtoindex{isa}
 register of the state machine.
 \end{enumerate}
@@ -1046,14 +1042,15 @@ to either the compilation directory (as specified by the
 or one of the directories in the 
 \addtoindex{include\_directories} section.
 
-\item An unsigned LEB128 number representing the directory index
+\item An unsigned LEB128\addtoindexx{LEB128!unsigned} 
+number representing the directory index
 of the directory in which the file was found.  
 
-\item An unsigned
-LEB128 number representing the time of last modification
+\item An unsigned LEB128\addtoindexx{LEB128!unsigned} 
+number representing the time of last modification
 of the file, or 0 if not available.  
 
-\item An unsigned LEB128
+\item An unsigned LEB128\addtoindexx{LEB128!unsigned}
 number representing the length in bytes of the file, or 0 if
 not available.
 \end{enumerate}
@@ -1078,7 +1075,8 @@ in the file register of the state machine.
 \item \textbf{DW\-\_LNE\-\_set\-\_discriminator} \\
 The \livetarg{chap:DWLNEsetdiscriminator}{DW\-\_LNE\-\_set\-\_discriminator}
 opcode takes a single
-parameter, an unsigned LEB128 integer. It sets the
+parameter, an unsigned LEB128\addtoindexx{LEB128!unsigned} 
+integer. It sets the
 \addtoindex{discriminator} register to the new value.
 
 
@@ -1491,7 +1489,7 @@ This number is specific to the call frame information
 and is independent of the DWARF version number.
 
 
-\item  augmentation (UTF\dash 8 string) \\
+\item  augmentation (\addtoindex{UTF\dash 8} string) \\
 A null\dash terminated UTF\dash 8 string that identifies the augmentation
 to this CIE or to the FDEs that use it. If a reader encounters
 an augmentation string that is unexpected, then only the
@@ -1529,7 +1527,8 @@ The \addtoindexx{segment\_size}
 size of a segment selector in this CIE and any FDEs that
 use it, in bytes.
 
-\item  \addtoindex{code\_alignment\_factor} (unsigned LEB128) \\
+\item  \addtoindex{code\_alignment\_factor} (unsigned LEB128) 
+\addtoindexx{LEB128!unsigned}\addtoindexx{unsigned LEB128|see{LEB128, unsigned}} \\
 \addtoindex{code alignment factor}
 A 
 \addtoindexx{\textless caf\textgreater|see{code alignment factor}}
@@ -1538,7 +1537,8 @@ instructions (see
 Section \refersec{chap:rowcreationinstructions}).
 
 
-\item  \addtoindex{data\_alignment\_factor} (signed LEB128) \\
+\item  \addtoindex{data\_alignment\_factor} (signed LEB128)
+\addtoindexx{LEB128!signed}\addtoindexx{signed LEB128|see{LEB128, signed}} \\
 \addtoindexx{data alignment factor}
 A 
 \addtoindexx{\textless daf\textgreater|see{data alignment factor}}
@@ -1546,7 +1546,7 @@ constant that is factored out of certain offset instructions
 (see below). The resulting value is  \textit{(operand *
 data\_alignment\_factor)}.
 
-\item  return\_address\_register (unsigned LEB128) \\
+\item  return\_address\_register (unsigned LEB128)\addtoindexx{LEB128!unsigned} \\
 An unsigned LEB128 constant that indicates which column in the
 rule table represents the return address of the function. Note
 that this column might not correspond to an actual machine
@@ -1684,7 +1684,7 @@ and size of the delta operand.
 
 \item \textbf{DW\-\_CFA\-\_advance\-\_loc2} \\
 The \livetarg{chap:DWCFAadvanceloc2}{DW\-\_CFA\-\_advance\-\_loc2} instruction takes a single
-\addtoindex(uhalf)
+\addtoindex{uhalf}
 operand that represents a constant delta. This instruction
 is identical to \livelink{chap:DWCFAadvanceloc}{DW\-\_CFA\-\_advance\-\_loc} except for the encoding
 and size of the delta operand.
@@ -1703,23 +1703,26 @@ and size of the delta operand.
 
 \begin{enumerate}[1.]
 \item \textbf{DW\-\_CFA\-\_def\-\_cfa} \\
-The \livetarg{chap:DWCFAdefcfa}{DW\-\_CFA\-\_def\-\_cfa} instruction takes two unsigned LEB128
+The \livetarg{chap:DWCFAdefcfa}{DW\-\_CFA\-\_def\-\_cfa}
+instruction takes two unsigned LEB128\addtoindexx{LEB128!unsigned}
 operands representing a register number and a (non\dash factored)
 offset. The required action is to define the current CFA rule
 to use the provided register and offset.
 
 \item \textbf{ DW\-\_CFA\-\_def\-\_cfa\-\_sf} \\
 The \livetarg{chap:DWCFAdefcfasf}{DW\-\_CFA\-\_def\-\_cfa\-\_sf} instruction takes two operands:
-an unsigned LEB128 value representing a register number and a
-signed LEB128 factored offset. This instruction is identical
+an unsigned LEB128 value\addtoindexx{LEB128!unsigned}
+representing a register number and a
+signed LEB128\addtoindexx{LEB128!signed} factored offset. This instruction is identical
 to \livelink{chap:DWCFAdefcfa}{DW\-\_CFA\-\_def\-\_cfa} except that the second operand is signed
 and factored. The resulting offset is factored\_offset *
 \addtoindex{data\_alignment\_factor}.
 
 
 \item \textbf{DW\-\_CFA\-\_def\-\_cfa\-\_register} \\
-The \livetarg{chap:DWCFAdefcfaregister}{DW\-\_CFA\-\_def\-\_cfa\-\_register} instruction takes a single
-unsigned LEB128 operand representing a register number. The
+The \livetarg{chap:DWCFAdefcfaregister}{DW\-\_CFA\-\_def\-\_cfa\-\_register} 
+instruction takes a single
+unsigned LEB128\addtoindexx{LEB128!unsigned} operand representing a register number. The
 required action is to define the current CFA rule to use
 the provided register (but to keep the old offset). This
 operation is valid only if the current CFA rule is defined
@@ -1729,7 +1732,7 @@ to use a register and offset.
 
 \item \textbf{DW\-\_CFA\-\_def\-\_cfa\-\_offset} \\
 The \livetarg{chap:DWCFAdefcfaoffset}{DW\-\_CFA\-\_def\-\_cfa\-\_offset} instruction takes a single
-unsigned LEB128 operand representing a (non-factored)
+unsigned LEB128\addtoindexx{LEB128!unsigned} operand representing a (non-factored)
 offset. The required action is to define the current CFA rule
 to use the provided offset (but to keep the old register). This
 operation is valid only if the current CFA rule is defined
@@ -1738,7 +1741,7 @@ to use a register and offset.
 
 \item \textbf{DW\-\_CFA\-\_def\-\_cfa\-\_offset\-\_sf} \\
 The \livetarg{chap:DWCFAdefcfaoffsetsf}{DW\-\_CFA\-\_def\-\_cfa\-\_offset\-\_sf} instruction takes a signed
-LEB128 operand representing a factored offset. This instruction
+LEB128\addtoindexx{LEB128!signed} operand representing a factored offset. This instruction
 is identical to \livelink{chap:DWCFAdefcfaoffset}{DW\-\_CFA\-\_def\-\_cfa\-\_offset} except that the
 operand is signed and factored. The resulting offset is
 factored\_offset * \addtoindex{data\_alignment\_factor}.
@@ -1747,16 +1750,17 @@ is valid only if the current CFA rule is defined to use a
 register and offset.
 
 \item \textbf{DW\-\_CFA\-\_def\-\_cfa\-\_expression} \\
-The \livetarg{chap:DWCFAdefcfaexpression}{DW\-\_CFA\-\_def\-\_cfa\-\_expression} instruction takes a 
+The \livetarg{chap:DWCFAdefcfaexpression}{DW\-\_CFA\-\_def\-\_cfa\-\_expression} 
+instruction takes a 
 \addtoindexx{exprloc class}
-single
-operand encoded as a \livelink{chap:DWFORMexprloc}{DW\-\_FORM\-\_exprloc} value representing a
+single operand encoded as a 
+\livelink{chap:DWFORMexprloc}{DW\-\_FORM\-\_exprloc} value representing a
 DWARF expression. The required action is to establish that
 expression as the means by which the current CFA is computed.
-See 
-Section \refersec{chap:callframeinstructions} 
+
+\textit{See Section \refersec{chap:callframeinstructions} 
 regarding restrictions on the DWARF
-expression operators that can be used.
+expression operators that can be used.}
 
 \end{enumerate}
 
@@ -1766,19 +1770,19 @@ expression operators that can be used.
 \begin{enumerate}[1.]
 \item \textbf{DW\-\_CFA\-\_undefined} \\
 The \livetarg{chap:DWCFAundefined}{DW\-\_CFA\-\_undefined} instruction takes a single unsigned
-LEB128 operand that represents a register number. The required
+LEB128\addtoindexx{LEB128!unsigned} operand that represents a register number. The required
 action is to set the rule for the specified register to
 ``undefined.''
 
 \item \textbf{DW\-\_CFA\-\_same\-\_value} \\
 The \livetarg{chap:DWCFAsamevalue}{DW\-\_CFA\-\_same\-\_value} instruction takes a single unsigned
-LEB128 operand that represents a register number. The required
+LEB128 operand\addtoindexx{LEB128!unsigned} that represents a register number. The required
 action is to set the rule for the specified register to
 ``same value.''
 
 \item \textbf{DW\-\_CFA\-\_offset} \\
 The \livetarg{chap:DWCFAoffset}{DW\-\_CFA\-\_offset} instruction takes two operands: a register
-number (encoded with the opcode) and an unsigned LEB128
+number (encoded with the opcode) and an unsigned LEB128\addtoindexx{LEB128!unsigned}
 constant representing a factored offset. The required action
 is to change the rule for the register indicated by the
 register number to be an offset(N) rule where the value of
@@ -1786,22 +1790,28 @@ N is
 \textit{factored offset * \addtoindex{data\_alignment\_factor}}.
 
 \item \textbf{DW\-\_CFA\-\_offset\-\_extended} \\
-The \livetarg{chap:DWCFAoffsetextended}{DW\-\_CFA\-\_offset\-\_extended} instruction takes two unsigned
-LEB128 operands representing a register number and a factored
-offset. This instruction is identical to \livelink{chap:DWCFAoffset}{DW\-\_CFA\-\_offset} except
-for the encoding and size of the register operand.
+The \livetarg{chap:DWCFAoffsetextended}{DW\-\_CFA\-\_offset\-\_extended} 
+instruction takes two unsigned LEB128\addtoindexx{LEB128!unsigned} 
+operands representing a register number and a factored
+offset. This instruction is identical to
+\livelink{chap:DWCFAoffset}{DW\-\_CFA\-\_offset} 
+except for the encoding and size of the register operand.
 
 \item \textbf{ DW\-\_CFA\-\_offset\-\_extended\-\_sf} \\
-The \livetarg{chap:DWCFAoffsetextendedsf}{DW\-\_CFA\-\_offset\-\_extended\-\_sf} instruction takes two operands:
-an unsigned LEB128 value representing a register number and a
+The \livetarg{chap:DWCFAoffsetextendedsf}{DW\-\_CFA\-\_offset\-\_extended\-\_sf} 
+instruction takes two operands:
+an unsigned LEB128\addtoindexx{LEB128!unsigned} 
+value representing a register number and a
 signed LEB128 factored offset. This instruction is identical
-to \livelink{chap:DWCFAoffsetextended}{DW\-\_CFA\-\_offset\-\_extended} except that the second operand is
+to \livelink{chap:DWCFAoffsetextended}{DW\-\_CFA\-\_offset\-\_extended} 
+except that the second operand is
 signed and factored. The resulting offset is 
 \textit{factored\_offset * \addtoindex{data\_alignment\_factor}}.
 
 \item \textbf{DW\-\_CFA\-\_val\-\_offset} \\
-The \livetarg{chap:DWCFAvaloffset}{DW\-\_CFA\-\_val\-\_offset} instruction takes two unsigned
-LEB128 operands representing a register number and a
+The \livetarg{chap:DWCFAvaloffset}{DW\-\_CFA\-\_val\-\_offset} 
+instruction takes two unsigned
+LEB128 operands\addtoindexx{LEB128!unsigned} representing a register number and a
 factored offset. The required action is to change the rule
 for the register indicated by the register number to be a
 val\_offset(N) rule where the value of N is 
@@ -1809,14 +1819,15 @@ val\_offset(N) rule where the value of N is
 
 \item \textbf{DW\-\_CFA\-\_val\-\_offset\-\_sf} \\
 The \livetarg{chap:DWCFAvaloffsetsf}{DW\-\_CFA\-\_val\-\_offset\-\_sf} instruction takes two operands: an
-unsigned LEB128 value representing a register number and a
-signed LEB128 factored offset. This instruction is identical
+unsigned LEB128\addtoindexx{LEB128!unsigned} value representing a register number and a
+signed LEB128\addtoindexx{LEB128!signed} factored offset. This instruction is identical
 to \livelink{chap:DWCFAvaloffset}{DW\-\_CFA\-\_val\-\_offset} except that the second operand is signed
 and factored. The resulting offset is 
 \textit{factored\_offset * \addtoindex{data\_alignment\_factor}}.
 
 \item \textbf{DW\-\_CFA\-\_register} \\
-The \livetarg{chap:DWCFAregister}{DW\-\_CFA\-\_register} instruction takes two unsigned LEB128
+The \livetarg{chap:DWCFAregister}{DW\-\_CFA\-\_register} 
+instruction takes two unsigned LEB128\addtoindexx{LEB128!unsigned}
 operands representing register numbers. The required action
 is to set the rule for the first register to be register(R)
 where R is the second register.
@@ -1824,7 +1835,8 @@ where R is the second register.
 \item \textbf{DW\-\_CFA\-\_expression} \\
 The \livetarg{chap:DWCFAexpression}{DW\-\_CFA\-\_expression} 
 instruction takes two operands: an
-unsigned LEB128 value representing a register number, and
+unsigned LEB128\addtoindexx{LEB128!unsigned} 
+value representing a register number, and
 a \livelink{chap:DWFORMblock}{DW\-\_FORM\-\_block} 
 value representing a DWARF expression. 
 The
@@ -1835,13 +1847,14 @@ expression computes the address. The value of the CFA is
 pushed on the DWARF evaluation stack prior to execution of
 the DWARF expression.
 
-See Section \refersec{chap:callframeinstructions} 
+\textit{See Section \refersec{chap:callframeinstructions} 
 regarding restrictions on the DWARF
-expression operators that can be used.
+expression operators that can be used.}
 
 \item \textbf{DW\-\_CFA\-\_val\-\_expression} \\
 The \livetarg{chap:DWCFAvalexpression}{DW\-\_CFA\-\_val\-\_expression} instruction takes two operands:
-an unsigned LEB128 value representing a register number, and
+an unsigned LEB128\addtoindexx{LEB128!unsigned} 
+value representing a register number, and
 a \livelink{chap:DWFORMblock}{DW\-\_FORM\-\_block} 
 value representing a DWARF expression. The
 required action is to change the rule for the register
@@ -1851,9 +1864,9 @@ expression computes the value of the given register. The value
 of the CFA is pushed on the DWARF evaluation stack prior to
 execution of the DWARF expression.
 
-See Section \refersec{chap:callframeinstructions} 
+\textit{See Section \refersec{chap:callframeinstructions} 
 regarding restrictions on the DWARF
-expression operators that can be used.
+expression operators that can be used.}
 
 \item \textbf{ DW\-\_CFA\-\_restore} \\
 The \livetarg{chap:DWCFArestore}{DW\-\_CFA\-\_restore} instruction takes a single operand (encoded
@@ -1863,8 +1876,9 @@ register to the rule assigned it by the initial\_instructions
 in the CIE.
 
 \item \textbf{DW\-\_CFA\-\_restore\-\_extended} \\
-The \livetarg{chap:DWCFArestoreextended}{DW\-\_CFA\-\_restore\-\_extended} instruction takes a single unsigned
-LEB128 operand that represents a register number. This
+The \livetarg{chap:DWCFArestoreextended}{DW\-\_CFA\-\_restore\-\_extended}
+instruction takes a single unsigned LEB128\addtoindexx{LEB128!unsigned} 
+operand that represents a register number. This
 instruction is identical to \livelink{chap:DWCFArestore}{DW\-\_CFA\-\_restore} except for the
 encoding and size of the register operand.