Final cleanups before group review. Only Appendix B Figure is pending...
authorRon Brender <ron.brender@gmail.com>
Sun, 10 Feb 2013 10:08:00 +0000 (05:08 -0500)
committerRon Brender <ron.brender@gmail.com>
Sun, 10 Feb 2013 10:08:00 +0000 (05:08 -0500)
Signed-off-by: Ron Brender <ron.brender@gmail.com>
dwarf5/latexdoc/attributesbytag.tex
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/otherdebugginginformation.tex
dwarf5/latexdoc/programscope.tex
dwarf5/latexdoc/typeentries.tex

index 0749b47..202fa4a 100644 (file)
@@ -85,6 +85,7 @@ means includes all three of the
 &\livelink{chap:DWATpicturestring}{DW\-\_AT\-\_picture\-\_string} \\
 &\livelink{chap:DWATsibling}{DW\-\_AT\-\_sibling} \\
 &\livelink{chap:DWATsmall}{DW\-\_AT\-\_small} \\
+\\
 
 \hline
 \livelink{chap:DWTAGcatchblock}{DW\-\_TAG\-\_catch\-\_block}
@@ -664,6 +665,8 @@ 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:DWTAGtemplatevalueparameter}{DW\-\_TAG\-\_template\-\_value\-\_parameter} 
@@ -794,6 +797,7 @@ 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}
index 8bc8996..cf73725 100644 (file)
@@ -101,8 +101,8 @@ within an object file with the property that the entire set
 of section contributions must be retained or discarded as a
 whole; no partial elimination is allowed. Section groups can
 generally be handled by a linker in two ways:
+\begin{enumerate}[1. ]
 
-\begin{enumerate}[1.]
 \item Given multiple identical (duplicate) section groups,
 \addtoindexx{section group}
 one of them is chosen to be kept and used, while the rest
@@ -142,8 +142,7 @@ how to match up references and definitions.
 What is minimally needed from the object file format and system
 linker (outside of DWARF itself, and normal object/linker
 facilities such as simple relocations) are:
-
-\begin{enumerate}[1.]
+\begin{enumerate}[1. ]
 
 \item A means of referencing from inside one \addtoindex{.debug\_info}
 compilation unit to another 
index c0359c7..c33d7dd 100644 (file)
@@ -4,10 +4,13 @@
 \setlength{\parindent}{0pt}
 \nonzeroparskip
 
-\dwf, Version 4.1 (Draft)
+\begin{center}
+\dwf, Version 4.1
 
-Copyright \copyright 2010, 2013 \dwf\ Committee
+Copyright\copyright 2010, 2013 \dwf\ Committee
+\end{center}
 
+\vspace{4ex}
 Permission is granted to copy, 
 distribute and/or modify this document under the terms of the
 GNU Free Documentation License, Version 1.3; with no 
index 92a80d4..f50a9e2 100644 (file)
@@ -25,7 +25,7 @@ have true named constants.}
 
 The debugging information entry for a program variable,
 formal parameter or constant may have the following attributes:
-\begin{enumerate}[1.]
+\begin{enumerate}[1. ]
 \item A \livelink{chap:DWATname}{DW\-\_AT\-\_name} attribute,
 \addtoindexx{name attribute}
 whose value is a null-terminated
@@ -175,7 +175,7 @@ an
 object is smaller than (that is, is a subset of the addresses
 of) the scope most closely enclosing the object. There are
 two cases:
-\begin{enumerate}[a)]
+\begin{enumerate}[a) ]
 \item If the scope of the object entry includes all of the
 containing scope except for a contiguous sequence of bytes at
 the beginning of that containing scope, then the scope of the
index df34b70..dff36d3 100644 (file)
@@ -54,8 +54,8 @@ other vendors.
 To ensure that extensions added by one vendor may be safely
 ignored by consumers that do not understand those extensions,
 the following rules should be followed:
+\begin{enumerate}[1. ]
 
-\begin{enumerate}[1.]
 \item New attributes should be added in such a way that a
 debugger may recognize the format of a new attribute value
 without knowing the content of that attribute value.
@@ -153,7 +153,8 @@ can coexist and be distinguished within a single linked object.
 The differences between the 32\dash\   and 64\dash bit 
 DWARF formats are
 detailed in the following:
-\begin{enumerate}[1.]
+\begin{enumerate}[1. ]
+
 \item  In the 32\dash bit DWARF format, an 
 \addtoindex{initial length field}
 (see 
@@ -318,8 +319,7 @@ units may share the same table.
 
 \subsubsection{Compilation Unit Header}
 \label{datarep:compilationunitheader}
-
-\begin{enumerate}[1.]
+\begin{enumerate}[1. ]
 
 \item unit\_length (initial length) \\
 \addtoindexx{unit\_length}
@@ -373,8 +373,7 @@ contributing to the description of a type that has been
 placed in its own \addtoindex{type unit}, within the 
 \addtoindex{.debug\_types} section,
 consists of the following information:
-
-\begin{enumerate}[1.]
+\begin{enumerate}[1. ]
 
 \item unit\_length (initial length) \\
 \addtoindexx{unit\_length}
@@ -1946,9 +1945,8 @@ Each set of entries in the table of global names contained
 in the \addtoindex{.debug\_pubnames} and 
 \addtoindex{.debug\_pubtypes} sections begins
 with a header consisting of:
+\begin{enumerate}[1. ]
 
-
-\begin{enumerate}[1.]
 \item unit\_length (initial length) \\
 \addtoindexx{unit\_length}
 A 4\dash byte or 12\dash byte unsigned integer 
@@ -2015,8 +2013,7 @@ offset containing the value 0.
 Each set of entries in the table of address ranges contained
 in the \addtoindex{.debug\_aranges}
 section begins with a header containing:
-
-\begin{enumerate}[1.]
+\begin{enumerate}[1. ]
 % FIXME The unit length text is not fully consistent across
 % these tables.
 
@@ -2401,8 +2398,7 @@ The type signature for a type T0 is formed from the
 of a flattened description of the type. The flattened
 description of the type is a byte sequence derived from the
 DWARF encoding of the type as follows:
-
-\begin{enumerate}[1.]
+\begin{enumerate}[1. ]
 
 \item Start with an empty sequence S and a list V of visited
 types, where V is initialized to a list containing the type
@@ -2599,6 +2595,7 @@ if all of the type entries that it contains or refers to in
 Steps 6 and 7 can themselves each be considered for a separate
 \addtoindex{type unit}.}
 
+\needlines{4}
 Where the DWARF producer may reasonably choose two or more
 different forms for a given attribute, it should choose
 the simplest possible form in computing the signature. (For
index 1b2292e..85dcb00 100644 (file)
@@ -3,6 +3,8 @@
 % 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}{10 February 2013 (***Draft***)}
+%
 \usepackage{url} % For color in letters. Links instead?
 \usepackage{color} % For color in letters. Links instead?
 \usepackage{ellipsis} % Provides ... as \dots
@@ -51,8 +53,6 @@ escapeinside={\%*}{*)}     % if you want to add a comment within your code
 
 \renewcommand{\familydefault}{phv}  % font family helvetica
 
-\newcommand{\docdate}{7 February 2013}
-
 \newcommand{\dwf}{DWARF Debugging Information Format}
 
 \newenvironment{myindentpara}[1]%
