From: Ron Brender Date: Fri, 24 Jun 2016 22:32:21 +0000 (-0400) Subject: Include editorial changes from Coutant in Chapter 6 and 7 X-Git-Tag: DWARF_5_Release~22 X-Git-Url: http://git.dwarfstd.org/?p=dwarf-doc.git;a=commitdiff_plain;h=c7f32fab2b97e5bd0d9377c7ce2bc5b5d2b3880c Include editorial changes from Coutant in Chapter 6 and 7 (accidently omitted from previous submission). Signed-off-by: Ron Brender --- diff --git a/dwarf5/latexdoc/changesummary.tex b/dwarf5/latexdoc/changesummary.tex index 0b7c756..6397900 100644 --- a/dwarf5/latexdoc/changesummary.tex +++ b/dwarf5/latexdoc/changesummary.tex @@ -15,7 +15,8 @@ This change summary is included only in draft versions of this document. \begin{longtable}{ll} \textbf{Date} & \textbf{Issue Incorporated or Other Change} \\ \hline \\ \endhead -6/19/2016 & Remove change bars, 160301.1 (unnamed namespace), 160620.1 (generic type) \\ +6/24/2016 & Editoiral changes in 6.1.1.4.x, 7.3.5.3 \\ +6/23/2016 & Remove change bars, 160301.1 (unnamed namespace), 160620.1 (generic type) \\ 5/19-20/2016 & 150331.1 (Add language RenderScript), 160108.1 (Unify unit headers) \\ 4/15-5/2/2016 & Remove change bars, Other miscellaneous editorial work \\ 3/4-7/2016 & Editorial work from 3/4/2016 editorial review \\ diff --git a/dwarf5/latexdoc/datarepresentation.tex b/dwarf5/latexdoc/datarepresentation.tex index 823ea5a..fcefb55 100644 --- a/dwarf5/latexdoc/datarepresentation.tex +++ b/dwarf5/latexdoc/datarepresentation.tex @@ -558,15 +558,19 @@ guaranteed to stop at an unused slot or find the match. \needlines{4} The table of offsets begins immediately following the parallel table (at offset \mbox{$16 + 12 * S$} from the beginning of the section). -The table is a two-dimensional array of 4-byte words, -%(using the byte order of the application binary), -with $N$ sections and $U + 1$ -rows, in row-major order. Each row in the array is indexed -starting from 0. The first row provides a key to the columns: -each column in this row provides a section identifier for a debug -section, and the offsets in the same column of subsequent rows -refer to that section. The section identifiers are shown in -Table \referfol{tab:dwarfpackagefilesectionidentifierencodings}. +\bb +This table consists of a single header row containing $N$ fields, +each a 4-byte unsigned integer, followed by $U$ data rows, each +also containing $N$ fields of 4-byte unsigned integers. The fields +in the header row provide a section identifier referring to a +debug section; the available section identifiers are shown in +Table \referfol{tab:dwarfpackagefilesectionidentifierencodings}. +Each data row corresponds to a specific CU +or TU in the package file. In the data rows, each field provides +an offset to the debug section whose identifier appears in the +corresponding field of the header row. The data rows are indexed +starting at 1. +\eb \textit{Not all sections listed in the table need be included.} @@ -611,12 +615,18 @@ interpreted as relative to the corresponding base offset. The table of sizes begins immediately following the table of offsets, and provides the sizes of the contributions made by each -CU or TU to the corresponding section in the package file. Like -the table of offsets, it is a two-dimensional array of 4-byte -words, with $N$ -entries and $U$ rows, in row-major order. Each row in -the array is indexed starting from 1 (row 0 of the table of -offsets also serves as the key for the table of sizes). +CU or TU to the corresponding section in the package file. +\bb +This +table consists of U data rows, each with N fields of 4-byte +unsigned integers. Each data row corresponds to the same CU or TU +as the corresponding data row in the table of offsets described +above. Within each data row, the N fields also correspond +one-to-one with the fields in the corresponding data row of the +table of offsets. Each field provides the size of the +contribution made by a CU or TU to the corresponding section in +the package file. +\eb For an example, see Figure \refersec{fig:examplecuindexsection}. diff --git a/dwarf5/latexdoc/dwarf5.tex b/dwarf5/latexdoc/dwarf5.tex index 38a13e0..85e9139 100644 --- a/dwarf5/latexdoc/dwarf5.tex +++ b/dwarf5/latexdoc/dwarf5.tex @@ -3,7 +3,7 @@ % 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}{June 23, 2016} +\newcommand{\docdate}{June 24, 2016} % \usepackage{ifthen} \newcommand{\ifthen}[2]{\ifthenelse{#1}{#2}{}} diff --git a/dwarf5/latexdoc/otherdebugginginformation.tex b/dwarf5/latexdoc/otherdebugginginformation.tex index 4c6d9e7..e771e1b 100644 --- a/dwarf5/latexdoc/otherdebugginginformation.tex +++ b/dwarf5/latexdoc/otherdebugginginformation.tex @@ -661,6 +661,7 @@ The name index is placed in a section named \dotdebugnames, and consists of the eight parts described in the following sections. \subsubsubsection{Section Header} +\label{chap:sectionheader} The section header contains the following fields: \begin{enumerate}[1. ] \item \texttt{unit\_length} (\livelink{datarep:initiallengthvalues}{initial length}) \\ @@ -786,23 +787,29 @@ in the name table. \needlines{6} \subsubsubsection{Name Table} -The name table immediately follows the hash lookup table. The name -table is laid out in column-major order (that is, the first column, -followed by the second column). Each entry in the first column -contains the string table offset (\DWFORMstrp) of the name in the -\dotdebugstr{} (or \dotdebugstrdwo) section. Each entry in the second -column contains the offset (as a section offset) within the entry pool -of the list of index entries for the name. Rows in the name table are -indexed starting at 1 (to match the hashes array). - -The number of rows in the name table is given by \texttt{name\_count}. - -If there is a hash lookup table, the -row number of an entry in the name table must -match the row number of its corresponding entry in the hashes array. - -If there is no hash lookup table, there is no ordering -requirement for the name table. +\label{chap:nametable} +\bb +The name table immediately follows the hash lookup table. It +consists of two arrays: an array of string offsets, followed +immediately by an array of entry offsets. The items in both +arrays are section offsets: 4-byte unsigned integers for the +DWARF-32 format or 8-byte unsigned integers for the DWARF-64 +format. The string offsets in the first array refer to names in +the \dotdebugstr{} (or \dotdebugstrdwo) section. The entry offsets +in the second array refer to index entries, and are relative to +the start of the entry pool area. + +These two arrays are indexed starting at 1, and correspond +one-to-one with each other. The length of each array is +given by \texttt{name\_count}. + +If there is a hash lookup table, the hashes array corresponds on +a one-to-one basis with the string offsets array and with the +entry offsets array. + +\textit{If there is no hash lookup table, there is no ordering +requirement for the name table.} +\eb \needlines{6} \subsubsubsection{Abbreviations Table} @@ -857,9 +864,13 @@ byte for the abbreviation code. The size of the table given by terminating 0 byte. \subsubsubsection{Entry Pool} -The entry pool immediately follows the abbreviations table. The second -column of each row of the name table points to an offset in the entry -pool, where a series of index entries for that name is located. +\bb +The entry pool immediately follows the abbreviations table. +Each entry in the entry offsets array in the name table (see +Section \ref{chap:nametable}) +\eb +points to an offset in the entry pool, where a series +of index entries for that name is located. \needlines{4} Each index entry in the series begins with an abbreviation code, and is