Removes the utf-8 strings from the .tex files and
[dwarf-doc.git] / dwarf5 / latexdoc / otherdebugginginformation.tex
index 4a5fc68..364847c 100644 (file)
@@ -153,7 +153,7 @@ lookup by address, a table is maintained in a separate
 object file section called 
 \addtoindex{.debug\_aranges}. The table consists
 of sets of variable length entries, each set describing the
-portion of the programs address space that is covered by
+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:
@@ -257,7 +257,6 @@ in the \addtoindex{.debug\_line}
 section could be represented as a large
 matrix, with one row for each instruction in the emitted
 object code. The matrix would have columns for:}
-
 \begin{itemize}
 \item \textit{the source file name}
 \item \textit{the source line number}
@@ -265,7 +264,6 @@ object code. The matrix would have columns for:}
 \item \textit{whether this instruction is the beginning of a \addtoindex{basic block}}
 \item \textit{and so on}
 \end{itemize}
-
 \textit{Such a matrix, however, would be impractically large. We
 shrink it with two techniques. First, we delete from
 the matrix each row whose file, line, source column and
@@ -328,7 +326,7 @@ The line number information state machine has the following
 registers:
 \begin{longtable}{l|p{9cm}}
   \caption{State Machine Registers } \\
-  \hline \\ \bfseries Register name&\bfseries Meaning\\ \hline
+  \hline \bfseries Register name&\bfseries Meaning\\ \hline
 \endfirsthead
   \bfseries Register name&\bfseries Meaning\\ \hline
 \endhead
@@ -410,21 +408,21 @@ exists for a given source position, the discriminator value
 should be zero. \\
 \end{longtable}
 
+\clearpage      % Keep this sentence with the following table
 At the beginning  of each sequence within a line number
 program, the state of the registers is:
 
-%\begin{tabular}{lp{8cm}}
-\begin{tabular}{lp{11cm}}
+\begin{tabular}{lp{9cm}}
 address & 0 \\
 \addtoindex{op\_index} & 0 \\
 file & 1 \\
 line & 1 \\
 column & 0 \\
 \addtoindex{is\_stmt} & determined by \addtoindex{default\_is\_stmt} in the line number program header \\
-\addtoindex{basic\_block} & ``false'' \addtoindexx{basic block} \\
-\addtoindex{end\_sequence} & ``false'' \\
-\addtoindex{prologue\_end} & ``false'' \\
-\addtoindex{epilogue\_begin} & ``false'' \\
+\addtoindex{basic\_block}    & \doublequote{false} \addtoindexx{basic block} \\
+\addtoindex{end\_sequence}   & \doublequote{false} \\
+\addtoindex{prologue\_end}   & \doublequote{false} \\
+\addtoindex{epilogue\_begin} & \doublequote{false} \\
 \addtoindex{isa} & 0 \\
 discriminator & 0 \\
 \end{tabular}
@@ -434,33 +432,34 @@ discriminator & 0 \\
 architecturally determined default instruction set. This may
 be fixed by the ABI, or it may be specified by other means,
 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{tabular}{lp{10cm}}
-special opcodes &
-These have a \addtoindex{ubyte} opcode field and no operands.
+\begin{description}
+\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.} \\
 
-standard opcodes &
+\item[standard opcodes]
+
 These have a \addtoindex{ubyte} opcode field which may be followed by zero or more
 \addtoindex{LEB128} operands (except for 
-\livelink{chap:DWLNSfixedadvancepc}{DW\-\_LNS\-\_fixed\-\_advance\-\_pc}, see below).
+\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. \\
 
-extended opcodes &
+\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{tabular}
+\end{description}
 
 
 \subsection{The Line Number Program Header}
@@ -774,7 +773,7 @@ is the result of the adjusted opcode divided by the
 line\_range. The new address and \addtoindex{op\_index} values
 are given by
 \begin{alltt}
-  \textit{adjusted opcode} = opcode  opcode\_base
+  \textit{adjusted opcode} = opcode \dash opcode\_base
   \textit{operation advance} = \textit{adjusted opcode} / line\_range
 
   new address = address +
