This is DW_AT_e* links implementation in the attributes table.
authorDavid Anderson <davea42@earthlink.net>
Thu, 6 Sep 2012 17:31:44 +0000 (10:31 -0700)
committerDavid Anderson <davea42@earthlink.net>
Thu, 6 Sep 2012 17:31:44 +0000 (10:31 -0700)
dwarf5/latexdoc/dataobject.tex
dwarf5/latexdoc/datarepresentation.tex
dwarf5/latexdoc/generaldescription.tex
dwarf5/latexdoc/programscope.tex
dwarf5/latexdoc/typeentries.tex

index e9c20e9..f296419 100644 (file)
@@ -31,6 +31,7 @@ union, the name attribute is omitted or consists of a single
 zero byte.
 
 \item A \livelink{chap:DWATexternal}{DW\-\_AT\-\_external} attribute, 
 zero byte.
 
 \item A \livelink{chap:DWATexternal}{DW\-\_AT\-\_external} attribute, 
+\hypertarget{chap:DWATexternalexternalvariable}
 which is a \livelink{chap:flag}{flag}, if the name
 of a variable is visible outside of its enclosing compilation
 unit.  The definitions of C++ static data members of structures
 which is a \livelink{chap:flag}{flag}, if the name
 of a variable is visible outside of its enclosing compilation
 unit.  The definitions of C++ static data members of structures
@@ -178,6 +179,7 @@ an object may not require its own range list even when the
 containing scope is non\dash contiguous.}
 
 \item A \livelink{chap:DWATendianity}{DW\-\_AT\-\_endianity} attribute, whose value is a constant
 containing scope is non\dash contiguous.}
 
 \item A \livelink{chap:DWATendianity}{DW\-\_AT\-\_endianity} attribute, whose value is a constant
+\hypertarget{chap:DWATendianityendianityofdata}
 that specifies the endianity of the object. The value of
 this attribute specifies an ABI\dash defined byte ordering for
 the value of the object. If omitted, the default endianity
 that specifies the endianity of the object. The value of
 this attribute specifies an ABI\dash defined byte ordering for
 the value of the object. If omitted, the default endianity
index ac7768c..b19d6cc 100644 (file)
@@ -1252,7 +1252,10 @@ the corresponding compilation unit must be defined
 \section{Base Type Attribute Encodings}
 \label{datarep:basetypeattributeencodings}
 
 \section{Base Type Attribute Encodings}
 \label{datarep:basetypeattributeencodings}
 
-The encodings of the constants used in the \livelink{chap:DWATencoding}{DW\-\_AT\-\_encoding}
+The encodings of the 
+\hypertarget{chap:DWATencodingencodingofbasetype}
+constants used in the 
+\livelink{chap:DWATencoding}{DW\-\_AT\-\_encoding}
 attribute are given in 
 Table \refersec{tab:basetypeencodingvalues}
 
 attribute are given in 
 Table \refersec{tab:basetypeencodingvalues}
 
index 4ec0434..48b6697 100644 (file)
@@ -236,24 +236,24 @@ actually declared in the source} \\
 \livetarg{chap:DWATdiscrvalue}{DW\-\_AT\-\_discr\-\_value}
 &Discriminant value\\
 \livetarg{chap:DWATelemental}{DW\-\_AT\-\_elemental}
 \livetarg{chap:DWATdiscrvalue}{DW\-\_AT\-\_discr\-\_value}
 &Discriminant value\\
 \livetarg{chap:DWATelemental}{DW\-\_AT\-\_elemental}
-&Elemental property of a subroutine\\
+&\livelink{chap:DWATelementalelementalpropertyofasubroutine}{Elemental property of a subroutine} \\
 \livetarg{chap:DWATencoding}{DW\-\_AT\-\_encoding}
 \livetarg{chap:DWATencoding}{DW\-\_AT\-\_encoding}
