Finished indexing the a* entries up through
authorDavid Anderson <davea42@earthlink.net>
Wed, 10 Oct 2012 14:48:24 +0000 (07:48 -0700)
committerDavid Anderson <davea42@earthlink.net>
Wed, 10 Oct 2012 14:48:24 +0000 (07:48 -0700)
  'beginning of a data member'

dwarf5/latexdoc/dataobject.tex
dwarf5/latexdoc/datarepresentation.tex
dwarf5/latexdoc/examples.tex
dwarf5/latexdoc/generaldescription.tex
dwarf5/latexdoc/otherdebugginginformation.tex
dwarf5/latexdoc/programscope.tex
dwarf5/latexdoc/typeentries.tex

index a69930f..54a0cbc 100644 (file)
@@ -26,8 +26,10 @@ formal parameter or constant may have the following attributes:
 \begin{enumerate}[1.]
 \item A \livelink{chap:DWATname}{DW\-\_AT\-\_name} attribute, whose value is a null-terminated
 string, containing the data object name as it appears in the
-source program.  If a variable entry describes an anonymous
-union, the name attribute is omitted or consists of a single
+source program.  If a variable entry describes 
+an 
+\addtoindex{anonymous union},
+the name attribute is omitted or consists of a single
 zero byte.
 
 \item A \livelink{chap:DWATexternal}{DW\-\_AT\-\_external} attribute, 
index f139d88..0b3d38c 100644 (file)
@@ -1287,6 +1287,7 @@ consist of two (constant or relocated) address offsets. The two
 offsets are the same size as an address on the target machine.
 
 For a location list to be specified, the base address of
+\addtoindexx{base address selection entry!in location list}
 the corresponding compilation unit must be defined 
 (see Section  \refersec{chap:normalandpartialcompilationunitentries}).
 
@@ -1988,6 +1989,7 @@ Table \refersec{tab:callframeinstructionencodings}.
 Each entry in a range list 
 (see Section \refersec{chap:noncontiguousaddressranges})
 is either a
+\addtoindexx{base address selection entry!in range list}
 range list entry, a base address selection entry, or an end
 of list entry.
 
@@ -1995,10 +1997,12 @@ 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
+\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.
 
 For a range list to be specified, the base address of the
+\addtoindexx{base address selection entry!in range list}
 corresponding compilation unit must be defined 
 (see Section \refersec{chap:normalandpartialcompilationunitentries}).
 
index 3f3d445..66d07bc 100644 (file)
@@ -166,6 +166,7 @@ using DWARF.
 \subsection{Fortran 90 Example}
 \label{app:fortran90example}
 Consider the Fortran 90 source fragment in 
+\addtoindexx{array type entry!examples}
 Figure \refersec{fig:fortran90examplesourcefragment}.
 
 \begin{figure}[here]
@@ -185,6 +186,7 @@ end do
 
 For allocatable and pointer arrays, it is essentially required
 by the Fortran 90 semantics that each array consist of two
+\addtoindexx{array!descriptor for}
 parts, which we here call 1) the descriptor and 2) the raw
 data. (A descriptor has often been called a dope vector in
 other contexts, although it is often a structure of some kind
index 531e3cd..4941304 100644 (file)
@@ -6,7 +6,8 @@ DWARF uses a series of debugging information entries (DIEs) to
 define a low\dash{} level
 representation of a source program. 
 Each debugging information entry consists of an identifying
-tag and a series of attributes. 
+tag and a series of 
+\addtoindex{attributes}. 
 An entry, or group of entries together, provide a description of a
 corresponding entity in the source program. 
 The tag specifies the class to which an entry belongs
@@ -34,18 +35,20 @@ in the \addtoindex{.debug\_info} and
 sections of an object file.
 
 
-
 \section{Attribute Types}
 \label{chap:attributetypes}
 Each attribute value is characterized by an attribute name. 
+\addtoindexx{attribute duplication}
 No more than one attribute with a given name may appear in any
 debugging information entry. 
 There are no limitations on the
+\addtoindexx{attribute ordering}
 ordering of attributes within a debugging information entry.
 
 The attributes are listed in Figure 2.  
 
 The permissible values
+\addtoindexx{attribute value classes}
 for an attribute belong to one or more classes of attribute
 value forms.  
 Each form class may be represented in one or more ways. 
@@ -63,6 +66,7 @@ debugging information entry.
 
 Attribute value forms belong
 to one of the classes shown in Figure \refersec{tab:classesofattributevalue}.
+\addtoindex{attributes!list of}
 
 % These each need to link to definition page: FIXME
 \begin{figure}[here]
@@ -1502,6 +1506,7 @@ implementations pass as the first argument to non-static member
 functions.}  
 
 Any debugging information entry representing the
+\addtoindexx{artificial attribute}
 declaration of an object or type artificially generated by
 a compiler and not explicitly declared by the source program
 \hypertarget{chap:DWATartificialobjectsortypesthat}
