2001-01-13 Philip Blundell <philb@gnu.org>
[external/binutils.git] / gas / doc / as.texinfo
index bc0928a..fb80ca5 100644 (file)
@@ -1,5 +1,5 @@
 \input texinfo @c                               -*-Texinfo-*-
-@c  Copyright (c) 1991, 92, 93, 94, 95, 96, 97, 98, 2000
+@c  Copyright (c) 1991, 92, 93, 94, 95, 96, 97, 98, 2000, 2001
 @c  Free Software Foundation, Inc.
 @c UPDATE!!  On future updates--
 @c   (1)   check for new machine-dep cmdline options in
@@ -87,7 +87,7 @@ END-INFO-DIR-ENTRY
 @ifinfo
 This file documents the GNU Assembler "@value{AS}".
 
-Copyright (C) 1991, 92, 93, 94, 95, 96, 97, 98, 99, 2000 Free Software Foundation, Inc.
+Copyright (C) 1991, 92, 93, 94, 95, 96, 97, 98, 99, 2000, 2001 Free Software Foundation, Inc.
 
       Permission is granted to copy, distribute and/or modify this document
       under the terms of the GNU Free Documentation License, Version 1.1
@@ -138,7 +138,7 @@ done.
 @end tex
 
 @vskip 0pt plus 1filll
-Copyright @copyright{} 1991, 92, 93, 94, 95, 96, 97, 98, 99, 2000 Free Software Foundation, Inc.
+Copyright @copyright{} 1991, 92, 93, 94, 95, 96, 97, 98, 99, 2000, 2001 Free Software Foundation, Inc.
 
       Permission is granted to copy, distribute and/or modify this document
       under the terms of the GNU Free Documentation License, Version 1.1
@@ -208,7 +208,8 @@ Here is a brief summary of how to invoke @code{@value{AS}}.  For details,
 @c am29k has no machine-dependent assembler options
 @end ifset
 @ifset ARC
- [ -mbig-endian | -mlittle-endian ]
+ [ -marc[5|6|7|8] ]
+ [ -EB | -EL ]
 @end ifset
 @ifset ARM
  [ -m[arm]1 | -m[arm]2 | -m[arm]250 | -m[arm]3 | -m[arm]6 | -m[arm]60 |
@@ -217,7 +218,7 @@ Here is a brief summary of how to invoke @code{@value{AS}}.  For details,
    -m[arm]810 | -m[arm]9 | -m[arm]920 | -m[arm]920t | -m[arm]9tdmi |
    -mstrongarm | -mstrongarm110 | -mstrongarm1100 ]
  [ -m[arm]v2 | -m[arm]v2a | -m[arm]v3 | -m[arm]v3m | -m[arm]v4 | -m[arm]v4t |
-   -m[arm]v5 | -[arm]v5t ]
+   -m[arm]v5 | -[arm]v5t | -[arm]v5te ]
  [ -mthumb | -mall ]
  [ -mfpa10 | -mfpa11 | -mfpe-old | -mno-fpu ]
  [ -EB | -EL ]
@@ -416,17 +417,10 @@ The following options are available when @value{AS} is configured for
 an ARC processor.
 
 @table @code
-
-@cindex ARC endianness
-@cindex endianness, ARC
-@cindex big endian output, ARC
-@item -mbig-endian
-Generate ``big endian'' format output.
-
-@cindex little endian output, ARC
-@item -mlittle-endian
-Generate ``little endian'' format output.
-
+@item -marc[5|6|7|8]
+This option selects the core processor variant.
+@item -EB | -EL
+Select either big-endian (-EB) or little-endian (-EL) output.
 @end table
 @end ifset
 
@@ -442,7 +436,7 @@ Specify which ARM architecture variant is used by the target.
 @item -mthumb | -mall
 Enable or disable Thumb only instruction decoding.
 @item -mfpa10 | -mfpa11 | -mfpe-old | -mno-fpu
-Select which Floating Point architcture is the target.
+Select which Floating Point architecture is the target.
 @item -mapcs-32 | -mapcs-26 | -mapcs-float | -mapcs-reentrant | -moabi
 Select which procedure calling convention is in use.
 @item -EB | -EL
@@ -748,7 +742,7 @@ The command line option @samp{-nojsri2bsr} can be used to disable it.
 @item -sifilter
 @itemx -nosifilter
 Enable or disable the silicon filter behaviour.  By default this is disabled.
-The default can be overidden by the @samp{-sifilter} command line option.
+The default can be overridden by the @samp{-sifilter} command line option.
 
 @item -relax
 Alter jump instructions for long displacements.
@@ -1036,7 +1030,7 @@ information for the debugger.
 @node Errors
 @section Error and Warning Messages
 
-@cindex error messsages
+@cindex error messages
 @cindex warning messages
 @cindex messages from assembler
 @code{@value{AS}} may write warnings and error messages to the standard error
@@ -2406,7 +2400,7 @@ in the data section.
 @cindex bss section
 @item bss section
 This section contains zeroed bytes when your program begins running.  It
