1) Change to T1 (instead of OT1) font encoding
authorRon Brender <ron.brender@gmail.com>
Thu, 25 Apr 2013 21:34:54 +0000 (17:34 -0400)
committerRon Brender <ron.brender@gmail.com>
Thu, 25 Apr 2013 21:34:54 +0000 (17:34 -0400)
2) Try out new fonts
3) Redo figure in Appendix B using TikZ
4) Ad hoc ff ligature fixups

Signed-off-by: Ron Brender <ron.brender@gmail.com>
dwarf5/latexdoc/attributesbytag.tex
dwarf5/latexdoc/copyright.tex
dwarf5/latexdoc/datarepresentation.tex
dwarf5/latexdoc/debugsectionrelationships.tex
dwarf5/latexdoc/dwarf5.tex
dwarf5/latexdoc/dwarfnamecmds.tex [new file with mode: 0644]
dwarf5/latexdoc/examples.tex
dwarf5/latexdoc/foreword.tex
dwarf5/latexdoc/generaldescription.tex
dwarf5/latexdoc/programscope.tex
dwarf5/latexdoc/typeentries.tex

index a383d19..272306e 100644 (file)
@@ -16,14 +16,13 @@ cannot be considered definitive.
 
 In the following table,
 \addtoindex{DECL} 
-means includes all three of the
+means include all three of the
 \addtoindex{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}.
 
-
 \label{tab:attributesbytag}
 \setlength{\extrarowheight}{0.1cm}
 \begin{longtable}{l|p{8cm}}
@@ -36,6 +35,7 @@ means includes all three of the
 \endfoot
   \hline
 \endlastfoot
+
 \livelink{chap:DWTAGaccessdeclaration}{DW\-\_TAG\-\_access\-\_declaration} 
 & DECL \\
 &\livelink{chap:DWATaccessibility}{DW\-\_AT\-\_accessibility} \\
@@ -88,7 +88,7 @@ means includes all three of the
 
 \hline
 \livelink{chap:DWTAGcatchblock}{DW\-\_TAG\-\_catch\-\_block}
-&DECL \\
+&DECL \\*
 &\livelink{chap:DWATabstractorigin}{DW\-\_AT\-\_abstract\-\_origin} \\
 &\livelink{chap:DWAThighpc}{DW\-\_AT\-\_high\-\_pc} \\
 &\livelink{chap:DWATlowpc}{DW\-\_AT\-\_low\-\_pc} \\
@@ -382,8 +382,8 @@ means includes all three of the
 &\livelink{chap:DWATpriority}{DW\-\_AT\-\_priority} \\
 &\livelink{chap:DWATranges}{DW\-\_AT\-\_ranges} \\
 &\livelink{chap:DWATsegment}{DW\-\_AT\-\_segment} \\
-&\livelink{chap:DWATsibling}{DW\-\_AT\-\_sibling} \\
-&\livelink{chap:DWATspecification}{DW\-\_AT\-\_specification} \\
+&\livelink{chap:DWATsibling}{DW\-\_AT\-\_sibling} \\*
+&\livelink{chap:DWATspecification}{DW\-\_AT\-\_specification} \\*
 &\livelink{chap:DWATvisibility}{DW\-\_AT\-\_visibility} \\
 
 \hline
@@ -468,8 +468,8 @@ means includes all three of the
 
 \hline
 \livelink{chap:DWTAGreferencetype}{DW\-\_TAG\-\_reference\-\_type}
-&\livelink{chap:DWATaddressclass}{DW\-\_AT\-\_address\-\_class}  \\
-&\livelink{chap:DWATallocated}{DW\-\_AT\-\_allocated}  \\
+&\livelink{chap:DWATaddressclass}{DW\-\_AT\-\_address\-\_class}  \\*
+&\livelink{chap:DWATallocated}{DW\-\_AT\-\_allocated}  \\*
 &\livelink{chap:DWATassociated}{DW\-\_AT\-\_associated}  \\
 &\livelink{chap:DWATdatalocation}{DW\-\_AT\-\_data\-\_location}  \\
 &\livelink{chap:DWATname}{DW\-\_AT\-\_name}  \\
@@ -618,8 +618,8 @@ means includes all three of the
 &\livelink{chap:DWATname}{DW\-\_AT\-\_name}  \\
 &\livelink{chap:DWATsibling}{DW\-\_AT\-\_sibling}  \\
 &\livelink{chap:DWATthreadsscaled}{DW\-\_AT\-\_threads\-\_scaled}  \\
-&\livelink{chap:DWATtype}{DW\-\_AT\-\_type}  \\
-&\livelink{chap:DWATupperbound}{DW\-\_AT\-\_upper\-\_bound}  \\
+&\livelink{chap:DWATtype}{DW\-\_AT\-\_type}  \\*
+&\livelink{chap:DWATupperbound}{DW\-\_AT\-\_upper\-\_bound}  \\*
 &\livelink{chap:DWATvisibility}{DW\-\_AT\-\_visibility}  \\
 
 \hline
