Save changes made for results of the Jan 3, 2017 meeting.
authorRon Brender <ron.brender@gmail.com>
Mon, 16 Jan 2017 15:53:55 +0000 (10:53 -0500)
committerRon Brender <ron.brender@gmail.com>
Mon, 16 Jan 2017 15:53:55 +0000 (10:53 -0500)
Signed-off-by: Ron Brender <ron.brender@gmail.com>
dwarf5/latexdoc/changesummary.tex
dwarf5/latexdoc/datarepresentation.tex
dwarf5/latexdoc/dwarf5.tex
dwarf5/latexdoc/dwarfnamecmds.tex
dwarf5/latexdoc/generaldescription.tex
dwarf5/latexdoc/introduction.tex
dwarf5/latexdoc/otherdebugginginformation.tex
dwarf5/latexdoc/programscope.tex
dwarf5/latexdoc/splitobjects.tex
dwarf5/latexdoc/typeentries.tex

index 1c31c71..227a27e 100644 (file)
@@ -15,6 +15,7 @@ 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
+1/162017        & Changes from meeting of 1/3/2017 \\
 12/18/2016      & Changes from meeting of 12/6/2016 \\
 10/10-11/26/2016& Miscellaneous editorial tweaks during public review \\
 10/6/2016       & Prepare Public Review Draft, delete bullet 7 in 7.4, other tweaks. \\
index 61cda44..5313e51 100644 (file)
@@ -31,9 +31,12 @@ appropriate prefix
 \DWLANGlouserMARK{}\DWLANGhiuserMARK{}DW\_LANG, 
 \DWLNCTlouserMARK{}\DWLNCThiuserMARK{}DW\_LNCT, 
 \DWLNElouserMARK{}\DWLNEhiuserMARK{}DW\_LNE, 
-\DWMACROlouserMARK{}\DWMACROhiuserMARK{}DW\_MACRO, 
-\DWOPlouserMARK{}\DWOPhiuserMARK{}DW\_OP or 
-\DWTAGlouserMARK{}\DWTAGhiuserMARK{}DW\_TAG) 
+\DWMACROlouserMARK{}\DWMACROhiuserMARK{}DW\_MACRO,
+\bb 
+\DWOPlouserMARK{}\DWOPhiuserMARK{}DW\_OP,
+\DWTAGlouserMARK{}\DWTAGhiuserMARK{}DW\_TAG,
+\DWUTlouserMARK{}\DWUThiuserMARK{}DW\_UT)
+\eb 
 followed by \_lo\_user or \_hi\_user. 
 Values in the  range between \textit{prefix}\_lo\_user 
 and \textit{prefix}\_hi\_user inclusive,
@@ -932,7 +935,11 @@ units may share the same table.
 \subsection{Unit Headers}
 \label{datarep:unitheaders}
 Unit headers contain a field, \addttindex{unit\_type}, whose value indicates the kind of
-compilation unit that follows. The encodings for the unit type 
+compilation unit 
+\bb
+(see Section \ref{chap:unitentries})
+\eb
+that follows. The encodings for the unit type 
 enumeration are shown in Table \refersec{tab:unitheaderunitkindencodings}.
 
 \needlines{6}
@@ -962,11 +969,15 @@ enumeration are shown in Table \refersec{tab:unitheaderunitkindencodings}.
 \end{longtable}
 \end{centering}
 
-\textit{All unit headers in a compilation have the same size. 
-Some header types include padding bytes to achieve this.}
+\bb
+All unit headers have the same initial three fields.
+\eb
+
 
 \needlines{5}
-\subsubsection{Compilation and Partial Unit Headers}
+\bb
+\subsubsection{Full and Partial Compilation Unit Headers}
+\eb
 \label{datarep:compilationunitheader}
 \begin{enumerate}[1. ]
 
@@ -999,10 +1010,19 @@ for a summary of all version numbers that apply to DWARF sections.}
 \addttindexx{unit\_type}
 A 1-byte unsigned integer identifying this unit as a compilation unit.
 The value of this field is 
-\DWUTcompile{} for a full compilation unit or
-\DWUTpartial{} for a partial compilation unit
+\DWUTcompile{} for a 
+\bb
+(non-split) full compilation unit or
+\DWUTpartial{} for a (non-split) partial compilation unit
+\eb
 (see Section \refersec{chap:fullandpartialcompilationunitentries}).
 