-is used to hold unitialized variables or common storage.  The length of
+is used to hold uninitialized variables or common storage.  The length of
 each partial program's bss section is important, but because it starts
 out containing zeroed bytes there is no need to store explicit zero
 bytes in the object file.  The bss section was invented to eliminate
@@ -3797,7 +3791,8 @@ partial programs.  You may need the HPPA-only @code{.EXPORT} directive as well.
 @cindex @code{.hidden} directive
 @cindex Visibility
 This one of the ELF visibility directives.  The other two are
-@pxref{Internal,,@code{.internal}} and @pxref{Protected,,@code{.protected}}
+@code{.internal} (@pxref{Internal,,@code{.internal}}) and 
+@code{.protected} (@pxref{Protected,,@code{.protected}}).
 
 This directive overrides the named symbols default visibility (which is set by
 their binding: local, global or weak).  The directive sets the visibility to
@@ -3954,7 +3949,8 @@ integers.  On the H8/300H and the Hitachi SH, however, @code{.int} emits
 @cindex @code{.internal} directive
 @cindex Visibility
 This one of the ELF visibility directives.  The other two are
-@pxref{Hidden,,@code{.hidden}} and @pxref{Protected,,@code{.protected}}
+@code{.hidden} (@pxref{Hidden,,@code{.hidden}}) and 
+@code{.protected} (@pxref{Protected,,@code{.protected}}).
 
 This directive overrides the named symbols default visibility (which is set by
 their binding: local, global or weak).  The directive sets the visibility to
@@ -4397,8 +4393,9 @@ undefined.
 @cindex @code{.previous} directive
 @cindex Section Stack
 This is one of the ELF section stack manipulation directives.  The others are
-@pxref{Section}, @xref{SubSection}, @pxref{PushSection}, and
-@pxref{PopSection}.
+@code{.section} (@pxref{Section}), @code{.subsection} (@pxref{SubSection}),
+@code{.pushsection} (@pxref{PushSection}), and @code{.popsection}
+(@pxref{PopSection}).
 
 This directive swaps the current section (and subsection) with most recently
 referenced section (and subsection) prior to this one.  Multiple
@@ -4416,8 +4413,9 @@ the top section on the section stack.
 @cindex @code{.popsection} directive
 @cindex Section Stack
 This is one of the ELF section stack manipulation directives.  The others are
-@pxref{Section}, @xref{SubSection}, @pxref{PushSection}, and
-@pxref{Previous}.
+@code{.section} (@pxref{Section}), @code{.subsection} (@pxref{SubSection}), 
+@code{.pushsection} (@pxref{PushSection}), and @code{.previous} 
+(@pxref{Previous}).
 
 This directive replaces the current section (and subsection) with the top
 section (and subsection) on the section stack.  This section is popped off the
@@ -4438,7 +4436,7 @@ assembly.  You must put @var{string} in double quotes.
 @cindex @code{.protected} directive
 @cindex Visibility
 This one of the ELF visibility directives.  The other two are
-@pxref{Hidden} and @pxref{Internal}
+@code{.hidden} (@pxref{Hidden}) and @code{.internal} (@pxref{Internal}).
 
 This directive overrides the named symbols default visibility (which is set by
 their binding: local, global or weak).  The directive sets the visibility to
@@ -4482,10 +4480,11 @@ expanded.  @xref{Macro}.
 @cindex @code{.pushsection} directive
 @cindex Section Stack
 This is one of the ELF section stack manipulation directives.  The others are
-@pxref{Section}, @xref{SubSection}, @pxref{PopSection}, and
-@pxref{Previous}.
+@code{.section} (@pxref{Section}), @code{.subsection} (@pxref{SubSection}), 
+@code{.popsection} (@pxref{PopSection}), and @code{.previous} 
+(@pxref{Previous}).
 
-This directive is a synonym for @code{.section}.  It psuhes the current section
+This directive is a synonym for @code{.section}.  It pushes the current section
 (and subsection) onto the top of the section stack, and then replaces the
 current section and subsection with @code{name} and @code{subsection}.
 @end ifset
@@ -4620,8 +4619,9 @@ taken as a subsegment number (@pxref{Sub-Sections}).
 @ifset ELF
 @cindex Section Stack
 This is one of the ELF section stack manipulation directives.  The others are
-@xref{SubSection}, @pxref{PushSection}@pxref{PopSection}, and
-@pxref{Previous}.
+@code{.subsection} (@pxref{SubSection}), @code{.pushsection} 
+(@pxref{PushSection}), @code{.popsection} (@pxref{PopSection}), and
+@code{.previous} (@pxref{Previous}).
 @end ifset
 
 For ELF targets, the @code{.section} directive is used like this:
@@ -4631,7 +4631,7 @@ For ELF targets, the @code{.section} directive is used like this:
 @end smallexample
 
 The optional @var{flags} argument is a quoted string which may contain any
-combintion of the following characters:
+combination of the following characters:
 @table @code
 @item a
 section is allocatable
@@ -4917,8 +4917,9 @@ before further assembly.
 @cindex @code{.subsection} directive
 @cindex Section Stack
 This is one of the ELF section stack manipulation directives.  The others are