-&Encoding of base type\\
+&\livelink{chap:DWATencodingencodingofbasetype}{Encoding of base type} \\
 \livetarg{chap:DWATendianity}{DW\-\_AT\-\_endianity}
 \livetarg{chap:DWATendianity}{DW\-\_AT\-\_endianity}
-&Endianity of data\\
+&\livelink{chap:DWATendianityendianityofdata}{Endianity of data} \\
 \livetarg{chap:DWATentrypc}{DW\-\_AT\-\_entry\-\_pc}
 \livetarg{chap:DWATentrypc}{DW\-\_AT\-\_entry\-\_pc}
-&Entry address of module initialization\\
-&Entry address of subprogram\\
-&Entry address of inlined subprogram\\
+&\livelink{chap:DWATentrypcentryaddressofmoduleinitialization}{Entry address of module initialization}\\
+&\livelink{chap:DWATentrypcentryaddressofsubprogram}{Entry address of subprogram} \\
+&\livelink{chap:DWATentrypcentryaddressofinlinedsubprogram}{Entry address of inlined subprogram}\\
 \livetarg{chap:DWATenumclass}{DW\-\_AT\-\_enum\-\_class}
 \livetarg{chap:DWATenumclass}{DW\-\_AT\-\_enum\-\_class}
-&Type safe enumeration definition\\
+&\livelink{chap:DWATenumclasstypesafeenumerationdefinition}{Type safe enumeration definition}\\
 \livetarg{chap:DWATexplicit}{DW\-\_AT\-\_explicit}
 \livetarg{chap:DWATexplicit}{DW\-\_AT\-\_explicit}
-&Explicit property of member function\\
+&\livelink{chap:DWATexplicitexplicitpropertyofmemberfunction}{Explicit property of member function}\\
 \livetarg{chap:DWATextension}{DW\-\_AT\-\_extension}
 \livetarg{chap:DWATextension}{DW\-\_AT\-\_extension}
-&Previous namespace extension or original namespace\\
+&\livelink{chap:DWATextensionpreviousnamespaceextensionororiginalnamespace}{Previous namespace extension or original namespace}\\
 \livetarg{chap:DWATexternal}{DW\-\_AT\-\_external}
 \livetarg{chap:DWATexternal}{DW\-\_AT\-\_external}
-&External subroutine\\
-&External variable\\
+&\livelink{chap:DWATexternalexternalsubroutine}{External subroutine} \\
+&\livelink{chap:DWATexternalexternalvariable}{External variable} \\
 \livetarg{chap:DWATframebase}{DW\-\_AT\-\_frame\-\_base}
 &Subroutine frame base address\\
 \livetarg{chap:DWATfriend}{DW\-\_AT\-\_friend}
 \livetarg{chap:DWATframebase}{DW\-\_AT\-\_frame\-\_base}
 &Subroutine frame base address\\
 \livetarg{chap:DWATfriend}{DW\-\_AT\-\_friend}
index dc0c59b..bcde086 100644 (file)
@@ -341,6 +341,7 @@ whose values encode the contiguous or non\dash contiguous address
 ranges, respectively, of the machine instructions generated for
 the module initialization code 
 (see Section \refersec{chap:codeaddressesandranges}). 
 ranges, respectively, of the machine instructions generated for
 the module initialization code 
 (see Section \refersec{chap:codeaddressesandranges}). 
+\hypertarget{chap:DWATentrypcentryaddressofmoduleinitialization}
 It may also
 have a \livelink{chap:DWATentrypc}{DW\-\_AT\-\_entry\-\_pc} attribute whose value is the address of
 the first executable instruction of that initialization code
 It may also
 have a \livelink{chap:DWATentrypc}{DW\-\_AT\-\_entry\-\_pc} attribute whose value is the address of
 the first executable instruction of that initialization code
@@ -364,8 +365,11 @@ A namespace is represented by a debugging information entry
 with the 
 tag \livetarg{chap:DWTAGnamespace}{DW\-\_TAG\-\_namespace}. 
 A namespace extension is
 with the 
 tag \livetarg{chap:DWTAGnamespace}{DW\-\_TAG\-\_namespace}. 
 A namespace extension is
