bfd.texinfo revision 89857
133965Sjdp\input texinfo.tex
233965Sjdp@setfilename bfd.info
378828Sobrien@c Copyright 1988, 1989, 1990, 1991, 1992, 1993, 1994, 1997, 2000
478828Sobrien@c Free Software Foundation, Inc.
578828Sobrien@c 
633965Sjdp@tex
733965Sjdp% NOTE LOCAL KLUGE TO AVOID TOO MUCH WHITESPACE
833965Sjdp\global\long\def\example{%
933965Sjdp\begingroup
1033965Sjdp\let\aboveenvbreak=\par
1133965Sjdp\let\afterenvbreak=\par
1233965Sjdp\parskip=0pt
1333965Sjdp\lisp}
1433965Sjdp\global\long\def\Eexample{%
1533965Sjdp\Elisp
1633965Sjdp\endgroup
1733965Sjdp\vskip -\parskip% to cancel out effect of following \par
1833965Sjdp}
1933965Sjdp@end tex
2033965Sjdp@synindex fn cp
2133965Sjdp
2233965Sjdp@ifinfo
2333965Sjdp@format
2433965SjdpSTART-INFO-DIR-ENTRY
2533965Sjdp* Bfd: (bfd).                   The Binary File Descriptor library.
2633965SjdpEND-INFO-DIR-ENTRY
2733965Sjdp@end format
2833965Sjdp@end ifinfo
2933965Sjdp
3033965Sjdp@ifinfo
3133965SjdpThis file documents the BFD library.
3233965Sjdp
3389857SobrienCopyright (C) 1991, 2000, 2001 Free Software Foundation, Inc.
3433965Sjdp
3577298Sobrien      Permission is granted to copy, distribute and/or modify this document
3677298Sobrien      under the terms of the GNU Free Documentation License, Version 1.1
3777298Sobrien      or any later version published by the Free Software Foundation;
3877298Sobrien      with no Invariant Sections, with no Front-Cover Texts, and with no
3977298Sobrien      Back-Cover Texts.  A copy of the license is included in the
4077298Sobrien      section entitled "GNU Free Documentation License".
4133965Sjdp
4233965Sjdp@ignore
4333965SjdpPermission is granted to process this file through Tex and print the
4433965Sjdpresults, provided the printed document carries copying permission
4533965Sjdpnotice identical to this one except for the removal of this paragraph
4633965Sjdp(this paragraph not being relevant to the printed manual).
4733965Sjdp
4833965Sjdp@end ignore
4933965Sjdp@end ifinfo
5033965Sjdp@iftex
5133965Sjdp@c@finalout
5233965Sjdp@setchapternewpage on
5333965Sjdp@c@setchapternewpage odd
5433965Sjdp@settitle LIB BFD, the Binary File Descriptor Library
5533965Sjdp@titlepage
5633965Sjdp@title{libbfd}
5733965Sjdp@subtitle{The Binary File Descriptor Library}
5833965Sjdp@sp 1
5989857Sobrien@subtitle First Edition---BFD version < 3.0  % Since no product is stable berfore version 3.0 :-)
6089857Sobrien@subtitle Original Document Created: April 1991
6133965Sjdp@author {Steve Chamberlain}
6233965Sjdp@author {Cygnus Support}
6333965Sjdp@page
6433965Sjdp
6533965Sjdp@tex
6633965Sjdp\def\$#1${{#1}}  % Kluge: collect RCS revision info without $...$
6789857Sobrien\xdef\manvers{\$Revision: 1.5 $}  % For use in headers, footers too
6833965Sjdp{\parskip=0pt
6989857Sobrien\hfill Free Software Foundation\par
7089857Sobrien\hfill sac\@www.gnu.org\par
7133965Sjdp\hfill {\it BFD}, \manvers\par
7233965Sjdp\hfill \TeX{}info \texinfoversion\par
7333965Sjdp}
7433965Sjdp\global\parindent=0pt % Steve likes it this way
7533965Sjdp@end tex
7633965Sjdp
7733965Sjdp@vskip 0pt plus 1filll
7889857SobrienCopyright @copyright{} 1991, 2001 Free Software Foundation, Inc.
7933965Sjdp
8077298Sobrien      Permission is granted to copy, distribute and/or modify this document
8177298Sobrien      under the terms of the GNU Free Documentation License, Version 1.1
8277298Sobrien      or any later version published by the Free Software Foundation;
8377298Sobrien      with no Invariant Sections, with no Front-Cover Texts, and with no
8477298Sobrien      Back-Cover Texts.  A copy of the license is included in the
8577298Sobrien      section entitled "GNU Free Documentation License".
8633965Sjdp
8733965Sjdp@end titlepage
8833965Sjdp@end iftex
8933965Sjdp
9033965Sjdp@node Top, Overview, (dir), (dir)
9133965Sjdp@ifinfo
9233965SjdpThis file documents the binary file descriptor library libbfd.
9333965Sjdp@end ifinfo
9433965Sjdp
9533965Sjdp@menu
9633965Sjdp* Overview::			Overview of BFD
9733965Sjdp* BFD front end::		BFD front end
9833965Sjdp* BFD back ends::		BFD back ends
9977298Sobrien* GNU Free Documentation License::  GNU Free Documentation License
10033965Sjdp* Index::			Index
10133965Sjdp@end menu
10233965Sjdp
10333965Sjdp@node Overview, BFD front end, Top, Top
10433965Sjdp@chapter Introduction
10533965Sjdp@cindex BFD
10633965Sjdp@cindex what is it?
10733965SjdpBFD is a package which allows applications to use the
10833965Sjdpsame routines to operate on object files whatever the object file
10933965Sjdpformat.  A new object file format can be supported simply by
11033965Sjdpcreating a new BFD back end and adding it to the library.
11133965Sjdp
11233965SjdpBFD is split into two parts: the front end, and the back ends (one for
11333965Sjdpeach object file format).
11433965Sjdp@itemize @bullet
11533965Sjdp@item The front end of BFD provides the interface to the user. It manages
11633965Sjdpmemory and various canonical data structures. The front end also
11733965Sjdpdecides which back end to use and when to call back end routines.
11833965Sjdp@item The back ends provide BFD its view of the real world. Each back
11933965Sjdpend provides a set of calls which the BFD front end can use to maintain
12033965Sjdpits canonical form. The back ends also may keep around information for
12133965Sjdptheir own use, for greater efficiency.
12233965Sjdp@end itemize
12333965Sjdp@menu
12433965Sjdp* History::			History
12533965Sjdp* How It Works::		How It Works
12633965Sjdp* What BFD Version 2 Can Do::	What BFD Version 2 Can Do
12733965Sjdp@end menu
12833965Sjdp
12933965Sjdp@node History, How It Works, Overview, Overview
13033965Sjdp@section History
13133965Sjdp
13233965SjdpOne spur behind BFD was the desire, on the part of the GNU 960 team at
13333965SjdpIntel Oregon, for interoperability of applications on their COFF and
13433965Sjdpb.out file formats.  Cygnus was providing GNU support for the team, and
13533965Sjdpwas contracted to provide the required functionality.
13633965Sjdp
13733965SjdpThe name came from a conversation David Wallace was having with Richard
13833965SjdpStallman about the library: RMS said that it would be quite hard---David
13933965Sjdpsaid ``BFD''.  Stallman was right, but the name stuck.
14033965Sjdp
14133965SjdpAt the same time, Ready Systems wanted much the same thing, but for
14233965Sjdpdifferent object file formats: IEEE-695, Oasys, Srecords, a.out and 68k
14333965Sjdpcoff.
14433965Sjdp
14533965SjdpBFD was first implemented by members of Cygnus Support; Steve
14633965SjdpChamberlain (@code{sac@@cygnus.com}), John Gilmore
14733965Sjdp(@code{gnu@@cygnus.com}), K.  Richard Pixley (@code{rich@@cygnus.com})
14833965Sjdpand David Henkel-Wallace (@code{gumby@@cygnus.com}).
14933965Sjdp
15033965Sjdp
15133965Sjdp
15233965Sjdp@node How It Works, What BFD Version 2 Can Do, History, Overview
15333965Sjdp@section How To Use BFD
15433965Sjdp
15533965SjdpTo use the library, include @file{bfd.h} and link with @file{libbfd.a}.	
15633965Sjdp
15733965SjdpBFD provides a common interface to the parts of an object file
15833965Sjdpfor a calling application. 
15933965Sjdp
16033965SjdpWhen an application sucessfully opens a target file (object, archive, or
16133965Sjdpwhatever), a pointer to an internal structure is returned. This pointer
16233965Sjdppoints to a structure called @code{bfd}, described in
16333965Sjdp@file{bfd.h}.  Our convention is to call this pointer a BFD, and
16433965Sjdpinstances of it within code @code{abfd}.  All operations on
16533965Sjdpthe target object file are applied as methods to the BFD.  The mapping is
16633965Sjdpdefined within @code{bfd.h} in a set of macros, all beginning
16733965Sjdpwith @samp{bfd_} to reduce namespace pollution.
16833965Sjdp
16933965SjdpFor example, this sequence does what you would probably expect:
17033965Sjdpreturn the number of sections in an object file attached to a BFD
17133965Sjdp@code{abfd}. 
17233965Sjdp
17333965Sjdp@lisp
17433965Sjdp@c @cartouche
17533965Sjdp#include "bfd.h"
17633965Sjdp
17733965Sjdpunsigned int number_of_sections(abfd)
17833965Sjdpbfd *abfd;
17933965Sjdp@{
18033965Sjdp  return bfd_count_sections(abfd);
18133965Sjdp@}
18233965Sjdp@c @end cartouche
18333965Sjdp@end lisp
18433965Sjdp
18533965SjdpThe abstraction used within BFD is that an object file has:
18633965Sjdp
18733965Sjdp@itemize @bullet
18833965Sjdp@item
18933965Sjdpa header,
19033965Sjdp@item
19133965Sjdpa number of sections containing raw data (@pxref{Sections}),
19233965Sjdp@item
19333965Sjdpa set of relocations (@pxref{Relocations}), and
19433965Sjdp@item
19533965Sjdpsome symbol information (@pxref{Symbols}).
19633965Sjdp@end itemize
19733965Sjdp@noindent
19833965SjdpAlso, BFDs opened for archives have the additional attribute of an index
19933965Sjdpand contain subordinate BFDs. This approach is fine for a.out and coff,
20033965Sjdpbut loses efficiency when applied to formats such as S-records and
20133965SjdpIEEE-695.
20233965Sjdp
20333965Sjdp@node What BFD Version 2 Can Do,  , How It Works, Overview
20433965Sjdp@section What BFD Version 2 Can Do
20533965Sjdp@include bfdsumm.texi
20633965Sjdp
20733965Sjdp@node BFD front end, BFD back ends, Overview, Top
20833965Sjdp@chapter BFD front end
20938889Sjdp@include bfdt.texi
21033965Sjdp
21133965Sjdp@menu
21233965Sjdp* Memory Usage::
21333965Sjdp* Initialization::
21433965Sjdp* Sections::
21533965Sjdp* Symbols::
21633965Sjdp* Archives::
21733965Sjdp* Formats::
21833965Sjdp* Relocations::
21933965Sjdp* Core Files::
22033965Sjdp* Targets::
22133965Sjdp* Architectures::
22233965Sjdp* Opening and Closing::
22333965Sjdp* Internal::
22433965Sjdp* File Caching::
22533965Sjdp* Linker Functions::
22633965Sjdp* Hash Tables::
22733965Sjdp@end menu
22833965Sjdp
22933965Sjdp@node Memory Usage, Initialization, BFD front end, BFD front end
23033965Sjdp@section Memory usage
23133965SjdpBFD keeps all of its internal structures in obstacks. There is one obstack
23233965Sjdpper open BFD file, into which the current state is stored. When a BFD is
23333965Sjdpclosed, the obstack is deleted, and so everything which has been
23433965Sjdpallocated by BFD for the closing file is thrown away.
23533965Sjdp
23633965SjdpBFD does not free anything created by an application, but pointers into
23733965Sjdp@code{bfd} structures become invalid on a @code{bfd_close}; for example,
23833965Sjdpafter a @code{bfd_close} the vector passed to
23933965Sjdp@code{bfd_canonicalize_symtab} is still around, since it has been
24033965Sjdpallocated by the application, but the data that it pointed to are
24133965Sjdplost.
24233965Sjdp
24333965SjdpThe general rule is to not close a BFD until all operations dependent
24433965Sjdpupon data from the BFD have been completed, or all the data from within
24533965Sjdpthe file has been copied. To help with the management of memory, there
24633965Sjdpis a function (@code{bfd_alloc_size}) which returns the number of bytes
24733965Sjdpin obstacks associated with the supplied BFD. This could be used to
24833965Sjdpselect the greediest open BFD, close it to reclaim the memory, perform
24933965Sjdpsome operation and reopen the BFD again, to get a fresh copy of the data
25033965Sjdpstructures.
25133965Sjdp
25233965Sjdp@node Initialization, Sections, Memory Usage, BFD front end
25333965Sjdp@include  init.texi
25433965Sjdp
25533965Sjdp@node Sections, Symbols, Initialization, BFD front end
25633965Sjdp@include  section.texi
25733965Sjdp
25833965Sjdp@node Symbols, Archives, Sections, BFD front end
25933965Sjdp@include  syms.texi
26033965Sjdp
26133965Sjdp@node Archives, Formats, Symbols, BFD front end
26233965Sjdp@include  archive.texi
26333965Sjdp
26433965Sjdp@node Formats, Relocations, Archives, BFD front end
26533965Sjdp@include  format.texi
26633965Sjdp
26733965Sjdp@node Relocations, Core Files, Formats, BFD front end
26833965Sjdp@include  reloc.texi
26933965Sjdp
27033965Sjdp@node Core Files, Targets, Relocations, BFD front end
27133965Sjdp@include  core.texi
27233965Sjdp
27333965Sjdp@node Targets, Architectures, Core Files, BFD front end
27433965Sjdp@include  targets.texi
27533965Sjdp
27633965Sjdp@node Architectures, Opening and Closing, Targets, BFD front end
27733965Sjdp@include  archures.texi
27833965Sjdp
27933965Sjdp@node Opening and Closing, Internal, Architectures, BFD front end
28033965Sjdp@include  opncls.texi
28133965Sjdp
28233965Sjdp@node Internal, File Caching, Opening and Closing, BFD front end
28333965Sjdp@include  libbfd.texi
28433965Sjdp
28533965Sjdp@node File Caching, Linker Functions, Internal, BFD front end
28633965Sjdp@include  cache.texi
28733965Sjdp
28833965Sjdp@node Linker Functions, Hash Tables, File Caching, BFD front end
28933965Sjdp@include  linker.texi
29033965Sjdp
29133965Sjdp@node Hash Tables, , Linker Functions, BFD front end
29233965Sjdp@include  hash.texi
29333965Sjdp
29477298Sobrien@node BFD back ends, GNU Free Documentation License, BFD front end, Top
29533965Sjdp@chapter BFD back ends
29633965Sjdp@menu
29733965Sjdp* What to Put Where::
29833965Sjdp* aout ::	a.out backends
29933965Sjdp* coff ::	coff backends
30033965Sjdp* elf  ::	elf backends
30189857Sobrien* mmo  ::	mmo backend
30233965Sjdp@ignore
30333965Sjdp* oasys ::	oasys backends
30433965Sjdp* ieee ::	ieee backend
30533965Sjdp* srecord ::	s-record backend
30633965Sjdp@end ignore
30733965Sjdp@end menu
30833965Sjdp@node What to Put Where, aout, BFD back ends, BFD back ends
30933965SjdpAll of BFD lives in one directory.
31033965Sjdp
31133965Sjdp@node aout, coff, What to Put Where, BFD back ends
31233965Sjdp@include  aoutx.texi
31333965Sjdp
31433965Sjdp@node coff, elf, aout, BFD back ends
31533965Sjdp@include  coffcode.texi
31633965Sjdp
31789857Sobrien@node elf, mmo, coff, BFD back ends
31833965Sjdp@include  elf.texi
31933965Sjdp@c Leave this out until the file has some actual contents...
32033965Sjdp@c @include  elfcode.texi
32133965Sjdp
32289857Sobrien@node mmo,  , elf, BFD back ends
32389857Sobrien@include  mmo.texi
32489857Sobrien
32577298Sobrien@node GNU Free Documentation License, Index, BFD back ends, Top
32677298Sobrien@chapter GNU Free Documentation License
32777298Sobrien@cindex GNU Free Documentation License
32877298Sobrien
32977298Sobrien                GNU Free Documentation License
33077298Sobrien                
33177298Sobrien                   Version 1.1, March 2000
33277298Sobrien
33377298Sobrien Copyright (C) 2000  Free Software Foundation, Inc.
33477298Sobrien  59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
33577298Sobrien     
33677298Sobrien Everyone is permitted to copy and distribute verbatim copies
33777298Sobrien of this license document, but changing it is not allowed.
33877298Sobrien
33977298Sobrien
34077298Sobrien0. PREAMBLE
34177298Sobrien
34277298SobrienThe purpose of this License is to make a manual, textbook, or other
34377298Sobrienwritten document "free" in the sense of freedom: to assure everyone
34477298Sobrienthe effective freedom to copy and redistribute it, with or without
34577298Sobrienmodifying it, either commercially or noncommercially.  Secondarily,
34677298Sobrienthis License preserves for the author and publisher a way to get
34777298Sobriencredit for their work, while not being considered responsible for
34877298Sobrienmodifications made by others.
34977298Sobrien
35077298SobrienThis License is a kind of "copyleft", which means that derivative
35177298Sobrienworks of the document must themselves be free in the same sense.  It
35277298Sobriencomplements the GNU General Public License, which is a copyleft
35377298Sobrienlicense designed for free software.
35477298Sobrien
35577298SobrienWe have designed this License in order to use it for manuals for free
35677298Sobriensoftware, because free software needs free documentation: a free
35777298Sobrienprogram should come with manuals providing the same freedoms that the
35877298Sobriensoftware does.  But this License is not limited to software manuals;
35977298Sobrienit can be used for any textual work, regardless of subject matter or
36077298Sobrienwhether it is published as a printed book.  We recommend this License
36177298Sobrienprincipally for works whose purpose is instruction or reference.
36277298Sobrien
36377298Sobrien
36477298Sobrien1. APPLICABILITY AND DEFINITIONS
36577298Sobrien
36677298SobrienThis License applies to any manual or other work that contains a
36777298Sobriennotice placed by the copyright holder saying it can be distributed
36877298Sobrienunder the terms of this License.  The "Document", below, refers to any
36977298Sobriensuch manual or work.  Any member of the public is a licensee, and is
37077298Sobrienaddressed as "you".
37177298Sobrien
37277298SobrienA "Modified Version" of the Document means any work containing the
37377298SobrienDocument or a portion of it, either copied verbatim, or with
37477298Sobrienmodifications and/or translated into another language.
37577298Sobrien
37677298SobrienA "Secondary Section" is a named appendix or a front-matter section of
37777298Sobrienthe Document that deals exclusively with the relationship of the
37877298Sobrienpublishers or authors of the Document to the Document's overall subject
37977298Sobrien(or to related matters) and contains nothing that could fall directly
38077298Sobrienwithin that overall subject.  (For example, if the Document is in part a
38177298Sobrientextbook of mathematics, a Secondary Section may not explain any
38277298Sobrienmathematics.)  The relationship could be a matter of historical
38377298Sobrienconnection with the subject or with related matters, or of legal,
38477298Sobriencommercial, philosophical, ethical or political position regarding
38577298Sobrienthem.
38677298Sobrien
38777298SobrienThe "Invariant Sections" are certain Secondary Sections whose titles
38877298Sobrienare designated, as being those of Invariant Sections, in the notice
38977298Sobrienthat says that the Document is released under this License.
39077298Sobrien
39177298SobrienThe "Cover Texts" are certain short passages of text that are listed,
39277298Sobrienas Front-Cover Texts or Back-Cover Texts, in the notice that says that
39377298Sobrienthe Document is released under this License.
39477298Sobrien
39577298SobrienA "Transparent" copy of the Document means a machine-readable copy,
39677298Sobrienrepresented in a format whose specification is available to the
39777298Sobriengeneral public, whose contents can be viewed and edited directly and
39877298Sobrienstraightforwardly with generic text editors or (for images composed of
39977298Sobrienpixels) generic paint programs or (for drawings) some widely available
40077298Sobriendrawing editor, and that is suitable for input to text formatters or
40177298Sobrienfor automatic translation to a variety of formats suitable for input
40277298Sobriento text formatters.  A copy made in an otherwise Transparent file
40377298Sobrienformat whose markup has been designed to thwart or discourage
40477298Sobriensubsequent modification by readers is not Transparent.  A copy that is
40577298Sobriennot "Transparent" is called "Opaque".
40677298Sobrien
40777298SobrienExamples of suitable formats for Transparent copies include plain
40877298SobrienASCII without markup, Texinfo input format, LaTeX input format, SGML
40977298Sobrienor XML using a publicly available DTD, and standard-conforming simple
41077298SobrienHTML designed for human modification.  Opaque formats include
41177298SobrienPostScript, PDF, proprietary formats that can be read and edited only
41277298Sobrienby proprietary word processors, SGML or XML for which the DTD and/or
41377298Sobrienprocessing tools are not generally available, and the
41477298Sobrienmachine-generated HTML produced by some word processors for output
41577298Sobrienpurposes only.
41677298Sobrien
41777298SobrienThe "Title Page" means, for a printed book, the title page itself,
41877298Sobrienplus such following pages as are needed to hold, legibly, the material
41977298Sobrienthis License requires to appear in the title page.  For works in
42077298Sobrienformats which do not have any title page as such, "Title Page" means
42177298Sobrienthe text near the most prominent appearance of the work's title,
42277298Sobrienpreceding the beginning of the body of the text.
42377298Sobrien
42477298Sobrien
42577298Sobrien2. VERBATIM COPYING
42677298Sobrien
42777298SobrienYou may copy and distribute the Document in any medium, either
42877298Sobriencommercially or noncommercially, provided that this License, the
42977298Sobriencopyright notices, and the license notice saying this License applies
43077298Sobriento the Document are reproduced in all copies, and that you add no other
43177298Sobrienconditions whatsoever to those of this License.  You may not use
43277298Sobrientechnical measures to obstruct or control the reading or further
43377298Sobriencopying of the copies you make or distribute.  However, you may accept
43477298Sobriencompensation in exchange for copies.  If you distribute a large enough
43577298Sobriennumber of copies you must also follow the conditions in section 3.
43677298Sobrien
43777298SobrienYou may also lend copies, under the same conditions stated above, and
43877298Sobrienyou may publicly display copies.
43977298Sobrien
44077298Sobrien
44177298Sobrien3. COPYING IN QUANTITY
44277298Sobrien
44377298SobrienIf you publish printed copies of the Document numbering more than 100,
44477298Sobrienand the Document's license notice requires Cover Texts, you must enclose
44577298Sobrienthe copies in covers that carry, clearly and legibly, all these Cover
44677298SobrienTexts: Front-Cover Texts on the front cover, and Back-Cover Texts on
44777298Sobrienthe back cover.  Both covers must also clearly and legibly identify
44877298Sobrienyou as the publisher of these copies.  The front cover must present
44977298Sobrienthe full title with all words of the title equally prominent and
45077298Sobrienvisible.  You may add other material on the covers in addition.
45177298SobrienCopying with changes limited to the covers, as long as they preserve
45277298Sobrienthe title of the Document and satisfy these conditions, can be treated
45377298Sobrienas verbatim copying in other respects.
45477298Sobrien
45577298SobrienIf the required texts for either cover are too voluminous to fit
45677298Sobrienlegibly, you should put the first ones listed (as many as fit
45777298Sobrienreasonably) on the actual cover, and continue the rest onto adjacent
45877298Sobrienpages.
45977298Sobrien
46077298SobrienIf you publish or distribute Opaque copies of the Document numbering
46177298Sobrienmore than 100, you must either include a machine-readable Transparent
46277298Sobriencopy along with each Opaque copy, or state in or with each Opaque copy
46377298Sobriena publicly-accessible computer-network location containing a complete
46477298SobrienTransparent copy of the Document, free of added material, which the
46577298Sobriengeneral network-using public has access to download anonymously at no
46677298Sobriencharge using public-standard network protocols.  If you use the latter
46777298Sobrienoption, you must take reasonably prudent steps, when you begin
46877298Sobriendistribution of Opaque copies in quantity, to ensure that this
46977298SobrienTransparent copy will remain thus accessible at the stated location
47077298Sobrienuntil at least one year after the last time you distribute an Opaque
47177298Sobriencopy (directly or through your agents or retailers) of that edition to
47277298Sobrienthe public.
47377298Sobrien
47477298SobrienIt is requested, but not required, that you contact the authors of the
47577298SobrienDocument well before redistributing any large number of copies, to give
47677298Sobrienthem a chance to provide you with an updated version of the Document.
47777298Sobrien
47877298Sobrien
47977298Sobrien4. MODIFICATIONS
48077298Sobrien
48177298SobrienYou may copy and distribute a Modified Version of the Document under
48277298Sobrienthe conditions of sections 2 and 3 above, provided that you release
48377298Sobrienthe Modified Version under precisely this License, with the Modified
48477298SobrienVersion filling the role of the Document, thus licensing distribution
48577298Sobrienand modification of the Modified Version to whoever possesses a copy
48677298Sobrienof it.  In addition, you must do these things in the Modified Version:
48777298Sobrien
48877298SobrienA. Use in the Title Page (and on the covers, if any) a title distinct
48977298Sobrien   from that of the Document, and from those of previous versions
49077298Sobrien   (which should, if there were any, be listed in the History section
49177298Sobrien   of the Document).  You may use the same title as a previous version
49277298Sobrien   if the original publisher of that version gives permission.
49377298SobrienB. List on the Title Page, as authors, one or more persons or entities
49477298Sobrien   responsible for authorship of the modifications in the Modified
49577298Sobrien   Version, together with at least five of the principal authors of the
49677298Sobrien   Document (all of its principal authors, if it has less than five).
49777298SobrienC. State on the Title page the name of the publisher of the
49877298Sobrien   Modified Version, as the publisher.
49977298SobrienD. Preserve all the copyright notices of the Document.
50077298SobrienE. Add an appropriate copyright notice for your modifications
50177298Sobrien   adjacent to the other copyright notices.
50277298SobrienF. Include, immediately after the copyright notices, a license notice
50377298Sobrien   giving the public permission to use the Modified Version under the
50477298Sobrien   terms of this License, in the form shown in the Addendum below.
50577298SobrienG. Preserve in that license notice the full lists of Invariant Sections
50677298Sobrien   and required Cover Texts given in the Document's license notice.
50777298SobrienH. Include an unaltered copy of this License.
50877298SobrienI. Preserve the section entitled "History", and its title, and add to
50977298Sobrien   it an item stating at least the title, year, new authors, and
51077298Sobrien   publisher of the Modified Version as given on the Title Page.  If
51177298Sobrien   there is no section entitled "History" in the Document, create one
51277298Sobrien   stating the title, year, authors, and publisher of the Document as
51377298Sobrien   given on its Title Page, then add an item describing the Modified
51477298Sobrien   Version as stated in the previous sentence.
51577298SobrienJ. Preserve the network location, if any, given in the Document for
51677298Sobrien   public access to a Transparent copy of the Document, and likewise
51777298Sobrien   the network locations given in the Document for previous versions
51877298Sobrien   it was based on.  These may be placed in the "History" section.
51977298Sobrien   You may omit a network location for a work that was published at
52077298Sobrien   least four years before the Document itself, or if the original
52177298Sobrien   publisher of the version it refers to gives permission.
52277298SobrienK. In any section entitled "Acknowledgements" or "Dedications",
52377298Sobrien   preserve the section's title, and preserve in the section all the
52477298Sobrien   substance and tone of each of the contributor acknowledgements
52577298Sobrien   and/or dedications given therein.
52677298SobrienL. Preserve all the Invariant Sections of the Document,
52777298Sobrien   unaltered in their text and in their titles.  Section numbers
52877298Sobrien   or the equivalent are not considered part of the section titles.
52977298SobrienM. Delete any section entitled "Endorsements".  Such a section
53077298Sobrien   may not be included in the Modified Version.
53177298SobrienN. Do not retitle any existing section as "Endorsements"
53277298Sobrien   or to conflict in title with any Invariant Section.
53377298Sobrien
53477298SobrienIf the Modified Version includes new front-matter sections or
53577298Sobrienappendices that qualify as Secondary Sections and contain no material
53677298Sobriencopied from the Document, you may at your option designate some or all
53777298Sobrienof these sections as invariant.  To do this, add their titles to the
53877298Sobrienlist of Invariant Sections in the Modified Version's license notice.
53977298SobrienThese titles must be distinct from any other section titles.
54077298Sobrien
54177298SobrienYou may add a section entitled "Endorsements", provided it contains
54277298Sobriennothing but endorsements of your Modified Version by various
54377298Sobrienparties--for example, statements of peer review or that the text has
54477298Sobrienbeen approved by an organization as the authoritative definition of a
54577298Sobrienstandard.
54677298Sobrien
54777298SobrienYou may add a passage of up to five words as a Front-Cover Text, and a
54877298Sobrienpassage of up to 25 words as a Back-Cover Text, to the end of the list
54977298Sobrienof Cover Texts in the Modified Version.  Only one passage of
55077298SobrienFront-Cover Text and one of Back-Cover Text may be added by (or
55177298Sobrienthrough arrangements made by) any one entity.  If the Document already
55277298Sobrienincludes a cover text for the same cover, previously added by you or
55377298Sobrienby arrangement made by the same entity you are acting on behalf of,
55477298Sobrienyou may not add another; but you may replace the old one, on explicit
55577298Sobrienpermission from the previous publisher that added the old one.
55677298Sobrien
55777298SobrienThe author(s) and publisher(s) of the Document do not by this License
55877298Sobriengive permission to use their names for publicity for or to assert or
55977298Sobrienimply endorsement of any Modified Version.
56077298Sobrien
56177298Sobrien
56277298Sobrien5. COMBINING DOCUMENTS
56377298Sobrien
56477298SobrienYou may combine the Document with other documents released under this
56577298SobrienLicense, under the terms defined in section 4 above for modified
56677298Sobrienversions, provided that you include in the combination all of the
56777298SobrienInvariant Sections of all of the original documents, unmodified, and
56877298Sobrienlist them all as Invariant Sections of your combined work in its
56977298Sobrienlicense notice.
57077298Sobrien
57177298SobrienThe combined work need only contain one copy of this License, and
57277298Sobrienmultiple identical Invariant Sections may be replaced with a single
57377298Sobriencopy.  If there are multiple Invariant Sections with the same name but
57477298Sobriendifferent contents, make the title of each such section unique by
57577298Sobrienadding at the end of it, in parentheses, the name of the original
57677298Sobrienauthor or publisher of that section if known, or else a unique number.
57777298SobrienMake the same adjustment to the section titles in the list of
57877298SobrienInvariant Sections in the license notice of the combined work.
57977298Sobrien
58077298SobrienIn the combination, you must combine any sections entitled "History"
58177298Sobrienin the various original documents, forming one section entitled
58277298Sobrien"History"; likewise combine any sections entitled "Acknowledgements",
58377298Sobrienand any sections entitled "Dedications".  You must delete all sections
58477298Sobrienentitled "Endorsements."
58577298Sobrien
58677298Sobrien
58777298Sobrien6. COLLECTIONS OF DOCUMENTS
58877298Sobrien
58977298SobrienYou may make a collection consisting of the Document and other documents
59077298Sobrienreleased under this License, and replace the individual copies of this
59177298SobrienLicense in the various documents with a single copy that is included in
59277298Sobrienthe collection, provided that you follow the rules of this License for
59377298Sobrienverbatim copying of each of the documents in all other respects.
59477298Sobrien
59577298SobrienYou may extract a single document from such a collection, and distribute
59677298Sobrienit individually under this License, provided you insert a copy of this
59777298SobrienLicense into the extracted document, and follow this License in all
59877298Sobrienother respects regarding verbatim copying of that document.
59977298Sobrien
60077298Sobrien
60177298Sobrien7. AGGREGATION WITH INDEPENDENT WORKS
60277298Sobrien
60377298SobrienA compilation of the Document or its derivatives with other separate
60477298Sobrienand independent documents or works, in or on a volume of a storage or
60577298Sobriendistribution medium, does not as a whole count as a Modified Version
60677298Sobrienof the Document, provided no compilation copyright is claimed for the
60777298Sobriencompilation.  Such a compilation is called an "aggregate", and this
60877298SobrienLicense does not apply to the other self-contained works thus compiled
60977298Sobrienwith the Document, on account of their being thus compiled, if they
61077298Sobrienare not themselves derivative works of the Document.
61177298Sobrien
61277298SobrienIf the Cover Text requirement of section 3 is applicable to these
61377298Sobriencopies of the Document, then if the Document is less than one quarter
61477298Sobrienof the entire aggregate, the Document's Cover Texts may be placed on
61577298Sobriencovers that surround only the Document within the aggregate.
61677298SobrienOtherwise they must appear on covers around the whole aggregate.
61777298Sobrien
61877298Sobrien
61977298Sobrien8. TRANSLATION
62077298Sobrien
62177298SobrienTranslation is considered a kind of modification, so you may
62277298Sobriendistribute translations of the Document under the terms of section 4.
62377298SobrienReplacing Invariant Sections with translations requires special
62477298Sobrienpermission from their copyright holders, but you may include
62577298Sobrientranslations of some or all Invariant Sections in addition to the
62677298Sobrienoriginal versions of these Invariant Sections.  You may include a
62777298Sobrientranslation of this License provided that you also include the
62877298Sobrienoriginal English version of this License.  In case of a disagreement
62977298Sobrienbetween the translation and the original English version of this
63077298SobrienLicense, the original English version will prevail.
63177298Sobrien
63277298Sobrien
63377298Sobrien9. TERMINATION
63477298Sobrien
63577298SobrienYou may not copy, modify, sublicense, or distribute the Document except
63677298Sobrienas expressly provided for under this License.  Any other attempt to
63777298Sobriencopy, modify, sublicense or distribute the Document is void, and will
63877298Sobrienautomatically terminate your rights under this License.  However,
63977298Sobrienparties who have received copies, or rights, from you under this
64077298SobrienLicense will not have their licenses terminated so long as such
64177298Sobrienparties remain in full compliance.
64277298Sobrien
64377298Sobrien
64477298Sobrien10. FUTURE REVISIONS OF THIS LICENSE
64577298Sobrien
64677298SobrienThe Free Software Foundation may publish new, revised versions
64777298Sobrienof the GNU Free Documentation License from time to time.  Such new
64877298Sobrienversions will be similar in spirit to the present version, but may
64977298Sobriendiffer in detail to address new problems or concerns.  See
65077298Sobrienhttp://www.gnu.org/copyleft/.
65177298Sobrien
65277298SobrienEach version of the License is given a distinguishing version number.
65377298SobrienIf the Document specifies that a particular numbered version of this
65477298SobrienLicense "or any later version" applies to it, you have the option of
65577298Sobrienfollowing the terms and conditions either of that specified version or
65677298Sobrienof any later version that has been published (not as a draft) by the
65777298SobrienFree Software Foundation.  If the Document does not specify a version
65877298Sobriennumber of this License, you may choose any version ever published (not
65977298Sobrienas a draft) by the Free Software Foundation.
66077298Sobrien
66177298Sobrien
66277298SobrienADDENDUM: How to use this License for your documents
66377298Sobrien
66477298SobrienTo use this License in a document you have written, include a copy of
66577298Sobrienthe License in the document and put the following copyright and
66677298Sobrienlicense notices just after the title page:
66777298Sobrien
66877298Sobrien@smallexample
66977298Sobrien    Copyright (c)  YEAR  YOUR NAME.
67077298Sobrien    Permission is granted to copy, distribute and/or modify this document
67177298Sobrien    under the terms of the GNU Free Documentation License, Version 1.1
67277298Sobrien    or any later version published by the Free Software Foundation;
67377298Sobrien    with the Invariant Sections being LIST THEIR TITLES, with the
67477298Sobrien    Front-Cover Texts being LIST, and with the Back-Cover Texts being LIST.
67577298Sobrien    A copy of the license is included in the section entitled "GNU
67677298Sobrien    Free Documentation License".
67777298Sobrien@end smallexample
67877298Sobrien
67977298SobrienIf you have no Invariant Sections, write "with no Invariant Sections"
68077298Sobrieninstead of saying which ones are invariant.  If you have no
68177298SobrienFront-Cover Texts, write "no Front-Cover Texts" instead of
68277298Sobrien"Front-Cover Texts being LIST"; likewise for Back-Cover Texts.
68377298Sobrien
68477298SobrienIf your document contains nontrivial examples of program code, we
68577298Sobrienrecommend releasing these examples in parallel under your choice of
68677298Sobrienfree software license, such as the GNU General Public License,
68777298Sobriento permit their use in free software.
68877298Sobrien
68977298Sobrien@node Index,  , GNU Free Documentation License , Top
69033965Sjdp@unnumbered Index
69133965Sjdp@printindex cp
69233965Sjdp
69333965Sjdp@tex
69433965Sjdp% I think something like @colophon should be in texinfo.  In the
69533965Sjdp% meantime:
69633965Sjdp\long\def\colophon{\hbox to0pt{}\vfill
69733965Sjdp\centerline{The body of this manual is set in}
69833965Sjdp\centerline{\fontname\tenrm,}
69933965Sjdp\centerline{with headings in {\bf\fontname\tenbf}}
70033965Sjdp\centerline{and examples in {\tt\fontname\tentt}.}
70133965Sjdp\centerline{{\it\fontname\tenit\/} and}
70233965Sjdp\centerline{{\sl\fontname\tensl\/}}
70333965Sjdp\centerline{are used for emphasis.}\vfill}
70433965Sjdp\page\colophon
70533965Sjdp% Blame: doc@cygnus.com, 28mar91.
70633965Sjdp@end tex
70733965Sjdp
70833965Sjdp@contents
70933965Sjdp@bye
710