-@pxref{Section}, @xref{PushSection}, @pxref{PopSection}, and
-@pxref{Previous}.
+@code{.section} (@pxref{Section}), @code{.pushsection} (@pxref{PushSection}), 
+@code{.popsection} (@pxref{PopSection}), and @code{.previous} 
+(@pxref{Previous}).
 
 This directive replaces the current subsection with @code{name}.  The current
 section is not changed.  The replaced subsection is put onto the section stack
@@ -4967,7 +4968,7 @@ Another usage of the @code{.symver} directive is:
 .symver @var{name}, @var{name2@@@@nodename}
 @end smallexample
 In this case, the symbol @var{name} must exist and be defined within
-the file being assembled. It is similiar to @var{name2@@nodename}. The
+the file being assembled. It is similar to @var{name2@@nodename}. The
 difference is @var{name2@@@@nodename} will also be used to resolve
 references to @var{name2} by the linker.
 
@@ -5041,9 +5042,9 @@ directive but ignores it.
 @cindex symbol type, ELF
 @cindex @code{type} directive
 This directive is used to set the type of symbol @var{name} to be either a
-function symbol or an ojbect symbol.  There are five different syntaxes
+function symbol or an object symbol.  There are five different syntaxes
 supported for the @var{type description} field, in order to provide
-comptability with various other assemblers.  The syntaxes supported are:
+compatibility with various other assemblers.  The syntaxes supported are:
 
 @smallexample
   .type <name>,#function
@@ -5110,7 +5111,7 @@ This directive finds or creates a symbol @code{table} and creates a
 @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 whoes addend is the value of the child symbol.  As a special case the
+parent whose addend is the value of the child symbol.  As a special case the
 parent name of @code{0} is treated as refering the @code{*ABS*} section.
 @end ifset
 
@@ -5119,7 +5120,7 @@ parent name of @code{0} is treated as refering the @code{*ABS*} section.
 @section @code{.weak @var{names}}
 
 @cindex @code{.weak}
-This directive sets the weak attribute on the comma seperated list of symbol
+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
 
@@ -5160,7 +5161,7 @@ interest to you does 32-bit addressing (or doesn't require it;
 
 @end ifset
 In order to assemble compiler output into something that works,
-@code{@value{AS}} occasionlly does strange things to @samp{.word} directives.
+@code{@value{AS}} occasionally does strange things to @samp{.word} directives.
 Directives of the form @samp{.word sym1-sym2} are often emitted by
 compilers as part of jump tables.  Therefore, when @code{@value{AS}} assembles a
 directive of the form @samp{.word sym1-sym2}, and the difference between
@@ -5302,80 +5303,7 @@ subject, see the hardware manufacturer's manual.
 @c in both conditional blocks.
 
 @ifset ARC
-@ifset GENERIC
-@page
-@node ARC-Dependent
-@chapter ARC Dependent Features
-@end ifset
-@ifclear GENERIC
-@node Machine Dependencies
-@chapter ARC Dependent Features
-@end ifclear
-
-@cindex ARC support
-@menu
-* ARC-Opts::                    Options
-* ARC-Float::                   Floating Point
-* ARC-Directives::              Sparc Machine Directives
-@end menu
-
-@node ARC-Opts
-@section Options
-
-@cindex options for ARC
-@cindex ARC options
-@cindex architectures, ARC
-@cindex ARC architectures
-The ARC chip family includes several successive levels (or other
-variants) of chip, using the same core instruction set, but including
-a few additional instructions at each level.
-
-By default, @code{@value{AS}} assumes the core instruction set (ARC
-base).  The @code{.cpu} pseudo-op is intended to be used to select
-the variant.
-
-@table @code
-@cindex @code{-mbig-endian} option (ARC)
-@cindex @code{-mlittle-endian} option (ARC)
-@cindex ARC big-endian output
-@cindex ARC little-endian output
-@cindex big-endian output, ARC
-@cindex little-endian output, ARC
-@item -mbig-endian
-@itemx -mlittle-endian
-Any @sc{arc} configuration of @code{@value{AS}} can select big-endian or
-little-endian output at run time (unlike most other @sc{gnu} development
-tools, which must be configured for one or the other).  Use
-@samp{-mbig-endian} to select big-endian output, and @samp{-mlittle-endian}
-for little-endian.
-@end table
-
-@node ARC-Float
-@section Floating Point
-
-@cindex floating point, ARC (@sc{ieee})
-@cindex ARC floating point (@sc{ieee})
-The ARC cpu family currently does not have hardware floating point
-support.  Software floating point support is provided by @code{GCC}
-and uses @sc{ieee} floating-point numbers.
-
-@node ARC-Directives
-@section ARC Machine Directives
-
-@cindex ARC machine directives
-@cindex machine directives, ARC
-The ARC version of @code{@value{AS}} supports the following additional
-machine directives:
-
-@table @code
-@item .cpu
-@cindex @code{cpu} directive, SPARC
-This must be followed by the desired cpu.
-The ARC is intended to be customizable, @code{.cpu} is used to
-select the desired variant [though currently there are none].
-
-@end table
-
+@include c-arc.texi
 @end ifset
 
 @ifset A29K