A few miscelleaneous corrections including especially fixing the spacing V5.Basis
authorRon Brender <ron.brender@gmail.com>
Sun, 19 May 2013 01:23:59 +0000 (21:23 -0400)
committerRon Brender <ron.brender@gmail.com>
Sun, 19 May 2013 01:23:59 +0000 (21:23 -0400)
around lists using /tight, which is specific to the memoire class (setting
/topsep to zero has no effect).

Signed-off-by: Ron Brender <ron.brender@gmail.com>
12 files changed:
dwarf5/latexdoc/compression.tex
dwarf5/latexdoc/copyright.tex
dwarf5/latexdoc/dataobject.tex
dwarf5/latexdoc/datarepresentation.tex
dwarf5/latexdoc/dwarf5.tex
dwarf5/latexdoc/examples.tex
dwarf5/latexdoc/generaldescription.tex
dwarf5/latexdoc/gnulicense.tex
dwarf5/latexdoc/otherdebugginginformation.tex
dwarf5/latexdoc/programscope.tex
dwarf5/latexdoc/sectionversionnumbers.tex
dwarf5/latexdoc/typeentries.tex

index a9fa0e6..dd81740 100644 (file)
@@ -169,7 +169,7 @@ corresponds closely to the similarly named concepts in the
 ELF object file representation. 
 The notion of \addtoindex{section group} is
 an abstraction of common extensions of the ELF representation