@@ -794,19 +794,18 @@ means includes all three of the
 &\livelink{chap:DWATname}{DW\-\_AT\-\_name}    \\
 &\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}    \\
-&\livelink{chap:DWATdeclaration}{DW\-\_AT\-\_declaration}    \\
-&\livelink{chap:DWAThighpc}{DW\-\_AT\-\_high\-\_pc}    \\
-&\livelink{chap:DWATlocation}{DW\-\_AT\-\_location}    \\
-&\livelink{chap:DWATlowpc}{DW\-\_AT\-\_low\-\_pc}    \\
-&\livelink{chap:DWATranges}{DW\-\_AT\-\_ranges}    \\
-&\livelink{chap:DWATsegment}{DW\-\_AT\-\_segment}    \\
-&\livelink{chap:DWATsibling}{DW\-\_AT\-\_sibling}    \\
-&\livelink{chap:DWATtype}{DW\-\_AT\-\_type}    \\
-&\livelink{chap:DWATvisibility}{DW\-\_AT\-\_visibility}    \\
+&\livelink{chap:DWATaccessibility}{DW\-\_AT\-\_accessibility}    \\*
+&\livelink{chap:DWATaddressclass}{DW\-\_AT\-\_address\-\_class}    \\*
+&\livelink{chap:DWATdeclaration}{DW\-\_AT\-\_declaration}    \\*
+&\livelink{chap:DWAThighpc}{DW\-\_AT\-\_high\-\_pc}    \\*
+&\livelink{chap:DWATlocation}{DW\-\_AT\-\_location}    \\*
+&\livelink{chap:DWATlowpc}{DW\-\_AT\-\_low\-\_pc}    \\*
+&\livelink{chap:DWATranges}{DW\-\_AT\-\_ranges}    \\*
+&\livelink{chap:DWATsegment}{DW\-\_AT\-\_segment}    \\*
+&\livelink{chap:DWATsibling}{DW\-\_AT\-\_sibling}    \\*
+&\livelink{chap:DWATtype}{DW\-\_AT\-\_type}    \\*
+&\livelink{chap:DWATvisibility}{DW\-\_AT\-\_visibility}    \\*
 \end{longtable}
index c33d7dd..709bdf6 100644 (file)
@@ -1,4 +1,4 @@
-\renewcommand{\abstractname}{Copyright}
+\renewcommand{\abstractname}{\Large Copyright}
 \setlength{\parindent}{0pt}
 \begin{abstract}
 \setlength{\parindent}{0pt}
index f5ce5f2..29901f3 100644 (file)
@@ -558,13 +558,13 @@ Table \refersec{tab:tagencodings}.
 \livelink{chap:DWTAGunspecifiedtype}{DW\-\_TAG\-\_unspecified\-\_type}&0x3b      \\
 \livelink{chap:DWTAGpartialunit}{DW\-\_TAG\-\_partial\-\_unit}&0x3c      \\
 \livelink{chap:DWTAGimportedunit}{DW\-\_TAG\-\_imported\-\_unit}&0x3d      \\
-\livelink{chap:DWTAGcondition}{DW\-\_TAG\-\_condition}&0x3f      \\
+\livelink{chap:DWTAGcondition}{DW\-\_TAG\-\_condition}&\xiiif      \\
 \livelink{chap:DWTAGsharedtype}{DW\-\_TAG\-\_shared\-\_type}&0x40      \\
 \livelink{chap:DWTAGtypeunit}{DW\-\_TAG\-\_type\-\_unit} \ddag &0x41      \\
 \livelink{chap:DWTAGrvaluereferencetype}{DW\-\_TAG\-\_rvalue\-\_reference\-\_type} \ddag &0x42      \\
 \livelink{chap:DWTAGtemplatealias}{DW\-\_TAG\-\_template\-\_alias} \ddag &0x43      \\
 \livelink{chap:DWTAGlouser}{DW\-\_TAG\-\_lo\-\_user}&0x4080      \\
-\livelink{chap:DWTAGhiuser}{DW\-\_TAG\-\_hi\-\_user}&0xffff      \\
+\livelink{chap:DWTAGhiuser}{DW\-\_TAG\-\_hi\-\_user}&\xffff      \\
 \end{longtable}
 \end{centering}
 
@@ -647,7 +647,7 @@ class is a set of forms which have related representations
 and which are given a common interpretation according to the
 attribute in which the form is used.
 
-Form \livelink{chap:DWFORMsecoffset}{DW\-\_FORM\-\_sec\-\_offset} 
+Form \livetarg{chap:DWFORMsecoffset}{DW\-\_FORM\-\_sec\-\_offset} 
 is a member of more 
 \addtoindexx{rangelistptr class}
 than 
@@ -1107,7 +1107,7 @@ Table \refersec{tab:attributeformencodings}.
         \addtoindexx{discriminant list attribute!encoding}  \\
 \livelink{chap:DWATencoding}{DW\-\_AT\-\_encoding}&0x3e&constant 
         \addtoindexx{encoding attribute!encoding}  \\
