Misc corrections up thru Chpt 5
[dwarf-doc.git] / dwarf5 / latexdoc / introduction.tex
index 9bbf5c4..70512c0 100644 (file)
@@ -24,25 +24,30 @@ designed to meet the symbolic, source-level debugging needs of
 different languages in a unified fashion by requiring language
 independent debugging information whenever possible.  
 Aspects
-of individual languages, such as C++ virtual functions or
-Fortran common \nolink{blocks}, are accommodated by creating attributes
+of individual languages, such as \addtoindex{C++} virtual functions or
+\addtoindex{Fortran} common 
+\nolink{blocks}, are accommodated by creating attributes
 that are used only for those languages. 
 This document is
-believed to cover most debugging information needs of Ada,
-C, C++, COBOL, and Fortran; it also covers the basic needs
+believed to cover most debugging information needs of 
+\addtoindex{Ada},
+\addtoindex{C}, \addtoindex{C++}, \addtoindex{COBOL}, 
+and \addtoindex{Fortran}; it also covers the basic needs
 of various other languages.
 
-This document describes DWARF Version 4, the fourth generation
+This document describes \addtoindex{DWARF Version 4},
+the fourth generation
 of debugging information based on the DWARF format. DWARF
-Version 4 extends DWARF Version 3 in a compatible manner.
+Version 4 extends \addtoindex{DWARF Version 3}
+in a compatible manner.
 
 The intended audience for this document is the developers
 of both producers and consumers of debugging information,
 typically compilers, debuggers and other tools that need to
 interpret a binary program in terms of its original source.
 
-\section{Overview}
 
+\section{Overview}
 
 There are two major pieces to the description of the DWARF
 format in this document. The first piece is the informational
@@ -72,7 +77,8 @@ Section \refersec{datarep:datarepresentation}.
 
 This organization closely follows that used in the DWARF
 Version 3 document. Except where needed to incorporate
-new material or to correct errors, the DWARF Version 3
+new material or to correct errors, the 
+\addtoindex{DWARF Version 3}
 text is generally reused in this document with little or
 no modification.
 
@@ -103,7 +109,7 @@ All
 names and values not reserved for vendor additions, however,
 are reserved for future versions of this document.
 
-DWARF Version 5 is intended to be permissive rather than
+\addtoindex{DWARF Version 4} is intended to be permissive rather than
 prescriptive. 
 Where this specification provides a means for
 describing the source language, implementors are expected
@@ -124,8 +130,6 @@ version of this standard or which contain vendor extensions,
 albeit possibly in a degraded manner.
 
 
-\section[Changes Version 4 to 5]{Changes from Version 4 to Version 5}
-TBD
 \section[Changes Version 3 to 4]{Changes from Version 3 to Version 4}
 The following is a list of the major changes made to the DWARF Debugging Information
 Format since Version 3 was published. The list is not meant to be exhaustive.
@@ -140,7 +144,10 @@ compute the location where a value is found (such as an address in memory or a r
 name) from DWARF expressions, which compute a final value (such as an array bound).
 \item Add support for bundled instructions on machine architectures where instructions do not
 occupy a whole number of bytes.
-\item Add a new attribute form for section offsets, \livelink{chap:DWFORMsecoffset}{DW\-\_FORM\-\_sec\-\_offset}, to replace the use
+\item Add a new attribute form for 
+section offsets, \livelink{chap:DWFORMsecoffset}{DW\-\_FORM\-\_sec\-\_offset}, 
+\addtoindexx{section offset}
+to replace the use
 of \livelink{chap:DWFORMdata4}{DW\-\_FORM\-\_data4} and \livelink{chap:DWFORMdata8}{DW\-\_FORM\-\_data8} for section offsets.
 \item Add an attribute, \livelink{chap:DWATmainsubprogram}{DW\-\_AT\-\_main\-\_subprogram}, to identify the main subprogram of a
 program.
@@ -154,17 +161,19 @@ constant expressions, Unicode character types and template aliases.
 \item Add additional support for template parameters in instantiations.
 \item Add support for strongly typed enumerations in languages (such as C++) that have two
 kinds of enumeration declarations.