@@ -130,6 +130,7 @@ escapeinside={\%*}{*)}     % if you want to add a comment within your code
 
 % And description lists with normal (not bold) text
 \renewcommand{\descriptionlabel}[1]{\hspace{\labelsep}\textnormal{#1}}
+\newcommand{\descriptionlabelnl}[1]{\item[#1] \mbox{}\\}
 
 % Reduce vertical space at beginning of a list
 \setlength{\topsep}{0in}
index f6307cf..ac77afb 100644 (file)
@@ -285,7 +285,7 @@ indicates the 1\dash dimensional version of \texttt{desc}.)
 
 \newpage
 Finally, the following notation is useful:
-\begin{enumerate}[1.]
+\begin{enumerate}[1. ]
 \item  sizeof(type): size in bytes of entities of the given type
 \item offset(type, comp): offset in bytes of the comp component
 within an entity of the given type
@@ -415,8 +415,7 @@ debug> print arrays(5)%ap(2)
 \end{lstlisting}
 
 Interpretation of this expression proceeds as follows:
-
-\begin{enumerate}[1.]
+\begin{enumerate}[1. ]
 
 \item Lookup name arrays. We find that it is a variable,
 whose type is given by the unnamed type at 6\$. Notice that
@@ -425,8 +424,7 @@ the type is an array type.
 
 \item Find the 5$^{th}$ element of that array object. To do array
 indexing requires several pieces of information:
-
-\begin{enumerate}[a)]
+\begin{enumerate}[a) ]
 
 \item  the address of the array data
 
@@ -480,14 +478,13 @@ symbol table.
 
 \item  Find the second element of the array object found in step 3. To do array indexing requires
 several pieces of information:
-
-\begin{enumerate}[a)]
+\begin{enumerate}[a) ]
 \item  the address of the array storage
 
 \item  the lower bounds of the array \\
 % Using plain [] here gives trouble.
 \lbrack To check that 2 is within bounds we would require the upper
-%bound too, but we\textquoteright ll skip that for this example \rbrack
+bound too, but we will skip that for this example \rbrack
 
 \item  the stride
 
@@ -558,8 +555,7 @@ Figure \refersec{fig:adaexampledwarfdescription}.
 
 
 Interesting aspects about this example are:
-
-\begin{enumerate}[1)]
+\begin{enumerate}[1. ]
 \item The array VEC2 is ``immediately'' contained within structure
 REC2 (there is no intermediate descriptor or indirection),
 which is reflected in the absence of a \livelink{chap:DWATdatalocation}{DW\-\_AT\-\_data\-\_location}
@@ -1351,8 +1347,7 @@ reduces to a simpler single level subset of the two level
 approaches considered here.)
 
 The approaches are:
-
-\begin{enumerate}[1.]
+\begin{enumerate}[1. ]
 \item  Inline both OUTER and INNER in all cases
 
 \item Inline OUTER, multiple INNERs \\
index a19018b..9d3d5d6 100644 (file)
@@ -190,7 +190,7 @@ actually declared in the source}{objects or types that are not actually declared
 &\livelinki{chap:DWATbitoffsetdatamemberbitlocation}{Data member bit location}{data member bit location} \\
 \livetarg{chap:DWATbitsize}{DW\-\_AT\-\_bit\-\_size} 
 &\livelinki{chap:DWATbitsizebasetypebitsize}{Base type bit size}{base type bit size} \\
-&\livelink{chap:DWATbitsizedatamemberbitsize}{Data member bit size}{data member bit size} \\
+&\livelinki{chap:DWATbitsizedatamemberbitsize}{Data member bit size}{data member bit size} \\
 \livetarg{chap:DWATbitstride}{DW\-\_AT\-\_bit\-\_stride} 
 &\livelinki{chap:DWATbitstridearrayelementstrideofarraytype}{Array element stride (of array type)}{array element stride (of array type)} \\
 &\livelinki{chap:DWATbitstridesubrangestridedimensionofarraytype}{Subrange stride (dimension of array type)}{subrange stride (dimension of array type)} \\
index 265546a..95790d3 100644 (file)
@@ -89,7 +89,7 @@ instance there is no need to have a
 for the member function.}
 
 Each set begins with a header containing four values:
-\begin{enumerate}[1.]
+\begin{enumerate}[1. ]
 
 \item unit\_length (initial length) \\
 \addtoindexx{unit\_length}
@@ -157,7 +157,7 @@ portion of the program\textquoteright s address space that is covered by
 a single compilation unit.
 
 Each set begins with a header containing five values:
-\begin{enumerate}[1.]
+\begin{enumerate}[1. ]
 \item unit\_length (initial length) \\
 \addtoindexx{unit\_length}
 The total length of all of the
@@ -435,31 +435,28 @@ for example, by the object file description.}
 \subsection{Line Number Program Instructions}
 The state machine instructions in a line number program belong to one of three categories:
 
-\begin{description}
-\item[special opcodes]
-
+\begin{enumerate}[1. ]
+\item special opcodes \\
 These have a \addtoindex{ubyte} opcode field and no operands.\vspace{1ex}
 
 \textit{Most of the instructions in a 
-line number program are special opcodes.} \\
-
-\item[standard opcodes]
+line number program are special opcodes.}
 