-widely known as ``COMDATs'' or ``COMDAT sections''. (Other
+widely known as \doublequote{COMDATs} or \doublequote{COMDAT sections.} (Other
 object file representations provide COMDAT\dash style mechanisms as
 well.) There are several variations in the COMDAT schemes in
 common use, any of which should be sufficient for the purposes
@@ -233,7 +233,7 @@ the same
 \textless gid\dash number\textgreater,
 and
 
-\item  a non\dash matching output (say because of \#defines)
+\item  a non\dash matching output (say because of \texttt{\#defines})
 generates a different 
 \textless gid\dash number\textgreater.
 \end{itemize}
@@ -243,7 +243,7 @@ generates a different
 \textit{It may be useful to think of a 
 \textless gid\dash number\textgreater
 as a kind
-of ``digital signature'' that allows a fast test for the
+of \doublequote{digital signature} that allows a fast test for the
 equality of two 
 \addtoindexx{section group}
 section groups.}
@@ -398,13 +398,17 @@ Use
 unit's debugging information entries to those of another
 compilation unit.
 
+\needlines{4}
 When referencing into a removable \addtoindex{section group}
 \dotdebuginfo{}
 from another \dotdebuginfo{} (from anywhere), the
-\texttt{<prefix>.<file-designator>.<gid-number>.<die-number>}
+\begin{alltt}
+    <prefix>.<file-designator>.<gid-number>.<die-number>
+\end{alltt}
 name should be used for an external symbol and a relocation
 generated based on that name.
 
+\needlines{4}
 \textit{When referencing into a 
 \addtoindexx{section group}
 non-section group 
@@ -413,7 +417,7 @@ from another \dotdebuginfo{} (from anywhere)
 \livelink{chap:DWFORMrefaddr}{DW\_FORM\_ref\_addr} is
 still the form to be used, but a section\dash relative relocation
 generated by use of a non-exported name (often called an
-``internal name'') may be used for references within the
+\doublequote{internal name}) may be used for references within the
 same object file.}
 
 \subsection{Examples}
@@ -508,7 +512,7 @@ DW.cpp.wa.h.123456.4:     ! linker global symbol
 \end{figure}
 
 Figure \refersec{fig:duplicateeliminationexample1primarycompilationunit}
-shows the ``normal'' DWARF sections, which are not part of
+shows the \doublequote{normal} DWARF sections, which are not part of
 any \addtoindex{section group}, 
 and how they make use of the information
 in the \addtoindex{section group} shown above.
@@ -536,11 +540,14 @@ in the \addtoindex{section group} shown above.
 \label{fig:duplicateeliminationexample1primarycompilationunit}
 \end{figure}
 
-This example uses \livelink{chap:DWTAGcompileunit}{DW\_TAG\_compile\_unit} for the \addtoindex{section group},
+\needlines{4}
+This example uses \livelink{chap:DWTAGcompileunit}{DW\_TAG\_compile\_unit} 
+for the \addtoindex{section group},
 implying that the contents of the compilation unit are
 globally visible (in accordance with 
 \addtoindex{C++} language rules).
-\livelink{chap:DWTAGpartialunit}{DW\_TAG\_partial\_unit} is not needed for the same reason.
+\livelink{chap:DWTAGpartialunit}{DW\_TAG\_partial\_unit} 
+is not needed for the same reason.
 
 \subsubsection{Fortran Example}
 
@@ -551,7 +558,7 @@ example, consider
 Figure \refersec{fig:duplicateeliminationexample2fortransource}.
 
 \begin{figure}
-\textit{File CommonStuff.fh}
+\textit{File CommonStuff.f\hspace{1pt}h}
 \addtoindexx{Fortran}
 \begin{lstlisting}[numbers=none]
 IMPLICIT INTEGER(A-Z)
@@ -715,10 +722,10 @@ visible as global entities.
 
 
 \needlines{6}
-\subsubsection{C Example}
+\subsubsection{C++ Example}
 
-The \addtoindex{C} example 
-\addtoindexx{DWARF duplicate elimination!C example}
+The \addtoindex{C++} example 
+\addtoindexx{DWARF duplicate elimination!C++ example}
 in this Section might appear to be equally
 valid as a \addtoindex{C} example. However, it is prudent to include
 a \livelink{chap:DWTAGimportedunit}{DW\_TAG\_imported\_unit}
@@ -770,7 +777,7 @@ As discussed in the previous section
 (Section \refersec{app:usingcompilationunits}), 
 many
 linkers today support the concept of a COMDAT group or
-linkonce section. The general idea is that a ``key'' can be
+linkonce section. The general idea is that a \doublequote{key} can be
 attached to a section or a group of sections, and the linker
 will include only one copy of a \addtoindex{section group}
 (or individual section) for any given key. 
@@ -819,7 +826,7 @@ namespace N {
 Next, consider one possible representation of the DWARF
 information that describes the type \doublequote{struct C} as shown
 in 
-\refersec{fig:typesignaturecomputation1dwarfrepresentation}:
+\refersec{fig:typesignaturecomputation1dwarfrepresentation}.
 
 \begin{figure}
 \begin{dwflisting}
@@ -925,7 +932,7 @@ low\dash order 64 bits, yields the final signature:
 0xd28081e8 dcf5070a.
 
 Next, consider a representation of the DWARF information that
-describes the type ``class A'' as shown in 
+describes the type \doublequote{class A} as shown in 
 Figure \refersec{fig:typesignaturecomputation2dwarfrepresentation}.
 
 \begin{figure}
@@ -1021,7 +1028,8 @@ L5:
 \end{alltt}
 \end{dwflisting}
 \begin{center}
-Figure~\ref{fig:typesignaturecomputation2dwarfrepresentation} Type signature computation \#2: DWARF representation \textit{(concluded)}
+\vspace{2mm}
+Figure~\ref{fig:typesignaturecomputation2dwarfrepresentation}: Type signature computation \#2: DWARF representation \textit{(concluded)}
 \end{center}
 \end{figure}
 
@@ -1030,7 +1038,7 @@ been placed in separate
 \addtoindexx{type unit}
 type units.  For \texttt{N::A}, the actual
 definition of the type begins at label L1. The definition
-involves references to the int base type and to two pointer
+involves references to the \texttt{int} base type and to two pointer
 types. The information for each of these referenced types is
 also included in this \addtoindex{type unit}, 
 since base types and pointer
@@ -1156,7 +1164,8 @@ Figure \refersec{fig:typesignatureexample2flattenedbytestream}.
 \end{alltt}
 \end{dwflisting}
 \begin{center}
-Figure~\ref{fig:typesignatureexample2flattenedbytestream} Type signature example \#2: flattened byte stream \textit{(continued)}
+\vspace{2mm}
+Figure~\ref{fig:typesignatureexample2flattenedbytestream}: Type signature example \#2: flattened byte stream \textit{(continued)}
 \end{center}
 \end{figure}
     
@@ -1213,7 +1222,8 @@ Figure~\ref{fig:typesignatureexample2flattenedbytestream} Type signature example
 \end{alltt}
 \end{dwflisting}
 \begin{center}
-Figure~\ref{fig:typesignatureexample2flattenedbytestream} Type signature example \#2: flattened byte stream \textit{(concluded)}
+\vspace{2mm}
+Figure~\ref{fig:typesignatureexample2flattenedbytestream}: Type signature example \#2: flattened byte stream \textit{(concluded)}
 \end{center}
 \end{figure}
 
index 709bdf6..d30818c 100644 (file)
@@ -18,7 +18,7 @@ Invariant Sections, with no \mbox{Front-Cover}
 Texts, and with no \mbox{Back-Cover} Texts. 
 
 A copy of the license is included in the section entitled
-``GNU Free Documentation License''.
+\doublequote{GNU Free Documentation License.}
 
 This document is based in part on the \dwf, Version 2,
 which contained the following notice:
@@ -43,7 +43,7 @@ specific, written prior permission.
 UNIX International makes
 no representations about the suitability of this documentation
 for any purpose. 
-It is provided ``as is'' without express
+It is provided \doublequote{as is} without express
 or implied warranty.
 
 \end{myindentpara}
index bcc6356..c496e7c 100644 (file)
@@ -192,11 +192,12 @@ attribute is the offset in bytes of the beginning of the scope
 for the object from the beginning of the first \addtoindex{range list} entry
 that is not a base selection entry or an end of list entry.
 
+\needlines{4}
 \item Otherwise, the scope of the object is specified using
 a value of class \livelink{chap:classrangelistptr}{rangelistptr}. 
 This value indicates the
 beginning of a \addtoindex{range list}
-(see \refersec{chap:noncontiguousaddressranges}).
+(see \ref{chap:noncontiguousaddressranges}).
 \end{enumerate}
 
 
index b145868..12a42f2 100644 (file)
@@ -336,6 +336,7 @@ of the 4\dash byte value \wffffffff followed by an 8\dash byte unsigned
 integer that gives the actual length 
 (see Section \refersec{datarep:32bitand64bitdwarfformats}).
 
+\needlines{4}
 \item  \texttt{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} 
@@ -387,6 +388,7 @@ consists of the 4\dash byte value \wffffffff followed by an
 8\dash byte unsigned integer that gives the actual length
 (see Section \refersec{datarep:32bitand64bitdwarfformats}).
 
+\needlines{4}
 \item  \texttt{version} (\addtoindex{uhalf}) \\
 A 2\dash byte unsigned integer representing the version of the
 DWARF information for the 
@@ -607,6 +609,7 @@ each chain of sibling entries is terminated by a null entry.)
 \end{longtable}
 \end{centering}
 
+\needlines{4}
 Finally, the child encoding is followed by a series of
 attribute specifications. Each attribute specification
 consists of two parts. The first part is an unsigned LEB128
@@ -702,6 +705,7 @@ encoded in the compilation unit header
 This address is relocatable in a relocatable object file and
 is relocated in an executable file or shared object.
 
+\needlines{4}
 \item \livelink{chap:classblock}{block} \\
 \livetarg{datarep:classblock}{}
 Blocks come in four forms:
@@ -1265,7 +1269,7 @@ Table \refersec{tab:attributeformencodings}.
 \addtoindexx{variable length data|see {LEB128}}
 Integers may be 
 \addtoindexx{Little Endian Base 128|see{LEB128}}
-encoded using ``Little Endian Base 128''
+encoded using \doublequote{Little Endian Base 128}
 \addtoindexx{little-endian encoding|see{endian attribute}}
 (LEB128) numbers. 
 \addtoindexx{LEB128}
@@ -1275,8 +1279,8 @@ small in magnitude.
 
 \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
+order. It is \doublequote{little\dash endian} only in the sense that it
+avoids using space to represent the \doublequote{big} end of an
 unsigned integer, when the big end is all zeroes or sign
 extension bits.}
 
@@ -1892,6 +1896,7 @@ The encodings of the constants used in the
 \livelink{chap:DWATordering}{DW\_AT\_ordering} attribute are given in 
 Table \refersec{tab:orderingencodings}.
 
+\needlines{8}
 \begin{centering}
 \setlength{\extrarowheight}{0.1cm}
 \begin{longtable}{l|c}
@@ -1974,7 +1979,7 @@ DWARF information for the name lookup table
 (see Appendix \refersec{app:dwarfsectionversionnumbersinformative}).
 The value in this field is 2.
 
-% Some say unsigned offset this just says offset: FIXME
+\needlines{4}
 \item \addtoindex{debug\_info\_offset} (section offset) \\
 A 
 \addtoindexx{section offset!in name lookup table set of entries}
@@ -2093,10 +2098,10 @@ The \addtoindexi{version number}{version number!line number information}
 in the line number program header is 4
 (see Appendix \refersec{app:dwarfsectionversionnumbersinformative}). 
 
-The boolean values ``true'' and ``false'' 
+The boolean values \doublequote{true} and \doublequote{false} 
 used by the line number information program are encoded
 as a single byte containing the value 0 
-for ``false,'' and a non-zero value for ``true.''
+for \doublequote{false,} and a non-zero value for \doublequote{true.}
 
 The encodings for the standard opcodes are given in 
 \addtoindexx{line number opcodes!standard opcode encoding}
@@ -2106,10 +2111,10 @@ Table \refersec{tab:linenumberstandardopcodeencodings}.
 \begin{centering}
 \setlength{\extrarowheight}{0.1cm}
 \begin{longtable}{l|c}
-  \caption{Line Number Standard Opcode encodings} \label{tab:linenumberstandardopcodeencodings}\\
-  \hline \bfseries Opcode Name&\bfseries Value \\ \hline
+  \caption{Line number standard opcode encodings} \label{tab:linenumberstandardopcodeencodings}\\
+  \hline \bfseries Opcode name&\bfseries Value \\ \hline
 \endfirsthead
-  \bfseries Opcode Name&\bfseries Value\\ \hline
+  \bfseries Opcode name&\bfseries Value\\ \hline
 \endhead
   \hline \emph{Continued on next page}
 \endfoot
@@ -2141,10 +2146,10 @@ Table \refersec{tab:linenumberextendedopcodeencodings}.
 \begin{centering}
 \setlength{\extrarowheight}{0.1cm}
 \begin{longtable}{l|c}
-  \caption{Line Number Extended Opcode encodings} \label{tab:linenumberextendedopcodeencodings}\\
-  \hline \bfseries Opcode Name&\bfseries Value \\ \hline
+  \caption{Line number extended opcode encodings} \label{tab:linenumberextendedopcodeencodings}\\
+  \hline \bfseries Opcode name&\bfseries Value \\ \hline
 \endfirsthead
-  \bfseries Opcode Name&\bfseries Value\\ \hline
+  \bfseries Opcode name&\bfseries Value\\ \hline
 \endhead
   \hline \emph{Continued on next page}
 \endfoot
@@ -2180,7 +2185,7 @@ Table \refersec{tab:macinfotypeencodings}.
 \begin{centering}
 \setlength{\extrarowheight}{0.1cm}
 \begin{longtable}{l|c}
-  \caption{Macinfo Type Encodings} \label{tab:macinfotypeencodings}\\
+  \caption{Macinfo type encodings} \label{tab:macinfotypeencodings}\\
   \hline \bfseries Macinfo Type Name&\bfseries Value \\ \hline
 \endfirsthead
   \bfseries Macinfo Type Name&\bfseries Value\\ \hline
@@ -2366,15 +2371,15 @@ an arbitrary alignment.
 The sizes of the integers used in the lookup by name, lookup
 by address, line number and call frame information sections
 are given in
-Table 41 \refersec{tab:integerrepresentationnames}.
+Table \ref{tab:integerrepresentationnames}.
 
 \begin{centering}
 \setlength{\extrarowheight}{0.1cm}
 \begin{longtable}{c|l}
-  \caption{Integer Representation Names} \label{tab:integerrepresentationnames}\\
-  \hline \bfseries Representation Name&\bfseries Representation \\ \hline
+  \caption{Integer representation names} \label{tab:integerrepresentationnames}\\
+  \hline \bfseries Representation name&\bfseries Representation \\ \hline
 \endfirsthead
-  \bfseries Representation Name&\bfseries Representation\\ \hline
+  \bfseries Representation name&\bfseries Representation\\ \hline
 \endhead
   \hline \emph{Continued on next page}
 \endfoot
index d74ace9..6882ae6 100644 (file)
@@ -3,7 +3,7 @@
 % 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}{May 10, 2013 \hspace{1cm}(***\textbf{DRAFT}***)}
+\newcommand{\docdate}{May 18, 2013 \hspace{1cm}(***\textbf{DRAFT}***)}
 %
 \usepackage[T1]{fontenc}
 \usepackage{palatino}
@@ -54,10 +54,7 @@ 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{tikz}                      % graphics (Appendix B)
+\usepackage{tikz}                 % graphics (Appendix B)
 \usetikzlibrary{shapes.geometric}
 \usetikzlibrary{arrows}
 \usepackage{makeidx}       % For making an index
@@ -155,9 +152,6 @@ escapeinside={\%*}{*)}     % if you want to add a comment within your code
 \renewcommand{\descriptionlabel}[1]{\hspace{\labelsep}\textnormal{#1}}
 \newcommand{\descriptionlabelnl}[1]{\item[#1] \mbox{}\\}
 
-% Reduce vertical space at beginning of a list
-\setlength{\topsep}{0in}
-
 \newcommand{\emptypage}{
     \clearpage
     \vspace*{4in}
@@ -213,6 +207,8 @@ escapeinside={\%*}{*)}     % if you want to add a comment within your code
 \setlength{\parindent}{0pt} 
 \setlength{\headheight}{6cm}
 \setlength{\uppermargin}{6cm}
+\setlength{\topsep}{0pt}
+\tightlists                                    % less spacing before/after lists
 
 \begin{centering}
 \LARGE
@@ -307,7 +303,7 @@ escapeinside={\%*}{*)}     % if you want to add a comment within your code
 \include{dataobject}                    \emptypage
 \include{typeentries}                   \emptypage
 \include{otherdebugginginformation}    \emptypage
-\include{datarepresentation}            %\emptypage
+\include{datarepresentation}            \emptypage
 
 %  The \appendix toggles us into appendix chapters
 \appendix
index 031dbe7..c8d1d9a 100644 (file)
@@ -249,7 +249,7 @@ and because the lifetime of the descriptor is necessarily
 longer than and includes that of the raw data, there must be
 an address somewhere in the descriptor that points to the
 raw data when, in fact, there is some (that is, when 
-the ``variable'' is allocated or associated).
+the \doublequote{variable} is allocated or associated).
 
 For concreteness, suppose that a descriptor looks something
 like the C structure in 
@@ -299,7 +299,7 @@ provide a descriptor anyway, thereby giving it two parts. (This
 may be convenient for general runtime support unrelated to
 debugging.) In this case the above vocabulary applies as
 stated. Alternatively, an implementation can do without a
-descriptor, in which case the \doublequote{address of the variable},
+descriptor, in which case the \doublequote{address of the variable,}
 or equivalently the \doublequote{base address of the object}, refers
 to the \doublequote{raw data} (the real data, the only thing around
 that can be the object).
@@ -1461,8 +1461,8 @@ where
 is either \texttt{INNER} or \texttt{OUTER} to indicate to which
 subprogram the debugging information entry applies, 
 \item[\textless ac\textgreater]
-is either AI or CI to indicate ``abstract instance'' or
-``concrete instance'' respectively, 
+is either AI or CI to indicate \doublequote{abstract instance} or
+\doublequote{concrete instance} respectively, 
 \item[\textless n\textgreater]
 is the number of the
 alternative being considered, and 
index f5f1b38..2c8b34e 100644 (file)
@@ -137,7 +137,7 @@ value forms.
 Each form class may be represented in one or more ways. 
 For example, some attribute values consist
 of a single piece of constant data. 
-``Constant data''
+\doublequote{Constant data}
 is the class of attribute value that those attributes may have. 
 There are several representations of constant data,
 however (one, two, ,four, or eight bytes, and variable length
@@ -306,7 +306,7 @@ actually declared in the source}{objects or types that are not actually declared
 \livetarg{chap:DWATlowerbound}{DW\_AT\_lower\_bound}
 &\livelinki{chap:DWATlowerboundlowerboundofsubrange}{Lower bound of subrange}{lower bound of subrange} \\
 \livetarg{chap:DWATmacroinfo}{DW\_AT\_macro\_info}
-&\livelinki{chap:DWATmacroinfomacroinformation}{Macro information} {macro information} (\#define, \#undef)\\
+&\livelinki{chap:DWATmacroinfomacroinformation}{Macro information} {macro information} (\texttt{\#define}, \texttt{\#undef})\\
 \livetarg{chap:DWATmainsubprogram}{DW\_AT\_main\_subprogram}
 &\livelinki{chap:DWATmainsubprogrammainorstartingsubprogram}{Main or starting subprogram}{main or starting subprogram} \\
 &\livelinki{chap:DWATmainsubprogramunitcontainingmainorstartingsubprogram}{Unit containing main or starting subprogram}{unit containing main or starting subprogram}\\
@@ -318,7 +318,7 @@ actually declared in the source}{objects or types that are not actually declared
 \livetarg{chap:DWATnamelistitem}{DW\_AT\_namelist\_item}
 &\livelinki{chap:DWATnamelistitemnamelistitem}{Namelist item}{namelist item}\\
 \livetarg{chap:DWATobjectpointer}{DW\_AT\_object\_pointer}
-&\livelinki{chap:DWATobjectpointerobjectthisselfpointerofmemberfunction}{Object (this, self) pointer of member function}{object (this, self) pointer of member function}\\
+&\livelinki{chap:DWATobjectpointerobjectthisselfpointerofmemberfunction}{Object (\texttt{this}, \texttt{self}) pointer of member function}{object (\texttt{this}, \texttt{self}) pointer of member function}\\
 \livetarg{chap:DWATordering}{DW\_AT\_ordering}
 &\livelinki{chap:DWATorderingarrayrowcolumnordering}{Array row/column ordering} {array row/column ordering}\\
 \livetarg{chap:DWATpicturestring}{DW\_AT\_picture\_string}
@@ -623,7 +623,7 @@ Each general operation represents a postfix operation on
 a simple stack machine. Each element of the stack is the
 \addtoindex{size of an address} on the target machine. 
 The value on the
-top of the stack after ``executing'' the 
+top of the stack after \doublequote{executing} the 
 \addtoindex{DWARF expression}
 is 
 \addtoindexx{DWARF expression|see{location description}}
@@ -760,6 +760,7 @@ than the \addtoindex{size of an address} on the target machine. The data
 retrieved is zero extended to the size of an address on the
 target machine before being pushed onto the expression stack.
 
+\needlines{7}
 \itembfnl{\livetarg{chap:DWOPxderef}{DW\_OP\_xderef}}
 The \livetarg{chap:DWOPxderef}{DW\_OP\_xderef} operation provides an extended dereference
 mechanism. The entry at the top of the stack is treated as an
@@ -879,6 +880,7 @@ The \livetarg{chap:DWOPabs}{DW\_OP\_abs} operation pops the top stack entry, int
 it as a signed value and pushes its absolute value. If the
 absolute value cannot be represented, the result is undefined.
 
+\needlines{4}
 \itembfnl{\livetarg{chap:DWOPand}{DW\_OP\_and}}
 The \livetarg{chap:DWOPand}{DW\_OP\_and} operation pops the top two stack values, performs
 a bitwise and operation on the two, and pushes the result.
@@ -1252,6 +1254,7 @@ The \livetarg{chap:DWOPreg}{DW\_OP\_reg}\textit{n} operations encode the names o
 registers, numbered from 0 through 31, inclusive. The object
 addressed is in register \textit{n}.
 
+\needlines{4}
 \itembfnl{\livetarg{chap:DWOPregx}{DW\_OP\_regx}}
 The \livetarg{chap:DWOPregx}{DW\_OP\_regx} operation has a single unsigned LEB128 literal
 operand that encodes the name of a register.  
@@ -1308,6 +1311,7 @@ containing no operations. It represents a piece or all of an
 object that is present in the source but not in the object code
 (perhaps due to optimization).
 
+\needlines{5}
 \subsubsection{Composite Location Descriptions}
 A composite location description describes an object or
 value which may be contained in part of a register or stored
@@ -1419,8 +1423,9 @@ base.
 Add the contents of r1 and r2 to compute a value. This value is the
 \doublequote{contents} of an otherwise anonymous location.
 
+\needlines{6}
 \descriptionitemnl{\livelink{chap:DWOPlit1}{DW\_OP\_lit1} \livelink{chap:DWOPstackvalue}{DW\_OP\_stack\_value} \livelink{chap:DWOPpiece}{DW\_OP\_piece} 4 }
-\vspace{-\parsep}
+\vspace{-0.1\parsep}
 \descriptionitemnl{\livelink{chap:DWOPbreg}{DW\_OP\_breg3} 0 \livelink{chap:DWOPbreg}{DW\_OP\_breg4} 0 \livelink{chap:DWOPplus}{DW\_OP\_plus} \livelink{chap:DWOPstackvalue}{DW\_OP\_stack\_value} \livelink{chap:DWOPpiece}{DW\_OP\_piece} 4}
 The object value is found in an anonymous (virtual) location whose
 value consists of two parts, given in memory address order: the 4 byte
@@ -1610,7 +1615,7 @@ attribute\addtoindexx{visibility attribute}, whose value is a
 constant drawn from the set of codes listed in 
 Table \refersec{tab:visibilitycodes}.
 
-\begin{simplenametable}[1.5in]{Visibility Codes}{tab:visibilitycodes}
+\begin{simplenametable}[1.5in]{Visibility codes}{tab:visibilitycodes}
 \livetarg{chap:DWVISlocal}{DW\_VIS\_local}          \\
 \livetarg{chap:DWVISexported}{DW\_VIS\_exported}    \\
 \livetarg{chap:DWVISqualified}{DW\_VIS\_qualified}  \\
@@ -2027,6 +2032,7 @@ instruction associated with the entity.
 \textit{The high PC value
 may be beyond the last valid instruction in the executable.}
 
+\needlines{5}
 The presence of low and high PC attributes for an entity
 implies that the code generated for the entity is contiguous
 and exists totally within the boundaries specified by those
@@ -2207,13 +2213,13 @@ possibly others).}
 \section{Entity Descriptions}
 \textit{Some debugging information entries may describe entities
 in the program that are artificial, or which otherwise are
-``named'' in ways which are not valid identifiers in the
+\doublequote{named} in ways which are not valid identifiers in the
 programming language. For example, several languages may
 capture or freeze the value of a variable at a particular
 point in the program. 
 \addtoindex{Ada} 95 has package elaboration routines,
 type descriptions of the form typename\textquoteright Class, and 
-``access typename'' parameters.  }
+\doublequote{access typename} parameters.  }
 
 Generally, any debugging information
 entry that 
index 60e563b..086de49 100644 (file)
@@ -23,7 +23,7 @@ preserves for the author and publisher a way to get credit
 for their work, while not being considered responsible for
 modifications made by others.
 
-This License is a kind of \doublequote{copyleft}, which means that
+This License is a kind of \doublequote{copyleft,} which means that
 derivative works of the document must themselves be free in
 the same sense. It complements the GNU General Public License,
 which is a copyleft license designed for free software.
@@ -44,9 +44,9 @@ medium, that contains a notice placed by the copyright
 holder saying it can be distributed under the terms of this
 License. Such a notice grants a world-wide, royalty-free
 license, unlimited in duration, to use that work under
-the conditions stated herein. The \doublequote{Document}, below,
+the conditions stated herein. The \doublequote{Document,} below,
 refers to any such manual or work. Any member of the public
-is a licensee, and is addressed as \doublequote{you}. You accept the
+is a licensee, and is addressed as \doublequote{you.} You accept the
 license if you copy, modify or distribute the work in a way
 requiring permission under copyright law.
 
@@ -95,7 +95,7 @@ an otherwise Transparent file format whose markup, or absence
 of markup, has been arranged to thwart or discourage subsequent
 modification by readers is not Transparent. An image format is
 not Transparent if used for any substantial amount of text. A
-copy that is not \doublequote{Transparent} is called \doublequote{Opaque}.
+copy that is not \doublequote{Transparent} is called \doublequote{Opaque.}
 
 Examples of suitable formats for Transparent copies include
 plain ASCII without markup, Texinfo input format, LaTeX
@@ -124,8 +124,8 @@ A section \doublequote{Entitled XYZ} means a named subunit of the
 Document whose title either is precisely XYZ or contains
 XYZ in parentheses following text that translates XYZ in
 another language. (Here XYZ stands for a specific section
-name mentioned below, such as \doublequote{Acknowledgements},
-\doublequote{Dedications}, \doublequote{Endorsements}, or \doublequote{History}.) To
+name mentioned below, such as \doublequote{Acknowledgements,}
+\doublequote{Dedications,} \doublequote{Endorsements,} or \doublequote{History.}) To
 \doublequote{Preserve the Title} of such a section when you modify
 the Document means that it remains a section \doublequote{Entitled
 XYZ} according to this definition.
@@ -238,7 +238,7 @@ Document\textquoteright s license notice.
 
 \item    Include an unaltered copy of this License.
 
-\item    Preserve the section Entitled \doublequote{History}, Preserve
+\item    Preserve the section Entitled \doublequote{History,} Preserve
 its Title, and add to it an item stating at least the title,
 year, new authors, and publisher of the Modified Version
 as given on the Title Page. If there is no section Entitled
@@ -284,7 +284,7 @@ this, add their titles to the list of Invariant Sections in
 the Modified Version\textquoteright s license notice. These titles must
 be distinct from any other section titles.
 
-You may add a section Entitled \doublequote{Endorsements}, provided
+You may add a section Entitled \doublequote{Endorsements,} provided
 it contains nothing but endorsements of your Modified Version
 by various parties\textemdash for example, statements of peer review
 or that the text has been approved by an organization as the
@@ -326,12 +326,12 @@ if known, or else a unique number. Make the same adjustment
 to the section titles in the list of Invariant Sections in
 the license notice of the combined work.
 
-In the combination, you must combine any sections Entitled
+In the combination, you must combine any sections entitled
 \doublequote{History} in the various original documents, forming
-one section Entitled \doublequote{History}; likewise combine any
-sections Entitled \doublequote{Acknowledgements}, and any sections
-Entitled \doublequote{Dedications}. You must delete all sections
-Entitled \doublequote{Endorsements.}
+one section entitled \doublequote{History;} likewise combine any
+sections entitled \doublequote{Acknowledgements,} and any sections
+entitled \doublequote{Dedications.} You must delete all sections
+entitled \doublequote{Endorsements.}
 
 \section{COLLECTIONS OF DOCUMENTS}
 
@@ -488,8 +488,8 @@ or any later version published by the Free Software Foundation;
 with no Invariant Sections, no Front-Cover Texts, and no Back-Cover
 Texts.  
 
-A copy of the license is included in the section entitled ``GNU
-Free Documentation License''.
+A copy of the license is included in the section entitled \doublequote{GNU
+Free Documentation License.}
 \end{myindentpara}
 
 If you have Invariant Sections, Front-Cover Texts and
index 26a4bf9..257492c 100644 (file)
@@ -277,7 +277,7 @@ a source statement. Second, we design a byte\dash coded language
 for a state machine and store a stream of bytes in the object
 file instead of the matrix. This language can be much more
 compact than the matrix. When a consumer of the line number
-information executes, it must ``run'' the state machine
+information executes, it must \doublequote{run} the state machine
 to generate the matrix for each compilation unit it is
 interested in.  The concept of an encoded matrix also leaves
 room for expansion. In the future, columns can be added to the
@@ -316,6 +316,7 @@ procedure invocation is defined to be an exit from a
 necessarily correspond to a specific source code
 construct.} \\
 
+
 sequence &
 A series of contiguous target machine instructions. One compilation unit
 may emit multiple sequences (that is, not all instructions within a
@@ -324,11 +325,10 @@ compilation unit are assumed to be contiguous). \\
 
 \subsection{State Machine Registers}
 \label{chap:statemachineregisters}
-
 The line number information state machine has the following 
 registers:
 \begin{longtable}{l|p{9cm}}
-  \caption{State Machine Registers } \\
+  \caption{State machine registers } \\
   \hline \bfseries Register name&\bfseries Meaning\\ \hline
 \endfirsthead
   \bfseries Register name&\bfseries Meaning\\ \hline
@@ -364,7 +364,7 @@ instruction cannot be attributed to any source line. \\
 \addttindex{column} &
 An unsigned integer indicating a column number within a source line.
 Columns are numbered beginning at 1. The value 0 is reserved to indicate
-that a statement begins at the ``left edge'' of the line. \\
+that a statement begins at the \doublequote{left edge} of the line. \\
 
 \addttindex{is\_stmt} &
 A boolean indicating that the current instruction is a recommended
@@ -533,7 +533,7 @@ The initial value of the \addttindex{is\_stmt} register.
 to building line number information when machine instructions
 are emitted in an order corresponding to the source program
 is to set \addttindex{default\_is\_stmt}
-to ``true'' and to not change the
+to \doublequote{true} and to not change the
 value of the \addttindex{is\_stmt} register 
 within the line number program.
 One matrix entry is produced for each line that has code
@@ -549,7 +549,7 @@ breakpoint location for the line number. \livelink{chap:DWLNSnegatestmt}{DW\_LNS
 opcodes in the line number program control which matrix entries
 constitute such a recommendation and 
 \addttindex{default\_is\_stmt} might
-be either ``true'' or ``false''. This approach might be
+be either \doublequote{true} or \doublequote{false.} This approach might be
 used as part of support for debugging optimized code.}
 
 \item \texttt{line\_base} (\addtoindex{sbyte}) \\
@@ -583,6 +583,7 @@ is greater than the typical value, then the numbers between
 that of the highest standard opcode and the first special
 opcode (not inclusive) are used for vendor specific extensions.}
 
