diff options
author | Nick Clifton <nickc@redhat.com> | 2003-02-21 10:35:07 +0000 |
---|---|---|
committer | Nick Clifton <nickc@redhat.com> | 2003-02-21 10:35:07 +0000 |
commit | c12536277750567d79cc50bd79525bad6f8e28ab (patch) | |
tree | a560755b914b725c39b615def956a1c8f54122d5 /gas/doc/as.texinfo | |
parent | 947ed062ce4393c28d91a339a855089402cb3ff3 (diff) | |
download | gdb-c12536277750567d79cc50bd79525bad6f8e28ab.zip gdb-c12536277750567d79cc50bd79525bad6f8e28ab.tar.gz gdb-c12536277750567d79cc50bd79525bad6f8e28ab.tar.bz2 |
Applied Bob Wilson's documentation fixes.
Diffstat (limited to 'gas/doc/as.texinfo')
-rw-r--r-- | gas/doc/as.texinfo | 593 |
1 files changed, 155 insertions, 438 deletions
diff --git a/gas/doc/as.texinfo b/gas/doc/as.texinfo index f1ab2c6..f27c93e 100644 --- a/gas/doc/as.texinfo +++ b/gas/doc/as.texinfo @@ -62,6 +62,12 @@ @end ifset @c man end @c common OR combinations of conditions +@ifset COFF +@set COFF-ELF +@end ifset +@ifset ELF +@set COFF-ELF +@end ifset @ifset AOUT @set aout-bout @end ifset @@ -139,7 +145,7 @@ under the terms of the GNU Free Documentation License, Version 1.1 or any later version published by the Free Software Foundation; with no Invariant Sections, with no Front-Cover Texts, and with no Back-Cover Texts. A copy of the license is included in the -section entitled "GNU Free Documentation License". +section entitled ``GNU Free Documentation License''. @c man end @@ -192,7 +198,7 @@ Copyright @copyright{} 1991, 92, 93, 94, 95, 96, 97, 98, 99, 2000, 2001, 2002 Fr or any later version published by the Free Software Foundation; with no Invariant Sections, with no Front-Cover Texts, and with no Back-Cover Texts. A copy of the license is included in the - section entitled "GNU Free Documentation License". + section entitled ``GNU Free Documentation License''. @end titlepage @@ -209,7 +215,7 @@ code for @value{TARGET} architectures. This document is distributed under the terms of the GNU Free Documentation License. A copy of the license is included in the -section entitled "GNU Free Documentation License". +section entitled ``GNU Free Documentation License''. @menu * Overview:: Overview @@ -501,7 +507,7 @@ may help debugging assembler code, if the debugger can handle it. @item --gdwarf2 Generate DWARF2 debugging information for each assembler line. This -may help debugging assembler code, if the debugger can handle it. Note - this +may help debugging assembler code, if the debugger can handle it. Note---this option is only supported by some targets, not all of them. @item --help @@ -1185,7 +1191,7 @@ are typically different in different file formats. @xref{Symbol Attributes,,Symbol Attributes}. @ifclear GENERIC @ifclear MULTI-OBJ -On the @value{TARGET}, @command{@value{AS}} is configured to produce +For the @value{TARGET} target, @command{@value{AS}} is configured to produce @value{OBJ-NAME} format object files. @end ifclear @c The following should exhaust all configs that set MULTI-OBJ, ideally @@ -1388,7 +1394,7 @@ because many of them aren't supposed to happen. This chapter describes command-line options available in @emph{all} versions of the @sc{gnu} assembler; @pxref{Machine Dependencies}, for options specific @ifclear GENERIC -to the @value{TARGET}. +to the @value{TARGET} target. @end ifclear @ifset GENERIC to particular machine architectures. @@ -1396,7 +1402,7 @@ to particular machine architectures. @c man begin DESCRIPTION -If you are invoking @command{@value{AS}} via the @sc{gnu} C compiler (version 2), +If you are invoking @command{@value{AS}} via the @sc{gnu} C compiler, you can use the @samp{-Wa} option to pass arguments through to the assembler. The assembler arguments must be separated from each other (and the @samp{-Wa}) by commas. For example: @@ -1519,7 +1525,7 @@ not work correctly. @end quotation @node I -@section @code{.include} search path: @option{-I} @var{path} +@section @code{.include} Search Path: @option{-I} @var{path} @kindex -I @var{path} @cindex paths for @code{.include} @@ -1748,7 +1754,7 @@ The i960 @code{.setreal} pseudo-op is not supported. @end itemize @node MD -@section Dependency tracking: @option{--MD} +@section Dependency Tracking: @option{--MD} @kindex --MD @cindex dependency tracking @@ -1812,8 +1818,8 @@ address displacements (because we do not have to cross between text and data section). We refrain from doing this simply for compatibility with older versions of @command{@value{AS}}. In future, @option{-R} may work this way. -@ifset COFF -When @command{@value{AS}} is configured for COFF output, +@ifset COFF-ELF +When @command{@value{AS}} is configured for COFF or ELF output, this option is only useful if you use sections named @samp{.text} and @samp{.data}. @end ifset @@ -1836,7 +1842,7 @@ Use @samp{--statistics} to display two statistics about the resources used by seconds). @node traditional-format -@section Compatible output: @option{--traditional-format} +@section Compatible Output: @option{--traditional-format} @kindex --traditional-format For some targets, the output of @command{@value{AS}} is different in some ways @@ -1865,8 +1871,8 @@ assembling compiler output. But programs written by people often cause @command{@value{AS}} to give a warning that a particular assumption was made. All such warnings are directed to the standard error file. -@kindex @samp{-W} -@kindex @samp{--no-warn} +@kindex -W +@kindex --no-warn @cindex suppressing warnings @cindex warnings, suppressing If you use the @option{-W} and @option{--no-warn} options, no warnings are issued. @@ -1874,13 +1880,13 @@ This only affects the warning messages: it does not change any particular of how @command{@value{AS}} assembles your file. Errors, which stop the assembly, are still reported. -@kindex @samp{--fatal-warnings} +@kindex --fatal-warnings @cindex errors, caused by warnings @cindex warnings, causing error If you use the @option{--fatal-warnings} option, @command{@value{AS}} considers files that generate warnings to be in error. -@kindex @samp{--warn} +@kindex --warn @cindex warnings, switching on You can switch these options off again by specifying @option{--warn}, which causes warnings to be output as usual. @@ -1946,7 +1952,7 @@ It does not do macro processing, include file handling, or anything else you may get from your C compiler's preprocessor. You can do include file processing with the @code{.include} directive (@pxref{Include,,@code{.include}}). You can use the @sc{gnu} C compiler driver -to get other ``CPP'' style preprocessing, by giving the input file a +to get other ``CPP'' style preprocessing by giving the input file a @samp{.S} suffix. @xref{Overall Options,, Options Controlling the Kind of Output, gcc.info, Using GNU CC}. @@ -2634,9 +2640,9 @@ An object file written by @command{@value{AS}} has at least three sections, any of which may be empty. These are named @dfn{text}, @dfn{data} and @dfn{bss} sections. -@ifset COFF +@ifset COFF-ELF @ifset GENERIC -When it generates COFF output, +When it generates COFF or ELF output, @end ifset @command{@value{AS}} can also generate whatever other named sections you specify using the @samp{.section} directive (@pxref{Section,,@code{.section}}). @@ -2742,7 +2748,7 @@ use of @command{@value{AS}} and have no meaning except during assembly. @table @strong -@ifset COFF +@ifset COFF-ELF @cindex named sections @cindex sections, named @item named sections @@ -2755,15 +2761,15 @@ use of @command{@value{AS}} and have no meaning except during assembly. @end ifset These sections hold your program. @command{@value{AS}} and @code{@value{LD}} treat them as separate but equal sections. Anything you can say of one section is -true another. -@ifset aout-bout +true of another. +@c @ifset aout-bout When the program is running, however, it is customary for the text section to be unalterable. The text section is often shared among processes: it contains instructions, constants and the like. The data section of a running program is usually alterable: for example, C variables would be stored in the data section. -@end ifset +@c @end ifset @cindex bss section @item bss section @@ -2790,13 +2796,13 @@ the preceding sections. @cindex relocation example An idealized example of three relocatable sections follows. -@ifset COFF +@ifset COFF-ELF The example uses the traditional section names @samp{.text} and @samp{.data}. @end ifset Memory addresses are on the horizontal axis. @c TEXI2ROFF-KILL -@ifinfo +@ifnottex @c END TEXI2ROFF-KILL @smallexample +-----+----+--+ @@ -2817,10 +2823,10 @@ linked program: | |TTT|ttttt| |dddd|DDD|00000| addresses: 0 @dots{} @end smallexample @c TEXI2ROFF-KILL -@end ifinfo +@end ifnottex @need 5000 @tex - +\bigskip \line{\it Partial program \#1: \hfil} \line{\ibox{2.5cm}{\tt text}\ibox{2cm}{\tt data}\ibox{1cm}{\tt bss}\hfil} \line{\boxit{2.5cm}{\tt ttttt}\boxit{2cm}{\tt dddd}\boxit{1cm}{\tt 00}\hfil} @@ -2878,7 +2884,7 @@ it in the expr section. @cindex grouping data @ifset aout-bout Assembled bytes -@ifset COFF +@ifset COFF-ELF conventionally @end ifset fall into two sections: text and data. @@ -2944,9 +2950,9 @@ data subsections as a data section. To specify which subsection you want subsequent statements assembled into, use a numeric argument to specify it, in a @samp{.text @var{expression}} or a @samp{.data @var{expression}} statement. -@ifset COFF +@ifset COFF-ELF @ifset GENERIC -When generating COFF output, you +When generating COFF or ELF output, you @end ifset @ifclear GENERIC You @@ -3727,13 +3733,18 @@ Some machine configurations provide additional directives. * Sbttl:: @code{.sbttl "@var{subheading}"} @ifset COFF * Scl:: @code{.scl @var{class}} -* Section:: @code{.section @var{name}, @var{subsection}} +@end ifset +@ifset COFF-ELF +* Section:: @code{.section @var{name}} @end ifset * Set:: @code{.set @var{symbol}, @var{expression}} * Short:: @code{.short @var{expressions}} * Single:: @code{.single @var{flonums}} +@ifset COFF-ELF * Size:: @code{.size [@var{name} , @var{expression}]} +@end ifset + * Skip:: @code{.skip @var{size} , @var{fill}} * Sleb128:: @code{.sleb128 @var{expressions}} * Space:: @code{.space @var{size} , @var{fill}} @@ -3754,7 +3765,10 @@ Some machine configurations provide additional directives. * Text:: @code{.text @var{subsection}} * Title:: @code{.title "@var{heading}"} +@ifset COFF-ELF * Type:: @code{.type <@var{int} | @var{name} , @var{type description}>} +@end ifset + * Uleb128:: @code{.uleb128 @var{expressions}} @ifset COFF * Val:: @code{.val @var{addr}} @@ -4230,8 +4244,8 @@ partial programs. You may need the HPPA-only @code{.EXPORT} directive as well. @node Hidden @section @code{.hidden @var{names}} -@cindex @code{.hidden} directive -@cindex Visibility +@cindex @code{hidden} directive +@cindex visibility This one of the ELF visibility directives. The other two are @code{.internal} (@pxref{Internal,,@code{.internal}}) and @code{.protected} (@pxref{Protected,,@code{.protected}}). @@ -4406,8 +4420,8 @@ integers. On the H8/300H and the Hitachi SH, however, @code{.int} emits @node Internal @section @code{.internal @var{names}} -@cindex @code{.internal} directive -@cindex Visibility +@cindex @code{internal} directive +@cindex visibility This one of the ELF visibility directives. The other two are @code{.hidden} (@pxref{Hidden,,@code{.hidden}}) and @code{.protected} (@pxref{Protected,,@code{.protected}}). @@ -4415,7 +4429,7 @@ This one of the ELF visibility directives. The other two are This directive overrides the named symbols default visibility (which is set by their binding: local, global or weak). The directive sets the visibility to @code{internal} which means that the symbols are considered to be @code{hidden} -(ie not visible to other components), and that some extra, processor specific +(i.e., not visible to other components), and that some extra, processor specific processing must also be performed upon the symbols as well. @end ifset @@ -4850,7 +4864,7 @@ undefined. @node Previous @section @code{.previous} -@cindex @code{.previous} directive +@cindex @code{previous} directive @cindex Section Stack This is one of the ELF section stack manipulation directives. The others are @code{.section} (@pxref{Section}), @code{.subsection} (@pxref{SubSection}), @@ -4870,7 +4884,7 @@ the top section on the section stack. @node PopSection @section @code{.popsection} -@cindex @code{.popsection} directive +@cindex @code{popsection} directive @cindex Section Stack This is one of the ELF section stack manipulation directives. The others are @code{.section} (@pxref{Section}), @code{.subsection} (@pxref{SubSection}), @@ -4893,8 +4907,8 @@ assembly. You must put @var{string} in double quotes. @node Protected @section @code{.protected @var{names}} -@cindex @code{.protected} directive -@cindex Visibility +@cindex @code{protected} directive +@cindex visibility This one of the ELF visibility directives. The other two are @code{.hidden} (@pxref{Hidden}) and @code{.internal} (@pxref{Internal}). @@ -4937,7 +4951,7 @@ expanded. @xref{Macro}. @node PushSection @section @code{.pushsection @var{name} , @var{subsection}} -@cindex @code{.pushsection} directive +@cindex @code{pushsection} directive @cindex Section Stack This is one of the ELF section stack manipulation directives. The others are @code{.section} (@pxref{Section}), @code{.subsection} (@pxref{SubSection}), @@ -5025,10 +5039,10 @@ accepts this directive but ignores it. @end ifset @end ifset +@ifset COFF-ELF @node Section -@section @code{.section @var{name}} (COFF version) +@section @code{.section @var{name}} -@cindex @code{section} directive @cindex named section Use the @code{.section} directive to assemble the following code into a section named @var{name}. @@ -5037,6 +5051,13 @@ This directive is only supported for targets that actually support arbitrarily named sections; on @code{a.out} targets, for example, it is not accepted, even with a standard @code{a.out} section name. +@ifset COFF +@ifset ELF +@c only print the extra heading if both COFF and ELF are set +@subheading COFF Version +@end ifset + +@cindex @code{section} directive (COFF version) For COFF targets, the @code{.section} directive is used in one of the following ways: @@ -5074,20 +5095,21 @@ will be as if no flags had been specified at all. If the optional argument to the @code{.section} directive is not quoted, it is taken as a subsegment number (@pxref{Sub-Sections}). +@end ifset - -@section @code{.section @var{name}} (ELF version) - -@cindex @code{section} directive -@cindex named section @ifset ELF +@ifset COFF +@c only print the extra heading if both COFF and ELF are set +@subheading ELF Version +@end ifset + @cindex Section Stack This is one of the ELF section stack manipulation directives. The others are @code{.subsection} (@pxref{SubSection}), @code{.pushsection} (@pxref{PushSection}), @code{.popsection} (@pxref{PopSection}), and @code{.previous} (@pxref{Previous}). -@end ifset +@cindex @code{section} directive (ELF version) For ELF targets, the @code{.section} directive is used like this: @smallexample @@ -5155,6 +5177,8 @@ This directive replaces the current section and subsection. The replaced section and subsection are pushed onto the section stack. See the contents of the gas testsuite directory @code{gas/testsuite/gas/elf} for some examples of how this directive and the other section stack directives work. +@end ifset +@end ifset @node Set @section @code{.set @var{symbol}, @var{expression}} @@ -5215,27 +5239,52 @@ numbers in @sc{ieee} format. @end ifset @end ifclear +@ifset COFF-ELF @node Size -@section @code{.size} (COFF version) +@section @code{.size} -@cindex @code{size} directive -This directive is generated by compilers to include auxiliary debugging -information in the symbol table. It is only permitted inside -@code{.def}/@code{.endef} pairs. +This directive is used to set the size associated with a symbol. + +@ifset COFF +@ifset ELF +@c only print the extra heading if both COFF and ELF are set +@subheading COFF Version +@end ifset + +@cindex @code{size} directive (COFF version) +For COFF targets, the @code{.size} directive is only permitted inside +@code{.def}/@code{.endef} pairs. It is used like this: + +@smallexample +.size @var{expression} +@end smallexample @ifset BOUT @samp{.size} is only meaningful when generating COFF format output; when @command{@value{AS}} is generating @code{b.out}, it accepts this directive but ignores it. @end ifset +@end ifset -@section @code{.size @var{name} , @var{expression}} (ELF version) -@cindex @code{size} directive +@ifset ELF +@ifset COFF +@c only print the extra heading if both COFF and ELF are set +@subheading ELF Version +@end ifset + +@cindex @code{size} directive (ELF version) +For ELF targets, the @code{.size} directive is used like this: -This directive is used to set the size associated with a symbol @var{name}. +@smallexample +.size @var{name} , @var{expression} +@end smallexample + +This directive sets the size associated with a symbol @var{name}. The size in bytes is computed from @var{expression} which can make use of label arithmetic. This directive is typically used to set the size of function symbols. +@end ifset +@end ifset @node Sleb128 @section @code{.sleb128 @var{expressions}} @@ -5393,7 +5442,7 @@ before further assembly. @node SubSection @section @code{.subsection @var{name}} -@cindex @code{.subsection} directive +@cindex @code{subsection} directive @cindex Section Stack This is one of the ELF section stack manipulation directives. The others are @code{.section} (@pxref{Section}), @code{.pushsection} (@pxref{PushSection}), @@ -5500,27 +5549,54 @@ source file name and pagenumber) when generating assembly listings. This directive affects subsequent pages, as well as the current page if it appears within ten lines of the top of a page. +@ifset COFF-ELF @node Type -@section @code{.type @var{int}} (COFF version) +@section @code{.type} + +This directive is used to set the type of a symbol. + +@ifset COFF +@ifset ELF +@c only print the extra heading if both COFF and ELF are set +@subheading COFF Version +@end ifset @cindex COFF symbol type @cindex symbol type, COFF -@cindex @code{type} directive -This directive, permitted only within @code{.def}/@code{.endef} pairs, -records the integer @var{int} as the type attribute of a symbol table entry. +@cindex @code{type} directive (COFF version) +For COFF targets, this directive is permitted only within +@code{.def}/@code{.endef} pairs. It is used like this: + +@smallexample +.type @var{int} +@end smallexample + +This records the integer @var{int} as the type attribute of a symbol table +entry. @ifset BOUT @samp{.type} is associated only with COFF format output; when @command{@value{AS}} is configured for @code{b.out} output, it accepts this directive but ignores it. @end ifset +@end ifset -@section @code{.type @var{name} , @var{type description}} (ELF version) +@ifset ELF +@ifset COFF +@c only print the extra heading if both COFF and ELF are set +@subheading ELF Version +@end ifset @cindex ELF symbol type @cindex symbol type, ELF -@cindex @code{type} directive -This directive is used to set the type of symbol @var{name} to be either a +@cindex @code{type} directive (ELF version) +For ELF targets, the @code{.type} directive is used like this: + +@smallexample +.type @var{name} , @var{type description} +@end smallexample + +This sets the type of symbol @var{name} to be either a function symbol or an object symbol. There are five different syntaxes supported for the @var{type description} field, in order to provide compatibility with various other assemblers. The syntaxes supported are: @@ -5541,6 +5617,8 @@ compatibility with various other assemblers. The syntaxes supported are: .type <name> STT_FUNCTION .type <name> STT_OBJECT @end smallexample +@end ifset +@end ifset @node Uleb128 @section @code{.uleb128 @var{expressions}} @@ -5571,7 +5649,7 @@ configured for @code{b.out}, it accepts this directive but ignores it. @node Version @section @code{.version "@var{string}"} -@cindex @code{.version} +@cindex @code{version} directive This directive creates a @code{.note} section and places into it an ELF formatted note of type NT_VERSION. The note's name is set to @code{string}. @end ifset @@ -5580,14 +5658,14 @@ formatted note of type NT_VERSION. The note's name is set to @code{string}. @node VTableEntry @section @code{.vtable_entry @var{table}, @var{offset}} -@cindex @code{.vtable_entry} +@cindex @code{vtable_entry} This directive finds or creates a symbol @code{table} and creates a @code{VTABLE_ENTRY} relocation for it with an addend of @code{offset}. @node VTableInherit @section @code{.vtable_inherit @var{child}, @var{parent}} -@cindex @code{.vtable_inherit} +@cindex @code{vtable_inherit} This directive finds the symbol @code{child} and finds or creates the symbol @code{parent} and then creates a @code{VTABLE_INHERIT} relocation for the parent whose addend is the value of the child symbol. As a special case the @@ -5598,7 +5676,7 @@ parent name of @code{0} is treated as refering the @code{*ABS*} section. @node Weak @section @code{.weak @var{names}} -@cindex @code{.weak} +@cindex @code{weak} directive This directive sets the weak attribute on the comma separated list of symbol @code{names}. If the symbols do not already exist, they will be created. @end ifset @@ -5984,7 +6062,7 @@ information that enables us to fix the bug. @end menu @node Bug Criteria -@section Have you found a bug? +@section Have You Found a Bug? @cindex bug criteria If you are not sure whether you have found a bug, here are some guidelines: @@ -6013,7 +6091,7 @@ of @command{@value{AS}} are welcome in any case. @end itemize @node Bug Reporting -@section How to report bugs +@section How to Report Bugs @cindex bug reports @cindex assembler bugs, reporting @@ -6047,9 +6125,9 @@ it is new to us. Therefore, always write your bug reports on the assumption that the bug has not been reported previously. Sometimes people give a few sketchy facts and ask, ``Does this ring a -bell?'' Those bug reports are useless, and we urge everyone to -@emph{refuse to respond to them} except to chide the sender to report -bugs properly. +bell?'' This cannot help us fix a bug, so it is basically useless. We +respond by asking for enough details to enable us to investigate. +You might as well expedite matters by sending them to begin with. To enable us to fix the bug, you should include all these things: @@ -6219,7 +6297,7 @@ targets. John Gilmore built the AMD 29000 support, added @code{.include} support, and simplified the configuration of which versions accept which directives. He updated the 68k machine description so that Motorola's opcodes always produced -fixed-size instructions (e.g. @code{jsr}), while synthetic instructions +fixed-size instructions (e.g., @code{jsr}), while synthetic instructions remained shrinkable (@code{jbsr}). John fixed many bugs, including true tested cross-compilation support, and one bug in relaxation that took a week and required the proverbial one-bit fix. @@ -6244,7 +6322,7 @@ Jeff Law at the University of Utah (HPPA mainly), Michael Meissner of the Open Software Foundation (i386 mainly), and Ken Raeburn of Cygnus Support (sparc, and some initial 64-bit support). -Linas Vepstas added GAS support for the ESA/390 "IBM 370" architecture. +Linas Vepstas added GAS support for the ESA/390 ``IBM 370'' architecture. Richard Henderson rewrote the Alpha assembler. Klaus Kaempf wrote GAS and BFD support for openVMS/Alpha. @@ -6260,368 +6338,7 @@ you have contributed significant work and are not mentioned on this list, and want to be, let us know. Some of the history has been lost; we are not intentionally leaving anyone out. -@node GNU Free Documentation License -@chapter GNU Free Documentation License - - GNU Free Documentation License - - Version 1.1, March 2000 - - Copyright (C) 2000 Free Software Foundation, Inc. - 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - - Everyone is permitted to copy and distribute verbatim copies - of this license document, but changing it is not allowed. - - -0. PREAMBLE - -The purpose of this License is to make a manual, textbook, or other -written document "free" in the sense of freedom: to assure everyone -the effective freedom to copy and redistribute it, with or without -modifying it, either commercially or noncommercially. Secondarily, -this License preserves for the author and publisher a way to get -credit for their work, while not being considered responsible for -modifications made by others. - -This License is a kind of "copyleft", which means that derivative -works of the document must themselves be free in the same sense. It -complements the GNU General Public License, which is a copyleft -license designed for free software. - -We have designed this License in order to use it for manuals for free -software, because free software needs free documentation: a free -program should come with manuals providing the same freedoms that the -software does. But this License is not limited to software manuals; -it can be used for any textual work, regardless of subject matter or -whether it is published as a printed book. We recommend this License -principally for works whose purpose is instruction or reference. - - -1. APPLICABILITY AND DEFINITIONS - -This License applies to any manual or other work that contains a -notice placed by the copyright holder saying it can be distributed -under the terms of this License. The "Document", below, refers to any -such manual or work. Any member of the public is a licensee, and is -addressed as "you". - -A "Modified Version" of the Document means any work containing the -Document or a portion of it, either copied verbatim, or with -modifications and/or translated into another language. - -A "Secondary Section" is a named appendix or a front-matter section of -the Document that deals exclusively with the relationship of the -publishers or authors of the Document to the Document's overall subject -(or to related matters) and contains nothing that could fall directly -within that overall subject. (For example, if the Document is in part a -textbook of mathematics, a Secondary Section may not explain any -mathematics.) The relationship could be a matter of historical -connection with the subject or with related matters, or of legal, -commercial, philosophical, ethical or political position regarding -them. - -The "Invariant Sections" are certain Secondary Sections whose titles -are designated, as being those of Invariant Sections, in the notice -that says that the Document is released under this License. - -The "Cover Texts" are certain short passages of text that are listed, -as Front-Cover Texts or Back-Cover Texts, in the notice that says that -the Document is released under this License. - -A "Transparent" copy of the Document means a machine-readable copy, -represented in a format whose specification is available to the -general public, whose contents can be viewed and edited directly and -straightforwardly with generic text editors or (for images composed of -pixels) generic paint programs or (for drawings) some widely available -drawing editor, and that is suitable for input to text formatters or -for automatic translation to a variety of formats suitable for input -to text formatters. A copy made in an otherwise Transparent file -format whose markup has been designed to thwart or discourage -subsequent modification by readers is not Transparent. A copy that is -not "Transparent" is called "Opaque". - -Examples of suitable formats for Transparent copies include plain -ASCII without markup, Texinfo input format, LaTeX input format, SGML -or XML using a publicly available DTD, and standard-conforming simple -HTML designed for human modification. Opaque formats include -PostScript, PDF, proprietary formats that can be read and edited only -by proprietary word processors, SGML or XML for which the DTD and/or -processing tools are not generally available, and the -machine-generated HTML produced by some word processors for output -purposes only. - -The "Title Page" means, for a printed book, the title page itself, -plus such following pages as are needed to hold, legibly, the material -this License requires to appear in the title page. For works in -formats which do not have any title page as such, "Title Page" means -the text near the most prominent appearance of the work's title, -preceding the beginning of the body of the text. - - -2. VERBATIM COPYING - -You may copy and distribute the Document in any medium, either -commercially or noncommercially, provided that this License, the -copyright notices, and the license notice saying this License applies -to the Document are reproduced in all copies, and that you add no other -conditions whatsoever to those of this License. You may not use -technical measures to obstruct or control the reading or further -copying of the copies you make or distribute. However, you may accept -compensation in exchange for copies. If you distribute a large enough -number of copies you must also follow the conditions in section 3. - -You may also lend copies, under the same conditions stated above, and -you may publicly display copies. - - -3. COPYING IN QUANTITY - -If you publish printed copies of the Document numbering more than 100, -and the Document's license notice requires Cover Texts, you must enclose -the copies in covers that carry, clearly and legibly, all these Cover -Texts: Front-Cover Texts on the front cover, and Back-Cover Texts on -the back cover. Both covers must also clearly and legibly identify -you as the publisher of these copies. The front cover must present -the full title with all words of the title equally prominent and -visible. You may add other material on the covers in addition. -Copying with changes limited to the covers, as long as they preserve -the title of the Document and satisfy these conditions, can be treated -as verbatim copying in other respects. - -If the required texts for either cover are too voluminous to fit -legibly, you should put the first ones listed (as many as fit -reasonably) on the actual cover, and continue the rest onto adjacent -pages. - -If you publish or distribute Opaque copies of the Document numbering -more than 100, you must either include a machine-readable Transparent -copy along with each Opaque copy, or state in or with each Opaque copy -a publicly-accessible computer-network location containing a complete -Transparent copy of the Document, free of added material, which the -general network-using public has access to download anonymously at no -charge using public-standard network protocols. If you use the latter -option, you must take reasonably prudent steps, when you begin -distribution of Opaque copies in quantity, to ensure that this -Transparent copy will remain thus accessible at the stated location -until at least one year after the last time you distribute an Opaque -copy (directly or through your agents or retailers) of that edition to -the public. - -It is requested, but not required, that you contact the authors of the -Document well before redistributing any large number of copies, to give -them a chance to provide you with an updated version of the Document. - - -4. MODIFICATIONS - -You may copy and distribute a Modified Version of the Document under -the conditions of sections 2 and 3 above, provided that you release -the Modified Version under precisely this License, with the Modified -Version filling the role of the Document, thus licensing distribution -and modification of the Modified Version to whoever possesses a copy -of it. In addition, you must do these things in the Modified Version: - -A. Use in the Title Page (and on the covers, if any) a title distinct - from that of the Document, and from those of previous versions - (which should, if there were any, be listed in the History section - of the Document). You may use the same title as a previous version - if the original publisher of that version gives permission. -B. List on the Title Page, as authors, one or more persons or entities - responsible for authorship of the modifications in the Modified - Version, together with at least five of the principal authors of the - Document (all of its principal authors, if it has less than five). -C. State on the Title page the name of the publisher of the - Modified Version, as the publisher. -D. Preserve all the copyright notices of the Document. -E. Add an appropriate copyright notice for your modifications - adjacent to the other copyright notices. -F. Include, immediately after the copyright notices, a license notice - giving the public permission to use the Modified Version under the - terms of this License, in the form shown in the Addendum below. -G. Preserve in that license notice the full lists of Invariant Sections - and required Cover Texts given in the Document's license notice. -H. Include an unaltered copy of this License. -I. Preserve the section entitled "History", and its title, and add to - it an item stating at least the title, year, new authors, and - publisher of the Modified Version as given on the Title Page. If - there is no section entitled "History" in the Document, create one - stating the title, year, authors, and publisher of the Document as - given on its Title Page, then add an item describing the Modified - Version as stated in the previous sentence. -J. Preserve the network location, if any, given in the Document for - public access to a Transparent copy of the Document, and likewise - the network locations given in the Document for previous versions - it was based on. These may be placed in the "History" section. - You may omit a network location for a work that was published at - least four years before the Document itself, or if the original - publisher of the version it refers to gives permission. -K. In any section entitled "Acknowledgements" or "Dedications", - preserve the section's title, and preserve in the section all the - substance and tone of each of the contributor acknowledgements - and/or dedications given therein. -L. Preserve all the Invariant Sections of the Document, - unaltered in their text and in their titles. Section numbers - or the equivalent are not considered part of the section titles. -M. Delete any section entitled "Endorsements". Such a section - may not be included in the Modified Version. -N. Do not retitle any existing section as "Endorsements" - or to conflict in title with any Invariant Section. - -If the Modified Version includes new front-matter sections or -appendices that qualify as Secondary Sections and contain no material -copied from the Document, you may at your option designate some or all -of these sections as invariant. To do this, add their titles to the -list of Invariant Sections in the Modified Version's license notice. -These titles must be distinct from any other section titles. - -You may add a section entitled "Endorsements", provided it contains -nothing but endorsements of your Modified Version by various -parties--for example, statements of peer review or that the text has -been approved by an organization as the authoritative definition of a -standard. - -You may add a passage of up to five words as a Front-Cover Text, and a -passage of up to 25 words as a Back-Cover Text, to the end of the list -of Cover Texts in the Modified Version. Only one passage of -Front-Cover Text and one of Back-Cover Text may be added by (or -through arrangements made by) any one entity. If the Document already -includes a cover text for the same cover, previously added by you or -by arrangement made by the same entity you are acting on behalf of, -you may not add another; but you may replace the old one, on explicit -permission from the previous publisher that added the old one. - -The author(s) and publisher(s) of the Document do not by this License -give permission to use their names for publicity for or to assert or -imply endorsement of any Modified Version. - - -5. COMBINING DOCUMENTS - -You may combine the Document with other documents released under this -License, under the terms defined in section 4 above for modified -versions, provided that you include in the combination all of the -Invariant Sections of all of the original documents, unmodified, and -list them all as Invariant Sections of your combined work in its -license notice. - -The combined work need only contain one copy of this License, and -multiple identical Invariant Sections may be replaced with a single -copy. If there are multiple Invariant Sections with the same name but -different contents, make the title of each such section unique by -adding at the end of it, in parentheses, the name of the original -author or publisher of that section if known, or else a unique number. -Make the same adjustment to the section titles in the list of -Invariant Sections in the license notice of the combined work. - -In the combination, you must combine any sections entitled "History" -in the various original documents, forming one section entitled -"History"; likewise combine any sections entitled "Acknowledgements", -and any sections entitled "Dedications". You must delete all sections -entitled "Endorsements." - - -6. COLLECTIONS OF DOCUMENTS - -You may make a collection consisting of the Document and other documents -released under this License, and replace the individual copies of this -License in the various documents with a single copy that is included in -the collection, provided that you follow the rules of this License for -verbatim copying of each of the documents in all other respects. - -You may extract a single document from such a collection, and distribute -it individually under this License, provided you insert a copy of this -License into the extracted document, and follow this License in all -other respects regarding verbatim copying of that document. - - -7. AGGREGATION WITH INDEPENDENT WORKS - -A compilation of the Document or its derivatives with other separate -and independent documents or works, in or on a volume of a storage or -distribution medium, does not as a whole count as a Modified Version -of the Document, provided no compilation copyright is claimed for the -compilation. Such a compilation is called an "aggregate", and this -License does not apply to the other self-contained works thus compiled -with the Document, on account of their being thus compiled, if they -are not themselves derivative works of the Document. - -If the Cover Text requirement of section 3 is applicable to these -copies of the Document, then if the Document is less than one quarter -of the entire aggregate, the Document's Cover Texts may be placed on -covers that surround only the Document within the aggregate. -Otherwise they must appear on covers around the whole aggregate. - - -8. TRANSLATION - -Translation is considered a kind of modification, so you may -distribute translations of the Document under the terms of section 4. -Replacing Invariant Sections with translations requires special -permission from their copyright holders, but you may include -translations of some or all Invariant Sections in addition to the -original versions of these Invariant Sections. You may include a -translation of this License provided that you also include the -original English version of this License. In case of a disagreement -between the translation and the original English version of this -License, the original English version will prevail. - - -9. TERMINATION - -You may not copy, modify, sublicense, or distribute the Document except -as expressly provided for under this License. Any other attempt to -copy, modify, sublicense or distribute the Document is void, and will -automatically terminate your rights under this License. However, -parties who have received copies, or rights, from you under this -License will not have their licenses terminated so long as such -parties remain in full compliance. - - -10. FUTURE REVISIONS OF THIS LICENSE - -The Free Software Foundation may publish new, revised versions -of the GNU Free Documentation License from time to time. Such new -versions will be similar in spirit to the present version, but may -differ in detail to address new problems or concerns. See -http://www.gnu.org/copyleft/. - -Each version of the License is given a distinguishing version number. -If the Document specifies that a particular numbered version of this -License "or any later version" applies to it, you have the option of -following the terms and conditions either of that specified version or -of any later version that has been published (not as a draft) by the -Free Software Foundation. If the Document does not specify a version -number of this License, you may choose any version ever published (not -as a draft) by the Free Software Foundation. - - -ADDENDUM: How to use this License for your documents - -To use this License in a document you have written, include a copy of -the License in the document and put the following copyright and -license notices just after the title page: - -@smallexample - Copyright (c) YEAR YOUR NAME. - Permission is granted to copy, distribute and/or modify this document - under the terms of the GNU Free Documentation License, Version 1.1 - or any later version published by the Free Software Foundation; - with the Invariant Sections being LIST THEIR TITLES, with the - Front-Cover Texts being LIST, and with the Back-Cover Texts being LIST. - A copy of the license is included in the section entitled "GNU - Free Documentation License". -@end smallexample - -If you have no Invariant Sections, write "with no Invariant Sections" -instead of saying which ones are invariant. If you have no -Front-Cover Texts, write "no Front-Cover Texts" instead of -"Front-Cover Texts being LIST"; likewise for Back-Cover Texts. - -If your document contains nontrivial examples of program code, we -recommend releasing these examples in parallel under your choice of -free software license, such as the GNU General Public License, -to permit their use in free software. +@include fdl.texi @node Index @unnumbered Index |