+\item standard opcodes \\
 These have a \addtoindex{ubyte} opcode field which may be followed by zero or more
 \addtoindex{LEB128} operands (except for 
 \mbox{\livelink{chap:DWLNSfixedadvancepc}{DW\-\_LNS\-\_fixed\-\_advance\-\_pc},} see below).
 The opcode implies the number of operands and their meanings, but the
 line number program header also specifies the number of operands for
-each standard opcode. \\
-
-\item[extended opcodes]
+each standard opcode.
 
+\item extended opcodes \\
 These have a multiple byte format. The first byte is zero; the next bytes
 are an unsigned LEB128\addtoindexx{LEB128!unsigned} integer giving the number of bytes in the
 instruction itself (does not include the first zero byte or the size). The
 remaining bytes are the instruction itself (which begins with a \addtoindex{ubyte}
 extended opcode). \\
-\end{description}
+\end{enumerate}
 
 
 \subsection{The Line Number Program Header}
@@ -474,7 +471,7 @@ used throughout the rest of the line number program.
 The line number program for each compilation unit begins with
 a header containing the following fields in order:
 
-\begin{enumerate}[1.]
+\begin{enumerate}[1. ]
 \item unit\_length (initial length)  \\
 \addtoindexx{unit\_length}
 The size in bytes of the line number information for this
@@ -517,6 +514,7 @@ For non-VLIW
 architectures, this field is 1, the \addtoindex{op\_index register} is always
 0, and the operation pointer is simply the address register.
 
+\needlines{4}
 \item default\_is\_stmt (\addtoindex{ubyte}) \\
 \addtoindexx{default\_is\_stmt}
 The initial value of the \addtoindex{is\_stmt} register.  
@@ -690,7 +688,7 @@ scheduling or other optimization.)
 \label{chap:specialopcodes}
 Each \addtoindex{ubyte} special opcode has the following effect on the state machine:
 
-\begin{enumerate}[1.]
+\begin{enumerate}[1. ]
 
 \item  Add a signed integer to the line register.
 
@@ -814,7 +812,11 @@ within the range [-3, 8] and (because of the limited number
 of opcodes available) when the difference between addresses
 is within the range [0, 20], but not all line advances are
 available for the maximum \addtoindex{operation advance} (see below).}
-\textit{The opcode mapping would be:}
+
+\textit{The resulting opcode mapping is shown in
+Figure \refersec{fig:examplelinenumberspecialopcodemapping}.}
+
+\begin{figure}[ht]
 \begin{alltt}\textit{
                         Line Advance
    Operation  
@@ -842,7 +844,9 @@ available for the maximum \addtoindex{operation advance} (see below).}
           19   241 242 243 244 245 246 247 248 249 250 251 252
           20   253 254 255
 }\end{alltt}
-
+\caption{Example line number special opcode mapping}
+\label{fig:examplelinenumberspecialopcodemapping}
+\end{figure}
 
 \textit{There is no requirement that the expression 
 255 - \addtoindex{line\_base} + 1 be an integral multiple of
@@ -855,7 +859,7 @@ available for the maximum \addtoindex{operation advance} (see below).}
 The standard opcodes, their applicable operands and the
 actions performed by these opcodes are as follows:
 
-\begin{enumerate}[1.]
+\begin{enumerate}[1. ]
 
 \item \textbf{DW\-\_LNS\-\_copy} \\
 The \livetarg{chap:DWLNScopy}{DW\-\_LNS\-\_copy} 
@@ -892,11 +896,13 @@ The \livetarg{chap:DWLNSsetcolumn}{DW\-\_LNS\-\_set\-\_column} opcode takes a
 single unsigned LEB128\addtoindexx{LEB128!unsigned} operand and stores it in the column
 register of the state machine.
 
+\needlines{4}
 \item \textbf{DW\-\_LNS\-\_negate\-\_stmt} \\
 The \livetarg{chap:DWLNSnegatestmt}{DW\-\_LNS\-\_negate\-\_stmt} opcode takes no
 operands. It sets the \addtoindex{is\_stmt} register of the state machine
 to the logical negation of its current value.
 