-\livelink{chap:DWATexternal}{DW\-\_AT\-\_external}&0x3f&\livelink{chap:flag}{flag} 
+\livelink{chap:DWATexternal}{DW\-\_AT\-\_external}&\xiiif&\livelink{chap:flag}{flag} 
         \addtoindexx{external attribute!encoding}  \\
 \livelink{chap:DWATframebase}{DW\-\_AT\-\_frame\-\_base}&0x40&\livelink{chap:exprloc}{exprloc}, 
         \livelink{chap:loclistptr}{loclistptr} \addtoindexx{frame base attribute!encoding}  \\
@@ -1206,7 +1206,7 @@ Table \refersec{tab:attributeformencodings}.
 \livelink{chap:DWATlinkagename}{DW\-\_AT\-\_linkage\-\_name} \ddag &0x6e&string 
         \addtoindexx{linkage name attribute!encoding}  \\
 \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}  \\
+\livetarg{chap:DWAThiuser}{DW\-\_AT\-\_hi\-\_user}&\xiiifff& --- \addtoindexx{high user attribute encoding}  \\
 
 \end{longtable} 
 \end{centering}
@@ -1488,7 +1488,7 @@ Table \refersec{tab:dwarfoperationencodings}.
 &&&\nolink{block} of that size\\
 \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 && \\
+\livetarg{chap:DWOPhiuser}{DW\-\_OP\-\_hi\-\_user} &\xff && \\
 
 \end{longtable}
 \end{centering}
@@ -1568,7 +1568,7 @@ Table \refersec{tab:basetypeencodingvalues}
 \livelink{chap:DWATEdecimalfloat}{DW\-\_ATE\-\_decimal\-\_float} & 0x0f \\
 \livelink{chap:DWATEUTF}{DW\-\_ATE\-\_UTF} \ddag & 0x10 \\
 \livetarg{chap:DWATElouser}{DW\-\_ATE\-\_lo\-\_user} & 0x80 \\
-\livetarg{chap:DWATEhiuser}{DW\-\_ATE\-\_hi\-\_user} & 0xff \\
+\livetarg{chap:DWATEhiuser}{DW\-\_ATE\-\_hi\-\_user} & \xff \\
 
 \end{longtable}
 \end{centering}
@@ -1623,7 +1623,7 @@ Table \refersec{tab:endianityencodings}.
 \livelink{chap:DWENDbig}{DW\-\_END\-\_big} & 0x01 \\
 \livelink{chap:DWENDlittle}{DW\-\_END\-\_little} & 0x02 \\
 \livetarg{chap:DWENDlouser}{DW\-\_END\-\_lo\-\_user} & 0x40 \\
-\livetarg{chap:DWENDhiuser}{DW\-\_END\-\_hi\-\_user} & 0xff \\
+\livetarg{chap:DWENDhiuser}{DW\-\_END\-\_hi\-\_user} & \xff \\
 
 \end{longtable}
 \end{centering}
@@ -1777,7 +1777,7 @@ defined language.
 \livelink{chap:DWLANGD}{DW\-\_LANG\-\_D}&0x0013&0 \\
 \livelink{chap:DWLANGPython}{DW\-\_LANG\-\_Python} \dag &0x0014&0 \\
 \livetarg{chap:DWLANGlouser}{DW\-\_LANG\-\_lo\-\_user}&0x8000 & \\
-\livetarg{chap:DWLANGhiuser}{DW\-\_LANG\-\_hi\-\_user}&0xffff & \\
+\livetarg{chap:DWLANGhiuser}{DW\-\_LANG\-\_hi\-\_user}&\xffff & \\
 
 \end{longtable}
 \end{centering}
@@ -1840,7 +1840,7 @@ Table \refersec{tab:callingconventionencodings}.
 \livelink{chap:DWCCprogram}{DW\-\_CC\-\_program}&0x02     \\
 \livelink{chap:DWCCnocall}{DW\-\_CC\-\_nocall}&0x03     \\
 \livetarg{chap:DWCClouser}{DW\-\_CC\-\_lo\-\_user}&0x40     \\
-\livetarg{chap:DWCChiuser}{DW\-\_CC\-\_hi\-\_user}&0xff     \\
+\livetarg{chap:DWCChiuser}{DW\-\_CC\-\_hi\-\_user}&\xff     \\
 
 \end{longtable}
 \end{centering}
@@ -2152,7 +2152,7 @@ Table \refersec{tab:linenumberextendedopcodeencodings}.
 \livelink{chap:DWLNEdefinefile}{DW\-\_LNE\-\_define\-\_file}&0x03\\
 \livelink{chap:DWLNEsetdiscriminator}{DW\-\_LNE\-\_set\-\_discriminator} \ddag &0x04   \\
 \livetarg{chap:DWLNElouser}{DW\-\_LNE\-\_lo\-\_user}&0x80   \\
-\livetarg{chap:DWLNEhiuser}{DW\-\_LNE\-\_hi\-\_user}&0xff   \\
+\livetarg{chap:DWLNEhiuser}{DW\-\_LNE\-\_hi\-\_user}&\xff   \\
 
 \end{longtable}
 \end{centering}
