Merge branch 'HEAD' of dwarfgit@dwarfstd.org:dwarf-doc.git
authorRon Brender <ron.brender@gmail.com>
Sun, 20 Nov 2016 21:46:36 +0000 (16:46 -0500)
committerRon Brender <ron.brender@gmail.com>
Sun, 20 Nov 2016 21:46:36 +0000 (16:46 -0500)
Conflicts:
dwarf5/latexdoc/sectionversionnumbers.tex
 Merged and re-submitted...

Signed-off-by: Ron Brender <ron.brender@gmail.com>
dwarf5/latexdoc/sectionversionnumbers.tex.orig [new file with mode: 0644]

diff --git a/dwarf5/latexdoc/sectionversionnumbers.tex.orig b/dwarf5/latexdoc/sectionversionnumbers.tex.orig
new file mode 100644 (file)
index 0000000..c275934
--- /dev/null
@@ -0,0 +1,110 @@
+
+\chapter[Section Version Numbers (Informative)]{DWARF Section Version Numbers (Informative)}
+\label{app:dwarfsectionversionnumbersinformative}
+\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
+% or later.  The new format uses space more efficiently.
+
+Most DWARF sections have a version number in the section
+header. This version number is not tied to the DWARF standard
+revision numbers, but instead is incremented when incompatible
+changes to that section are made. The DWARF standard that
+a producer is following is not explicitly encoded in the
+file. Version numbers in the section headers are represented
+as two byte unsigned integers. 
+
+Table \refersec{tab:sectionversionnumbers}
+shows what version
+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{} 
+sections and so an incompatible change in those sections'
+format would be represented by a change in the 
+\dotdebuginfo{} section version number.
+
+\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
+\endfirsthead
+   \bfseries Section Name &\bfseries V2 &\bfseries V3 &\bfseries V4 &\bfseries V5 \\ \hline
+\endhead
+  \hline \emph{Continued on next page}
+\endfoot
+  \hline
+\endlastfoot
+\dotdebugabbrev{}   & * & * & * & * \\
+\dotdebugaddr{}            & - & - & - & 5 \\
+\dotdebugaranges{}  & 2 & 2 & 2 & 2 \\
+\dotdebugframe{}\footnote{\textit{For the \dotdebugframe{} section, version 2 is unused.}}
+                    & 1 & 3 & 4 & 4 \\
+\dotdebuginfo{}     & 2 & 3 & 4 & 5 \\
+\dotdebugline{}     & 2 & 3 & 4 & 5 \\
+<<<<<<< HEAD
+\bbeb\dotdebuglinestr{}  & - & - & - & * \\
+=======
+\dotdebuglinestr{}  & - & - & - & * \\
+>>>>>>> origin/HEAD
+\dotdebugloc{}      & * & * & * & - \\
+\dotdebugloclists{} & - & - & - & 5 \\
+\dotdebugmacinfo{}  & * & * & * & - \\*
+\dotdebugmacro{}    & - & - & - & 5 \\
+\dotdebugnames{}    & - & - & - & 5 \\
+\dotdebugpubnames{} & 2 & 2 & 2 & - \\
+\dotdebugpubtypes{} & - & 2 & 2 & - \\
+\dotdebugranges{}   & - & * & * & - \\
+\dotdebugrnglists{} & - & - & - & 5 \\
+\dotdebugstr{}      & * & * & * & * \\
+\dotdebugstroffsets & - & - & - & 5 \\
+\dotdebugsup        & - & - & - & 5 \\
+\dotdebugtypes{}    & - & - & 4 & - \\
+\\
+\hspace{3.5cm}\textit{(split object sections)}
+\\
+\dotdebugabbrevdwo  & - & - & - & * \\
+\dotdebuginfodwo    & - & - & - & 5 \\
+\dotdebuglinedwo    & - & - & - & 5 \\
+\dotdebugloclistsdwo& - & - & - & 5 \\
+\dotdebugmacrodwo   & - & - & - & 5 \\
+\dotdebugrnglistsdwo& - & - & - & 5 \\
+
+\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{*} 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 corresponding .debug\_<kind> and .debug\_<kind>.dwo 
+sections are the same.
+\end{itemize}
+
+