Attributes table links from AT_p* r* s* attributes now added
[dwarf-doc.git] / dwarf5 / latexdoc / programscope.tex
index dc0c59b..c3e07a8 100644 (file)
@@ -80,7 +80,9 @@ default base address for use in location lists (see Section
 (see Section \refersec{chap:noncontiguousaddressranges}).
 
 \item A \livelink{chap:DWATname}{DW\-\_AT\-\_name} attribute whose value is a null\dash terminated
-string containing the full or relative path name of the primary
+string 
+\hypertarget{chap:DWATnamepathnameofcompilationsource}
+containing the full or relative path name of the primary
 source file from which the compilation unit was derived.
 
 \item A \livelink{chap:DWATlanguage}{DW\-\_AT\-\_language} attribute whose constant value is an
@@ -120,6 +122,7 @@ Language name & Meaning\\ \hline
 \end{figure}
 
 \item A \livelink{chap:DWATstmtlist}{DW\-\_AT\-\_stmt\-\_list} attribute whose value is a section
+\hypertarget{chap:DWATstmtlistlinenumberinformationforunit}
 offset to the line number information for this compilation
 unit.  This information is placed in a separate object file
 section from the debugging information entries themselves. The
@@ -129,6 +132,7 @@ information for this compilation unit
 (see Section \refersec{chap:linenumberinformation}).
 
 \item A \livelink{chap:DWATmacroinfo}{DW\-\_AT\-\_macro\-\_info} attribute whose value is a section
+\hypertarget{chap:DWATmacroinfomacroinformation}
 offset to the macro information for this compilation unit.
 This information is placed in a separate object file section
 from the debugging information entries themselves. The
@@ -148,6 +152,7 @@ unit in whatever form makes sense for the host system.
 
 \item  A \livelink{chap:DWATproducer}{DW\-\_AT\-\_producer} attribute whose value is a null\dash
 terminated string containing information about the compiler
+\hypertarget{chap:DWATproducercompileridentification}
 that produced the compilation unit. The actual contents of
 the string will be specific to each producer, but should
 begin with the name of the compiler vendor or some other
@@ -222,7 +227,9 @@ using the UTF\dash 8 representation
 
 
 \item A \livelink{chap:DWATmainsubprogram}{DW\-\_AT\-\_main\-\_subprogram} attribute, which is a \livelink{chap:flag}{flag}
-whose presence indicates that the compilation unit contains a
+whose presence indicates 
+\hypertarget{chap:DWATmainsubprogramunitcontainingmainorstartingsubprogram}
+that the compilation unit contains a
 subprogram that has been identified as the starting function
 of the program. If more than one compilation unit contains
 this \nolink{flag}, any one of them may contain the starting function.
@@ -341,12 +348,15 @@ 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}). 
+\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
 (see Section \refersec{chap:entryaddress}).
 
-If the module has been assigned a priority, it may have a
+If 
+\hypertarget{chap:DWATprioritymodulepriority}
+the module has been assigned a priority, it may have a
 \livelink{chap:DWATpriority}{DW\-\_AT\-\_priority} attribute. The value of this attribute is a
 reference to another debugging information entry describing
 a variable with a constant value. The value of this variable
@@ -364,8 +374,11 @@ A namespace is represented by a debugging information entry
 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}
@@ -586,8 +599,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
-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
@@ -595,7 +611,9 @@ class or structure are described in
 Section \refersec{chap:memberfunctionentries}.
 }
 
-A subroutine entry may contain a \livelink{chap:DWATmainsubprogram}{DW\-\_AT\-\_main\-\_subprogram}
+A 
+\hypertarget{chap:DWATmainsubprogrammainorstartingsubprogram}
+subroutine entry may contain a \livelink{chap:DWATmainsubprogram}{DW\-\_AT\-\_main\-\_subprogram}
 attribute which is 
 a \livelink{chap:flag}{flag} whose presence indicates that the
 subroutine has been identified as the starting function of
@@ -674,18 +692,27 @@ attribute is neither needed nor appropriate in languages such
 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
 or property.
 
-A subprogram entry may have a \livelink{chap:DWATpure}{DW\-\_AT\-\_pure} attribute, which is
+A 
+\hypertarget{chap:DWATpurepurepropertyofasubroutine}
+subprogram entry may have a 
+\livelink{chap:DWATpure}{DW\-\_AT\-\_pure} attribute, which is
 a \livelink{chap:flag}{flag}. 
 The attribute indicates whether the subroutine was
 declared with the ``pure'' keyword or property.
 
-A subprogram entry may have a \livelink{chap:DWATrecursive}{DW\-\_AT\-\_recursive} attribute, which
+A 
+\hypertarget{chap:DWATrecursiverecursivepropertyofasubroutine}
+subprogram entry may have a 
+\livelink{chap:DWATrecursive}{DW\-\_AT\-\_recursive} attribute, which
 is a \livelink{chap:flag}{flag}. 
 The attribute indicates whether the subroutine
 or entry point was declared with the ``recursive'' keyword
@@ -714,7 +741,10 @@ ranges, respectively, of the machine instructions generated
 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}).
@@ -780,7 +810,10 @@ for the common \nolink{block} being included
 \subsection{Low-Level Information}
 \label{chap:lowlevelinformation}
 
-A subroutine or entry point entry may have a \livelink{chap:DWATreturnaddr}{DW\-\_AT\-\_return\-\_addr}
+A 
+\hypertarget{chap:DWATreturnaddrsubroutinereturnaddresssavelocation}
+subroutine or entry point entry may have a 
+\livelink{chap:DWATreturnaddr}{DW\-\_AT\-\_return\-\_addr}
 attribute, whose value is a location description. The location
 calculated is the place where the return address for the
 subroutine or entry point is stored.
@@ -827,8 +860,11 @@ outer subroutine from within an inner subroutine. The
 \livelink{chap:DWATstaticlink}{DW\-\_AT\-\_static\-\_link} and \livelink{chap:DWATframebase}{DW\-\_AT\-\_frame\-\_base} attributes allow
 debuggers to support this same kind of referencing.}
 
-If a subroutine or entry point is nested, it may have a
-\livelink{chap:DWATstaticlink}{DW\-\_AT\-\_static\-\_link} attribute, whose value is a location
+If 
+\hypertarget{chap:DWATstaticlinklocationofuplevelframe}
+a subroutine or entry point is nested, it may have a
+\livelink{chap:DWATstaticlink}{DW\-\_AT\-\_static\-\_link}
+attribute, whose value is a location
 description that computes the frame base of the relevant
 instance of the subroutine that immediately encloses the
 subroutine or entry point.
@@ -1021,13 +1057,17 @@ Each such entry should be a direct
 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 
-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}).