@@ -2189,7 +2189,7 @@ Table \refersec{tab:macinfotypeencodings}.
 \livelink{chap:DWMACINFOundef}{DW\-\_MACINFO\-\_undef}&0x02 \\
 \livelink{chap:DWMACINFOstartfile}{DW\-\_MACINFO\-\_start\-\_file}&0x03 \\
 \livelink{chap:DWMACINFOendfile}{DW\-\_MACINFO\-\_end\-\_file}&0x04 \\
-\livelink{chap:DWMACINFOvendorext}{DW\-\_MACINFO\-\_vendor\-\_ext}&0xff \\
+\livelink{chap:DWMACINFOvendorext}{DW\-\_MACINFO\-\_vendor\-\_ext}&\xff \\
 
 \end{longtable}
 \end{centering}
@@ -2256,7 +2256,7 @@ Table \refersec{tab:callframeinstructionencodings}.
 \livelink{chap:DWCFAvaloffsetsf}{DW\-\_CFA\-\_val\-\_offset\-\_sf}&0&0x15&ULEB128&SLEB128 \\
 \livelink{chap:DWCFAvalexpression}{DW\-\_CFA\-\_val\-\_expression}&0&0x16&ULEB128&BLOCK  \\
 \livetarg{chap:DWCFAlouser}{DW\-\_CFA\-\_lo\-\_user}&0&0x1c   & & \\
-\livetarg{chap:DWCFAhiuser}{DW\-\_CFA\-\_hi\-\_user}&0&0x3f & & \\
+\livetarg{chap:DWCFAhiuser}{DW\-\_CFA\-\_hi\-\_user}&0&\xiiif & & \\
 \end{longtable}
 \end{centering}
 
index 265a2bb..be74798 100644 (file)
@@ -8,83 +8,67 @@ or more of the others. These relationships are illustrated by
 the diagram and associated notes on the following pages.
 
 \begin{figure}[h]
