This commit was manufactured by cvs2svn to create branch 'gdb_7_0-branch'.
[external/binutils.git] / bfd / doc / bfd.texinfo
index d2622e0..ce1c5af 100644 (file)
@@ -1,55 +1,42 @@
 \input texinfo.tex
 @setfilename bfd.info
-@c $Id$
-@tex
-% NOTE LOCAL KLUGE TO AVOID TOO MUCH WHITESPACE
-\global\long\def\example{%
-\begingroup
-\let\aboveenvbreak=\par
-\let\afterenvbreak=\par
-\parskip=0pt
-\lisp}
-\global\long\def\Eexample{%
-\Elisp
-\endgroup
-\vskip -\parskip% to cancel out effect of following \par
-}
-@end tex
+@c Copyright 1988, 1989, 1990, 1991, 1992, 1993, 1994, 1997, 2000,
+@c 2001, 2002, 2003, 2006, 2007, 2008, 2009
+@c Free Software Foundation, Inc.
+@c 
 @synindex fn cp
 
 @ifinfo
 @format
 START-INFO-DIR-ENTRY
-* Bfd::                         The Binary File Descriptor library.
+* Bfd: (bfd).                   The Binary File Descriptor library.
 END-INFO-DIR-ENTRY
 @end format
 @end ifinfo
 
-@ifinfo
+@copying
 This file documents the BFD library.
 
-Copyright (C) 1991 Free Software Foundation, Inc.
+Copyright @copyright{} 1991, 2000, 2001, 2003, 2006, 2007, 2008 Free Software Foundation, Inc.
 
-Permission is granted to make and distribute verbatim copies of
-this manual provided the copyright notice and this permission notice
-are preserved on all copies.
+Permission is granted to copy, distribute and/or modify this document
+under the terms of the GNU Free Documentation License, Version 1.3 or
+any later version published by the Free Software Foundation; with the
+Invariant Sections being ``GNU General Public License'' and ``Funding
+Free Software'', the Front-Cover texts being (a) (see below), and with
+the Back-Cover Texts being (b) (see below).  A copy of the license is
+included in the section entitled ``GNU Free Documentation License''.
 
-@ignore
-Permission is granted to process this file through Tex and print the
-results, provided the printed document carries copying permission
-notice identical to this one except for the removal of this paragraph
-(this paragraph not being relevant to the printed manual).
+(a) The FSF's Front-Cover Text is:
 
-@end ignore
-Permission is granted to copy and distribute modified versions of this
-manual under the conditions for verbatim copying, subject to the terms
-of the GNU General Public License, which includes the provision that the
-entire resulting derived work is distributed under the terms of a
-permission notice identical to this one.
-
-Permission is granted to copy and distribute translations of this manual
-into another language, under the above conditions for modified versions.
-@end ifinfo
+     A GNU Manual
+
+(b) The FSF's Back-Cover Text is:
+
+     You have freedom to copy and modify this GNU Manual, like GNU
+     software.  Copies published by the Free Software Foundation raise
+     funds for GNU development.
+@end copying
 @iftex
 @c@finalout
 @setchapternewpage on
@@ -59,18 +46,18 @@ into another language, under the above conditions for modified versions.
 @title{libbfd}
 @subtitle{The Binary File Descriptor Library}
 @sp 1
-@subtitle First Edition---BFD version < 3.0
-@subtitle April 1991
+@subtitle First Edition---BFD version < 3.0  % Since no product is stable before version 3.0 :-)
+@subtitle Original Document Created: April 1991
 @author {Steve Chamberlain}
 @author {Cygnus Support}
 @page
 
 @tex
 \def\$#1${{#1}}  % Kluge: collect RCS revision info without $...$
-\xdef\manvers{\$Revision$}  % For use in headers, footers too
+\xdef\manvers{1.5}  % For use in headers, footers too
 {\parskip=0pt
-\hfill Cygnus Support\par
-\hfill sac\@cygnus.com\par
+\hfill Free Software Foundation\par
+\hfill sac\@www.gnu.org\par
 \hfill {\it BFD}, \manvers\par
 \hfill \TeX{}info \texinfoversion\par
 }