+\textit{See 
+\bb
+Section \ref{datarep:skeletonandfullcompilationunitheaders} 
+regarding a split full compilation unit.
+\eb}
+
 \textit{This field is new in \DWARFVersionV.}
 
 \needlines{4}
@@ -1025,14 +1045,7 @@ the \thirtytwobitdwarfformat, this is a 4-byte unsigned length;
 in the \sixtyfourbitdwarfformat, this is an 8-byte unsigned length
 (see Section \refersec{datarep:32bitand64bitdwarfformats}).
 
-\item \HFNunitpaddingONE{} (8 bytes) \\
-Reserved to DWARF (must be zero).
-
-\needlines{4}
-\item \HFNunitpaddingTWO{} (4 or 8 bytes) \\
-Reserved to DWARF (must be zero). In the \thirtytwobitdwarfformat,
-this is 4 bytes in length; in the \sixtyfourbitdwarfformat, this
-is 8 bytes in length.
+\bbpareb
 \end{enumerate}
 
 \needlines{8}
@@ -1071,9 +1084,18 @@ for a summary of all version numbers that apply to DWARF sections.}
 A 1-byte unsigned integer identifying this unit as a compilation unit.
 The value of this field is 
 \DWUTskeleton{} for a skeleton compilation unit or
-\DWUTsplitcompile{} for a split compilation unit
+\DWUTsplitcompile{} for a split 
+\bb
+(full)
+\eb
+compilation unit
 (see Section \refersec{chap:skeletoncompilationunitentries}).
 
+\textit{There
+\bb
+is no split analog to the partial compilation unit.
+\eb}
+
 \textit{This field is new in \DWARFVersionV.}
 
 \needlines{4}
@@ -1105,11 +1127,7 @@ unit and its associated split compilation unit in
 the object file named in the \DWATdwoname{} attribute
 of the skeleton compilation.
 
-\needlines{4}
-\item \HFNunitpaddingTWO{} (4 or 8 bytes) \\
-Reserved to DWARF (must be zero). In the \thirtytwobitdwarfformat,
-this is 4 bytes in length; in the \sixtyfourbitdwarfformat{}, this
-is 8 bytes in length.
+\bbpareb
 \end{enumerate}
 
 \needlines{8}
@@ -2869,7 +2887,10 @@ defined language.
 \DWLANGCplusplusfourteen{}~\ddag &0x0021 &0 \addtoindexx{C++14 (ISO)} \\
 \DWLANGFortranzerothree{}~\ddag  &0x0022 &1 \addtoindexx{Fortran:2004 (ISO)} \\
 \DWLANGFortranzeroeight{}~\ddag  &0x0023 &1 \addtoindexx{Fortran:2010 (ISO)} \\
-\DWLANGRenderScript{}~\ddag       &0x0024 &0 \addtoindexx{RenderScript Kernel Language}
+\DWLANGRenderScript{}~\ddag       &0x0024 &0 \addtoindexx{RenderScript Kernel Language} \\
+\bb
+\DWLANGBLISS{} \ddag &0x0025 &0 \addtoindexx{BLISS} 
+\eb
 \\
 \DWLANGlouser{} &0x8000 & \\
 \DWLANGhiuser{} &\xffff & \\