@@ -1798,6 +1803,7 @@ value is represented as an offset from the beginning of the
 \addtoindex{.debug\_ranges} section to the beginning of the range list.
 
 Each entry in a range list is either a range list entry,
+\addtoindexx{base address selection entry!in range list}
 a base address selection entry, or an end of list entry.
 
 A range list entry consists of:
index 0d9623b..d9f769b 100644 (file)
@@ -218,6 +218,7 @@ section.
 
 \textit{Some computer architectures employ more than one instruction
 set (for example, the ARM and MIPS architectures support
+\addtoindexx{ARM instruction set architecture}
 a 32\dash bit as well as a 16\dash bit instruction set). Because the
 instruction set is a function of the program counter, it is
 convenient to encode the applicable instruction set in the
@@ -233,7 +234,7 @@ object code. The matrix would have columns for:}
 \item \textit{the source file name}
 \item \textit{the source line number}
 \item \textit{the source column number}
-\item \textit{whether this insruction is the beginning of a basic block}
+\item \textit{whether this insruction is the beginning of a \addtoindex{basic block}}
 \item \textit{and so on}
 \end{itemize}
 
@@ -275,12 +276,14 @@ A series of byte\dash coded
 line number information instructions representing
 one compilation unit. \\
 
-basic block &
+\addtoindex{basic block} &
  A sequence of instructions where only the first instruction may be a
 branch target and only the last instruction may transfer control. A
-procedure invocation is defined to be an exit from a basic block.
+procedure invocation is defined to be an exit from a 
+\addtoindex{basic block}.
 
-\textit{A basic block does not necessarily correspond to a specific source code
+\textit{A \addtoindex{basic block} does not 
+necessarily correspond to a specific source code
 construct.} \\
 
 sequence &
@@ -340,8 +343,8 @@ statement and/or a semantically distinct subpart of a
 statement. \\
 
 basic\_block  &
-A boolean indicating that the current instruction is the beginning of a basic 
-\nolink{block}. \\
+A boolean indicating that the current instruction is the beginning of a
+\addtoindex{basic block}. \\
 
 end\_sequence &
 A boolean indicating that the current address is that of the first byte after
@@ -386,7 +389,7 @@ file & 1 \\
 line & 1 \\
 column & 0 \\
 is\_stmt & determined by default\_is\_stmt in the line number program header \\
-basic\_block & ``false'' \\
+basic\_block & ``false'' \addtoindexx{basic block} \\
 end\_sequence & ``false'' \\
 prologue\_end & ``false'' \\
 epilogue\_begin & ``false'' \\
@@ -623,7 +626,7 @@ address and op\_index registers as described below.
 \item  Append a row to the matrix using the current values
 of the state machine registers.
 
-\item  Set the basic\_block register to ``false.''
+\item  Set the basic\_block register to ``false.'' \addtoindexx{basic block}
 \item  Set the prologue\_end register to ``false.''
 \item  Set the epilogue\_begin register to ``false.''
 \item  Set the discriminator register to 0.
@@ -812,8 +815,11 @@ operands. It sets the is\_stmt register of the state machine
 to the logical negation of its current value.
 
 \item \textbf{DW\-\_LNS\-\_set\-\_basic\-\_block} \\
-The \livetarg{chap:DWLNSsetbasicblock}{DW\-\_LNS\-\_set\-\_basic\-\_block} opcode
-takes no operands. It sets the basic\_block register of the
+The \livetarg{chap:DWLNSsetbasicblock}{DW\-\_LNS\-\_set\-\_basic\-\_block}
+opcode
+\addtoindexx{basic block}
+takes no operands. 
+It sets the basic\_block register of the
 state machine to ``true.''
 
 
index 14e0e37..81a75b8 100644 (file)
@@ -211,7 +211,9 @@ access those names.
 
 This 
 \hypertarget{chap:DWATbasetypesprimitivedatatypesofcompilationunit}
-attribute points to a debugging information entry
+attribute 
+\addtoindexx{base types attribute}
+points to a debugging information entry
 representing another compilation unit.  It may be used
 to specify the compilation unit containing the base type
 entries used by entries in the current compilation unit
@@ -459,7 +461,9 @@ module or scope. An imported declaration may sometimes be
 given another name.
 }
 
-An imported declaration is represented by one or
+An 
+imported declaration is represented by one or
+\addtoindex{imported declaration entry}
 more debugging information entries with the 
 tag \livetarg{chap:DWTAGimporteddeclaration}{DW\-\_TAG\-\_imported\-\_declaration}. 
 When 
@@ -484,6 +488,7 @@ name of the entity being imported.
 
 An imported declaration entry with a name attribute may be
 used as a general means to rename or provide an alias for