-represented by a \livelink{chap:DWTAGnamespace}{DW\-\_TAG\-\_namespace} entry 
-with a \livelink{chap:DWATextension}{DW\-\_AT\-\_extension}
+\hypertarget{chap:DWATextensionpreviousnamespaceextensionororiginalnamespace}
+represented by a 
+\livelink{chap:DWTAGnamespace}{DW\-\_TAG\-\_namespace} entry 
+with a 
+\livelink{chap:DWATextension}{DW\-\_AT\-\_extension}
 attribute referring to the previous extension, or if there
 is no previous extension, to the original 
 \livelink{chap:DWTAGnamespace}{DW\-\_TAG\-\_namespace}
 attribute referring to the previous extension, or if there
 is no previous extension, to the original 
 \livelink{chap:DWTAGnamespace}{DW\-\_TAG\-\_namespace}
@@ -586,8 +590,11 @@ It may also have a \livelink{chap:DWATlinkagename}{DW\-\_AT\-\_linkage\-\_name}
 described in Section \refersec{chap:linkagenames}.
 
 If the name of the subroutine described by an entry with the
 described in Section \refersec{chap:linkagenames}.
 
 If the name of the subroutine described by an entry with the
-tag \livelink{chap:DWTAGsubprogram}{DW\-\_TAG\-\_subprogram} is visible outside of its containing
-compilation unit, that entry has a \livelink{chap:DWATexternal}{DW\-\_AT\-\_external} attribute,
+tag \livelink{chap:DWTAGsubprogram}{DW\-\_TAG\-\_subprogram}
+is visible outside of its containing
+\hypertarget{chap:DWATexternalexternalsubroutine}
+compilation unit, that entry has a 
+\livelink{chap:DWATexternal}{DW\-\_AT\-\_external} attribute,
 which is a \livelink{chap:flag}{flag}.
 
 \textit{Additional attributes for functions that are members of a
 which is a \livelink{chap:flag}{flag}.
 
 \textit{Additional attributes for functions that are members of a
@@ -674,7 +681,10 @@ attribute is neither needed nor appropriate in languages such
 as C where functions support recursion by default.
 }
 
 as C where functions support recursion by default.
 }
 
-A subprogram entry may have a \livelink{chap:DWATelemental}{DW\-\_AT\-\_elemental} attribute, which
+A subprogram entry 
+\hypertarget{chap:DWATelementalelementalpropertyofasubroutine}
+may have a 
+\livelink{chap:DWATelemental}{DW\-\_AT\-\_elemental} attribute, which
 is a \livelink{chap:flag}{flag}. 
 The attribute indicates whether the subroutine
 or entry point was declared with the ``elemental'' keyword
 is a \livelink{chap:flag}{flag}. 
 The attribute indicates whether the subroutine
 or entry point was declared with the ``elemental'' keyword
@@ -714,7 +724,10 @@ ranges, respectively, of the machine instructions generated
 for the subroutine (see 
 Section \refersec{chap:codeaddressesandranges}).
 
 for the subroutine (see 
 Section \refersec{chap:codeaddressesandranges}).
 
-A subroutine entry may also have a \livelink{chap:DWATentrypc}{DW\-\_AT\-\_entry\-\_pc} attribute
+A 
+\hypertarget{chap:DWATentrypcentryaddressofsubprogram}
+subroutine entry may also have a 
+\livelink{chap:DWATentrypc}{DW\-\_AT\-\_entry\-\_pc} attribute
 whose value is the address of the first executable instruction
 of the subroutine (see 
 Section \refersec{chap:entryaddress}).
 whose value is the address of the first executable instruction
 of the subroutine (see 
 Section \refersec{chap:entryaddress}).
