This indexes letters f, g, and h.
[dwarf-doc.git] / dwarf5 / latexdoc / datarepresentation.tex
index 7866e47..5689109 100644 (file)
@@ -11,7 +11,9 @@ and of other fundamental elements described above.
 \addtoindexx{vendor extensibility}
 \addtoindexx{vendor specific extensions|see{vendor extensibility}}
 
-To reserve a portion of the DWARF name space and ranges of
+To 
+\addtoindexx{extensibility|see{vendor extensibility}}
+reserve a portion of the DWARF name space and ranges of
 enumeration values for use for vendor specific extensions,
 special labels are reserved for tag names, attribute names,
 base type encodings, location operations, language names,
@@ -75,7 +77,9 @@ the semantics of previously existing tags.
 \label{datarep:errorvalues}
 \addtoindexx{reserved values!error}
 
-As a convenience for consumers of DWARF information, the value
+As 
+\addtoindexx{error value}
+a convenience for consumers of DWARF information, the value
 0 is reserved in the encodings for attribute names, attribute
 forms, base type encodings, location operations, languages,
 line number program opcodes, macro information entries and tag
@@ -102,7 +106,7 @@ in the \addtoindex{.debug\_frame} section.
 
 In an initial length field, the values 0xfffffff0 through
 0xffffffff are reserved by DWARF to indicate some form of
-extension relative to DWARF Version 2; such values must not
+extension relative to \addtoindex{DWARF Version 2}; such values must not
 be interpreted as a length field. The use of one such value,
 0xffffffff, is defined below 
 (see Section \refersec{datarep:32bitand64bitdwarfformats}); 
@@ -176,19 +180,19 @@ they are 64\dash bit unsigned integer values.
 \begin{center}
 \begin{tabular}{lll}
 Section &Name & Role  \\ \hline
-\addtoindex{.debug\_ranges} & debug\_info\_offset & offset in \addtoindex{.debug\_info} \\
-\addtoindex{.debug\_frame}/CIE & CIE\_id & CIE distinguished value \\
-\addtoindex{.debug\_frame}/FDE & CIE\_pointer & offset in \addtoindex{.debug\_frame} \\
-\addtoindex{.debug\_info} & debug\_abbrev\_offset & offset in \addtoindex{.debug\_abbrev} \\
-\addtoindex{.debug\_line} & header\_length & length of header itself \\
-\addtoindex{.debug\_pubnames} & debug\_info\_offset & offset in \addtoindex{.debug\_info} \\
-                & debug\_info\_length & length of \addtoindex{.debug\_info} \\
+\addtoindex{.debug\_ranges} & \addtoindex{debug\_info\_offset} & offset in \addtoindex{.debug\_info} \\
+\addtoindex{.debug\_frame}/CIE & \addtoindex{CIE\_id} & CIE distinguished value \\
+\addtoindex{.debug\_frame}/FDE & \addtoindex{CIE\_pointer} & offset in \addtoindex{.debug\_frame} \\
+\addtoindex{.debug\_info} & \addtoindex{debug\_abbrev\_offset} & offset in \addtoindex{.debug\_abbrev} \\
+\addtoindex{.debug\_line} & \addtoindex{header\_length} & length of header itself \\
+\addtoindex{.debug\_pubnames} & \addtoindex{debug\_info\_offset} & offset in \addtoindex{.debug\_info} \\
+                & \addtoindex{debug\_info\_length} & length of \addtoindex{.debug\_info} \\
                 &                   & contribution \\
-\addtoindex{.debug\_pubtypes} & debug\_info\_offset & offset in \addtoindex{.debug\_info} \\
-                & debug\_info\_length & length of \addtoindex{.debug\_info} \\
+\addtoindex{.debug\_pubtypes} & \addtoindex{debug\_info\_offset} & offset in \addtoindex{.debug\_info} \\
+                & \addtoindex{debug\_info\_length} & length of \addtoindex{.debug\_info} \\
                 &                   & contribution \\