-% picture gets width and height of the picture drawn
-% so latex knows how big it is (latex does not calculate
-% the space you need to make it fit, you do).
-\begin{picture}(320,300)
-% Footnotesize keeps the text small-size so it fits
-% in the boxes and ellipses
-\footnotesize
-% Thicklines makes the lines more visible.
-\Thicklines
-  \put(5,208) { \addtoindex{.debug\_aranges} }
-  \put(40,210) { \ellipse{80}{30}}
-  \put(180,208) { \addtoindex{.debug\_frame} }
-  \put(210,210) { \ellipse{80}{30}}
-  \put(347,208) { \addtoindex{.debug\_abbrev} }
-  \put(380,210) { \ellipse{80}{30}}
-
-  \drawline[1](40,195)(40,181)
-  \put(-10,165){\framebox(110,15){To compilation unit (a)} }
-  \drawline[1](40,165)(40,151)(37,158) 
-  \put(352,168) { \addtoindex{.debug\_str} }
-  \put(380,170) {\ellipse{80}{30}}
-
-  \put(10,133) { \addtoindex{.debug\_info} }
-  \put(10,123) { \addtoindex{.debug\_types} }
-  \put(40,130) {\ellipse{80}{40}}
-
-
-  \put(350,128) { \addtoindex{.debug\_loc} }
-  \put(380,130) {\ellipse{80}{30}}
-
-  \put(345,88) { \addtoindex{.debug\_ranges} }
-  \put(380,90) {\ellipse{80}{30}}
-
-  \drawline[1](75,141)(160,170)
-  \put(160,165){\framebox(110,15){To abbreviations (c)} }
-  \drawline[1](271,176)(345,205)(335,197)
-
-  \put(76,138){\line(6, 1){83}}
-  \put(160,140){\framebox(110,15){\livelink{chap:DWFORMstrp}{DW\-\_FORM\-\_strp} (d)} }
-  \drawline[1](271,150)(341,168)(332,162)
-
-  \drawline[1](160,125)(80,130)(90,134)
-  \put(160,115){\framebox(110,15){\livelink{chap:DWOPcallref}{DW\-\_OP\-\_call\-\_ref}(e)} }
-  \drawline[1](271,125)(340,128) 
-
-  \drawline[1](79,128)(160,100)
-  \put(160,90){\framebox(110,15){\livelink{chap:DWATlocation}{DW\-\_AT\-\_location} etc (f)} }
-  \drawline[1](271,100)(341,125)(332,118)
-
-  \drawline(79,125)(160,75)
-  \put(160,65){\framebox(110,15){\livelink{chap:DWATranges}{DW\-\_AT\-\_ranges} (g)} }
-  \drawline(271,75)(340,90)(332,85)
-
-  \drawline[1](77,121)(160,46)
-  \put(160,40){\framebox(110,15){\livelink{chap:DWATmacroinfo}{DW\-\_AT\-\_macro\-\_info} (h)} }
-  \drawline[1](271,46)(343,53)(332,49)
-
-  \drawline[1](71, 116)(160,20)
-  \put(160,15){\framebox(110,15){\livelink{chap:DWATstmtlist}{DW\-\_AT\-\_stmt\-\_list} (i)} }
-  \drawline[1](271,20)(343,10)(332,8)
-
-  \drawline[1](40,70)(40,110)(37,103)
-  \put(-10,55){\framebox(110,15){To compilation unit (b)} }
-  \drawline[1](40,35)(40,54)
-
-  \put(0,16) { \addtoindex{.debug\_pubnames} }
-  \put(0,6) { \addtoindex{.debug\_pubtypes} } 
-  \put(40, 15) { \ellipse{100}{40}}
-
-
-  \put(345,48) { \addtoindex{.debug\_macinfo} }
-  \put(380,50) { \ellipse{80}{30}}
-
-  \put(350,8) { \addtoindex{.debug\_line} }
-  \put(380,10) { \ellipse{80}{30}}
-
-\end{picture}
+\small
+\begin{tikzpicture}
+    [sect/.style={rectangle, rounded corners, draw, fill=blue!20, inner sep=.2cm, minimum width=4.5cm},
+        link/.style={rectangle,                  draw,               inner sep=.2cm, minimum width=5.0cm}]
+
+% The left column, first sections, then links, from top to bottom
+%
+\node(zsectara) at ( 0, 10.) [sect] {\dotdebugaranges};
+\node(zlinka)   at ( 0, 8.0) [link] {To compilation unit (a)};
+\node(zsectinf) at ( 0, 5.0) [sect] {\begin{tabular}{c} \dotdebuginfo \\ \dotdebugtypes \end{tabular}};
+\node(zlinkb)   at ( 0, 2.0) [link] {To compilation unit (b)};
+\node(zsectpub) at ( 0, 0.0) [sect] {\begin{tabular}{c} \dotdebugpubnames \\ \dotdebugpubtypes \end{tabular}};
+
+\draw[thick,-o]        (zlinka) -- (zsectara);
+\draw[thick,angle 90-] (zsectinf) -- (zlinka);
+\draw[thick,-angle 90] (zlinkb) -- (zsectinf);
+\draw[thick,o-]        (zsectpub) -- (zlinkb);
+
+% The middle column, similarly
+%
+\node(zsectfra) at (6, 10.) [sect] {\dotdebugframe};
+\node(zlinkc)   at (6,  8.) [link] {To abbreviations (c)};
+\node(zlinkd)   at (6,  7.) [link] {\DWFORMstrp{} (d)};
+\node(zlinke)   at (6,  6.) [link] {\DWOPcallref{} (e)};
+\node(zlinkf)   at (6,  5.) [link] {\DWATlocation{}, etc. (f)};
+\node(zlinkg)   at (6,  4.) [link] {\DWATranges{} (g)};
+\node(zlinkh)   at (6,  3.) [link] {\DWATmacroinfo{} (h)};
+\node(zlinki)   at (6,  2.) [link] {\DWATstmtlist{} (i)};
+
+% Links between left and center
+%
+\draw[thick,o-]                        (zsectinf) -- (zlinkc.west);
+\draw[thick,o-]                        (zsectinf) -- (zlinkd.west);
+\draw[thick,angle 90-] (zsectinf) -- (zlinke.west);
+\draw[thick,o-]                        (zsectinf) -- (zlinkf.west);
+\draw[thick,o-]                        (zsectinf) -- (zlinkg.west);
+\draw[thick,o-]                        (zsectinf) -- (zlinkh.west);
+\draw[thick,o-]                        (zsectinf) -- (zlinki.west);
+
+% The right column
+%
+\node(zsectabb)        at (12, 10) [sect] {\dotdebugabbrev};
+\node(zsectstr)        at (12,  8) [sect] {\dotdebugstr};
+\node(zsectloc)        at (12,  6) [sect] {\dotdebugloc};
+\node(zsectran)        at (12,  4) [sect] {\dotdebugranges};
+\node(zsectmac)        at (12,  2) [sect] {\dotdebugmacinfo};
+\node(zsectlin)        at (12,  0) [sect] {\dotdebugline};
+
+% Links between center and right
+%
+\draw[thick,-angle 90]         (zlinkc.east) -- (zsectabb.west);
+\draw[thick,-angle 90]         (zlinkd.east) -- (zsectstr.west);
+\draw[thick,-o]                                (zlinke.east) -- (zsectloc.west);
+\draw[thick,-angle 90]         (zlinkf.east) -- (zsectloc.south west);
+\draw[thick,-angle 90]         (zlinkg.east) -- (zsectran.west);
+\draw[thick,-angle 90]         (zlinkh.east) -- (zsectmac.west);
+\draw[thick,-angle 90]         (zlinki.east) -- (zsectlin.west);
+
+\end{tikzpicture}
+
+\vspace{1cm}
 \caption{Debug section relationships}
 \label{fig:debugsectionrelationships}
 \end{figure}
index 6544b90..0598bc0 100644 (file)
@@ -1,9 +1,20 @@
-\documentclass[12pt,letterpaper,twoside]{memoir} 
+\documentclass[12pt,letterpaper,oneside]{memoir} 
 % for debugging, add 'draft' (without quotes) to the [] document class list.
 % If draft is in the document class list, pix are just suggested
 % by an outline, the pic does not appear as a picture.
 %