-DWARF Version 4 is compatible with DWARF Version 3 except as follows:
+\end{itemize}
+\addtoindex{DWARF Version 4} is compatible with 
+\addtoindex{DWARF Version 3} except as follows:
+\begin{itemize}
 \item DWARF attributes that use any of the new forms of attribute value representation (for
 section offsets, flag compression, type signature references, and so on) cannot be read by
-DWARF Version 3 consumers because the consumer will not know how to skip over the
+\addtoindex{DWARF Version 3}
+consumers because the consumer will not know how to skip over the
 unexpected form of data.
 \item DWARF frame and line table sections include a additional fields that affect the location
 and interpretation of other data in the section.
 \end{itemize}
 
-
-Contents needed.
 \section{Changes from Version 2 to Version 3}
 The following is a list of the major differences between
 Version 2 and Version 3 of the DWARF Debugging Information
@@ -180,24 +189,24 @@ Allow attributes to refer to debugging information entries
 in other shared libraries.
 
 \item
-Add support for Fortran 90 modules as well as allocatable
+Add support for \addtoindex{Fortran 90} modules as well as allocatable
 array and pointer types.
 
 \item
-Add additional base types for C (as revised for 1999).
+Add additional base types for \addtoindex{C} (as revised for 1999).
 
 \item
-Add support for Java and COBOL.
+Add support for \addtoindex{Java} and \addtoindex{COBOL}.
 
 \item
-Add namespace support for C++.
+Add namespace support for \addtoindex{C++}.
 
 \item
 Add an optional section for global type names (similar to
 the global section for objects and functions).
 
 \item
-Adopt UTF-8 as the preferred representation of program name strings.
+Adopt \addtoindex{UTF-8} as the preferred representation of program name strings.
 \item
 Add improved support for optimized code (discontiguous
 scopes, end of prologue determination, multiple section
@@ -208,7 +217,9 @@ duplicate DWARF information during linking.
 
 \end{itemize}
 
-DWARF Version 3 is compatible with DWARF Version 2 except as follows:
+\addtoindex{DWARF Version 3}
+is compatible with 
+\addtoindex{DWARF Version 2} except as follows:
 
 \begin{itemize}
 \item
@@ -221,8 +232,9 @@ is defined to increase the possible size of DWARF descriptions
 \item
 References that use the attribute form \livelink{chap:DWFORMrefaddr}{DW\-\_FORM\-\_ref\-\_addr}
 are specified to be four bytes in the DWARF 32-bit format and
-eight bytes in the DWARF 64-bit format, while DWARF Version
-2 specifies that such references have the same size as an
+eight bytes in the DWARF 64-bit format, while 
+\addtoindex{DWARF Version 2} 
+specifies that such references have the same size as an
 address on the target system (see Sections 7.4 and 7.5.4).
 
 \item
@@ -234,9 +246,11 @@ LEB representation (see Section 6.4.1).
 
 
 \section[Changes Version1 to 2]{Changes from Version 1 to Version 2}
-DWARF Version 2 describes the second generation of debugging
-information based on the DWARF format. While DWARF Version
-2 provides new debugging information not available in
+\addtoindex{DWARF Version 2} 
+describes the second generation of debugging
+information based on the DWARF format. While 
+\addtoindex{DWARF Version 2}
+provides new debugging information not available in
 Version 1, the primary focus of the changes for Version
 2 is the representation of the information, rather than
 the information content itself. The basic structure of
@@ -257,11 +271,13 @@ Version 2 DWARF information is not binary compatible with
 Version 1 information. To make it easier for consumers to
 support both Version 1 and Version 2 DWARF information, the
 Version 2 information has been moved to a different object
-file section, .debug\_info.  
+file section, \addtoindex{.debug\_info}.  
 
 \textit{
-A summary of the major changes
-made in DWARF Version 2 compared to the DWARF Version 1 may
-be found in the DWARF Version 2 document
+A summary of the major changes made in 
+\addtoindex{DWARF Version 2}
+compared to the DWARF Version 1 may be found in the 
+\addtoindex{DWARF Version 2}
+document.
 }