References to class block are now all linked, it seems.
authorDavid Anderson <davea42@earthlink.net>
Sun, 17 Jun 2012 18:34:20 +0000 (11:34 -0700)
committerDavid Anderson <davea42@earthlink.net>
Sun, 17 Jun 2012 18:34:20 +0000 (11:34 -0700)
Fortran Common block references are now linked.
basic_block references are not yet linked, and
a few other 'block' strings not handled, the proper
target is not yet set.

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

index 708e6f9..04e89df 100644 (file)
@@ -4,7 +4,8 @@
 This section presents the debugging information entries that
 describe individual data objects: variables, parameters and
 constants, and lists of those objects that may be grouped in
-a single declaration, such as a common \nolink{block}.
+a single declaration, such as 
+a common \livelink{chap:commonblockentry}{block}.
 
 \section{Data Object Entries}
 \label{chap:dataobjectentries}
@@ -145,7 +146,8 @@ beginning of a range list (see Section 2.17.3).
 
 
 \textit{The scope of a variable may begin somewhere in the middle of
-a lexical \nolink{block} in a language that allows executable code in a
+a lexical \livelink{chap:lexicalblock}{block} in a language 
+that allows executable code in a
 \nolink{block} before a variable declaration, or where one declaration
 containing initialization code may change the scope of a
 subsequent declaration.  For example, in the following C code:}
@@ -220,13 +222,15 @@ Section \refersec{chap:linkagenames}.
 
 \section{Common Block Entries}
 \label{chap:commonblockentries}
-A Fortran common \nolink{block} may be described by a debugging
+A Fortran \livetargi{chap:fortrancommonblock}{common}{Fortran!common block} \livetargi{chap:commonblockentry}{block}{common block entry} 
+may be described by a debugging
 information entry with the 
 tag \livetarg{chap:DWTAGcommonblock}{DW\-\_TAG\-\_common\-\_block}. 
 The
 common \nolink{block} 
 entry has a \livelink{chap:DWATname}{DW\-\_AT\-\_name} attribute whose value
-is a null-terminated string containing the common \nolink{block}
+is a null-terminated string containing the 
+\livetargi{chap:commonblockreferenceattribute}{common}{common block reference attribute} \nolink{block}
 name as it appears in the source program. It may also have a
 \livelink{chap:DWATlinkagename}{DW\-\_AT\-\_linkage\-\_name} attribute as described in 
 Section \refersec{chap:linkagenames}. 
index a0c3687..ac7768c 100644 (file)
@@ -1236,9 +1236,9 @@ Each entry in a location list is either a location list entry,
 a base address selection entry, or an end of list entry.
 
 A location list entry consists of two address offsets followed
-by a 2\dash byte length, followed by a \nolink{block} of contiguous bytes
+by a 2\dash byte length, followed by a block of contiguous bytes
 that contains a DWARF location description. The length
-specifies the number of bytes in that \nolink{block}. The two offsets
+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
index 86c5103..77f5d7f 100644 (file)
@@ -188,7 +188,7 @@ actually declared in the source \\
 \livetarg{chap:DWATcallingconvention}{DW\-\_AT\-\_calling\-\_convention} 
 &Subprogram calling convention \\
 &\livetarg{chap:DWATcommonreference}{DW\-\_AT\-\_common\-\_reference} \\
-&Common \nolink{block} usage \\
+&Common \livelink{chap:commonblockreferenceattribute} usage \\
 \livetarg{chap:DWATcompdir}{DW\-\_AT\-\_comp\-\_dir}
 &Compilation directory \\
 \livetarg{chap:DWATconstvalue}{DW\-\_AT\-\_const\-\_value}
@@ -1111,6 +1111,7 @@ or is computed from other locations and values in the program.
 \item \livetarg{chap:DWOPimplicitvalue}{DW\-\_OP\-\_implicit\-\_value} \\
 The \livelink{chap:DWOPimplicitvalue}{DW\-\_OP\-\_implicit\-\_value} operation specifies an immediate value
 using two operands: an unsigned LEB128 length, followed by
+%FIXME: should this block be a reference? To what?
 a \nolink{block} representing the value in the memory representation
 of the target machine. The length operand gives the length
 in bytes of the \nolink{block}.
@@ -1598,7 +1599,7 @@ multiple whitespace characters may be compressed.}
 
 \section{Data Locations and DWARF Procedures}
 Any debugging information entry describing a data object (which
-includes variables and parameters) or common \nolink{block} may have a
+includes variables and parameters) or common \livelink{chap:commonblockentry}{block} may have a
 \livelink{chap:DWATlocation}{DW\-\_AT\-\_location} attribute, whose value is a location description
 (see Section 2.6).  
 
index 255117f..754d159 100644 (file)
@@ -214,7 +214,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 \nolink{block}}
+\item \textit{whether this insruction is the beginning of a basic block}
 \item \textit{and so on}
 \end{itemize}
 
@@ -256,12 +256,12 @@ A series of byte\dash coded
 line number information instructions representing
 one compilation unit. \\
 