@@ -814,7 +813,6 @@ 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:}
 \begin{alltt}\textit{
                         Line Advance
@@ -1006,7 +1004,7 @@ The extended opcodes are as follows:
 \item \textbf{DW\-\_LNE\-\_end\-\_sequence} \\
 The \livetarg{chap:DWLNEendsequence}{DW\-\_LNE\-\_end\-\_sequence} opcode takes no operands. It sets the
 \addtoindex{end\_sequence}
-register of the state machine to “true” and
+register of the state machine to \doublequote{true} and
 appends a row to the matrix using the current values of the
 state-machine registers. Then it resets the registers to the
 initial values specified above 
@@ -1108,8 +1106,8 @@ the macro information for a
 given compilation unit is represented in the 
 \addtoindex{.debug\_macinfo}
 section of an object file. The macro information for each
-compilation unit is represented as a series of “macinfo”
-entries. Each macinfo entry consists of a “type code” and
+compilation unit is represented as a series of \doublequote{macinfo}
+entries. Each macinfo entry consists of a \doublequote{type code} and
 up to two additional operands. The series of entries for a
 given compilation unit ends with an entry containing a type
 code of 0.
@@ -1121,15 +1119,15 @@ The valid \addtoindex{macinfo types} are as follows:
 
 \begin{tabular}{ll}
 \livelink{chap:DWMACINFOdefine}{DW\-\_MACINFO\-\_define} 
-&A macro definition.\\
+&A macro definition\\
 \livelink{chap:DWMACINFOundef}{DW\-\_MACINFO\-\_undef}
-&A macro undefinition.\\
+&A macro undefinition\\
 \livelink{chap:DWMACINFOstartfile}{DW\-\_MACINFO\-\_start\-\_file}
-&The start of a new source file inclusion.\\
+&The start of a new source file inclusion\\
 \livelink{chap:DWMACINFOendfile}{DW\-\_MACINFO\-\_end\-\_file}
-&The end of the current source file inclusion.\\
+&The end of the current source file inclusion\\
 \livelink{chap:DWMACINFOvendorext}{DW\-\_MACINFO\-\_vendor\-\_ext}
-& Vendor specific macro information directives.\\
+& Vendor specific macro information directives\\
 \end{tabular}
 
 \subsubsection{Define and Undefine Entries}
@@ -1290,7 +1288,7 @@ across a call. If a callee wishes to use such a register, it
 saves the value that the register had at entry time in its call
 frame and restores it on exit. The code that allocates space
 on the call frame stack and performs the save operation is
-called the subroutines \addtoindex{prologue}, and the code that performs
+called the subroutine\textquoteright s \addtoindex{prologue}, and the code that performs
 the restore operation and deallocates the frame is called its
 \addtoindex{epilogue}. Typically, the 
 \addtoindex{prologue} code is physically at the
@@ -1303,14 +1301,14 @@ on the top of the call frame stack, the debugger must
 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
-current activation and computes the predecessors CFA and
+current activation and computes the predecessor\textquoteright s CFA and
 code location. This has the logical effect of returning from
 the current subroutine to its predecessor. We say that the
 debugger virtually unwinds the stack because the actual state
 of the target process is unchanged.}
 
 \textit{The unwinding operation needs to know where registers are
-saved and how to compute the predecessors CFA and code
+saved and how to compute the predecessor\textquoteright s CFA and code
 location. When considering an architecture-independent way
 of encoding this information one has to consider a number of
 special things.}
@@ -1405,9 +1403,9 @@ contain rules that describe whether a given register has been
 saved and the rule to find the value for the register in the
 previous frame.
 
+\clearpage
 The register rules are:
 
-
 \begin{tabular}{lp{8cm}}
 undefined 
 &A register that has this rule has no recoverable value in the previous frame.
@@ -1669,7 +1667,7 @@ selector of the given length.
 The \livetarg{chap:DWCFAadvanceloc}{DW\-\_CFA\-\_advanceloc} instruction takes a single operand (encoded
 with the opcode) that represents a constant delta. The required
 action is to create a new table row with a location value that
-is computed by taking the current entrys location value
+is computed by taking the current entry\textquoteright s location value
 and adding the value of 
 \textit{delta * \addtoindex{code\_alignment\_factor}}. 
 All
@@ -1932,7 +1930,7 @@ contained in the FDE. If so, then:}
 \item \textit{Initialize a register set by reading the
 initial\_instructions field of the associated CIE.}
 
-\item \textit{Read and process the FDEs instruction
+\item \textit{Read and process the FDE\textquoteright s instruction
 sequence until a \livelink{chap:DWCFAadvanceloc}{DW\-\_CFA\-\_advance\-\_loc}, 
 \livelink{chap:DWCFAsetloc}{DW\-\_CFA\-\_set\-\_loc}, or the
 end of the instruction stream is encountered.}