-\newcommand{\docdate}{19 April 2013 (***Draft***)}
+\newcommand{\docdate}{25 April 2013 (***Draft***)}
+%
+\usepackage[T1]{fontenc}
+\usepackage{bookman}
+\usepackage{cmtt}
+\renewcommand{\ttdefault}{cmtt}        % Use Computer Modern Typewriter instead of Courier
+%\usepackage{ascii}
+%\renewcommand{\ttdefault}{ascii}
+%\renewcommand{\ttfamily}{\asciifamily}
+%\usepackage{microtype}
+%\DisableLigatures[f]{encoding=T1}
+%\renewcommand{\familydefault}{phv}  % font family helvetica
 %
 \usepackage{url}                  % For color in letters. Links instead?
 \usepackage[usenames]{color} % For color in letters. Links instead?
@@ -13,7 +24,7 @@
 \usepackage{alltt}
 \lstset{ %
 language={},               % choose the language of the code
-basicstyle=\footnotesize,  % the size of the fonts that are used for the code
+basicstyle=\footnotesize\ttfamily,  % the size of the fonts that are used for the code
 numbers=left,              % where to put the line-numbers
 numberstyle=\footnotesize, % the size of the fonts that are used for the line-numbers
 numberfirstline=true,
@@ -42,9 +53,12 @@ escapeinside={\%*}{*)}     % if you want to add a comment within your code
 \usepackage{needspace}     % For assuring space remaining on a page
 \usepackage{ifthen}        % For conditional processing
 \usepackage{changepage}    % For odd/even page checks
-\usepackage{epic}          % For eepic package 
-\usepackage{eepic}         % For the diagram of section relationships
-\usepackage{eepicemu}      % For the diagram of section relationships
+%\usepackage{epic}          % For eepic package 
+%\usepackage{eepic}         % For the diagram of section relationships
+%\usepackage{eepicemu}      % For the diagram of section relationships
+\usepackage{tikz}                      % graphics (Appendix B)
+\usetikzlibrary{shapes.geometric}
+\usetikzlibrary{arrows}
 \usepackage{makeidx}       % For making an index
 % hyperref must be the last package listed.
 % The hyperref settings helps hypertext get right links in the 
@@ -52,8 +66,6 @@ escapeinside={\%*}{*)}     % if you want to add a comment within your code
 \usepackage[plainpages=false,pdfpagelabels,pagebackref,allcolors=blue]{hyperref} % Lets us generate colored active links inside a pdf.
 \makeindex  % This and the makeidx package allow \index to create index entries.
 
-\renewcommand{\familydefault}{phv}  % font family helvetica
-
 \newcommand{\dwf}{DWARF Debugging Information Format}
 
 \newenvironment{myindentpara}[1]%
@@ -161,6 +173,16 @@ escapeinside={\%*}{*)}     % if you want to add a comment within your code
         \end{table}
         }
 
+% Anti-ligature commands added because \/ and {} don't work for unknown reasons
+% nor does the microtext package DisableLigatures command...???
+%
+\newcommand{\xiiif}                            {0x\hspace{1pt}3\hspace{2pt}f}
+\newcommand{\xiiifff}                  {0x\hspace{1pt}3\hspace{2pt}f\hspace{2pt}f\hspace{2pt}f}
+\newcommand{\xff}                              {0x\hspace{1pt}f\hspace{2pt}f}
+\newcommand{\xffff}                            {0x\hspace{1pt}f\hspace{2pt}f\hspace{2pt}f\hspace{2pt}f}
+%
+% These are intended for use in running text...
+%
 \newcommand{\xffffffff}                {\texttt{0xffffffff}}                   % use with following punctutation
 \newcommand{\wffffffff}                {\texttt{0xffffffff}\ }                 % use as separate "word"
 \newcommand{\xfffffffzero}             {\texttt{0xfffffff0}}                   % use with following punctutation
@@ -168,6 +190,9 @@ escapeinside={\%*}{*)}     % if you want to add a comment within your code
 \newcommand{\xffffffffffffffff}        {\texttt{0xffffffffffffffff}}   % use with following punctutation
 \newcommand{\wffffffffffffffff}        {\texttt{0xffffffffffffffff}\ }
 
+% Define commands for all of the DWARF names (DW_*, .debug_*, a few others)
+\include{dwarfnamecmds}
+
 %--- Begin the document pages
 %
 \begin{document}