+\addtoindexx{alias declaration|see{imported declaration entry}}
 an entity, regardless of the context in which the importing
 declaration or the imported entity occurs.
 
@@ -818,7 +823,7 @@ represented by a debugging information entry with the tag
 
 The entry for a subroutine that includes a 
 Fortran \livelink{chap:fortrancommonblock}{common} \livelink{chap:commonblockentry}{block}
-\index{common block|see{Fortran common block}}
+\addtoindexx{common block|see{Fortran common block}}
 has a child entry with the 
 tag \livetarg{chap:DWTAGcommoninclusion}{DW\-\_TAG\-\_common\-\_inclusion}. 
 The
index 8d43c13..6ffba1d 100644 (file)
@@ -23,7 +23,8 @@ A base type is represented by a debugging information entry
 with the tag 
 \livetarg{chap:DWTAGbasetype}{DW\-\_TAG\-\_base\-\_type}.
 
-A base type entry has a \livelink{chap:DWATname}{DW\-\_AT\-\_name} attribute whose value is
+A \addtoindex{base type entry}
+has a \livelink{chap:DWATname}{DW\-\_AT\-\_name} attribute whose value is
 a null\dash terminated string containing the name of the base type
 as recognized by the programming language of the compilation
 unit containing the base type entry.
@@ -451,11 +452,14 @@ source syntax) in other languages.}
 \label{chap:arraytypeentries}
 
 Many languages share the concept of an ``array,'' which is
+\addtoindexx{array type entry}
 a table of components of identical type.
 
 An array type is represented by a debugging information entry
 with the tag \livetarg{chap:DWTAGarraytype}{DW\-\_TAG\-\_array\-\_type}. 
-If a name has been given to
+If a name has been 
+given to
+\addtoindexx{array!declaration of type}
 the array type in the source program, then the corresponding
 array type entry has a \livelink{chap:DWATname}{DW\-\_AT\-\_name} attribute whose value is a
 null-terminated string containing the array type name as it
@@ -464,6 +468,7 @@ appears in the source program.
 The 
 \hypertarget{chap:DWATorderingarrayrowcolumnordering}
 array type entry describing a multidimensional array may
+\addtoindexx{array!element ordering}
 have a \livelink{chap:DWATordering}{DW\-\_AT\-\_ordering} attribute whose integer constant value is
 interpreted to mean either row-major or column-major ordering
 of array elements. The set of values and their meanings
@@ -485,7 +490,9 @@ attribute of the enclosing compilation unit entry) is assumed.
 The ordering attribute may optionally appear on one-dimensional
 arrays; it will be ignored.
 
-An array type entry has a \livelink{chap:DWATtype}{DW\-\_AT\-\_type} attribute describing
+An array type entry has a \livelink{chap:DWATtype}{DW\-\_AT\-\_type} 
+\addtoindexx{array!element type}
+attribute describing
 the type of each element of the array.
 
 If the amount of storage allocated to hold each element of an
@@ -795,7 +802,9 @@ tag \livetarg{chap:DWTAGmember}{DW\-\_TAG\-\_member}.
 The member entry for a named member has
 a \livelink{chap:DWATname}{DW\-\_AT\-\_name} attribute whose value is a null-terminated
 string containing the member name as it appears in the source
-program. If the member entry describes an anonymous union, the
+program. If the member entry describes an 
+\addtoindex{anonymous union},
+the
 name attribute is omitted or consists of a single zero byte.
 
 The data member entry has a \livelink{chap:DWATtype}{DW\-\_AT\-\_type} attribute to denote
@@ -816,7 +825,9 @@ which is a \livelink{chap:flag}{flag}.
 This attribute indicates whether the data
 member was declared with the mutable storage class specifier.
 
-The beginning of a data member is described relative to
+The 
+\addtoindex{beginning of a data member} 
+is described relative to
 the beginning of the object in which it is immediately
 contained. In general, the beginning is characterized by
 both an address and a bit offset within the byte at that
@@ -1783,7 +1794,9 @@ under explicit program control.}
 \hypertarget{chap:DWATallocatedallocationstatusoftypes}
 The 
 \livelink{chap:DWATallocated}{DW\-\_AT\-\_allocated} 
-attribute may optionally be used with any
+attribute 
+\addtoindexx{allocated attribute}
+may optionally be used with any
 type for which objects of the type can be explicitly allocated
 and deallocated. The presence of the attribute indicates that
 objects of the type are allocatable and deallocatable. The
@@ -1794,7 +1807,9 @@ currently allocated or not.
 \hypertarget{chap:DWATassociatedassociationstatusoftypes}
 The 
 \livelink{chap:DWATassociated}{DW\-\_AT\-\_associated} attribute 
-may optionally be used with
+may 
+\addtoindexx{associated attribute}
+optionally be used with
 any type for which objects of the type can be dynamically
 associated with other objects. The presence of the attribute
 indicates that objects of the type can be associated. The