@@ -78,22 +65,18 @@ into another language, under the above conditions for modified versions.
 @end tex
 
 @vskip 0pt plus 1filll
-Copyright @copyright{} 1991 Free Software Foundation, Inc.
+Copyright @copyright{} 1991, 2001, 2003, 2006, 2008 Free Software Foundation, Inc.
 
-Permission is granted to make and distribute verbatim copies of
-this manual provided the copyright notice and this permission notice
-are preserved on all copies.
+      Permission is granted to copy, distribute and/or modify this document
+      under the terms of the GNU Free Documentation License, Version 1.3
+      or any later version published by the Free Software Foundation;
+      with no Invariant Sections, with no Front-Cover Texts, and with no
+      Back-Cover Texts.  A copy of the license is included in the
+      section entitled ``GNU Free Documentation License''.
 
-Permission is granted to copy and distribute modified versions of this
-manual under the conditions for verbatim copying, subject to the terms
-of the GNU General Public License, which includes the provision that the
-entire resulting derived work is distributed under the terms of a
-permission notice identical to this one.
-
-Permission is granted to copy and distribute translations of this manual
-into another language, under the above conditions for modified versions.
 @end titlepage
 @end iftex
+@contents
 
 @node Top, Overview, (dir), (dir)
 @ifinfo
@@ -103,8 +86,9 @@ This file documents the binary file descriptor library libbfd.
 @menu
 * Overview::                   Overview of BFD
 * BFD front end::              BFD front end
-* BFD back end::               BFD back end
-* Index::                      Index
+* BFD back ends::              BFD back ends
+* GNU Free Documentation License::  GNU Free Documentation License
+* BFD Index::          BFD Index
 @end menu
 
 @node Overview, BFD front end, Top, Top
@@ -164,7 +148,7 @@ To use the library, include @file{bfd.h} and link with @file{libbfd.a}.
 BFD provides a common interface to the parts of an object file
 for a calling application. 
 
