Complete figure to table conversion; other cleanups
[dwarf-doc.git] / dwarf5 / latexdoc / otherdebugginginformation.tex
index 4a5fc68..5bee11b 100644 (file)
@@ -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:}
 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}
 \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}
 \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
 \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 } \\
 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
 \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}
 
 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:
 
 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 \\
 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}
 \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.}
 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}
 \subsection{Line Number Program Instructions}
-
 The state machine instructions in a line number program belong to one of three categories:
 
 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.} \\
 
 
 \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 
 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. \\
 
 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). \\
 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}
 
 
 \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}
 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 +
   \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).}
 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
 \textit{The opcode mapping would be:}
 \begin{alltt}\textit{
                         Line Advance
@@ -1121,15 +1119,15 @@ The valid \addtoindex{macinfo types} are as follows:
 
 \begin{tabular}{ll}
 \livelink{chap:DWMACINFOdefine}{DW\-\_MACINFO\-\_define} 
 
 \begin{tabular}{ll}
 \livelink{chap:DWMACINFOdefine}{DW\-\_MACINFO\-\_define} 
-&A macro definition.\\
+&A macro definition\\
 \livelink{chap:DWMACINFOundef}{DW\-\_MACINFO\-\_undef}
 \livelink{chap:DWMACINFOundef}{DW\-\_MACINFO\-\_undef}
-&A macro undefinition.\\
+&A macro undefinition\\
 \livelink{chap:DWMACINFOstartfile}{DW\-\_MACINFO\-\_start\-\_file}
 \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}
 \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}
 \livelink{chap:DWMACINFOvendorext}{DW\-\_MACINFO\-\_vendor\-\_ext}
-& Vendor specific macro information directives.\\
+& Vendor specific macro information directives\\
 \end{tabular}
 
 \subsubsection{Define and Undefine Entries}
 \end{tabular}
 
 \subsubsection{Define and Undefine Entries}
@@ -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.
 
 saved and the rule to find the value for the register in the
 previous frame.
 
+\clearpage
 The register rules are:
 
 The register rules are:
 
-
 \begin{tabular}{lp{8cm}}
 undefined 
 &A register that has this rule has no recoverable value in the previous frame.
 \begin{tabular}{lp{8cm}}
 undefined 
 &A register that has this rule has no recoverable value in the previous frame.