index 8763a52..4dafa08 100644 (file)
@@ -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}{January 1, 2017}
+\newcommand{\docdate}{January 16, 2017}
 %
 \usepackage{ifthen}
     \newcommand{\ifthen}[2]{\ifthenelse{#1}{#2}{}}
index 98eb7fd..b5b8450 100644 (file)
 %
 \newdwfnamecommands{DWLANGAdaeightythree}{DW\_LANG\_Ada83}
 \newdwfnamecommands{DWLANGAdaninetyfive}{DW\_LANG\_Ada95}
+\newdwfnamecommands{DWLANGBLISS}{DW\_LANG\_BLISS}
 \newdwfnamecommands{DWLANGC}{DW\_LANG\_C}
 \newdwfnamecommands{DWLANGCeightynine}{DW\_LANG\_C89}
 \newdwfnamecommands{DWLANGCninetynine}{DW\_LANG\_C99}
index 7376538..751b9a6 100644 (file)
@@ -2114,8 +2114,11 @@ on the kind.
 In the descriptions that follow, these terms are used for operands:
    
 \begin{itemize}
-\item A \definitionx{counted location description} operand consists 
-of a two-byte unsigned integer giving the length of the location
+\item A \definitionx{counted location description} operand consists of
+\bb
+an unsigned ULEB
+\eb
+integer giving the length of the location
 description (see Section \refersec{chap:singlelocationdescriptions}) 
 that immediately follows.
 
index ec97489..bd2c2ca 100644 (file)
@@ -437,6 +437,10 @@ list entry is added.
 to always describe the size of the string type. 
 (Previously it described the size of the optional string length data 
 field if the \DWATstringlengthNAME{} attribute was also present.)
+\bb
+In addition, the \DWATstringlengthNAME{} attribute may now refer directly
+to an object that contains the length value.
+\eb
 \end{itemize}
 
 While not strictly an incompatibility, the macro information 
index c1a56fd..7190dd4 100644 (file)
@@ -764,6 +764,26 @@ Given a hash value for the symbol,
 the symbol is entered into a bucket whose index is the hash value
 modulo \texttt{bucket\_count}. The buckets array is indexed starting at 0.
 
+\bb
+For the purposes of the hash computation, each symbol name should be
+folded according to the simple case folding algorithm defined in the
+"Caseless Matching" subsection of Section 5.18 ("Case Mappings") of
+the \addtoindex{Unicode} Standard, Version 9.0.0. The original symbol 
+name, as it appears in the source code, should be stored in the name 
+table.
+
+\textit{Thus, two symbols that differ only by case will hash to
+the same slot, but the consumer will be able to distinguish the names
+when appropriate.}
+
+\textit{The simple case folding algorithm is further described
+in the CaseFolding.txt file distributed with the \addtoindex{Unicode} 
+Character Database. That file defines four classes of mappings: 
+Common (C), Simple (S), Full (F), and Turkish (T). 
+The hash computation specified here uses the C + S mappings only, 
+which do not affect the total length of the string.}
+\eb
+
 Each bucket contains the index of an entry in the hashes array. The
 hashes array is indexed starting at 1, and an empty bucket is
 represented by the value 0.
index 7ddac7a..87240fd 100644 (file)
@@ -81,9 +81,10 @@ unit may be logically incorporated into another compilation unit
 using an \addtoindex{imported unit entry}
 (see Section \refersec{chap:importedunitentries}).}
 
-\textit{A
-combined split and partial
-compilation unit kind is not defined.}
+\bb
+\textit{A partial compilation unit is not defined for use
+within a split object file.}
+\eb
 
 \textit{In the remainder of this document, the word 
 \doublequote{compilation} in the phrase \doublequote{compilation unit} 
@@ -132,7 +133,10 @@ in some cases.
 See Appendix \refersec{app:dwarfcompressionandduplicateeliminationinformative}
 for discussion of related compression techniques.}
 
-A compilation unit entry owns debugging information
+\bb
+A full or partial 
+\eb
+compilation unit entry owns debugging information
 entries that represent all or part of the declarations
 made in the corresponding compilation. In the case of a
 partial compilation unit, the containing scope of its owned
@@ -141,8 +145,10 @@ or more other compilation unit entries that refer to that
 partial compilation unit (see 
 Section \refersec{chap:importedunitentries}).
 
-Compilation unit entries may have the following 
-attributes:
+\bb
+A full or partial compilation unit entry 
+\eb
+may have the following attributes:
 \begin{enumerate}[1. ]
 \item Either a \DWATlowpc{} and 
 \DWAThighpc{} pair of
@@ -205,6 +211,10 @@ in Table \refersec{tab:languagenames}.
 \addtoindexx{ISO-defined language names}
 \DWLANGAdaeightythreeTARG{} \dag & ISO Ada:1983 \addtoindexx{Ada:1983 (ISO)} \\
 \DWLANGAdaninetyfiveTARG{}  \dag & ISO Ada:1995 \addtoindexx{Ada:1995 (ISO)} \\
+\bb
+\DWLANGBLISSTARG & BLISS \addtoindexx{BLISS}
+\eb
+\\
 \DWLANGCTARG & Non-standardized C, such as K\&R \addtoindexx{C!non-standard} \\*
 \DWLANGCeightynineTARG & ISO C:1989 \addtoindexx{C:1989 (ISO)} \\*
 \DWLANGCninetynineTARG & ISO C:1999 \addtoindexx{C:1999 (ISO)} \\*
index a227021..9f34c09 100644 (file)
@@ -870,26 +870,26 @@ offset& (DW\_LLE\_*)
 \hline
 &&&&& \\
 
-0x00 & \XXLLEsl &  [9] & 0x002f & 0x0001 & \DWOPregfive~(rdi) \\
-0x09 & \XXLLEsl & [11] & 0x01b9 & 0x0001 & \DWOPregthree~(rbx) \\
-0x12 & \XXLLEsl & [29] & 0x0003 & 0x0003 & \DWOPbregtwelve~(r12): -8;\\
+0x00 & \XXLLEsl &  [9] & 0x002f & \bb 0x01 \eb& \DWOPregfive~(rdi) \\
+0x09 & \XXLLEsl & [11] & 0x01b9 & \bb 0x01 \eb& \DWOPregthree~(rbx) \\
+0x12 & \XXLLEsl & [29] & 0x0003 & \bb 0x03 \eb& \DWOPbregtwelve~(r12): -8;\\
      &          &      &        &        & \DWOPstackvalue \\
-0x1d & \XXLLEsl & [31] & 0x0001 & 0x0003 & \DWOPentryvalue: \\
+0x1d & \XXLLEsl & [31] & 0x0001 & \bb 0x03 \eb& \DWOPentryvalue: \\
      &          &      &        &        & (\DWOPregfive~(rdi)); \\
      &          &      &        &        & \DWOPstackvalue \\
 0x29 & \XXLLEeol &&&& \\
 ------ &&&&& \\
 
-0x2a & \XXLLEsl &  [9] & 0x002f & 0x0001 & \DWOPregfour~(rsi)) \\
-0x33 & \XXLLEsl & [11] & 0x01ba & 0x0003 & \DWOPregsix~(rbp)) \\
-0x3c & \XXLLEsl & [30] & 0x0003 & 0x0003 & \DWOPentryvalue: \\
+0x2a & \XXLLEsl &  [9] & 0x002f & \bb 0x01 \eb& \DWOPregfour~(rsi)) \\
+0x33 & \XXLLEsl & [11] & 0x01ba & \bb 0x03 \eb& \DWOPregsix~(rbp)) \\
+0x3c & \XXLLEsl & [30] & 0x0003 & \bb 0x03 \eb& \DWOPentryvalue: \\
      &          &      &        &        & (\DWOPregfour~(rsi)); \\
      &          &      &        &        & \DWOPstackvalue \\
 0x48 & \XXLLEeol &&&& \\
 ------ &&&&& \\
 