-When an application sucessfully opens a target file (object, archive, or
+When an application successfully opens a target file (object, archive, or
 whatever), a pointer to an internal structure is returned. This pointer
 points to a structure called @code{bfd}, described in
 @file{bfd.h}.  Our convention is to call this pointer a BFD, and
@@ -177,17 +161,17 @@ For example, this sequence does what you would probably expect:
 return the number of sections in an object file attached to a BFD
 @code{abfd}. 
 
-@lisp
+@example
 @c @cartouche
 #include "bfd.h"
 
-unsigned int number_of_sections(abfd)
+unsigned int number_of_sections (abfd)
 bfd *abfd;
 @{
-  return bfd_count_sections(abfd);
+  return bfd_count_sections (abfd);
 @}
 @c @end cartouche
-@end lisp
+@end example
 
 The abstraction used within BFD is that an object file has:
 
@@ -211,9 +195,10 @@ IEEE-695.
 @section What BFD Version 2 Can Do
 @include bfdsumm.texi
 
-@node BFD front end, BFD back end, Overview, Top
-@chapter BFD front end
-@include bfd.texi
+@node BFD front end, BFD back ends, Overview, Top
+@chapter BFD Front End
+@include bfdt.texi
+@include bfdio.texi
 
 @menu
 * Memory Usage::
@@ -227,26 +212,27 @@ IEEE-695.
 * Targets::
 * Architectures::
 * Opening and Closing::
-* Constructors::
 * Internal::
 * File Caching::
+* Linker Functions::
+* Hash Tables::
 @end menu
 
 @node Memory Usage, Initialization, BFD front end, BFD front end
 @section Memory Usage
-BFD keeps all its internal structures in obstacks. There is one obstack
+BFD keeps all of its internal structures in obstacks. There is one obstack
 per open BFD file, into which the current state is stored. When a BFD is
 closed, the obstack is deleted, and so everything which has been
-allocated by @code{libbfd} for the closing file will be thrown away.
+allocated by BFD for the closing file is thrown away.
 
-BFD will not free anything created by an application, but pointers into
-@code{bfd} structures will be invalidated on a @code{bfd_close}; for example,
+BFD does not free anything created by an application, but pointers into
+@code{bfd} structures become invalid on a @code{bfd_close}; for example,
 after a @code{bfd_close} the vector passed to
-@code{bfd_canonicalize_symtab} will still be around, since it has been
-allocated by the application, but the data that it pointed to will be
+@code{bfd_canonicalize_symtab} is still around, since it has been
+allocated by the application, but the data that it pointed to are
 lost.
 
-The general rule is not to close a BFD until all operations dependent
+The general rule is to not close a BFD until all operations dependent
 upon data from the BFD have been completed, or all the data from within
 the file has been copied. To help with the management of memory, there
 is a function (@code{bfd_alloc_size}) which returns the number of bytes
@@ -282,46 +268,58 @@ structures.
 @node Architectures, Opening and Closing, Targets, BFD front end
 @include  archures.texi
 
-@node Opening and Closing, Constructors, Architectures, BFD front end
+@node Opening and Closing, Internal, Architectures, BFD front end
 @include  opncls.texi
 
-@node Constructors, Internal, Opening and Closing, BFD front end
-@include  ctor.texi
-
-@node Internal, File Caching, Constructors, BFD front end
+@node Internal, File Caching, Opening and Closing, BFD front end
 @include  libbfd.texi
 
-@node File Caching,  , Internal, BFD front end
+@node File Caching, Linker Functions, Internal, BFD front end
 @include  cache.texi
 
-@node BFD back end, Index, BFD front end, Top
-@chapter BFD back end
+@node Linker Functions, Hash Tables, File Caching, BFD front end
+@include  linker.texi
+
+@node Hash Tables, , Linker Functions, BFD front end
+@include  hash.texi
+
+@node BFD back ends, GNU Free Documentation License, BFD front end, Top
+@chapter BFD back ends
 @menu
 * What to Put Where::
 * aout ::      a.out backends
 * coff ::      coff backends
 * elf  ::      elf backends
+* mmo  ::      mmo backend
 @ignore
 * oasys ::     oasys backends
 * ieee ::      ieee backend
 * srecord ::   s-record backend
 @end ignore
 @end menu
-@node What to Put Where, aout, BFD back end, BFD back end
+@node What to Put Where, aout, BFD back ends, BFD back ends
+@section What to Put Where
 All of BFD lives in one directory.
 
-@node aout, coff, What to Put Where, BFD back end
+@node aout, coff, What to Put Where, BFD back ends
 @include  aoutx.texi
 
-@node coff, elf, aout, BFD back end
+@node coff, elf, aout, BFD back ends
 @include  coffcode.texi
 
-@node elf,  , coff, BFD back end
+@node elf, mmo, coff, BFD back ends
 @include  elf.texi
-@include  elfcode.texi
+@c Leave this out until the file has some actual contents...
+@c @include  elfcode.texi
+
+@node mmo,  , elf, BFD back ends
+@include  mmo.texi
 
-@node Index,  , BFD back end, Top
-@unnumbered Index
+@node GNU Free Documentation License, BFD Index, BFD back ends, Top
+@include fdl.texi
+
+@node BFD Index,  , GNU Free Documentation License, Top
+@unnumbered BFD Index
 @printindex cp
 
 @tex
@@ -336,8 +334,7 @@ All of BFD lives in one directory.
 \centerline{{\sl\fontname\tensl\/}}
 \centerline{are used for emphasis.}\vfill}
 \page\colophon
-% Blame: pesch@cygnus.com, 28mar91.
+% Blame: doc@cygnus.com, 28mar91.
 @end tex
 
-@contents
 @bye