aboutsummaryrefslogtreecommitdiff
path: root/gas/doc/as.texinfo
diff options
context:
space:
mode:
authorNick Clifton <nickc@redhat.com>2003-02-21 10:35:07 +0000
committerNick Clifton <nickc@redhat.com>2003-02-21 10:35:07 +0000
commitc12536277750567d79cc50bd79525bad6f8e28ab (patch)
treea560755b914b725c39b615def956a1c8f54122d5 /gas/doc/as.texinfo
parent947ed062ce4393c28d91a339a855089402cb3ff3 (diff)
downloadgdb-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.texinfo593
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