+\needlines{4}
 \item \textbf{DW\-\_LNS\-\_set\-\_basic\-\_block} \\
 The \livetarg{chap:DWLNSsetbasicblock}{DW\-\_LNS\-\_set\-\_basic\-\_block}
 opcode
@@ -1001,7 +1007,7 @@ register of the state machine.
 
 The extended opcodes are as follows:
 
-\begin{enumerate}[1.]
+\begin{enumerate}[1. ]
 
 \item \textbf{DW\-\_LNE\-\_end\-\_sequence} \\
 The \livetarg{chap:DWLNEendsequence}{DW\-\_LNE\-\_end\-\_sequence} opcode takes no operands. It sets the
@@ -1016,6 +1022,7 @@ number program sequence must end with a \livelink{chap:DWLNEendsequence}{DW\-\_L
 instruction which creates a row whose address is that of the
 byte after the last target machine instruction of the sequence.
 
+\needlines{5}
 \item \textbf{DW\-\_LNE\-\_set\-\_address} \\
 The \livetarg{chap:DWLNEsetaddress}{DW\-\_LNE\-\_set\-\_address} opcode takes a single relocatable
 address as an operand. The size of the operand is the size
@@ -1031,8 +1038,7 @@ stores a relocatable value into it instead.}
 \item \textbf{DW\-\_LNE\-\_define\-\_file} \\
 
 The \livetarg{chap:DWLNEdefinefile}{DW\-\_LNE\-\_define\-\_file} opcode takes four operands:
-
-\begin{enumerate}[1.]
+\begin{enumerate}[1. ]
 
 \item A null\dash terminated string containing the full or relative
 path name of a source file. If the entry contains a file
@@ -1079,8 +1085,6 @@ parameter, an unsigned LEB128\addtoindexx{LEB128!unsigned}
 integer. It sets the
 \addtoindex{discriminator} register to the new value.
 
-
-
 \end{enumerate}
 
 \textit{Appendix \refersec{app:linenumberprogramexample} 
@@ -1254,13 +1258,10 @@ to any definitions or undefinitions given explicitly by the
 user on the command line.
 
 
-
+\needlines{6}
 \section{Call Frame Information}
 \label{chap:callframeinformation}
 
-
-
-
 \textit{Debuggers often need to be able to view and modify the state of any subroutine activation that is
 \addtoindexx{activation!call frame}
 on the call stack. An activation consists of:}
@@ -1469,8 +1470,7 @@ A Common Information Entry holds information that is shared
 among many Frame Description Entries. There is at least one
 CIE in every non-empty \addtoindex{.debug\_frame} section. A CIE contains
 the following fields, in order:
-
-\begin{enumerate}[1.]
+\begin{enumerate}[1. ]
 \item length (initial length)  \\
 A constant that gives the number of bytes of the CIE structure,
 not including the length field itself 
@@ -1528,8 +1528,8 @@ size of a segment selector in this CIE and any FDEs that
 use it, in bytes.
 
 \item  \addtoindex{code\_alignment\_factor} (unsigned LEB128) 
-\addtoindexx{LEB128!unsigned}\addtoindexx{unsigned LEB128|see{LEB128, unsigned}} \\
-\addtoindex{code alignment factor}
+\addtoindexx{LEB128!unsigned}\addtoindexx{unsigned LEB128|see{LEB128, unsigned}}
+\addtoindexx{code alignment factor} \\
 A 
 \addtoindexx{\textless caf\textgreater|see{code alignment factor}}
 constant that is factored out of all advance location
@@ -1566,8 +1566,7 @@ match the length value above.
 \end{enumerate}
 
 An FDE contains the following fields, in order:
-
-\begin{enumerate}[1.]
+\begin{enumerate}[1. ]
 \item length (initial length)  \\
 
 A constant that gives the number of bytes of the header and
@@ -1604,7 +1603,7 @@ of bytes of program instructions described by this entry.
 \item instructions (array of \addtoindex{ubyte}) \\
 A sequence of table defining instructions that are described below.
 
-\item 6. padding (array of \addtoindex{ubyte}) \\
+\item padding (array of \addtoindex{ubyte}) \\
 Enough \livelink{chap:DWCFAnop}{DW\-\_CFA\-\_nop} instructions 
 to make the size of this entry match the length value above.
 \end{enumerate}
@@ -1648,8 +1647,7 @@ and \livelink{chap:DWCFAvalexpression}{DW\-\_CFA\-\_val\-\_expression}.}
 
 \subsubsection{Row Creation Instructions}
 \label{chap:rowcreationinstructions}