+\needlines{4}
 \item \texttt{standard\_opcode\_lengths} (array of \addtoindex{ubyte}) \\
 \addttindexx{standard\_opcode\_lengths}
 This array specifies the number of \addtoindex{LEB128} operands for each
@@ -882,7 +883,7 @@ registers. Then it sets the \addttindex{discriminator} register to 0,
 and sets the \addttindex{basic\_block}, 
 \addttindex{prologue\_end} and 
 \addttindex{epilogue\_begin}
-registers to ``false.''
+registers to \doublequote{false.}
 
 \item \textbf{DW\_LNS\_advance\_pc} \\
 The \livetarg{chap:DWLNSadvancepc}{DW\_LNS\_advance\_pc} 
@@ -904,6 +905,7 @@ unsigned LEB128\addtoindexx{LEB128!unsigned}
 operand and stores it in the \texttt{file} register
 of the state machine.
 
+\needlines{4}
 \item \textbf{DW\_LNS\_set\_column} \\ 
 The \livetarg{chap:DWLNSsetcolumn}{DW\_LNS\_set\_column} opcode takes a
 single unsigned LEB128\addtoindexx{LEB128!unsigned} operand 
@@ -923,7 +925,7 @@ opcode
 \addtoindexx{basic block}
 takes no operands. 
 It sets the \addttindex{basic\_block} register of the
