Check point of work to date.
[dwarf-doc.git] / dwarf5 / latexdoc / sectionversionnumbers.tex
index d4496c4..a35810e 100644 (file)
@@ -1,7 +1,7 @@
 
 \chapter[Section Version Numbers (Informative)]{DWARF Section Version Numbers (Informative)}
 \label{app:dwarfsectionversionnumbersinformative}
-\addtoindexx{version number!by section}
+\addtoindexx{version number!summary by section}
 
 % The table format looks rather different that V4 and earlier
 % as latex took up too much space and left no room for V5
@@ -17,64 +17,101 @@ as two byte unsigned integers.
 
 Table \refersec{tab:sectionversionnumbers}
 shows what version
-numbers are in use for each section.
+numbers are in use for each section. In that table:
+\begin{itemize}
+\setlength{\itemsep}{0em}
+\item  \doublequote{V2} means \addtoindex{DWARF Version 2}, published July 27, 1993.
+\item  \doublequote{V3} means \addtoindex{DWARF Version 3}, published December 20, 2005.
+\item  \doublequote{V4} means \addtoindex{DWARF Version 4}, published June 10, 2010.
+\item  \doublequote{V5} means \addtoindex{DWARF Version 5}\footnote{Higher numbers are reserved for future use.}, published 
+                       \ifthenelse{\boolean{isdraft}}{\textit{<to be determined>}}{\docdate}.
+\end{itemize}
 
 There are sections with no version number encoded in them;
 they are only accessed via the 
-\dotdebuginfo{} and 
-\dotdebugtypes{}
+\dotdebuginfo{} 
 sections and so an incompatible change in those sections'
 format would be represented by a change in the 
-and \dotdebugtypes{} section version number.
+\dotdebuginfo{} section version number.
 
-\clearpage
+\needlines{10}
 \begin{centering}
 \setlength{\extrarowheight}{0.1cm}
 \begin{longtable}{lcccc}
   \caption{Section version numbers} \label{tab:sectionversionnumbers} \\
-  \hline \bfseries Section Name &\bfseries V2 &\bfseries V3 &\bfseries V4 &\bfseries V5 \\ \hline
+  \hline 
+  \bfseries Section Name &\bfseries V2 &\bfseries V3 &\bfseries V4 
+                         &\bfseries V5 \\ 
+  \hline
 \endfirsthead
-   \bfseries Section Name &\bfseries V2 &\bfseries V3 &\bfseries V4 \\ \hline
+   \bfseries Section Name &\bfseries V2 &\bfseries V3 &\bfseries V4 &\bfseries V5 \\ \hline
 \endhead
   \hline \emph{Continued on next page}
 \endfoot
   \hline
 \endlastfoot
-\dotdebugabbrev{}   & - & - & - & - \\
+\dotdebugabbrev{}   & * & * & * & * \\
+\dotdebugaddr{}            & - & - & - & 5 \\
 \dotdebugaranges{}  & 2 & 2 & 2 & 2 \\
-\dotdebugframe{}    & 1 & 3 & 4 & 4 \\
+\dotdebugframe{}\footnote{\textit{For the \dotdebugframe{} section, version 2 is unused.}}
+                    & 1 & 3 & 4 & 4 \\
 \dotdebuginfo{}     & 2 & 3 & 4 & 5 \\
-\dotdebugline{}     & 2 & 3 & 4 & 4 \\
-\dotdebugloc{}      & - & - & - & - \\
-\dotdebugmacinfo{}  & - & - & - & - \\
-\dotdebugpubnames{} & 2 & 2 & 2 & 2 \\
-\dotdebugpubtypes{} & x & 2 & 2 & 2 \\
-\dotdebugranges{}   & x & - & - & - \\
-\dotdebugstr{}      & - & - & - & - \\
-\dotdebugtypes{}    & x & x & 4 & 5 \\
+\dotdebugline{}     & 2 & 3 & 4 & 5 \\
+\dotdebuglinestr{}  & - & - & - & 5 \\
+\bb
+\addtoindexi{\texttt{.debug\_loc}}{\texttt{.debug\_loc} (Version 4)}
+                    & * & * & * & - \\
+\dotdebugloclists{} & - & - & - & 5 
+\eb \\
+\dotdebugmacinfo{}  & * & * & * & - \\*
+\dotdebugmacro{}    & - & - & - & 5 \\
+\dotdebugnames{}    & - & - & - & 5 \\
+\dotdebugpubnames{} & 2 & 2 & 2 & - \\
+\dotdebugpubtypes{} & - & 2 & 2 & - \\
+\bb
+\addtoindexi{\texttt{.debug\_ranges}}{\texttt{.debug\_ranges} (Version 4)}
+                    & - & * & * & - \\
+\dotdebugrnglists{} & - & - & - & 5
+\eb \\
+\dotdebugstr{}      & * & * & * & * \\
+\dotdebugstroffsets & - & - & - & 5 \\
+\dotdebugsup        & - & - & - & 5 \\
+\addtoindexi{\texttt{.debug\_types}}{\texttt{.debug\_types} (Version 4)}
+                    & - & - & 4 & - \\
+\\
+\hspace{3.5cm}\textit{(split object sections)}
+\\
+\dotdebugabbrevdwo  & - & - & - & * \\
+\dotdebuginfodwo    & - & - & - & 5 \\
+\dotdebuglinedwo    & - & - & - & 5 \\
+\bb
+\dotdebugloclistsdwo& - & - & - & 5 
+\eb \\
+\dotdebugmacrodwo   & - & - & - & 5 \\
+\bb
+\dotdebugrnglistsdwo& - & - & - & 5
+\eb \\
+
+\dotdebugstrdwo     & - & - & - & * \\
+\dotdebugstroffsetsdwo 
+                    & - & - & - & 5 \\
+
+\hspace{3.5cm}\textit{(package file sections)}
+\\
+\dotdebugcuindex{}  & - & - & - & 5 \\
+\dotdebugtuindex{}  & - & - & - & 5 \\
 \end{longtable}
 \end{centering}
 
+\needlines{8}
 Notes:
-
 \begin{itemize}
-\item  \doublequote{V2} means \addtoindex{DWARF Version 2}, published July 27, 1993.
-\item  \doublequote{V3} means \addtoindex{DWARF Version 3}, published December 20, 2005.
-\item  \doublequote{V4} means \addtoindex{DWARF Version 4}, published June 10, 2010.
-\item  \doublequote{V5} means \addtoindex{DWARF Version 5}, published 
-                       \ifthenelse{\boolean{isdraft}}{\textit{<to be determined>}}{\docdate}.
-\item  \doublequote{-} means that a version number is not applicable
-(the section's header does not include a version).
-
-\item  \doublequote{x} means that the section was not defined in that
+\item  \doublequote{*} means that a version number is not applicable
+(the section does not include a header or the section's header does not include a version).
+\item  \doublequote{-} means that the section was not defined in that
 version of the DWARF standard.
-
-\item  The version numbers for the \dotdebuginfo{} and \dotdebugtypes{}
-sections must be the same.
-
+\item  The version numbers for corresponding .debug\_<kind> and .debug\_<kind>.dwo 
+sections are the same.
 \end{itemize}
 
-\textit{For \dotdebugframe{}, section version 2 is unused.}
-
-Higher numbers are reserved for future use.