@@ -1021,13 +1034,17 @@ Each such entry should be a direct
 child of the entry that represents the scope within which
 the inlining occurs.
 
 child of the entry that represents the scope within which
 the inlining occurs.
 
-Each inlined subroutine entry may have either a \livelink{chap:DWATlowpc}{DW\-\_AT\-\_low\-\_pc}
+Each inlined subroutine entry may have either a 
+\livelink{chap:DWATlowpc}{DW\-\_AT\-\_low\-\_pc}
 and \livelink{chap:DWAThighpc}{DW\-\_AT\-\_high\-\_pc} pair of attributes or a \livelink{chap:DWATranges}{DW\-\_AT\-\_ranges}
 attribute whose values encode the contiguous or non\dash contiguous
 address ranges, respectively, of the machine instructions
 generated for the inlined subroutine (see 
 and \livelink{chap:DWAThighpc}{DW\-\_AT\-\_high\-\_pc} pair of attributes or a \livelink{chap:DWATranges}{DW\-\_AT\-\_ranges}
 attribute whose values encode the contiguous or non\dash contiguous
 address ranges, respectively, of the machine instructions
 generated for the inlined subroutine (see 
-Section \refersec{chap:codeaddressesandranges}). An
-inlined subroutine entry may also contain a \livelink{chap:DWATentrypc}{DW\-\_AT\-\_entry\-\_pc}
+Section \refersec{chap:codeaddressesandranges}). 
+An
+\hypertarget{chap:DWATentrypcentryaddressofinlinedsubprogram}
+inlined subroutine entry may also contain a 
+\livelink{chap:DWATentrypc}{DW\-\_AT\-\_entry\-\_pc}
 attribute, representing the first executable instruction of
 the inline expansion (see 
 Section \refersec{chap:entryaddress}).
 attribute, representing the first executable instruction of
 the inline expansion (see 
 Section \refersec{chap:entryaddress}).
index 8ce92e5..0d968cf 100644 (file)
@@ -1035,8 +1035,11 @@ is assumed for an entry of a structure, union or interface.
 If the member function entry describes a virtual function,
 then that entry has a \livelink{chap:DWATvirtuality}{DW\-\_AT\-\_virtuality} attribute.
 
 If the member function entry describes a virtual function,
 then that entry has a \livelink{chap:DWATvirtuality}{DW\-\_AT\-\_virtuality} attribute.
 
-If the member function entry describes an explicit member
-function, then that entry has a \livelink{chap:DWATexplicit}{DW\-\_AT\-\_explicit} attribute.
+If 
+\hypertarget{chap:DWATexplicitexplicitpropertyofmemberfunction}
+the member function entry describes an explicit member
+function, then that entry has a 
+\livelink{chap:DWATexplicit}{DW\-\_AT\-\_explicit} attribute.
 
 An entry for a virtual function also has a
 \livelink{chap:DWATvtableelemlocation}{DW\-\_AT\-\_vtable\-\_elem\-\_location} attribute whose value contains
 
 An entry for a virtual function also has a
 \livelink{chap:DWATvtableelemlocation}{DW\-\_AT\-\_vtable\-\_elem\-\_location} attribute whose value contains
@@ -1297,6 +1300,7 @@ required.
 
 \textit{In C or C++, the underlying type will be the appropriate
 integral type determined by the compiler from the properties of
 
 \textit{In C or C++, the underlying type will be the appropriate
 integral type determined by the compiler from the properties of
+\hypertarget{chap:DWATenumclasstypesafeenumerationdefinition}
 the enumeration literal values. A C++ type declaration written
 using enum class declares a strongly typed enumeration and
 is represented using \livelink{chap:DWTAGenumerationtype}{DW\-\_TAG\-\_enumeration\-\_type} in combination
 the enumeration literal values. A C++ type declaration written
 using enum class declares a strongly typed enumeration and
 is represented using \livelink{chap:DWTAGenumerationtype}{DW\-\_TAG\-\_enumeration\-\_type} in combination