\begin{longtable}{ll}
\textbf{Date} & \textbf{Issue Incorporated or Other Change} \\ \hline \\
\endhead
+6/24-29/2015 & More editorial work VIII \\
+6/24/2015 & 150608.1 (DW\_AT\_dwo\_id value implementation-defined) \\
6/14-20/2015 & More editorial work VII \\
6/8-13/2015 & More editorial work VI (release to committee) \\
6/5-7/2015 & Add \definition{color} to defining occurrence(s) of DWARF names. \\
\addtoindexx{name attribute}
whose value is a null-terminated
string containing the
-\livetargi{chap:commonblockreferenceattribute}{common \nolink{block}}{common block reference attribute}
+\livetargi{chap:commonblockreferenceattribute}{common block}{common block reference attribute}
name as it appears in the source program. It may also have a
\DWATlinkagename{} attribute as described in
Section \refersec{chap:linkagenames}.
These attributes refer to
debugging information in other debugging information sections within
the object file, and must be relocated during the linking process.
-
+\par
However, if a \DWATrangesbase{} attribute is present, the offset in
a \DWATranges{} attribute (which uses form \DWFORMsecoffset) is
relative to the given base offset--no relocation is involved.
\begin{itemize}
\item
The full compilation unit entry includes a \DWATdwoid{}
-attribute whose value is the same as that of the \DWATdwoid{}
+attribute whose form and value is the same as that of the \DWATdwoid{}
attribute of the associated skeleton unit.
\needlines{4}
\item
\needlines{6}
\subsection{Shared Object Files}
-\label{datarep:sharedobject Files}
+\label{datarep:sharedobjectfiles}
The relocated
addresses in the debugging information for a shared object file
are offsets relative to the start of the lowest region of
\setlength{\extrarowheight}{0.1cm}
\begin{longtable}{l|c|l}
\caption{Name index attribute encodings} \label{datarep:indexattributeencodings}\\
- \hline \bfseries Attribute name&\bfseries Value &\bfseries Form/Class \\ \hline
+ \hline \bfseries Attribute name &\bfseries Value &\bfseries Form/Class \\ \hline
\endfirsthead
- \bfseries Attribute name&\bfseries Value &\bfseries Form/Class \\ \hline
+ \bfseries Attribute name &\bfseries Value &\bfseries Form/Class \\ \hline
\endhead
\hline \emph{Continued on next page}
\endfoot
\hline
- \ddag \ \textit{New in \DWARFVersionV}
+ \ddag~\textit{New in \DWARFVersionV}
\endlastfoot
\DWIDXcompileunit~\ddag & 1 & \CLASSconstant \\
\DWIDXtypeunit~\ddag & 2 & \CLASSconstant \\
% 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 20, 2015}
+\newcommand{\docdate}{June 29, 2015}
%
\usepackage{ifthen}
\newboolean{isdraft}
\include{otherdebugginginformation} \emptypage
\include{datarepresentation} \emptypage
-% The \appendix toggles us into appendix chapters
+% The \appendix command toggles us into appendix chapters
\appendix
\include{attributesbytag} %\emptypage
\include{splitobjects} %\emptypage
\include{sectionversionnumbers} \emptypage
\include{gnulicense} \emptypage
+%\include{selectedglossary} %\emptypage
+%\include{unitattributecomparison}
\printindex
\setlength{\extrarowheight}{0.1cm}
\addtoindexx{attributes!list of}
-\begin{longtable}{l|P{9cm}}
+\begin{longtable}{P{6.2cm}|P{8.5cm}}
\caption{Attribute names} \label{tab:attributenames} \\
- \hline \bfseries Attribute&\bfseries Identifies or Specifies \\ \hline
+ \hline \bfseries Attribute$^*$&\bfseries Identifies or Specifies \\ \hline
\endfirsthead
- \bfseries Attribute&\bfseries Identifies or Specifies \\ \hline
+ \bfseries Attribute$^*$&\bfseries Identifies or Specifies \\ \hline
\endhead
- \hline \emph{Continued on next page}
+ \hline
+ \multicolumn{2}{l}{
+ \parbox{15cm}{
+ \vspace{2mm}\emph{Continued on next page} \newline
+ $^*${\parbox[t]{15cm}{\tiny Links for attributes come to the left column of this table;
+ links in the right column "fan-out" to one or more descriptions.}} \newline
+ ~\newline}}
\endfoot
\hline
+ \multicolumn{2}{l}{
+ $^*${\parbox[t]{15cm}{\tiny Links for attributes come to the left column of this table;
+ links in the right column "fan-out" to one or more descriptions.}}}
\endlastfoot
\DWATabstractoriginTARG
\item \addttindex{debug\_line\_offset} \\
An offset in the \dotdebugline{} section of the
-beginning of the line number information, encoded as 4-byte offset for
-a 32-bit DWARF format macro section and 8-byte offset for a 64-bit DWARF format
+beginning of the line number information in the containing
+compilation, encoded as a 4-byte offset for a 32-bit DWARF
+format macro section and an 8-byte offset for a 64-bit DWARF format
macro section.
\item \addttindex{opcode\_operands\_table} \\
UTF\dash 8 encoding.}
\needlines{4}
-\item \HFNaddresssize{} (\HFTubyte) \\
+\item \HFNaddresssize{} (\HFTubyte) \\
The size of a target address in this CIE and any FDEs that
use it, in bytes. If a compilation unit exists for this frame,
its address size must match the address size here.
-\item \HFNsegmentselectorsize{} (\HFTubyte) \\
+\item \HFNsegmentselectorsize{} (\HFTubyte) \\
The size of a segment selector in this CIE and any FDEs that
use it, in bytes.
-\item \HFNcodealignmentfactor{} (unsigned LEB128)
+\item \HFNcodealignmentfactor{} (unsigned LEB128)
\addtoindexx{LEB128!unsigned}\addtoindexx{unsigned LEB128|see{LEB128, unsigned}}
\addtoindexx{code alignment factor} \\
A
unit (see Section \refersec{chap:codeaddressesandranges}).
A \DWATlowpc{} attribute
-may also
-be specified
-in combination
+may also be specified in combination
\addtoindexx{ranges attribute}
with
\DWATranges{} to specify the
interpreted as indices relative to this base.
\needlines{6}
-\item A \DWATaddrbaseTARG\addtoindexx{address table base attribute}
+\item A \DWATaddrbaseDEFN\addtoindexx{address table base attribute}
\hypertarget{chap:DWATaddrbaseforaddresstable}{}
attribute, whose value is of class \CLASSaddrptr.
This attribute points to the beginning of the compilation
\item
\livetarg{chap:DWATdwoidforunit}{}
-A \DWATdwoidDEFN{} attribute\addtoindexx{unit signature attribute}
-whose value is an 8-byte
-unsigned hash of the full compilation unit. This hash
-value is computed by the method described in
-Section \refersec{datarep:typesignaturecomputation}.
+A \DWATdwoidDEFN{} attribute\addtoindexx{unit identification attribute}
+whose implementation-defined integer constant value
+provides unique identification of this compilation unit
+as well as the associated compilation unit in the
+split DWARF object file named in the \DWATdwoname{}
+attribute. For simplicity, the skeleton compilation
+unit and the split DWARF object file must use the same
+form to encode this identification value.
\needlines{6}
\item
and their meanings are given in Table \refersec{tab:languagenames}.
\needlines{4}
-\item A
-\DWATstroffsetsbase\addtoindexx{string base offset attribute}
-attribute, whose value is a reference. This attribute points
-to the first string offset of the type unit's contribution to
-the \dotdebugstroffsets{} section. Indirect string references
-(using \DWFORMstrx) within the type unit are interpreted
-as indices relative to this base.
-
\item A \DWATstmtlist{} attribute\addtoindexx{statement list attribute}
whose value of class \CLASSlineptr{} points to the line number
information for this type unit.
used by the compilation unit.
\item In a \splitDWARFobjectfile, where
the type units are located in a separate DWARF object file,
-the \DWATstmtlist{} attribute refers to a "specialized"
+the \DWATstmtlistNAME{} attribute refers to a "specialized"
line number table in the \dotdebuglinedwo{} section, which
contains only the list of directories and file names. All
-type unit entries in a \splitDWARFobjectfile{} may (but are not
-required to) refer to the same \addtoindex{specialized line number table}.
+type unit entries in a \splitDWARFobjectfile{} may (but are
+not required to) refer to the same
+\addtoindex{specialized line number table}.
\end{itemize}
\item A \DWATuseUTFeight{} attribute, which is a flag
\addtoindex{specialized line number table},
are represented using the UTF-8 representation.
+\item A
+\DWATstroffsetsbase\addtoindexx{string base offset attribute}
+attribute, whose value is a reference. This attribute points
+to the first string offset of the type unit's contribution to
+the \dotdebugstroffsets{} section. Indirect string references
+(using \DWFORMstrx) within the type unit are interpreted
+as indices relative to this base.
+
\end{enumerate}
A \addtoindex{type unit} entry for a given type T owns a debugging
\needlines{6}
\section{Try and Catch Block Entries}
\label{chap:tryandcatchblockentries}
-\livetargi{chap:tryandcatchblockentries}{}
+\livetarg{chap:tryandcatchblockentries}{}
\textit{In \addtoindex{C++}, a \livelink{chap:lexicalblock}{lexical block} may be
designated as a \doublequote{catch \nolink{block}.}
A catch \nolink{block} is an exception handler that
\DWATranges{} attribute
\addtoindexx{ranges attribute}
whose values encode the contiguous
-or non\dash contiguous address ranges, respectively, of the
+or non-contiguous address ranges, respectively, of the
machine instructions generated for the \nolink{block}
(see Section \refersec{chap:codeaddressesandranges}).
This child entry has one of the tags
\DWTAGformalparameter{}\addtoindexx{formal parameter entry!in catch block}
or
-\DWTAGunspecifiedparameters,\addtoindexx{unspecified parameters entry!in catch block}
+\DWTAGunspecifiedparameters{},\addtoindexx{unspecified parameters entry!in catch block}
and will have the same form as other parameter entries.
The siblings immediately following a try \nolink{block}
remains in the skeleton \dotdebuginfo{} section, so no
relocation in the \dotdebuginfodwo{} section is necessary.
\item
-References from \DWTAGtypeunit{} DIEs to the skeleton
+References from \DWTAGtypeunit{} DIEs to the
\dotdebuglinedwo{} section, via \DWATstmtlist{}. Because the new
sections are not combined at link time, these references need
no relocations.