diff --git a/dwarf5/latexdoc/dwarfnamecmds.tex b/dwarf5/latexdoc/dwarfnamecmds.tex
new file mode 100644 (file)
index 0000000..af233e1
--- /dev/null
@@ -0,0 +1,23 @@
+% Definitions for each of the DWARF names
+% These eliminate the need to use escapes for the underscores and
+% add entries for indexing
+%
+\newcommand{\DWFORMstrp}[1][]{\addtoindex{DW\_FORM\_strp}}
+\newcommand{\DWOPcallref}[1][]{\addtoindex{DW\_OP\_call\_ref}}
+\newcommand{\DWATlocation}[1][]{\addtoindex{DW\_AT\_location}}
+\newcommand{\DWATranges}[1][]{\addtoindex{DW\_AT\_ranges}}
+\newcommand{\DWATmacroinfo}[1][]{\addtoindex{DW\_AT\_macro\_info}}
+\newcommand{\DWATstmtlist}[1][]{\addtoindex{DW\_AT\_stmt\_list}}
+
+\newcommand{\dotdebugabbrev}[1][]{\addtoindex{\texttt{.debug\_abbrev}}}
+\newcommand{\dotdebugaranges}[1][]{\addtoindex{\texttt{.debug\_aranges}}}
+\newcommand{\dotdebugframe}[1][]{\addtoindex{\texttt{.debug\_frame}}}
+\newcommand{\dotdebuginfo}[1][]{\addtoindex{\texttt{.debug\_info}}}
+\newcommand{\dotdebugloc}[1][]{\addtoindex{\texttt{.debug\_loc}}}
+\newcommand{\dotdebugmacinfo}[1][]{\addtoindex{\texttt{.debug\_mac\_info}}}
+\newcommand{\dotdebugline}[1][]{\addtoindex{\texttt{.debug\_line}}}
+\newcommand{\dotdebugpubnames}[1][]{\addtoindex{\texttt{.debug\_pubnames}}}
+\newcommand{\dotdebugpubtypes}[1][]{\addtoindex{\texttt{.debug\_pubtypes}}}
+\newcommand{\dotdebugranges}[1][]{\addtoindex{\texttt{.debug\_ranges}}}
+\newcommand{\dotdebugstr}[1][]{\addtoindex{\texttt{.debug\_str}}}
+\newcommand{\dotdebugtypes}[1][]{\addtoindex{\texttt{.debug\_types}}}
index 8920ae8..59f9be8 100644 (file)
@@ -35,7 +35,42 @@ typedef char* strp;
 \clearpage
 \begin{figure}[here]
 %\centering
-\begin{minipage}{0.4\textwidth}
+%\setlength{\linewidth}{1.1\linewidth}
+\begin{minipage}[t]{0.03\linewidth}
+\flushright
+\scriptsize
+% Note: alltt is used to step down the needed number of lines to the labels
+\begin{alltt}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+\textit{e1:}
+
+
+
+
+\textit{e2:}
+\end{alltt}
+\end{minipage}
+%
+\begin{minipage}[t]{0.38\linewidth}
 \centering
 Compilation Unit \#1: \addtoindex{.debug\_info}
 \begin{framed}
@@ -49,7 +84,7 @@ Compilation Unit \#1: \addtoindex{.debug\_info}
 \hrule
 1
 "myfile.c"
-"Best Compiler Corp: Version 1.3"
+"Best Compiler Corp, V1.3"
 "/home/mydir/src"
 \livelink{chap:DWLANGC89}{DW\-\_LANG\-\_C89}
 0x0
@@ -58,14 +93,12 @@ Compilation Unit \#1: \addtoindex{.debug\_info}
 0x0
 \vspace{0.01cm}
 \hrule
-\textit{e1:}
 2
 "char"
 \livelink{chap:DWATEunsignedchar}{DW\-\_ATE\-\_unsigned\-\_char}
 1
 \vspace{0.01cm}
 \hrule
-\textit{e2:}
 3
 \textit{e1  (debug info offset)}
 \vspace{0.01cm}
@@ -104,14 +137,28 @@ Compilation Unit \#2: \addtoindex{.debug\_info}
 %
 \end{framed}
 \end{minipage}
-\hfill
-\begin{minipage}{0.4\textwidth}
+\hfill 
+% Place the label for the abbreviation table
+\begin{minipage}[t]{0.03\linewidth}
+\flushright
+\scriptsize
+% Note: alltt is used to step down the needed number of lines to the label
+\begin{alltt}
+
+
+
+
+
+\textit{a1:}
+\end{alltt}
+\end{minipage}
+%
+\begin{minipage}[t]{0.41\linewidth}
 \centering
 Abbreviation Table: \addtoindex{.debug\_abbrev}
 \begin{framed}
 \scriptsize
-\begin{alltt}
-\textit{a1:}
+\begin{alltt}\vspace{0.06cm}
 1
 \livelink{chap:DWTAGcompileunit}{DW\-\_TAG\-\_compile\-\_unit}
 \livelink{chap:DWCHILDRENyes}{DW\-\_CHILDREN\-\_yes}
@@ -153,6 +200,8 @@ Abbreviation Table: \addtoindex{.debug\_abbrev}
 \end{alltt}
 \end{framed}
 \end{minipage}
+
+\vspace{0.2cm}
 \caption{Compilation units and abbreviations table} \label{fig:compilationunitsandabbreviationstable}
 \end{figure}
 
index 0a91b74..5b0d025 100644 (file)
@@ -1,7 +1,7 @@
-\renewcommand{\abstractname}{Foreword}
+\renewcommand{\abstractname}{\Large Foreword}
 \begin{abstract}