-state machine to ``true.''
+state machine to \doublequote{true.}
 
 
 
@@ -964,7 +966,7 @@ use \livelink{chap:DWLNSfixedadvancepc}{DW\_LNS\_fixed\_advance\_pc} instead, sa
 The \livetarg{chap:DWLNSsetprologueend}{DW\_LNS\_set\_prologue\_end}
 opcode takes no operands. It sets the 
 \addttindex{prologue\_end} register
-to \doublequote{true}.
+to \doublequote{true.}
 
 \textit{When a breakpoint is set on entry to a function, it is
 generally desirable for execution to be suspended, not on the
@@ -990,7 +992,7 @@ subroutines).}
 
 \item \textbf{DW\_LNS\_set\_epilogue\_begin} \\
 The \livetarg{chap:DWLNSsetepiloguebegin}{DW\_LNS\_set\_epilogue\_begin} opcode takes no operands. It
-sets the \addttindex{epilogue\_begin} register to \doublequote{true}.
+sets the \addttindex{epilogue\_begin} register to \doublequote{true.}
 
 \textit{When a breakpoint is set on the exit of a function or execution
 steps over the last executable statement of a function, it is
@@ -1188,7 +1190,7 @@ are, however, separated by commas.) Also, exactly one space
 character should separate the right parenthesis that terminates
 the formal parameter list and the following definition string.
 