-0x49 & \XXLLEsl & [10] & 0x0004 & 0x0001 & \DWOPregeighteen~(xmm1) \\
-0x52 & \XXLLEsl & [11] & 0x01bd & 0x0002 & \DWOPfbreg: -36 \\
+0x49 & \XXLLEsl & [10] & 0x0004 & \bb 0x01 \eb& \DWOPregeighteen~(xmm1) \\
+0x52 & \XXLLEsl & [11] & 0x01bd & \bb 0x02 \eb& \DWOPfbreg: -36 \\
 0x5c & \XXLLEeol &&&& \\
 &&&& \\
 \end{tabular}
index 37aa4f4..7b70c13 100644 (file)
@@ -1809,11 +1809,14 @@ storage needed to hold a value of the string type.
 
 The\hypertarget{chap:DWATstringlengthstringlengthofstringtype}{}
 string type entry may also have a 
-\DWATstringlengthDEFN{} attribute
-whose 
-\addtoindexx{string length attribute}
-value is a 
-\addtoindex{location description} yielding the location
+\DWATstringlengthDEFN{} attribute\addtoindexx{string length attribute}
+whose value is 
+\bb
+either a \livelink{chap:classreference}{reference}
+(see Section \ref{chap:staticanddynamicvaluesofattributes})
+yielding the length of the string
+or a \addtoindex{location description} yielding the location
+\eb
 where the length of the string is stored in the program.
 If the \DWATstringlengthNAME{} attribute is not present, the size
 of the string is assumed to be the amount of storage that is