-\nonzeroparskip
 \setlength{\parindent}{0pt}
+\nonzeroparskip
 \ \break
 The \dwf\ Committee was originally organized in 1988 as the
 Programming Languages Special Interest Group (PLSIG) of Unix
@@ -96,9 +96,10 @@ see:
 This document is intended to be usable in online as well as
 traditional paper forms. 
 In the online form, blue text is
-used to indicate hyperlinks which facilitate moving around
-in the document in a manner like that typically found in web
-browsers.
+used to indicate hyperlinks.
+% which facilitate moving around
+%in the document in a manner like that typically found in web
+%browsers.
 Most hyperlinks link to the definition of a term or
 construct, or to a cited Section or Figure.
 However, attributes
index e73dfb0..bbcdb41 100644 (file)
@@ -108,13 +108,13 @@ this section and not necessarily mentioned in all
 contexts where they may be appropriate. 
 Examples include 
 \livelink{chap:DWATartificial}{DW\-\_AT\-\_artificial}, 
-the declaration coordinates, and 
+the \livelink{chap:DWATdeclfilefilecontainingsourcedeclaration}{declaration coordinates}, and 
 \livelink{chap:DWATdescription}{DW\-\_AT\-\_description}, 
 among others.}
 
 The debugging information entries are contained 
-in the \addtoindex{.debug\_info} and 
-\addtoindex{.debug\_types}
+in the \dotdebuginfo{} and 
+\dotdebugtypes{}
 sections of an object file.
 
 
@@ -1355,7 +1355,7 @@ from where register 54 points.
 A structure member is four bytes from the start of the structure
 instance. The base address is assumed to be already on the stack.
 
-\descriptionitemnl{\livelink{chap:DWOPreg3}{DW\-\_OP\-\_reg3} \livelink{chap:DWOPpiece}{DW\-\_OP\-\_piece} 4 \livetarg{chap:DWOPreg10}{DW\-\_OP\-\_reg10} \livelink{chap:DWOPpiece}{DW\-\_OP\-\_piece} 2}
+\descriptionitemnl{\livelink{chap:DWOPreg}{DW\-\_OP\-\_reg3} \livelink{chap:DWOPpiece}{DW\-\_OP\-\_piece} 4 \livetarg{chap:DWOPreg10}{DW\-\_OP\-\_reg10} \livelink{chap:DWOPpiece}{DW\-\_OP\-\_piece} 2}
 A variable whose first four bytes reside in register 3 and whose next
 two bytes reside in register 10.
 
@@ -1774,8 +1774,7 @@ entry.}
 \textit{It is 
 \addtoindexx{declaration coordinates}
 sometimes useful in a debugger to be able to associate
-a declaration with its occurrence in the program source.
-}
+a declaration with its occurrence in the program source.}
 
 Any debugging information 
 \hypertarget{chap:DWATdeclfilefilecontainingsourcedeclaration}
index 2171c6e..ea81f93 100644 (file)
@@ -1236,16 +1236,17 @@ Table \refersec{tab:inlinecodes}.
 \centering
 \caption{Inline codes}
 \label{tab:inlinecodes}
-\begin{tabular}{l|p{9cm}}
+\begin{tabular}{l|p{8cm}}
 \hline
 Name&Meaning\\ \hline
 \livetarg{chap:DWINLnotinlined}{DW\-\_INL\-\_not\-\_inlined} & Not declared inline nor inlined by the
-  compiler (equivalent to the absence of the containing \break
-  \livelink{chap:DWATinline}{DW\-\_AT\-\_inline} attribute) \\
-\livetarg{chap:DWINLinlined}{DW\-\_INL\-\_inlined} & Not declared inline but inlined by the compiler \\
+  \mbox{compiler} (equivalent to the absence of the
+  containing \livelink{chap:DWATinline}{DW\-\_AT\-\_inline} attribute) \\
+\livetarg{chap:DWINLinlined}{DW\-\_INL\-\_inlined} & Not declared inline but inlined by the \mbox{compiler} \\
 \livetarg{chap:DWINLdeclarednotinlined}{DW\-\_INL\-\_declared\-\_not\-\_inlined} & Declared inline but 
-  not inlined by the compiler \\
-\livetarg{chap:DWINLdeclaredinlined}{DW\-\_INL\-\_declared\-\_inlined} & Declared inline and inlined by the compiler \\
+  not inlined by the \mbox{compiler} \\
+\livetarg{chap:DWINLdeclaredinlined}{DW\-\_INL\-\_declared\-\_inlined} & Declared inline and inlined by the 
+  \mbox{compiler} \\
 \hline
 \end{tabular}
 \end{table}
index 68fc4c8..59b90c7 100644 (file)
@@ -970,7 +970,7 @@ evaluation is the location of the inherited type.
 \textit{The interpretation of the value of this attribute for
 inherited types is the same as the interpretation for data
 members 
-(see Section \refersec{chap:datamemberentries}).  }
+(see Section \referfol{chap:datamemberentries}).  }
 
 An 
 \addtoindexx{inheritance entry}