-
-\begin{enumerate}[1.]
+\begin{enumerate}[1. ]
 
 \item \textbf{DW\-\_CFA\-\_set\-\_loc} \\
 The \livetarg{chap:DWCFAsetloc}{DW\-\_CFA\-\_set\-\_loc} instruction 
@@ -1700,8 +1698,8 @@ and size of the delta operand.
 
 \subsubsection{CFA Definition Instructions}
 \label{chap:cfadefinitioninstructions}
+\begin{enumerate}[1. ]
 
-\begin{enumerate}[1.]
 \item \textbf{DW\-\_CFA\-\_def\-\_cfa} \\
 The \livetarg{chap:DWCFAdefcfa}{DW\-\_CFA\-\_def\-\_cfa}
 instruction takes two unsigned LEB128\addtoindexx{LEB128!unsigned}
@@ -1766,8 +1764,8 @@ expression operators that can be used.}
 
 \subsubsection{Register Rule Instructions}
 \label{chap:registerruleinstructions}
+\begin{enumerate}[1. ]
 
-\begin{enumerate}[1.]
 \item \textbf{DW\-\_CFA\-\_undefined} \\
 The \livetarg{chap:DWCFAundefined}{DW\-\_CFA\-\_undefined} instruction takes a single unsigned
 LEB128\addtoindexx{LEB128!unsigned} operand that represents a register number. The required
@@ -1895,14 +1893,14 @@ into the
 body of a function.}
 
 
-\begin{enumerate}[1.]
+\begin{enumerate}[1. ]
 
 \item \textbf{DW\-\_CFA\-\_remember\-\_state} \\
 The \livetarg{chap:DWCFArememberstate}{DW\-\_CFA\-\_remember\-\_state} instruction takes no operands. The
 required action is to push the set of rules for every register
 onto an implicit stack.
 
-
+\needlines{4}
 \item \textbf{DW\-\_CFA\-\_restore\-\_state} \\
 The \livetarg{chap:DWCFArestorestate}{DW\-\_CFA\-\_restore\-\_state} instruction takes no operands. The
 required action is to pop the set of rules off the implicit
@@ -1912,7 +1910,7 @@ stack and place them in the current row.
 
 \subsubsection{Padding Instruction}
 \label{chap:paddinginstruction}
-\begin{enumerate}[1.]
+\begin{enumerate}[1. ]
 \item \textbf{DW\-\_CFA\-\_nop} \\
 The \livetarg{chap:DWCFAnop}{DW\-\_CFA\-\_nop} instruction has no operands and no required
 actions. It is used as padding to make a CIE or FDE an
@@ -1927,8 +1925,7 @@ appropriate size
 (L1), one searches through the FDE headers looking at the
 initial\_location and address\_range values to see if L1 is
 contained in the FDE. If so, then:}
-
-\begin{enumerate}[1.]
+\begin{enumerate}[1. ]
 
 \item \textit{Initialize a register set by reading the
 initial\_instructions field of the associated CIE.}
index cff986a..769ee10 100644 (file)
@@ -80,7 +80,7 @@ Section \refersec{chap:importedunitentries}).
 
 Compilation unit entries may have the following 
 attributes:
-\begin{enumerate}[1]
+\begin{enumerate}[1]
 \item Either a \livelink{chap:DWATlowpc}{DW\-\_AT\-\_low\-\_pc} and 
 \livelink{chap:DWAThighpc}{DW\-\_AT\-\_high\-\_pc} pair of
 \addtoindexx{high PC attribute}
@@ -1078,7 +1078,7 @@ compact. However, these are not equivalent in general.}
 relative to the first unit of storage allocated for the
 procedure\textquoteright s stack frame. The \livelink{chap:DWATframebase}{DW\-\_AT\-\_frame\-\_base} attribute
 can be used in several ways:}
