bfd.texinfo revision 78828
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 3377298SobrienCopyright (C) 1991, 2000 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 5933965Sjdp@subtitle First Edition---BFD version < 3.0 6033965Sjdp@subtitle 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 $...$ 6778828Sobrien\xdef\manvers{\$Revision: 1.2.2.1 $} % For use in headers, footers too 6833965Sjdp{\parskip=0pt 6933965Sjdp\hfill Cygnus Support\par 7033965Sjdp\hfill sac\@cygnus.com\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 7833965SjdpCopyright @copyright{} 1991 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 30133965Sjdp@ignore 30233965Sjdp* oasys :: oasys backends 30333965Sjdp* ieee :: ieee backend 30433965Sjdp* srecord :: s-record backend 30533965Sjdp@end ignore 30633965Sjdp@end menu 30733965Sjdp@node What to Put Where, aout, BFD back ends, BFD back ends 30833965SjdpAll of BFD lives in one directory. 30933965Sjdp 31033965Sjdp@node aout, coff, What to Put Where, BFD back ends 31133965Sjdp@include aoutx.texi 31233965Sjdp 31333965Sjdp@node coff, elf, aout, BFD back ends 31433965Sjdp@include coffcode.texi 31533965Sjdp 31633965Sjdp@node elf, , coff, BFD back ends 31733965Sjdp@include elf.texi 31833965Sjdp@c Leave this out until the file has some actual contents... 31933965Sjdp@c @include elfcode.texi 32033965Sjdp 32177298Sobrien@node GNU Free Documentation License, Index, BFD back ends, Top 32277298Sobrien@chapter GNU Free Documentation License 32377298Sobrien@cindex GNU Free Documentation License 32477298Sobrien 32577298Sobrien GNU Free Documentation License 32677298Sobrien 32777298Sobrien Version 1.1, March 2000 32877298Sobrien 32977298Sobrien Copyright (C) 2000 Free Software Foundation, Inc. 33077298Sobrien 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 33177298Sobrien 33277298Sobrien Everyone is permitted to copy and distribute verbatim copies 33377298Sobrien of this license document, but changing it is not allowed. 33477298Sobrien 33577298Sobrien 33677298Sobrien0. PREAMBLE 33777298Sobrien 33877298SobrienThe purpose of this License is to make a manual, textbook, or other 33977298Sobrienwritten document "free" in the sense of freedom: to assure everyone 34077298Sobrienthe effective freedom to copy and redistribute it, with or without 34177298Sobrienmodifying it, either commercially or noncommercially. Secondarily, 34277298Sobrienthis License preserves for the author and publisher a way to get 34377298Sobriencredit for their work, while not being considered responsible for 34477298Sobrienmodifications made by others. 34577298Sobrien 34677298SobrienThis License is a kind of "copyleft", which means that derivative 34777298Sobrienworks of the document must themselves be free in the same sense. It 34877298Sobriencomplements the GNU General Public License, which is a copyleft 34977298Sobrienlicense designed for free software. 35077298Sobrien 35177298SobrienWe have designed this License in order to use it for manuals for free 35277298Sobriensoftware, because free software needs free documentation: a free 35377298Sobrienprogram should come with manuals providing the same freedoms that the 35477298Sobriensoftware does. But this License is not limited to software manuals; 35577298Sobrienit can be used for any textual work, regardless of subject matter or 35677298Sobrienwhether it is published as a printed book. We recommend this License 35777298Sobrienprincipally for works whose purpose is instruction or reference. 35877298Sobrien 35977298Sobrien 36077298Sobrien1. APPLICABILITY AND DEFINITIONS 36177298Sobrien 36277298SobrienThis License applies to any manual or other work that contains a 36377298Sobriennotice placed by the copyright holder saying it can be distributed 36477298Sobrienunder the terms of this License. The "Document", below, refers to any 36577298Sobriensuch manual or work. Any member of the public is a licensee, and is 36677298Sobrienaddressed as "you". 36777298Sobrien 36877298SobrienA "Modified Version" of the Document means any work containing the 36977298SobrienDocument or a portion of it, either copied verbatim, or with 37077298Sobrienmodifications and/or translated into another language. 37177298Sobrien 37277298SobrienA "Secondary Section" is a named appendix or a front-matter section of 37377298Sobrienthe Document that deals exclusively with the relationship of the 37477298Sobrienpublishers or authors of the Document to the Document's overall subject 37577298Sobrien(or to related matters) and contains nothing that could fall directly 37677298Sobrienwithin that overall subject. (For example, if the Document is in part a 37777298Sobrientextbook of mathematics, a Secondary Section may not explain any 37877298Sobrienmathematics.) The relationship could be a matter of historical 37977298Sobrienconnection with the subject or with related matters, or of legal, 38077298Sobriencommercial, philosophical, ethical or political position regarding 38177298Sobrienthem. 38277298Sobrien 38377298SobrienThe "Invariant Sections" are certain Secondary Sections whose titles 38477298Sobrienare designated, as being those of Invariant Sections, in the notice 38577298Sobrienthat says that the Document is released under this License. 38677298Sobrien 38777298SobrienThe "Cover Texts" are certain short passages of text that are listed, 38877298Sobrienas Front-Cover Texts or Back-Cover Texts, in the notice that says that 38977298Sobrienthe Document is released under this License. 39077298Sobrien 39177298SobrienA "Transparent" copy of the Document means a machine-readable copy, 39277298Sobrienrepresented in a format whose specification is available to the 39377298Sobriengeneral public, whose contents can be viewed and edited directly and 39477298Sobrienstraightforwardly with generic text editors or (for images composed of 39577298Sobrienpixels) generic paint programs or (for drawings) some widely available 39677298Sobriendrawing editor, and that is suitable for input to text formatters or 39777298Sobrienfor automatic translation to a variety of formats suitable for input 39877298Sobriento text formatters. A copy made in an otherwise Transparent file 39977298Sobrienformat whose markup has been designed to thwart or discourage 40077298Sobriensubsequent modification by readers is not Transparent. A copy that is 40177298Sobriennot "Transparent" is called "Opaque". 40277298Sobrien 40377298SobrienExamples of suitable formats for Transparent copies include plain 40477298SobrienASCII without markup, Texinfo input format, LaTeX input format, SGML 40577298Sobrienor XML using a publicly available DTD, and standard-conforming simple 40677298SobrienHTML designed for human modification. Opaque formats include 40777298SobrienPostScript, PDF, proprietary formats that can be read and edited only 40877298Sobrienby proprietary word processors, SGML or XML for which the DTD and/or 40977298Sobrienprocessing tools are not generally available, and the 41077298Sobrienmachine-generated HTML produced by some word processors for output 41177298Sobrienpurposes only. 41277298Sobrien 41377298SobrienThe "Title Page" means, for a printed book, the title page itself, 41477298Sobrienplus such following pages as are needed to hold, legibly, the material 41577298Sobrienthis License requires to appear in the title page. For works in 41677298Sobrienformats which do not have any title page as such, "Title Page" means 41777298Sobrienthe text near the most prominent appearance of the work's title, 41877298Sobrienpreceding the beginning of the body of the text. 41977298Sobrien 42077298Sobrien 42177298Sobrien2. VERBATIM COPYING 42277298Sobrien 42377298SobrienYou may copy and distribute the Document in any medium, either 42477298Sobriencommercially or noncommercially, provided that this License, the 42577298Sobriencopyright notices, and the license notice saying this License applies 42677298Sobriento the Document are reproduced in all copies, and that you add no other 42777298Sobrienconditions whatsoever to those of this License. You may not use 42877298Sobrientechnical measures to obstruct or control the reading or further 42977298Sobriencopying of the copies you make or distribute. However, you may accept 43077298Sobriencompensation in exchange for copies. If you distribute a large enough 43177298Sobriennumber of copies you must also follow the conditions in section 3. 43277298Sobrien 43377298SobrienYou may also lend copies, under the same conditions stated above, and 43477298Sobrienyou may publicly display copies. 43577298Sobrien 43677298Sobrien 43777298Sobrien3. COPYING IN QUANTITY 43877298Sobrien 43977298SobrienIf you publish printed copies of the Document numbering more than 100, 44077298Sobrienand the Document's license notice requires Cover Texts, you must enclose 44177298Sobrienthe copies in covers that carry, clearly and legibly, all these Cover 44277298SobrienTexts: Front-Cover Texts on the front cover, and Back-Cover Texts on 44377298Sobrienthe back cover. Both covers must also clearly and legibly identify 44477298Sobrienyou as the publisher of these copies. The front cover must present 44577298Sobrienthe full title with all words of the title equally prominent and 44677298Sobrienvisible. You may add other material on the covers in addition. 44777298SobrienCopying with changes limited to the covers, as long as they preserve 44877298Sobrienthe title of the Document and satisfy these conditions, can be treated 44977298Sobrienas verbatim copying in other respects. 45077298Sobrien 45177298SobrienIf the required texts for either cover are too voluminous to fit 45277298Sobrienlegibly, you should put the first ones listed (as many as fit 45377298Sobrienreasonably) on the actual cover, and continue the rest onto adjacent 45477298Sobrienpages. 45577298Sobrien 45677298SobrienIf you publish or distribute Opaque copies of the Document numbering 45777298Sobrienmore than 100, you must either include a machine-readable Transparent 45877298Sobriencopy along with each Opaque copy, or state in or with each Opaque copy 45977298Sobriena publicly-accessible computer-network location containing a complete 46077298SobrienTransparent copy of the Document, free of added material, which the 46177298Sobriengeneral network-using public has access to download anonymously at no 46277298Sobriencharge using public-standard network protocols. If you use the latter 46377298Sobrienoption, you must take reasonably prudent steps, when you begin 46477298Sobriendistribution of Opaque copies in quantity, to ensure that this 46577298SobrienTransparent copy will remain thus accessible at the stated location 46677298Sobrienuntil at least one year after the last time you distribute an Opaque 46777298Sobriencopy (directly or through your agents or retailers) of that edition to 46877298Sobrienthe public. 46977298Sobrien 47077298SobrienIt is requested, but not required, that you contact the authors of the 47177298SobrienDocument well before redistributing any large number of copies, to give 47277298Sobrienthem a chance to provide you with an updated version of the Document. 47377298Sobrien 47477298Sobrien 47577298Sobrien4. MODIFICATIONS 47677298Sobrien 47777298SobrienYou may copy and distribute a Modified Version of the Document under 47877298Sobrienthe conditions of sections 2 and 3 above, provided that you release 47977298Sobrienthe Modified Version under precisely this License, with the Modified 48077298SobrienVersion filling the role of the Document, thus licensing distribution 48177298Sobrienand modification of the Modified Version to whoever possesses a copy 48277298Sobrienof it. In addition, you must do these things in the Modified Version: 48377298Sobrien 48477298SobrienA. Use in the Title Page (and on the covers, if any) a title distinct 48577298Sobrien from that of the Document, and from those of previous versions 48677298Sobrien (which should, if there were any, be listed in the History section 48777298Sobrien of the Document). You may use the same title as a previous version 48877298Sobrien if the original publisher of that version gives permission. 48977298SobrienB. List on the Title Page, as authors, one or more persons or entities 49077298Sobrien responsible for authorship of the modifications in the Modified 49177298Sobrien Version, together with at least five of the principal authors of the 49277298Sobrien Document (all of its principal authors, if it has less than five). 49377298SobrienC. State on the Title page the name of the publisher of the 49477298Sobrien Modified Version, as the publisher. 49577298SobrienD. Preserve all the copyright notices of the Document. 49677298SobrienE. Add an appropriate copyright notice for your modifications 49777298Sobrien adjacent to the other copyright notices. 49877298SobrienF. Include, immediately after the copyright notices, a license notice 49977298Sobrien giving the public permission to use the Modified Version under the 50077298Sobrien terms of this License, in the form shown in the Addendum below. 50177298SobrienG. Preserve in that license notice the full lists of Invariant Sections 50277298Sobrien and required Cover Texts given in the Document's license notice. 50377298SobrienH. Include an unaltered copy of this License. 50477298SobrienI. Preserve the section entitled "History", and its title, and add to 50577298Sobrien it an item stating at least the title, year, new authors, and 50677298Sobrien publisher of the Modified Version as given on the Title Page. If 50777298Sobrien there is no section entitled "History" in the Document, create one 50877298Sobrien stating the title, year, authors, and publisher of the Document as 50977298Sobrien given on its Title Page, then add an item describing the Modified 51077298Sobrien Version as stated in the previous sentence. 51177298SobrienJ. Preserve the network location, if any, given in the Document for 51277298Sobrien public access to a Transparent copy of the Document, and likewise 51377298Sobrien the network locations given in the Document for previous versions 51477298Sobrien it was based on. These may be placed in the "History" section. 51577298Sobrien You may omit a network location for a work that was published at 51677298Sobrien least four years before the Document itself, or if the original 51777298Sobrien publisher of the version it refers to gives permission. 51877298SobrienK. In any section entitled "Acknowledgements" or "Dedications", 51977298Sobrien preserve the section's title, and preserve in the section all the 52077298Sobrien substance and tone of each of the contributor acknowledgements 52177298Sobrien and/or dedications given therein. 52277298SobrienL. Preserve all the Invariant Sections of the Document, 52377298Sobrien unaltered in their text and in their titles. Section numbers 52477298Sobrien or the equivalent are not considered part of the section titles. 52577298SobrienM. Delete any section entitled "Endorsements". Such a section 52677298Sobrien may not be included in the Modified Version. 52777298SobrienN. Do not retitle any existing section as "Endorsements" 52877298Sobrien or to conflict in title with any Invariant Section. 52977298Sobrien 53077298SobrienIf the Modified Version includes new front-matter sections or 53177298Sobrienappendices that qualify as Secondary Sections and contain no material 53277298Sobriencopied from the Document, you may at your option designate some or all 53377298Sobrienof these sections as invariant. To do this, add their titles to the 53477298Sobrienlist of Invariant Sections in the Modified Version's license notice. 53577298SobrienThese titles must be distinct from any other section titles. 53677298Sobrien 53777298SobrienYou may add a section entitled "Endorsements", provided it contains 53877298Sobriennothing but endorsements of your Modified Version by various 53977298Sobrienparties--for example, statements of peer review or that the text has 54077298Sobrienbeen approved by an organization as the authoritative definition of a 54177298Sobrienstandard. 54277298Sobrien 54377298SobrienYou may add a passage of up to five words as a Front-Cover Text, and a 54477298Sobrienpassage of up to 25 words as a Back-Cover Text, to the end of the list 54577298Sobrienof Cover Texts in the Modified Version. Only one passage of 54677298SobrienFront-Cover Text and one of Back-Cover Text may be added by (or 54777298Sobrienthrough arrangements made by) any one entity. If the Document already 54877298Sobrienincludes a cover text for the same cover, previously added by you or 54977298Sobrienby arrangement made by the same entity you are acting on behalf of, 55077298Sobrienyou may not add another; but you may replace the old one, on explicit 55177298Sobrienpermission from the previous publisher that added the old one. 55277298Sobrien 55377298SobrienThe author(s) and publisher(s) of the Document do not by this License 55477298Sobriengive permission to use their names for publicity for or to assert or 55577298Sobrienimply endorsement of any Modified Version. 55677298Sobrien 55777298Sobrien 55877298Sobrien5. COMBINING DOCUMENTS 55977298Sobrien 56077298SobrienYou may combine the Document with other documents released under this 56177298SobrienLicense, under the terms defined in section 4 above for modified 56277298Sobrienversions, provided that you include in the combination all of the 56377298SobrienInvariant Sections of all of the original documents, unmodified, and 56477298Sobrienlist them all as Invariant Sections of your combined work in its 56577298Sobrienlicense notice. 56677298Sobrien 56777298SobrienThe combined work need only contain one copy of this License, and 56877298Sobrienmultiple identical Invariant Sections may be replaced with a single 56977298Sobriencopy. If there are multiple Invariant Sections with the same name but 57077298Sobriendifferent contents, make the title of each such section unique by 57177298Sobrienadding at the end of it, in parentheses, the name of the original 57277298Sobrienauthor or publisher of that section if known, or else a unique number. 57377298SobrienMake the same adjustment to the section titles in the list of 57477298SobrienInvariant Sections in the license notice of the combined work. 57577298Sobrien 57677298SobrienIn the combination, you must combine any sections entitled "History" 57777298Sobrienin the various original documents, forming one section entitled 57877298Sobrien"History"; likewise combine any sections entitled "Acknowledgements", 57977298Sobrienand any sections entitled "Dedications". You must delete all sections 58077298Sobrienentitled "Endorsements." 58177298Sobrien 58277298Sobrien 58377298Sobrien6. COLLECTIONS OF DOCUMENTS 58477298Sobrien 58577298SobrienYou may make a collection consisting of the Document and other documents 58677298Sobrienreleased under this License, and replace the individual copies of this 58777298SobrienLicense in the various documents with a single copy that is included in 58877298Sobrienthe collection, provided that you follow the rules of this License for 58977298Sobrienverbatim copying of each of the documents in all other respects. 59077298Sobrien 59177298SobrienYou may extract a single document from such a collection, and distribute 59277298Sobrienit individually under this License, provided you insert a copy of this 59377298SobrienLicense into the extracted document, and follow this License in all 59477298Sobrienother respects regarding verbatim copying of that document. 59577298Sobrien 59677298Sobrien 59777298Sobrien7. AGGREGATION WITH INDEPENDENT WORKS 59877298Sobrien 59977298SobrienA compilation of the Document or its derivatives with other separate 60077298Sobrienand independent documents or works, in or on a volume of a storage or 60177298Sobriendistribution medium, does not as a whole count as a Modified Version 60277298Sobrienof the Document, provided no compilation copyright is claimed for the 60377298Sobriencompilation. Such a compilation is called an "aggregate", and this 60477298SobrienLicense does not apply to the other self-contained works thus compiled 60577298Sobrienwith the Document, on account of their being thus compiled, if they 60677298Sobrienare not themselves derivative works of the Document. 60777298Sobrien 60877298SobrienIf the Cover Text requirement of section 3 is applicable to these 60977298Sobriencopies of the Document, then if the Document is less than one quarter 61077298Sobrienof the entire aggregate, the Document's Cover Texts may be placed on 61177298Sobriencovers that surround only the Document within the aggregate. 61277298SobrienOtherwise they must appear on covers around the whole aggregate. 61377298Sobrien 61477298Sobrien 61577298Sobrien8. TRANSLATION 61677298Sobrien 61777298SobrienTranslation is considered a kind of modification, so you may 61877298Sobriendistribute translations of the Document under the terms of section 4. 61977298SobrienReplacing Invariant Sections with translations requires special 62077298Sobrienpermission from their copyright holders, but you may include 62177298Sobrientranslations of some or all Invariant Sections in addition to the 62277298Sobrienoriginal versions of these Invariant Sections. You may include a 62377298Sobrientranslation of this License provided that you also include the 62477298Sobrienoriginal English version of this License. In case of a disagreement 62577298Sobrienbetween the translation and the original English version of this 62677298SobrienLicense, the original English version will prevail. 62777298Sobrien 62877298Sobrien 62977298Sobrien9. TERMINATION 63077298Sobrien 63177298SobrienYou may not copy, modify, sublicense, or distribute the Document except 63277298Sobrienas expressly provided for under this License. Any other attempt to 63377298Sobriencopy, modify, sublicense or distribute the Document is void, and will 63477298Sobrienautomatically terminate your rights under this License. However, 63577298Sobrienparties who have received copies, or rights, from you under this 63677298SobrienLicense will not have their licenses terminated so long as such 63777298Sobrienparties remain in full compliance. 63877298Sobrien 63977298Sobrien 64077298Sobrien10. FUTURE REVISIONS OF THIS LICENSE 64177298Sobrien 64277298SobrienThe Free Software Foundation may publish new, revised versions 64377298Sobrienof the GNU Free Documentation License from time to time. Such new 64477298Sobrienversions will be similar in spirit to the present version, but may 64577298Sobriendiffer in detail to address new problems or concerns. See 64677298Sobrienhttp://www.gnu.org/copyleft/. 64777298Sobrien 64877298SobrienEach version of the License is given a distinguishing version number. 64977298SobrienIf the Document specifies that a particular numbered version of this 65077298SobrienLicense "or any later version" applies to it, you have the option of 65177298Sobrienfollowing the terms and conditions either of that specified version or 65277298Sobrienof any later version that has been published (not as a draft) by the 65377298SobrienFree Software Foundation. If the Document does not specify a version 65477298Sobriennumber of this License, you may choose any version ever published (not 65577298Sobrienas a draft) by the Free Software Foundation. 65677298Sobrien 65777298Sobrien 65877298SobrienADDENDUM: How to use this License for your documents 65977298Sobrien 66077298SobrienTo use this License in a document you have written, include a copy of 66177298Sobrienthe License in the document and put the following copyright and 66277298Sobrienlicense notices just after the title page: 66377298Sobrien 66477298Sobrien@smallexample 66577298Sobrien Copyright (c) YEAR YOUR NAME. 66677298Sobrien Permission is granted to copy, distribute and/or modify this document 66777298Sobrien under the terms of the GNU Free Documentation License, Version 1.1 66877298Sobrien or any later version published by the Free Software Foundation; 66977298Sobrien with the Invariant Sections being LIST THEIR TITLES, with the 67077298Sobrien Front-Cover Texts being LIST, and with the Back-Cover Texts being LIST. 67177298Sobrien A copy of the license is included in the section entitled "GNU 67277298Sobrien Free Documentation License". 67377298Sobrien@end smallexample 67477298Sobrien 67577298SobrienIf you have no Invariant Sections, write "with no Invariant Sections" 67677298Sobrieninstead of saying which ones are invariant. If you have no 67777298SobrienFront-Cover Texts, write "no Front-Cover Texts" instead of 67877298Sobrien"Front-Cover Texts being LIST"; likewise for Back-Cover Texts. 67977298Sobrien 68077298SobrienIf your document contains nontrivial examples of program code, we 68177298Sobrienrecommend releasing these examples in parallel under your choice of 68277298Sobrienfree software license, such as the GNU General Public License, 68377298Sobriento permit their use in free software. 68477298Sobrien 68577298Sobrien@node Index, , GNU Free Documentation License , Top 68633965Sjdp@unnumbered Index 68733965Sjdp@printindex cp 68833965Sjdp 68933965Sjdp@tex 69033965Sjdp% I think something like @colophon should be in texinfo. In the 69133965Sjdp% meantime: 69233965Sjdp\long\def\colophon{\hbox to0pt{}\vfill 69333965Sjdp\centerline{The body of this manual is set in} 69433965Sjdp\centerline{\fontname\tenrm,} 69533965Sjdp\centerline{with headings in {\bf\fontname\tenbf}} 69633965Sjdp\centerline{and examples in {\tt\fontname\tentt}.} 69733965Sjdp\centerline{{\it\fontname\tenit\/} and} 69833965Sjdp\centerline{{\sl\fontname\tensl\/}} 69933965Sjdp\centerline{are used for emphasis.}\vfill} 70033965Sjdp\page\colophon 70133965Sjdp% Blame: doc@cygnus.com, 28mar91. 70233965Sjdp@end tex 70333965Sjdp 70433965Sjdp@contents 70533965Sjdp@bye 706