-\addtoindex{.debug\_types} & debug\_abbrev\_offset & offset in \addtoindex{.debug\_info} \\
-                & type\_offset & offset in of \addtoindex{.debug\_types} \\
+\addtoindex{.debug\_types} & \addtoindex{debug\_abbrev\_offset} & offset in \addtoindex{.debug\_info} \\
+                & \addtoindex{type\_offset} & offset in of \addtoindex{.debug\_types} \\
 
 \end{tabular}
 \end{center}
@@ -315,7 +319,7 @@ DWARF information for the compilation unit\addtoindexx{version number!compilatio
 (see Appendix \refersec{app:dwarfsectionversionnumbersinformative}). 
 The value in this field is 4.
 
-\item debug\_abbrev\_offset (section offset) \\
+\item \addtoindex{debug\_abbrev\_offset} (section offset) \\
 A 4\dash byte or 8\dash byte unsigned offset into the 
 \addtoindex{.debug\_abbrev}
 section. This offset associates the compilation unit with a
@@ -364,7 +368,7 @@ DWARF information for the compilation unit\addtoindexx{version number!type unit}
 (see Appendix \refersec{app:dwarfsectionversionnumbersinformative}). 
 The value in this field is 4.
 
-\item debug\_abbrev\_offset (section offset) \\
+\item \addtoindex{debug\_abbrev\_offset} (section offset) \\
 A 4\dash byte or 8\dash byte unsigned offset into the 
 \addtoindex{.debug\_abbrev}
 section. This offset associates the compilation unit with a
@@ -606,7 +610,8 @@ or location description
 (see Section \refersec{chap:locationdescriptions}).
 
 \item \livelink{chap:flag}{flag} \\
-A flag is represented explicitly as a single byte of data
+A flag \addtoindexx{flag class}
+is represented explicitly as a single byte of data
 (\livetarg{chap:DWFORMflag}{DW\-\_FORM\-\_flag}) or 
 implicitly (\livetarg{chap:DWFORMflagpresent}{DW\-\_FORM\-\_flag\-\_present}). 
 In the
@@ -868,7 +873,7 @@ Table \refersec{tab:attributeformencodings}.
 \livelink{chap:DWTAGlouser}{DW\-\_TAG\-\_lo\-\_user}&0x4080      \\
 \livelink{chap:DWTAGhiuser}{DW\-\_TAG\-\_hi\-\_user}&0xffff      \\
 \end{longtable}
-\ddag  TAG new in DWARF Version 4 
+\ddag  TAG new in \addtoindex{DWARF Version 4}
 \end{centering}
 
 
@@ -914,9 +919,9 @@ Child determination name& Value\\ \hline
 \livelink{chap:DWATstmtlist}{DW\-\_AT\-\_stmt\-\_list}&0x10&\livelink{chap:lineptr}{lineptr} 
         \addtoindex{statement list attribute!encoding} \\
 \livelink{chap:DWATlowpc}{DW\-\_AT\-\_low\-\_pc}&0x11&address 
-        \addtoindexx{lowpc attribute!encoding}  \\
+        \addtoindexx{low PC attribute!encoding}  \\
 \livelink{chap:DWAThighpc}{DW\-\_AT\-\_high\-\_pc}&0x12&address, constant 
-        \addtoindexx{highpc attribute!encoding}  \\
+        \addtoindexx{high PC attribute!encoding}  \\
 \livelink{chap:DWATlanguage}{DW\-\_AT\-\_language}&0x13&constant 
         \addtoindexx{language attribute!encoding}  \\
 \livelink{chap:DWATdiscr}{DW\-\_AT\-\_discr}&0x15&reference 
@@ -1088,7 +1093,7 @@ Child determination name& Value\\ \hline
 \livetarg{chap:DWAThiuser}{DW\-\_AT\-\_hi\-\_user}&0x3fff& --- \addtoindexx{high user attribute encoding}  \\
 
 \end{longtable}
-\ddag  Attribute new in DWARF Version 4 
+\ddag  Attribute new in \addtoindex{DWARF Version 4} 
 \end{centering}
 
 \begin{centering}
@@ -1130,7 +1135,7 @@ Child determination name& Value\\ \hline
 \livelink{chap:DWFORMrefsig8}{DW\-\_FORM\-\_ref\-\_sig8} \ddag &0x20&reference \\
  
 \end{longtable}
-\ddag  FORM new in DWARF Version 4 
+\ddag  FORM new in \addtoindex{DWARF Version 4} 
 \end{centering}
 
 \section{Variable Length Data}
@@ -1243,7 +1248,9 @@ gives algorithms for encoding and decoding these forms.
 \subsection{DWARF Expressions}
 \label{datarep:dwarfexpressions}
 
-A DWARF expression is stored in a \nolink{block} of contiguous
+A 
+\addtoindexx{DWARF Expression!operator encoding}
+DWARF expression is stored in a \nolink{block} of contiguous
 bytes. The bytes form a sequence of operations. Each operation
 is a 1\dash byte code that identifies that operation, followed by
 zero or more bytes of additional data. The encodings for the
@@ -1372,7 +1379,9 @@ location of a variable or other entity.
 \label{datarep:locationlists}
 
 Each entry in a location list is either a location list entry,
-a base address selection entry, or an end of list entry.
+a base address selection entry, or an 
+\addtoindex{end of list entry!in location list}
+end of list entry.
 
 A location list entry consists of two address offsets followed
 by a 2\dash byte length, followed by a block of contiguous bytes
@@ -1380,7 +1389,9 @@ that contains a DWARF location description. The length
 specifies the number of bytes in that block. The two offsets
 are the same size as an address on the target machine.
 
-A base address selection entry and an end of list entry each
+A base address selection entry and an 
+\addtoindex{end of list entry!in location list}
+end of list entry each
 consist of two (constant or relocated) address offsets. The two
 offsets are the same size as an address on the target machine.
 
@@ -1394,7 +1405,9 @@ the corresponding compilation unit must be defined
 
 The encodings of the 
 \hypertarget{chap:DWATencodingencodingofbasetype}
-constants used in the 
+constants used in 
+\addtoindexx{encoding attribute!encoding}
+the 
 \livelink{chap:DWATencoding}{DW\-\_AT\-\_encoding}
 attribute are given in 
 Table \refersec{tab:basetypeencodingvalues}
@@ -1432,7 +1445,7 @@ Table \refersec{tab:basetypeencodingvalues}
 \livetarg{chap:DWATEhiuser}{DW\-\_ATE\-\_hi\-\_user} & 0xff \\
 
 \end{longtable}
-\ddag  Base type encoding new in DWARF Version 4
+\ddag  Base type encoding new in \addtoindex{DWARF Version 4}
 \end{centering}
 
 
@@ -1761,7 +1774,9 @@ Table \refersec{tab:orderingencodings}.
 \section{Discriminant Lists}
 \label{datarep:discriminantlists}
 
-The descriptors used in the 
+The descriptors used in 
+\addtoindexx{discriminant list attribute!encoding}
+the 
 \livelink{chap:DWATdiscrlist}{DW\-\_AT\-\_discr\-\_list} attribute are 
 encoded as 1\dash byte constants. The
 defined values are given in 
@@ -1982,7 +1997,7 @@ Table \refersec{tab:linenumberextendedopcodeencodings}.
 \livetarg{chap:DWLNEhiuser}{DW\-\_LNE\-\_hi\-\_user}&0xff   \\
 
 \end{longtable}
-\ddag Extended opcode new in DWARF Version 4.
+\ddag Extended opcode new in \addtoindex{DWARF Version 4}.
 \end{centering}
 
 \section{Macro Information}
@@ -2098,7 +2113,9 @@ of list entry.
 A range list entry consists of two relative addresses. The
 addresses are the same size as addresses on the target machine.
 
-A base address selection entry and an end of list entry each
+A base address selection entry and an 
+\addtoindex{end of list entry!in range list}
+end of list entry each
 \addtoindexx{base address selection entry!in range list}
 consist of two (constant or relocated) addresses. The two
 addresses are the same size as addresses on the target machine.
@@ -2113,7 +2130,9 @@ corresponding compilation unit must be defined
 \label{datarep:dependenciesandconstraints}
 
 The debugging information in this format is intended to
-exist in 
+exist 
+\addtoindexx{DWARF section names!list of}
+in 
 the \addtoindex{.debug\_abbrev}, 
 \addtoindex{.debug\_aranges}, 
 \addtoindex{.debug\_frame},