-\begin{enumerate}[1.]
+\begin{enumerate}[1. ]
 \item \textit{In procedures that need 
 \addtoindexx{location list}
 location lists to locate local
@@ -1115,7 +1115,7 @@ In the context of supporting nested subroutines, the
 \livelink{chap:DWATframebase}{DW\-\_AT\-\_frame\-\_base} attribute value should obey the following
 constraints:
 
-\begin{enumerate}[1.]
+\begin{enumerate}[1. ]
 \item It should compute a value that does not change during the
 life of the procedure, and
 
@@ -1175,7 +1175,7 @@ will have the same types of child entries as would an entry
 for a subroutine defined explicitly using the instantiation
 types. The exceptions are:
 
-\begin{enumerate}[1.]
+\begin{enumerate}[1. ]
 \item Each formal parameterized type declaration appearing in the
 template definition is represented by a debugging information
 entry with the 
@@ -1501,7 +1501,7 @@ inlined instance tree will be closely analogous to the
 structure and content of its associated abstract instance
 tree. There are a few exceptions:
 
-\begin{enumerate}[1.]
+\begin{enumerate}[1. ]
 \item An entry in the concrete instance tree may be omitted if
 it contains only a 
 \addtoindexx{abstract origin attribute}
@@ -1580,7 +1580,7 @@ concrete out\dash of\dash line instance of a given subroutine and the
 representation of a concrete inlined instance of that same
 subroutine are as follows:
 
-\begin{enumerate}[1.]
+\begin{enumerate}[1. ]
 \item  The root entry for a concrete out\dash of\dash line instance
 of a given inlined subroutine has the same tag as does its
 associated (abstract) inlined subroutine entry (that is, tag
@@ -1614,7 +1614,7 @@ subroutine, the following rules apply to their abstract and
 \addtoindexx{concrete instance!nested}
 concrete instance trees:
 
-\begin{enumerate}[1.]
+\begin{enumerate}[1. ]
 \item The abstract instance tree for the nested subroutine is
 described within the abstract instance tree for the outer
 subroutine according to the rules in 
index 9f45b6e..054d5d6 100644 (file)
@@ -1129,7 +1129,7 @@ is required.
 For a \livelink{chap:DWATdatamemberlocation}{DW\-\_AT\-\_data\-\_member\-\_location} attribute
 \addtoindexx{data member location attribute}
 there are two cases:
-\begin{enumerate}[1.]
+\begin{enumerate}[1. ]
 \item If the value is an integer constant, it is the offset
 in bytes from the beginning of the containing entity. If
 the beginning of the containing entity has a non-zero bit
@@ -1531,7 +1531,7 @@ and have the same types of child entries as would an entry
 for a class type defined explicitly using the instantiation
 types and values. The exceptions are:
 
-\begin{enumerate}[1.]
+\begin{enumerate}[1. ]
 \item Each formal parameterized type declaration appearing in the
 template definition is represented by a debugging information
 entry with the tag 
@@ -1772,7 +1772,7 @@ If an enumeration type has type safe
 \addtoindexx{type safe enumeration types}
 semantics such that
 
-\begin{enumerate}[1.]
+\begin{enumerate}[1. ]
 \item Enumerators are contained in the scope of the enumeration type, and/or
 
 \item Enumerators are not implicitly converted to another type
@@ -1897,7 +1897,7 @@ Each debugging information entry owned by a subroutine
 type entry has a tag whose value has one of two possible
 interpretations:
 
-\begin{enumerate}[1.]
+\begin{enumerate}[1. ]
 \item The formal parameters of a parameter list (that have a
 specific type) are represented by a debugging information entry
 with the tag \livelink{chap:DWTAGformalparameter}{DW\-\_TAG\-\_formal\-\_parameter}. 
@@ -2375,7 +2375,7 @@ named by the template alias.
 
 \needlines{4}
 The template alias entry has the following child entries:
-\begin{enumerate}[1.]
+\begin{enumerate}[1. ]
 \item Each formal parameterized type declaration appearing
 in the template alias declaration is represented
 by a debugging information entry with the tag