bfd.texinfo revision 89857
1\input texinfo.tex 2@setfilename bfd.info 3@c Copyright 1988, 1989, 1990, 1991, 1992, 1993, 1994, 1997, 2000 4@c Free Software Foundation, Inc. 5@c 6@tex 7% NOTE LOCAL KLUGE TO AVOID TOO MUCH WHITESPACE 8\global\long\def\example{% 9\begingroup 10\let\aboveenvbreak=\par 11\let\afterenvbreak=\par 12\parskip=0pt 13\lisp} 14\global\long\def\Eexample{% 15\Elisp 16\endgroup 17\vskip -\parskip% to cancel out effect of following \par 18} 19@end tex 20@synindex fn cp 21 22@ifinfo 23@format 24START-INFO-DIR-ENTRY 25* Bfd: (bfd). The Binary File Descriptor library. 26END-INFO-DIR-ENTRY 27@end format 28@end ifinfo 29 30@ifinfo 31This file documents the BFD library. 32 33Copyright (C) 1991, 2000, 2001 Free Software Foundation, Inc. 34 35 Permission is granted to copy, distribute and/or modify this document 36 under the terms of the GNU Free Documentation License, Version 1.1 37 or any later version published by the Free Software Foundation; 38 with no Invariant Sections, with no Front-Cover Texts, and with no 39 Back-Cover Texts. A copy of the license is included in the 40 section entitled "GNU Free Documentation License". 41 42@ignore 43Permission is granted to process this file through Tex and print the 44results, provided the printed document carries copying permission 45notice identical to this one except for the removal of this paragraph 46(this paragraph not being relevant to the printed manual). 47 48@end ignore 49@end ifinfo 50@iftex 51@c@finalout 52@setchapternewpage on 53@c@setchapternewpage odd 54@settitle LIB BFD, the Binary File Descriptor Library 55@titlepage 56@title{libbfd} 57@subtitle{The Binary File Descriptor Library} 58@sp 1 59@subtitle First Edition---BFD version < 3.0 % Since no product is stable berfore version 3.0 :-) 60@subtitle Original Document Created: April 1991 61@author {Steve Chamberlain} 62@author {Cygnus Support} 63@page 64 65@tex 66\def\$#1${{#1}} % Kluge: collect RCS revision info without $...$ 67\xdef\manvers{\$Revision: 1.5 $} % For use in headers, footers too 68{\parskip=0pt 69\hfill Free Software Foundation\par 70\hfill sac\@www.gnu.org\par 71\hfill {\it BFD}, \manvers\par 72\hfill \TeX{}info \texinfoversion\par 73} 74\global\parindent=0pt % Steve likes it this way 75@end tex 76 77@vskip 0pt plus 1filll 78Copyright @copyright{} 1991, 2001 Free Software Foundation, Inc. 79 80 Permission is granted to copy, distribute and/or modify this document 81 under the terms of the GNU Free Documentation License, Version 1.1 82 or any later version published by the Free Software Foundation; 83 with no Invariant Sections, with no Front-Cover Texts, and with no 84 Back-Cover Texts. A copy of the license is included in the 85 section entitled "GNU Free Documentation License". 86 87@end titlepage 88@end iftex 89 90@node Top, Overview, (dir), (dir) 91@ifinfo 92This file documents the binary file descriptor library libbfd. 93@end ifinfo 94 95@menu 96* Overview:: Overview of BFD 97* BFD front end:: BFD front end 98* BFD back ends:: BFD back ends 99* GNU Free Documentation License:: GNU Free Documentation License 100* Index:: Index 101@end menu 102 103@node Overview, BFD front end, Top, Top 104@chapter Introduction 105@cindex BFD 106@cindex what is it? 107BFD is a package which allows applications to use the 108same routines to operate on object files whatever the object file 109format. A new object file format can be supported simply by 110creating a new BFD back end and adding it to the library. 111 112BFD is split into two parts: the front end, and the back ends (one for 113each object file format). 114@itemize @bullet 115@item The front end of BFD provides the interface to the user. It manages 116memory and various canonical data structures. The front end also 117decides which back end to use and when to call back end routines. 118@item The back ends provide BFD its view of the real world. Each back 119end provides a set of calls which the BFD front end can use to maintain 120its canonical form. The back ends also may keep around information for 121their own use, for greater efficiency. 122@end itemize 123@menu 124* History:: History 125* How It Works:: How It Works 126* What BFD Version 2 Can Do:: What BFD Version 2 Can Do 127@end menu 128 129@node History, How It Works, Overview, Overview 130@section History 131 132One spur behind BFD was the desire, on the part of the GNU 960 team at 133Intel Oregon, for interoperability of applications on their COFF and 134b.out file formats. Cygnus was providing GNU support for the team, and 135was contracted to provide the required functionality. 136 137The name came from a conversation David Wallace was having with Richard 138Stallman about the library: RMS said that it would be quite hard---David 139said ``BFD''. Stallman was right, but the name stuck. 140 141At the same time, Ready Systems wanted much the same thing, but for 142different object file formats: IEEE-695, Oasys, Srecords, a.out and 68k 143coff. 144 145BFD was first implemented by members of Cygnus Support; Steve 146Chamberlain (@code{sac@@cygnus.com}), John Gilmore 147(@code{gnu@@cygnus.com}), K. Richard Pixley (@code{rich@@cygnus.com}) 148and David Henkel-Wallace (@code{gumby@@cygnus.com}). 149 150 151 152@node How It Works, What BFD Version 2 Can Do, History, Overview 153@section How To Use BFD 154 155To use the library, include @file{bfd.h} and link with @file{libbfd.a}. 156 157BFD provides a common interface to the parts of an object file 158for a calling application. 159 160When an application sucessfully opens a target file (object, archive, or 161whatever), a pointer to an internal structure is returned. This pointer 162points to a structure called @code{bfd}, described in 163@file{bfd.h}. Our convention is to call this pointer a BFD, and 164instances of it within code @code{abfd}. All operations on 165the target object file are applied as methods to the BFD. The mapping is 166defined within @code{bfd.h} in a set of macros, all beginning 167with @samp{bfd_} to reduce namespace pollution. 168 169For example, this sequence does what you would probably expect: 170return the number of sections in an object file attached to a BFD 171@code{abfd}. 172 173@lisp 174@c @cartouche 175#include "bfd.h" 176 177unsigned int number_of_sections(abfd) 178bfd *abfd; 179@{ 180 return bfd_count_sections(abfd); 181@} 182@c @end cartouche 183@end lisp 184 185The abstraction used within BFD is that an object file has: 186 187@itemize @bullet 188@item 189a header, 190@item 191a number of sections containing raw data (@pxref{Sections}), 192@item 193a set of relocations (@pxref{Relocations}), and 194@item 195some symbol information (@pxref{Symbols}). 196@end itemize 197@noindent 198Also, BFDs opened for archives have the additional attribute of an index 199and contain subordinate BFDs. This approach is fine for a.out and coff, 200but loses efficiency when applied to formats such as S-records and 201IEEE-695. 202 203@node What BFD Version 2 Can Do, , How It Works, Overview 204@section What BFD Version 2 Can Do 205@include bfdsumm.texi 206 207@node BFD front end, BFD back ends, Overview, Top 208@chapter BFD front end 209@include bfdt.texi 210 211@menu 212* Memory Usage:: 213* Initialization:: 214* Sections:: 215* Symbols:: 216* Archives:: 217* Formats:: 218* Relocations:: 219* Core Files:: 220* Targets:: 221* Architectures:: 222* Opening and Closing:: 223* Internal:: 224* File Caching:: 225* Linker Functions:: 226* Hash Tables:: 227@end menu 228 229@node Memory Usage, Initialization, BFD front end, BFD front end 230@section Memory usage 231BFD keeps all of its internal structures in obstacks. There is one obstack 232per open BFD file, into which the current state is stored. When a BFD is 233closed, the obstack is deleted, and so everything which has been 234allocated by BFD for the closing file is thrown away. 235 236BFD does not free anything created by an application, but pointers into 237@code{bfd} structures become invalid on a @code{bfd_close}; for example, 238after a @code{bfd_close} the vector passed to 239@code{bfd_canonicalize_symtab} is still around, since it has been 240allocated by the application, but the data that it pointed to are 241lost. 242 243The general rule is to not close a BFD until all operations dependent 244upon data from the BFD have been completed, or all the data from within 245the file has been copied. To help with the management of memory, there 246is a function (@code{bfd_alloc_size}) which returns the number of bytes 247in obstacks associated with the supplied BFD. This could be used to 248select the greediest open BFD, close it to reclaim the memory, perform 249some operation and reopen the BFD again, to get a fresh copy of the data 250structures. 251 252@node Initialization, Sections, Memory Usage, BFD front end 253@include init.texi 254 255@node Sections, Symbols, Initialization, BFD front end 256@include section.texi 257 258@node Symbols, Archives, Sections, BFD front end 259@include syms.texi 260 261@node Archives, Formats, Symbols, BFD front end 262@include archive.texi 263 264@node Formats, Relocations, Archives, BFD front end 265@include format.texi 266 267@node Relocations, Core Files, Formats, BFD front end 268@include reloc.texi 269 270@node Core Files, Targets, Relocations, BFD front end 271@include core.texi 272 273@node Targets, Architectures, Core Files, BFD front end 274@include targets.texi 275 276@node Architectures, Opening and Closing, Targets, BFD front end 277@include archures.texi 278 279@node Opening and Closing, Internal, Architectures, BFD front end 280@include opncls.texi 281 282@node Internal, File Caching, Opening and Closing, BFD front end 283@include libbfd.texi 284 285@node File Caching, Linker Functions, Internal, BFD front end 286@include cache.texi 287 288@node Linker Functions, Hash Tables, File Caching, BFD front end 289@include linker.texi 290 291@node Hash Tables, , Linker Functions, BFD front end 292@include hash.texi 293 294@node BFD back ends, GNU Free Documentation License, BFD front end, Top 295@chapter BFD back ends 296@menu 297* What to Put Where:: 298* aout :: a.out backends 299* coff :: coff backends 300* elf :: elf backends 301* mmo :: mmo backend 302@ignore 303* oasys :: oasys backends 304* ieee :: ieee backend 305* srecord :: s-record backend 306@end ignore 307@end menu 308@node What to Put Where, aout, BFD back ends, BFD back ends 309All of BFD lives in one directory. 310 311@node aout, coff, What to Put Where, BFD back ends 312@include aoutx.texi 313 314@node coff, elf, aout, BFD back ends 315@include coffcode.texi 316 317@node elf, mmo, coff, BFD back ends 318@include elf.texi 319@c Leave this out until the file has some actual contents... 320@c @include elfcode.texi 321 322@node mmo, , elf, BFD back ends 323@include mmo.texi 324 325@node GNU Free Documentation License, Index, BFD back ends, Top 326@chapter GNU Free Documentation License 327@cindex GNU Free Documentation License 328 329 GNU Free Documentation License 330 331 Version 1.1, March 2000 332 333 Copyright (C) 2000 Free Software Foundation, Inc. 334 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 335 336 Everyone is permitted to copy and distribute verbatim copies 337 of this license document, but changing it is not allowed. 338 339 3400. PREAMBLE 341 342The purpose of this License is to make a manual, textbook, or other 343written document "free" in the sense of freedom: to assure everyone 344the effective freedom to copy and redistribute it, with or without 345modifying it, either commercially or noncommercially. Secondarily, 346this License preserves for the author and publisher a way to get 347credit for their work, while not being considered responsible for 348modifications made by others. 349 350This License is a kind of "copyleft", which means that derivative 351works of the document must themselves be free in the same sense. It 352complements the GNU General Public License, which is a copyleft 353license designed for free software. 354 355We have designed this License in order to use it for manuals for free 356software, because free software needs free documentation: a free 357program should come with manuals providing the same freedoms that the 358software does. But this License is not limited to software manuals; 359it can be used for any textual work, regardless of subject matter or 360whether it is published as a printed book. We recommend this License 361principally for works whose purpose is instruction or reference. 362 363 3641. APPLICABILITY AND DEFINITIONS 365 366This License applies to any manual or other work that contains a 367notice placed by the copyright holder saying it can be distributed 368under the terms of this License. The "Document", below, refers to any 369such manual or work. Any member of the public is a licensee, and is 370addressed as "you". 371 372A "Modified Version" of the Document means any work containing the 373Document or a portion of it, either copied verbatim, or with 374modifications and/or translated into another language. 375 376A "Secondary Section" is a named appendix or a front-matter section of 377the Document that deals exclusively with the relationship of the 378publishers or authors of the Document to the Document's overall subject 379(or to related matters) and contains nothing that could fall directly 380within that overall subject. (For example, if the Document is in part a 381textbook of mathematics, a Secondary Section may not explain any 382mathematics.) The relationship could be a matter of historical 383connection with the subject or with related matters, or of legal, 384commercial, philosophical, ethical or political position regarding 385them. 386 387The "Invariant Sections" are certain Secondary Sections whose titles 388are designated, as being those of Invariant Sections, in the notice 389that says that the Document is released under this License. 390 391The "Cover Texts" are certain short passages of text that are listed, 392as Front-Cover Texts or Back-Cover Texts, in the notice that says that 393the Document is released under this License. 394 395A "Transparent" copy of the Document means a machine-readable copy, 396represented in a format whose specification is available to the 397general public, whose contents can be viewed and edited directly and 398straightforwardly with generic text editors or (for images composed of 399pixels) generic paint programs or (for drawings) some widely available 400drawing editor, and that is suitable for input to text formatters or 401for automatic translation to a variety of formats suitable for input 402to text formatters. A copy made in an otherwise Transparent file 403format whose markup has been designed to thwart or discourage 404subsequent modification by readers is not Transparent. A copy that is 405not "Transparent" is called "Opaque". 406 407Examples of suitable formats for Transparent copies include plain 408ASCII without markup, Texinfo input format, LaTeX input format, SGML 409or XML using a publicly available DTD, and standard-conforming simple 410HTML designed for human modification. Opaque formats include 411PostScript, PDF, proprietary formats that can be read and edited only 412by proprietary word processors, SGML or XML for which the DTD and/or 413processing tools are not generally available, and the 414machine-generated HTML produced by some word processors for output 415purposes only. 416 417The "Title Page" means, for a printed book, the title page itself, 418plus such following pages as are needed to hold, legibly, the material 419this License requires to appear in the title page. For works in 420formats which do not have any title page as such, "Title Page" means 421the text near the most prominent appearance of the work's title, 422preceding the beginning of the body of the text. 423 424 4252. VERBATIM COPYING 426 427You may copy and distribute the Document in any medium, either 428commercially or noncommercially, provided that this License, the 429copyright notices, and the license notice saying this License applies 430to the Document are reproduced in all copies, and that you add no other 431conditions whatsoever to those of this License. You may not use 432technical measures to obstruct or control the reading or further 433copying of the copies you make or distribute. However, you may accept 434compensation in exchange for copies. If you distribute a large enough 435number of copies you must also follow the conditions in section 3. 436 437You may also lend copies, under the same conditions stated above, and 438you may publicly display copies. 439 440 4413. COPYING IN QUANTITY 442 443If you publish printed copies of the Document numbering more than 100, 444and the Document's license notice requires Cover Texts, you must enclose 445the copies in covers that carry, clearly and legibly, all these Cover 446Texts: Front-Cover Texts on the front cover, and Back-Cover Texts on 447the back cover. Both covers must also clearly and legibly identify 448you as the publisher of these copies. The front cover must present 449the full title with all words of the title equally prominent and 450visible. You may add other material on the covers in addition. 451Copying with changes limited to the covers, as long as they preserve 452the title of the Document and satisfy these conditions, can be treated 453as verbatim copying in other respects. 454 455If the required texts for either cover are too voluminous to fit 456legibly, you should put the first ones listed (as many as fit 457reasonably) on the actual cover, and continue the rest onto adjacent 458pages. 459 460If you publish or distribute Opaque copies of the Document numbering 461more than 100, you must either include a machine-readable Transparent 462copy along with each Opaque copy, or state in or with each Opaque copy 463a publicly-accessible computer-network location containing a complete 464Transparent copy of the Document, free of added material, which the 465general network-using public has access to download anonymously at no 466charge using public-standard network protocols. If you use the latter 467option, you must take reasonably prudent steps, when you begin 468distribution of Opaque copies in quantity, to ensure that this 469Transparent copy will remain thus accessible at the stated location 470until at least one year after the last time you distribute an Opaque 471copy (directly or through your agents or retailers) of that edition to 472the public. 473 474It is requested, but not required, that you contact the authors of the 475Document well before redistributing any large number of copies, to give 476them a chance to provide you with an updated version of the Document. 477 478 4794. MODIFICATIONS 480 481You may copy and distribute a Modified Version of the Document under 482the conditions of sections 2 and 3 above, provided that you release 483the Modified Version under precisely this License, with the Modified 484Version filling the role of the Document, thus licensing distribution 485and modification of the Modified Version to whoever possesses a copy 486of it. In addition, you must do these things in the Modified Version: 487 488A. Use in the Title Page (and on the covers, if any) a title distinct 489 from that of the Document, and from those of previous versions 490 (which should, if there were any, be listed in the History section 491 of the Document). You may use the same title as a previous version 492 if the original publisher of that version gives permission. 493B. List on the Title Page, as authors, one or more persons or entities 494 responsible for authorship of the modifications in the Modified 495 Version, together with at least five of the principal authors of the 496 Document (all of its principal authors, if it has less than five). 497C. State on the Title page the name of the publisher of the 498 Modified Version, as the publisher. 499D. Preserve all the copyright notices of the Document. 500E. Add an appropriate copyright notice for your modifications 501 adjacent to the other copyright notices. 502F. Include, immediately after the copyright notices, a license notice 503 giving the public permission to use the Modified Version under the 504 terms of this License, in the form shown in the Addendum below. 505G. Preserve in that license notice the full lists of Invariant Sections 506 and required Cover Texts given in the Document's license notice. 507H. Include an unaltered copy of this License. 508I. Preserve the section entitled "History", and its title, and add to 509 it an item stating at least the title, year, new authors, and 510 publisher of the Modified Version as given on the Title Page. If 511 there is no section entitled "History" in the Document, create one 512 stating the title, year, authors, and publisher of the Document as 513 given on its Title Page, then add an item describing the Modified 514 Version as stated in the previous sentence. 515J. Preserve the network location, if any, given in the Document for 516 public access to a Transparent copy of the Document, and likewise 517 the network locations given in the Document for previous versions 518 it was based on. These may be placed in the "History" section. 519 You may omit a network location for a work that was published at 520 least four years before the Document itself, or if the original 521 publisher of the version it refers to gives permission. 522K. In any section entitled "Acknowledgements" or "Dedications", 523 preserve the section's title, and preserve in the section all the 524 substance and tone of each of the contributor acknowledgements 525 and/or dedications given therein. 526L. Preserve all the Invariant Sections of the Document, 527 unaltered in their text and in their titles. Section numbers 528 or the equivalent are not considered part of the section titles. 529M. Delete any section entitled "Endorsements". Such a section 530 may not be included in the Modified Version. 531N. Do not retitle any existing section as "Endorsements" 532 or to conflict in title with any Invariant Section. 533 534If the Modified Version includes new front-matter sections or 535appendices that qualify as Secondary Sections and contain no material 536copied from the Document, you may at your option designate some or all 537of these sections as invariant. To do this, add their titles to the 538list of Invariant Sections in the Modified Version's license notice. 539These titles must be distinct from any other section titles. 540 541You may add a section entitled "Endorsements", provided it contains 542nothing but endorsements of your Modified Version by various 543parties--for example, statements of peer review or that the text has 544been approved by an organization as the authoritative definition of a 545standard. 546 547You may add a passage of up to five words as a Front-Cover Text, and a 548passage of up to 25 words as a Back-Cover Text, to the end of the list 549of Cover Texts in the Modified Version. Only one passage of 550Front-Cover Text and one of Back-Cover Text may be added by (or 551through arrangements made by) any one entity. If the Document already 552includes a cover text for the same cover, previously added by you or 553by arrangement made by the same entity you are acting on behalf of, 554you may not add another; but you may replace the old one, on explicit 555permission from the previous publisher that added the old one. 556 557The author(s) and publisher(s) of the Document do not by this License 558give permission to use their names for publicity for or to assert or 559imply endorsement of any Modified Version. 560 561 5625. COMBINING DOCUMENTS 563 564You may combine the Document with other documents released under this 565License, under the terms defined in section 4 above for modified 566versions, provided that you include in the combination all of the 567Invariant Sections of all of the original documents, unmodified, and 568list them all as Invariant Sections of your combined work in its 569license notice. 570 571The combined work need only contain one copy of this License, and 572multiple identical Invariant Sections may be replaced with a single 573copy. If there are multiple Invariant Sections with the same name but 574different contents, make the title of each such section unique by 575adding at the end of it, in parentheses, the name of the original 576author or publisher of that section if known, or else a unique number. 577Make the same adjustment to the section titles in the list of 578Invariant Sections in the license notice of the combined work. 579 580In the combination, you must combine any sections entitled "History" 581in the various original documents, forming one section entitled 582"History"; likewise combine any sections entitled "Acknowledgements", 583and any sections entitled "Dedications". You must delete all sections 584entitled "Endorsements." 585 586 5876. COLLECTIONS OF DOCUMENTS 588 589You may make a collection consisting of the Document and other documents 590released under this License, and replace the individual copies of this 591License in the various documents with a single copy that is included in 592the collection, provided that you follow the rules of this License for 593verbatim copying of each of the documents in all other respects. 594 595You may extract a single document from such a collection, and distribute 596it individually under this License, provided you insert a copy of this 597License into the extracted document, and follow this License in all 598other respects regarding verbatim copying of that document. 599 600 6017. AGGREGATION WITH INDEPENDENT WORKS 602 603A compilation of the Document or its derivatives with other separate 604and independent documents or works, in or on a volume of a storage or 605distribution medium, does not as a whole count as a Modified Version 606of the Document, provided no compilation copyright is claimed for the 607compilation. Such a compilation is called an "aggregate", and this 608License does not apply to the other self-contained works thus compiled 609with the Document, on account of their being thus compiled, if they 610are not themselves derivative works of the Document. 611 612If the Cover Text requirement of section 3 is applicable to these 613copies of the Document, then if the Document is less than one quarter 614of the entire aggregate, the Document's Cover Texts may be placed on 615covers that surround only the Document within the aggregate. 616Otherwise they must appear on covers around the whole aggregate. 617 618 6198. TRANSLATION 620 621Translation is considered a kind of modification, so you may 622distribute translations of the Document under the terms of section 4. 623Replacing Invariant Sections with translations requires special 624permission from their copyright holders, but you may include 625translations of some or all Invariant Sections in addition to the 626original versions of these Invariant Sections. You may include a 627translation of this License provided that you also include the 628original English version of this License. In case of a disagreement 629between the translation and the original English version of this 630License, the original English version will prevail. 631 632 6339. TERMINATION 634 635You may not copy, modify, sublicense, or distribute the Document except 636as expressly provided for under this License. Any other attempt to 637copy, modify, sublicense or distribute the Document is void, and will 638automatically terminate your rights under this License. However, 639parties who have received copies, or rights, from you under this 640License will not have their licenses terminated so long as such 641parties remain in full compliance. 642 643 64410. FUTURE REVISIONS OF THIS LICENSE 645 646The Free Software Foundation may publish new, revised versions 647of the GNU Free Documentation License from time to time. Such new 648versions will be similar in spirit to the present version, but may 649differ in detail to address new problems or concerns. See 650http://www.gnu.org/copyleft/. 651 652Each version of the License is given a distinguishing version number. 653If the Document specifies that a particular numbered version of this 654License "or any later version" applies to it, you have the option of 655following the terms and conditions either of that specified version or 656of any later version that has been published (not as a draft) by the 657Free Software Foundation. If the Document does not specify a version 658number of this License, you may choose any version ever published (not 659as a draft) by the Free Software Foundation. 660 661 662ADDENDUM: How to use this License for your documents 663 664To use this License in a document you have written, include a copy of 665the License in the document and put the following copyright and 666license notices just after the title page: 667 668@smallexample 669 Copyright (c) YEAR YOUR NAME. 670 Permission is granted to copy, distribute and/or modify this document 671 under the terms of the GNU Free Documentation License, Version 1.1 672 or any later version published by the Free Software Foundation; 673 with the Invariant Sections being LIST THEIR TITLES, with the 674 Front-Cover Texts being LIST, and with the Back-Cover Texts being LIST. 675 A copy of the license is included in the section entitled "GNU 676 Free Documentation License". 677@end smallexample 678 679If you have no Invariant Sections, write "with no Invariant Sections" 680instead of saying which ones are invariant. If you have no 681Front-Cover Texts, write "no Front-Cover Texts" instead of 682"Front-Cover Texts being LIST"; likewise for Back-Cover Texts. 683 684If your document contains nontrivial examples of program code, we 685recommend releasing these examples in parallel under your choice of 686free software license, such as the GNU General Public License, 687to permit their use in free software. 688 689@node Index, , GNU Free Documentation License , Top 690@unnumbered Index 691@printindex cp 692 693@tex 694% I think something like @colophon should be in texinfo. In the 695% meantime: 696\long\def\colophon{\hbox to0pt{}\vfill 697\centerline{The body of this manual is set in} 698\centerline{\fontname\tenrm,} 699\centerline{with headings in {\bf\fontname\tenbf}} 700\centerline{and examples in {\tt\fontname\tentt}.} 701\centerline{{\it\fontname\tenit\/} and} 702\centerline{{\sl\fontname\tensl\/}} 703\centerline{are used for emphasis.}\vfill} 704\page\colophon 705% Blame: doc@cygnus.com, 28mar91. 706@end tex 707 708@contents 709@bye 710