-In the case of a ``normal'' (i.e. non-function-like) macro
+In the case of a \doublequote{normal} (i.e. non-function-like) macro
 definition, exactly one space character should separate the
 name of the defined macro from the following definition text.
 
@@ -1291,7 +1293,7 @@ is a place where a subroutine made a call or was interrupted
 by an asynchronous event (e.g. a signal).}
 
 \item \textit{An area of memory that is allocated on a stack called a
-``call frame.'' The call frame is identified by an address
+\doublequote{call frame.} The call frame is identified by an address
 on the stack. We refer to this address as the Canonical
 Frame Address or CFA. Typically, the CFA is defined to be the
 value of the stack pointer at the call site in the previous
@@ -1317,7 +1319,7 @@ beginning of a subroutine and the
 
 \textit{To be able to view or modify an activation that is not
 on the top of the call frame stack, the debugger must
-``virtually unwind'' the stack of activations until
+\doublequote{virtually unwind} the stack of activations until
 it finds the activation of interest.  A debugger unwinds
 a stack in steps. Starting with the current activation it
 virtually restores any registers that were preserved by the
@@ -1389,7 +1391,7 @@ registers during their lifetimes. This basis must be augmented
 on some machines with specific information that is defined by
 an architecture specific ABI authoring committee, a hardware
 vendor, or a compiler producer. The body defining a specific
-augmentation is referred to below as the ``augmenter.''
+augmentation is referred to below as the \doublequote{augmenter.}
 
 Abstractly, this mechanism describes a very large table that
 has the following structure:
@@ -1604,6 +1606,7 @@ offset into the \dotdebugframe{}
 section that denotes
 the CIE that is associated with this FDE.
 
+\needlines{4}
 \item  \texttt{initial\_location} (segment selector and target address) \\
 The 
 \addttindexx{initial\_location}
index 11d0e90..56085e9 100644 (file)
@@ -58,11 +58,11 @@ used to represent portions of an object file.
 \textit{A normal compilation unit typically represents the text and
 data contributed to an executable by a single relocatable
 object file. It may be derived from several source files,
-including pre\dash processed \doublequote{include files}. 
+including pre\dash processed \doublequote{include files.} 
 A \addtoindex{partial compilation unit} typically represents a part of the text
 and data of a relocatable object file, in a manner that can
 potentially be shared with the results of other compilations
-to save space. It may be derived from an \doublequote{include file},
+to save space. It may be derived from an \doublequote{include file,}
 template instantiation, or other implementation\dash dependent
 portion of a compilation. A normal compilation unit can also
 function in a manner similar to a partial compilation unit
@@ -180,6 +180,7 @@ value of the statement list attribute is the offset in the
 information for this compilation unit 
 (see Section \refersec{chap:linenumberinformation}).
 
+\needlines{6}
 \item A \livelink{chap:DWATmacroinfo}{DW\_AT\_macro\_info} attribute 
 \addtoindexx{macro information attribute}
 whose value is a 
@@ -263,10 +264,10 @@ attributes reflect the names as they appear in the source
 program but that a case insensitive lookup should be used to
 access those names.
 
+\needlines{5}
 \item A \livelink{chap:DWATbasetypes}{DW\_AT\_base\_types} attribute whose value is a 
 \livelink{chap:classreference}{reference}.
 
-
 This 
 \hypertarget{chap:DWATbasetypesprimitivedatatypesofcompilationunit}
 attribute 
@@ -406,7 +407,7 @@ those entities.}
 
 \subsection{Module Entries}
 \label{chap:moduleentries}
-\textit{Several languages have the concept of a ``module.''
+\textit{Several languages have the concept of a \doublequote{module.}
 \addtoindexx{Modula-2}
 A Modula\dash 2 definition module 
 \addtoindexx{Modula-2!definition module}
@@ -533,14 +534,14 @@ referenced by the specification attribute.
 namespace 
 \addtoindexx{namespace (C++)!global}
 referred to by
-``::f'', for example) is not explicitly represented in
+\texttt{::f}, for example) is not explicitly represented in
 DWARF with a namespace entry (thus mirroring the situation
 in \addtoindex{C++} source).  
 Global items may be simply declared with no
 reference to a namespace.}
 
 \textit{The \addtoindex{C++} 
-compilation unit specific ``unnamed namespace'' may
+compilation unit specific \doublequote{unnamed namespace} may
 \addtoindexx{namespace (C++)!unnamed}
 \addtoindexx{unnamed namespace|see {namespace (C++), unnamed}}
 be represented by a namespace entry with no name attribute in
@@ -640,14 +641,14 @@ declaration entry corresponding to each overloading. Each
 imported declaration entry has no name attribute but it does
 have an import attribute that refers to the entry for the
 entity being imported. (\addtoindex{C++} 
-provides no means to ``rename''
+provides no means to \doublequote{rename}
 an imported entity, other than a namespace).
 }
 
 \textit{A \addtoindex{Fortran} use statement 
 \addtoindexx{Fortran!use statement}
 \addtoindexx{use statement|see {Fortran, use statement}}
-with an ``only list'' may be
+with an \doublequote{only list} may be
 represented by a series of imported declaration entries,
 one (or more) for each entity that is imported. An entity
 \addtoindexx{renamed declaration|see{imported declaration entry}}
@@ -845,7 +846,7 @@ Table \refersec{tab:callingconventioncodes}.
 
 If this attribute is not present, or its value is the constant
 \livetarg{chap:DWCCnormal}{DW\_CC\_normal}, then the subroutine may be safely called by
-obeying the ``standard'' calling conventions of the target
+obeying the \doublequote{standard} calling conventions of the target
 architecture. If the value of the calling convention attribute
 is the constant \livetarg{chap:DWCCnocall}{DW\_CC\_nocall}, the subroutine does not obey
 standard calling conventions, and it may not be safe for the
@@ -853,8 +854,8 @@ debugger to call this subroutine.
 
 If the semantics of the language of the compilation unit
 containing the subroutine entry distinguishes between ordinary
-subroutines and subroutines that can serve as the ``main
-program,'' that is, subroutines that cannot be called
+subroutines and subroutines that can serve as the \doublequote{main
+program,} that is, subroutines that cannot be called
 directly according to the ordinary calling conventions,
 then the debugging information entry for such a subroutine
 may have a calling convention attribute whose value is the
@@ -900,7 +901,7 @@ a
 \livelink{chap:DWATelemental}{DW\_AT\_elemental} attribute, which
 is a \livelink{chap:classflag}{flag}. 
 The attribute indicates whether the subroutine
-or entry point was declared with the ``elemental'' keyword
+or entry point was declared with the \doublequote{elemental} keyword
 or property.
 
 A 
@@ -911,7 +912,7 @@ a
 \livelink{chap:DWATpure}{DW\_AT\_pure} attribute, which is
 a \livelink{chap:classflag}{flag}. 
 The attribute indicates whether the subroutine was
-declared with the ``pure'' keyword or property.
+declared with the \doublequote{pure} keyword or property.
 
 A 
 \hypertarget{chap:DWATrecursiverecursivepropertyofasubroutine}
@@ -919,7 +920,7 @@ subprogram entry may have a
 \livelink{chap:DWATrecursive}{DW\_AT\_recursive} attribute, which
 is a \livelink{chap:classflag}{flag}. 
 The attribute indicates whether the subroutine
-or entry point was declared with the ``recursive'' keyword
+or entry point was declared with the \doublequote{recursive} keyword
 or property.
 
 
@@ -1092,7 +1093,7 @@ variables, the \livelink{chap:DWATframebase}{DW\_AT\_frame\_base} can hold the n
 list, while all variables\textquoteright\  location descriptions can be
 simpler ones involving the frame base.}
 
-\item \textit{It can be used in resolving ``up\dash level'' addressing
+\item \textit{It can be used in resolving \doublequote{up\dash level} addressing
 within nested routines. 
 (See also \livelink{chap:DWATstaticlink}{DW\_AT\_static\_link}, below)}
 %The -See also- here is ok, the DW\_AT should be
@@ -1274,7 +1275,7 @@ directly or indirectly) by a debugging information entry
 that contains the 
 \livelink{chap:DWATinline}{DW\_AT\_inline} attribute is referred to
 \addtoindexx{abstract instance!entry}
-as an ``abstract instance entry.'' 
+as an \doublequote{abstract instance entry.} 
 Any subroutine entry
 that contains 
 \addtoindexx{inline attribute}
@@ -1282,12 +1283,12 @@ a \livelink{chap:DWATinline}{DW\_AT\_inline} attribute whose value is other
 than \livelink{chap:DWINLnotinlined}{DW\_INL\_not\_inlined}
 is known as 
 \addtoindexx{abstract instance!root}
-an ``abstract instance root.'' 
+an \doublequote{abstract instance root.} 
 Any set of abstract instance entries that are all
 children (either directly or indirectly) of some abstract
 instance root, together with the root itself, is known as
 \addtoindexx{abstract instance!tree}
-an ``abstract instance tree.'' However, in the case where
+an \doublequote{abstract instance tree.} However, in the case where
 an abstract instance tree is nested within another abstract
 instance tree, the entries in the 
 \addtoindex{nested abstract instance}
@@ -1447,14 +1448,14 @@ the actual return value of the concrete inlined instance.}
 Any debugging information entry that is owned (either
 directly or indirectly) by a debugging information entry
 with the tag \livelink{chap:DWTAGinlinedsubroutine}{DW\_TAG\_inlined\_subroutine} is referred to as a
