aboutsummaryrefslogtreecommitdiff
path: root/gas
diff options
context:
space:
mode:
Diffstat (limited to 'gas')
-rw-r--r--gas/ChangeLog9
-rw-r--r--gas/config/tc-arm.c33
-rw-r--r--gas/doc/Makefile.am21
-rw-r--r--gas/doc/Makefile.in50
-rw-r--r--gas/doc/as.11511
-rw-r--r--gas/doc/as.texinfo119
-rw-r--r--gas/testsuite/gas/mips/mips.exp2
7 files changed, 1048 insertions, 697 deletions
diff --git a/gas/ChangeLog b/gas/ChangeLog
index 09a99fb..5bf7135 100644
--- a/gas/ChangeLog
+++ b/gas/ChangeLog
@@ -1,3 +1,12 @@
+2001-03-23 Stephane Carrez <Stephane.Carrez@worldnet.fr>
+
+ * doc/as.texinfo: Put @c man begin to generate the as man page.
+ When generating man, define all the variables. Re-organize some
+ options to obtain better indentation of man page.
+ * doc/Makefile.am (MANCONF, TEXI2POD, POD2MAN): New variable.
+ (as.1): Build from as.texinfo.
+ * doc/Makefile.in: Regenerate.Index: binutils/Makefile.am
+
2001-03-25 Alan Modra <alan@linuxcare.com.au>
* config/tc-i386.c (i386_scale): Accept an absolute expression for
diff --git a/gas/config/tc-arm.c b/gas/config/tc-arm.c
index 9843e1f..e5f0c13 100644
--- a/gas/config/tc-arm.c
+++ b/gas/config/tc-arm.c
@@ -8424,7 +8424,38 @@ arm_frob_label (sym)
ARM_SET_INTERWORK (sym, support_interwork);
#endif
- if (label_is_thumb_function_name)
+ /* Note - do not allow local symbols (.Lxxx) to be labeled
+ as Thumb functions. This is because these labels, whilst
+ they exist inside Thumb code, are not the entry points for
+ possible ARM->Thumb calls. Also, these labels can be used
+ as part of a computed goto or switch statement. eg gcc
+ can generate code that looks like this:
+
+ ldr r2, [pc, .Laaa]
+ lsl r3, r3, #2
+ ldr r2, [r3, r2]
+ mov pc, r2
+
+ .Lbbb: .word .Lxxx
+ .Lccc: .word .Lyyy
+ ..etc...
+ .Laaa: .word Lbbb
+
+ The first instruction loads the address of the jump table.
+ The second instruction converts a table index into a byte offset.
+ The third instruction gets the jump address out of the table.
+ The fourth instruction performs the jump.
+
+ If the address stored at .Laaa is that of a symbol which has the
+ Thumb_Func bit set, then the linker will arrange for this address
+ to have the bottom bit set, which in turn would mean that the
+ address computation performed by the third instruction would end
+ up with the bottom bit set. Since the ARM is capable of unaligned
+ word loads, the instruction would then load the incorrect address
+ out of the jump table, and chaos would ensue. */
+ if (label_is_thumb_function_name
+ && (S_GET_NAME (sym)[0] != '.' || S_GET_NAME (sym)[1] != 'L')
+ && (bfd_get_section_flags (stdoutput, now_seg) & SEC_CODE) != 0)
{
/* When the address of a Thumb function is taken the bottom
bit of that address should be set. This will allow
diff --git a/gas/doc/Makefile.am b/gas/doc/Makefile.am
index 95b02b7..5cd20f8 100644
--- a/gas/doc/Makefile.am
+++ b/gas/doc/Makefile.am
@@ -5,6 +5,13 @@ AUTOMAKE_OPTIONS = cygnus
# What version of the manual you want; "all" includes everything
CONFIG=all
+# Options to extract the man page from as.texinfo
+MANCONF = -Dman
+
+TEXI2POD = perl $(top_srcdir)/../etc/texi2pod.pl
+
+POD2MAN = pod2man --center="GNU" --release="binutils-$(VERSION)" --section=1
+
man_MANS = as.1
info_TEXINFOS = as.texinfo gasp.texi
@@ -55,3 +62,17 @@ noinst_TEXINFOS = internals.texi
DISTCLEANFILES = asconfig.texi
MAINTAINERCLEANFILES = gasver.texi
+
+# Maintenance
+
+# Build the man page from the texinfo file
+# The sed command removes the no-adjust Nroff command so that
+# the man output looks standard.
+$(srcdir)/as.1: $(srcdir)/as.texinfo
+ touch $(srcdir)/as.1
+ -$(TEXI2POD) $(MANCONF) < $(srcdir)/as.texinfo > as.pod
+ -($(POD2MAN) as.pod | \
+ sed -e '/^.if n .na/d' > $(srcdir)/as.1.T$$$$ && \
+ mv -f $(srcdir)/as.1.T$$$$ $(srcdir)/as.1) || \
+ (rm -f $(srcdir)/as.1.T$$$$ && exit 1)
+
diff --git a/gas/doc/Makefile.in b/gas/doc/Makefile.in
index a76d109..578f8dc 100644
--- a/gas/doc/Makefile.in
+++ b/gas/doc/Makefile.in
@@ -121,35 +121,18 @@ AUTOMAKE_OPTIONS = cygnus
# What version of the manual you want; "all" includes everything
CONFIG = all
+# Options to extract the man page from as.texinfo
+MANCONF = -Dman
+
+TEXI2POD = perl $(top_srcdir)/../etc/texi2pod.pl
+
+POD2MAN = pod2man --center="GNU" --release="binutils-$(VERSION)" --section=1
+
man_MANS = as.1
info_TEXINFOS = as.texinfo gasp.texi
-CPU_DOCS = \
- c-a29k.texi \
- c-arc.texi \
- c-arm.texi \
- c-d10v.texi \
- c-h8300.texi \
- c-h8500.texi \
- c-hppa.texi \
- c-i370.texi \
- c-i386.texi \
- c-i860.texi \
- c-i960.texi \
- c-m32r.texi \
- c-m68hc11.texi \
- c-m68k.texi \
- c-mips.texi \
- c-ns32k.texi \
- c-pdp11.texi \
- c-pj.texi \
- c-sh.texi \
- c-sparc.texi \
- c-tic54x.texi \
- c-vax.texi \
- c-v850.texi \
- c-z8k.texi
+CPU_DOCS = c-a29k.texi c-arc.texi c-arm.texi c-d10v.texi c-h8300.texi c-h8500.texi c-hppa.texi c-i370.texi c-i386.texi c-i860.texi c-i960.texi c-m32r.texi c-m68hc11.texi c-m68k.texi c-mips.texi c-ns32k.texi c-pdp11.texi c-pj.texi c-sh.texi c-sparc.texi c-tic54x.texi c-vax.texi c-v850.texi c-z8k.texi
# This one isn't ready for prime time yet. Not even a little bit.
@@ -176,7 +159,7 @@ DIST_COMMON = Makefile.am Makefile.in
DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST)
-TAR = tar
+TAR = gtar
GZIP_ENV = --best
all: all-redirect
.SUFFIXES:
@@ -357,7 +340,7 @@ distdir: $(DISTFILES)
@for file in $(DISTFILES); do \
if test -f $$file; then d=.; else d=$(srcdir); fi; \
if test -d $$d/$$file; then \
- cp -pr $$d/$$file $(distdir)/$$file; \
+ cp -pr $$/$$file $(distdir)/$$file; \
else \
test -f $(distdir)/$$file \
|| ln $$d/$$file $(distdir)/$$file 2> /dev/null \
@@ -448,6 +431,19 @@ gasver.texi: Makefile
as.info: $(srcdir)/as.texinfo asconfig.texi gasver.texi $(CPU_DOCS)
as.dvi: $(srcdir)/as.texinfo asconfig.texi gasver.texi $(CPU_DOCS)
+# Maintenance
+
+# Build the man page from the texinfo file
+# The sed command removes the no-adjust Nroff command so that
+# the man output looks standard.
+$(srcdir)/as.1: $(srcdir)/as.texinfo
+ touch $(srcdir)/as.1
+ -$(TEXI2POD) $(MANCONF) < $(srcdir)/as.texinfo > as.pod
+ -($(POD2MAN) as.pod | \
+ sed -e '/^.if n .na/d' > $(srcdir)/as.1.T$$$$ && \
+ mv -f $(srcdir)/as.1.T$$$$ $(srcdir)/as.1) || \
+ (rm -f $(srcdir)/as.1.T$$$$ && exit 1)
+
# Tell versions [3.59,3.63) of GNU make to not export all variables.
# Otherwise a system limit (for SysV at least) may be exceeded.
.NOEXPORT:
diff --git a/gas/doc/as.1 b/gas/doc/as.1
index 856000d..01f7666 100644
--- a/gas/doc/as.1
+++ b/gas/doc/as.1
@@ -1,667 +1,890 @@
-.\" Copyright 1991, 1992, 1995, 1996, 1997, 1998, 2000
-.\" Free Software Foundation, Inc.
-.\" See section COPYING for conditions for redistribution
-.TH as 1 "29 March 1996" "Free Software Foundation" "GNU Development Tools"
-
-.SH NAME
-GNU as \- the portable GNU assembler.
-
-.SH SYNOPSIS
-.na
-.B as
-.RB "[\|" \-a "[\|" dhlns "\|]" \c
-\&[\|\=\c
-.I file\c
-\&\|]\|]
-.RB "[\|" \-D "\|]"
-.RB "[\|" \-\-defsym\ SYM=VAL "\|]"
-.RB "[\|" \-f "\|]"
-.RB "[\|" \-\-gstabs "\|]"
-.RB "[\|" \-I
-.I path\c
-\&\|]
-.RB "[\|" \-K "\|]"
-.RB "[\|" \-L "\|]"
-.RB "[\|" \-M\ |\ \-\-mri "\|]"
-.RB "[\|" \-o
-.I objfile\c
-\&\|]
-.RB "[\|" \-R "\|]"
-.RB "[\|" \-\-traditional\-format "\|]"
-.RB "[\|" \-v "\|]"
-.RB "[\|" \-w "\|]"
-.RB "[\|" \-\^\- "\ |\ " \c
-.I files\c
-\&\|.\|.\|.\|]
-
-.I i960-only options:
+.rn '' }`
+''' $RCSfile$$Revision$$Date$
+'''
+''' $Log$
+''' Revision 1.7 2001/03/25 20:32:29 nickc
+''' Automate generate on man pages
+'''
+'''
+.de Sh
.br
-.RB "[\|" \-ACA "\||\|" \-ACA_A "\||\|" \-ACB\c
-.RB "\||\|" \-ACC "\||\|" \-AKA "\||\|" \-AKB\c
-.RB "\||\|" \-AKC "\||\|" \-AMC "\|]"
-.RB "[\|" \-b "\|]"
-.RB "[\|" \-no-relax "\|]"
-
-.I m680x0-only options:
+.if t .Sp
+.ne 5
+.PP
+\fB\\$1\fR
+.PP
+..
+.de Sp
+.if t .sp .5v
+.if n .sp
+..
+.de Ip
.br
-.RB "[\|" \-l "\|]"
-.RB "[\|" \-mc68000 "\||\|" \-mc68010 "\||\|" \-mc68020 "\|]"
-.ad b
-
-.SH DESCRIPTION
-GNU \c
-.B as\c
-\& is really a family of assemblers.
+.ie \\n(.$>=3 .ne \\$3
+.el .ne 3
+.IP "\\$1" \\$2
+..
+.de Vb
+.ft CW
+.nf
+.ne \\$1
+..
+.de Ve
+.ft R
+
+.fi
+..
+'''
+'''
+''' Set up \*(-- to give an unbreakable dash;
+''' string Tr holds user defined translation string.
+''' Bell System Logo is used as a dummy character.
+'''
+.tr \(*W-|\(bv\*(Tr
+.ie n \{\
+.ds -- \(*W-
+.ds PI pi
+.if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
+.if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch
+.ds L" ""
+.ds R" ""
+''' \*(M", \*(S", \*(N" and \*(T" are the equivalent of
+''' \*(L" and \*(R", except that they are used on ".xx" lines,
+''' such as .IP and .SH, which do another additional levels of
+''' double-quote interpretation
+.ds M" """
+.ds S" """
+.ds N" """""
+.ds T" """""
+.ds L' '
+.ds R' '
+.ds M' '
+.ds S' '
+.ds N' '
+.ds T' '
+'br\}
+.el\{\
+.ds -- \(em\|
+.tr \*(Tr
+.ds L" ``
+.ds R" ''
+.ds M" ``
+.ds S" ''
+.ds N" ``
+.ds T" ''
+.ds L' `
+.ds R' '
+.ds M' `
+.ds S' '
+.ds N' `
+.ds T' '
+.ds PI \(*p
+'br\}
+.\" If the F register is turned on, we'll generate
+.\" index entries out stderr for the following things:
+.\" TH Title
+.\" SH Header
+.\" Sh Subsection
+.\" Ip Item
+.\" X<> Xref (embedded
+.\" Of course, you have to process the output yourself
+.\" in some meaninful fashion.
+.if \nF \{
+.de IX
+.tm Index:\\$1\t\\n%\t"\\$2"
+..
+.nr % 0
+.rr F
+.\}
+.TH AS 1 "binutils-2.11.90" "23/Mar/101" "GNU"
+.UC
+.if n .hy 0
+.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
+.de CQ \" put $1 in typewriter font
+.ft CW
+'if n "\c
+'if t \\&\\$1\c
+'if n \\&\\$1\c
+'if n \&"
+\\&\\$2 \\$3 \\$4 \\$5 \\$6 \\$7
+'.ft R
+..
+.\" @(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2
+. \" AM - accent mark definitions
+.bd B 3
+. \" fudge factors for nroff and troff
+.if n \{\
+. ds #H 0
+. ds #V .8m
+. ds #F .3m
+. ds #[ \f1
+. ds #] \fP
+.\}
+.if t \{\
+. ds #H ((1u-(\\\\n(.fu%2u))*.13m)
+. ds #V .6m
+. ds #F 0
+. ds #[ \&
+. ds #] \&
+.\}
+. \" simple accents for nroff and troff
+.if n \{\
+. ds ' \&
+. ds ` \&
+. ds ^ \&
+. ds , \&
+. ds ~ ~
+. ds ? ?
+. ds ! !
+. ds /
+. ds q
+.\}
+.if t \{\
+. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
+. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
+. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
+. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
+. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
+. ds ? \s-2c\h'-\w'c'u*7/10'\u\h'\*(#H'\zi\d\s+2\h'\w'c'u*8/10'
+. ds ! \s-2\(or\s+2\h'-\w'\(or'u'\v'-.8m'.\v'.8m'
+. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
+. ds q o\h'-\w'o'u*8/10'\s-4\v'.4m'\z\(*i\v'-.4m'\s+4\h'\w'o'u*8/10'
+.\}
+. \" troff and (daisy-wheel) nroff accents
+.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
+.ds 8 \h'\*(#H'\(*b\h'-\*(#H'
+.ds v \\k:\h'-(\\n(.wu*9/10-\*(#H)'\v'-\*(#V'\*(#[\s-4v\s0\v'\*(#V'\h'|\\n:u'\*(#]
+.ds _ \\k:\h'-(\\n(.wu*9/10-\*(#H+(\*(#F*2/3))'\v'-.4m'\z\(hy\v'.4m'\h'|\\n:u'
+.ds . \\k:\h'-(\\n(.wu*8/10)'\v'\*(#V*4/10'\z.\v'-\*(#V*4/10'\h'|\\n:u'
+.ds 3 \*(#[\v'.2m'\s-2\&3\s0\v'-.2m'\*(#]
+.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
+.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
+.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
+.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
+.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
+.ds ae a\h'-(\w'a'u*4/10)'e
+.ds Ae A\h'-(\w'A'u*4/10)'E
+.ds oe o\h'-(\w'o'u*4/10)'e
+.ds Oe O\h'-(\w'O'u*4/10)'E
+. \" corrections for vroff
+.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
+.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
+. \" for low resolution devices (crt and lpr)
+.if \n(.H>23 .if \n(.V>19 \
+\{\
+. ds : e
+. ds 8 ss
+. ds v \h'-1'\o'\(aa\(ga'
+. ds _ \h'-1'^
+. ds . \h'-1'.
+. ds 3 3
+. ds o a
+. ds d- d\h'-1'\(ga
+. ds D- D\h'-1'\(hy
+. ds th \o'bp'
+. ds Th \o'LP'
+. ds ae ae
+. ds Ae AE
+. ds oe oe
+. ds Oe OE
+.\}
+.rm #[ #] #H #V #F C
+.SH "NAME"
+AS \- the portable GNU assembler.
+.SH "SYNOPSIS"
+as [ \-a[cdhlns][=file] ] [ \-D ] [ --defsym \fIsym\fR=\fIval\fR ]
+ [ \-f ] [ --gstabs ] [ --gdwarf2 ] [ --help ] [ \-I \fIdir\fR ]
+ [ \-J ] [ \-K ] [ \-L ]
+ [ --listing\*(--lhs-width=NUM ][ --listing-lhs-width2=NUM ]
+ [ --listing-rhs-width=NUM ][ --listing-cont-lines=NUM ]
+ [ --keep-locals ] [ \-o \fIobjfile\fR ] [ \-R ] [ --statistics ] [ \-v ]
+ [ \-version ] [ --version ] [ \-W ] [ --warn ] [ --fatal-warnings ]
+ [ \-w ] [ \-x ] [ \-Z ] [ --target-help ]
+ [ \-marc[5|6|7|8] ]
+ [ \-EB | \-EL ]
+ [ \-m[arm]1 | \-m[arm]2 | \-m[arm]250 | \-m[arm]3 |
+ \-m[arm]6 | \-m[arm]60 | \-m[arm]600 | \-m[arm]610 |
+ \-m[arm]620 | \-m[arm]7[t][[d]m[i]][fe] | \-m[arm]70 |
+ \-m[arm]700 | \-m[arm]710[c] | \-m[arm]7100 |
+ \-m[arm]7500 | \-m[arm]8 | \-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 |
+ \-[arm]v5te ]
+ [ \-mthumb | \-mall ]
+ [ \-mfpa10 | \-mfpa11 | \-mfpe-old | \-mno-fpu ]
+ [ \-EB | \-EL ]
+ [ \-mapcs-32 | \-mapcs-26 | \-mapcs-float |
+ \-mapcs-reentrant ]
+ [ \-mthumb-interwork ] [ \-moabi ] [ \-k ]
+ [ \-O ]
+ [ \-O | \-n | \-N ]
+ [ \-mb | \-me ]
+ [ \-Av6 | \-Av7 | \-Av8 | \-Asparclet | \-Asparclite
+ \-Av8plus | \-Av8plusa | \-Av9 | \-Av9a ]
+ [ \-xarch=v8plus | \-xarch=v8plusa ] [ \-bump ]
+ [ \-32 | \-64 ]
+ [ \-ACA | \-ACA_A | \-ACB | \-ACC | \-AKA | \-AKB |
+ \-AKC | \-AMC ]
+ [ \-b ] [ \-no-relax ]
+ [ --m32rx | --[no-]warn-explicit-parallel-conflicts |
+ --W[n]p ]
+ [ \-l ] [ \-m68000 | \-m68010 | \-m68020 | ... ]
+ [ \-jsri2bsr ] [ \-sifilter ] [ \-relax ]
+ [ \-mcpu=[210|340] ]
+ [ \-m68hc11 | \-m68hc12 ]
+ [ --force-long-branchs ] [ --short-branchs ]
+ [ --strict-direct-mode ] [ --print-insn-syntax ]
+ [ --print-opcodes ] [ --generate-example ]
+ [ \-nocpp ] [ \-EL ] [ \-EB ] [ \-G \fInum\fR ] [ \-mcpu=\fICPU\fR ]
+ [ \-mips1 ] [ \-mips2 ] [ \-mips3 ] [ \-mips4 ] [ \-mips5 ]
+ [ \-mips32 ] [ \-mips64 ]
+ [ \-m4650 ] [ \-no-m4650 ]
+ [ --trap ] [ --break ]
+ [ --emulation=\fIname\fR ]
+ [ -- | \fIfiles\fR ... ]
+.SH "DESCRIPTION"
+GNU \f(CWas\fR is really a family of assemblers.
If you use (or have used) the GNU assembler on one architecture, you
should find a fairly similar environment when you use it on another
architecture. Each version has much in common with the others,
including object file formats, most assembler directives (often called
-\c
-.I pseudo-ops)\c
-\& and assembler syntax.
-
-For information on the syntax and pseudo-ops used by GNU \c
-.B as\c
-\&, see `\|\c
-.B as\c
-\|' entry in \c
-.B info \c
-(or the manual \c
-.I
-.I
-Using as: The GNU Assembler\c
-\&).
-
-\c
-.B as\c
-\& is primarily intended to assemble the output of the GNU C
-compiler \c
-.B gcc\c
-\& for use by the linker \c
-.B ld\c
-\&. Nevertheless,
-we've tried to make \c
-.B as\c
-\& assemble correctly everything that the native
-assembler would.
-This doesn't mean \c
-.B as\c
-\& always uses the same syntax as another
+\fIpseudo-ops\fR) and assembler syntax.
+.PP
+\f(CWas\fR is primarily intended to assemble the output of the
+GNU C compiler \f(CW\fR for use by the linker
+\f(CW\fR. Nevertheless, we've tried to make \f(CWas\fR
+assemble correctly everything that other assemblers for the same
+machine would assemble.
+Any exceptions are documented explicitly.
+This doesn't mean \f(CWas\fR always uses the same syntax as another
assembler for the same architecture; for example, we know of several
incompatible versions of 680x0 assembly language syntax.
-
-Each time you run \c
-.B as\c
-\& it assembles exactly one source
+.PP
+Each time you run \f(CWas\fR it assembles exactly one source
program. The source program is made up of one or more files.
(The standard input is also a file.)
-
-If \c
-.B as\c
-\& is given no file names it attempts to read one input file
-from the \c
-.B as\c
-\& standard input, which is normally your terminal. You
-may have to type \c
-.B ctl-D\c
-\& to tell \c
-.B as\c
-\& there is no more program
-to assemble. Use `\|\c
-.B \-\^\-\c
-\|' if you need to explicitly name the standard input file
+.PP
+You give \f(CWas\fR a command line that has zero or more input file
+names. The input files are read (from left file name to right). A
+command line argument (in any position) that has no special meaning
+is taken to be an input file name.
+.PP
+If you give \f(CWas\fR no file names it attempts to read one input file
+from the \f(CWas\fR standard input, which is normally your terminal. You
+may have to type \fBctl-D\fR to tell \f(CWas\fR there is no more program
+to assemble.
+.PP
+Use \fB--\fR if you need to explicitly name the standard input file
in your command line.
-
-.B as\c
-\& may write warnings and error messages to the standard error
-file (usually your terminal). This should not happen when \c
-.B as\c
-\& is
-run automatically by a compiler. Warnings report an assumption made so
-that \c
-.B as\c
-\& could keep assembling a flawed program; errors report a
+.PP
+If the source is empty, \f(CWas\fR produces a small, empty object
+file.
+.PP
+\f(CWas\fR may write warnings and error messages to the standard error
+file (usually your terminal). This should not happen when a compiler
+runs \f(CWas\fR automatically. Warnings report an assumption made so
+that \f(CWas\fR could keep assembling a flawed program; errors report a
grave problem that stops the assembly.
-
-.SH OPTIONS
-.TP
-.BR \-a
-Turn on assembly listings. There are various suboptions.
-.B d
-omits debugging directives.
-.B h
-includes the high level source code; this is only available if the
-source file can be found, and the code was compiled with
-.B \-g.
-.B l
-includes an assembly listing.
-.B n
-omits forms processing.
-.B s
-includes a symbol listing.
-.B =
-.I file
-sets the listing file name; this must be the last suboption.
-The default suboptions are
-.B hls.
-.TP
-.B \-D
-This option is accepted only for script compatibility with calls to
-other assemblers; it has no effect on \c
-.B as\c
-\&.
-.TP
-.B \-\-defsym SYM=VALUE
-Define the symbol SYM to be VALUE before assembling the input file.
-VALUE must be an integer constant. As in C, a leading 0x indicates a
-hexadecimal value, and a leading 0 indicates an octal value.
-.TP
-.B \-f
-``fast''--skip preprocessing (assume source is compiler output).
-.TP
-.BI "\-I\ " path
-Add
-.I path
-to the search list for
-.B .include
-directives.
-.TP
-.B \-\-gstabs
+.PP
+If you are invoking \f(CWas\fR via the GNU C compiler (version 2),
+you can use the \fB\-Wa\fR option to pass arguments through to the assembler.
+The assembler arguments must be separated from each other (and the \fB\-Wa\fR)
+by commas. For example:
+.PP
+.Vb 2
+\&
+\& gcc -c -g -O -Wa,-alh,-L file.c
+.Ve
+This passes two options to the assembler: \fB\-alh\fR (emit a listing to
+standard output with with high-level and assembly source) and \fB\-L\fR (retain
+local symbols in the symbol table).
+.PP
+Usually you do not need to use this \fB\-Wa\fR mechanism, since many compiler
+command-line options are automatically passed to the assembler by the compiler.
+(You can call the GNU compiler driver with the \fB\-v\fR option to see
+precisely what options it passes to each compilation pass, including the
+assembler.)
+.SH "OPTIONS"
+.Ip "\f(CW-a[cdhlmns]\fR" 4
+Turn on listings, in any of a variety of ways:
+.Ip "\f(CW-ac\fR" 8
+omit false conditionals
+.Ip "\f(CW-ad\fR" 8
+omit debugging directives
+.Ip "\f(CW-ah\fR" 8
+include high-level source
+.Ip "\f(CW-al\fR" 8
+include assembly
+.Ip "\f(CW-am\fR" 8
+include macro expansions
+.Ip "\f(CW-an\fR" 8
+omit forms processing
+.Ip "\f(CW-as\fR" 8
+include symbols
+.Ip "\f(CW=file\fR" 8
+set the name of the listing file
+.Sp
+You may combine these options; for example, use \fB\-aln\fR for assembly
+listing without forms processing. The \fB=file\fR option, if used, must be
+the last one. By itself, \fB\-a\fR defaults to \fB\-ahls\fR.
+.Ip "\f(CW-D\fR" 4
+Ignored. This option is accepted for script compatibility with calls to
+other assemblers.
+.Ip "\f(CW--defsym \fIsym\fR=\fIvalue\fR\fR" 4
+Define the symbol \fIsym\fR to be \fIvalue\fR before assembling the input file.
+\fIvalue\fR must be an integer constant. As in C, a leading \fB0x\fR
+indicates a hexadecimal value, and a leading \fB0\fR indicates an octal value.
+.Ip "\f(CW-f\fR" 4
+``fast'\*(R'---skip whitespace and comment preprocessing (assume source is
+compiler output).
+.Ip "\f(CW--gstabs\fR" 4
Generate stabs debugging information for each assembler line. This
may help debugging assembler code, if the debugger can handle it.
-.TP
-.B \-K
-Issue warnings when difference tables altered for long displacements.
-.TP
-.B \-L
-Keep (in symbol table) local symbols, starting with `\|\c
-.B L\c
-\|'
-.TP
-.B \-M, \-\-mri
-Assemble in MRI compatibility mode.
-.TP
-.BI "\-o\ " objfile
-Name the object-file output from \c
-.B as
-.TP
-.B \-R
-Fold data section into text section
-.TP
-.B \-\-traditional\-format
-Use same format as native assembler, when possible.
-.TP
-.B \-v
-Announce \c
-.B as\c
-\& version
-.TP
-.B \-W, \-\-no-warn
+.Ip "\f(CW--gdwarf2\fR" 4
+Generate \s-1DWARF2\s0 debugging information for each assembler line. 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.
+.Ip "\f(CW--help\fR" 4
+Print a summary of the command line options and exit.
+.Ip "\f(CW--target-help\fR" 4
+Print a summary of all target specific options and exit.
+.Ip "\f(CW-I \fIdir\fR\fR" 4
+Add directory \fIdir\fR to the search list for \f(CW.include\fR directives.
+.Ip "\f(CW-J\fR" 4
+Don't warn about signed overflow.
+.Ip "\f(CW-K\fR" 4
+This option is accepted but has no effect on the \s-1TARGET\s0 family.
+.Ip "\f(CW-L\fR" 4
+.Ip "\f(CW--keep-locals\fR" 4
+Keep (in the symbol table) local symbols. On traditional a.out systems
+these start with \fBL\fR, but different systems have different local
+label prefixes.
+.Ip "\f(CW--listing-lhs-width=\fInumber\fR\fR" 4
+Set the maximum width, in words, of the output data column for an assembler
+listing to \fInumber\fR.
+.Ip "\f(CW--listing-lhs-width2=\fInumber\fR\fR" 4
+Set the maximum width, in words, of the output data column for continuation
+lines in an assembler listing to \fInumber\fR.
+.Ip "\f(CW--listing-rhs-width=\fInumber\fR\fR" 4
+Set the maximum width of an input source line, as displayed in a listing, to
+\fInumber\fR bytes.
+.Ip "\f(CW--listing-cont-lines=\fInumber\fR\fR" 4
+Set the maximum number of lines printed in a listing for a single line of input
+to \fInumber\fR + 1.
+.Ip "\f(CW-o \fIobjfile\fR\fR" 4
+Name the object-file output from \f(CWas\fR \fIobjfile\fR.
+.Ip "\f(CW-R\fR" 4
+Fold the data section into the text section.
+.Ip "\f(CW--statistics\fR" 4
+Print the maximum space (in bytes) and total time (in seconds) used by
+assembly.
+.Ip "\f(CW--strip-local-absolute\fR" 4
+Remove local absolute symbols from the outgoing symbol table.
+.Ip "\f(CW-v\fR" 4
+.Ip "\f(CW-version\fR" 4
+Print the \f(CWas\fR version.
+.Ip "\f(CW--version\fR" 4
+Print the \f(CWas\fR version and exit.
+.Ip "\f(CW-W\fR" 4
+.Ip "\f(CW--no-warn\fR" 4
Suppress warning messages.
-.TP
-.B \-\-fatal\-warnings
-Consider warnings to be fatal.
-.TP
-.B \-\-warn
-Just warn on warnings.
-.TP
-.IR "\-\^\-" "\ |\ " "files\|.\|.\|."
-Source files to assemble, or standard input (\c
-.BR "\-\^\-" ")"
-.TP
-.BI \-A var
-.I
-(When configured for Intel 960.)
+.Ip "\f(CW--fatal-warnings\fR" 4
+Treat warnings as errors.
+.Ip "\f(CW--warn\fR" 4
+Don't suppress warning messages or treat them as errors.
+.Ip "\f(CW-w\fR" 4
+Ignored.
+.Ip "\f(CW-x\fR" 4
+Ignored.
+.Ip "\f(CW-Z\fR" 4
+Generate an object file even after errors.
+.Ip "\f(CW-- | \fIfiles\fR ...\fR" 4
+Standard input, or source files to assemble.
+.PP
+The following options are available when as is configured for
+an \s-1ARC\s0 processor.
+.Ip "\f(CW-marc[5|6|7|8]\fR" 4
+This option selects the core processor variant.
+.Ip "\f(CW-EB | -EL\fR" 4
+Select either big-endian (\-\s-1EB\s0) or little-endian (\-\s-1EL\s0) output.
+.PP
+The following options are available when as is configured for the \s-1ARM\s0
+processor family.
+.Ip "\f(CW-m[arm][1|2|3|6|7|8|9][...] \fR" 4
+Specify which \s-1ARM\s0 processor variant is the target.
+.Ip "\f(CW-m[arm]v[2|2a|3|3m|4|4t|5|5t]\fR" 4
+Specify which \s-1ARM\s0 architecture variant is used by the target.
+.Ip "\f(CW-mthumb | -mall\fR" 4
+Enable or disable Thumb only instruction decoding.
+.Ip "\f(CW-mfpa10 | -mfpa11 | -mfpe-old | -mno-fpu\fR" 4
+Select which Floating Point architecture is the target.
+.Ip "\f(CW-mapcs-32 | -mapcs-26 | -mapcs-float | -mapcs-reentrant | -moabi\fR" 4
+Select which procedure calling convention is in use.
+.Ip "\f(CW-EB | -EL\fR" 4
+Select either big-endian (\-\s-1EB\s0) or little-endian (\-\s-1EL\s0) output.
+.Ip "\f(CW-mthumb-interwork\fR" 4
+Specify that the code has been generated with interworking between Thumb and
+\s-1ARM\s0 code in mind.
+.Ip "\f(CW-k\fR" 4
+Specify that \s-1PIC\s0 code has been generated.
+.PP
+The following options are available when as is configured for
+a D10V processor.
+.Ip "\f(CW-O\fR" 4
+Optimize output by parallelizing instructions.
+.PP
+The following options are available when as is configured for a D30V
+processor.
+.Ip "\f(CW-O\fR" 4
+Optimize output by parallelizing instructions.
+.Ip "\f(CW-n\fR" 4
+Warn when nops are generated.
+.Ip "\f(CW-N\fR" 4
+Warn when a nop after a 32-bit multiply instruction is generated.
+.PP
+The following options are available when as is configured for the
+Intel 80960 processor.
+.Ip "\f(CW-ACA | -ACA_A | -ACB | -ACC | -AKA | -AKB | -AKC | -AMC\fR" 4
Specify which variant of the 960 architecture is the target.
-.TP
-.B \-b
-.I
-(When configured for Intel 960.)
+.Ip "\f(CW-b\fR" 4
Add code to collect statistics about branches taken.
-.TP
-.B \-no-relax
-.I
-(When configured for Intel 960.)
+.Ip "\f(CW-no-relax\fR" 4
Do not alter compare-and-branch instructions for long displacements;
error if necessary.
-.TP
-.B \-l
-.I
-(When configured for Motorola 68000).
-.br
+.PP
+The following options are available when as is configured for the
+Mitsubishi M32R series.
+.Ip "\f(CW--m32rx\fR" 4
+Specify which processor in the M32R family is the target. The default
+is normally the M32R, but this option changes it to the M32RX.
+.Ip "\f(CW--warn-explicit-parallel-conflicts or --Wp\fR" 4
+Produce warning messages when questionable parallel constructs are
+encountered.
+.Ip "\f(CW--no-warn-explicit-parallel-conflicts or --Wnp\fR" 4
+Do not produce warning messages when questionable parallel constructs are
+encountered.
+.PP
+The following options are available when as is configured for the
+Motorola 68000 series.
+.Ip "\f(CW-l\fR" 4
Shorten references to undefined symbols, to one word instead of two.
-.TP
-.BR "\-mc68000" "\||\|" "\-mc68010" "\||\|" "\-mc68020"
-.I
-(When configured for Motorola 68000).
-.br
-Specify what processor in the 68000 family is the target (default 68020)
-
+.Ip "\f(CW-m68000 | -m68008 | -m68010 | -m68020 | -m68030\fR" 4
+.Ip "\f(CW| -m68040 | -m68060 | -m68302 | -m68331 | -m68332\fR" 4
+.Ip "\f(CW| -m68333 | -m68340 | -mcpu32 | -m5200\fR" 4
+Specify what processor in the 68000 family is the target. The default
+is normally the 68020, but this can be changed at configuration time.
+.Ip "\f(CW-m68881 | -m68882 | -mno-68881 | -mno-68882\fR" 4
+The target machine does (or does not) have a floating-point coprocessor.
+The default is to assume a coprocessor for 68020, 68030, and cpu32. Although
+the basic 68000 is not compatible with the 68881, a combination of the
+two can be specified, since it's possible to do emulation of the
+coprocessor instructions with the main processor.
+.Ip "\f(CW-m68851 | -mno-68851\fR" 4
+The target machine does (or does not) have a memory-management
+unit coprocessor. The default is to assume an \s-1MMU\s0 for 68020 and up.
.PP
-Options may be in any order, and may be
-before, after, or between file names. The order of file names is
-significant.
-
-`\|\c
-.B \-\^\-\c
-\|' (two hyphens) by itself names the standard input file
-explicitly, as one of the files for \c
-.B as\c
-\& to assemble.
-
-Except for `\|\c
-.B \-\^\-\c
-\|' any command line argument that begins with a
-hyphen (`\|\c
-.B \-\c
-\|') is an option. Each option changes the behavior of
-\c
-.B as\c
-\&. No option changes the way another option works. An
-option is a `\|\c
-.B \-\c
-\|' followed by one or more letters; the case of
-the letter is important. All options are optional.
-
-The `\|\c
-.B \-o\c
-\|' option expects exactly one file name to follow. The file
-name may either immediately follow the option's letter (compatible
-with older assemblers) or it may be the next command argument (GNU
-standard).
-
-These two command lines are equivalent:
-.br
-.B
-as\ \ \-o\ \ my\-object\-file.o\ \ mumble.s
-.br
-.B
-as\ \ \-omy\-object\-file.o\ \ mumble.s
-
+For details about the \s-1PDP\s0\-11 machine dependent features options,
+see \f(CW@ref\fR{\s-1PDP\s0\-11-Options}.
+.Ip "\f(CW-mpic | -mno-pic\fR" 4
+Generate position-independent (or position-dependent) code. The
+default is \f(CW-mpic\fR.
+.Ip "\f(CW-mall\fR" 4
+.Ip "\f(CW-mall-extensions\fR" 4
+Enable all instruction set extensions. This is the default.
+.Ip "\f(CW-mno-extensions\fR" 4
+Disable all instruction set extensions.
+.Ip "\f(CW-m\fIextension\fR | -mno-\fIextension\fR\fR" 4
+Enable (or disable) a particular instruction set extension.
+.Ip "\f(CW-m\fIcpu\fR\fR" 4
+Enable the instruction set extensions supported by a particular \s-1CPU\s0, and
+disable all other extensions.
+.Ip "\f(CW-m\fImachine\fR\fR" 4
+Enable the instruction set extensions supported by a particular machine
+model, and disable all other extensions.
+.PP
+The following options are available when as is configured for
+a picoJava processor.
+.Ip "\f(CW-mb\fR" 4
+Generate ``big endian'\*(R' format output.
+.Ip "\f(CW-ml\fR" 4
+Generate ``little endian'\*(R' format output.
+.PP
+The following options are available when as is configured for the
+Motorola 68HC11 or 68HC12 series.
+.Ip "\f(CW-m68hc11 | -m68hc12\fR" 4
+Specify what processor is the target. The default is
+defined by the configuration option when building the assembler.
+.Ip "\f(CW--force-long-branchs\fR" 4
+Relative branches are turned into absolute ones. This concerns
+conditional branches, unconditional branches and branches to a
+sub routine.
+.Ip "\f(CW-S | --short-branchs\fR" 4
+Do not turn relative branchs into absolute ones
+when the offset is out of range.
+.Ip "\f(CW--strict-direct-mode\fR" 4
+Do not turn the direct addressing mode into extended addressing mode
+when the instruction does not support direct addressing mode.
+.Ip "\f(CW--print-insn-syntax\fR" 4
+Print the syntax of instruction in case of error.
+.Ip "\f(CW--print-opcodes\fR" 4
+print the list of instructions with syntax and then exit.
+.Ip "\f(CW--generate-example\fR" 4
+print an example of instruction for each possible instruction and then exit.
+This option is only useful for testing \f(CWas\fR.
+.PP
+The following options are available when \f(CWas\fR is configured
+for the \s-1SPARC\s0 architecture:
+.Ip "\f(CW-Av6 | -Av7 | -Av8 | -Asparclet | -Asparclite\fR" 4
+.Ip "\f(CW-Av8plus | -Av8plusa | -Av9 | -Av9a\fR" 4
+Explicitly select a variant of the \s-1SPARC\s0 architecture.
+.Sp
+\fB\-Av8plus\fR and \fB\-Av8plusa\fR select a 32 bit environment.
+\fB\-Av9\fR and \fB\-Av9a\fR select a 64 bit environment.
+.Sp
+\fB\-Av8plusa\fR and \fB\-Av9a\fR enable the \s-1SPARC\s0 V9 instruction set with
+UltraSPARC extensions.
+.Ip "\f(CW-xarch=v8plus | -xarch=v8plusa\fR" 4
+For compatibility with the Solaris v9 assembler. These options are
+equivalent to \-Av8plus and \-Av8plusa, respectively.
+.Ip "\f(CW-bump\fR" 4
+Warn when the assembler switches to another architecture.
+.PP
+The following options are available when as is configured for
+a \s-1MIPS\s0 processor.
+.Ip "\f(CW-G \fInum\fR\fR" 4
+This option sets the largest size of an object that can be referenced
+implicitly with the \f(CWgp\fR register. It is only accepted for targets that
+use \s-1ECOFF\s0 format, such as a DECstation running Ultrix. The default value is 8.
+.Ip "\f(CW-EB\fR" 4
+Generate ``big endian'\*(R' format output.
+.Ip "\f(CW-EL\fR" 4
+Generate ``little endian'\*(R' format output.
+.Ip "\f(CW-mips1\fR" 4
+.Ip "\f(CW-mips2\fR" 4
+.Ip "\f(CW-mips3\fR" 4
+.Ip "\f(CW-mips4\fR" 4
+.Ip "\f(CW-mips32\fR" 4
+Generate code for a particular \s-1MIPS\s0 Instruction Set Architecture level.
+\fB\-mips1\fR corresponds to the R2000 and R3000 processors,
+\fB\-mips2\fR to the R6000 processor, and \fB\-mips3\fR to the R4000
+processor.
+\fB\-mips5\fR, \fB\-mips32\fR, and \fB\-mips64\fR correspond
+to generic \s-1MIPS\s0 V, \s-1MIPS32\s0, and \s-1MIPS64\s0 \s-1ISA\s0
+processors, respectively.
+.Ip "\f(CW-m4650\fR" 4
+.Ip "\f(CW-no-m4650\fR" 4
+Generate code for the \s-1MIPS\s0 R4650 chip. This tells the assembler to accept
+the \fBmad\fR and \fBmadu\fR instruction, and to not schedule \fBnop\fR
+instructions around accesses to the \fB\s-1HI\s0\fR and \fB\s-1LO\s0\fR registers.
+\fB\-no-m4650\fR turns off this option.
+.Ip "\f(CW-mcpu=\fICPU\fR\fR" 4
+Generate code for a particular \s-1MIPS\s0 cpu. It is exactly equivalent to
+\fB\-m\fR\fIcpu\fR, except that there are more value of \fIcpu\fR
+understood.
+.Ip "\f(CW--emulation=\fIname\fR\fR" 4
+This option causes \f(CWas\fR to emulate \f(CWas\fR configured
+for some other target, in all respects, including output format (choosing
+between \s-1ELF\s0 and \s-1ECOFF\s0 only), handling of pseudo-opcodes which may generate
+debugging information or store symbol table information, and default
+endianness. The available configuration names are: \fBmipsecoff\fR,
+\fBmipself\fR, \fBmipslecoff\fR, \fBmipsbecoff\fR, \fBmipslelf\fR,
+\fBmipsbelf\fR. The first two do not alter the default endianness from that
+of the primary target for which the assembler was configured; the others change
+the default to little- or big-endian as indicated by the \fBb\fR or \fBl\fR
+in the name. Using \fB\-\s-1EB\s0\fR or \fB\-\s-1EL\s0\fR will override the endianness
+selection in any case.
+.Sp
+This option is currently supported only when the primary target
+\f(CWas\fR is configured for is a \s-1MIPS\s0 \s-1ELF\s0 or \s-1ECOFF\s0 target.
+Furthermore, the primary target or others specified with
+\fB--enable-targets=...\fR at configuration time must include support for
+the other format, if both are to be available. For example, the Irix 5
+configuration includes support for both.
+.Sp
+Eventually, this option will support more configurations, with more
+fine-grained control over the assembler's behavior, and will be supported for
+more processors.
+.Ip "\f(CW-nocpp\fR" 4
+\f(CWas\fR ignores this option. It is accepted for compatibility with
+the native tools.
+.Ip "\f(CW--trap\fR" 4
+.Ip "\f(CW--no-trap\fR" 4
+.Ip "\f(CW--break\fR" 4
+.Ip "\f(CW--no-break\fR" 4
+Control how to deal with multiplication overflow and division by zero.
+\fB--trap\fR or \fB--no-break\fR (which are synonyms) take a trap exception
+(and only work for Instruction Set Architecture level 2 and higher);
+\fB--break\fR or \fB--no-trap\fR (also synonyms, and the default) take a
+break exception.
+.PP
+The following options are available when as is configured for
+an MCore processor.
+.Ip "\f(CW-jsri2bsr\fR" 4
+.Ip "\f(CW-nojsri2bsr\fR" 4
+Enable or disable the \s-1JSRI\s0 to \s-1BSR\s0 transformation. By default this is enabled.
+The command line option \fB\-nojsri2bsr\fR can be used to disable it.
+.Ip "\f(CW-sifilter\fR" 4
+.Ip "\f(CW-nosifilter\fR" 4
+Enable or disable the silicon filter behaviour. By default this is disabled.
+The default can be overridden by the \fB\-sifilter\fR command line option.
+.Ip "\f(CW-relax\fR" 4
+Alter jump instructions for long displacements.
+.Ip "\f(CW-mcpu=[210|340]\fR" 4
+Select the cpu type on the target hardware. This controls which instructions
+can be assembled.
+.Ip "\f(CW-EB\fR" 4
+Assemble for a big endian target.
+.Ip "\f(CW-EL\fR" 4
+Assemble for a little endian target.
.SH "SEE ALSO"
-.RB "`\|" as "\|'"
-entry in
-.B
-info\c
-\&;
-.I
-Using as: The GNU Assembler\c
-\&;
-.BR gcc "(" 1 "),"
-.BR ld "(" 1 ")."
-
-.SH COPYING
-Copyright (c) 1991, 1992, 2000 Free Software Foundation, Inc.
+\fIgcc\fR\|(1), \fIld\fR\|(1), and the Info entries for \fIbinutils\fR and \fIld\fR.
+.SH "COPYRIGHT"
+Copyright (C) 1991, 92, 93, 94, 95, 96, 97, 98, 99, 2000, 2001 Free Software Foundation, Inc.
.PP
-This document is distributed under the terms of the GNU Free
-Documentation License, version 1.1. That license is described in the
-sources for this manual page, but it is not displayed here in order to
-make this manual more consise. Copies of this license can also be
-obtained from: http://www.gnu.org/copyleft/.
-
-\" 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.
-\" .PP
-\" 0. PREAMBLE
-\" .PP
-\" 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.
-\" .PP
-\" 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.
-\" .PP
-\" 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.
-\" .PP
-\" 1. APPLICABILITY AND DEFINITIONS
-\" .PP
-\" 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".
-\" .PP
-\" 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.
-\" .PP
-\" 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.
-\" .PP
-\" 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.
-\" .PP
-\" 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.
-\" .PP
-\" 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".
-\" .PP
-\" 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.
-\" .PP
-\" 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.
-\" .PP
-\" 2. VERBATIM COPYING
-\" .PP
-\" 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.
-\" .PP
-\" You may also lend copies, under the same conditions stated above, and
-\" you may publicly display copies.
-\" .PP
-\" 3. COPYING IN QUANTITY
-\" .PP
-\" 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.
-\" .PP
-\" 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.
-\" .PP
-\" 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.
-\" .PP
-\" 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.
-\" .PP
-\" 4. MODIFICATIONS
-\" .PP
-\" 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:
-\" .PP
-\" 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.
-\" .PP
-\" 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).
-\" .PP
-\" C. State on the Title page the name of the publisher of the
-\" Modified Version, as the publisher.
-\" .PP
-\" D. Preserve all the copyright notices of the Document.
-\" .PP
-\" E. Add an appropriate copyright notice for your modifications
-\" adjacent to the other copyright notices.
-\" .PP
-\" 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.
-\" Preserve in that license notice the full lists of Invariant Sections
-\" and required Cover Texts given in the Document's license notice.
-\" .PP
-\" H. Include an unaltered copy of this License.
-\" .PP
-\" 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.
-\" .PP
-\" 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.
-\" .PP
-\" 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.
-\" .PP
-\" 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.
-\" .PP
-\" M. Delete any section entitled "Endorsements". Such a section
-\" may not be included in the Modified Version.
-\" .PP
-\" N. Do not retitle any existing section as "Endorsements"
-\" or to conflict in title with any Invariant Section.
-\" .PP
-\" 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.
-\" .PP
-\" 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.
-\" .PP
-\" 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.
-\" .PP
-\" 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.
-\" .PP
-
-\" 5. COMBINING DOCUMENTS
-\" .PP
-\" 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.
-\" .PP
-\" 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.
-\" .PP
-\" 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."
-\" .PP
-
-\" 6. COLLECTIONS OF DOCUMENTS
-\" .PP
-\" 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.
-\" .PP
-\" 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.
-\" .PP
-
-\" 7. AGGREGATION WITH INDEPENDENT WORKS
-\" .PP
-\" 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.
-\" .PP
-\" 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.
-\" .PP
-
-\" 8. TRANSLATION
-\" .PP
-\" 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.
-\" .PP
-
-\" 9. TERMINATION
-\" .PP
-\" 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.
-\" .PP
-
-\" 10. FUTURE REVISIONS OF THIS LICENSE
-\" .PP
-\" 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/.
-\" .PP
-\" 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.
-\" .PP
-
-\" ADDENDUM: How to use this License for your documents
-\" .PP
-\" 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:
-\" .PP
-\" 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".
-\" .PP
-\" 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.
-\" .PP
-\" 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.
+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 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 \*(L"GNU Free Documentation License\*(R".
+
+.rn }` ''
+.IX Title "AS 1"
+.IX Name "AS - the portable GNU assembler."
+
+.IX Header "NAME"
+
+.IX Header "SYNOPSIS"
+
+.IX Header "DESCRIPTION"
+
+.IX Header "OPTIONS"
+
+.IX Item "\f(CW-a[cdhlmns]\fR"
+
+.IX Item "\f(CW-ac\fR"
+
+.IX Item "\f(CW-ad\fR"
+
+.IX Item "\f(CW-ah\fR"
+
+.IX Item "\f(CW-al\fR"
+
+.IX Item "\f(CW-am\fR"
+
+.IX Item "\f(CW-an\fR"
+
+.IX Item "\f(CW-as\fR"
+
+.IX Item "\f(CW=file\fR"
+
+.IX Item "\f(CW-D\fR"
+
+.IX Item "\f(CW--defsym \fIsym\fR=\fIvalue\fR\fR"
+
+.IX Item "\f(CW-f\fR"
+
+.IX Item "\f(CW--gstabs\fR"
+
+.IX Item "\f(CW--gdwarf2\fR"
+
+.IX Item "\f(CW--help\fR"
+
+.IX Item "\f(CW--target-help\fR"
+
+.IX Item "\f(CW-I \fIdir\fR\fR"
+
+.IX Item "\f(CW-J\fR"
+
+.IX Item "\f(CW-K\fR"
+
+.IX Item "\f(CW-L\fR"
+
+.IX Item "\f(CW--keep-locals\fR"
+
+.IX Item "\f(CW--listing-lhs-width=\fInumber\fR\fR"
+
+.IX Item "\f(CW--listing-lhs-width2=\fInumber\fR\fR"
+
+.IX Item "\f(CW--listing-rhs-width=\fInumber\fR\fR"
+
+.IX Item "\f(CW--listing-cont-lines=\fInumber\fR\fR"
+
+.IX Item "\f(CW-o \fIobjfile\fR\fR"
+
+.IX Item "\f(CW-R\fR"
+
+.IX Item "\f(CW--statistics\fR"
+
+.IX Item "\f(CW--strip-local-absolute\fR"
+
+.IX Item "\f(CW-v\fR"
+
+.IX Item "\f(CW-version\fR"
+
+.IX Item "\f(CW--version\fR"
+
+.IX Item "\f(CW-W\fR"
+
+.IX Item "\f(CW--no-warn\fR"
+
+.IX Item "\f(CW--fatal-warnings\fR"
+
+.IX Item "\f(CW--warn\fR"
+
+.IX Item "\f(CW-w\fR"
+
+.IX Item "\f(CW-x\fR"
+
+.IX Item "\f(CW-Z\fR"
+
+.IX Item "\f(CW-- | \fIfiles\fR ...\fR"
+
+.IX Item "\f(CW-marc[5|6|7|8]\fR"
+
+.IX Item "\f(CW-EB | -EL\fR"
+
+.IX Item "\f(CW-m[arm][1|2|3|6|7|8|9][...] \fR"
+
+.IX Item "\f(CW-m[arm]v[2|2a|3|3m|4|4t|5|5t]\fR"
+
+.IX Item "\f(CW-mthumb | -mall\fR"
+
+.IX Item "\f(CW-mfpa10 | -mfpa11 | -mfpe-old | -mno-fpu\fR"
+
+.IX Item "\f(CW-mapcs-32 | -mapcs-26 | -mapcs-float | -mapcs-reentrant | -moabi\fR"
+
+.IX Item "\f(CW-EB | -EL\fR"
+
+.IX Item "\f(CW-mthumb-interwork\fR"
+
+.IX Item "\f(CW-k\fR"
+
+.IX Item "\f(CW-O\fR"
+
+.IX Item "\f(CW-O\fR"
+
+.IX Item "\f(CW-n\fR"
+
+.IX Item "\f(CW-N\fR"
+
+.IX Item "\f(CW-ACA | -ACA_A | -ACB | -ACC | -AKA | -AKB | -AKC | -AMC\fR"
+
+.IX Item "\f(CW-b\fR"
+
+.IX Item "\f(CW-no-relax\fR"
+
+.IX Item "\f(CW--m32rx\fR"
+
+.IX Item "\f(CW--warn-explicit-parallel-conflicts or --Wp\fR"
+
+.IX Item "\f(CW--no-warn-explicit-parallel-conflicts or --Wnp\fR"
+
+.IX Item "\f(CW-l\fR"
+
+.IX Item "\f(CW-m68000 | -m68008 | -m68010 | -m68020 | -m68030\fR"
+
+.IX Item "\f(CW| -m68040 | -m68060 | -m68302 | -m68331 | -m68332\fR"
+
+.IX Item "\f(CW| -m68333 | -m68340 | -mcpu32 | -m5200\fR"
+
+.IX Item "\f(CW-m68881 | -m68882 | -mno-68881 | -mno-68882\fR"
+
+.IX Item "\f(CW-m68851 | -mno-68851\fR"
+
+.IX Item "\f(CW-mpic | -mno-pic\fR"
+
+.IX Item "\f(CW-mall\fR"
+
+.IX Item "\f(CW-mall-extensions\fR"
+
+.IX Item "\f(CW-mno-extensions\fR"
+
+.IX Item "\f(CW-m\fIextension\fR | -mno-\fIextension\fR\fR"
+
+.IX Item "\f(CW-m\fIcpu\fR\fR"
+
+.IX Item "\f(CW-m\fImachine\fR\fR"
+
+.IX Item "\f(CW-mb\fR"
+
+.IX Item "\f(CW-ml\fR"
+
+.IX Item "\f(CW-m68hc11 | -m68hc12\fR"
+
+.IX Item "\f(CW--force-long-branchs\fR"
+
+.IX Item "\f(CW-S | --short-branchs\fR"
+
+.IX Item "\f(CW--strict-direct-mode\fR"
+
+.IX Item "\f(CW--print-insn-syntax\fR"
+
+.IX Item "\f(CW--print-opcodes\fR"
+
+.IX Item "\f(CW--generate-example\fR"
+
+.IX Item "\f(CW-Av6 | -Av7 | -Av8 | -Asparclet | -Asparclite\fR"
+
+.IX Item "\f(CW-Av8plus | -Av8plusa | -Av9 | -Av9a\fR"
+
+.IX Item "\f(CW-xarch=v8plus | -xarch=v8plusa\fR"
+
+.IX Item "\f(CW-bump\fR"
+
+.IX Item "\f(CW-G \fInum\fR\fR"
+
+.IX Item "\f(CW-EB\fR"
+
+.IX Item "\f(CW-EL\fR"
+
+.IX Item "\f(CW-mips1\fR"
+
+.IX Item "\f(CW-mips2\fR"
+
+.IX Item "\f(CW-mips3\fR"
+
+.IX Item "\f(CW-mips4\fR"
+
+.IX Item "\f(CW-mips32\fR"
+
+.IX Item "\f(CW-m4650\fR"
+
+.IX Item "\f(CW-no-m4650\fR"
+
+.IX Item "\f(CW-mcpu=\fICPU\fR\fR"
+
+.IX Item "\f(CW--emulation=\fIname\fR\fR"
+
+.IX Item "\f(CW-nocpp\fR"
+
+.IX Item "\f(CW--trap\fR"
+
+.IX Item "\f(CW--no-trap\fR"
+
+.IX Item "\f(CW--break\fR"
+
+.IX Item "\f(CW--no-break\fR"
+
+.IX Item "\f(CW-jsri2bsr\fR"
+
+.IX Item "\f(CW-nojsri2bsr\fR"
+
+.IX Item "\f(CW-sifilter\fR"
+
+.IX Item "\f(CW-nosifilter\fR"
+
+.IX Item "\f(CW-relax\fR"
+
+.IX Item "\f(CW-mcpu=[210|340]\fR"
+
+.IX Item "\f(CW-EB\fR"
+
+.IX Item "\f(CW-EL\fR"
+
+.IX Header "SEE ALSO"
+
+.IX Header "COPYRIGHT"
+
diff --git a/gas/doc/as.texinfo b/gas/doc/as.texinfo
index bd831d3..fdf1555 100644
--- a/gas/doc/as.texinfo
+++ b/gas/doc/as.texinfo
@@ -19,6 +19,38 @@
@include asconfig.texi
@include gasver.texi
@c ---
+@c man begin NAME
+@ifset man
+@c Configure for the generation of man pages
+@set AS as
+@set TARGET TARGET
+@set GENERIC
+@set A29K
+@set ARC
+@set ARM
+@set D10V
+@set D30V
+@set H8/300
+@set H8/500
+@set HPPA
+@set I370
+@set I80386
+@set I860
+@set I960
+@set M32R
+@set M68HC11
+@set M680X0
+@set MCORE
+@set MIPS
+@set PDP11
+@set PJ
+@set SH
+@set SPARC
+@set C54X
+@set V850
+@set VAX
+@end ifset
+@c man end
@c common OR combinations of conditions
@ifset AOUT
@set aout-bout
@@ -88,14 +120,17 @@ END-INFO-DIR-ENTRY
@ifinfo
This file documents the GNU Assembler "@value{AS}".
+@c man begin COPYRIGHT
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
- 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".
+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 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".
+
+@c man end
@ignore
Permission is granted to process this file through Tex and print the
@@ -197,11 +232,19 @@ code for @value{TARGET} architectures.
Here is a brief summary of how to invoke @code{@value{AS}}. For details,
@pxref{Invoking,,Comand-Line Options}.
+@c man title AS the portable GNU assembler.
+
+@c man begin SEEALSO
+gcc(1), ld(1), and the Info entries for @file{binutils} and @file{ld}.
+@c man end
+
@c We don't use deffn and friends for the following because they seem
@c to be limited to one line for the header.
@smallexample
+@c man begin SYNOPSIS
@value{AS} [ -a[cdhlns][=file] ] [ -D ] [ --defsym @var{sym}=@var{val} ]
- [ -f ] [ --gstabs ] [ --gdwarf2 ] [ --help ] [ -I @var{dir} ] [ -J ] [ -K ] [ -L ]
+ [ -f ] [ --gstabs ] [ --gdwarf2 ] [ --help ] [ -I @var{dir} ]
+ [ -J ] [ -K ] [ -L ]
[ --listing--lhs-width=NUM ][ --listing-lhs-width2=NUM ]
[ --listing-rhs-width=NUM ][ --listing-cont-lines=NUM ]
[ --keep-locals ] [ -o @var{objfile} ] [ -R ] [ --statistics ] [ -v ]
@@ -215,20 +258,22 @@ Here is a brief summary of how to invoke @code{@value{AS}}. For details,
[ -EB | -EL ]
@end ifset
@ifset ARM
- [ -m[arm]1 | -m[arm]2 | -m[arm]250 | -m[arm]3 | -m[arm]6 | -m[arm]60 |
- -m[arm]600 | -m[arm]610 | -m[arm]620 | -m[arm]7[t][[d]m[i]][fe] | -m[arm]70 |
- -m[arm]700 | -m[arm]710[c] | -m[arm]7100 | -m[arm]7500 | -m[arm]8 |
- -m[arm]810 | -m[arm]9 | -m[arm]920 | -m[arm]920t | -m[arm]9tdmi |
+ [ -m[arm]1 | -m[arm]2 | -m[arm]250 | -m[arm]3 |
+ -m[arm]6 | -m[arm]60 | -m[arm]600 | -m[arm]610 |
+ -m[arm]620 | -m[arm]7[t][[d]m[i]][fe] | -m[arm]70 |
+ -m[arm]700 | -m[arm]710[c] | -m[arm]7100 |
+ -m[arm]7500 | -m[arm]8 | -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 | -[arm]v5te ]
+ [ -m[arm]v2 | -m[arm]v2a | -m[arm]v3 | -m[arm]v3m |
+ -m[arm]v4 | -m[arm]v4t | -m[arm]v5 | -[arm]v5t |
+ -[arm]v5te ]
[ -mthumb | -mall ]
[ -mfpa10 | -mfpa11 | -mfpe-old | -mno-fpu ]
[ -EB | -EL ]
- [ -mapcs-32 | -mapcs-26 | -mapcs-float | -mapcs-reentrant ]
- [ -mthumb-interwork ]
- [ -moabi ]
- [ -k ]
+ [ -mapcs-32 | -mapcs-26 | -mapcs-float |
+ -mapcs-reentrant ]
+ [ -mthumb-interwork ] [ -moabi ] [ -k ]
@end ifset
@ifset D10V
[ -O ]
@@ -249,7 +294,8 @@ Here is a brief summary of how to invoke @code{@value{AS}}. For details,
@c The order here is important. See c-sparc.texi.
[ -Av6 | -Av7 | -Av8 | -Asparclet | -Asparclite
-Av8plus | -Av8plusa | -Av9 | -Av9a ]
- [ -xarch=v8plus | -xarch=v8plusa ] [ -bump ] [ -32 | -64 ]
+ [ -xarch=v8plus | -xarch=v8plusa ] [ -bump ]
+ [ -32 | -64 ]
@end ifset
@ifset TIC54X
[ -mcpu=54[123589] | -mcpu=54[56]lp ] [ -mfar-mode | -mf ]
@@ -260,11 +306,13 @@ Here is a brief summary of how to invoke @code{@value{AS}}. For details,
@end ifset
@ifset I960
@c see md_parse_option in tc-i960.c
- [ -ACA | -ACA_A | -ACB | -ACC | -AKA | -AKB | -AKC | -AMC ]
+ [ -ACA | -ACA_A | -ACB | -ACC | -AKA | -AKB |
+ -AKC | -AMC ]
[ -b ] [ -no-relax ]
@end ifset
@ifset M32R
- [ --m32rx | --[no-]warn-explicit-parallel-conflicts | --W[n]p ]
+ [ --m32rx | --[no-]warn-explicit-parallel-conflicts |
+ --W[n]p ]
@end ifset
@ifset M680X0
[ -l ] [ -m68000 | -m68010 | -m68020 | ... ]
@@ -275,8 +323,9 @@ Here is a brief summary of how to invoke @code{@value{AS}}. For details,
@end ifset
@ifset M68HC11
[ -m68hc11 | -m68hc12 ]
- [ --force-long-branchs ] [ --short-branchs ] [ --strict-direct-mode ]
- [ --print-insn-syntax ] [ --print-opcodes ] [ --generate-example ]
+ [ --force-long-branchs ] [ --short-branchs ]
+ [ --strict-direct-mode ] [ --print-insn-syntax ]
+ [ --print-opcodes ] [ --generate-example ]
@end ifset
@ifset MIPS
[ -nocpp ] [ -EL ] [ -EB ] [ -G @var{num} ] [ -mcpu=@var{CPU} ]
@@ -287,8 +336,11 @@ Here is a brief summary of how to invoke @code{@value{AS}}. For details,
[ --emulation=@var{name} ]
@end ifset
[ -- | @var{files} @dots{} ]
+@c man end
@end smallexample
+@c man begin OPTIONS
+
@table @code
@item -a[cdhlmns]
Turn on listings, in any of a variety of ways:
@@ -546,8 +598,9 @@ Motorola 68000 series.
@item -l
Shorten references to undefined symbols, to one word instead of two.
-@item -m68000 | -m68008 | -m68010 | -m68020 | -m68030 | -m68040 | -m68060
-@itemx | -m68302 | -m68331 | -m68332 | -m68333 | -m68340 | -mcpu32 | -m5200
+@item -m68000 | -m68008 | -m68010 | -m68020 | -m68030
+@itemx | -m68040 | -m68060 | -m68302 | -m68331 | -m68332
+@itemx | -m68333 | -m68340 | -mcpu32 | -m5200
Specify what processor in the 68000 family is the target. The default
is normally the 68020, but this can be changed at configuration time.
@@ -810,6 +863,8 @@ Assemble for a little endian target.
@end table
@end ifset
+@c man end
+
@menu
* Manual:: Structure of this Manual
* GNU Assembler:: The GNU Assembler
@@ -895,6 +950,8 @@ computer-readable series of instructions. Different versions of
@node GNU Assembler
@section The GNU Assembler
+@c man begin DESCRIPTION
+
@sc{gnu} @code{as} is really a family of assemblers.
@ifclear GENERIC
This manual describes @code{@value{AS}}, a member of that family which is
@@ -923,6 +980,8 @@ assembler for the same architecture; for example, we know of several
incompatible versions of 680x0 assembly language syntax.
@end ifset
+@c man end
+
Unlike older assemblers, @code{@value{AS}} is designed to assemble a source
program in one pass of the source file. This has a subtle impact on the
@kbd{.org} directive (@pxref{Org,,@code{.org}}).
@@ -960,6 +1019,7 @@ SOM or ELF format object files.
@section Command Line
@cindex command line conventions
+
After the program name @code{@value{AS}}, the command line may contain
options and file names. Options may appear in any order, and may be
before, after, or between file names. The order of file names is
@@ -1003,6 +1063,7 @@ doesn't change the meaning of the source.
The source program is a concatenation of the text in all the files, in the
order specified.
+@c man begin DESCRIPTION
Each time you run @code{@value{AS}} it assembles exactly one source
program. The source program is made up of one or more files.
(The standard input is also a file.)
@@ -1023,6 +1084,8 @@ in your command line.
If the source is empty, @code{@value{AS}} produces a small, empty object
file.
+@c man end
+
@subheading Filenames and Line-numbers
@cindex input file linenumbers
@@ -1080,6 +1143,8 @@ information for the debugger.
@node Errors
@section Error and Warning Messages
+@c man begin DESCRIPTION
+
@cindex error messages
@cindex warning messages
@cindex messages from assembler
@@ -1089,6 +1154,8 @@ runs @code{@value{AS}} automatically. Warnings report an assumption made so
that @code{@value{AS}} could keep assembling a flawed program; errors report a
grave problem that stops the assembly.
+@c man end
+
@cindex format of warning messages
Warning messages have the format
@@ -1139,6 +1206,8 @@ to the @value{TARGET}.
to particular machine architectures.
@end ifset
+@c man begin DESCRIPTION
+
If you are invoking @code{@value{AS}} via the @sc{gnu} C compiler (version 2),
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})
@@ -1159,6 +1228,8 @@ command-line options are automatically passed to the assembler by the compiler.
precisely what options it passes to each compilation pass, including the
assembler.)
+@c man end
+
@menu
* a:: -a[cdhlns] enable listings
* D:: -D for compatibility
diff --git a/gas/testsuite/gas/mips/mips.exp b/gas/testsuite/gas/mips/mips.exp
index 960208d..82207b9 100644
--- a/gas/testsuite/gas/mips/mips.exp
+++ b/gas/testsuite/gas/mips/mips.exp
@@ -1,7 +1,7 @@
#
# Some generic MIPS tests
#
-if [istarget mips*-*-*] then {
+if { [istarget mips*-*-*] } then {
set no_mips16 0
set svr4pic [expr [istarget *-*-elf*] || [istarget *-*-irix5*] || [istarget *-*-irix6* ] || [istarget *-*-linux*] ]
set empic [expr [istarget *-*-ecoff*] || [istarget *-*-ultrix*] || [istarget *-*-irix\[1-4\]*] ]