-basic \nolink{block} &
+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 \nolink{block}.
+procedure invocation is defined to be an exit from a basic block.
 
-\textit{A basic \nolink{block} does not necessarily correspond to a specific source code
+\textit{A basic block does not necessarily correspond to a specific source code
 construct.} \\
 
 sequence &
@@ -320,7 +320,7 @@ 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
+A boolean indicating that the current instruction is the beginning of a basic 
 \nolink{block}. \\
 
 end\_sequence &
@@ -347,11 +347,11 @@ encoding be defined by the ABI authoring committee for each
 architecture. \\
 
 discriminator &
-An unsigned integer identifying the \nolink{block} to which the
+An unsigned integer identifying the block to which the
 current instruction belongs. Discriminator values are assigned
 arbitrarily by the DWARF producer and serve to distinguish
-among multiple \nolink{block} that may all be associated with the
-same source file, line, and column. Where only one \nolink{block}
+among multiple blocks that may all be associated with the
+same source file, line, and column. Where only one block
 exists for a given source position, the discriminator value
 should be zero. \\
 \end{longtable}
@@ -1188,7 +1188,7 @@ special things.}
 \begin{itemize} % bullet list
 
 \item \textit{Prologue and epilogue code is not always in 
-distinct \nolink{block}
+distinct block
 at the beginning and end of a subroutine. It is common
 to duplicate the epilogue code at the site of each return
 from the code. Sometimes a compiler breaks up the register
@@ -1788,7 +1788,8 @@ is complete.
 calling address, but that need not be the case, especially if
 the producer knows in some way the call never will return. The
 context of the 'return address' might be on a different line,
-in a different lexical \nolink{block}, or past the end of the calling
+in a different lexical \livelink{chap:lexicalblock}{block}, 
+or past the end of the calling
 subroutine. If a consumer were to assume that it was in the
 same context as the calling address, the unwind might fail.}
 
index de8f3e3..e718922 100644 (file)
@@ -748,7 +748,9 @@ The unspecified parameters of a variable parameter list are
 represented by a debugging information entry with the tag
 \livetarg{chap:DWTAGunspecifiedparameters}{DW\-\_TAG\-\_unspecified\-\_parameters}.
 
-The entry for a subroutine that includes a Fortran common \nolink{block}
+The entry for a subroutine that includes a 
+Fortran \livelink{chap:fortrancommonblock}{common} \livelink{chap:commonblockentry}{block}
+\index{common block|see{Fortran common block}}
 has a child entry with the 
 tag \livetarg{chap:DWTAGcommoninclusion}{DW\-\_TAG\-\_common\-\_inclusion}. 
 The
@@ -1318,27 +1320,28 @@ either a \livelink{chap:DWATlowpc}{DW\-\_AT\-\_low\-\_pc} and
 attributes or a \livelink{chap:DWATranges}{DW\-\_AT\-\_ranges} attribute
 whose values encode the contiguous or non-contiguous address
 ranges, respectively, of the machine instructions generated
-for the lexical \livelink(chap:lexicalblock}{block} 
+for the lexical \livelink{chap:lexicalblock}{block} 
 (see Section \refersec{chap:codeaddressesandranges}).
 
-If a name has been given to the lexical \livelink(chap:lexicalblock}{block} 
+If a name has been given to the 
+lexical \livelink{chap:lexicalblock}{block} 
 in the source
 program, then the corresponding 
 lexical \livelink{chap:lexicalblockentry}{block} entry has a
 \livelink{chap:DWATname}{DW\-\_AT\-\_name} attribute whose 
 value is a null\dash terminated string
-containing the name of the lexical \livelink(chap:lexicalblock}{block} 
+containing the name of the lexical \livelink{chap:lexicalblock}{block} 
 as it appears in
 the source program.
 
 \textit{This is not the same as a C or C++ label (see below).}
 
-The lexical \livelink(chap:lexicalblockentry}{block} entry owns 
+The lexical \livelink{chap:lexicalblockentry}{block} entry owns 
 debugging information entries that
-describe the declarations within that lexical \livelink(chap:lexicalblock}{block}. 
+describe the declarations within that lexical \livelink{chap:lexicalblock}{block}. 
 There is
 one such debugging information entry for each local declaration
-of an identifier or inner lexical \livelink(chap:lexicalblock}{block}.
+of an identifier or inner lexical \livelink{chap:lexicalblock}{block}.
 
 \section{Label Entries}
 \label{chap:labelentries}
@@ -1392,7 +1395,7 @@ the with statement.
 \section{Try and Catch Block Entries}
 \label{chap:tryandcatchblockentries}
 
-\textit{In C++ a lexical \livelink(chap:lexicalblock}{block} may be 
+\textit{In C++ a lexical \livelink{chap:lexicalblock}{block} may be 
 designated as a ``catch \nolink{block}.'' 
 A catch \livetargi{chap:catchblock}{block}{catch block} is an 
 exception handler that handles