-``concrete inlined instance entry.'' Any entry that has
+\doublequote{concrete inlined instance entry.} Any entry that has
 the tag 
 \livelink{chap:DWTAGinlinedsubroutine}{DW\_TAG\_inlined\_subroutine} 
-is known as a ``concrete inlined instance root.'' 
+is known as a \doublequote{concrete inlined instance root.} 
 Any set of concrete inlined instance
 entries that are all children (either directly or indirectly)
 of some concrete inlined instance root, together with the root
-itself, is known as a ``concrete inlined instance tree.''
+itself, is known as a \doublequote{concrete inlined instance tree.}
 However, in the case where a concrete inlined instance tree
 is nested within another concrete instance tree, the entries
 in the \addtoindex{nested concrete inline instance} tree 
@@ -1565,7 +1566,7 @@ Under some conditions, compilers may need to generate concrete
 executable instances of inlined subroutines other than at
 points where those subroutines are actually called. Such
 concrete instances of inlined subroutines are referred to as
-``concrete out\dash of\dash line instances.''
+\doublequote{concrete out\dash of\dash line instances.}
 
 \textit{In \addtoindex{C++}, for example, 
 taking the address of a function declared
@@ -1796,7 +1797,7 @@ of an identifier or inner lexical \nolink{block}.
 \section{Label Entries}
 \label{chap:labelentries}
 \textit{A label is a way of identifying a source statement. A labeled
-statement is usually the target of one or more ``go to''
+statement is usually the target of one or more \doublequote{go to}
 statements.
 }
 
@@ -1824,7 +1825,7 @@ the name of the label as it appears in the source program.
 
 \textit{Both \addtoindex{Pascal} and 
 \addtoindexx{Modula-2}
-Modula\dash 2 support the concept of a ``with''
+Modula\dash 2 support the concept of a \doublequote{with}
 statement. The with statement specifies a sequence of
 executable statements within which the fields of a record
 variable may be referenced, unqualified by the name of the
@@ -1861,11 +1862,11 @@ the with statement.
 \label{chap:tryandcatchblockentries}
 
 \textit{In \addtoindex{C++} a lexical \livelink{chap:lexicalblock}{block} may be 
-designated as a ``catch \nolink{block}.'' 
+designated as a \doublequote{catch \nolink{block}.} 
 A catch \livetargi{chap:catchblock}{block}{catch block} is an 
 exception handler that handles
 exceptions thrown by an immediately 
-preceding ``try \livelink{chap:tryblock}{block}.''
+preceding \doublequote{try \livelink{chap:tryblock}{block}.}
 A catch \livelink{chap:catchblock}{block} 
 designates the type of the exception that it
 can handle.}
index 103aeba..1c6dae3 100644 (file)
@@ -58,13 +58,13 @@ and \dotdebugtypes{} section version number.
 Notes:
 
 \begin{itemize}
-\item  ``V2'' means \addtoindex{DWARF Version 2}, published July 1993.
-\item  ``V3'' means \addtoindex{DWARF Version 3}, published December 2005.
-\item  ``V4'' means \addtoindex{DWARF Version 4}, published June 2010.
-\item  ``-'' means that a version number is not applicable
+\item  \doublequote{V2} means \addtoindex{DWARF Version 2}, published July 1993.
+\item  \doublequote{V3} means \addtoindex{DWARF Version 3}, published December 2005.
+\item  \doublequote{V4} means \addtoindex{DWARF Version 4}, published June 2010.
+\item  \doublequote{-} means that a version number is not applicable
 (the section's header does not include a version).
 
-\item  ``x'' means that the section was not defined in that
+\item  \doublequote{x} means that the section was not defined in that
 version of the DWARF standard.
 
 \item  The version numbers for the \dotdebuginfo{} and \dotdebugtypes{}
index a1fc867..4bd6c29 100644 (file)
@@ -59,7 +59,7 @@ A base type entry has
 either a \livelink{chap:DWATbytesize}{DW\_AT\_byte\_size} attribute
 \hypertarget{chap:DWATbitsizebasetypebitsize}
 or a \livelink{chap:DWATbitsize}{DW\_AT\_bit\_size} attribute 
-\addtoindex{bit size attribute}
+\addtoindexx{bit size attribute}
 whose \livelink{chap:classconstant}{integer constant} value
 (see Section \refersec{chap:byteandbitsizes}) 
 is the amount of storage needed to hold
@@ -67,7 +67,7 @@ a value of the type.
 
 \needlines{5}
 \textit{For example, the 
-\addtoindex{C} type int on a machine that uses 32\dash bit
+\addtoindex{C} type \texttt{int} on a machine that uses 32\dash bit
 integers is represented by a base type entry with a name
 attribute whose value is \doublequote{int}, an encoding attribute
 whose value is \livelink{chap:DWATEsigned}{DW\_ATE\_signed}
@@ -247,7 +247,7 @@ A \livelink{chap:DWATdecimalsign}{DW\_AT\_decimal\_sign} attribute
 \addtoindexx{decimal sign attribute}
 is an \livelink{chap:classconstant}{integer constant} that
 conveys the representation of the sign of the decimal type
-(see Figure \refersec{tab:decimalsignattributevalues}). 
+(see Table \refersec{tab:decimalsignattributevalues}). 
 Its \livelink{chap:classconstant}{integer constant} value is interpreted to
 mean that the type has a leading overpunch, trailing overpunch,
 leading separate or trailing separate sign representation or,
@@ -267,10 +267,10 @@ is encoded in the most significant digit in a target\dash dependent  manner \\
 \livetarg{chap:DWDStrailingoverpunch}{DW\_DS\_trailing\_overpunch} & Sign
 is encoded in the least significant digit in a target\dash dependent manner \\
 \livetarg{chap:DWDSleadingseparate}{DW\_DS\_leading\_separate} 
-& Decimal type: Sign is a ``+'' or ``-'' character 
+& Decimal type: Sign is a \doublequote{+} or \doublequote{-} character 
 to the left of the most significant digit. \\
 \livetarg{chap:DWDStrailingseparate}{DW\_DS\_trailing\_separate} 
-& Decimal type: Sign is a ``+'' or ``-'' character 
+& Decimal type: Sign is a \doublequote{+} or \doublequote{-} character 
 to the right of the least significant digit. \\
 &Packed decimal type: Least significant nibble contains
 a target\dash dependent value
@@ -307,7 +307,7 @@ base
 \hypertarget{chap:DWATpicturestringpicturestringfornumericstringtype}
 type is used to represent an edited
 numeric or alphanumeric data type. It is used in combination
-with an \livelink{chap:DWATpicturestring}{DW\_AT\_picture\_string} attribute whose value is a 
+with a \livelink{chap:DWATpicturestring}{DW\_AT\_picture\_string} attribute whose value is a 
 null\dash terminated string containing the target\dash dependent picture
 string associated with the type.
 
@@ -384,7 +384,7 @@ of the integer value in memory and the associated constant
 entry for the type.
 
 \textit{The \livelink{chap:DWATsmall}{DW\_AT\_small} attribute 
-is defined with the \addtoindex{Ada} small
+is defined with the \addtoindex{Ada} \texttt{small}
 attribute in mind.}
 
 \section{Unspecified Type Entries}
@@ -414,9 +414,7 @@ the language implementation can provide an unspecified type
 entry with the name \doublequote{void} which can be referenced by the
 type attribute of pointer types and typedef declarations for
 'void' (see 
-% FIXME: the following reference was wrong in DW4 so DavidA guessed
-% the intent.
-Sections \refersec{chap:unspecifiedtypeentries} and 
+Sections \refersec{chap:typemodifierentries} and 
 %The following reference was valid, so the following is probably correct.
 Section \refersec{chap:typedefentries}, 
 respectively). As another
@@ -475,7 +473,7 @@ a
 attribute to describe how objects having the given pointer
 or reference type ought to be dereferenced.
 
-A modified type entry describing a shared qualified type
+A modified type entry describing a \addtoindex{UPC} shared qualified type
 (using \livelink{chap:DWTAGsharedtype}{DW\_TAG\_shared\_type}) may have a
 \livelink{chap:DWATcount}{DW\_AT\_count} attribute
 \addtoindexx{count attribute}
@@ -539,7 +537,7 @@ reference to an object of the type being modified
 \livetarg{chap:DWTAGsharedtype}{DW\_TAG\_shared\_type}&\addtoindex{UPC} shared qualified type 
 \addtoindexx{shared qualified type entry} \\
 \livetarg{chap:DWTAGvolatiletype}{DW\_TAG\_volatile\_type}&C or C++ volatile qualified type 
-\addtoindex{volatile qualified type entry} \\
+\addtoindexx{volatile qualified type entry} \\
 \hline
 \end{tabular}
 \end{table}
@@ -618,7 +616,7 @@ source syntax) in other languages.}
 \section{Array Type Entries}
 \label{chap:arraytypeentries}
 
-\textit{Many languages share the concept of an ``array,'' which is
+\textit{Many languages share the concept of an \doublequote{array,} which is
 \addtoindexx{array type entry}
 a table of components of identical type.}
 
@@ -710,8 +708,9 @@ array type entry and are ordered to reflect the appearance of
 the dimensions in the source program (i.e., leftmost dimension
 first, next to leftmost second, and so on).
 
-\textit{In languages, such as C, in which there is no concept of
-a \doublequote{multidimensional array}, an array of arrays may
+\textit{In languages that have no concept of a 
+\doublequote{multidimensional array} (for example, 
+\addtoindex{C}), an array of arrays may
 be represented by a debugging information entry for a
 multidimensional array.}
 
@@ -724,7 +723,7 @@ which are described in
 Section \refersec{chap:dynamictypeproperties}. 
 For relevant examples, see also Appendix \refersec{app:fortran90example}.
 
-\section{ Structure, Union, Class and Interface Type Entries}
+\section{Structure, Union, Class and Interface Type Entries}
 \label{chap:structureunionclassandinterfacetypeentries}
 
 \textit{The languages 
@@ -747,14 +746,14 @@ own space in computer memory. The components of a C or C++
 
 \textit{\addtoindex{Pascal} and 
 other languages have a \doublequote{discriminated union,}
-\addtoindex{discriminated union|see {variant entry}}
+\addtoindexx{discriminated union|see {variant entry}}
 also called a \doublequote{variant record.} Here, selection of a
 number of alternative substructures (\doublequote{variants}) is based
 on the value of a component that is not part of any of those
 substructures (the \doublequote{discriminant}).}
 
 \textit{\addtoindex{C++} and 
-\addtoindex{Java} have the notion of ``class'', which is in some
+\addtoindex{Java} have the notion of \doublequote{class,} which is in some
 ways similar to a structure. A class may have \doublequote{member
 functions} which are subroutines that are within the scope
 of a class or structure.}
@@ -825,8 +824,8 @@ a \livelink{chap:DWATsignature}{DW\_AT\_signature}
 attribute.
 
 If a structure, union or class entry represents the definition
-of a structure, class or union member corresponding to a prior
-incomplete structure, class or union, the entry may have a
+of a structure, union or class member corresponding to a prior
+incomplete structure, union or class, the entry may have a
 \livelink{chap:DWATspecification}{DW\_AT\_specification} attribute 
 \addtoindexx{specification attribute}
 whose value is a \livelink{chap:classreference}{reference} to
@@ -840,7 +839,7 @@ do not need to duplicate
 information provided by the declaration entry referenced by the
 specification attribute.  In particular, such entries do not
 need to contain an attribute for the name of the structure,
-class or union they represent if such information is already
+union or class they represent if such information is already
 provided in the declaration.
 
 \textit{For \addtoindex{C} and \addtoindex{C++}, 
@@ -889,9 +888,9 @@ facilitate DWARF space compression
 \subsection{Interface Type Entries}
 \label{chap:interfacetypeentries}
 
-\textit{The \addtoindex{Java} language defines ``interface'' types. 
+\textit{The \addtoindex{Java} language defines \doublequote{interface} types. 
 An interface
-\addtoindex{interface type entry}
+\addtoindexx{interface type entry}
 in \addtoindex{Java} is similar to a \addtoindex{C++} or 
 \addtoindex{Java} class with only abstract
 methods and constant data members.}
@@ -920,14 +919,14 @@ declarations in the source program.
 \textit{In \addtoindex{C++}, a class (or struct) 
 may 
 \addtoindexx{derived type (C++)|see{inheritance entry}}
-be ``derived from'' or be a
-``subclass of'' another class. 
-In \addtoindex{Java}, an interface may ``extend''
+be \doublequote{derived from} or be a
+\doublequote{subclass of} another class. 
+In \addtoindex{Java}, an interface may \doublequote{extend}
 \addtoindexx{extended type (Java)|see{inheritance entry}}
 one 
 \addtoindexx{implementing type (Java)|see{inheritance entry}}
-or more other interfaces, and a class may ``extend'' another
-class and/or ``implement'' one or more interfaces. All of these
+or more other interfaces, and a class may \doublequote{extend} another
+class and/or \doublequote{implement} one or more interfaces. All of these
 relationships may be described using the following. Note that
 in \addtoindex{Java}, 
 the distinction between extends and implements is
@@ -964,14 +963,14 @@ a
 \livelink{chap:DWATdatamemberlocation}{DW\_AT\_data\_member\_location}
 attribute, whose value describes the location of the beginning
 of the inherited type relative to the beginning address of the
-derived class. If that value is a constant, it is the offset
+instance of the derived class. If that value is a constant, it is the offset
 in bytes from the beginning of the class to the beginning of
-the inherited type. Otherwise, the value must be a location
+the instance of the inherited type. Otherwise, the value must be a location
 description. In this latter case, the beginning address of
-the derived class is pushed on the expression stack before
+the instance of the derived class is pushed on the expression stack before
 the \addtoindex{location description}
 is evaluated and the result of the
-evaluation is the location of the inherited type.
+evaluation is the location of the instance of the inherited type.
 
 \textit{The interpretation of the value of this attribute for
 inherited types is the same as the interpretation for data
@@ -1043,7 +1042,7 @@ entities.
 \subsection{Friends}
 \label{chap:friends}
 
-Each ``friend'' 
+Each \doublequote{friend} 
 \addtoindexx{friend entry}
 declared by a structure, union or class
 \hypertarget{chap:DWATfriendfriendrelationship}
@@ -1160,7 +1159,7 @@ the containing construct is equivalent to execution of the
 is not needed at the
 beginning of a \addtoindex{location description} for a data member. 
 The
-result of the evaluation is a location--either an address or
+result of the evaluation is a location---either an address or
 the name of a register, not an offset to the member.}
 
 \textit{A \livelink{chap:DWATdatamemberlocation}{DW\_AT\_data\_member\_location} 
@@ -1248,7 +1247,9 @@ high order bits are to the left and low order bits are to
 the right.}
 
 \begin{figure}[h]
+\begin{dwflisting}
 \begin{verbatim}
+
     j:0
     k:5
     m:11
@@ -1263,19 +1264,23 @@ the right.}
     |   j   |     k      | m        |        n      |       <pad>   |
     |       |            |          |               |               | 
     +---------------------------------------------------------------+ 
+
 \end{verbatim}
+\end{dwflisting}
 \caption{Big-endian data bit offsets}
 \label{fig:bigendiandatabitoffsets}
 \end{figure}
 
 \begin{figure}[h]
+\begin{dwflisting}
 \begin{verbatim}
+
     j:0
     k:5
     m:11
     n:16
                                                <- Addresses increase
-    |       A       |     A + 1     |    A + 2      |    A + 3      | 
+    |     A + 3     |     A + 2     |    A + 1      |       A       | 
 
                                         <-  Data bit offsets increase 
     +---------------+---------------+---------------+---------------+
@@ -1283,7 +1288,9 @@ the right.}
     |     <pad>     |        n      |    m    |    k     |     j    |
     |               |               |         |          |          |
     +---------------------------------------------------------------+
+
 \end{verbatim}
+\end{dwflisting}
 \caption{Little-endian data bit offsets}
 \label{fig:littleendiandatabitoffsets}
 \end{figure}
@@ -1380,39 +1387,32 @@ combination may be found in the
 \addtoindex{DWARF Version 3} Standard.}
 
 \textit{In comparing 
-DWARF Versions 3 
+DWARF Versions 3 and 4,
 \addtoindexx{DWARF Version 3}
-and 
 \addtoindexx{DWARF Version 4}
-4, note that DWARF V4
+note that DWARF V4
 defines the following combinations of attributes:}
-
 \begin{itemize}
 \item \textit{either \livelink{chap:DWATdatamemberlocation}{DW\_AT\_data\_member\_location} 
 or
 \livelink{chap:DWATdatabitoffset}{DW\_AT\_data\_bit\_offset} 
 (to specify the beginning of the data member)}
-
-% FIXME: the indentation of the following line is suspect.
+\end{itemize}
 \textit{optionally together with}
-
+\begin{itemize}
 \item  \textit{either \livelink{chap:DWATbytesize}{DW\_AT\_byte\_size} or 
 \livelink{chap:DWATbitsize}{DW\_AT\_bit\_size} (to
 specify the size of the data member)}
-
 \end{itemize}
-
-\textit{DWARF V3 defines the following combinations}
-
+\textit{DWARF V3 defines the following combinations:}
 \begin{itemize}
 \item \textit{\livelink{chap:DWATdatamemberlocation}{DW\_AT\_data\_member\_location} 
 (to specify the beginning
 of the data member, except this specification is only partial
 in the case of a bit field) }
-
-% FIXME: the indentation of the following line is suspect.
+\end{itemize}
 \textit{optionally together with}
-
+\begin{itemize}
 \item \textit{\livelink{chap:DWATbytesize}{DW\_AT\_byte\_size}, 
 \livelink{chap:DWATbitsize}{DW\_AT\_bit\_size} and 
 \livelink{chap:DWATbitoffset}{DW\_AT\_bit\_offset}
@@ -1483,7 +1483,7 @@ to the formal parameter entry
 that corresponds to the object for which the function is
 called. The name attribute of that formal parameter is defined
 by the current language (for example, 
-this for \addtoindex{C++} or self
+\texttt{this} for \addtoindex{C++} or \texttt{self}
 for \addtoindex{Objective C} 
 and some other languages). That parameter
 also has a \livelink{chap:DWATartificial}{DW\_AT\_artificial} attribute whose value is true.
@@ -1521,6 +1521,7 @@ attribute. In particular, such entries do not need to contain
 attributes for the name or return type of the function member
 whose definition they represent.
 
+\needlines{5}
 \subsection{Class Template Instantiations}
 \label{chap:classtemplateinstantiations}
 
@@ -1585,15 +1586,16 @@ value parameter for this instantiation as represented on the
 target architecture.
 
 \needlines{5}
-\item The class type entry and each of its child entries references
+\item The class type entry and each of its child entries reference
 a \addtoindex{template type parameter entry} in any circumstance where the
 source template definition references a formal parameterized
 type. 
 Similarly, the class type entry and each of its child
-entries references a template value parameter entry in any
+entries reference a template value parameter entry in any
 circumstance where the source template definition references
 a formal parameterized value.
 
+\needlines{4}
 \item If the compiler has generated a special compilation unit to
 hold the 
 \addtoindexx{template instantiation!and special compilation unit}
@@ -1701,12 +1703,14 @@ declarations in the source program.
 
 \textit{COBOL has the notion of 
 \addtoindexx{level-88 condition, COBOL}
-a ``level\dash 88 condition'' that
+a \doublequote{level\dash 88 condition} that
 associates a data item, called the conditional variable, with
 a set of one or more constant values and/or value ranges.
-Semantically, the condition is \textquoteleft true\textquoteright if the conditional
+% Note: the {} after \textquoteright (twice) is necessary to assure a following space separator
+Semantically, the condition is \textquoteleft true\textquoteright{}
+if the conditional
 variable's value matches any of the described constants,
-and the condition is \textquoteleft false\textquoteright otherwise.}
+and the condition is \textquoteleft false\textquoteright{} otherwise.}
 
 The \livetarg{chap:DWTAGcondition}{DW\_TAG\_condition}
 debugging information entry\addtoindexx{condition entry}
@@ -1732,6 +1736,7 @@ implicitly specifies a \doublequote{comparison type} that is the
 type of an array element if the parent has an array type;
 otherwise it is the type of the parent entry.
 
+\needlines{4}
 The condition entry owns \livelink{chap:DWTAGconstant}{DW\_TAG\_constant} and/or
 \livelink{chap:DWTAGsubrangetype}{DW\_TAG\_subrange\_type} entries that describe the constant
 values associated with the condition. If any child entry 
@@ -1845,7 +1850,7 @@ or \livelink{chap:DWATbitstride}{DW\_AT\_bit\_stride} attribute
 which specifies the separation
 between successive elements along the dimension as described
 in 
-Section \refersec{chap:visibilityofdeclarations}. 
+Section \refersec{chap:staticanddynamicvaluesofattributes}. 
 The value of the 
 \livelink{chap:DWATbitstride}{DW\_AT\_bit\_stride} attribute
 \addtoindexx{bit stride attribute}
@@ -1866,7 +1871,7 @@ that return a value of a specific type. In both
 it is possible to declare pointers to subroutines that not
 only return a value of a specific type, but accept only
 arguments of specific types. The type of such pointers would
-be described with a ``pointer to'' modifier applied to a
+be described with a \doublequote{pointer to} modifier applied to a
 user\dash defined type.}
 
 A subroutine type is represented by a debugging information
@@ -1908,7 +1913,7 @@ a
 a \livelink{chap:classflag}{flag}.
 
 Each debugging information entry owned by a subroutine
-type entry correspond to either a formal parameter or the sequence of
+type entry corresponds to either a formal parameter or the sequence of
 unspecified parameters of the subprogram type:
 
 \begin{enumerate}[1. ]
@@ -1934,12 +1939,12 @@ tag \livelink{chap:DWTAGunspecifiedparameters}{DW\_TAG\_unspecified\_parameters}
 \section{String Type Entries}
 \label{chap:classstringtypeentries}
 
-\textit{A ``string'' is a sequence of characters that have specific
+\textit{A \doublequote{string} is a sequence of characters that have specific
 \addtoindexx{string type entry}
 semantics and operations that separate them from arrays of
 characters. 
 \addtoindex{Fortran} is one of the languages that has a string
-type. Note that ``string'' in this context refers to a target
+type. Note that \doublequote{string} in this context refers to a target
 machine concept, not the class string as used in this document
 (except for the name attribute).}
 
@@ -1969,9 +1974,9 @@ is the size of the data to be retrieved from the location
 referenced by the string length attribute. If no (byte or bit)
 size attribute is present, the size of the data to be retrieved
 is the same as the 
-\addtoindex{size of an address} on the target machine.
+\addtoindex{size of an address} on the target machine.Fif the amount
 
-\needlines{5}
+\needlines{4}
 If no string length attribute is present, the string type
 entry may have a \livelink{chap:DWATbytesize}{DW\_AT\_byte\_size} attribute or 
 \livelink{chap:DWATbitsize}{DW\_AT\_bit\_size}
@@ -2002,6 +2007,7 @@ The set type entry has
 a \livelink{chap:DWATtype}{DW\_AT\_type} attribute to denote the
 type of an element of the set.
 
+\needlines{4}
 If the amount of storage allocated to hold each element of an
 object of the given set type is different from the amount of
 storage that is normally allocated to hold an individual object
@@ -2015,7 +2021,7 @@ the amount of storage needed to hold a value of the set type.
 \section{Subrange Type Entries}
 \label{chap:subrangetypeentries}
 
-\textit{Several languages support the concept of a ``subrange''
+\textit{Several languages support the concept of a \doublequote{subrange}
 type object. These objects can represent a subset of the
 values that an object of the basis type for the subrange can
 represent. 
@@ -2180,7 +2186,7 @@ a \livelink{chap:DWATtype}{DW\_AT\_type} attribute to
 describe the type of the class or structure member to which
 objects of this type may point.
 
-The \addtoindex{pointer to member} entry also 
+The \addtoindexx{pointer to member} entry also 
 \hypertarget{chap:DWATcontainingtypecontainingtypeofpointertomembertype}
 has a 
 \livelink{chap:DWATcontainingtype}{DW\_AT\_containing\_type}
@@ -2227,15 +2233,14 @@ whose address is being calculated.
 \begin{lstlisting}[numbers=none]
     object.*mbr_ptr
 \end{lstlisting}
-% FIXME: object and mbr\_ptr should be distinguished from italic. See DW4.
-\textit{where mbr\_ptr has some \addtoindex{pointer to member type}, a debugger should:}
-
-\textit{1. Push the value of mbr\_ptr onto the DWARF expression stack.}
-
-\textit{2. Push the base address of object onto the DWARF expression stack.}
+\textit{where \texttt{mbr\_ptr} has some \addtoindex{pointer to member type}, a debugger should:}
+\begin{enumerate}
+\item \textit{Push the value of \texttt{mbr\_ptr} onto the DWARF expression stack.}
+\item \textit{Push the base address of \texttt{object} onto the DWARF expression stack.}
+\item \textit{Evaluate the \livelink{chap:DWATuselocation}{DW\_AT\_use\_location} description 
+given in the type of \texttt{mbr\_ptr}.}
+\end{enumerate}
 
-\textit{3. Evaluate the \livelink{chap:DWATuselocation}{DW\_AT\_use\_location} description 
-given in the type of mbr\_ptr.}
 
 \section{File Type Entries}
 \label{chap:filetypeentries}
@@ -2247,7 +2252,7 @@ files.}
 A file type is represented by a debugging information entry
 with 
 \addtoindexx{file type entry}
-the 
+the tag
 \livetarg{chap:DWTAGfiletype}{DW\_TAG\_file\_type}. 
 If the file type has a name,
 the file type entry has a \livelink{chap:DWATname}{DW\_AT\_name} attribute,