diff options
author | nobody <> | 2002-10-04 22:17:37 +0000 |
---|---|---|
committer | nobody <> | 2002-10-04 22:17:37 +0000 |
commit | d48ee38f3dbd6806cff2ebee97cdd21e905df7f5 (patch) | |
tree | 6a7abe9312ea9112f403427c22b39bfedc4de3d3 /gas/read.c | |
parent | d6020d455dd9fc75ecbe87da82d99ffe05f1dab4 (diff) | |
download | gdb-d48ee38f3dbd6806cff2ebee97cdd21e905df7f5.zip gdb-d48ee38f3dbd6806cff2ebee97cdd21e905df7f5.tar.gz gdb-d48ee38f3dbd6806cff2ebee97cdd21e905df7f5.tar.bz2 |
This commit was manufactured by cvs2svn to create branch 'drow-cplus-drow-cplus-branchpoint
branch'.
Sprout from master 2002-10-04 22:17:36 UTC Michael Snyder <msnyder@vmware.com> '2002-10-04 Michael Snyder <msnyder@redhat.com>'
Cherrypick from cygnus 2000-02-22 15:59:20 UTC Ian Lance Taylor <ian@airs.com> 'import libiberty from egcs':
COPYING
COPYING.LIB
README
bfd/PORTING
bfd/TODO
bfd/cf-m68klynx.c
bfd/coff-svm68k.c
bfd/coff-u68k.c
bfd/configure.com
bfd/cpu-d30v.c
bfd/cpu-m10200.c
bfd/cpu-tic30.c
bfd/doc/doc.str
bfd/doc/makefile.vms
bfd/elf64.c
bfd/hosts/decstation.h
bfd/hosts/delta68.h
bfd/hosts/dpx2.h
bfd/hosts/hp300bsd.h
bfd/hosts/i386bsd.h
bfd/hosts/i386linux.h
bfd/hosts/i386mach3.h
bfd/hosts/i386sco.h
bfd/hosts/i860mach3.h
bfd/hosts/m68kaux.h
bfd/hosts/m68klinux.h
bfd/hosts/m88kmach3.h
bfd/hosts/mipsbsd.h
bfd/hosts/mipsmach3.h
bfd/hosts/news-mips.h
bfd/hosts/news.h
bfd/hosts/pc532mach.h
bfd/hosts/riscos.h
bfd/hosts/symmetry.h
bfd/hosts/tahoe.h
bfd/hosts/vaxbsd.h
bfd/hosts/vaxult.h
bfd/hosts/vaxult2.h
bfd/makefile.vms
bfd/mpw-config.in
bfd/mpw-make.sed
bfd/pe-mcore.c
bfd/stamp-h.in
config/mh-aix386
config/mh-armpic
config/mh-cygwin
config/mh-delta88
config/mh-elfalphapic
config/mh-m68kpic
config/mh-papic
config/mh-ppcpic
config/mh-x86pic
config/mpw-mh-mpw
config/mpw/ChangeLog
config/mpw/MoveIfChange
config/mpw/README
config/mpw/forward-include
config/mpw/g-mpw-make.sed
config/mpw/mpw-touch
config/mpw/mpw-true
config/mpw/null-command
config/mpw/open-brace
config/mpw/tr-7to8-src
config/mpw/true
config/mt-d30v
config/mt-netware
config/mt-ospace
config/mt-v810
etc/add-log.el
etc/add-log.vi
etc/configbuild.ein
etc/configbuild.fig
etc/configbuild.jin
etc/configbuild.tin
etc/configdev.ein
etc/configdev.fig
etc/configdev.jin
etc/configdev.tin
etc/configure
etc/configure.in
etc/configure.texi
include/aout/hp.h
include/aout/hppa.h
include/coff/sym.h
include/coff/symconst.h
include/fopen-bin.h
include/fopen-same.h
include/fopen-vms.h
include/gdbm.h
include/mpw/ChangeLog
include/mpw/README
include/mpw/dir.h
include/mpw/dirent.h
include/mpw/fcntl.h
include/mpw/grp.h
include/mpw/mpw.h
include/mpw/pwd.h
include/mpw/stat.h
include/mpw/sys/file.h
include/mpw/sys/param.h
include/mpw/sys/resource.h
include/mpw/sys/stat.h
include/mpw/sys/time.h
include/mpw/sys/types.h
include/mpw/utime.h
include/mpw/varargs.h
include/nlm/ppc-ext.h
include/opcode/mn10200.h
include/opcode/tahoe.h
include/opcode/tic30.h
install-sh
libiberty/config.h-vms
libiberty/config/mh-aix
libiberty/config/mh-cxux7
libiberty/config/mh-fbsd21
libiberty/config/mh-windows
libiberty/makefile.vms
libiberty/mpw-config.in
libiberty/mpw-make.sed
libiberty/mpw.c
libiberty/msdos.c
libiberty/vfprintf.c
libiberty/vmsbuild.com
makefile.vms
missing
mkinstalldirs
move-if-change
mpw-README
mpw-build.in
mpw-config.in
mpw-configure
mpw-install
opcodes/makefile.vms
opcodes/mpw-config.in
opcodes/mpw-make.sed
opcodes/po/Make-in
opcodes/stamp-h.in
setup.com
ylwrap
Cherrypick from FSF 2002-08-23 22:02:32 UTC Elena Zannoni <ezannoni@kwikemart.cygnus.com> 'import of readline-4.3':
readline/USAGE
readline/examples/excallback.c
Delete:
COPYING.LIBGLOSS
binutils/ChangeLog
binutils/ChangeLog-9197
binutils/ChangeLog-9899
binutils/MAINTAINERS
binutils/Makefile.am
binutils/Makefile.in
binutils/NEWS
binutils/README
binutils/acinclude.m4
binutils/aclocal.m4
binutils/addr2line.c
binutils/ar.c
binutils/arlex.l
binutils/arparse.y
binutils/arsup.c
binutils/arsup.h
binutils/binemul.c
binutils/binemul.h
binutils/bucomm.c
binutils/bucomm.h
binutils/budbg.h
binutils/budemang.c
binutils/budemang.h
binutils/coffdump.c
binutils/coffgrok.c
binutils/coffgrok.h
binutils/config.in
binutils/configure
binutils/configure.com
binutils/configure.in
binutils/configure.tgt
binutils/cxxfilt.c
binutils/debug.c
binutils/debug.h
binutils/deflex.l
binutils/defparse.y
binutils/dep-in.sed
binutils/dlltool.c
binutils/dlltool.h
binutils/dllwrap.c
binutils/doc/Makefile.am
binutils/doc/Makefile.in
binutils/doc/binutils.texi
binutils/emul_aix.c
binutils/emul_vanilla.c
binutils/filemode.c
binutils/ieee.c
binutils/is-ranlib.c
binutils/is-strip.c
binutils/mac-binutils.r
binutils/makefile.vms-in
binutils/maybe-ranlib.c
binutils/maybe-strip.c
binutils/mpw-config.in
binutils/mpw-make.sed
binutils/nlmconv.c
binutils/nlmconv.h
binutils/nlmheader.y
binutils/nm.c
binutils/not-ranlib.c
binutils/not-strip.c
binutils/objcopy.c
binutils/objdump.c
binutils/po/.cvsignore
binutils/po/Make-in
binutils/po/POTFILES.in
binutils/po/binutils.pot
binutils/po/es.po
binutils/po/fr.po
binutils/po/ja.po
binutils/po/sv.po
binutils/po/tr.po
binutils/prdbg.c
binutils/ranlib.sh
binutils/rclex.l
binutils/rcparse.y
binutils/rdcoff.c
binutils/rddbg.c
binutils/readelf.c
binutils/rename.c
binutils/resbin.c
binutils/rescoff.c
binutils/resrc.c
binutils/resres.c
binutils/sanity.sh
binutils/size.c
binutils/srconv.c
binutils/stabs.c
binutils/stamp-h.in
binutils/strings.c
binutils/sysdump.c
binutils/sysinfo.y
binutils/syslex.l
binutils/sysroff.info
binutils/testsuite/ChangeLog
binutils/testsuite/binutils-all/ar.exp
binutils/testsuite/binutils-all/bintest.s
binutils/testsuite/binutils-all/hppa/addendbug.s
binutils/testsuite/binutils-all/hppa/freg.s
binutils/testsuite/binutils-all/hppa/objdump.exp
binutils/testsuite/binutils-all/nm.exp
binutils/testsuite/binutils-all/objcopy.exp
binutils/testsuite/binutils-all/objdump.exp
binutils/testsuite/binutils-all/readelf.exp
binutils/testsuite/binutils-all/readelf.h
binutils/testsuite/binutils-all/readelf.r
binutils/testsuite/binutils-all/readelf.r-64
binutils/testsuite/binutils-all/readelf.s
binutils/testsuite/binutils-all/readelf.s-64
binutils/testsuite/binutils-all/readelf.ss
binutils/testsuite/binutils-all/readelf.ss-64
binutils/testsuite/binutils-all/readelf.ss-mips
binutils/testsuite/binutils-all/readelf.ss-tmips
binutils/testsuite/binutils-all/readelf.wi
binutils/testsuite/binutils-all/size.exp
binutils/testsuite/binutils-all/testprog.c
binutils/testsuite/binutils-all/windres/README
binutils/testsuite/binutils-all/windres/bmp1.bmp
binutils/testsuite/binutils-all/windres/bmpalign.rc
binutils/testsuite/binutils-all/windres/bmpalign.rsd
binutils/testsuite/binutils-all/windres/capstyle.rc
binutils/testsuite/binutils-all/windres/capstyle.rsd
binutils/testsuite/binutils-all/windres/deflang.rc
binutils/testsuite/binutils-all/windres/deflang.rsd
binutils/testsuite/binutils-all/windres/dialog0.rc
binutils/testsuite/binutils-all/windres/dialog0.rsd
binutils/testsuite/binutils-all/windres/dialog1.rc
binutils/testsuite/binutils-all/windres/dialog1.rsd
binutils/testsuite/binutils-all/windres/dialogsignature.rc
binutils/testsuite/binutils-all/windres/dialogsignature.rsd
binutils/testsuite/binutils-all/windres/dlgfont.rc
binutils/testsuite/binutils-all/windres/dlgfont.rsd
binutils/testsuite/binutils-all/windres/escapea.rc
binutils/testsuite/binutils-all/windres/escapea.rsd
binutils/testsuite/binutils-all/windres/escapex.rc
binutils/testsuite/binutils-all/windres/escapex.rsd
binutils/testsuite/binutils-all/windres/lang.rc
binutils/testsuite/binutils-all/windres/lang.rsd
binutils/testsuite/binutils-all/windres/msupdate
binutils/testsuite/binutils-all/windres/nocaption.rc
binutils/testsuite/binutils-all/windres/nocaption.rsd
binutils/testsuite/binutils-all/windres/printstyle.rc
binutils/testsuite/binutils-all/windres/printstyle.rsd
binutils/testsuite/binutils-all/windres/quoteclass.rc
binutils/testsuite/binutils-all/windres/strtab1.rc
binutils/testsuite/binutils-all/windres/strtab1.rsd
binutils/testsuite/binutils-all/windres/sublang.rc
binutils/testsuite/binutils-all/windres/sublang.rsd
binutils/testsuite/binutils-all/windres/windres.exp
binutils/testsuite/config/default.exp
binutils/testsuite/config/hppa.sed
binutils/testsuite/lib/utils-lib.exp
binutils/unwind-ia64.c
binutils/unwind-ia64.h
binutils/version.c
binutils/windres.c
binutils/windres.h
binutils/winduni.c
binutils/winduni.h
binutils/wrstabs.c
gas/CONTRIBUTORS
gas/COPYING
gas/ChangeLog
gas/ChangeLog-0001
gas/ChangeLog-9295
gas/ChangeLog-9697
gas/ChangeLog-9899
gas/MAINTAINERS
gas/Makefile.am
gas/Makefile.in
gas/NEWS
gas/README
gas/README-vms
gas/acinclude.m4
gas/aclocal.m4
gas/app.c
gas/as.c
gas/as.h
gas/asintl.h
gas/atof-generic.c
gas/bignum-copy.c
gas/bignum.h
gas/bit_fix.h
gas/cgen.c
gas/cgen.h
gas/cond.c
gas/config-gas.com
gas/config.in
gas/config/aout_gnu.h
gas/config/atof-ieee.c
gas/config/atof-tahoe.c
gas/config/atof-vax.c
gas/config/e-crisaout.c
gas/config/e-criself.c
gas/config/e-i386aout.c
gas/config/e-i386coff.c
gas/config/e-i386elf.c
gas/config/e-mipsecoff.c
gas/config/e-mipself.c
gas/config/itbl-mips.h
gas/config/m68k-parse.h
gas/config/m68k-parse.y
gas/config/m88k-opcode.h
gas/config/obj-aout.c
gas/config/obj-aout.h
gas/config/obj-bout.c
gas/config/obj-bout.h
gas/config/obj-coff.c
gas/config/obj-coff.h
gas/config/obj-ecoff.c
gas/config/obj-ecoff.h
gas/config/obj-elf.c
gas/config/obj-elf.h
gas/config/obj-evax.c
gas/config/obj-evax.h
gas/config/obj-hp300.c
gas/config/obj-hp300.h
gas/config/obj-ieee.c
gas/config/obj-ieee.h
gas/config/obj-multi.c
gas/config/obj-multi.h
gas/config/obj-som.c
gas/config/obj-som.h
gas/config/obj-vms.c
gas/config/obj-vms.h
gas/config/tc-a29k.c
gas/config/tc-a29k.h
gas/config/tc-alpha.c
gas/config/tc-alpha.h
gas/config/tc-arc.c
gas/config/tc-arc.h
gas/config/tc-arm.c
gas/config/tc-arm.h
gas/config/tc-avr.c
gas/config/tc-avr.h
gas/config/tc-cris.c
gas/config/tc-cris.h
gas/config/tc-d10v.c
gas/config/tc-d10v.h
gas/config/tc-d30v.c
gas/config/tc-d30v.h
gas/config/tc-dlx.c
gas/config/tc-dlx.h
gas/config/tc-fr30.c
gas/config/tc-fr30.h
gas/config/tc-frv.c
gas/config/tc-frv.h
gas/config/tc-generic.c
gas/config/tc-generic.h
gas/config/tc-h8300.c
gas/config/tc-h8300.h
gas/config/tc-h8500.c
gas/config/tc-h8500.h
gas/config/tc-hppa.c
gas/config/tc-hppa.h
gas/config/tc-i370.c
gas/config/tc-i370.h
gas/config/tc-i386.c
gas/config/tc-i386.h
gas/config/tc-i860.c
gas/config/tc-i860.h
gas/config/tc-i960.c
gas/config/tc-i960.h
gas/config/tc-ia64.c
gas/config/tc-ia64.h
gas/config/tc-ip2k.c
gas/config/tc-ip2k.h
gas/config/tc-m32r.c
gas/config/tc-m32r.h
gas/config/tc-m68851.h
gas/config/tc-m68hc11.c
gas/config/tc-m68hc11.h
gas/config/tc-m68k.c
gas/config/tc-m68k.h
gas/config/tc-m88k.c
gas/config/tc-m88k.h
gas/config/tc-mcore.c
gas/config/tc-mcore.h
gas/config/tc-mips.c
gas/config/tc-mips.h
gas/config/tc-mmix.c
gas/config/tc-mmix.h
gas/config/tc-mn10200.c
gas/config/tc-mn10200.h
gas/config/tc-mn10300.c
gas/config/tc-mn10300.h
gas/config/tc-ns32k.c
gas/config/tc-ns32k.h
gas/config/tc-openrisc.c
gas/config/tc-openrisc.h
gas/config/tc-or32.c
gas/config/tc-or32.h
gas/config/tc-pdp11.c
gas/config/tc-pdp11.h
gas/config/tc-pj.c
gas/config/tc-pj.h
gas/config/tc-ppc.c
gas/config/tc-ppc.h
gas/config/tc-s390.c
gas/config/tc-s390.h
gas/config/tc-sh.c
gas/config/tc-sh.h
gas/config/tc-sh64.c
gas/config/tc-sh64.h
gas/config/tc-sparc.c
gas/config/tc-sparc.h
gas/config/tc-tahoe.c
gas/config/tc-tahoe.h
gas/config/tc-tic30.c
gas/config/tc-tic30.h
gas/config/tc-tic4x.c
gas/config/tc-tic4x.h
gas/config/tc-tic54x.c
gas/config/tc-tic54x.h
gas/config/tc-tic80.c
gas/config/tc-tic80.h
gas/config/tc-v850.c
gas/config/tc-v850.h
gas/config/tc-vax.c
gas/config/tc-vax.h
gas/config/tc-w65.c
gas/config/tc-w65.h
gas/config/tc-xstormy16.c
gas/config/tc-xstormy16.h
gas/config/tc-z8k.c
gas/config/tc-z8k.h
gas/config/te-386bsd.h
gas/config/te-aix5.h
gas/config/te-aux.h
gas/config/te-delt88.h
gas/config/te-delta.h
gas/config/te-dpx2.h
gas/config/te-dynix.h
gas/config/te-epoc-pe.h
gas/config/te-freebsd.h
gas/config/te-generic.h
gas/config/te-go32.h
gas/config/te-hp300.h
gas/config/te-hppa.h
gas/config/te-hppa64.h
gas/config/te-hppalinux64.h
gas/config/te-hpux.h
gas/config/te-i386aix.h
gas/config/te-ia64aix.h
gas/config/te-ic960.h
gas/config/te-interix.h
gas/config/te-linux.h
gas/config/te-lnews.h
gas/config/te-lynx.h
gas/config/te-mach.h
gas/config/te-macos.h
gas/config/te-nbsd.h
gas/config/te-nbsd532.h
gas/config/te-pc532mach.h
gas/config/te-pe.h
gas/config/te-ppcnw.h
gas/config/te-psos.h
gas/config/te-riscix.h
gas/config/te-sparcaout.h
gas/config/te-sun3.h
gas/config/te-svr4.h
gas/config/te-sysv32.h
gas/config/te-tmips.h
gas/config/te-wince-pe.h
gas/config/vax-inst.h
gas/config/vms-a-conf.h
gas/config/vms-conf.h
gas/configure
gas/configure.in
gas/debug.c
gas/dep-in.sed
gas/depend.c
gas/doc/Makefile.am
gas/doc/Makefile.in
gas/doc/all.texi
gas/doc/as.texinfo
gas/doc/c-a29k.texi
gas/doc/c-alpha.texi
gas/doc/c-arc.texi
gas/doc/c-arm.texi
gas/doc/c-cris.texi
gas/doc/c-d10v.texi
gas/doc/c-d30v.texi
gas/doc/c-h8300.texi
gas/doc/c-h8500.texi
gas/doc/c-hppa.texi
gas/doc/c-i370.texi
gas/doc/c-i386.texi
gas/doc/c-i860.texi
gas/doc/c-i960.texi
gas/doc/c-ia64.texi
gas/doc/c-ip2k.texi
gas/doc/c-m32r.texi
gas/doc/c-m68hc11.texi
gas/doc/c-m68k.texi
gas/doc/c-m88k.texi
gas/doc/c-mips.texi
gas/doc/c-mmix.texi
gas/doc/c-ns32k.texi
gas/doc/c-pdp11.texi
gas/doc/c-pj.texi
gas/doc/c-ppc.texi
gas/doc/c-sh.texi
gas/doc/c-sh64.texi
gas/doc/c-sparc.texi
gas/doc/c-tic54x.texi
gas/doc/c-v850.texi
gas/doc/c-vax.texi
gas/doc/c-z8k.texi
gas/doc/gasp.texi
gas/doc/h8.texi
gas/doc/internals.texi
gas/dwarf2dbg.c
gas/dwarf2dbg.h
gas/ecoff.c
gas/ecoff.h
gas/ehopt.c
gas/emul-target.h
gas/emul.h
gas/expr.c
gas/expr.h
gas/flonum-copy.c
gas/flonum-konst.c
gas/flonum-mult.c
gas/flonum.h
gas/frags.c
gas/frags.h
gas/gasp.c
gas/gdbinit.in
gas/hash.c
gas/hash.h
gas/input-file.c
gas/input-file.h
gas/input-scrub.c
gas/itbl-lex.l
gas/itbl-ops.c
gas/itbl-ops.h
gas/itbl-parse.y
gas/link.cmd
gas/listing.c
gas/listing.h
gas/literal.c
gas/mac-as.r
gas/macro.c
gas/macro.h
gas/makefile.vms
gas/messages.c
gas/mpw-config.in
gas/mpw-make.sed
gas/obj.h
gas/output-file.c
gas/output-file.h
gas/po/.cvsignore
gas/po/Make-in
gas/po/POTFILES.in
gas/po/es.po
gas/po/fr.po
gas/po/gas.pot
gas/po/tr.po
gas/read.c
gas/read.h
gas/sb.c
gas/sb.h
gas/stabs.c
gas/stamp-h.in
gas/struc-symbol.h
gas/subsegs.c
gas/subsegs.h
gas/symbols.c
gas/symbols.h
gas/tc.h
gas/testsuite/ChangeLog
gas/testsuite/config/default.exp
gas/testsuite/gas/all/align.d
gas/testsuite/gas/all/align.s
gas/testsuite/gas/all/align2.d
gas/testsuite/gas/all/align2.s
gas/testsuite/gas/all/cofftag.d
gas/testsuite/gas/all/cofftag.s
gas/testsuite/gas/all/comment.s
gas/testsuite/gas/all/cond.d
gas/testsuite/gas/all/cond.s
gas/testsuite/gas/all/diff1.s
gas/testsuite/gas/all/float.s
gas/testsuite/gas/all/gas.exp
gas/testsuite/gas/all/incbin.d
gas/testsuite/gas/all/incbin.dat
gas/testsuite/gas/all/incbin.s
gas/testsuite/gas/all/itbl
gas/testsuite/gas/all/itbl-test.c
gas/testsuite/gas/all/itbl.s
gas/testsuite/gas/all/p1480.s
gas/testsuite/gas/all/p2425.s
gas/testsuite/gas/all/struct.d
gas/testsuite/gas/all/struct.s
gas/testsuite/gas/all/x930509.s
gas/testsuite/gas/alpha/alpha.exp
gas/testsuite/gas/alpha/elf-reloc-1.d
gas/testsuite/gas/alpha/elf-reloc-1.s
gas/testsuite/gas/alpha/elf-reloc-2.l
gas/testsuite/gas/alpha/elf-reloc-2.s
gas/testsuite/gas/alpha/elf-reloc-3.l
gas/testsuite/gas/alpha/elf-reloc-3.s
gas/testsuite/gas/alpha/elf-reloc-4.d
gas/testsuite/gas/alpha/elf-reloc-4.s
gas/testsuite/gas/alpha/elf-reloc-5.d
gas/testsuite/gas/alpha/elf-reloc-5.s
gas/testsuite/gas/alpha/elf-reloc-6.l
gas/testsuite/gas/alpha/elf-reloc-6.s
gas/testsuite/gas/alpha/elf-reloc-7.d
gas/testsuite/gas/alpha/elf-reloc-7.s
gas/testsuite/gas/alpha/elf-tls-1.d
gas/testsuite/gas/alpha/elf-tls-1.s
gas/testsuite/gas/alpha/elf-tls-2.l
gas/testsuite/gas/alpha/elf-tls-2.s
gas/testsuite/gas/alpha/elf-tls-3.l
gas/testsuite/gas/alpha/elf-tls-3.s
gas/testsuite/gas/alpha/fp.d
gas/testsuite/gas/alpha/fp.s
gas/testsuite/gas/alpha/unop.d
gas/testsuite/gas/alpha/unop.s
gas/testsuite/gas/arc/adc.d
gas/testsuite/gas/arc/adc.s
gas/testsuite/gas/arc/add.d
gas/testsuite/gas/arc/add.s
gas/testsuite/gas/arc/alias.d
gas/testsuite/gas/arc/alias.s
gas/testsuite/gas/arc/and.d
gas/testsuite/gas/arc/and.s
gas/testsuite/gas/arc/arc.exp
gas/testsuite/gas/arc/asl.d
gas/testsuite/gas/arc/asl.s
gas/testsuite/gas/arc/asr.d
gas/testsuite/gas/arc/asr.s
gas/testsuite/gas/arc/b.d
gas/testsuite/gas/arc/b.s
gas/testsuite/gas/arc/bic.d
gas/testsuite/gas/arc/bic.s
gas/testsuite/gas/arc/bl.d
gas/testsuite/gas/arc/bl.s
gas/testsuite/gas/arc/branch.d
gas/testsuite/gas/arc/branch.s
gas/testsuite/gas/arc/brk.d
gas/testsuite/gas/arc/brk.s
gas/testsuite/gas/arc/extb.d
gas/testsuite/gas/arc/extb.s
gas/testsuite/gas/arc/extw.d
gas/testsuite/gas/arc/extw.s
gas/testsuite/gas/arc/flag.d
gas/testsuite/gas/arc/flag.s
gas/testsuite/gas/arc/insn3.d
gas/testsuite/gas/arc/insn3.s
gas/testsuite/gas/arc/j.d
gas/testsuite/gas/arc/j.s
gas/testsuite/gas/arc/jl.d
gas/testsuite/gas/arc/jl.s
gas/testsuite/gas/arc/ld.d
gas/testsuite/gas/arc/ld.s
gas/testsuite/gas/arc/ld2.d
gas/testsuite/gas/arc/ld2.s
gas/testsuite/gas/arc/lp.d
gas/testsuite/gas/arc/lp.s
gas/testsuite/gas/arc/lsr.d
gas/testsuite/gas/arc/lsr.s
gas/testsuite/gas/arc/math.d
gas/testsuite/gas/arc/math.s
gas/testsuite/gas/arc/mov.d
gas/testsuite/gas/arc/mov.s
gas/testsuite/gas/arc/nop.d
gas/testsuite/gas/arc/nop.s
gas/testsuite/gas/arc/or.d
gas/testsuite/gas/arc/or.s
gas/testsuite/gas/arc/rlc.d
gas/testsuite/gas/arc/rlc.s
gas/testsuite/gas/arc/ror.d
gas/testsuite/gas/arc/ror.s
gas/testsuite/gas/arc/rrc.d
gas/testsuite/gas/arc/rrc.s
gas/testsuite/gas/arc/sbc.d
gas/testsuite/gas/arc/sbc.s
gas/testsuite/gas/arc/sexb.d
gas/testsuite/gas/arc/sexb.s
gas/testsuite/gas/arc/sexw.d
gas/testsuite/gas/arc/sexw.s
gas/testsuite/gas/arc/sleep.d
gas/testsuite/gas/arc/sleep.s
gas/testsuite/gas/arc/sshift.d
gas/testsuite/gas/arc/sshift.s
gas/testsuite/gas/arc/st.d
gas/testsuite/gas/arc/st.s
gas/testsuite/gas/arc/sub.d
gas/testsuite/gas/arc/sub.s
gas/testsuite/gas/arc/swi.d
gas/testsuite/gas/arc/swi.s
gas/testsuite/gas/arc/warn.exp
gas/testsuite/gas/arc/warn.s
gas/testsuite/gas/arc/xor.d
gas/testsuite/gas/arc/xor.s
gas/testsuite/gas/arm/adrl.d
gas/testsuite/gas/arm/adrl.s
gas/testsuite/gas/arm/arch4t.s
gas/testsuite/gas/arm/arch5tej.d
gas/testsuite/gas/arm/arch5tej.s
gas/testsuite/gas/arm/arm.exp
gas/testsuite/gas/arm/arm3.s
gas/testsuite/gas/arm/arm6.s
gas/testsuite/gas/arm/arm7dm.s
gas/testsuite/gas/arm/arm7t.d
gas/testsuite/gas/arm/arm7t.s
gas/testsuite/gas/arm/armv1-bad.l
gas/testsuite/gas/arm/armv1-bad.s
gas/testsuite/gas/arm/armv1.d
gas/testsuite/gas/arm/armv1.s
gas/testsuite/gas/arm/copro.s
gas/testsuite/gas/arm/el_segundo.d
gas/testsuite/gas/arm/el_segundo.s
gas/testsuite/gas/arm/float.s
gas/testsuite/gas/arm/fpa-dyadic.d
gas/testsuite/gas/arm/fpa-dyadic.s
gas/testsuite/gas/arm/fpa-mem.d
gas/testsuite/gas/arm/fpa-mem.s
gas/testsuite/gas/arm/fpa-monadic.d
gas/testsuite/gas/arm/fpa-monadic.s
gas/testsuite/gas/arm/immed.s
gas/testsuite/gas/arm/inst.d
gas/testsuite/gas/arm/inst.s
gas/testsuite/gas/arm/ldconst.d
gas/testsuite/gas/arm/ldconst.s
gas/testsuite/gas/arm/le-fpconst.d
gas/testsuite/gas/arm/le-fpconst.s
gas/testsuite/gas/arm/maverick.c
gas/testsuite/gas/arm/maverick.d
gas/testsuite/gas/arm/maverick.s
gas/testsuite/gas/arm/pic.d
gas/testsuite/gas/arm/pic.s
gas/testsuite/gas/arm/thumb.s
gas/testsuite/gas/arm/vfp-bad.l
gas/testsuite/gas/arm/vfp-bad.s
gas/testsuite/gas/arm/vfp1.d
gas/testsuite/gas/arm/vfp1.s
gas/testsuite/gas/arm/vfp1xD.d
gas/testsuite/gas/arm/vfp1xD.s
gas/testsuite/gas/arm/xscale.d
gas/testsuite/gas/arm/xscale.s
gas/testsuite/gas/cris/addi.d
gas/testsuite/gas/cris/addi.s
gas/testsuite/gas/cris/binop-cmpmove.d
gas/testsuite/gas/cris/binop-cmpmovx.d
gas/testsuite/gas/cris/binop-extx.d
gas/testsuite/gas/cris/binop-segref.s
gas/testsuite/gas/cris/binop.d
gas/testsuite/gas/cris/binop.s
gas/testsuite/gas/cris/bork.d
gas/testsuite/gas/cris/bork.s
gas/testsuite/gas/cris/branch-warn-1.s
gas/testsuite/gas/cris/branch-warn-2.s
gas/testsuite/gas/cris/branch-warn-3.s
gas/testsuite/gas/cris/branch.d
gas/testsuite/gas/cris/branch.s
gas/testsuite/gas/cris/break.d
gas/testsuite/gas/cris/break.s
gas/testsuite/gas/cris/brokw-1.d
gas/testsuite/gas/cris/brokw-1.s
gas/testsuite/gas/cris/brokw-2.d
gas/testsuite/gas/cris/brokw-2.s
gas/testsuite/gas/cris/brokw-3.d
gas/testsuite/gas/cris/brokw-3.s
gas/testsuite/gas/cris/bwtest-err-1.s
gas/testsuite/gas/cris/ccr.d
gas/testsuite/gas/cris/ccr.s
gas/testsuite/gas/cris/clear.d
gas/testsuite/gas/cris/continue.d
gas/testsuite/gas/cris/continue.s
gas/testsuite/gas/cris/cris.exp
gas/testsuite/gas/cris/diffexp-ovwr.d
gas/testsuite/gas/cris/diffexp-ovwr.s
gas/testsuite/gas/cris/fragtest.d
gas/testsuite/gas/cris/fragtest.s
gas/testsuite/gas/cris/jump-type.d
gas/testsuite/gas/cris/labfloat.d
gas/testsuite/gas/cris/labfloat.s
gas/testsuite/gas/cris/macroat.d
gas/testsuite/gas/cris/macroat.s
gas/testsuite/gas/cris/movem-to-reg.d
gas/testsuite/gas/cris/nosep.d
gas/testsuite/gas/cris/nosep.s
gas/testsuite/gas/cris/oneop-type.d
gas/testsuite/gas/cris/operand-err-1.s
gas/testsuite/gas/cris/pic-err-1.s
gas/testsuite/gas/cris/prefix.d
gas/testsuite/gas/cris/prefix.s
gas/testsuite/gas/cris/pushpop-byte-sreg.d
gas/testsuite/gas/cris/pushpop-dcr1-sreg.d
gas/testsuite/gas/cris/pushpop-dword-sreg.d
gas/testsuite/gas/cris/pushpop-word-sreg.d
gas/testsuite/gas/cris/pushpop.d
gas/testsuite/gas/cris/pushpop.s
gas/testsuite/gas/cris/quick-s6.d
gas/testsuite/gas/cris/quick-u5.d
gas/testsuite/gas/cris/quick-u6.d
gas/testsuite/gas/cris/quick.s
gas/testsuite/gas/cris/range-err-1.s
gas/testsuite/gas/cris/range-err-2.s
gas/testsuite/gas/cris/rd-dw2-1.d
gas/testsuite/gas/cris/rd-dw2-10.d
gas/testsuite/gas/cris/rd-dw2-11.d
gas/testsuite/gas/cris/rd-dw2-12.d
gas/testsuite/gas/cris/rd-dw2-13.d
gas/testsuite/gas/cris/rd-dw2-14.d
gas/testsuite/gas/cris/rd-dw2-15.d
gas/testsuite/gas/cris/rd-dw2-2.d
gas/testsuite/gas/cris/rd-dw2-3.d
gas/testsuite/gas/cris/rd-dw2-4.d
gas/testsuite/gas/cris/rd-dw2-5.d
gas/testsuite/gas/cris/rd-dw2-6.d
gas/testsuite/gas/cris/rd-dw2-7.d
gas/testsuite/gas/cris/rd-dw2-8.d
gas/testsuite/gas/cris/rd-dw2-9.d
gas/testsuite/gas/cris/rd-pic-1.d
gas/testsuite/gas/cris/rd-pic-1.s
gas/testsuite/gas/cris/rd-regprefix-1.d
gas/testsuite/gas/cris/rd-regprefix-1.s
gas/testsuite/gas/cris/rd-regprefix-1b.d
gas/testsuite/gas/cris/reg-to-mem.d
gas/testsuite/gas/cris/regprefix-err-1.s
gas/testsuite/gas/cris/regreg.d
gas/testsuite/gas/cris/regreg.s
gas/testsuite/gas/cris/return.d
gas/testsuite/gas/cris/return.s
gas/testsuite/gas/cris/scc.d
gas/testsuite/gas/cris/scc.s
gas/testsuite/gas/cris/sep-err-1.s
gas/testsuite/gas/cris/sep-err-2.s
gas/testsuite/gas/cris/sep-err-3.s
gas/testsuite/gas/cris/separator.d
gas/testsuite/gas/cris/separator.s
gas/testsuite/gas/cris/shexpr-1.d
gas/testsuite/gas/cris/shexpr-1.s
gas/testsuite/gas/cris/sreg-to-x.d
gas/testsuite/gas/cris/string-1.d
gas/testsuite/gas/cris/string-1.s
gas/testsuite/gas/cris/string-2.d
gas/testsuite/gas/cris/string-2.s
gas/testsuite/gas/cris/test.d
gas/testsuite/gas/cris/unimplemented.d
gas/testsuite/gas/cris/unimplemented.s
gas/testsuite/gas/cris/unop-mem.d
gas/testsuite/gas/cris/unop.s
gas/testsuite/gas/cris/us-err-1.s
gas/testsuite/gas/cris/us-err-2.s
gas/testsuite/gas/cris/us-err-3.s
gas/testsuite/gas/cris/x-to-byte-sreg.d
gas/testsuite/gas/cris/x-to-dcr1-sreg.d
gas/testsuite/gas/cris/x-to-dword-sreg.d
gas/testsuite/gas/cris/x-to-word-sreg.d
gas/testsuite/gas/d10v/address-001.d
gas/testsuite/gas/d10v/address-001.s
gas/testsuite/gas/d10v/address-002.l
gas/testsuite/gas/d10v/address-002.s
gas/testsuite/gas/d10v/address-003.l
gas/testsuite/gas/d10v/address-003.s
gas/testsuite/gas/d10v/address-004.l
gas/testsuite/gas/d10v/address-004.s
gas/testsuite/gas/d10v/address-005.l
gas/testsuite/gas/d10v/address-005.s
gas/testsuite/gas/d10v/address-006.l
gas/testsuite/gas/d10v/address-006.s
gas/testsuite/gas/d10v/address-007.l
gas/testsuite/gas/d10v/address-007.s
gas/testsuite/gas/d10v/address-008.l
gas/testsuite/gas/d10v/address-008.s
gas/testsuite/gas/d10v/address-009.l
gas/testsuite/gas/d10v/address-009.s
gas/testsuite/gas/d10v/address-010.l
gas/testsuite/gas/d10v/address-010.s
gas/testsuite/gas/d10v/address-011.l
gas/testsuite/gas/d10v/address-011.s
gas/testsuite/gas/d10v/address-012.l
gas/testsuite/gas/d10v/address-012.s
gas/testsuite/gas/d10v/address-013.l
gas/testsuite/gas/d10v/address-013.s
gas/testsuite/gas/d10v/address-014.l
gas/testsuite/gas/d10v/address-014.s
gas/testsuite/gas/d10v/address-015.l
gas/testsuite/gas/d10v/address-015.s
gas/testsuite/gas/d10v/address-016.l
gas/testsuite/gas/d10v/address-016.s
gas/testsuite/gas/d10v/address-017.l
gas/testsuite/gas/d10v/address-017.s
gas/testsuite/gas/d10v/address-018.l
gas/testsuite/gas/d10v/address-018.s
gas/testsuite/gas/d10v/address-019.l
gas/testsuite/gas/d10v/address-019.s
gas/testsuite/gas/d10v/address-020.l
gas/testsuite/gas/d10v/address-020.s
gas/testsuite/gas/d10v/address-021.l
gas/testsuite/gas/d10v/address-021.s
gas/testsuite/gas/d10v/address-022.l
gas/testsuite/gas/d10v/address-022.s
gas/testsuite/gas/d10v/address-023.l
gas/testsuite/gas/d10v/address-023.s
gas/testsuite/gas/d10v/address-024.l
gas/testsuite/gas/d10v/address-024.s
gas/testsuite/gas/d10v/address-025.l
gas/testsuite/gas/d10v/address-025.s
gas/testsuite/gas/d10v/address-026.l
gas/testsuite/gas/d10v/address-026.s
gas/testsuite/gas/d10v/address-027.l
gas/testsuite/gas/d10v/address-027.s
gas/testsuite/gas/d10v/address-028.l
gas/testsuite/gas/d10v/address-028.s
gas/testsuite/gas/d10v/address-029.l
gas/testsuite/gas/d10v/address-029.s
gas/testsuite/gas/d10v/address-030.l
gas/testsuite/gas/d10v/address-030.s
gas/testsuite/gas/d10v/address-031.l
gas/testsuite/gas/d10v/address-031.s
gas/testsuite/gas/d10v/address-032.l
gas/testsuite/gas/d10v/address-032.s
gas/testsuite/gas/d10v/address-033.l
gas/testsuite/gas/d10v/address-033.s
gas/testsuite/gas/d10v/address-034.l
gas/testsuite/gas/d10v/address-034.s
gas/testsuite/gas/d10v/address-035.l
gas/testsuite/gas/d10v/address-035.s
gas/testsuite/gas/d10v/address-036.l
gas/testsuite/gas/d10v/address-036.s
gas/testsuite/gas/d10v/address-037.l
gas/testsuite/gas/d10v/address-037.s
gas/testsuite/gas/d10v/address-038.l
gas/testsuite/gas/d10v/address-038.s
gas/testsuite/gas/d10v/address-039.l
gas/testsuite/gas/d10v/address-039.s
gas/testsuite/gas/d10v/address-040.l
gas/testsuite/gas/d10v/address-040.s
gas/testsuite/gas/d10v/address-041.l
gas/testsuite/gas/d10v/address-041.s
gas/testsuite/gas/d10v/control-001.d
gas/testsuite/gas/d10v/control-001.s
gas/testsuite/gas/d10v/d10v.exp
gas/testsuite/gas/d10v/error-001.d
gas/testsuite/gas/d10v/error-001.s
gas/testsuite/gas/d10v/error-002.d
gas/testsuite/gas/d10v/error-002.s
gas/testsuite/gas/d10v/immediate-001.d
gas/testsuite/gas/d10v/immediate-001.s
gas/testsuite/gas/d10v/immediate-002.d
gas/testsuite/gas/d10v/immediate-002.s
gas/testsuite/gas/d10v/immediate-003.d
gas/testsuite/gas/d10v/immediate-003.s
gas/testsuite/gas/d10v/immediate-004.d
gas/testsuite/gas/d10v/immediate-004.s
gas/testsuite/gas/d10v/immediate-005.d
gas/testsuite/gas/d10v/immediate-005.s
gas/testsuite/gas/d10v/immediate-006.d
gas/testsuite/gas/d10v/immediate-006.s
gas/testsuite/gas/d10v/immediate-007.d
gas/testsuite/gas/d10v/immediate-007.s
gas/testsuite/gas/d10v/inst.d
gas/testsuite/gas/d10v/inst.s
gas/testsuite/gas/d10v/instruction_packing-001.d
gas/testsuite/gas/d10v/instruction_packing-001.s
gas/testsuite/gas/d10v/instruction_packing-002.d
gas/testsuite/gas/d10v/instruction_packing-002.s
gas/testsuite/gas/d10v/instruction_packing-003.d
gas/testsuite/gas/d10v/instruction_packing-003.s
gas/testsuite/gas/d10v/instruction_packing-004.d
gas/testsuite/gas/d10v/instruction_packing-004.s
gas/testsuite/gas/d10v/instruction_packing-005.d
gas/testsuite/gas/d10v/instruction_packing-005.s
gas/testsuite/gas/d10v/instruction_packing-006.d
gas/testsuite/gas/d10v/instruction_packing-006.s
gas/testsuite/gas/d10v/instruction_packing-007.d
gas/testsuite/gas/d10v/instruction_packing-007.s
gas/testsuite/gas/d10v/instruction_packing-008.d
gas/testsuite/gas/d10v/instruction_packing-009.d
gas/testsuite/gas/d10v/instruction_packing-010.d
gas/testsuite/gas/d10v/instruction_packing.d
gas/testsuite/gas/d10v/instruction_packing.s
gas/testsuite/gas/d10v/label-001.d
gas/testsuite/gas/d10v/label-001.s
gas/testsuite/gas/d10v/warning-001.d
gas/testsuite/gas/d10v/warning-001.s
gas/testsuite/gas/d10v/warning-002.d
gas/testsuite/gas/d10v/warning-002.s
gas/testsuite/gas/d10v/warning-003.d
gas/testsuite/gas/d10v/warning-003.s
gas/testsuite/gas/d10v/warning-004.d
gas/testsuite/gas/d10v/warning-004.s
gas/testsuite/gas/d10v/warning-005.d
gas/testsuite/gas/d10v/warning-005.s
gas/testsuite/gas/d10v/warning-006.d
gas/testsuite/gas/d10v/warning-006.s
gas/testsuite/gas/d10v/warning-007.d
gas/testsuite/gas/d10v/warning-007.s
gas/testsuite/gas/d10v/warning-008.d
gas/testsuite/gas/d10v/warning-008.s
gas/testsuite/gas/d10v/warning-009.d
gas/testsuite/gas/d10v/warning-009.s
gas/testsuite/gas/d10v/warning-010.d
gas/testsuite/gas/d10v/warning-010.s
gas/testsuite/gas/d10v/warning-011.d
gas/testsuite/gas/d10v/warning-011.s
gas/testsuite/gas/d10v/warning-012.d
gas/testsuite/gas/d10v/warning-012.s
gas/testsuite/gas/d10v/warning-013.d
gas/testsuite/gas/d10v/warning-013.s
gas/testsuite/gas/d10v/warning-014.d
gas/testsuite/gas/d10v/warning-014.s
gas/testsuite/gas/d10v/warning-015.d
gas/testsuite/gas/d10v/warning-016.d
gas/testsuite/gas/d10v/warning-016.s
gas/testsuite/gas/d10v/warning-017.d
gas/testsuite/gas/d10v/warning-017.s
gas/testsuite/gas/d10v/warning-018.d
gas/testsuite/gas/d10v/warning-018.s
gas/testsuite/gas/d10v/warning-019.d
gas/testsuite/gas/d10v/warning-019.s
gas/testsuite/gas/d30v/align.d
gas/testsuite/gas/d30v/align.s
gas/testsuite/gas/d30v/array.d
gas/testsuite/gas/d30v/array.s
gas/testsuite/gas/d30v/bittest.d
gas/testsuite/gas/d30v/bittest.l
gas/testsuite/gas/d30v/bittest.s
gas/testsuite/gas/d30v/d30.exp
gas/testsuite/gas/d30v/guard-debug.d
gas/testsuite/gas/d30v/guard-debug.s
gas/testsuite/gas/d30v/guard.d
gas/testsuite/gas/d30v/guard.s
gas/testsuite/gas/d30v/inst.d
gas/testsuite/gas/d30v/inst.s
gas/testsuite/gas/d30v/label-debug.d
gas/testsuite/gas/d30v/label-debug.s
gas/testsuite/gas/d30v/label.d
gas/testsuite/gas/d30v/label.s
gas/testsuite/gas/d30v/mul.d
gas/testsuite/gas/d30v/mul.s
gas/testsuite/gas/d30v/opt.d
gas/testsuite/gas/d30v/opt.s
gas/testsuite/gas/d30v/reloc.d
gas/testsuite/gas/d30v/reloc.s
gas/testsuite/gas/d30v/serial.l
gas/testsuite/gas/d30v/serial.s
gas/testsuite/gas/d30v/serial2.l
gas/testsuite/gas/d30v/serial2.s
gas/testsuite/gas/d30v/serial2O.l
gas/testsuite/gas/d30v/serial2O.s
gas/testsuite/gas/d30v/warn_oddreg.l
gas/testsuite/gas/d30v/warn_oddreg.s
gas/testsuite/gas/dlx/alltests.exp
gas/testsuite/gas/dlx/branch.d
gas/testsuite/gas/dlx/branch.s
gas/testsuite/gas/dlx/itype.d
gas/testsuite/gas/dlx/itype.s
gas/testsuite/gas/dlx/lhi.d
gas/testsuite/gas/dlx/lhi.s
gas/testsuite/gas/dlx/load.d
gas/testsuite/gas/dlx/load.s
gas/testsuite/gas/dlx/rtype.d
gas/testsuite/gas/dlx/rtype.s
gas/testsuite/gas/dlx/store.d
gas/testsuite/gas/dlx/store.s
gas/testsuite/gas/elf/ehopt0.d
gas/testsuite/gas/elf/ehopt0.s
gas/testsuite/gas/elf/elf.exp
gas/testsuite/gas/elf/section0.d
gas/testsuite/gas/elf/section0.s
gas/testsuite/gas/elf/section1.d
gas/testsuite/gas/elf/section1.s
gas/testsuite/gas/elf/section2.e
gas/testsuite/gas/elf/section2.e-m32r
gas/testsuite/gas/elf/section2.e-mips
gas/testsuite/gas/elf/section2.l
gas/testsuite/gas/elf/section2.s
gas/testsuite/gas/fr30/allinsn.d
gas/testsuite/gas/fr30/allinsn.exp
gas/testsuite/gas/fr30/allinsn.s
gas/testsuite/gas/fr30/fr30.exp
gas/testsuite/gas/frv/allinsn.d
gas/testsuite/gas/frv/allinsn.exp
gas/testsuite/gas/frv/allinsn.s
gas/testsuite/gas/h8300/addsub.s
gas/testsuite/gas/h8300/addsubh.s
gas/testsuite/gas/h8300/addsubs.s
gas/testsuite/gas/h8300/bitops1.s
gas/testsuite/gas/h8300/bitops1h.s
gas/testsuite/gas/h8300/bitops1s.s
gas/testsuite/gas/h8300/bitops2.s
gas/testsuite/gas/h8300/bitops2h.s
gas/testsuite/gas/h8300/bitops2s.s
gas/testsuite/gas/h8300/bitops3.s
gas/testsuite/gas/h8300/bitops3h.s
gas/testsuite/gas/h8300/bitops3s.s
gas/testsuite/gas/h8300/bitops4.s
gas/testsuite/gas/h8300/bitops4h.s
gas/testsuite/gas/h8300/bitops4s.s
gas/testsuite/gas/h8300/branch-coff.s
gas/testsuite/gas/h8300/branch-elf.s
gas/testsuite/gas/h8300/branchh-coff.s
gas/testsuite/gas/h8300/branchh-elf.s
gas/testsuite/gas/h8300/branchs-coff.s
gas/testsuite/gas/h8300/branchs-elf.s
gas/testsuite/gas/h8300/cbranch.s
gas/testsuite/gas/h8300/cbranchh.s
gas/testsuite/gas/h8300/cbranchs.s
gas/testsuite/gas/h8300/cmpsi2.s
gas/testsuite/gas/h8300/compare.s
gas/testsuite/gas/h8300/compareh.s
gas/testsuite/gas/h8300/compares.s
gas/testsuite/gas/h8300/decimal.s
gas/testsuite/gas/h8300/decimalh.s
gas/testsuite/gas/h8300/decimals.s
gas/testsuite/gas/h8300/divmul.s
gas/testsuite/gas/h8300/divmulh.s
gas/testsuite/gas/h8300/divmuls.s
gas/testsuite/gas/h8300/extendh.s
gas/testsuite/gas/h8300/extends.s
gas/testsuite/gas/h8300/ffxx1-coff.d
gas/testsuite/gas/h8300/ffxx1-coff.s
gas/testsuite/gas/h8300/ffxx1-elf.d
gas/testsuite/gas/h8300/ffxx1-elf.s
gas/testsuite/gas/h8300/h8300-coff.exp
gas/testsuite/gas/h8300/h8300-elf.exp
gas/testsuite/gas/h8300/h8300.exp
gas/testsuite/gas/h8300/incdec.s
gas/testsuite/gas/h8300/incdech.s
gas/testsuite/gas/h8300/incdecs.s
gas/testsuite/gas/h8300/logical.s
gas/testsuite/gas/h8300/logicalh.s
gas/testsuite/gas/h8300/logicals.s
gas/testsuite/gas/h8300/macs.s
gas/testsuite/gas/h8300/misc.s
gas/testsuite/gas/h8300/misch.s
gas/testsuite/gas/h8300/miscs.s
gas/testsuite/gas/h8300/mov32bug.s
gas/testsuite/gas/h8300/movb.s
gas/testsuite/gas/h8300/movbh.s
gas/testsuite/gas/h8300/movbs.s
gas/testsuite/gas/h8300/movlh.s
gas/testsuite/gas/h8300/movls.s
gas/testsuite/gas/h8300/movw.s
gas/testsuite/gas/h8300/movwh.s
gas/testsuite/gas/h8300/movws.s
gas/testsuite/gas/h8300/multiples.s
gas/testsuite/gas/h8300/pushpop.s
gas/testsuite/gas/h8300/pushpoph.s
gas/testsuite/gas/h8300/pushpops.s
gas/testsuite/gas/h8300/rotsh.s
gas/testsuite/gas/h8300/rotshh.s
gas/testsuite/gas/h8300/rotshs.s
gas/testsuite/gas/hppa/README
gas/testsuite/gas/hppa/basic/add.s
gas/testsuite/gas/hppa/basic/add2.s
gas/testsuite/gas/hppa/basic/addi.s
gas/testsuite/gas/hppa/basic/basic.exp
gas/testsuite/gas/hppa/basic/branch.s
gas/testsuite/gas/hppa/basic/branch2.s
gas/testsuite/gas/hppa/basic/comclr.s
gas/testsuite/gas/hppa/basic/copr.s
gas/testsuite/gas/hppa/basic/coprmem.s
gas/testsuite/gas/hppa/basic/dcor.s
gas/testsuite/gas/hppa/basic/dcor2.s
gas/testsuite/gas/hppa/basic/deposit.s
gas/testsuite/gas/hppa/basic/deposit2.s
gas/testsuite/gas/hppa/basic/deposit3.s
gas/testsuite/gas/hppa/basic/ds.s
gas/testsuite/gas/hppa/basic/extract.s
gas/testsuite/gas/hppa/basic/extract2.s
gas/testsuite/gas/hppa/basic/extract3.s
gas/testsuite/gas/hppa/basic/fmem.s
gas/testsuite/gas/hppa/basic/fmemLRbug.s
gas/testsuite/gas/hppa/basic/fp_comp.s
gas/testsuite/gas/hppa/basic/fp_comp2.s
gas/testsuite/gas/hppa/basic/fp_conv.s
gas/testsuite/gas/hppa/basic/fp_fcmp.s
gas/testsuite/gas/hppa/basic/fp_misc.s
gas/testsuite/gas/hppa/basic/imem.s
gas/testsuite/gas/hppa/basic/immed.s
gas/testsuite/gas/hppa/basic/logical.s
gas/testsuite/gas/hppa/basic/media.s
gas/testsuite/gas/hppa/basic/perf.s
gas/testsuite/gas/hppa/basic/purge.s
gas/testsuite/gas/hppa/basic/purge2.s
gas/testsuite/gas/hppa/basic/sh1add.s
gas/testsuite/gas/hppa/basic/sh2add.s
gas/testsuite/gas/hppa/basic/sh3add.s
gas/testsuite/gas/hppa/basic/shift.s
gas/testsuite/gas/hppa/basic/shift2.s
gas/testsuite/gas/hppa/basic/shift3.s
gas/testsuite/gas/hppa/basic/shladd.s
gas/testsuite/gas/hppa/basic/shladd2.s
gas/testsuite/gas/hppa/basic/special.s
gas/testsuite/gas/hppa/basic/spop.s
gas/testsuite/gas/hppa/basic/sub.s
gas/testsuite/gas/hppa/basic/sub2.s
gas/testsuite/gas/hppa/basic/subi.s
gas/testsuite/gas/hppa/basic/system.s
gas/testsuite/gas/hppa/basic/system2.s
gas/testsuite/gas/hppa/basic/unit.s
gas/testsuite/gas/hppa/basic/unit2.s
gas/testsuite/gas/hppa/basic/weird.s
gas/testsuite/gas/hppa/parse/align1.s
gas/testsuite/gas/hppa/parse/align2.s
gas/testsuite/gas/hppa/parse/appbug.s
gas/testsuite/gas/hppa/parse/badfmpyadd.s
gas/testsuite/gas/hppa/parse/block1.s
gas/testsuite/gas/hppa/parse/block2.s
gas/testsuite/gas/hppa/parse/calldatabug.s
gas/testsuite/gas/hppa/parse/callinfobug.s
gas/testsuite/gas/hppa/parse/defbug.s
gas/testsuite/gas/hppa/parse/entrybug.s
gas/testsuite/gas/hppa/parse/exportbug.s
gas/testsuite/gas/hppa/parse/exprbug.s
gas/testsuite/gas/hppa/parse/fixup7bug.s
gas/testsuite/gas/hppa/parse/global.s
gas/testsuite/gas/hppa/parse/labelbug.s
gas/testsuite/gas/hppa/parse/linesepbug.s
gas/testsuite/gas/hppa/parse/lselbug.s
gas/testsuite/gas/hppa/parse/nosubspace.s
gas/testsuite/gas/hppa/parse/parse.exp
gas/testsuite/gas/hppa/parse/procbug.s
gas/testsuite/gas/hppa/parse/regpopbug.s
gas/testsuite/gas/hppa/parse/spacebug.s
gas/testsuite/gas/hppa/parse/ssbug.s
gas/testsuite/gas/hppa/parse/stdreg.s
gas/testsuite/gas/hppa/parse/stringer.s
gas/testsuite/gas/hppa/parse/undefbug.s
gas/testsuite/gas/hppa/parse/versionbug.s
gas/testsuite/gas/hppa/parse/xmpyubug.s
gas/testsuite/gas/hppa/reloc/applybug.s
gas/testsuite/gas/hppa/reloc/blebug.s
gas/testsuite/gas/hppa/reloc/blebug2.s
gas/testsuite/gas/hppa/reloc/blebug3.s
gas/testsuite/gas/hppa/reloc/exitbug.s
gas/testsuite/gas/hppa/reloc/fixupbug.s
gas/testsuite/gas/hppa/reloc/funcrelocbug.s
gas/testsuite/gas/hppa/reloc/labelopbug.s
gas/testsuite/gas/hppa/reloc/longcall.s
gas/testsuite/gas/hppa/reloc/picreloc.s
gas/testsuite/gas/hppa/reloc/plabelbug.s
gas/testsuite/gas/hppa/reloc/r_no_reloc.s
gas/testsuite/gas/hppa/reloc/reduce.s
gas/testsuite/gas/hppa/reloc/reduce2.s
gas/testsuite/gas/hppa/reloc/reduce3.s
gas/testsuite/gas/hppa/reloc/reloc.exp
gas/testsuite/gas/hppa/reloc/roundmode.s
gas/testsuite/gas/hppa/reloc/selectorbug.s
gas/testsuite/gas/hppa/unsorted/align3.s
gas/testsuite/gas/hppa/unsorted/align4.s
gas/testsuite/gas/hppa/unsorted/brlenbug.s
gas/testsuite/gas/hppa/unsorted/common.s
gas/testsuite/gas/hppa/unsorted/fragbug.s
gas/testsuite/gas/hppa/unsorted/globalbug.s
gas/testsuite/gas/hppa/unsorted/importbug.s
gas/testsuite/gas/hppa/unsorted/labeldiffs.s
gas/testsuite/gas/hppa/unsorted/locallabel.s
gas/testsuite/gas/hppa/unsorted/ss_align.s
gas/testsuite/gas/hppa/unsorted/unsorted.exp
gas/testsuite/gas/i386/absrel.d
gas/testsuite/gas/i386/absrel.s
gas/testsuite/gas/i386/amd.d
gas/testsuite/gas/i386/amd.s
gas/testsuite/gas/i386/float.l
gas/testsuite/gas/i386/float.s
gas/testsuite/gas/i386/general.l
gas/testsuite/gas/i386/general.s
gas/testsuite/gas/i386/gotpc.d
gas/testsuite/gas/i386/gotpc.s
gas/testsuite/gas/i386/i386.exp
gas/testsuite/gas/i386/intel.d
gas/testsuite/gas/i386/intel.s
gas/testsuite/gas/i386/intel16.d
gas/testsuite/gas/i386/intel16.s
gas/testsuite/gas/i386/intelpic.d
gas/testsuite/gas/i386/intelpic.s
gas/testsuite/gas/i386/inval.l
gas/testsuite/gas/i386/inval.s
gas/testsuite/gas/i386/jump.d
gas/testsuite/gas/i386/jump.s
gas/testsuite/gas/i386/jump16.d
gas/testsuite/gas/i386/jump16.s
gas/testsuite/gas/i386/katmai.d
gas/testsuite/gas/i386/katmai.s
gas/testsuite/gas/i386/modrm.l
gas/testsuite/gas/i386/modrm.s
gas/testsuite/gas/i386/naked.d
gas/testsuite/gas/i386/naked.s
gas/testsuite/gas/i386/opcode.d
gas/testsuite/gas/i386/opcode.s
gas/testsuite/gas/i386/pcrel.d
gas/testsuite/gas/i386/pcrel.s
gas/testsuite/gas/i386/prefix.d
gas/testsuite/gas/i386/prefix.s
gas/testsuite/gas/i386/relax.d
gas/testsuite/gas/i386/relax.s
gas/testsuite/gas/i386/reloc.d
gas/testsuite/gas/i386/reloc.s
gas/testsuite/gas/i386/sse2.d
gas/testsuite/gas/i386/sse2.s
gas/testsuite/gas/i386/ssemmx2.d
gas/testsuite/gas/i386/ssemmx2.s
gas/testsuite/gas/i386/tlsd.d
gas/testsuite/gas/i386/tlsd.s
gas/testsuite/gas/i386/tlsnopic.d
gas/testsuite/gas/i386/tlsnopic.s
gas/testsuite/gas/i386/tlspic.d
gas/testsuite/gas/i386/tlspic.s
gas/testsuite/gas/i386/white.l
gas/testsuite/gas/i386/white.s
gas/testsuite/gas/i386/x86-64-inval.l
gas/testsuite/gas/i386/x86-64-inval.s
gas/testsuite/gas/i386/x86-64-opcode.d
gas/testsuite/gas/i386/x86-64-opcode.s
gas/testsuite/gas/i386/x86_64.d
gas/testsuite/gas/i386/x86_64.s
gas/testsuite/gas/ia64/dv-branch.d
gas/testsuite/gas/ia64/dv-branch.s
gas/testsuite/gas/ia64/dv-entry-err.l
gas/testsuite/gas/ia64/dv-entry-err.s
gas/testsuite/gas/ia64/dv-imply.d
gas/testsuite/gas/ia64/dv-imply.s
gas/testsuite/gas/ia64/dv-mutex-err.l
gas/testsuite/gas/ia64/dv-mutex-err.s
gas/testsuite/gas/ia64/dv-mutex.d
gas/testsuite/gas/ia64/dv-mutex.s
gas/testsuite/gas/ia64/dv-raw-err.l
gas/testsuite/gas/ia64/dv-raw-err.s
gas/testsuite/gas/ia64/dv-safe.d
gas/testsuite/gas/ia64/dv-safe.s
gas/testsuite/gas/ia64/dv-srlz.d
gas/testsuite/gas/ia64/dv-srlz.s
gas/testsuite/gas/ia64/dv-war-err.l
gas/testsuite/gas/ia64/dv-war-err.s
gas/testsuite/gas/ia64/dv-waw-err.l
gas/testsuite/gas/ia64/dv-waw-err.s
gas/testsuite/gas/ia64/fixup-dump.pl
gas/testsuite/gas/ia64/ia64.exp
gas/testsuite/gas/ia64/opc-a-err.l
gas/testsuite/gas/ia64/opc-a-err.s
gas/testsuite/gas/ia64/opc-a.d
gas/testsuite/gas/ia64/opc-a.pl
gas/testsuite/gas/ia64/opc-a.s
gas/testsuite/gas/ia64/opc-b.d
gas/testsuite/gas/ia64/opc-b.pl
gas/testsuite/gas/ia64/opc-b.s
gas/testsuite/gas/ia64/opc-f.d
gas/testsuite/gas/ia64/opc-f.pl
gas/testsuite/gas/ia64/opc-f.s
gas/testsuite/gas/ia64/opc-i.d
gas/testsuite/gas/ia64/opc-i.pl
gas/testsuite/gas/ia64/opc-i.s
gas/testsuite/gas/ia64/opc-m.d
gas/testsuite/gas/ia64/opc-m.pl
gas/testsuite/gas/ia64/opc-m.s
gas/testsuite/gas/ia64/opc-x.d
gas/testsuite/gas/ia64/opc-x.s
gas/testsuite/gas/ia64/regs.d
gas/testsuite/gas/ia64/regs.pl
gas/testsuite/gas/ia64/regs.s
gas/testsuite/gas/ia64/tls.d
gas/testsuite/gas/ia64/tls.s
gas/testsuite/gas/ieee-fp/x930509a.exp
gas/testsuite/gas/ieee-fp/x930509a.s
gas/testsuite/gas/m32r/allinsn.d
gas/testsuite/gas/m32r/allinsn.exp
gas/testsuite/gas/m32r/allinsn.s
gas/testsuite/gas/m32r/error.exp
gas/testsuite/gas/m32r/fslot.d
gas/testsuite/gas/m32r/fslot.s
gas/testsuite/gas/m32r/fslotx.d
gas/testsuite/gas/m32r/fslotx.s
gas/testsuite/gas/m32r/high-1.d
gas/testsuite/gas/m32r/high-1.s
gas/testsuite/gas/m32r/interfere.s
gas/testsuite/gas/m32r/m32r.exp
gas/testsuite/gas/m32r/m32rx.d
gas/testsuite/gas/m32r/m32rx.exp
gas/testsuite/gas/m32r/m32rx.s
gas/testsuite/gas/m32r/outofrange.s
gas/testsuite/gas/m32r/relax-1.d
gas/testsuite/gas/m32r/relax-1.s
gas/testsuite/gas/m32r/relax-2.d
gas/testsuite/gas/m32r/relax-2.s
gas/testsuite/gas/m32r/uppercase.d
gas/testsuite/gas/m32r/uppercase.s
gas/testsuite/gas/m32r/wrongsize.s
gas/testsuite/gas/m68hc11/all.exp
gas/testsuite/gas/m68hc11/all_insns.d
gas/testsuite/gas/m68hc11/all_insns.s
gas/testsuite/gas/m68hc11/branchs12.d
gas/testsuite/gas/m68hc11/branchs12.s
gas/testsuite/gas/m68hc11/insns-dwarf2.d
gas/testsuite/gas/m68hc11/insns.d
gas/testsuite/gas/m68hc11/insns.s
gas/testsuite/gas/m68hc11/insns12.d
gas/testsuite/gas/m68hc11/insns12.s
gas/testsuite/gas/m68hc11/lbranch-dwarf2.d
gas/testsuite/gas/m68hc11/lbranch.d
gas/testsuite/gas/m68hc11/lbranch.s
gas/testsuite/gas/m68hc11/malis-include.s
gas/testsuite/gas/m68hc11/malis.d
gas/testsuite/gas/m68hc11/malis.s
gas/testsuite/gas/m68hc11/opers12-dwarf2.d
gas/testsuite/gas/m68hc11/opers12.d
gas/testsuite/gas/m68hc11/opers12.s
gas/testsuite/gas/m68k-coff/gas.exp
gas/testsuite/gas/m68k-coff/p2389.s
gas/testsuite/gas/m68k-coff/p2389a.s
gas/testsuite/gas/m68k-coff/p2430.s
gas/testsuite/gas/m68k-coff/p2430a.s
gas/testsuite/gas/m68k-coff/t1.s
gas/testsuite/gas/m68k/all.exp
gas/testsuite/gas/m68k/bitfield.d
gas/testsuite/gas/m68k/bitfield.s
gas/testsuite/gas/m68k/cas.d
gas/testsuite/gas/m68k/cas.s
gas/testsuite/gas/m68k/disperr.s
gas/testsuite/gas/m68k/fmoveml.d
gas/testsuite/gas/m68k/fmoveml.s
gas/testsuite/gas/m68k/link.d
gas/testsuite/gas/m68k/link.s
gas/testsuite/gas/m68k/op68000.d
gas/testsuite/gas/m68k/operands.d
gas/testsuite/gas/m68k/operands.s
gas/testsuite/gas/m68k/p2410.s
gas/testsuite/gas/m68k/p2663.s
gas/testsuite/gas/m68k/pcrel.d
gas/testsuite/gas/m68k/pcrel.s
gas/testsuite/gas/m68k/pic1.s
gas/testsuite/gas/m68k/t2.d
gas/testsuite/gas/m68k/t2.s
gas/testsuite/gas/m88k/allinsn.d
gas/testsuite/gas/m88k/allinsn.s
gas/testsuite/gas/m88k/init.d
gas/testsuite/gas/m88k/init.s
gas/testsuite/gas/m88k/m88k.exp
gas/testsuite/gas/macros/err.s
gas/testsuite/gas/macros/irp.d
gas/testsuite/gas/macros/irp.s
gas/testsuite/gas/macros/macros.exp
gas/testsuite/gas/macros/rept.d
gas/testsuite/gas/macros/rept.s
gas/testsuite/gas/macros/semi.d
gas/testsuite/gas/macros/semi.s
gas/testsuite/gas/macros/strings.d
gas/testsuite/gas/macros/strings.s
gas/testsuite/gas/macros/test1.d
gas/testsuite/gas/macros/test1.s
gas/testsuite/gas/macros/test2.d
gas/testsuite/gas/macros/test2.s
gas/testsuite/gas/macros/test3.d
gas/testsuite/gas/macros/test3.s
gas/testsuite/gas/mcore/allinsn.d
gas/testsuite/gas/mcore/allinsn.exp
gas/testsuite/gas/mcore/allinsn.s
gas/testsuite/gas/mips/abs.d
gas/testsuite/gas/mips/abs.s
gas/testsuite/gas/mips/add.d
gas/testsuite/gas/mips/add.s
gas/testsuite/gas/mips/and.d
gas/testsuite/gas/mips/and.s
gas/testsuite/gas/mips/baddata1.l
gas/testsuite/gas/mips/baddata1.s
gas/testsuite/gas/mips/beq.d
gas/testsuite/gas/mips/beq.s
gas/testsuite/gas/mips/bge.d
gas/testsuite/gas/mips/bge.s
gas/testsuite/gas/mips/bgeu.d
gas/testsuite/gas/mips/bgeu.s
gas/testsuite/gas/mips/blt.d
gas/testsuite/gas/mips/blt.s
gas/testsuite/gas/mips/bltu.d
gas/testsuite/gas/mips/bltu.s
gas/testsuite/gas/mips/branch-misc-1.d
gas/testsuite/gas/mips/branch-misc-1.s
gas/testsuite/gas/mips/branch-misc-2.d
gas/testsuite/gas/mips/branch-misc-2.s
gas/testsuite/gas/mips/break20.d
gas/testsuite/gas/mips/break20.s
gas/testsuite/gas/mips/delay.d
gas/testsuite/gas/mips/delay.s
gas/testsuite/gas/mips/div-ilocks.d
gas/testsuite/gas/mips/div.d
gas/testsuite/gas/mips/div.s
gas/testsuite/gas/mips/dli.d
gas/testsuite/gas/mips/dli.s
gas/testsuite/gas/mips/e32-rel2.d
gas/testsuite/gas/mips/e32-rel4.d
gas/testsuite/gas/mips/e32el-rel2.d
gas/testsuite/gas/mips/elempic.d
gas/testsuite/gas/mips/elf-consthilo.d
gas/testsuite/gas/mips/elf-consthilo.s
gas/testsuite/gas/mips/elf-jal.d
gas/testsuite/gas/mips/elf-rel.d
gas/testsuite/gas/mips/elf-rel.s
gas/testsuite/gas/mips/elf-rel2.d
gas/testsuite/gas/mips/elf-rel2.s
gas/testsuite/gas/mips/elf-rel3.d
gas/testsuite/gas/mips/elf-rel3.s
gas/testsuite/gas/mips/elf-rel4.d
gas/testsuite/gas/mips/elf-rel4.s
gas/testsuite/gas/mips/elf-rel5.d
gas/testsuite/gas/mips/elf-rel5.s
gas/testsuite/gas/mips/elf-rel6.d
gas/testsuite/gas/mips/elf-rel6.s
gas/testsuite/gas/mips/elf_ase_mips16.d
gas/testsuite/gas/mips/elf_ase_mips16.s
gas/testsuite/gas/mips/elf_e_flags.c
gas/testsuite/gas/mips/elf_e_flags.s
gas/testsuite/gas/mips/elf_e_flags1.d
gas/testsuite/gas/mips/elf_e_flags2.d
gas/testsuite/gas/mips/elf_e_flags3.d
gas/testsuite/gas/mips/elf_e_flags4.d
gas/testsuite/gas/mips/elfel-rel.d
gas/testsuite/gas/mips/elfel-rel2.d
gas/testsuite/gas/mips/elfel-rel3.d
gas/testsuite/gas/mips/empic.d
gas/testsuite/gas/mips/empic.l
gas/testsuite/gas/mips/empic.s
gas/testsuite/gas/mips/empic2.d
gas/testsuite/gas/mips/empic2.s
gas/testsuite/gas/mips/empic3_e.d
gas/testsuite/gas/mips/empic3_e.s
gas/testsuite/gas/mips/empic3_g1.d
gas/testsuite/gas/mips/empic3_g1.s
gas/testsuite/gas/mips/empic3_g2.d
gas/testsuite/gas/mips/empic3_g2.s
gas/testsuite/gas/mips/illegal.l
gas/testsuite/gas/mips/illegal.s
gas/testsuite/gas/mips/itbl
gas/testsuite/gas/mips/itbl.s
gas/testsuite/gas/mips/jal-empic-elf-2.d
gas/testsuite/gas/mips/jal-empic-elf-2.s
gas/testsuite/gas/mips/jal-empic-elf-3.d
gas/testsuite/gas/mips/jal-empic-elf-3.s
gas/testsuite/gas/mips/jal-empic-elf.d
gas/testsuite/gas/mips/jal-empic.d
gas/testsuite/gas/mips/jal-range.l
gas/testsuite/gas/mips/jal-range.s
gas/testsuite/gas/mips/jal-svr4pic.d
gas/testsuite/gas/mips/jal-svr4pic.s
gas/testsuite/gas/mips/jal-xgot.d
gas/testsuite/gas/mips/jal.d
gas/testsuite/gas/mips/jal.s
gas/testsuite/gas/mips/la-empic.d
gas/testsuite/gas/mips/la-empic.s
gas/testsuite/gas/mips/la-svr4pic.d
gas/testsuite/gas/mips/la-xgot.d
gas/testsuite/gas/mips/la.d
gas/testsuite/gas/mips/la.s
gas/testsuite/gas/mips/lb-empic.d
gas/testsuite/gas/mips/lb-pic.s
gas/testsuite/gas/mips/lb-svr4pic.d
gas/testsuite/gas/mips/lb-xgot-ilocks.d
gas/testsuite/gas/mips/lb-xgot.d
gas/testsuite/gas/mips/lb.d
gas/testsuite/gas/mips/lb.s
gas/testsuite/gas/mips/ld-empic.d
gas/testsuite/gas/mips/ld-ilocks-addr32.d
gas/testsuite/gas/mips/ld-ilocks.d
gas/testsuite/gas/mips/ld-pic.s
gas/testsuite/gas/mips/ld-svr4pic.d
gas/testsuite/gas/mips/ld-xgot.d
gas/testsuite/gas/mips/ld.d
gas/testsuite/gas/mips/ld.s
gas/testsuite/gas/mips/li.d
gas/testsuite/gas/mips/li.s
gas/testsuite/gas/mips/lif-empic.d
gas/testsuite/gas/mips/lif-svr4pic.d
gas/testsuite/gas/mips/lif-xgot.d
gas/testsuite/gas/mips/lifloat.d
gas/testsuite/gas/mips/lifloat.s
gas/testsuite/gas/mips/lineno.d
gas/testsuite/gas/mips/lineno.s
gas/testsuite/gas/mips/mips-abi32-pic.d
gas/testsuite/gas/mips/mips-abi32-pic.s
gas/testsuite/gas/mips/mips-abi32-pic2.d
gas/testsuite/gas/mips/mips-abi32-pic2.s
gas/testsuite/gas/mips/mips-abi32.d
gas/testsuite/gas/mips/mips-abi32.s
gas/testsuite/gas/mips/mips-gp32-fp32-pic.d
gas/testsuite/gas/mips/mips-gp32-fp32-pic.s
gas/testsuite/gas/mips/mips-gp32-fp32.d
gas/testsuite/gas/mips/mips-gp32-fp32.s
gas/testsuite/gas/mips/mips-gp32-fp64-pic.d
gas/testsuite/gas/mips/mips-gp32-fp64-pic.s
gas/testsuite/gas/mips/mips-gp32-fp64.d
gas/testsuite/gas/mips/mips-gp32-fp64.s
gas/testsuite/gas/mips/mips-gp64-fp32-pic.d
gas/testsuite/gas/mips/mips-gp64-fp32-pic.s
gas/testsuite/gas/mips/mips-gp64-fp32.d
gas/testsuite/gas/mips/mips-gp64-fp32.l
gas/testsuite/gas/mips/mips-gp64-fp32.s
gas/testsuite/gas/mips/mips-gp64-fp64-pic.d
gas/testsuite/gas/mips/mips-gp64-fp64-pic.s
gas/testsuite/gas/mips/mips-gp64-fp64.d
gas/testsuite/gas/mips/mips-gp64-fp64.l
gas/testsuite/gas/mips/mips-gp64-fp64.s
gas/testsuite/gas/mips/mips-jalx.d
gas/testsuite/gas/mips/mips-jalx.s
gas/testsuite/gas/mips/mips-no-jalx.l
gas/testsuite/gas/mips/mips-no-jalx.s
gas/testsuite/gas/mips/mips.exp
gas/testsuite/gas/mips/mips16-e.d
gas/testsuite/gas/mips/mips16-e.s
gas/testsuite/gas/mips/mips16-f.d
gas/testsuite/gas/mips/mips16-f.s
gas/testsuite/gas/mips/mips16-jalx.d
gas/testsuite/gas/mips/mips16-jalx.s
gas/testsuite/gas/mips/mips16.d
gas/testsuite/gas/mips/mips16.s
gas/testsuite/gas/mips/mips32.d
gas/testsuite/gas/mips/mips32.s
gas/testsuite/gas/mips/mips4.d
gas/testsuite/gas/mips/mips4.s
gas/testsuite/gas/mips/mips4010.d
gas/testsuite/gas/mips/mips4010.s
gas/testsuite/gas/mips/mips4100.d
gas/testsuite/gas/mips/mips4100.s
gas/testsuite/gas/mips/mips4650.d
gas/testsuite/gas/mips/mips4650.s
gas/testsuite/gas/mips/mips64-mdmx.d
gas/testsuite/gas/mips/mips64-mdmx.s
gas/testsuite/gas/mips/mips64-mips3d.d
gas/testsuite/gas/mips/mips64-mips3d.s
gas/testsuite/gas/mips/mips64.d
gas/testsuite/gas/mips/mips64.s
gas/testsuite/gas/mips/mipsel16-e.d
gas/testsuite/gas/mips/mipsel16-f.d
gas/testsuite/gas/mips/mul-ilocks.d
gas/testsuite/gas/mips/mul.d
gas/testsuite/gas/mips/mul.s
gas/testsuite/gas/mips/nodelay.d
gas/testsuite/gas/mips/perfcount.d
gas/testsuite/gas/mips/perfcount.s
gas/testsuite/gas/mips/relax.d
gas/testsuite/gas/mips/relax.s
gas/testsuite/gas/mips/rol.d
gas/testsuite/gas/mips/rol.s
gas/testsuite/gas/mips/rol64.d
gas/testsuite/gas/mips/rol64.s
gas/testsuite/gas/mips/sb.d
gas/testsuite/gas/mips/sb.s
gas/testsuite/gas/mips/sb1-ext-mdmx.d
gas/testsuite/gas/mips/sb1-ext-mdmx.s
gas/testsuite/gas/mips/sb1-ext-ps.d
gas/testsuite/gas/mips/sb1-ext-ps.s
gas/testsuite/gas/mips/sync.d
gas/testsuite/gas/mips/sync.s
gas/testsuite/gas/mips/telempic.d
gas/testsuite/gas/mips/tempic.d
gas/testsuite/gas/mips/tmips16-e.d
gas/testsuite/gas/mips/tmips16-f.d
gas/testsuite/gas/mips/tmipsel16-e.d
gas/testsuite/gas/mips/tmipsel16-f.d
gas/testsuite/gas/mips/trap20.d
gas/testsuite/gas/mips/trap20.s
gas/testsuite/gas/mips/trunc.d
gas/testsuite/gas/mips/trunc.s
gas/testsuite/gas/mips/uld.d
gas/testsuite/gas/mips/uld.s
gas/testsuite/gas/mips/ulh-empic.d
gas/testsuite/gas/mips/ulh-pic.s
gas/testsuite/gas/mips/ulh-svr4pic.d
gas/testsuite/gas/mips/ulh-xgot.d
gas/testsuite/gas/mips/ulh.d
gas/testsuite/gas/mips/ulh.s
gas/testsuite/gas/mips/ulw.d
gas/testsuite/gas/mips/ulw.s
gas/testsuite/gas/mips/usd.d
gas/testsuite/gas/mips/usd.s
gas/testsuite/gas/mips/ush.d
gas/testsuite/gas/mips/ush.s
gas/testsuite/gas/mips/usw.d
gas/testsuite/gas/mips/usw.s
gas/testsuite/gas/mips/vr4111.d
gas/testsuite/gas/mips/vr4111.s
gas/testsuite/gas/mips/vr4120.d
gas/testsuite/gas/mips/vr4120.s
gas/testsuite/gas/mips/vr4122.d
gas/testsuite/gas/mips/vr4122.s
gas/testsuite/gas/mips/vr5400.d
gas/testsuite/gas/mips/vr5400.s
gas/testsuite/gas/mips/vr5500.d
gas/testsuite/gas/mips/vr5500.s
gas/testsuite/gas/mmix/1cjmp1b-n.d
gas/testsuite/gas/mmix/1cjmp1b-r.d
gas/testsuite/gas/mmix/1cjmp1b.d
gas/testsuite/gas/mmix/1cjmp1b.l
gas/testsuite/gas/mmix/1cjmp1b.s
gas/testsuite/gas/mmix/1cjmp1brn.d
gas/testsuite/gas/mmix/1hjmp1b.d
gas/testsuite/gas/mmix/1hjmp1b.l
gas/testsuite/gas/mmix/1hjmp1b.s
gas/testsuite/gas/mmix/align-1.d
gas/testsuite/gas/mmix/align-1.s
gas/testsuite/gas/mmix/basep-1.d
gas/testsuite/gas/mmix/basep-1.s
gas/testsuite/gas/mmix/basep-10.d
gas/testsuite/gas/mmix/basep-10.s
gas/testsuite/gas/mmix/basep-11.d
gas/testsuite/gas/mmix/basep-11.s
gas/testsuite/gas/mmix/basep-1b.d
gas/testsuite/gas/mmix/basep-2.d
gas/testsuite/gas/mmix/basep-2.s
gas/testsuite/gas/mmix/basep-2b.d
gas/testsuite/gas/mmix/basep-3.d
gas/testsuite/gas/mmix/basep-3.s
gas/testsuite/gas/mmix/basep-3b.d
gas/testsuite/gas/mmix/basep-4.d
gas/testsuite/gas/mmix/basep-5.d
gas/testsuite/gas/mmix/basep-6.d
gas/testsuite/gas/mmix/basep-7.d
gas/testsuite/gas/mmix/basep-8.d
gas/testsuite/gas/mmix/basep-8.s
gas/testsuite/gas/mmix/basep-9.d
gas/testsuite/gas/mmix/basep-9.s
gas/testsuite/gas/mmix/bspec-1.d
gas/testsuite/gas/mmix/bspec-1.s
gas/testsuite/gas/mmix/bspec-2.d
gas/testsuite/gas/mmix/bspec-2.s
gas/testsuite/gas/mmix/builtin1.d
gas/testsuite/gas/mmix/builtin1.s
gas/testsuite/gas/mmix/builtin2.d
gas/testsuite/gas/mmix/builtin3.d
gas/testsuite/gas/mmix/byte-1.d
gas/testsuite/gas/mmix/byte-1.s
gas/testsuite/gas/mmix/bz-c.d
gas/testsuite/gas/mmix/bz-c.s
gas/testsuite/gas/mmix/comment-1.d
gas/testsuite/gas/mmix/comment-1.s
gas/testsuite/gas/mmix/comment-2.d
gas/testsuite/gas/mmix/comment-2.s
gas/testsuite/gas/mmix/comment-3.d
gas/testsuite/gas/mmix/comment-3.s
gas/testsuite/gas/mmix/cons-1.d
gas/testsuite/gas/mmix/cons-1.s
gas/testsuite/gas/mmix/cons-2.d
gas/testsuite/gas/mmix/cons-2.s
gas/testsuite/gas/mmix/err-bpo1.s
gas/testsuite/gas/mmix/err-bpo2.s
gas/testsuite/gas/mmix/err-bpo3.s
gas/testsuite/gas/mmix/err-bpo4.s
gas/testsuite/gas/mmix/err-bpo5.s
gas/testsuite/gas/mmix/err-bpo6.s
gas/testsuite/gas/mmix/err-bspec-1.s
gas/testsuite/gas/mmix/err-bspec-2.s
gas/testsuite/gas/mmix/err-bspec-3.s
gas/testsuite/gas/mmix/err-bspec-4.s
gas/testsuite/gas/mmix/err-bspec-5.s
gas/testsuite/gas/mmix/err-builtin.s
gas/testsuite/gas/mmix/err-byte1.s
gas/testsuite/gas/mmix/err-byte2.s
gas/testsuite/gas/mmix/err-case.s
gas/testsuite/gas/mmix/err-fb-1.s
gas/testsuite/gas/mmix/err-greg1.s
gas/testsuite/gas/mmix/err-insn.s
gas/testsuite/gas/mmix/err-is-1.s
gas/testsuite/gas/mmix/err-loc-1.s
gas/testsuite/gas/mmix/err-loc-2.s
gas/testsuite/gas/mmix/err-loc-3.s
gas/testsuite/gas/mmix/err-loc-4.s
gas/testsuite/gas/mmix/err-loc-5.s
gas/testsuite/gas/mmix/err-loc-6.s
gas/testsuite/gas/mmix/err-loc-7.s
gas/testsuite/gas/mmix/err-loc-8.s
gas/testsuite/gas/mmix/err-local1.s
gas/testsuite/gas/mmix/err-local2.s
gas/testsuite/gas/mmix/err-ser-1.s
gas/testsuite/gas/mmix/err-set.s
gas/testsuite/gas/mmix/expr-1.d
gas/testsuite/gas/mmix/expr-1.s
gas/testsuite/gas/mmix/fb-1.d
gas/testsuite/gas/mmix/fb-1.s
gas/testsuite/gas/mmix/fb-2.d
gas/testsuite/gas/mmix/fb-2.s
gas/testsuite/gas/mmix/get-op-r.d
gas/testsuite/gas/mmix/get-op.d
gas/testsuite/gas/mmix/get-op.l
gas/testsuite/gas/mmix/get-op.s
gas/testsuite/gas/mmix/geta-c.d
gas/testsuite/gas/mmix/geta-c.s
gas/testsuite/gas/mmix/geta-op-r.d
gas/testsuite/gas/mmix/geta-op.d
gas/testsuite/gas/mmix/geta-op.l
gas/testsuite/gas/mmix/geta-op.s
gas/testsuite/gas/mmix/geta-opn.d
gas/testsuite/gas/mmix/geta-oprn.d
gas/testsuite/gas/mmix/greg1.d
gas/testsuite/gas/mmix/greg1.s
gas/testsuite/gas/mmix/greg1a.d
gas/testsuite/gas/mmix/greg2.d
gas/testsuite/gas/mmix/greg2.s
gas/testsuite/gas/mmix/greg2a.d
gas/testsuite/gas/mmix/greg3.d
gas/testsuite/gas/mmix/greg3.s
gas/testsuite/gas/mmix/greg4.d
gas/testsuite/gas/mmix/greg4.s
gas/testsuite/gas/mmix/greg5.d
gas/testsuite/gas/mmix/greg5.s
gas/testsuite/gas/mmix/greg6.d
gas/testsuite/gas/mmix/greg6.s
gas/testsuite/gas/mmix/greg7.d
gas/testsuite/gas/mmix/greg7.s
gas/testsuite/gas/mmix/greg8.d
gas/testsuite/gas/mmix/greg8.s
gas/testsuite/gas/mmix/greg9.d
gas/testsuite/gas/mmix/greg9.s
gas/testsuite/gas/mmix/hex-r.d
gas/testsuite/gas/mmix/hex.d
gas/testsuite/gas/mmix/hex.l
gas/testsuite/gas/mmix/hex.s
gas/testsuite/gas/mmix/is-1.d
gas/testsuite/gas/mmix/is-1.s
gas/testsuite/gas/mmix/jmp-op-n.d
gas/testsuite/gas/mmix/jmp-op-r.d
gas/testsuite/gas/mmix/jmp-op.d
gas/testsuite/gas/mmix/jmp-op.l
gas/testsuite/gas/mmix/jmp-op.s
gas/testsuite/gas/mmix/jmp-oprn.d
gas/testsuite/gas/mmix/jump-c.d
gas/testsuite/gas/mmix/jump-c.s
gas/testsuite/gas/mmix/list-in-n.d
gas/testsuite/gas/mmix/list-in-r.d
gas/testsuite/gas/mmix/list-in-rn.d
gas/testsuite/gas/mmix/list-insns.d
gas/testsuite/gas/mmix/list-insns.l
gas/testsuite/gas/mmix/list-insns.s
gas/testsuite/gas/mmix/list-pseudoints.l
gas/testsuite/gas/mmix/list-pseudoints.s
gas/testsuite/gas/mmix/list-textfirst
gas/testsuite/gas/mmix/list-textfirst.l
gas/testsuite/gas/mmix/list-textfirst.s
gas/testsuite/gas/mmix/loc-1.d
gas/testsuite/gas/mmix/loc-1.s
gas/testsuite/gas/mmix/loc-2.d
gas/testsuite/gas/mmix/loc-2.s
gas/testsuite/gas/mmix/loc-3.d
gas/testsuite/gas/mmix/loc-3.s
gas/testsuite/gas/mmix/loc-4.d
gas/testsuite/gas/mmix/loc-4.s
gas/testsuite/gas/mmix/loc-5.d
gas/testsuite/gas/mmix/loc-5.s
gas/testsuite/gas/mmix/local-1.d
gas/testsuite/gas/mmix/local-1.s
gas/testsuite/gas/mmix/locall1.d
gas/testsuite/gas/mmix/locall1.s
gas/testsuite/gas/mmix/mmix-err.exp
gas/testsuite/gas/mmix/mmix-list.exp
gas/testsuite/gas/mmix/mmix.exp
gas/testsuite/gas/mmix/odd-1.d
gas/testsuite/gas/mmix/odd-1.s
gas/testsuite/gas/mmix/op-0-1.d
gas/testsuite/gas/mmix/op-0-1.s
gas/testsuite/gas/mmix/op-0-2.d
gas/testsuite/gas/mmix/pop-op-r.d
gas/testsuite/gas/mmix/pop-op.d
gas/testsuite/gas/mmix/pop-op.l
gas/testsuite/gas/mmix/pop-op.s
gas/testsuite/gas/mmix/prefix1.d
gas/testsuite/gas/mmix/prefix1.s
gas/testsuite/gas/mmix/prefix2.d
gas/testsuite/gas/mmix/prefix2.s
gas/testsuite/gas/mmix/prefix3.d
gas/testsuite/gas/mmix/prefix3.s
gas/testsuite/gas/mmix/pseudo-1.d
gas/testsuite/gas/mmix/pseudo-1.s
gas/testsuite/gas/mmix/pushgo-op-r.d
gas/testsuite/gas/mmix/pushgo-op.d
gas/testsuite/gas/mmix/pushgo-op.l
gas/testsuite/gas/mmix/pushgo-op.s
gas/testsuite/gas/mmix/pushj-c.d
gas/testsuite/gas/mmix/pushj-c.s
gas/testsuite/gas/mmix/put-op-r.d
gas/testsuite/gas/mmix/put-op.d
gas/testsuite/gas/mmix/put-op.l
gas/testsuite/gas/mmix/put-op.s
gas/testsuite/gas/mmix/reg-op-r.d
gas/testsuite/gas/mmix/reg-op.d
gas/testsuite/gas/mmix/reg-op.l
gas/testsuite/gas/mmix/reg-op.s
gas/testsuite/gas/mmix/reg3-op-r.d
gas/testsuite/gas/mmix/reg3-op.d
gas/testsuite/gas/mmix/reg3-op.l
gas/testsuite/gas/mmix/reg3-op.s
gas/testsuite/gas/mmix/regt-op-r.d
gas/testsuite/gas/mmix/regt-op.d
gas/testsuite/gas/mmix/regt-op.l
gas/testsuite/gas/mmix/regt-op.s
gas/testsuite/gas/mmix/regx-op-r.d
gas/testsuite/gas/mmix/regx-op.d
gas/testsuite/gas/mmix/regx-op.l
gas/testsuite/gas/mmix/regx-op.s
gas/testsuite/gas/mmix/regy-op-r.d
gas/testsuite/gas/mmix/regy-op.d
gas/testsuite/gas/mmix/regy-op.l
gas/testsuite/gas/mmix/regy-op.s
gas/testsuite/gas/mmix/relax1-n.d
gas/testsuite/gas/mmix/relax1-r.d
gas/testsuite/gas/mmix/relax1-rn.d
gas/testsuite/gas/mmix/relax1.d
gas/testsuite/gas/mmix/relax1.l
gas/testsuite/gas/mmix/relax1.s
gas/testsuite/gas/mmix/reloc16-n.d
gas/testsuite/gas/mmix/reloc16-r.d
gas/testsuite/gas/mmix/reloc16.d
gas/testsuite/gas/mmix/reloc16.l
gas/testsuite/gas/mmix/reloc16.s
gas/testsuite/gas/mmix/reloc8-r.d
gas/testsuite/gas/mmix/reloc8.d
gas/testsuite/gas/mmix/reloc8.l
gas/testsuite/gas/mmix/reloc8.s
gas/testsuite/gas/mmix/relocl-n.d
gas/testsuite/gas/mmix/reloclab-r.d
gas/testsuite/gas/mmix/reloclab.d
gas/testsuite/gas/mmix/reloclab.l
gas/testsuite/gas/mmix/reloclab.s
gas/testsuite/gas/mmix/reloclrn.d
gas/testsuite/gas/mmix/relocxrn.d
gas/testsuite/gas/mmix/resume-op-r.d
gas/testsuite/gas/mmix/resume-op.d
gas/testsuite/gas/mmix/resume-op.l
gas/testsuite/gas/mmix/resume-op.s
gas/testsuite/gas/mmix/round2-op-r.d
gas/testsuite/gas/mmix/round2-op.d
gas/testsuite/gas/mmix/round2-op.l
gas/testsuite/gas/mmix/round2-op.s
gas/testsuite/gas/mmix/roundi-op-r.d
gas/testsuite/gas/mmix/roundi-op.d
gas/testsuite/gas/mmix/roundi-op.l
gas/testsuite/gas/mmix/roundi-op.s
gas/testsuite/gas/mmix/roundr-op-r.d
gas/testsuite/gas/mmix/roundr-op.d
gas/testsuite/gas/mmix/roundr-op.l
gas/testsuite/gas/mmix/roundr-op.s
gas/testsuite/gas/mmix/save-op-r.d
gas/testsuite/gas/mmix/save-op.d
gas/testsuite/gas/mmix/save-op.l
gas/testsuite/gas/mmix/save-op.s
gas/testsuite/gas/mmix/set-r.d
gas/testsuite/gas/mmix/set.d
gas/testsuite/gas/mmix/set.l
gas/testsuite/gas/mmix/set.s
gas/testsuite/gas/mmix/swym-op-r.d
gas/testsuite/gas/mmix/swym-op.d
gas/testsuite/gas/mmix/swym-op.l
gas/testsuite/gas/mmix/swym-op.s
gas/testsuite/gas/mmix/sym-1.d
gas/testsuite/gas/mmix/sym-1.s
gas/testsuite/gas/mmix/sync-op-r.d
gas/testsuite/gas/mmix/sync-op.d
gas/testsuite/gas/mmix/sync-op.l
gas/testsuite/gas/mmix/sync-op.s
gas/testsuite/gas/mmix/two-op-r.d
gas/testsuite/gas/mmix/two-op.d
gas/testsuite/gas/mmix/two-op.l
gas/testsuite/gas/mmix/two-op.s
gas/testsuite/gas/mmix/unsave-op-r.d
gas/testsuite/gas/mmix/unsave-op.d
gas/testsuite/gas/mmix/unsave-op.l
gas/testsuite/gas/mmix/unsave-op.s
gas/testsuite/gas/mmix/weak1.d
gas/testsuite/gas/mmix/weak1.s
gas/testsuite/gas/mmix/zerop-1.d
gas/testsuite/gas/mmix/zerop-1.s
gas/testsuite/gas/mn10200/add.s
gas/testsuite/gas/mn10200/basic.exp
gas/testsuite/gas/mn10200/bcc.s
gas/testsuite/gas/mn10200/bccx.s
gas/testsuite/gas/mn10200/bit.s
gas/testsuite/gas/mn10200/cmp.s
gas/testsuite/gas/mn10200/ext.s
gas/testsuite/gas/mn10200/logical.s
gas/testsuite/gas/mn10200/mov1.s
gas/testsuite/gas/mn10200/mov2.s
gas/testsuite/gas/mn10200/mov3.s
gas/testsuite/gas/mn10200/mov4.s
gas/testsuite/gas/mn10200/movb.s
gas/testsuite/gas/mn10200/movbu.s
gas/testsuite/gas/mn10200/movx.s
gas/testsuite/gas/mn10200/muldiv.s
gas/testsuite/gas/mn10200/other.s
gas/testsuite/gas/mn10200/shift.s
gas/testsuite/gas/mn10200/sub.s
gas/testsuite/gas/mn10300/add.s
gas/testsuite/gas/mn10300/am33.s
gas/testsuite/gas/mn10300/am33_2.s
gas/testsuite/gas/mn10300/am33_3.s
gas/testsuite/gas/mn10300/am33_4.s
gas/testsuite/gas/mn10300/am33_5.s
gas/testsuite/gas/mn10300/am33_6.s
gas/testsuite/gas/mn10300/am33_7.s
gas/testsuite/gas/mn10300/am33_8.s
gas/testsuite/gas/mn10300/basic.exp
gas/testsuite/gas/mn10300/bcc.s
gas/testsuite/gas/mn10300/bit.s
gas/testsuite/gas/mn10300/cmp.s
gas/testsuite/gas/mn10300/ext.s
gas/testsuite/gas/mn10300/extend.s
gas/testsuite/gas/mn10300/logical.s
gas/testsuite/gas/mn10300/loop.s
gas/testsuite/gas/mn10300/mov1.s
gas/testsuite/gas/mn10300/mov2.s
gas/testsuite/gas/mn10300/mov3.s
gas/testsuite/gas/mn10300/mov4.s
gas/testsuite/gas/mn10300/movbu.s
gas/testsuite/gas/mn10300/movhu.s
gas/testsuite/gas/mn10300/movm.s
gas/testsuite/gas/mn10300/movpc.l
gas/testsuite/gas/mn10300/movpc.s
gas/testsuite/gas/mn10300/muldiv.s
gas/testsuite/gas/mn10300/other.s
gas/testsuite/gas/mn10300/shift.s
gas/testsuite/gas/mn10300/sub.s
gas/testsuite/gas/mn10300/udf.s
gas/testsuite/gas/mri/char.d
gas/testsuite/gas/mri/char.s
gas/testsuite/gas/mri/comment.d
gas/testsuite/gas/mri/comment.s
gas/testsuite/gas/mri/common.d
gas/testsuite/gas/mri/common.s
gas/testsuite/gas/mri/constants.d
gas/testsuite/gas/mri/constants.s
gas/testsuite/gas/mri/empty.s
gas/testsuite/gas/mri/equ.d
gas/testsuite/gas/mri/equ.s
gas/testsuite/gas/mri/expr.d
gas/testsuite/gas/mri/expr.s
gas/testsuite/gas/mri/float.d
gas/testsuite/gas/mri/float.s
gas/testsuite/gas/mri/for.d
gas/testsuite/gas/mri/for.s
gas/testsuite/gas/mri/if.d
gas/testsuite/gas/mri/if.s
gas/testsuite/gas/mri/immconst.d
gas/testsuite/gas/mri/label.d
gas/testsuite/gas/mri/label.s
gas/testsuite/gas/mri/moveml.d
gas/testsuite/gas/mri/moveml.s
gas/testsuite/gas/mri/mri.exp
gas/testsuite/gas/mri/repeat.d
gas/testsuite/gas/mri/repeat.s
gas/testsuite/gas/mri/semi.d
gas/testsuite/gas/mri/semi.s
gas/testsuite/gas/mri/while.d
gas/testsuite/gas/mri/while.s
gas/testsuite/gas/openrisc/addi.d
gas/testsuite/gas/openrisc/addi.s
gas/testsuite/gas/openrisc/allinsn.d
gas/testsuite/gas/openrisc/allinsn.exp
gas/testsuite/gas/openrisc/allinsn.s
gas/testsuite/gas/openrisc/lohi.d
gas/testsuite/gas/openrisc/lohi.s
gas/testsuite/gas/openrisc/store.d
gas/testsuite/gas/openrisc/store.s
gas/testsuite/gas/pdp11/opcode.d
gas/testsuite/gas/pdp11/opcode.s
gas/testsuite/gas/pdp11/pdp11.exp
gas/testsuite/gas/pj/ops.d
gas/testsuite/gas/pj/ops.s
gas/testsuite/gas/pj/pj.exp
gas/testsuite/gas/ppc/aix.exp
gas/testsuite/gas/ppc/align.s
gas/testsuite/gas/ppc/altivec.d
gas/testsuite/gas/ppc/altivec.s
gas/testsuite/gas/ppc/altivec_xcoff.d
gas/testsuite/gas/ppc/altivec_xcoff.s
gas/testsuite/gas/ppc/altivec_xcoff64.d
gas/testsuite/gas/ppc/altivec_xcoff64.s
gas/testsuite/gas/ppc/astest.d
gas/testsuite/gas/ppc/astest.s
gas/testsuite/gas/ppc/astest2.d
gas/testsuite/gas/ppc/astest2.s
gas/testsuite/gas/ppc/astest2_64.d
gas/testsuite/gas/ppc/astest2_64.s
gas/testsuite/gas/ppc/astest64.d
gas/testsuite/gas/ppc/astest64.s
gas/testsuite/gas/ppc/booke.d
gas/testsuite/gas/ppc/booke.s
gas/testsuite/gas/ppc/booke_xcoff.d
gas/testsuite/gas/ppc/booke_xcoff.s
gas/testsuite/gas/ppc/booke_xcoff64.d
gas/testsuite/gas/ppc/booke_xcoff64.s
gas/testsuite/gas/ppc/e500.d
gas/testsuite/gas/ppc/e500.s
gas/testsuite/gas/ppc/generate.sh
gas/testsuite/gas/ppc/ppc.exp
gas/testsuite/gas/ppc/simpshft.d
gas/testsuite/gas/ppc/simpshft.s
gas/testsuite/gas/ppc/test1elf.asm
gas/testsuite/gas/ppc/test1elf32.d
gas/testsuite/gas/ppc/test1elf32.s
gas/testsuite/gas/ppc/test1elf64.d
gas/testsuite/gas/ppc/test1elf64.s
gas/testsuite/gas/ppc/test1xcoff.asm
gas/testsuite/gas/ppc/test1xcoff32.d
gas/testsuite/gas/ppc/test1xcoff32.s
gas/testsuite/gas/ppc/textalign-xcoff-001.d
gas/testsuite/gas/ppc/textalign-xcoff-001.s
gas/testsuite/gas/ppc/textalign-xcoff-002.d
gas/testsuite/gas/s390/opcode.d
gas/testsuite/gas/s390/opcode.s
gas/testsuite/gas/s390/opcode64.d
gas/testsuite/gas/s390/opcode64.s
gas/testsuite/gas/s390/operands.d
gas/testsuite/gas/s390/operands.s
gas/testsuite/gas/s390/operands64.d
gas/testsuite/gas/s390/operands64.s
gas/testsuite/gas/s390/reloc.d
gas/testsuite/gas/s390/reloc.s
gas/testsuite/gas/s390/reloc64.d
gas/testsuite/gas/s390/reloc64.s
gas/testsuite/gas/s390/s390.exp
gas/testsuite/gas/sh/basic.exp
gas/testsuite/gas/sh/dsp.d
gas/testsuite/gas/sh/dsp.s
gas/testsuite/gas/sh/err-1.s
gas/testsuite/gas/sh/err-at.s
gas/testsuite/gas/sh/err-be.s
gas/testsuite/gas/sh/err-le.s
gas/testsuite/gas/sh/err.exp
gas/testsuite/gas/sh/fp.s
gas/testsuite/gas/sh/pcrel-coff.d
gas/testsuite/gas/sh/pcrel-coff.s
gas/testsuite/gas/sh/pcrel.d
gas/testsuite/gas/sh/pcrel.l
gas/testsuite/gas/sh/pcrel.s
gas/testsuite/gas/sh/pcrel2.d
gas/testsuite/gas/sh/pcrel2.s
gas/testsuite/gas/sh/pic.d
gas/testsuite/gas/sh/pic.s
gas/testsuite/gas/sh/sh64/abi-32.d
gas/testsuite/gas/sh/sh64/abi-32.s
gas/testsuite/gas/sh/sh64/abi-64.d
gas/testsuite/gas/sh/sh64/abi-64.s
gas/testsuite/gas/sh/sh64/basic-1.d
gas/testsuite/gas/sh/sh64/basic-1.s
gas/testsuite/gas/sh/sh64/case-1.d
gas/testsuite/gas/sh/sh64/case-1.s
gas/testsuite/gas/sh/sh64/case-noexp-1.d
gas/testsuite/gas/sh/sh64/crange1-1.d
gas/testsuite/gas/sh/sh64/crange1-2.d
gas/testsuite/gas/sh/sh64/crange1.s
gas/testsuite/gas/sh/sh64/crange2-1.d
gas/testsuite/gas/sh/sh64/crange2-2.d
gas/testsuite/gas/sh/sh64/crange2-noexp-1.d
gas/testsuite/gas/sh/sh64/crange2.s
gas/testsuite/gas/sh/sh64/crange3-1.d
gas/testsuite/gas/sh/sh64/crange3.s
gas/testsuite/gas/sh/sh64/crange4-1.d
gas/testsuite/gas/sh/sh64/crange4.s
gas/testsuite/gas/sh/sh64/crange5-1.d
gas/testsuite/gas/sh/sh64/crange5.s
gas/testsuite/gas/sh/sh64/creg-1.d
gas/testsuite/gas/sh/sh64/creg-1.s
gas/testsuite/gas/sh/sh64/creg-2.d
gas/testsuite/gas/sh/sh64/creg-2.s
gas/testsuite/gas/sh/sh64/datal-1.s
gas/testsuite/gas/sh/sh64/datal-2.d
gas/testsuite/gas/sh/sh64/datal-2.s
gas/testsuite/gas/sh/sh64/datal-3.s
gas/testsuite/gas/sh/sh64/datal32-1.d
gas/testsuite/gas/sh/sh64/datal32-3.d
gas/testsuite/gas/sh/sh64/datal64-1.d
gas/testsuite/gas/sh/sh64/datal64-3.d
gas/testsuite/gas/sh/sh64/endian-1.d
gas/testsuite/gas/sh/sh64/endian-1.s
gas/testsuite/gas/sh/sh64/endian-2.d
gas/testsuite/gas/sh/sh64/endian-2.s
gas/testsuite/gas/sh/sh64/err-1.s
gas/testsuite/gas/sh/sh64/err-2.s
gas/testsuite/gas/sh/sh64/err-3.s
gas/testsuite/gas/sh/sh64/err-4.s
gas/testsuite/gas/sh/sh64/err-abi-32.s
gas/testsuite/gas/sh/sh64/err-abi-64.s
gas/testsuite/gas/sh/sh64/err-dsp.s
gas/testsuite/gas/sh/sh64/err-movi-noexp-1.s
gas/testsuite/gas/sh/sh64/err-noexp-cmd1.s
gas/testsuite/gas/sh/sh64/err-pt-1.s
gas/testsuite/gas/sh/sh64/err-pt32-cmd1.s
gas/testsuite/gas/sh/sh64/err-pt32-cmd2.s
gas/testsuite/gas/sh/sh64/err-pt32-cmd3.s
gas/testsuite/gas/sh/sh64/err-ptb-1.s
gas/testsuite/gas/sh/sh64/err-ptb-2.s
gas/testsuite/gas/sh/sh64/err.exp
gas/testsuite/gas/sh/sh64/immexpr1.s
gas/testsuite/gas/sh/sh64/immexpr2.s
gas/testsuite/gas/sh/sh64/immexpr32-1.d
gas/testsuite/gas/sh/sh64/immexpr32-2.d
gas/testsuite/gas/sh/sh64/immexpr64-1.d
gas/testsuite/gas/sh/sh64/immexpr64-2.d
gas/testsuite/gas/sh/sh64/lineno.d
gas/testsuite/gas/sh/sh64/lineno.s
gas/testsuite/gas/sh/sh64/localcom-1.d
gas/testsuite/gas/sh/sh64/localcom-1.s
gas/testsuite/gas/sh/sh64/mix-1.d
gas/testsuite/gas/sh/sh64/mix-1.s
gas/testsuite/gas/sh/sh64/mix-noexp-1.d
gas/testsuite/gas/sh/sh64/movi-1.s
gas/testsuite/gas/sh/sh64/movi-2.s
gas/testsuite/gas/sh/sh64/movi-3.d
gas/testsuite/gas/sh/sh64/movi-3.s
gas/testsuite/gas/sh/sh64/movi32-1.d
gas/testsuite/gas/sh/sh64/movi32-2.d
gas/testsuite/gas/sh/sh64/movi32-noexp-2.d
gas/testsuite/gas/sh/sh64/movi64-1.d
gas/testsuite/gas/sh/sh64/movi64-2.d
gas/testsuite/gas/sh/sh64/movi64-2.s
gas/testsuite/gas/sh/sh64/movi64-3.d
gas/testsuite/gas/sh/sh64/movi64-noexp-2.d
gas/testsuite/gas/sh/sh64/pt-1.d
gas/testsuite/gas/sh/sh64/pt-1.s
gas/testsuite/gas/sh/sh64/pt-2.s
gas/testsuite/gas/sh/sh64/pt-noexp-1.d
gas/testsuite/gas/sh/sh64/pt32-1.d
gas/testsuite/gas/sh/sh64/pt32-noexp-2.d
gas/testsuite/gas/sh/sh64/pt64-1.d
gas/testsuite/gas/sh/sh64/pt64-32-1.d
gas/testsuite/gas/sh/sh64/pt64-32-2.d
gas/testsuite/gas/sh/sh64/pt64-noexp-2.d
gas/testsuite/gas/sh/sh64/ptc-1.s
gas/testsuite/gas/sh/sh64/ptc32-1.d
gas/testsuite/gas/sh/sh64/ptc32-noexp-1.d
gas/testsuite/gas/sh/sh64/ptc64-1.d
gas/testsuite/gas/sh/sh64/ptc64-32-1.d
gas/testsuite/gas/sh/sh64/ptc64-noexp-1.d
gas/testsuite/gas/sh/sh64/ptext-1.s
gas/testsuite/gas/sh/sh64/ptext32-1.d
gas/testsuite/gas/sh/sh64/ptext32-noexp-1.d
gas/testsuite/gas/sh/sh64/ptext64-1.d
gas/testsuite/gas/sh/sh64/ptext64-32-1.d
gas/testsuite/gas/sh/sh64/ptext64-noexp-1.d
gas/testsuite/gas/sh/sh64/rel-1.s
gas/testsuite/gas/sh/sh64/rel-2.s
gas/testsuite/gas/sh/sh64/rel-3.s
gas/testsuite/gas/sh/sh64/rel-4.s
gas/testsuite/gas/sh/sh64/rel-5.s
gas/testsuite/gas/sh/sh64/rel32-1.d
gas/testsuite/gas/sh/sh64/rel32-2.d
gas/testsuite/gas/sh/sh64/rel32-3.d
gas/testsuite/gas/sh/sh64/rel32-4.d
gas/testsuite/gas/sh/sh64/rel32-5.d
gas/testsuite/gas/sh/sh64/rel64-1.d
gas/testsuite/gas/sh/sh64/rel64-2.d
gas/testsuite/gas/sh/sh64/rel64-3.d
gas/testsuite/gas/sh/sh64/rel64-4.d
gas/testsuite/gas/sh/sh64/rel64-5.d
gas/testsuite/gas/sh/sh64/relax-1.d
gas/testsuite/gas/sh/sh64/relax-1.s
gas/testsuite/gas/sh/sh64/relax-2.d
gas/testsuite/gas/sh/sh64/relax-2.s
gas/testsuite/gas/sh/sh64/relax-3.d
gas/testsuite/gas/sh/sh64/relax-3.s
gas/testsuite/gas/sh/sh64/sh64.exp
gas/testsuite/gas/sh/sh64/shift-1.s
gas/testsuite/gas/sh/sh64/shift-2.s
gas/testsuite/gas/sh/sh64/shift-3.s
gas/testsuite/gas/sh/sh64/shift32-1.d
gas/testsuite/gas/sh/sh64/shift32-3.d
gas/testsuite/gas/sh/sh64/shift32-noexp-3.d
gas/testsuite/gas/sh/sh64/shift64-1.d
gas/testsuite/gas/sh/sh64/shift64-2.d
gas/testsuite/gas/sh/sh64/shift64-3.d
gas/testsuite/gas/sh/sh64/shift64-noexp-3.d
gas/testsuite/gas/sh/sh64/syntax-1.d
gas/testsuite/gas/sh/sh64/syntax-1.s
gas/testsuite/gas/sh/sh64/syntax-2.d
gas/testsuite/gas/sh/sh64/syntax-2.s
gas/testsuite/gas/sh/sh64/ua-1.s
gas/testsuite/gas/sh/sh64/ua32-1.d
gas/testsuite/gas/sh/sh64/ua64-1.d
gas/testsuite/gas/sparc-solaris/addend.exp
gas/testsuite/gas/sparc-solaris/addend.s
gas/testsuite/gas/sparc-solaris/gas.exp
gas/testsuite/gas/sparc-solaris/sol-cc.s
gas/testsuite/gas/sparc-solaris/sol-gcc.s
gas/testsuite/gas/sparc/asi.d
gas/testsuite/gas/sparc/asi.s
gas/testsuite/gas/sparc/membar.d
gas/testsuite/gas/sparc/membar.s
gas/testsuite/gas/sparc/mism-1.s
gas/testsuite/gas/sparc/mismatch.exp
gas/testsuite/gas/sparc/pcrel.d
gas/testsuite/gas/sparc/pcrel.s
gas/testsuite/gas/sparc/pcrel64.d
gas/testsuite/gas/sparc/pcrel64.s
gas/testsuite/gas/sparc/plt.d
gas/testsuite/gas/sparc/plt.s
gas/testsuite/gas/sparc/plt64.d
gas/testsuite/gas/sparc/plt64.s
gas/testsuite/gas/sparc/prefetch.d
gas/testsuite/gas/sparc/prefetch.s
gas/testsuite/gas/sparc/rdpr.d
gas/testsuite/gas/sparc/rdpr.s
gas/testsuite/gas/sparc/reloc64.d
gas/testsuite/gas/sparc/reloc64.s
gas/testsuite/gas/sparc/set64.d
gas/testsuite/gas/sparc/set64.s
gas/testsuite/gas/sparc/sparc.exp
gas/testsuite/gas/sparc/splet-2.d
gas/testsuite/gas/sparc/splet-2.s
gas/testsuite/gas/sparc/splet.d
gas/testsuite/gas/sparc/splet.s
gas/testsuite/gas/sparc/synth.d
gas/testsuite/gas/sparc/synth.s
gas/testsuite/gas/sparc/synth64.d
gas/testsuite/gas/sparc/synth64.s
gas/testsuite/gas/sparc/unalign.d
gas/testsuite/gas/sparc/unalign.s
gas/testsuite/gas/sparc/wrpr.d
gas/testsuite/gas/sparc/wrpr.s
gas/testsuite/gas/sun4/addend.d
gas/testsuite/gas/sun4/addend.exp
gas/testsuite/gas/sun4/addend.s
gas/testsuite/gas/symver/symver.exp
gas/testsuite/gas/symver/symver0.d
gas/testsuite/gas/symver/symver0.s
gas/testsuite/gas/symver/symver1.d
gas/testsuite/gas/symver/symver1.s
gas/testsuite/gas/symver/symver2.l
gas/testsuite/gas/symver/symver2.s
gas/testsuite/gas/symver/symver3.l
gas/testsuite/gas/symver/symver3.s
gas/testsuite/gas/symver/symver4.l
gas/testsuite/gas/symver/symver4.s
gas/testsuite/gas/symver/symver5.l
gas/testsuite/gas/symver/symver5.s
gas/testsuite/gas/symver/symver6.l
gas/testsuite/gas/symver/symver6.s
gas/testsuite/gas/template
gas/testsuite/gas/tic54x/address.d
gas/testsuite/gas/tic54x/address.s
gas/testsuite/gas/tic54x/addrfar.d
gas/testsuite/gas/tic54x/align.d
gas/testsuite/gas/tic54x/align.s
gas/testsuite/gas/tic54x/all-opcodes.d
gas/testsuite/gas/tic54x/all-opcodes.s
gas/testsuite/gas/tic54x/asg.d
gas/testsuite/gas/tic54x/asg.s
gas/testsuite/gas/tic54x/cons.d
gas/testsuite/gas/tic54x/cons.s
gas/testsuite/gas/tic54x/consfar.d
gas/testsuite/gas/tic54x/extaddr.d
gas/testsuite/gas/tic54x/extaddr.s
gas/testsuite/gas/tic54x/field.d
gas/testsuite/gas/tic54x/field.s
gas/testsuite/gas/tic54x/in_mlib.asm
gas/testsuite/gas/tic54x/labels.d
gas/testsuite/gas/tic54x/labels.inc
gas/testsuite/gas/tic54x/labels.s
gas/testsuite/gas/tic54x/loop.d
gas/testsuite/gas/tic54x/loop.s
gas/testsuite/gas/tic54x/lp.d
gas/testsuite/gas/tic54x/lp.s
gas/testsuite/gas/tic54x/macro.d
gas/testsuite/gas/tic54x/macro.s
gas/testsuite/gas/tic54x/macro1.s
gas/testsuite/gas/tic54x/macros.lib
gas/testsuite/gas/tic54x/math.d
gas/testsuite/gas/tic54x/math.s
gas/testsuite/gas/tic54x/opcodes.d
gas/testsuite/gas/tic54x/opcodes.s
gas/testsuite/gas/tic54x/sections.d
gas/testsuite/gas/tic54x/sections.s
gas/testsuite/gas/tic54x/set.d
gas/testsuite/gas/tic54x/set.s
gas/testsuite/gas/tic54x/struct.d
gas/testsuite/gas/tic54x/struct.s
gas/testsuite/gas/tic54x/subsym.d
gas/testsuite/gas/tic54x/subsym.s
gas/testsuite/gas/tic54x/subsym1.s
gas/testsuite/gas/tic54x/tic54x.exp
gas/testsuite/gas/tic80/add.d
gas/testsuite/gas/tic80/add.lst
gas/testsuite/gas/tic80/add.s
gas/testsuite/gas/tic80/align.d
gas/testsuite/gas/tic80/align.lst
gas/testsuite/gas/tic80/align.s
gas/testsuite/gas/tic80/bitnum.d
gas/testsuite/gas/tic80/bitnum.lst
gas/testsuite/gas/tic80/bitnum.s
gas/testsuite/gas/tic80/ccode.d
gas/testsuite/gas/tic80/ccode.lst
gas/testsuite/gas/tic80/ccode.s
gas/testsuite/gas/tic80/cregops.d
gas/testsuite/gas/tic80/cregops.lst
gas/testsuite/gas/tic80/cregops.s
gas/testsuite/gas/tic80/endmask.d
gas/testsuite/gas/tic80/endmask.lst
gas/testsuite/gas/tic80/endmask.s
gas/testsuite/gas/tic80/float.d
gas/testsuite/gas/tic80/float.lst
gas/testsuite/gas/tic80/float.s
gas/testsuite/gas/tic80/regops.d
gas/testsuite/gas/tic80/regops.lst
gas/testsuite/gas/tic80/regops.s
gas/testsuite/gas/tic80/regops2.d
gas/testsuite/gas/tic80/regops2.lst
gas/testsuite/gas/tic80/regops2.s
gas/testsuite/gas/tic80/regops3.d
gas/testsuite/gas/tic80/regops3.lst
gas/testsuite/gas/tic80/regops3.s
gas/testsuite/gas/tic80/regops4.d
gas/testsuite/gas/tic80/regops4.lst
gas/testsuite/gas/tic80/regops4.s
gas/testsuite/gas/tic80/relocs1.c
gas/testsuite/gas/tic80/relocs1.d
gas/testsuite/gas/tic80/relocs1.lst
gas/testsuite/gas/tic80/relocs1.s
gas/testsuite/gas/tic80/relocs1b.d
gas/testsuite/gas/tic80/relocs2.c
gas/testsuite/gas/tic80/relocs2.d
gas/testsuite/gas/tic80/relocs2.lst
gas/testsuite/gas/tic80/relocs2.s
gas/testsuite/gas/tic80/relocs2b.d
gas/testsuite/gas/tic80/tic80.exp
gas/testsuite/gas/v850/arith.s
gas/testsuite/gas/v850/basic.exp
gas/testsuite/gas/v850/bit.s
gas/testsuite/gas/v850/branch.s
gas/testsuite/gas/v850/compare.s
gas/testsuite/gas/v850/fepsw.s
gas/testsuite/gas/v850/hilo.s
gas/testsuite/gas/v850/hilo2.s
gas/testsuite/gas/v850/jumps.s
gas/testsuite/gas/v850/logical.s
gas/testsuite/gas/v850/mem.s
gas/testsuite/gas/v850/misc.s
gas/testsuite/gas/v850/move.s
gas/testsuite/gas/v850/range.s
gas/testsuite/gas/v850/reloc.s
gas/testsuite/gas/vax/elf-rel.d
gas/testsuite/gas/vax/elf-rel.s
gas/testsuite/gas/vax/quad.s
gas/testsuite/gas/vax/quad_elf.s
gas/testsuite/gas/vax/vax.exp
gas/testsuite/gas/vtable/entry0.d
gas/testsuite/gas/vtable/entry0.s
gas/testsuite/gas/vtable/entry1.d
gas/testsuite/gas/vtable/entry1.s
gas/testsuite/gas/vtable/inherit0.d
gas/testsuite/gas/vtable/inherit0.s
gas/testsuite/gas/vtable/inherit1.l
gas/testsuite/gas/vtable/inherit1.s
gas/testsuite/gas/vtable/vtable.exp
gas/testsuite/gas/xstormy16/allinsn.d
gas/testsuite/gas/xstormy16/allinsn.exp
gas/testsuite/gas/xstormy16/allinsn.s
gas/testsuite/gas/xstormy16/allinsn.sh
gas/testsuite/gas/xstormy16/gcc.d
gas/testsuite/gas/xstormy16/gcc.s
gas/testsuite/gas/xstormy16/gcc.sh
gas/testsuite/gas/xstormy16/reloc-1.d
gas/testsuite/gas/xstormy16/reloc-1.s
gas/testsuite/gas/xstormy16/reloc-2.d
gas/testsuite/gas/xstormy16/reloc-2.s
gas/testsuite/gasp/INC1.H
gas/testsuite/gasp/INC2.H
gas/testsuite/gasp/assign.asm
gas/testsuite/gasp/assign.err
gas/testsuite/gasp/assign.out
gas/testsuite/gasp/condass.asm
gas/testsuite/gasp/condass.err
gas/testsuite/gasp/condass.out
gas/testsuite/gasp/crash.asm
gas/testsuite/gasp/crash.err
gas/testsuite/gasp/crash.out
gas/testsuite/gasp/crash1.asm
gas/testsuite/gasp/crash1.err
gas/testsuite/gasp/crash1.out
gas/testsuite/gasp/crash2.asm
gas/testsuite/gasp/crash2.err
gas/testsuite/gasp/crash2.out
gas/testsuite/gasp/data.asm
gas/testsuite/gasp/data.err
gas/testsuite/gasp/data.out
gas/testsuite/gasp/exp.asm
gas/testsuite/gasp/exp.err
gas/testsuite/gasp/exp.out
gas/testsuite/gasp/flonums.asm
gas/testsuite/gasp/flonums.err
gas/testsuite/gasp/flonums.out
gas/testsuite/gasp/gasp.exp
gas/testsuite/gasp/include.asm
gas/testsuite/gasp/include.err
gas/testsuite/gasp/include.out
gas/testsuite/gasp/listing.asm
gas/testsuite/gasp/listing.err
gas/testsuite/gasp/listing.out
gas/testsuite/gasp/macro.asm
gas/testsuite/gasp/macro.err
gas/testsuite/gasp/macro.out
gas/testsuite/gasp/mdouble.asm
gas/testsuite/gasp/mdouble.err
gas/testsuite/gasp/mdouble.out
gas/testsuite/gasp/mri/embed.asm
gas/testsuite/gasp/mri/embed.out
gas/testsuite/gasp/mri/exists.asm
gas/testsuite/gasp/mri/exists.out
gas/testsuite/gasp/mri/irp.asm
gas/testsuite/gasp/mri/irp.out
gas/testsuite/gasp/mri/irpc.asm
gas/testsuite/gasp/mri/irpc.out
gas/testsuite/gasp/mri/macro.asm
gas/testsuite/gasp/mri/macro.out
gas/testsuite/gasp/mri/narg.asm
gas/testsuite/gasp/mri/narg.out
gas/testsuite/gasp/mri/rept.asm
gas/testsuite/gasp/mri/rept.out
gas/testsuite/gasp/pl1.asm
gas/testsuite/gasp/pl1.err
gas/testsuite/gasp/pl1.out
gas/testsuite/gasp/pl2.asm
gas/testsuite/gasp/pl2.err
gas/testsuite/gasp/pl2.out
gas/testsuite/gasp/pl3.asm
gas/testsuite/gasp/pl3.err
gas/testsuite/gasp/pl3.out
gas/testsuite/gasp/pl4.asm
gas/testsuite/gasp/pl4.err
gas/testsuite/gasp/pl4.out
gas/testsuite/gasp/pl5.asm
gas/testsuite/gasp/pl5.err
gas/testsuite/gasp/pl5.out
gas/testsuite/gasp/pl6.asm
gas/testsuite/gasp/pl6.err
gas/testsuite/gasp/pl6.out
gas/testsuite/gasp/pl7.asm
gas/testsuite/gasp/pl7.err
gas/testsuite/gasp/pl7.out
gas/testsuite/gasp/pl8.asm
gas/testsuite/gasp/pl8.err
gas/testsuite/gasp/pl8.out
gas/testsuite/gasp/pr7583.asm
gas/testsuite/gasp/pr7583.err
gas/testsuite/gasp/pr7583.out
gas/testsuite/gasp/reg.asm
gas/testsuite/gasp/reg.err
gas/testsuite/gasp/reg.out
gas/testsuite/gasp/rep.asm
gas/testsuite/gasp/rep.err
gas/testsuite/gasp/rep.out
gas/testsuite/gasp/repeat.asm
gas/testsuite/gasp/repeat.err
gas/testsuite/gasp/repeat.out
gas/testsuite/gasp/reperr.asm
gas/testsuite/gasp/reperr.err
gas/testsuite/gasp/reperr.out
gas/testsuite/gasp/reperr1.asm
gas/testsuite/gasp/reperr1.err
gas/testsuite/gasp/reperr1.out
gas/testsuite/gasp/reperr2.asm
gas/testsuite/gasp/reperr2.err
gas/testsuite/gasp/reperr2.out
gas/testsuite/gasp/reperr3.asm
gas/testsuite/gasp/reperr3.err
gas/testsuite/gasp/reperr3.out
gas/testsuite/gasp/sdata.asm
gas/testsuite/gasp/sdata.err
gas/testsuite/gasp/sdata.out
gas/testsuite/gasp/sfunc.asm
gas/testsuite/gasp/sfunc.err
gas/testsuite/gasp/sfunc.out
gas/testsuite/gasp/t1.asm
gas/testsuite/gasp/t1.err
gas/testsuite/gasp/t1.out
gas/testsuite/gasp/t2.asm
gas/testsuite/gasp/t2.err
gas/testsuite/gasp/t2.out
gas/testsuite/gasp/t3.asm
gas/testsuite/gasp/t3.err
gas/testsuite/gasp/t3.out
gas/testsuite/gasp/while.asm
gas/testsuite/gasp/while.err
gas/testsuite/gasp/while.out
gas/testsuite/lib/doboth
gas/testsuite/lib/doobjcmp
gas/testsuite/lib/dostriptest
gas/testsuite/lib/dotest
gas/testsuite/lib/dounsreloc
gas/testsuite/lib/dounssym
gas/testsuite/lib/gas-defs.exp
gas/testsuite/lib/gas-dg.exp
gas/testsuite/lib/run
gas/vmsconf.sh
gas/write.c
gas/write.h
gdb/windows-nat.c
gprof/.gdbinit
gprof/ChangeLog
gprof/MAINTAINERS
gprof/Makefile.am
gprof/Makefile.in
gprof/README
gprof/TEST
gprof/TODO
gprof/acinclude.m4
gprof/aclocal.m4
gprof/alpha.c
gprof/basic_blocks.c
gprof/basic_blocks.h
gprof/bb_exit_func.c
gprof/bbconv.pl
gprof/bsd_callg_bl.m
gprof/call_graph.c
gprof/call_graph.h
gprof/cg_arcs.c
gprof/cg_arcs.h
gprof/cg_dfn.c
gprof/cg_dfn.h
gprof/cg_print.c
gprof/cg_print.h
gprof/configure
gprof/configure.in
gprof/corefile.c
gprof/corefile.h
gprof/dep-in.sed
gprof/flat_bl.m
gprof/fsf_callg_bl.m
gprof/gconfig.in
gprof/gen-c-prog.awk
gprof/gmon.h
gprof/gmon_io.c
gprof/gmon_io.h
gprof/gmon_out.h
gprof/gprof.c
gprof/gprof.h
gprof/gprof.texi
gprof/hertz.c
gprof/hertz.h
gprof/hist.c
gprof/hist.h
gprof/i386.c
gprof/mips.c
gprof/po/.cvsignore
gprof/po/Make-in
gprof/po/POTFILES.in
gprof/po/es.po
gprof/po/fr.po
gprof/po/gprof.pot
gprof/po/id.po
gprof/po/sv.po
gprof/po/tr.po
gprof/search_list.c
gprof/search_list.h
gprof/source.c
gprof/source.h
gprof/sparc.c
gprof/stamp-h.in
gprof/sym_ids.c
gprof/sym_ids.h
gprof/symtab.c
gprof/symtab.h
gprof/tahoe.c
gprof/utils.c
gprof/utils.h
gprof/vax.c
ld/ChangeLog
ld/ChangeLog-9197
ld/ChangeLog-9899
ld/MAINTAINERS
ld/Makefile.am
ld/Makefile.in
ld/NEWS
ld/README
ld/TODO
ld/acinclude.m4
ld/aclocal.m4
ld/config.in
ld/configure
ld/configure.host
ld/configure.in
ld/configure.tgt
ld/deffile.h
ld/deffilep.y
ld/dep-in.sed
ld/emulparams/README
ld/emulparams/a29k.sh
ld/emulparams/aix5ppc.sh
ld/emulparams/aix5rs6.sh
ld/emulparams/aixppc.sh
ld/emulparams/aixrs6.sh
ld/emulparams/alpha.sh
ld/emulparams/arcelf.sh
ld/emulparams/arm_epoc_pe.sh
ld/emulparams/armaoutb.sh
ld/emulparams/armaoutl.sh
ld/emulparams/armcoff.sh
ld/emulparams/armelf.sh
ld/emulparams/armelf_fbsd.sh
ld/emulparams/armelf_linux.sh
ld/emulparams/armelf_nbsd.sh
ld/emulparams/armelf_oabi.sh
ld/emulparams/armelfb_nbsd.sh
ld/emulparams/armnbsd.sh
ld/emulparams/armnto.sh
ld/emulparams/armpe.sh
ld/emulparams/avr1.sh
ld/emulparams/avr1200.sh
ld/emulparams/avr2.sh
ld/emulparams/avr23xx.sh
ld/emulparams/avr3.sh
ld/emulparams/avr4.sh
ld/emulparams/avr4433.sh
ld/emulparams/avr44x4.sh
ld/emulparams/avr5.sh
ld/emulparams/avr85xx.sh
ld/emulparams/avrmega103.sh
ld/emulparams/avrmega161.sh
ld/emulparams/avrmega603.sh
ld/emulparams/coff_sparc.sh
ld/emulparams/crisaout.sh
ld/emulparams/criself.sh
ld/emulparams/crislinux.sh
ld/emulparams/d10velf.sh
ld/emulparams/d30v_e.sh
ld/emulparams/d30v_o.sh
ld/emulparams/d30velf.sh
ld/emulparams/delta68.sh
ld/emulparams/ebmon29k.sh
ld/emulparams/elf32_dlx.sh
ld/emulparams/elf32_i860.sh
ld/emulparams/elf32_i960.sh
ld/emulparams/elf32_sparc.sh
ld/emulparams/elf32b4300.sh
ld/emulparams/elf32bmip.sh
ld/emulparams/elf32bmipn32-defs.sh
ld/emulparams/elf32bmipn32.sh
ld/emulparams/elf32bsmip.sh
ld/emulparams/elf32btsmip.sh
ld/emulparams/elf32btsmipn32.sh
ld/emulparams/elf32ebmip.sh
ld/emulparams/elf32elmip.sh
ld/emulparams/elf32fr30.sh
ld/emulparams/elf32frv.sh
ld/emulparams/elf32i370.sh
ld/emulparams/elf32ip2k.sh
ld/emulparams/elf32l4300.sh
ld/emulparams/elf32lmip.sh
ld/emulparams/elf32lppc.sh
ld/emulparams/elf32lppcnto.sh
ld/emulparams/elf32lppcsim.sh
ld/emulparams/elf32lsmip.sh
ld/emulparams/elf32ltsmip.sh
ld/emulparams/elf32ltsmipn32.sh
ld/emulparams/elf32mcore.sh
ld/emulparams/elf32openrisc.sh
ld/emulparams/elf32ppc.sh
ld/emulparams/elf32ppc_fbsd.sh
ld/emulparams/elf32ppclinux.sh
ld/emulparams/elf32ppcnto.sh
ld/emulparams/elf32ppcsim.sh
ld/emulparams/elf32ppcwindiss.sh
ld/emulparams/elf32vax.sh
ld/emulparams/elf32xstormy16.sh
ld/emulparams/elf64_aix.sh
ld/emulparams/elf64_ia64.sh
ld/emulparams/elf64_ia64_fbsd.sh
ld/emulparams/elf64_s390.sh
ld/emulparams/elf64_sparc.sh
ld/emulparams/elf64_sparc_fbsd.sh
ld/emulparams/elf64alpha.sh
ld/emulparams/elf64alpha_fbsd.sh
ld/emulparams/elf64alpha_nbsd.sh
ld/emulparams/elf64bmip.sh
ld/emulparams/elf64btsmip.sh
ld/emulparams/elf64hppa.sh
ld/emulparams/elf64lppc.sh
ld/emulparams/elf64ltsmip.sh
ld/emulparams/elf64mmix.sh
ld/emulparams/elf64ppc.sh
ld/emulparams/elf_fbsd.sh
ld/emulparams/elf_i386.sh
ld/emulparams/elf_i386_be.sh
ld/emulparams/elf_i386_chaos.sh
ld/emulparams/elf_i386_fbsd.sh
ld/emulparams/elf_i386_ldso.sh
ld/emulparams/elf_s390.sh
ld/emulparams/elf_x86_64.sh
ld/emulparams/elf_x86_64_fbsd.sh
ld/emulparams/gld960.sh
ld/emulparams/gld960coff.sh
ld/emulparams/h8300.sh
ld/emulparams/h8300elf.sh
ld/emulparams/h8300h.sh
ld/emulparams/h8300helf.sh
ld/emulparams/h8300s.sh
ld/emulparams/h8300self.sh
ld/emulparams/h8500.sh
ld/emulparams/h8500b.sh
ld/emulparams/h8500c.sh
ld/emulparams/h8500m.sh
ld/emulparams/h8500s.sh
ld/emulparams/hp300bsd.sh
ld/emulparams/hp3hpux.sh
ld/emulparams/hppa64linux.sh
ld/emulparams/hppaelf.sh
ld/emulparams/hppalinux.sh
ld/emulparams/hppanbsd.sh
ld/emulparams/hppaobsd.sh
ld/emulparams/i386aout.sh
ld/emulparams/i386beos.sh
ld/emulparams/i386bsd.sh
ld/emulparams/i386coff.sh
ld/emulparams/i386go32.sh
ld/emulparams/i386linux.sh
ld/emulparams/i386lynx.sh
ld/emulparams/i386mach.sh
ld/emulparams/i386moss.sh
ld/emulparams/i386msdos.sh
ld/emulparams/i386nbsd.sh
ld/emulparams/i386nto.sh
ld/emulparams/i386nw.sh
ld/emulparams/i386pe.sh
ld/emulparams/i386pe_posix.sh
ld/emulparams/lnk960.sh
ld/emulparams/m32relf.sh
ld/emulparams/m68hc11elf.sh
ld/emulparams/m68hc11elfb.sh
ld/emulparams/m68hc12elf.sh
ld/emulparams/m68hc12elfb.sh
ld/emulparams/m68k4knbsd.sh
ld/emulparams/m68kaout.sh
ld/emulparams/m68kaux.sh
ld/emulparams/m68kcoff.sh
ld/emulparams/m68kelf.sh
ld/emulparams/m68kelfnbsd.sh
ld/emulparams/m68klinux.sh
ld/emulparams/m68klynx.sh
ld/emulparams/m68knbsd.sh
ld/emulparams/m68kpsos.sh
ld/emulparams/m88kbcs.sh
ld/emulparams/mcorepe.sh
ld/emulparams/mipsbig.sh
ld/emulparams/mipsbsd.sh
ld/emulparams/mipsidt.sh
ld/emulparams/mipsidtl.sh
ld/emulparams/mipslit.sh
ld/emulparams/mipslnews.sh
ld/emulparams/mipspe.sh
ld/emulparams/mmo.sh
ld/emulparams/mn10200.sh
ld/emulparams/mn10300.sh
ld/emulparams/news.sh
ld/emulparams/ns32knbsd.sh
ld/emulparams/or32.sh
ld/emulparams/or32elf.sh
ld/emulparams/pc532macha.sh
ld/emulparams/pdp11.sh
ld/emulparams/pjelf.sh
ld/emulparams/pjlelf.sh
ld/emulparams/ppcmacos.sh
ld/emulparams/ppcnw.sh
ld/emulparams/ppcpe.sh
ld/emulparams/riscix.sh
ld/emulparams/sa29200.sh
ld/emulparams/sh.sh
ld/emulparams/shelf.sh
ld/emulparams/shelf32.sh
ld/emulparams/shelf32_nbsd.sh
ld/emulparams/shelf64.sh
ld/emulparams/shelf64_nbsd.sh
ld/emulparams/shelf_linux.sh
ld/emulparams/shelf_nbsd.sh
ld/emulparams/shelf_nto.sh
ld/emulparams/shl.sh
ld/emulparams/shlelf.sh
ld/emulparams/shlelf32.sh
ld/emulparams/shlelf32_nbsd.sh
ld/emulparams/shlelf64.sh
ld/emulparams/shlelf64_nbsd.sh
ld/emulparams/shlelf_linux.sh
ld/emulparams/shlelf_nbsd.sh
ld/emulparams/shlelf_nto.sh
ld/emulparams/shpe.sh
ld/emulparams/sparcaout.sh
ld/emulparams/sparclinux.sh
ld/emulparams/sparclynx.sh
ld/emulparams/sparcnbsd.sh
ld/emulparams/st2000.sh
ld/emulparams/sun3.sh
ld/emulparams/sun4.sh
ld/emulparams/tic30aout.sh
ld/emulparams/tic30coff.sh
ld/emulparams/tic3xcoff.sh
ld/emulparams/tic4xcoff.sh
ld/emulparams/tic54xcoff.sh
ld/emulparams/tic80coff.sh
ld/emulparams/v850.sh
ld/emulparams/vanilla.sh
ld/emulparams/vax.sh
ld/emulparams/vaxnbsd.sh
ld/emulparams/vsta.sh
ld/emulparams/w65.sh
ld/emulparams/z8001.sh
ld/emulparams/z8002.sh
ld/emultempl/README
ld/emultempl/aix.em
ld/emultempl/armcoff.em
ld/emultempl/armelf.em
ld/emultempl/armelf_oabi.em
ld/emultempl/astring.sed
ld/emultempl/beos.em
ld/emultempl/elf32.em
ld/emultempl/generic.em
ld/emultempl/gld960.em
ld/emultempl/gld960c.em
ld/emultempl/hppaelf.em
ld/emultempl/linux.em
ld/emultempl/lnk960.em
ld/emultempl/m68kcoff.em
ld/emultempl/m68kelf.em
ld/emultempl/mipsecoff.em
ld/emultempl/mipself.em
ld/emultempl/mmix-elfnmmo.em
ld/emultempl/mmixelf.em
ld/emultempl/mmo.em
ld/emultempl/needrelax.em
ld/emultempl/netbsd.em
ld/emultempl/ostring.sed
ld/emultempl/pe.em
ld/emultempl/ppc64elf.em
ld/emultempl/sh64elf.em
ld/emultempl/sunos.em
ld/emultempl/ticoff.em
ld/emultempl/vanilla.em
ld/gen-doc.texi
ld/genscripts.sh
ld/h8-doc.texi
ld/ld.h
ld/ld.texinfo
ld/ldcref.c
ld/ldctor.c
ld/ldctor.h
ld/ldemul.c
ld/ldemul.h
ld/ldexp.c
ld/ldexp.h
ld/ldfile.c
ld/ldfile.h
ld/ldgram.y
ld/ldint.texinfo
ld/ldlang.c
ld/ldlang.h
ld/ldlex.h
ld/ldlex.l
ld/ldmain.c
ld/ldmain.h
ld/ldmisc.c
ld/ldmisc.h
ld/ldver.c
ld/ldver.h
ld/ldwrite.c
ld/ldwrite.h
ld/lexsup.c
ld/mac-ld.r
ld/mpw-config.in
ld/mpw-make.sed
ld/mri.c
ld/mri.h
ld/pe-dll.c
ld/pe-dll.h
ld/po/.cvsignore
ld/po/Make-in
ld/po/POTFILES.in
ld/po/es.po
ld/po/fr.po
ld/po/ld.pot
ld/po/sv.po
ld/po/tr.po
ld/scripttempl/README
ld/scripttempl/a29k.sc
ld/scripttempl/aix.sc
ld/scripttempl/alpha.sc
ld/scripttempl/aout.sc
ld/scripttempl/armaout.sc
ld/scripttempl/armcoff.sc
ld/scripttempl/avr.sc
ld/scripttempl/crisaout.sc
ld/scripttempl/delta68.sc
ld/scripttempl/dlx.sc
ld/scripttempl/ebmon29k.sc
ld/scripttempl/elf.sc
ld/scripttempl/elf32avr.sc
ld/scripttempl/elf_chaos.sc
ld/scripttempl/elfd10v.sc
ld/scripttempl/elfd30v.sc
ld/scripttempl/elfi370.sc
ld/scripttempl/elfm68hc11.sc
ld/scripttempl/elfm68hc12.sc
ld/scripttempl/epocpe.sc
ld/scripttempl/h8300.sc
ld/scripttempl/h8300h.sc
ld/scripttempl/h8300s.sc
ld/scripttempl/h8500.sc
ld/scripttempl/h8500b.sc
ld/scripttempl/h8500c.sc
ld/scripttempl/h8500m.sc
ld/scripttempl/h8500s.sc
ld/scripttempl/hppaelf.sc
ld/scripttempl/i386beos.sc
ld/scripttempl/i386coff.sc
ld/scripttempl/i386go32.sc
ld/scripttempl/i386lynx.sc
ld/scripttempl/i386msdos.sc
ld/scripttempl/i960.sc
ld/scripttempl/ip2k.sc
ld/scripttempl/m68kaux.sc
ld/scripttempl/m68kcoff.sc
ld/scripttempl/m68klynx.sc
ld/scripttempl/m88kbcs.sc
ld/scripttempl/mcorepe.sc
ld/scripttempl/mips.sc
ld/scripttempl/mipsbsd.sc
ld/scripttempl/mmo.sc
ld/scripttempl/nw.sc
ld/scripttempl/or32.sc
ld/scripttempl/pe.sc
ld/scripttempl/pj.sc
ld/scripttempl/ppcpe.sc
ld/scripttempl/psos.sc
ld/scripttempl/riscix.sc
ld/scripttempl/sa29200.sc
ld/scripttempl/sh.sc
ld/scripttempl/sparccoff.sc
ld/scripttempl/sparclynx.sc
ld/scripttempl/st2000.sc
ld/scripttempl/tic30aout.sc
ld/scripttempl/tic30coff.sc
ld/scripttempl/tic3xcoff.sc
ld/scripttempl/tic4xcoff.sc
ld/scripttempl/tic54xcoff.sc
ld/scripttempl/tic80coff.sc
ld/scripttempl/v850.sc
ld/scripttempl/vanilla.sc
ld/scripttempl/w65.sc
ld/scripttempl/xstormy16.sc
ld/scripttempl/z8000.sc
ld/stamp-h.in
ld/sysdep.h
ld/testsuite/ChangeLog
ld/testsuite/config/default.exp
ld/testsuite/ld-bootstrap/bootstrap.exp
ld/testsuite/ld-cdtest/cdtest-bar.cc
ld/testsuite/ld-cdtest/cdtest-foo.cc
ld/testsuite/ld-cdtest/cdtest-foo.h
ld/testsuite/ld-cdtest/cdtest-main.cc
ld/testsuite/ld-cdtest/cdtest-nrv.dat
ld/testsuite/ld-cdtest/cdtest.dat
ld/testsuite/ld-cdtest/cdtest.exp
ld/testsuite/ld-checks/asm.s
ld/testsuite/ld-checks/checks.exp
ld/testsuite/ld-checks/script
ld/testsuite/ld-cris/badgotr1.d
ld/testsuite/ld-cris/comref1.s
ld/testsuite/ld-cris/cris.exp
ld/testsuite/ld-cris/dso-1.s
ld/testsuite/ld-cris/dso-2.s
ld/testsuite/ld-cris/dso-3.s
ld/testsuite/ld-cris/euwref1.s
ld/testsuite/ld-cris/expdref1.s
ld/testsuite/ld-cris/expdyn1.d
ld/testsuite/ld-cris/expdyn1.s
ld/testsuite/ld-cris/expdyn2.d
ld/testsuite/ld-cris/expdyn3.d
ld/testsuite/ld-cris/expdyn4.d
ld/testsuite/ld-cris/gotrel1.s
ld/testsuite/ld-cris/gotrel2.s
ld/testsuite/ld-cris/hide1
ld/testsuite/ld-cris/ldsym1.d
ld/testsuite/ld-cris/libdso-1.d
ld/testsuite/ld-cris/libdso-2.d
ld/testsuite/ld-cris/libdso-3.d
ld/testsuite/ld-cris/libdso-4.d
ld/testsuite/ld-cris/nodyn4.d
ld/testsuite/ld-cris/noglob1.d
ld/testsuite/ld-cris/noglob1.s
ld/testsuite/ld-cris/undef1.d
ld/testsuite/ld-cris/weakref1.d
ld/testsuite/ld-d10v/d10v.exp
ld/testsuite/ld-d10v/default_layout.d
ld/testsuite/ld-d10v/linktest-001.s
ld/testsuite/ld-d10v/linktest-002.lt
ld/testsuite/ld-d10v/linktest-002.s
ld/testsuite/ld-d10v/regression-001.lt
ld/testsuite/ld-d10v/regression-001.s
ld/testsuite/ld-d10v/reloc-001.d
ld/testsuite/ld-d10v/reloc-001.ld
ld/testsuite/ld-d10v/reloc-001.s
ld/testsuite/ld-d10v/reloc-002.d
ld/testsuite/ld-d10v/reloc-002.ld
ld/testsuite/ld-d10v/reloc-003.d
ld/testsuite/ld-d10v/reloc-003.ld
ld/testsuite/ld-d10v/reloc-004.d
ld/testsuite/ld-d10v/reloc-004.ld
ld/testsuite/ld-d10v/reloc-005.d
ld/testsuite/ld-d10v/reloc-005.ld
ld/testsuite/ld-d10v/reloc-005.s
ld/testsuite/ld-d10v/reloc-006.d
ld/testsuite/ld-d10v/reloc-006.ld
ld/testsuite/ld-d10v/reloc-007.d
ld/testsuite/ld-d10v/reloc-007.ld
ld/testsuite/ld-d10v/reloc-008.d
ld/testsuite/ld-d10v/reloc-008.ld
ld/testsuite/ld-d10v/reloc-009.d
ld/testsuite/ld-d10v/reloc-009.ld
ld/testsuite/ld-d10v/reloc-009.s
ld/testsuite/ld-d10v/reloc-010.d
ld/testsuite/ld-d10v/reloc-010.ld
ld/testsuite/ld-d10v/reloc-011.d
ld/testsuite/ld-d10v/reloc-011.ld
ld/testsuite/ld-d10v/reloc-012.d
ld/testsuite/ld-d10v/reloc-012.ld
ld/testsuite/ld-d10v/reloc-013.d
ld/testsuite/ld-d10v/reloc-013.ld
ld/testsuite/ld-d10v/reloc-014.d
ld/testsuite/ld-d10v/reloc-014.ld
ld/testsuite/ld-d10v/reloc-015.d
ld/testsuite/ld-d10v/reloc-015.ld
ld/testsuite/ld-d10v/reloc-016.d
ld/testsuite/ld-d10v/reloc-016.ld
ld/testsuite/ld-d10v/simple.s
ld/testsuite/ld-discard/discard.exp
ld/testsuite/ld-discard/discard.ld
ld/testsuite/ld-discard/exit.s
ld/testsuite/ld-discard/extern.d
ld/testsuite/ld-discard/extern.s
ld/testsuite/ld-discard/start.d
ld/testsuite/ld-discard/start.s
ld/testsuite/ld-discard/static.d
ld/testsuite/ld-discard/static.s
ld/testsuite/ld-elfvers/vers.exp
ld/testsuite/ld-elfvers/vers1.c
ld/testsuite/ld-elfvers/vers1.dsym
ld/testsuite/ld-elfvers/vers1.map
ld/testsuite/ld-elfvers/vers1.sym
ld/testsuite/ld-elfvers/vers1.ver
ld/testsuite/ld-elfvers/vers13.asym
ld/testsuite/ld-elfvers/vers15.c
ld/testsuite/ld-elfvers/vers15.dsym
ld/testsuite/ld-elfvers/vers15.sym
ld/testsuite/ld-elfvers/vers15.ver
ld/testsuite/ld-elfvers/vers16.c
ld/testsuite/ld-elfvers/vers16.dsym
ld/testsuite/ld-elfvers/vers16.map
ld/testsuite/ld-elfvers/vers16a.c
ld/testsuite/ld-elfvers/vers16a.dsym
ld/testsuite/ld-elfvers/vers16a.ver
ld/testsuite/ld-elfvers/vers17.c
ld/testsuite/ld-elfvers/vers17.dsym
ld/testsuite/ld-elfvers/vers17.map
ld/testsuite/ld-elfvers/vers17.ver
ld/testsuite/ld-elfvers/vers18.c
ld/testsuite/ld-elfvers/vers18.dsym
ld/testsuite/ld-elfvers/vers18.map
ld/testsuite/ld-elfvers/vers18.sym
ld/testsuite/ld-elfvers/vers18.ver
ld/testsuite/ld-elfvers/vers19.c
ld/testsuite/ld-elfvers/vers19.dsym
ld/testsuite/ld-elfvers/vers19.ver
ld/testsuite/ld-elfvers/vers2.c
ld/testsuite/ld-elfvers/vers2.dsym
ld/testsuite/ld-elfvers/vers2.map
ld/testsuite/ld-elfvers/vers2.ver
ld/testsuite/ld-elfvers/vers20.c
ld/testsuite/ld-elfvers/vers20.dsym
ld/testsuite/ld-elfvers/vers20.map
ld/testsuite/ld-elfvers/vers20.ver
ld/testsuite/ld-elfvers/vers20a.ver
ld/testsuite/ld-elfvers/vers21.c
ld/testsuite/ld-elfvers/vers21.dsym
ld/testsuite/ld-elfvers/vers21.map
ld/testsuite/ld-elfvers/vers21.sym
ld/testsuite/ld-elfvers/vers21.ver
ld/testsuite/ld-elfvers/vers22.c
ld/testsuite/ld-elfvers/vers22.dsym
ld/testsuite/ld-elfvers/vers22.map
ld/testsuite/ld-elfvers/vers22.ver
ld/testsuite/ld-elfvers/vers22a.c
ld/testsuite/ld-elfvers/vers22a.dsym
ld/testsuite/ld-elfvers/vers22a.sym
ld/testsuite/ld-elfvers/vers22a.ver
ld/testsuite/ld-elfvers/vers22b.c
ld/testsuite/ld-elfvers/vers22b.dsym
ld/testsuite/ld-elfvers/vers22b.ver
ld/testsuite/ld-elfvers/vers23.c
ld/testsuite/ld-elfvers/vers23.dsym
ld/testsuite/ld-elfvers/vers23.ver
ld/testsuite/ld-elfvers/vers23a.c
ld/testsuite/ld-elfvers/vers23a.dsym
ld/testsuite/ld-elfvers/vers23a.map
ld/testsuite/ld-elfvers/vers23a.sym
ld/testsuite/ld-elfvers/vers23a.ver
ld/testsuite/ld-elfvers/vers23b.c
ld/testsuite/ld-elfvers/vers23b.dsym
ld/testsuite/ld-elfvers/vers23b.map
ld/testsuite/ld-elfvers/vers23b.ver
ld/testsuite/ld-elfvers/vers23c.ver
ld/testsuite/ld-elfvers/vers23d.dsym
ld/testsuite/ld-elfvers/vers3.c
ld/testsuite/ld-elfvers/vers3.dsym
ld/testsuite/ld-elfvers/vers3.ver
ld/testsuite/ld-elfvers/vers4.c
ld/testsuite/ld-elfvers/vers4.sym
ld/testsuite/ld-elfvers/vers4a.dsym
ld/testsuite/ld-elfvers/vers4a.sym
ld/testsuite/ld-elfvers/vers4a.ver
ld/testsuite/ld-elfvers/vers5.c
ld/testsuite/ld-elfvers/vers6.c
ld/testsuite/ld-elfvers/vers6.dsym
ld/testsuite/ld-elfvers/vers6.sym
ld/testsuite/ld-elfvers/vers6.ver
ld/testsuite/ld-elfvers/vers7.c
ld/testsuite/ld-elfvers/vers7.map
ld/testsuite/ld-elfvers/vers7a.c
ld/testsuite/ld-elfvers/vers7a.dsym
ld/testsuite/ld-elfvers/vers7a.sym
ld/testsuite/ld-elfvers/vers7a.ver
ld/testsuite/ld-elfvers/vers8.c
ld/testsuite/ld-elfvers/vers8.map
ld/testsuite/ld-elfvers/vers8.ver
ld/testsuite/ld-elfvers/vers9.c
ld/testsuite/ld-elfvers/vers9.dsym
ld/testsuite/ld-elfvers/vers9.sym
ld/testsuite/ld-elfvers/vers9.ver
ld/testsuite/ld-elfvsb/define.s
ld/testsuite/ld-elfvsb/elf-offset.ld
ld/testsuite/ld-elfvsb/elfvsb.dat
ld/testsuite/ld-elfvsb/elfvsb.exp
ld/testsuite/ld-elfvsb/hidden0.d
ld/testsuite/ld-elfvsb/hidden1.d
ld/testsuite/ld-elfvsb/internal0.d
ld/testsuite/ld-elfvsb/internal1.d
ld/testsuite/ld-elfvsb/main.c
ld/testsuite/ld-elfvsb/protected0.d
ld/testsuite/ld-elfvsb/protected1.d
ld/testsuite/ld-elfvsb/sh1.c
ld/testsuite/ld-elfvsb/sh2.c
ld/testsuite/ld-elfvsb/undef.s
ld/testsuite/ld-elfweak/bar.c
ld/testsuite/ld-elfweak/bar1a.c
ld/testsuite/ld-elfweak/bar1b.c
ld/testsuite/ld-elfweak/bar1c.c
ld/testsuite/ld-elfweak/dso.dsym
ld/testsuite/ld-elfweak/dsodata.dsym
ld/testsuite/ld-elfweak/dsow.dsym
ld/testsuite/ld-elfweak/dsowdata.dsym
ld/testsuite/ld-elfweak/elfweak.exp
ld/testsuite/ld-elfweak/foo.c
ld/testsuite/ld-elfweak/foo1a.c
ld/testsuite/ld-elfweak/foo1b.c
ld/testsuite/ld-elfweak/main.c
ld/testsuite/ld-elfweak/main1.c
ld/testsuite/ld-elfweak/strong.dat
ld/testsuite/ld-elfweak/strong.sym
ld/testsuite/ld-elfweak/strongcomm.sym
ld/testsuite/ld-elfweak/strongdata.dat
ld/testsuite/ld-elfweak/strongdata.sym
ld/testsuite/ld-elfweak/weak.dat
ld/testsuite/ld-elfweak/weak.dsym
ld/testsuite/ld-elfweak/weakdata.dat
ld/testsuite/ld-elfweak/weakdata.dsym
ld/testsuite/ld-empic/empic.exp
ld/testsuite/ld-empic/relax.t
ld/testsuite/ld-empic/relax1.c
ld/testsuite/ld-empic/relax2.c
ld/testsuite/ld-empic/relax3.c
ld/testsuite/ld-empic/relax4.c
ld/testsuite/ld-empic/run.c
ld/testsuite/ld-empic/runtest1.c
ld/testsuite/ld-empic/runtest2.c
ld/testsuite/ld-empic/runtesti.s
ld/testsuite/ld-i386/i386.exp
ld/testsuite/ld-i386/reloc.d
ld/testsuite/ld-i386/reloc.s
ld/testsuite/ld-i386/tlsbin.dd
ld/testsuite/ld-i386/tlsbin.rd
ld/testsuite/ld-i386/tlsbin.s
ld/testsuite/ld-i386/tlsbin.sd
ld/testsuite/ld-i386/tlsbin.td
ld/testsuite/ld-i386/tlsbinpic.s
ld/testsuite/ld-i386/tlsg.s
ld/testsuite/ld-i386/tlsg.sd
ld/testsuite/ld-i386/tlsindntpoff.dd
ld/testsuite/ld-i386/tlsindntpoff.s
ld/testsuite/ld-i386/tlslib.s
ld/testsuite/ld-i386/tlsnopic.dd
ld/testsuite/ld-i386/tlsnopic.rd
ld/testsuite/ld-i386/tlsnopic.sd
ld/testsuite/ld-i386/tlsnopic1.s
ld/testsuite/ld-i386/tlsnopic2.s
ld/testsuite/ld-i386/tlspic.dd
ld/testsuite/ld-i386/tlspic.rd
ld/testsuite/ld-i386/tlspic.sd
ld/testsuite/ld-i386/tlspic.td
ld/testsuite/ld-i386/tlspic1.s
ld/testsuite/ld-i386/tlspic2.s
ld/testsuite/ld-linkonce/linkonce.exp
ld/testsuite/ld-linkonce/x.s
ld/testsuite/ld-linkonce/y.s
ld/testsuite/ld-linkonce/zeroeh.ld
ld/testsuite/ld-linkonce/zeroehl32.d
ld/testsuite/ld-mips-elf/branch-misc-1.d
ld/testsuite/ld-mips-elf/branch-misc-2.d
ld/testsuite/ld-mips-elf/empic1-ln.d
ld/testsuite/ld-mips-elf/empic1-lp.d
ld/testsuite/ld-mips-elf/empic1-mn.d
ld/testsuite/ld-mips-elf/empic1-mp.d
ld/testsuite/ld-mips-elf/empic1-ref.s
ld/testsuite/ld-mips-elf/empic1-sn.d
ld/testsuite/ld-mips-elf/empic1-sp.d
ld/testsuite/ld-mips-elf/empic1-space.s
ld/testsuite/ld-mips-elf/empic1-tgt.s
ld/testsuite/ld-mips-elf/empic2-fwd-0.d
ld/testsuite/ld-mips-elf/empic2-fwd-1.d
ld/testsuite/ld-mips-elf/empic2-fwd-tgt.s
ld/testsuite/ld-mips-elf/empic2-ref.s
ld/testsuite/ld-mips-elf/empic2-rev-0.d
ld/testsuite/ld-mips-elf/empic2-rev-1.d
ld/testsuite/ld-mips-elf/empic2-rev-tgt.s
ld/testsuite/ld-mips-elf/empic2-space.s
ld/testsuite/ld-mips-elf/emrelocs-eb.d
ld/testsuite/ld-mips-elf/emrelocs-el.d
ld/testsuite/ld-mips-elf/emrelocs.ld
ld/testsuite/ld-mips-elf/emrelocs1.s
ld/testsuite/ld-mips-elf/emrelocs2.s
ld/testsuite/ld-mips-elf/mips-elf.exp
ld/testsuite/ld-mips-elf/mips16-1.d
ld/testsuite/ld-mips-elf/mips16-1a.s
ld/testsuite/ld-mips-elf/mips16-1b.s
ld/testsuite/ld-mips-elf/region1.d
ld/testsuite/ld-mips-elf/region1.t
ld/testsuite/ld-mips-elf/region1a.s
ld/testsuite/ld-mips-elf/region1b.s
ld/testsuite/ld-mmix/a.s
ld/testsuite/ld-mmix/areg-256.s
ld/testsuite/ld-mmix/areg-t.s
ld/testsuite/ld-mmix/aregm.s
ld/testsuite/ld-mmix/b-badfil1.d
ld/testsuite/ld-mmix/b-badfil1.s
ld/testsuite/ld-mmix/b-badfil2.d
ld/testsuite/ld-mmix/b-badfil2.s
ld/testsuite/ld-mmix/b-badfixo.d
ld/testsuite/ld-mmix/b-badfixo.s
ld/testsuite/ld-mmix/b-badloc.d
ld/testsuite/ld-mmix/b-badloc.s
ld/testsuite/ld-mmix/b-badlop.d
ld/testsuite/ld-mmix/b-badlop.s
ld/testsuite/ld-mmix/b-badm.d
ld/testsuite/ld-mmix/b-badm2.s
ld/testsuite/ld-mmix/b-badmain.s
ld/testsuite/ld-mmix/b-badquot.d
ld/testsuite/ld-mmix/b-badquot.s
ld/testsuite/ld-mmix/b-badrx1.d
ld/testsuite/ld-mmix/b-badrx1.s
ld/testsuite/ld-mmix/b-badrx2.d
ld/testsuite/ld-mmix/b-badrx2.s
ld/testsuite/ld-mmix/b-badrx3.d
ld/testsuite/ld-mmix/b-badrx3.s
ld/testsuite/ld-mmix/b-bend.s
ld/testsuite/ld-mmix/b-bend1.d
ld/testsuite/ld-mmix/b-bend2.d
ld/testsuite/ld-mmix/b-bend3.d
ld/testsuite/ld-mmix/b-bstab1.d
ld/testsuite/ld-mmix/b-bstab1.s
ld/testsuite/ld-mmix/b-fixo2.d
ld/testsuite/ld-mmix/b-fixo2.s
ld/testsuite/ld-mmix/b-goodmain.s
ld/testsuite/ld-mmix/b-loc64k.d
ld/testsuite/ld-mmix/b-loc64k.s
ld/testsuite/ld-mmix/b-nosym.d
ld/testsuite/ld-mmix/b-nosym.s
ld/testsuite/ld-mmix/b-post1.s
ld/testsuite/ld-mmix/b-twoinsn.s
ld/testsuite/ld-mmix/b-widec.s
ld/testsuite/ld-mmix/b-widec1.d
ld/testsuite/ld-mmix/b-widec2.d
ld/testsuite/ld-mmix/b-widec2.s
ld/testsuite/ld-mmix/b-widec3.d
ld/testsuite/ld-mmix/b-widec3.s
ld/testsuite/ld-mmix/bpo-1.d
ld/testsuite/ld-mmix/bpo-1.s
ld/testsuite/ld-mmix/bpo-10.d
ld/testsuite/ld-mmix/bpo-10.s
ld/testsuite/ld-mmix/bpo-11.d
ld/testsuite/ld-mmix/bpo-11.s
ld/testsuite/ld-mmix/bpo-12.d
ld/testsuite/ld-mmix/bpo-12m.d
ld/testsuite/ld-mmix/bpo-13.d
ld/testsuite/ld-mmix/bpo-13m.d
ld/testsuite/ld-mmix/bpo-14.d
ld/testsuite/ld-mmix/bpo-14m.d
ld/testsuite/ld-mmix/bpo-15.d
ld/testsuite/ld-mmix/bpo-15m.d
ld/testsuite/ld-mmix/bpo-16.d
ld/testsuite/ld-mmix/bpo-16m.d
ld/testsuite/ld-mmix/bpo-17.d
ld/testsuite/ld-mmix/bpo-17m.d
ld/testsuite/ld-mmix/bpo-18.d
ld/testsuite/ld-mmix/bpo-18m.d
ld/testsuite/ld-mmix/bpo-19.d
ld/testsuite/ld-mmix/bpo-19m.d
ld/testsuite/ld-mmix/bpo-1m.d
ld/testsuite/ld-mmix/bpo-2.d
ld/testsuite/ld-mmix/bpo-2.s
ld/testsuite/ld-mmix/bpo-20.d
ld/testsuite/ld-mmix/bpo-20m.d
ld/testsuite/ld-mmix/bpo-21.d
ld/testsuite/ld-mmix/bpo-21m.d
ld/testsuite/ld-mmix/bpo-22.d
ld/testsuite/ld-mmix/bpo-2m.d
ld/testsuite/ld-mmix/bpo-3.d
ld/testsuite/ld-mmix/bpo-3.s
ld/testsuite/ld-mmix/bpo-3m.d
ld/testsuite/ld-mmix/bpo-4.d
ld/testsuite/ld-mmix/bpo-4.s
ld/testsuite/ld-mmix/bpo-4m.d
ld/testsuite/ld-mmix/bpo-5.d
ld/testsuite/ld-mmix/bpo-5.s
ld/testsuite/ld-mmix/bpo-5m.d
ld/testsuite/ld-mmix/bpo-6.d
ld/testsuite/ld-mmix/bpo-6.s
ld/testsuite/ld-mmix/bpo-6m.d
ld/testsuite/ld-mmix/bpo-7.d
ld/testsuite/ld-mmix/bpo-7.s
ld/testsuite/ld-mmix/bpo-7m.d
ld/testsuite/ld-mmix/bpo-8.d
ld/testsuite/ld-mmix/bpo-8.s
ld/testsuite/ld-mmix/bpo-8m.d
ld/testsuite/ld-mmix/bpo-9.d
ld/testsuite/ld-mmix/bpo-9.s
ld/testsuite/ld-mmix/bpo-9m.d
ld/testsuite/ld-mmix/bpo64addr.ld
ld/testsuite/ld-mmix/bspec1.d
ld/testsuite/ld-mmix/bspec1.s
ld/testsuite/ld-mmix/bspec1m.d
ld/testsuite/ld-mmix/bspec2.d
ld/testsuite/ld-mmix/bspec2.s
ld/testsuite/ld-mmix/bspec2m.d
ld/testsuite/ld-mmix/bspec801.s
ld/testsuite/ld-mmix/bspec802.s
ld/testsuite/ld-mmix/bspec803.s
ld/testsuite/ld-mmix/bspec804.s
ld/testsuite/ld-mmix/bspec805.s
ld/testsuite/ld-mmix/bspec806.s
ld/testsuite/ld-mmix/bspec807.s
ld/testsuite/ld-mmix/bspec808.s
ld/testsuite/ld-mmix/bza-1b.d
ld/testsuite/ld-mmix/bza-1f.d
ld/testsuite/ld-mmix/bza-2b.d
ld/testsuite/ld-mmix/bza-2f.d
ld/testsuite/ld-mmix/bza-7b.d
ld/testsuite/ld-mmix/bza-7f.d
ld/testsuite/ld-mmix/bza-8b.d
ld/testsuite/ld-mmix/bza-8f.d
ld/testsuite/ld-mmix/bza.s
ld/testsuite/ld-mmix/data1.s
ld/testsuite/ld-mmix/dloc1.s
ld/testsuite/ld-mmix/dloc2.s
ld/testsuite/ld-mmix/ext1-254.s
ld/testsuite/ld-mmix/ext1.s
ld/testsuite/ld-mmix/ext1g.s
ld/testsuite/ld-mmix/ext1l.s
ld/testsuite/ld-mmix/getaa-1b.d
ld/testsuite/ld-mmix/getaa-1f.d
ld/testsuite/ld-mmix/getaa-2b.d
ld/testsuite/ld-mmix/getaa-2f.d
ld/testsuite/ld-mmix/getaa-4b.d
ld/testsuite/ld-mmix/getaa-4f.d
ld/testsuite/ld-mmix/getaa-6b.d
ld/testsuite/ld-mmix/getaa-6f.d
ld/testsuite/ld-mmix/getaa-7b.d
ld/testsuite/ld-mmix/getaa-7f.d
ld/testsuite/ld-mmix/getaa-8b.d
ld/testsuite/ld-mmix/getaa-8f.d
ld/testsuite/ld-mmix/getaa.s
ld/testsuite/ld-mmix/getaa12b.d
ld/testsuite/ld-mmix/getaa12f.d
ld/testsuite/ld-mmix/getaa14b.d
ld/testsuite/ld-mmix/getaa14f.d
ld/testsuite/ld-mmix/greg-1.d
ld/testsuite/ld-mmix/greg-1.s
ld/testsuite/ld-mmix/greg-10.d
ld/testsuite/ld-mmix/greg-11.d
ld/testsuite/ld-mmix/greg-11b.d
ld/testsuite/ld-mmix/greg-12.d
ld/testsuite/ld-mmix/greg-13.d
ld/testsuite/ld-mmix/greg-14.d
ld/testsuite/ld-mmix/greg-15.d
ld/testsuite/ld-mmix/greg-16.d
ld/testsuite/ld-mmix/greg-17.d
ld/testsuite/ld-mmix/greg-18.d
ld/testsuite/ld-mmix/greg-19.d
ld/testsuite/ld-mmix/greg-2.d
ld/testsuite/ld-mmix/greg-2.s
ld/testsuite/ld-mmix/greg-20.d
ld/testsuite/ld-mmix/greg-3.d
ld/testsuite/ld-mmix/greg-3.s
ld/testsuite/ld-mmix/greg-4.d
ld/testsuite/ld-mmix/greg-4.s
ld/testsuite/ld-mmix/greg-5.d
ld/testsuite/ld-mmix/greg-5.s
ld/testsuite/ld-mmix/greg-6.d
ld/testsuite/ld-mmix/greg-7.d
ld/testsuite/ld-mmix/greg-8.d
ld/testsuite/ld-mmix/greg-9.d
ld/testsuite/ld-mmix/gregbza1.s
ld/testsuite/ld-mmix/gregget1.s
ld/testsuite/ld-mmix/gregget2.s
ld/testsuite/ld-mmix/gregldo1.s
ld/testsuite/ld-mmix/gregpsj1.s
ld/testsuite/ld-mmix/hdr-1.d
ld/testsuite/ld-mmix/jumpa-1b.d
ld/testsuite/ld-mmix/jumpa-1f.d
ld/testsuite/ld-mmix/jumpa-2b.d
ld/testsuite/ld-mmix/jumpa-2f.d
ld/testsuite/ld-mmix/jumpa-3b.d
ld/testsuite/ld-mmix/jumpa-3f.d
ld/testsuite/ld-mmix/jumpa-4b.d
ld/testsuite/ld-mmix/jumpa-4f.d
ld/testsuite/ld-mmix/jumpa-5b.d
ld/testsuite/ld-mmix/jumpa-5f.d
ld/testsuite/ld-mmix/jumpa-6b.d
ld/testsuite/ld-mmix/jumpa-6f.d
ld/testsuite/ld-mmix/jumpa-7b.d
ld/testsuite/ld-mmix/jumpa-7f.d
ld/testsuite/ld-mmix/jumpa-8b.d
ld/testsuite/ld-mmix/jumpa-8f.d
ld/testsuite/ld-mmix/jumpa-9b.d
ld/testsuite/ld-mmix/jumpa-9f.d
ld/testsuite/ld-mmix/jumpa.s
ld/testsuite/ld-mmix/jumpa12b.d
ld/testsuite/ld-mmix/jumpa12f.d
ld/testsuite/ld-mmix/jumpa13b.d
ld/testsuite/ld-mmix/jumpa13f.d
ld/testsuite/ld-mmix/jumpa14b.d
ld/testsuite/ld-mmix/jumpa14f.d
ld/testsuite/ld-mmix/loc1.d
ld/testsuite/ld-mmix/loc1.s
ld/testsuite/ld-mmix/loc1m.d
ld/testsuite/ld-mmix/loc2.d
ld/testsuite/ld-mmix/loc2.s
ld/testsuite/ld-mmix/loc2m.d
ld/testsuite/ld-mmix/loc3.d
ld/testsuite/ld-mmix/loc3m.d
ld/testsuite/ld-mmix/loc4.d
ld/testsuite/ld-mmix/loc4m.d
ld/testsuite/ld-mmix/loc5.d
ld/testsuite/ld-mmix/loc5m.d
ld/testsuite/ld-mmix/loc6.d
ld/testsuite/ld-mmix/loc6m.d
ld/testsuite/ld-mmix/loc7.d
ld/testsuite/ld-mmix/loc7m.d
ld/testsuite/ld-mmix/local1.d
ld/testsuite/ld-mmix/local1.s
ld/testsuite/ld-mmix/local10.d
ld/testsuite/ld-mmix/local10m.d
ld/testsuite/ld-mmix/local11.d
ld/testsuite/ld-mmix/local11m.d
ld/testsuite/ld-mmix/local12.d
ld/testsuite/ld-mmix/local12m.d
ld/testsuite/ld-mmix/local1m.d
ld/testsuite/ld-mmix/local2.d
ld/testsuite/ld-mmix/local2.s
ld/testsuite/ld-mmix/local2m.d
ld/testsuite/ld-mmix/local3.d
ld/testsuite/ld-mmix/local3m.d
ld/testsuite/ld-mmix/local4.d
ld/testsuite/ld-mmix/local4m.d
ld/testsuite/ld-mmix/local5.d
ld/testsuite/ld-mmix/local5m.d
ld/testsuite/ld-mmix/local6.d
ld/testsuite/ld-mmix/local6m.d
ld/testsuite/ld-mmix/local7.d
ld/testsuite/ld-mmix/local7m.d
ld/testsuite/ld-mmix/local8.d
ld/testsuite/ld-mmix/local8m.d
ld/testsuite/ld-mmix/local9.d
ld/testsuite/ld-mmix/local9m.d
ld/testsuite/ld-mmix/locdo-1.d
ld/testsuite/ld-mmix/locdo.s
ld/testsuite/ld-mmix/loct-1.d
ld/testsuite/ld-mmix/loct.s
ld/testsuite/ld-mmix/locto-1.d
ld/testsuite/ld-mmix/locto.s
ld/testsuite/ld-mmix/main1.s
ld/testsuite/ld-mmix/mmix.exp
ld/testsuite/ld-mmix/mmohdr1.ld
ld/testsuite/ld-mmix/mmosec1.ld
ld/testsuite/ld-mmix/mmosec2.ld
ld/testsuite/ld-mmix/nop123.s
ld/testsuite/ld-mmix/pad16.s
ld/testsuite/ld-mmix/pad2p18m32.s
ld/testsuite/ld-mmix/pad2p26m32.s
ld/testsuite/ld-mmix/pad4.s
ld/testsuite/ld-mmix/pushja.s
ld/testsuite/ld-mmix/pushja1b.d
ld/testsuite/ld-mmix/pushja1f.d
ld/testsuite/ld-mmix/pushja2b.d
ld/testsuite/ld-mmix/pushja2f.d
ld/testsuite/ld-mmix/pushja7b.d
ld/testsuite/ld-mmix/pushja7f.d
ld/testsuite/ld-mmix/pushja8b.d
ld/testsuite/ld-mmix/pushja8f.d
ld/testsuite/ld-mmix/reg-1.d
ld/testsuite/ld-mmix/reg-1m.d
ld/testsuite/ld-mmix/reg-2.d
ld/testsuite/ld-mmix/reg-2m.d
ld/testsuite/ld-mmix/regext1.s
ld/testsuite/ld-mmix/sec-1.d
ld/testsuite/ld-mmix/sec-1.s
ld/testsuite/ld-mmix/sec-2.d
ld/testsuite/ld-mmix/sec-2.s
ld/testsuite/ld-mmix/sec-3.d
ld/testsuite/ld-mmix/sec-4.d
ld/testsuite/ld-mmix/sec-5.d
ld/testsuite/ld-mmix/sec-6.d
ld/testsuite/ld-mmix/sec-6.s
ld/testsuite/ld-mmix/sec-6m.d
ld/testsuite/ld-mmix/sec-7a.s
ld/testsuite/ld-mmix/sec-7b.s
ld/testsuite/ld-mmix/sec-7c.s
ld/testsuite/ld-mmix/sec-7d.s
ld/testsuite/ld-mmix/sec-7e.s
ld/testsuite/ld-mmix/sec-7m.d
ld/testsuite/ld-mmix/sec-8a.s
ld/testsuite/ld-mmix/sec-8b.s
ld/testsuite/ld-mmix/sec-8d.s
ld/testsuite/ld-mmix/sec-8m.d
ld/testsuite/ld-mmix/sec-8m.s
ld/testsuite/ld-mmix/spec801.d
ld/testsuite/ld-mmix/spec802.d
ld/testsuite/ld-mmix/spec803.d
ld/testsuite/ld-mmix/spec804.d
ld/testsuite/ld-mmix/spec805.d
ld/testsuite/ld-mmix/spec806.d
ld/testsuite/ld-mmix/spec807.d
ld/testsuite/ld-mmix/spec808.d
ld/testsuite/ld-mmix/start-1.d
ld/testsuite/ld-mmix/start-2.d
ld/testsuite/ld-mmix/start.s
ld/testsuite/ld-mmix/start2.s
ld/testsuite/ld-mmix/start3.s
ld/testsuite/ld-mmix/start4.s
ld/testsuite/ld-mmix/sym-1.d
ld/testsuite/ld-mmix/sym-2.d
ld/testsuite/ld-mmix/sym-2.s
ld/testsuite/ld-mmix/undef-1.d
ld/testsuite/ld-mmix/undef-1.s
ld/testsuite/ld-mmix/undef-1m.d
ld/testsuite/ld-mmix/undef-2.d
ld/testsuite/ld-mmix/undef-2.s
ld/testsuite/ld-mmix/undef-2m.d
ld/testsuite/ld-mmix/undef-3.d
ld/testsuite/ld-mmix/undef-3m.d
ld/testsuite/ld-mmix/x.s
ld/testsuite/ld-mmix/y.s
ld/testsuite/ld-mmix/zeroeh.ld
ld/testsuite/ld-mmix/zeroehelf.d
ld/testsuite/ld-mmix/zeroehmmo.d
ld/testsuite/ld-powerpc/powerpc.exp
ld/testsuite/ld-powerpc/reloc.d
ld/testsuite/ld-powerpc/reloc.s
ld/testsuite/ld-scripts/cross1.c
ld/testsuite/ld-scripts/cross1.t
ld/testsuite/ld-scripts/cross2.c
ld/testsuite/ld-scripts/cross2.t
ld/testsuite/ld-scripts/cross3.c
ld/testsuite/ld-scripts/crossref.exp
ld/testsuite/ld-scripts/defined.exp
ld/testsuite/ld-scripts/defined.s
ld/testsuite/ld-scripts/defined.t
ld/testsuite/ld-scripts/dynamic-sections-1.s
ld/testsuite/ld-scripts/dynamic-sections-2.s
ld/testsuite/ld-scripts/dynamic-sections.d
ld/testsuite/ld-scripts/dynamic-sections.exp
ld/testsuite/ld-scripts/dynamic-sections.t
ld/testsuite/ld-scripts/map-address.d
ld/testsuite/ld-scripts/map-address.exp
ld/testsuite/ld-scripts/map-address.t
ld/testsuite/ld-scripts/overlay-size-map.d
ld/testsuite/ld-scripts/overlay-size.d
ld/testsuite/ld-scripts/overlay-size.exp
ld/testsuite/ld-scripts/overlay-size.s
ld/testsuite/ld-scripts/overlay-size.t
ld/testsuite/ld-scripts/phdrs.exp
ld/testsuite/ld-scripts/phdrs.s
ld/testsuite/ld-scripts/phdrs.t
ld/testsuite/ld-scripts/phdrs2.exp
ld/testsuite/ld-scripts/phdrs2.s
ld/testsuite/ld-scripts/phdrs2.t
ld/testsuite/ld-scripts/script.exp
ld/testsuite/ld-scripts/script.s
ld/testsuite/ld-scripts/script.t
ld/testsuite/ld-scripts/scriptm.t
ld/testsuite/ld-scripts/sizeof.exp
ld/testsuite/ld-scripts/sizeof.s
ld/testsuite/ld-scripts/sizeof.t
ld/testsuite/ld-scripts/weak.exp
ld/testsuite/ld-scripts/weak.t
ld/testsuite/ld-scripts/weak1.s
ld/testsuite/ld-scripts/weak2.s
ld/testsuite/ld-selective/1.c
ld/testsuite/ld-selective/2.c
ld/testsuite/ld-selective/3.cc
ld/testsuite/ld-selective/4.cc
ld/testsuite/ld-selective/5.cc
ld/testsuite/ld-selective/keepdot.d
ld/testsuite/ld-selective/keepdot.ld
ld/testsuite/ld-selective/keepdot.s
ld/testsuite/ld-selective/keepdot0.d
ld/testsuite/ld-selective/keepdot0.ld
ld/testsuite/ld-selective/sel-dump.exp
ld/testsuite/ld-selective/selective.exp
ld/testsuite/ld-sh/ld-r-1.d
ld/testsuite/ld-sh/ldr1.s
ld/testsuite/ld-sh/ldr2.s
ld/testsuite/ld-sh/rd-sh.exp
ld/testsuite/ld-sh/sh.exp
ld/testsuite/ld-sh/sh1.s
ld/testsuite/ld-sh/sh2.c
ld/testsuite/ld-sh/sh64/abi32.sd
ld/testsuite/ld-sh/sh64/abi32.xd
ld/testsuite/ld-sh/sh64/abi64.sd
ld/testsuite/ld-sh/sh64/abi64.xd
ld/testsuite/ld-sh/sh64/abixx-noexp.sd
ld/testsuite/ld-sh/sh64/cmpct1.sd
ld/testsuite/ld-sh/sh64/cmpct1.xd
ld/testsuite/ld-sh/sh64/crange-1.s
ld/testsuite/ld-sh/sh64/crange-2a.s
ld/testsuite/ld-sh/sh64/crange-2b.s
ld/testsuite/ld-sh/sh64/crange-2c.s
ld/testsuite/ld-sh/sh64/crange-2d.s
ld/testsuite/ld-sh/sh64/crange-2e.s
ld/testsuite/ld-sh/sh64/crange-2f.s
ld/testsuite/ld-sh/sh64/crange-2g.s
ld/testsuite/ld-sh/sh64/crange-2h.s
ld/testsuite/ld-sh/sh64/crange-2i.s
ld/testsuite/ld-sh/sh64/crange1.rd
ld/testsuite/ld-sh/sh64/crange2.rd
ld/testsuite/ld-sh/sh64/crange3-cmpct.rd
ld/testsuite/ld-sh/sh64/crange3-media.rd
ld/testsuite/ld-sh/sh64/crange3.dd
ld/testsuite/ld-sh/sh64/crange3.rd
ld/testsuite/ld-sh/sh64/crangerel1.rd
ld/testsuite/ld-sh/sh64/crangerel2.rd
ld/testsuite/ld-sh/sh64/dlsection-1.s
ld/testsuite/ld-sh/sh64/dlsection.sd
ld/testsuite/ld-sh/sh64/endian.dbd
ld/testsuite/ld-sh/sh64/endian.dld
ld/testsuite/ld-sh/sh64/endian.ld
ld/testsuite/ld-sh/sh64/endian.s
ld/testsuite/ld-sh/sh64/endian.sbd
ld/testsuite/ld-sh/sh64/endian.sld
ld/testsuite/ld-sh/sh64/gotplt.d
ld/testsuite/ld-sh/sh64/gotplt.map
ld/testsuite/ld-sh/sh64/gotplt.s
ld/testsuite/ld-sh/sh64/init-cmpct.d
ld/testsuite/ld-sh/sh64/init-media.d
ld/testsuite/ld-sh/sh64/init.s
ld/testsuite/ld-sh/sh64/init64.d
ld/testsuite/ld-sh/sh64/mix1-noexp.sd
ld/testsuite/ld-sh/sh64/mix1.sd
ld/testsuite/ld-sh/sh64/mix1.xd
ld/testsuite/ld-sh/sh64/mix2-noexp.sd
ld/testsuite/ld-sh/sh64/mix2.sd
ld/testsuite/ld-sh/sh64/mix2.xd
ld/testsuite/ld-sh/sh64/rd-sh64.exp
ld/testsuite/ld-sh/sh64/rel-1.s
ld/testsuite/ld-sh/sh64/rel-2.s
ld/testsuite/ld-sh/sh64/rel32.xd
ld/testsuite/ld-sh/sh64/rel64.xd
ld/testsuite/ld-sh/sh64/relax.exp
ld/testsuite/ld-sh/sh64/relax1.s
ld/testsuite/ld-sh/sh64/relax2.s
ld/testsuite/ld-sh/sh64/relax3.s
ld/testsuite/ld-sh/sh64/relax4.s
ld/testsuite/ld-sh/sh64/reldl-1.s
ld/testsuite/ld-sh/sh64/reldl-2.s
ld/testsuite/ld-sh/sh64/reldl32.rd
ld/testsuite/ld-sh/sh64/reldl64.rd
ld/testsuite/ld-sh/sh64/relfail.exp
ld/testsuite/ld-sh/sh64/relfail.s
ld/testsuite/ld-sh/sh64/sh64-1.s
ld/testsuite/ld-sh/sh64/sh64-2.s
ld/testsuite/ld-sh/sh64/sh64.exp
ld/testsuite/ld-sh/sh64/shcmp-1.s
ld/testsuite/ld-sh/sh64/shdl-1.s
ld/testsuite/ld-sh/sh64/shdl-2.s
ld/testsuite/ld-sh/sh64/shdl32.xd
ld/testsuite/ld-sh/sh64/shdl64.sd
ld/testsuite/ld-sh/sh64/shdl64.xd
ld/testsuite/ld-sh/sh64/shmix-1.s
ld/testsuite/ld-sh/sh64/shmix-2.s
ld/testsuite/ld-sh/sh64/shmix-3.s
ld/testsuite/ld-sh/shared-1.d
ld/testsuite/ld-sh/start.s
ld/testsuite/ld-sh/sub2l-1.d
ld/testsuite/ld-sh/sub2l.s
ld/testsuite/ld-sh/weak1.d
ld/testsuite/ld-sh/weak1.s
ld/testsuite/ld-shared/elf-offset.ld
ld/testsuite/ld-shared/main.c
ld/testsuite/ld-shared/sh1.c
ld/testsuite/ld-shared/sh2.c
ld/testsuite/ld-shared/shared.dat
ld/testsuite/ld-shared/shared.exp
ld/testsuite/ld-shared/sun4.dat
ld/testsuite/ld-shared/symbolic.dat
ld/testsuite/ld-shared/xcoff.dat
ld/testsuite/ld-srec/sr1.c
ld/testsuite/ld-srec/sr2.c
ld/testsuite/ld-srec/sr3.cc
ld/testsuite/ld-srec/srec.exp
ld/testsuite/ld-undefined/undefined.c
ld/testsuite/ld-undefined/undefined.exp
ld/testsuite/ld-undefined/weak-undef.exp
ld/testsuite/ld-undefined/weak-undef.s
ld/testsuite/ld-undefined/weak-undef.t
ld/testsuite/ld-versados/t1-1.ro
ld/testsuite/ld-versados/t1-2.ro
ld/testsuite/ld-versados/t1.ld
ld/testsuite/ld-versados/t1.ook
ld/testsuite/ld-versados/t2-1.ro
ld/testsuite/ld-versados/t2-2.ro
ld/testsuite/ld-versados/t2-3.ro
ld/testsuite/ld-versados/t2.ld
ld/testsuite/ld-versados/t2.ook
ld/testsuite/ld-versados/versados.exp
ld/testsuite/ld-x86-64/tlsbin.dd
ld/testsuite/ld-x86-64/tlsbin.rd
ld/testsuite/ld-x86-64/tlsbin.s
ld/testsuite/ld-x86-64/tlsbin.sd
ld/testsuite/ld-x86-64/tlsbin.td
ld/testsuite/ld-x86-64/tlsbinpic.s
ld/testsuite/ld-x86-64/tlsg.s
ld/testsuite/ld-x86-64/tlsg.sd
ld/testsuite/ld-x86-64/tlslib.s
ld/testsuite/ld-x86-64/tlspic.dd
ld/testsuite/ld-x86-64/tlspic.rd
ld/testsuite/ld-x86-64/tlspic.sd
ld/testsuite/ld-x86-64/tlspic.td
ld/testsuite/ld-x86-64/tlspic1.s
ld/testsuite/ld-x86-64/tlspic2.s
ld/testsuite/ld-x86-64/x86-64.exp
ld/testsuite/lib/ld-lib.exp
sim/sh64/ChangeLog
sim/sh64/Makefile.in
sim/sh64/arch.c
sim/sh64/arch.h
sim/sh64/config.in
sim/sh64/configure
sim/sh64/configure.in
sim/sh64/cpu.c
sim/sh64/cpu.h
sim/sh64/cpuall.h
sim/sh64/decode-compact.c
sim/sh64/decode-compact.h
sim/sh64/decode-media.c
sim/sh64/decode-media.h
sim/sh64/decode.h
sim/sh64/defs-compact.h
sim/sh64/defs-media.h
sim/sh64/eng-compact.h
sim/sh64/eng-media.h
sim/sh64/eng.h
sim/sh64/mloop-compact.c
sim/sh64/mloop-media.c
sim/sh64/sem-compact-switch.c
sim/sh64/sem-compact.c
sim/sh64/sem-media-switch.c
sim/sh64/sem-media.c
sim/sh64/sh-desc.c
sim/sh64/sh-desc.h
sim/sh64/sh-opc.h
sim/sh64/sh64-sim.h
sim/sh64/sh64.c
sim/sh64/sim-if.c
sim/sh64/sim-main.h
sim/sh64/tconfig.in
sim/testsuite/sim/sh64/ChangeLog
sim/testsuite/sim/sh64/compact.exp
sim/testsuite/sim/sh64/compact/ChangeLog
sim/testsuite/sim/sh64/compact/add.cgs
sim/testsuite/sim/sh64/compact/addc.cgs
sim/testsuite/sim/sh64/compact/addi.cgs
sim/testsuite/sim/sh64/compact/addv.cgs
sim/testsuite/sim/sh64/compact/and.cgs
sim/testsuite/sim/sh64/compact/andb.cgs
sim/testsuite/sim/sh64/compact/andi.cgs
sim/testsuite/sim/sh64/compact/bf.cgs
sim/testsuite/sim/sh64/compact/bfs.cgs
sim/testsuite/sim/sh64/compact/bra.cgs
sim/testsuite/sim/sh64/compact/braf.cgs
sim/testsuite/sim/sh64/compact/brk.cgs
sim/testsuite/sim/sh64/compact/bsr.cgs
sim/testsuite/sim/sh64/compact/bsrf.cgs
sim/testsuite/sim/sh64/compact/bt.cgs
sim/testsuite/sim/sh64/compact/bts.cgs
sim/testsuite/sim/sh64/compact/clrmac.cgs
sim/testsuite/sim/sh64/compact/clrs.cgs
sim/testsuite/sim/sh64/compact/clrt.cgs
sim/testsuite/sim/sh64/compact/cmpeq.cgs
sim/testsuite/sim/sh64/compact/cmpeqi.cgs
sim/testsuite/sim/sh64/compact/cmpge.cgs
sim/testsuite/sim/sh64/compact/cmpgt.cgs
sim/testsuite/sim/sh64/compact/cmphi.cgs
sim/testsuite/sim/sh64/compact/cmphs.cgs
sim/testsuite/sim/sh64/compact/cmppl.cgs
sim/testsuite/sim/sh64/compact/cmppz.cgs
sim/testsuite/sim/sh64/compact/cmpstr.cgs
sim/testsuite/sim/sh64/compact/div0s.cgs
sim/testsuite/sim/sh64/compact/div0u.cgs
sim/testsuite/sim/sh64/compact/div1.cgs
sim/testsuite/sim/sh64/compact/dmulsl.cgs
sim/testsuite/sim/sh64/compact/dmulul.cgs
sim/testsuite/sim/sh64/compact/dt.cgs
sim/testsuite/sim/sh64/compact/extsb.cgs
sim/testsuite/sim/sh64/compact/extsw.cgs
sim/testsuite/sim/sh64/compact/extub.cgs
sim/testsuite/sim/sh64/compact/extuw.cgs
sim/testsuite/sim/sh64/compact/fabs.cgs
sim/testsuite/sim/sh64/compact/fadd.cgs
sim/testsuite/sim/sh64/compact/fcmpeq.cgs
sim/testsuite/sim/sh64/compact/fcmpgt.cgs
sim/testsuite/sim/sh64/compact/fcnvds.cgs
sim/testsuite/sim/sh64/compact/fcnvsd.cgs
sim/testsuite/sim/sh64/compact/fdiv.cgs
sim/testsuite/sim/sh64/compact/fipr.cgs
sim/testsuite/sim/sh64/compact/fldi0.cgs
sim/testsuite/sim/sh64/compact/fldi1.cgs
sim/testsuite/sim/sh64/compact/flds.cgs
sim/testsuite/sim/sh64/compact/float.cgs
sim/testsuite/sim/sh64/compact/fmac.cgs
sim/testsuite/sim/sh64/compact/fmov.cgs
sim/testsuite/sim/sh64/compact/fmul.cgs
sim/testsuite/sim/sh64/compact/fneg.cgs
sim/testsuite/sim/sh64/compact/frchg.cgs
sim/testsuite/sim/sh64/compact/fschg.cgs
sim/testsuite/sim/sh64/compact/fsqrt.cgs
sim/testsuite/sim/sh64/compact/fsts.cgs
sim/testsuite/sim/sh64/compact/fsub.cgs
sim/testsuite/sim/sh64/compact/ftrc.cgs
sim/testsuite/sim/sh64/compact/ftrv.cgs
sim/testsuite/sim/sh64/compact/jmp.cgs
sim/testsuite/sim/sh64/compact/jsr.cgs
sim/testsuite/sim/sh64/compact/ldc-gbr.cgs
sim/testsuite/sim/sh64/compact/ldcl-gbr.cgs
sim/testsuite/sim/sh64/compact/lds-fpscr.cgs
sim/testsuite/sim/sh64/compact/lds-fpul.cgs
sim/testsuite/sim/sh64/compact/lds-mach.cgs
sim/testsuite/sim/sh64/compact/lds-macl.cgs
sim/testsuite/sim/sh64/compact/lds-pr.cgs
sim/testsuite/sim/sh64/compact/ldsl-fpscr.cgs
sim/testsuite/sim/sh64/compact/ldsl-fpul.cgs
sim/testsuite/sim/sh64/compact/ldsl-mach.cgs
sim/testsuite/sim/sh64/compact/ldsl-macl.cgs
sim/testsuite/sim/sh64/compact/ldsl-pr.cgs
sim/testsuite/sim/sh64/compact/macl.cgs
sim/testsuite/sim/sh64/compact/macw.cgs
sim/testsuite/sim/sh64/compact/mov.cgs
sim/testsuite/sim/sh64/compact/mova.cgs
sim/testsuite/sim/sh64/compact/movb1.cgs
sim/testsuite/sim/sh64/compact/movb10.cgs
sim/testsuite/sim/sh64/compact/movb2.cgs
sim/testsuite/sim/sh64/compact/movb3.cgs
sim/testsuite/sim/sh64/compact/movb4.cgs
sim/testsuite/sim/sh64/compact/movb5.cgs
sim/testsuite/sim/sh64/compact/movb6.cgs
sim/testsuite/sim/sh64/compact/movb7.cgs
sim/testsuite/sim/sh64/compact/movb8.cgs
sim/testsuite/sim/sh64/compact/movb9.cgs
sim/testsuite/sim/sh64/compact/movcal.cgs
sim/testsuite/sim/sh64/compact/movi.cgs
sim/testsuite/sim/sh64/compact/movl1.cgs
sim/testsuite/sim/sh64/compact/movl10.cgs
sim/testsuite/sim/sh64/compact/movl11.cgs
sim/testsuite/sim/sh64/compact/movl2.cgs
sim/testsuite/sim/sh64/compact/movl3.cgs
sim/testsuite/sim/sh64/compact/movl4.cgs
sim/testsuite/sim/sh64/compact/movl5.cgs
sim/testsuite/sim/sh64/compact/movl6.cgs
sim/testsuite/sim/sh64/compact/movl7.cgs
sim/testsuite/sim/sh64/compact/movl8.cgs
sim/testsuite/sim/sh64/compact/movl9.cgs
sim/testsuite/sim/sh64/compact/movt.cgs
sim/testsuite/sim/sh64/compact/movw1.cgs
sim/testsuite/sim/sh64/compact/movw10.cgs
sim/testsuite/sim/sh64/compact/movw11.cgs
sim/testsuite/sim/sh64/compact/movw2.cgs
sim/testsuite/sim/sh64/compact/movw3.cgs
sim/testsuite/sim/sh64/compact/movw4.cgs
sim/testsuite/sim/sh64/compact/movw5.cgs
sim/testsuite/sim/sh64/compact/movw6.cgs
sim/testsuite/sim/sh64/compact/movw7.cgs
sim/testsuite/sim/sh64/compact/movw8.cgs
sim/testsuite/sim/sh64/compact/movw9.cgs
sim/testsuite/sim/sh64/compact/mull.cgs
sim/testsuite/sim/sh64/compact/mulsw.cgs
sim/testsuite/sim/sh64/compact/muluw.cgs
sim/testsuite/sim/sh64/compact/neg.cgs
sim/testsuite/sim/sh64/compact/negc.cgs
sim/testsuite/sim/sh64/compact/nop.cgs
sim/testsuite/sim/sh64/compact/not.cgs
sim/testsuite/sim/sh64/compact/ocbi.cgs
sim/testsuite/sim/sh64/compact/ocbp.cgs
sim/testsuite/sim/sh64/compact/ocbwb.cgs
sim/testsuite/sim/sh64/compact/or.cgs
sim/testsuite/sim/sh64/compact/orb.cgs
sim/testsuite/sim/sh64/compact/ori.cgs
sim/testsuite/sim/sh64/compact/pref.cgs
sim/testsuite/sim/sh64/compact/rotcl.cgs
sim/testsuite/sim/sh64/compact/rotcr.cgs
sim/testsuite/sim/sh64/compact/rotl.cgs
sim/testsuite/sim/sh64/compact/rotr.cgs
sim/testsuite/sim/sh64/compact/rts.cgs
sim/testsuite/sim/sh64/compact/sets.cgs
sim/testsuite/sim/sh64/compact/sett.cgs
sim/testsuite/sim/sh64/compact/shad.cgs
sim/testsuite/sim/sh64/compact/shal.cgs
sim/testsuite/sim/sh64/compact/shar.cgs
sim/testsuite/sim/sh64/compact/shld.cgs
sim/testsuite/sim/sh64/compact/shll.cgs
sim/testsuite/sim/sh64/compact/shll16.cgs
sim/testsuite/sim/sh64/compact/shll2.cgs
sim/testsuite/sim/sh64/compact/shll8.cgs
sim/testsuite/sim/sh64/compact/shlr.cgs
sim/testsuite/sim/sh64/compact/shlr16.cgs
sim/testsuite/sim/sh64/compact/shlr2.cgs
sim/testsuite/sim/sh64/compact/shlr8.cgs
sim/testsuite/sim/sh64/compact/stc-gbr.cgs
sim/testsuite/sim/sh64/compact/stcl-gbr.cgs
sim/testsuite/sim/sh64/compact/sts-fpscr.cgs
sim/testsuite/sim/sh64/compact/sts-fpul.cgs
sim/testsuite/sim/sh64/compact/sts-mach.cgs
sim/testsuite/sim/sh64/compact/sts-macl.cgs
sim/testsuite/sim/sh64/compact/sts-pr.cgs
sim/testsuite/sim/sh64/compact/stsl-fpscr.cgs
sim/testsuite/sim/sh64/compact/stsl-fpul.cgs
sim/testsuite/sim/sh64/compact/stsl-mach.cgs
sim/testsuite/sim/sh64/compact/stsl-macl.cgs
sim/testsuite/sim/sh64/compact/stsl-pr.cgs
sim/testsuite/sim/sh64/compact/sub.cgs
sim/testsuite/sim/sh64/compact/subc.cgs
sim/testsuite/sim/sh64/compact/subv.cgs
sim/testsuite/sim/sh64/compact/swapb.cgs
sim/testsuite/sim/sh64/compact/swapw.cgs
sim/testsuite/sim/sh64/compact/tasb.cgs
sim/testsuite/sim/sh64/compact/testutils.inc
sim/testsuite/sim/sh64/compact/trapa.cgs
sim/testsuite/sim/sh64/compact/tst.cgs
sim/testsuite/sim/sh64/compact/tstb.cgs
sim/testsuite/sim/sh64/compact/tsti.cgs
sim/testsuite/sim/sh64/compact/xor.cgs
sim/testsuite/sim/sh64/compact/xorb.cgs
sim/testsuite/sim/sh64/compact/xori.cgs
sim/testsuite/sim/sh64/compact/xtrct.cgs
sim/testsuite/sim/sh64/interwork.exp
sim/testsuite/sim/sh64/media.exp
sim/testsuite/sim/sh64/media/ChangeLog
sim/testsuite/sim/sh64/media/add.cgs
sim/testsuite/sim/sh64/media/addi.cgs
sim/testsuite/sim/sh64/media/addil.cgs
sim/testsuite/sim/sh64/media/addl.cgs
sim/testsuite/sim/sh64/media/addzl.cgs
sim/testsuite/sim/sh64/media/alloco.cgs
sim/testsuite/sim/sh64/media/and.cgs
sim/testsuite/sim/sh64/media/andc.cgs
sim/testsuite/sim/sh64/media/andi.cgs
sim/testsuite/sim/sh64/media/beq.cgs
sim/testsuite/sim/sh64/media/beqi.cgs
sim/testsuite/sim/sh64/media/bge.cgs
sim/testsuite/sim/sh64/media/bgeu.cgs
sim/testsuite/sim/sh64/media/bgt.cgs
sim/testsuite/sim/sh64/media/bgtu.cgs
sim/testsuite/sim/sh64/media/blink.cgs
sim/testsuite/sim/sh64/media/bne.cgs
sim/testsuite/sim/sh64/media/bnei.cgs
sim/testsuite/sim/sh64/media/brk.cgs
sim/testsuite/sim/sh64/media/byterev.cgs
sim/testsuite/sim/sh64/media/cmpeq.cgs
sim/testsuite/sim/sh64/media/cmpgt.cgs
sim/testsuite/sim/sh64/media/cmpgtu.cgs
sim/testsuite/sim/sh64/media/cmveq.cgs
sim/testsuite/sim/sh64/media/cmvne.cgs
sim/testsuite/sim/sh64/media/fabsd.cgs
sim/testsuite/sim/sh64/media/fabss.cgs
sim/testsuite/sim/sh64/media/faddd.cgs
sim/testsuite/sim/sh64/media/fadds.cgs
sim/testsuite/sim/sh64/media/fcmpeqd.cgs
sim/testsuite/sim/sh64/media/fcmpeqs.cgs
sim/testsuite/sim/sh64/media/fcmpged.cgs
sim/testsuite/sim/sh64/media/fcmpges.cgs
sim/testsuite/sim/sh64/media/fcmpgtd.cgs
sim/testsuite/sim/sh64/media/fcmpgts.cgs
sim/testsuite/sim/sh64/media/fcmpund.cgs
sim/testsuite/sim/sh64/media/fcmpuns.cgs
sim/testsuite/sim/sh64/media/fcnvds.cgs
sim/testsuite/sim/sh64/media/fcnvsd.cgs
sim/testsuite/sim/sh64/media/fdivd.cgs
sim/testsuite/sim/sh64/media/fdivs.cgs
sim/testsuite/sim/sh64/media/fgetscr.cgs
sim/testsuite/sim/sh64/media/fiprs.cgs
sim/testsuite/sim/sh64/media/fldd.cgs
sim/testsuite/sim/sh64/media/fldp.cgs
sim/testsuite/sim/sh64/media/flds.cgs
sim/testsuite/sim/sh64/media/fldxd.cgs
sim/testsuite/sim/sh64/media/fldxp.cgs
sim/testsuite/sim/sh64/media/fldxs.cgs
sim/testsuite/sim/sh64/media/floatld.cgs
sim/testsuite/sim/sh64/media/floatls.cgs
sim/testsuite/sim/sh64/media/floatqd.cgs
sim/testsuite/sim/sh64/media/floatqs.cgs
sim/testsuite/sim/sh64/media/fmacs.cgs
sim/testsuite/sim/sh64/media/fmovd.cgs
sim/testsuite/sim/sh64/media/fmovdq.cgs
sim/testsuite/sim/sh64/media/fmovls.cgs
sim/testsuite/sim/sh64/media/fmovqd.cgs
sim/testsuite/sim/sh64/media/fmovs.cgs
sim/testsuite/sim/sh64/media/fmovsl.cgs
sim/testsuite/sim/sh64/media/fmuld.cgs
sim/testsuite/sim/sh64/media/fmuls.cgs
sim/testsuite/sim/sh64/media/fnegd.cgs
sim/testsuite/sim/sh64/media/fnegs.cgs
sim/testsuite/sim/sh64/media/fputscr.cgs
sim/testsuite/sim/sh64/media/fsqrtd.cgs
sim/testsuite/sim/sh64/media/fsqrts.cgs
sim/testsuite/sim/sh64/media/fstd.cgs
sim/testsuite/sim/sh64/media/fstp.cgs
sim/testsuite/sim/sh64/media/fsts.cgs
sim/testsuite/sim/sh64/media/fstxd.cgs
sim/testsuite/sim/sh64/media/fstxp.cgs
sim/testsuite/sim/sh64/media/fstxs.cgs
sim/testsuite/sim/sh64/media/fsubd.cgs
sim/testsuite/sim/sh64/media/fsubs.cgs
sim/testsuite/sim/sh64/media/ftrcdl.cgs
sim/testsuite/sim/sh64/media/ftrcdq.cgs
sim/testsuite/sim/sh64/media/ftrcsl.cgs
sim/testsuite/sim/sh64/media/ftrcsq.cgs
sim/testsuite/sim/sh64/media/ftrvs.cgs
sim/testsuite/sim/sh64/media/getcfg.cgs
sim/testsuite/sim/sh64/media/getcon.cgs
sim/testsuite/sim/sh64/media/gettr.cgs
sim/testsuite/sim/sh64/media/icbi.cgs
sim/testsuite/sim/sh64/media/ldb.cgs
sim/testsuite/sim/sh64/media/ldhil.cgs
sim/testsuite/sim/sh64/media/ldhiq.cgs
sim/testsuite/sim/sh64/media/ldl.cgs
sim/testsuite/sim/sh64/media/ldlol.cgs
sim/testsuite/sim/sh64/media/ldloq.cgs
sim/testsuite/sim/sh64/media/ldq.cgs
sim/testsuite/sim/sh64/media/ldub.cgs
sim/testsuite/sim/sh64/media/lduw.cgs
sim/testsuite/sim/sh64/media/ldw.cgs
sim/testsuite/sim/sh64/media/ldxb.cgs
sim/testsuite/sim/sh64/media/ldxl.cgs
sim/testsuite/sim/sh64/media/ldxq.cgs
sim/testsuite/sim/sh64/media/ldxub.cgs
sim/testsuite/sim/sh64/media/ldxuw.cgs
sim/testsuite/sim/sh64/media/ldxw.cgs
sim/testsuite/sim/sh64/media/mabsl.cgs
sim/testsuite/sim/sh64/media/mabsw.cgs
sim/testsuite/sim/sh64/media/maddl.cgs
sim/testsuite/sim/sh64/media/maddsl.cgs
sim/testsuite/sim/sh64/media/maddsub.cgs
sim/testsuite/sim/sh64/media/maddsw.cgs
sim/testsuite/sim/sh64/media/maddw.cgs
sim/testsuite/sim/sh64/media/mcmpeqb.cgs
sim/testsuite/sim/sh64/media/mcmpeql.cgs
sim/testsuite/sim/sh64/media/mcmpeqw.cgs
sim/testsuite/sim/sh64/media/mcmpgtl.cgs
sim/testsuite/sim/sh64/media/mcmpgtub.cgs
sim/testsuite/sim/sh64/media/mcmpgtw.cgs
sim/testsuite/sim/sh64/media/mcmv.cgs
sim/testsuite/sim/sh64/media/mcnvslw.cgs
sim/testsuite/sim/sh64/media/mcnvswb.cgs
sim/testsuite/sim/sh64/media/mcnvswub.cgs
sim/testsuite/sim/sh64/media/mextr1.cgs
sim/testsuite/sim/sh64/media/mextr2.cgs
sim/testsuite/sim/sh64/media/mextr3.cgs
sim/testsuite/sim/sh64/media/mextr4.cgs
sim/testsuite/sim/sh64/media/mextr5.cgs
sim/testsuite/sim/sh64/media/mextr6.cgs
sim/testsuite/sim/sh64/media/mextr7.cgs
sim/testsuite/sim/sh64/media/mmacfxwl.cgs
sim/testsuite/sim/sh64/media/mmacnfx-wl.cgs
sim/testsuite/sim/sh64/media/mmulfxl.cgs
sim/testsuite/sim/sh64/media/mmulfxrpw.cgs
sim/testsuite/sim/sh64/media/mmulfxw.cgs
sim/testsuite/sim/sh64/media/mmulhiwl.cgs
sim/testsuite/sim/sh64/media/mmull.cgs
sim/testsuite/sim/sh64/media/mmullowl.cgs
sim/testsuite/sim/sh64/media/mmulsumwq.cgs
sim/testsuite/sim/sh64/media/mmulw.cgs
sim/testsuite/sim/sh64/media/movi.cgs
sim/testsuite/sim/sh64/media/mpermw.cgs
sim/testsuite/sim/sh64/media/msadubq.cgs
sim/testsuite/sim/sh64/media/mshaldsl.cgs
sim/testsuite/sim/sh64/media/mshaldsw.cgs
sim/testsuite/sim/sh64/media/mshardl.cgs
sim/testsuite/sim/sh64/media/mshardsq.cgs
sim/testsuite/sim/sh64/media/mshardw.cgs
sim/testsuite/sim/sh64/media/mshfhib.cgs
sim/testsuite/sim/sh64/media/mshfhil.cgs
sim/testsuite/sim/sh64/media/mshfhiw.cgs
sim/testsuite/sim/sh64/media/mshflob.cgs
sim/testsuite/sim/sh64/media/mshflol.cgs
sim/testsuite/sim/sh64/media/mshflow.cgs
sim/testsuite/sim/sh64/media/mshlldl.cgs
sim/testsuite/sim/sh64/media/mshlldw.cgs
sim/testsuite/sim/sh64/media/mshlrdl.cgs
sim/testsuite/sim/sh64/media/mshlrdw.cgs
sim/testsuite/sim/sh64/media/msubl.cgs
sim/testsuite/sim/sh64/media/msubsl.cgs
sim/testsuite/sim/sh64/media/msubsub.cgs
sim/testsuite/sim/sh64/media/msubsw.cgs
sim/testsuite/sim/sh64/media/msubw.cgs
sim/testsuite/sim/sh64/media/mulsl.cgs
sim/testsuite/sim/sh64/media/mulul.cgs
sim/testsuite/sim/sh64/media/nop.cgs
sim/testsuite/sim/sh64/media/nsb.cgs
sim/testsuite/sim/sh64/media/ocbi.cgs
sim/testsuite/sim/sh64/media/ocbp.cgs
sim/testsuite/sim/sh64/media/ocbwb.cgs
sim/testsuite/sim/sh64/media/or.cgs
sim/testsuite/sim/sh64/media/ori.cgs
sim/testsuite/sim/sh64/media/prefi.cgs
sim/testsuite/sim/sh64/media/pta.cgs
sim/testsuite/sim/sh64/media/ptabs.cgs
sim/testsuite/sim/sh64/media/ptb.cgs
sim/testsuite/sim/sh64/media/ptrel.cgs
sim/testsuite/sim/sh64/media/putcfg.cgs
sim/testsuite/sim/sh64/media/putcon.cgs
sim/testsuite/sim/sh64/media/rte.cgs
sim/testsuite/sim/sh64/media/shard.cgs
sim/testsuite/sim/sh64/media/shardl.cgs
sim/testsuite/sim/sh64/media/shari.cgs
sim/testsuite/sim/sh64/media/sharil.cgs
sim/testsuite/sim/sh64/media/shlld.cgs
sim/testsuite/sim/sh64/media/shlldl.cgs
sim/testsuite/sim/sh64/media/shlli.cgs
sim/testsuite/sim/sh64/media/shllil.cgs
sim/testsuite/sim/sh64/media/shlrd.cgs
sim/testsuite/sim/sh64/media/shlrdl.cgs
sim/testsuite/sim/sh64/media/shlri.cgs
sim/testsuite/sim/sh64/media/shlril.cgs
sim/testsuite/sim/sh64/media/shori.cgs
sim/testsuite/sim/sh64/media/sleep.cgs
sim/testsuite/sim/sh64/media/stb.cgs
sim/testsuite/sim/sh64/media/sthil.cgs
sim/testsuite/sim/sh64/media/sthiq.cgs
sim/testsuite/sim/sh64/media/stl.cgs
sim/testsuite/sim/sh64/media/stlol.cgs
sim/testsuite/sim/sh64/media/stloq.cgs
sim/testsuite/sim/sh64/media/stq.cgs
sim/testsuite/sim/sh64/media/stw.cgs
sim/testsuite/sim/sh64/media/stxb.cgs
sim/testsuite/sim/sh64/media/stxl.cgs
sim/testsuite/sim/sh64/media/stxq.cgs
sim/testsuite/sim/sh64/media/stxw.cgs
sim/testsuite/sim/sh64/media/sub.cgs
sim/testsuite/sim/sh64/media/subl.cgs
sim/testsuite/sim/sh64/media/swapq.cgs
sim/testsuite/sim/sh64/media/synci.cgs
sim/testsuite/sim/sh64/media/synco.cgs
sim/testsuite/sim/sh64/media/testutils.inc
sim/testsuite/sim/sh64/media/trapa.cgs
sim/testsuite/sim/sh64/media/xor.cgs
sim/testsuite/sim/sh64/media/xori.cgs
sim/testsuite/sim/sh64/misc/fr-dr.s
Diffstat (limited to 'gas/read.c')
-rw-r--r-- | gas/read.c | 5351 |
1 files changed, 0 insertions, 5351 deletions
diff --git a/gas/read.c b/gas/read.c deleted file mode 100644 index 055c7ed..0000000 --- a/gas/read.c +++ /dev/null @@ -1,5351 +0,0 @@ -/* read.c - read a source file - - Copyright 1986, 1987, 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1997, - 1998, 1999, 2000, 2001, 2002 Free Software Foundation, Inc. - -This file is part of GAS, the GNU Assembler. - -GAS is free software; you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation; either version 2, or (at your option) -any later version. - -GAS is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public License -along with GAS; see the file COPYING. If not, write to the Free -Software Foundation, 59 Temple Place - Suite 330, Boston, MA -02111-1307, USA. */ - -#if 0 -/* If your chars aren't 8 bits, you will change this a bit. - But then, GNU isn't spozed to run on your machine anyway. - (RMS is so shortsighted sometimes.) */ -#define MASK_CHAR (0xFF) -#else -#define MASK_CHAR ((int)(unsigned char) -1) -#endif - -/* This is the largest known floating point format (for now). It will - grow when we do 4361 style flonums. */ -#define MAXIMUM_NUMBER_OF_CHARS_FOR_FLOAT (16) - -/* Routines that read assembler source text to build spagetti in memory. - Another group of these functions is in the expr.c module. */ - -#include "as.h" -#include "safe-ctype.h" -#include "subsegs.h" -#include "sb.h" -#include "macro.h" -#include "obstack.h" -#include "listing.h" -#include "ecoff.h" - -#ifndef TC_START_LABEL -#define TC_START_LABEL(x,y) (x == ':') -#endif - -/* Set by the object-format or the target. */ -#ifndef TC_IMPLICIT_LCOMM_ALIGNMENT -#define TC_IMPLICIT_LCOMM_ALIGNMENT(SIZE, P2VAR) \ - do \ - { \ - if ((SIZE) >= 8) \ - (P2VAR) = 3; \ - else if ((SIZE) >= 4) \ - (P2VAR) = 2; \ - else if ((SIZE) >= 2) \ - (P2VAR) = 1; \ - else \ - (P2VAR) = 0; \ - } \ - while (0) -#endif - -char *input_line_pointer; /*->next char of source file to parse. */ - -#if BITS_PER_CHAR != 8 -/* The following table is indexed by[(char)] and will break if - a char does not have exactly 256 states (hopefully 0:255!)! */ -die horribly; -#endif - -#ifndef LEX_AT -/* The m88k unfortunately uses @ as a label beginner. */ -#define LEX_AT 0 -#endif - -#ifndef LEX_BR -/* The RS/6000 assembler uses {,},[,] as parts of symbol names. */ -#define LEX_BR 0 -#endif - -#ifndef LEX_PCT -/* The Delta 68k assembler permits % inside label names. */ -#define LEX_PCT 0 -#endif - -#ifndef LEX_QM -/* The PowerPC Windows NT assemblers permits ? inside label names. */ -#define LEX_QM 0 -#endif - -#ifndef LEX_HASH -/* The IA-64 assembler uses # as a suffix designating a symbol. We include - it in the symbol and strip it out in tc_canonicalize_symbol_name. */ -#define LEX_HASH 0 -#endif - -#ifndef LEX_DOLLAR -/* The a29k assembler does not permits labels to start with $. */ -#define LEX_DOLLAR 3 -#endif - -#ifndef LEX_TILDE -/* The Delta 68k assembler permits ~ at start of label names. */ -#define LEX_TILDE 0 -#endif - -/* Used by is_... macros. our ctype[]. */ -char lex_type[256] = { - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* @ABCDEFGHIJKLMNO */ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* PQRSTUVWXYZ[\]^_ */ - 0, 0, 0, LEX_HASH, LEX_DOLLAR, LEX_PCT, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, /* _!"#$%&'()*+,-./ */ - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, LEX_QM, /* 0123456789:;<=>? */ - LEX_AT, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, /* @ABCDEFGHIJKLMNO */ - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, LEX_BR, 0, LEX_BR, 0, 3, /* PQRSTUVWXYZ[\]^_ */ - 0, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, /* `abcdefghijklmno */ - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, LEX_BR, 0, LEX_BR, LEX_TILDE, 0, /* pqrstuvwxyz{|}~. */ - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3 -}; - -/* In: a character. - Out: 1 if this character ends a line. */ -char is_end_of_line[256] = { -#ifdef CR_EOL - 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, /* @abcdefghijklmno */ -#else - 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, /* @abcdefghijklmno */ -#endif - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* */ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* _!"#$%&'()*+,-./ */ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* 0123456789:;<=>? */ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* */ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* */ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* */ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* */ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* */ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* */ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* */ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* */ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* */ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* */ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* */ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 /* */ -}; - -#ifdef IGNORE_OPCODE_CASE -char original_case_string[128]; -#endif - -/* Functions private to this file. */ - -static char *buffer; /* 1st char of each buffer of lines is here. */ -static char *buffer_limit; /*->1 + last char in buffer. */ - -/* TARGET_BYTES_BIG_ENDIAN is required to be defined to either 0 or 1 - in the tc-<CPU>.h file. See the "Porting GAS" section of the - internals manual. */ -int target_big_endian = TARGET_BYTES_BIG_ENDIAN; - -static char *old_buffer; /* JF a hack. */ -static char *old_input; -static char *old_limit; - -/* Variables for handling include file directory table. */ - -/* Table of pointers to directories to search for .include's. */ -char **include_dirs; - -/* How many are in the table. */ -int include_dir_count; - -/* Length of longest in table. */ -int include_dir_maxlen = 1; - -#ifndef WORKING_DOT_WORD -struct broken_word *broken_words; -int new_broken_words; -#endif - -/* The current offset into the absolute section. We don't try to - build frags in the absolute section, since no data can be stored - there. We just keep track of the current offset. */ -addressT abs_section_offset; - -/* If this line had an MRI style label, it is stored in this variable. - This is used by some of the MRI pseudo-ops. */ -symbolS *line_label; - -/* This global variable is used to support MRI common sections. We - translate such sections into a common symbol. This variable is - non-NULL when we are in an MRI common section. */ -symbolS *mri_common_symbol; - -/* In MRI mode, after a dc.b pseudo-op with an odd number of bytes, we - need to align to an even byte boundary unless the next pseudo-op is - dc.b, ds.b, or dcb.b. This variable is set to 1 if an alignment - may be needed. */ -static int mri_pending_align; - -#ifndef NO_LISTING -#ifdef OBJ_ELF -/* This variable is set to be non-zero if the next string we see might - be the name of the source file in DWARF debugging information. See - the comment in emit_expr for the format we look for. */ -static int dwarf_file_string; -#endif -#endif - -static void cons_worker PARAMS ((int, int)); -static int scrub_from_string PARAMS ((char *, int)); -static void do_align PARAMS ((int, char *, int, int)); -static void s_align PARAMS ((int, int)); -static void s_lcomm_internal PARAMS ((int, int)); -static int hex_float PARAMS ((int, char *)); -static inline int sizeof_sleb128 PARAMS ((offsetT)); -static inline int sizeof_uleb128 PARAMS ((valueT)); -static inline int output_sleb128 PARAMS ((char *, offsetT)); -static inline int output_uleb128 PARAMS ((char *, valueT)); -static inline int output_big_sleb128 PARAMS ((char *, LITTLENUM_TYPE *, int)); -static inline int output_big_uleb128 PARAMS ((char *, LITTLENUM_TYPE *, int)); -static int output_big_leb128 PARAMS ((char *, LITTLENUM_TYPE *, int, int)); -static void do_org PARAMS ((segT, expressionS *, int)); -char *demand_copy_string PARAMS ((int *lenP)); -static segT get_segmented_expression PARAMS ((expressionS *expP)); -static segT get_known_segmented_expression PARAMS ((expressionS * expP)); -static void pobegin PARAMS ((void)); -static int get_line_sb PARAMS ((sb *)); -static void generate_file_debug PARAMS ((void)); - -void -read_begin () -{ - const char *p; - - pobegin (); - obj_read_begin_hook (); - - /* Something close -- but not too close -- to a multiple of 1024. - The debugging malloc I'm using has 24 bytes of overhead. */ - obstack_begin (¬es, chunksize); - obstack_begin (&cond_obstack, chunksize); - - /* Use machine dependent syntax. */ - for (p = line_separator_chars; *p; p++) - is_end_of_line[(unsigned char) *p] = 1; - /* Use more. FIXME-SOMEDAY. */ - - if (flag_mri) - lex_type['?'] = 3; -} - -/* Set up pseudo-op tables. */ - -static struct hash_control *po_hash; - -static const pseudo_typeS potable[] = { - {"abort", s_abort, 0}, - {"align", s_align_ptwo, 0}, - {"ascii", stringer, 0}, - {"asciz", stringer, 1}, - {"balign", s_align_bytes, 0}, - {"balignw", s_align_bytes, -2}, - {"balignl", s_align_bytes, -4}, -/* block */ - {"byte", cons, 1}, - {"comm", s_comm, 0}, - {"common", s_mri_common, 0}, - {"common.s", s_mri_common, 1}, - {"data", s_data, 0}, - {"dc", cons, 2}, - {"dc.b", cons, 1}, - {"dc.d", float_cons, 'd'}, - {"dc.l", cons, 4}, - {"dc.s", float_cons, 'f'}, - {"dc.w", cons, 2}, - {"dc.x", float_cons, 'x'}, - {"dcb", s_space, 2}, - {"dcb.b", s_space, 1}, - {"dcb.d", s_float_space, 'd'}, - {"dcb.l", s_space, 4}, - {"dcb.s", s_float_space, 'f'}, - {"dcb.w", s_space, 2}, - {"dcb.x", s_float_space, 'x'}, - {"ds", s_space, 2}, - {"ds.b", s_space, 1}, - {"ds.d", s_space, 8}, - {"ds.l", s_space, 4}, - {"ds.p", s_space, 12}, - {"ds.s", s_space, 4}, - {"ds.w", s_space, 2}, - {"ds.x", s_space, 12}, - {"debug", s_ignore, 0}, -#ifdef S_SET_DESC - {"desc", s_desc, 0}, -#endif -/* dim */ - {"double", float_cons, 'd'}, -/* dsect */ - {"eject", listing_eject, 0}, /* Formfeed listing. */ - {"else", s_else, 0}, - {"elsec", s_else, 0}, - {"elseif", s_elseif, (int) O_ne}, - {"end", s_end, 0}, - {"endc", s_endif, 0}, - {"endfunc", s_func, 1}, - {"endif", s_endif, 0}, - {"endr", s_bad_endr, 0}, -/* endef */ - {"equ", s_set, 0}, - {"equiv", s_set, 1}, - {"err", s_err, 0}, - {"exitm", s_mexit, 0}, -/* extend */ - {"extern", s_ignore, 0}, /* We treat all undef as ext. */ - {"appfile", s_app_file, 1}, - {"appline", s_app_line, 0}, - {"fail", s_fail, 0}, - {"file", s_app_file, 0}, - {"fill", s_fill, 0}, - {"float", float_cons, 'f'}, - {"format", s_ignore, 0}, - {"func", s_func, 0}, - {"global", s_globl, 0}, - {"globl", s_globl, 0}, - {"hword", cons, 2}, - {"if", s_if, (int) O_ne}, - {"ifc", s_ifc, 0}, - {"ifdef", s_ifdef, 0}, - {"ifeq", s_if, (int) O_eq}, - {"ifeqs", s_ifeqs, 0}, - {"ifge", s_if, (int) O_ge}, - {"ifgt", s_if, (int) O_gt}, - {"ifle", s_if, (int) O_le}, - {"iflt", s_if, (int) O_lt}, - {"ifnc", s_ifc, 1}, - {"ifndef", s_ifdef, 1}, - {"ifne", s_if, (int) O_ne}, - {"ifnes", s_ifeqs, 1}, - {"ifnotdef", s_ifdef, 1}, - {"incbin", s_incbin, 0}, - {"include", s_include, 0}, - {"int", cons, 4}, - {"irp", s_irp, 0}, - {"irep", s_irp, 0}, - {"irpc", s_irp, 1}, - {"irepc", s_irp, 1}, - {"lcomm", s_lcomm, 0}, - {"lflags", listing_flags, 0}, /* Listing flags. */ - {"linkonce", s_linkonce, 0}, - {"list", listing_list, 1}, /* Turn listing on. */ - {"llen", listing_psize, 1}, - {"long", cons, 4}, - {"lsym", s_lsym, 0}, - {"macro", s_macro, 0}, - {"mexit", s_mexit, 0}, - {"mri", s_mri, 0}, - {".mri", s_mri, 0}, /* Special case so .mri works in MRI mode. */ - {"name", s_ignore, 0}, - {"noformat", s_ignore, 0}, - {"nolist", listing_list, 0}, /* Turn listing off. */ - {"nopage", listing_nopage, 0}, - {"octa", cons, 16}, - {"offset", s_struct, 0}, - {"org", s_org, 0}, - {"p2align", s_align_ptwo, 0}, - {"p2alignw", s_align_ptwo, -2}, - {"p2alignl", s_align_ptwo, -4}, - {"page", listing_eject, 0}, - {"plen", listing_psize, 0}, - {"print", s_print, 0}, - {"psize", listing_psize, 0}, /* Set paper size. */ - {"purgem", s_purgem, 0}, - {"quad", cons, 8}, - {"rep", s_rept, 0}, - {"rept", s_rept, 0}, - {"rva", s_rva, 4}, - {"sbttl", listing_title, 1}, /* Subtitle of listing. */ -/* scl */ -/* sect */ - {"set", s_set, 0}, - {"short", cons, 2}, - {"single", float_cons, 'f'}, -/* size */ - {"space", s_space, 0}, - {"skip", s_space, 0}, - {"sleb128", s_leb128, 1}, - {"spc", s_ignore, 0}, - {"stabd", s_stab, 'd'}, - {"stabn", s_stab, 'n'}, - {"stabs", s_stab, 's'}, - {"string", stringer, 1}, - {"struct", s_struct, 0}, -/* tag */ - {"text", s_text, 0}, - - /* This is for gcc to use. It's only just been added (2/94), so gcc - won't be able to use it for a while -- probably a year or more. - But once this has been released, check with gcc maintainers - before deleting it or even changing the spelling. */ - {"this_GCC_requires_the_GNU_assembler", s_ignore, 0}, - /* If we're folding case -- done for some targets, not necessarily - all -- the above string in an input file will be converted to - this one. Match it either way... */ - {"this_gcc_requires_the_gnu_assembler", s_ignore, 0}, - - {"title", listing_title, 0}, /* Listing title. */ - {"ttl", listing_title, 0}, -/* type */ - {"uleb128", s_leb128, 0}, -/* use */ -/* val */ - {"xcom", s_comm, 0}, - {"xdef", s_globl, 0}, - {"xref", s_ignore, 0}, - {"xstabs", s_xstab, 's'}, - {"word", cons, 2}, - {"zero", s_space, 0}, - {NULL, NULL, 0} /* End sentinel. */ -}; - -static int pop_override_ok = 0; -static const char *pop_table_name; - -void -pop_insert (table) - const pseudo_typeS *table; -{ - const char *errtxt; - const pseudo_typeS *pop; - for (pop = table; pop->poc_name; pop++) - { - errtxt = hash_insert (po_hash, pop->poc_name, (char *) pop); - if (errtxt && (!pop_override_ok || strcmp (errtxt, "exists"))) - as_fatal (_("error constructing %s pseudo-op table: %s"), pop_table_name, - errtxt); - } -} - -#ifndef md_pop_insert -#define md_pop_insert() pop_insert(md_pseudo_table) -#endif - -#ifndef obj_pop_insert -#define obj_pop_insert() pop_insert(obj_pseudo_table) -#endif - -static void -pobegin () -{ - po_hash = hash_new (); - - /* Do the target-specific pseudo ops. */ - pop_table_name = "md"; - md_pop_insert (); - - /* Now object specific. Skip any that were in the target table. */ - pop_table_name = "obj"; - pop_override_ok = 1; - obj_pop_insert (); - - /* Now portable ones. Skip any that we've seen already. */ - pop_table_name = "standard"; - pop_insert (potable); -} - -#define HANDLE_CONDITIONAL_ASSEMBLY() \ - if (ignore_input ()) \ - { \ - while (!is_end_of_line[(unsigned char) *input_line_pointer++]) \ - if (input_line_pointer == buffer_limit) \ - break; \ - continue; \ - } - -/* This function is used when scrubbing the characters between #APP - and #NO_APP. */ - -static char *scrub_string; -static char *scrub_string_end; - -static int -scrub_from_string (buf, buflen) - char *buf; - int buflen; -{ - int copy; - - copy = scrub_string_end - scrub_string; - if (copy > buflen) - copy = buflen; - memcpy (buf, scrub_string, copy); - scrub_string += copy; - return copy; -} - -/* We read the file, putting things into a web that represents what we - have been reading. */ -void -read_a_source_file (name) - char *name; -{ - register char c; - register char *s; /* String of symbol, '\0' appended. */ - register int temp; - pseudo_typeS *pop; - -#ifdef WARN_COMMENTS - found_comment = 0; -#endif - - buffer = input_scrub_new_file (name); - - listing_file (name); - listing_newline (NULL); - register_dependency (name); - - /* Generate debugging information before we've read anything in to denote - this file as the "main" source file and not a subordinate one - (e.g. N_SO vs N_SOL in stabs). */ - generate_file_debug (); - - while ((buffer_limit = input_scrub_next_buffer (&input_line_pointer)) != 0) - { /* We have another line to parse. */ - know (buffer_limit[-1] == '\n'); /* Must have a sentinel. */ - contin: /* JF this goto is my fault I admit it. - Someone brave please re-write the whole - input section here? Pleeze??? */ - while (input_line_pointer < buffer_limit) - { - /* We have more of this buffer to parse. */ - - /* We now have input_line_pointer->1st char of next line. - If input_line_pointer [-1] == '\n' then we just - scanned another line: so bump line counters. */ - if (is_end_of_line[(unsigned char) input_line_pointer[-1]]) - { -#ifdef md_start_line_hook - md_start_line_hook (); -#endif - if (input_line_pointer[-1] == '\n') - bump_line_counters (); - - line_label = NULL; - - if (LABELS_WITHOUT_COLONS || flag_m68k_mri) - { - /* Text at the start of a line must be a label, we - run down and stick a colon in. */ - if (is_name_beginner (*input_line_pointer)) - { - char *line_start = input_line_pointer; - char c; - int mri_line_macro; - - LISTING_NEWLINE (); - HANDLE_CONDITIONAL_ASSEMBLY (); - - c = get_symbol_end (); - - /* In MRI mode, the EQU and MACRO pseudoops must - be handled specially. */ - mri_line_macro = 0; - if (flag_m68k_mri) - { - char *rest = input_line_pointer + 1; - - if (*rest == ':') - ++rest; - if (*rest == ' ' || *rest == '\t') - ++rest; - if ((strncasecmp (rest, "EQU", 3) == 0 - || strncasecmp (rest, "SET", 3) == 0) - && (rest[3] == ' ' || rest[3] == '\t')) - { - input_line_pointer = rest + 3; - equals (line_start, - strncasecmp (rest, "SET", 3) == 0); - continue; - } - if (strncasecmp (rest, "MACRO", 5) == 0 - && (rest[5] == ' ' - || rest[5] == '\t' - || is_end_of_line[(unsigned char) rest[5]])) - mri_line_macro = 1; - } - - /* In MRI mode, we need to handle the MACRO - pseudo-op specially: we don't want to put the - symbol in the symbol table. */ - if (!mri_line_macro -#ifdef TC_START_LABEL_WITHOUT_COLON - && TC_START_LABEL_WITHOUT_COLON(c, - input_line_pointer) -#endif - ) - line_label = colon (line_start); - else - line_label = symbol_create (line_start, - absolute_section, - (valueT) 0, - &zero_address_frag); - - *input_line_pointer = c; - if (c == ':') - input_line_pointer++; - } - } - } - - /* We are at the begining of a line, or similar place. - We expect a well-formed assembler statement. - A "symbol-name:" is a statement. - - Depending on what compiler is used, the order of these tests - may vary to catch most common case 1st. - Each test is independent of all other tests at the (top) level. - PLEASE make a compiler that doesn't use this assembler. - It is crufty to waste a compiler's time encoding things for this - assembler, which then wastes more time decoding it. - (And communicating via (linear) files is silly! - If you must pass stuff, please pass a tree!) */ - if ((c = *input_line_pointer++) == '\t' - || c == ' ' - || c == '\f' - || c == 0) - c = *input_line_pointer++; - - know (c != ' '); /* No further leading whitespace. */ - -#ifndef NO_LISTING - /* If listing is on, and we are expanding a macro, then give - the listing code the contents of the expanded line. */ - if (listing) - { - if ((listing & LISTING_MACEXP) && macro_nest > 0) - { - char *copy; - int len; - - /* Find the end of the current expanded macro line. */ - for (s = input_line_pointer - 1; *s; ++s) - if (is_end_of_line[(unsigned char) *s]) - break; - - /* Copy it for safe keeping. Also give an indication of - how much macro nesting is involved at this point. */ - len = s - (input_line_pointer - 1); - copy = (char *) xmalloc (len + macro_nest + 2); - memset (copy, '>', macro_nest); - copy[macro_nest] = ' '; - memcpy (copy + macro_nest + 1, input_line_pointer - 1, len); - copy[macro_nest + 1 + len] = '\0'; - - /* Install the line with the listing facility. */ - listing_newline (copy); - } - else - listing_newline (NULL); - } -#endif - /* C is the 1st significant character. - Input_line_pointer points after that character. */ - if (is_name_beginner (c)) - { - /* Want user-defined label or pseudo/opcode. */ - HANDLE_CONDITIONAL_ASSEMBLY (); - - s = --input_line_pointer; - c = get_symbol_end (); /* name's delimiter. */ - - /* C is character after symbol. - That character's place in the input line is now '\0'. - S points to the beginning of the symbol. - [In case of pseudo-op, s->'.'.] - Input_line_pointer->'\0' where c was. */ - if (TC_START_LABEL (c, input_line_pointer)) - { - if (flag_m68k_mri) - { - char *rest = input_line_pointer + 1; - - /* In MRI mode, \tsym: set 0 is permitted. */ - if (*rest == ':') - ++rest; - - if (*rest == ' ' || *rest == '\t') - ++rest; - - if ((strncasecmp (rest, "EQU", 3) == 0 - || strncasecmp (rest, "SET", 3) == 0) - && (rest[3] == ' ' || rest[3] == '\t')) - { - input_line_pointer = rest + 3; - equals (s, 1); - continue; - } - } - - line_label = colon (s); /* User-defined label. */ - /* Put ':' back for error messages' sake. */ - *input_line_pointer++ = ':'; - /* Input_line_pointer->after ':'. */ - SKIP_WHITESPACE (); - } - else if (c == '=' - || ((c == ' ' || c == '\t') - && input_line_pointer[1] == '=' -#ifdef TC_EQUAL_IN_INSN - && !TC_EQUAL_IN_INSN (c, input_line_pointer) -#endif - )) - { - equals (s, 1); - demand_empty_rest_of_line (); - } - else - { - /* Expect pseudo-op or machine instruction. */ - pop = NULL; - -#ifdef IGNORE_OPCODE_CASE - { - char *s2 = s; - - strncpy (original_case_string, s2, sizeof (original_case_string)); - original_case_string[sizeof (original_case_string) - 1] = 0; - - while (*s2) - { - *s2 = TOLOWER (*s2); - s2++; - } - } -#endif - if (NO_PSEUDO_DOT || flag_m68k_mri) - { - /* The MRI assembler and the m88k use pseudo-ops - without a period. */ - pop = (pseudo_typeS *) hash_find (po_hash, s); - if (pop != NULL && pop->poc_handler == NULL) - pop = NULL; - } - - if (pop != NULL - || (!flag_m68k_mri && *s == '.')) - { - /* PSEUDO - OP. - - WARNING: c has next char, which may be end-of-line. - We lookup the pseudo-op table with s+1 because we - already know that the pseudo-op begins with a '.'. */ - - if (pop == NULL) - pop = (pseudo_typeS *) hash_find (po_hash, s + 1); - - /* In MRI mode, we may need to insert an - automatic alignment directive. What a hack - this is. */ - if (mri_pending_align - && (pop == NULL - || !((pop->poc_handler == cons - && pop->poc_val == 1) - || (pop->poc_handler == s_space - && pop->poc_val == 1) -#ifdef tc_conditional_pseudoop - || tc_conditional_pseudoop (pop) -#endif - || pop->poc_handler == s_if - || pop->poc_handler == s_ifdef - || pop->poc_handler == s_ifc - || pop->poc_handler == s_ifeqs - || pop->poc_handler == s_else - || pop->poc_handler == s_endif - || pop->poc_handler == s_globl - || pop->poc_handler == s_ignore))) - { - do_align (1, (char *) NULL, 0, 0); - mri_pending_align = 0; - - if (line_label != NULL) - { - symbol_set_frag (line_label, frag_now); - S_SET_VALUE (line_label, frag_now_fix ()); - } - } - - /* Print the error msg now, while we still can. */ - if (pop == NULL) - { - as_bad (_("unknown pseudo-op: `%s'"), s); - *input_line_pointer = c; - s_ignore (0); - continue; - } - - /* Put it back for error messages etc. */ - *input_line_pointer = c; - /* The following skip of whitespace is compulsory. - A well shaped space is sometimes all that separates - keyword from operands. */ - if (c == ' ' || c == '\t') - input_line_pointer++; - - /* Input_line is restored. - Input_line_pointer->1st non-blank char - after pseudo-operation. */ - (*pop->poc_handler) (pop->poc_val); - - /* If that was .end, just get out now. */ - if (pop->poc_handler == s_end) - goto quit; - } - else - { - int inquote = 0; -#ifdef QUOTES_IN_INSN - int inescape = 0; -#endif - - /* WARNING: c has char, which may be end-of-line. */ - /* Also: input_line_pointer->`\0` where c was. */ - *input_line_pointer = c; - while (!is_end_of_line[(unsigned char) *input_line_pointer] - || inquote -#ifdef TC_EOL_IN_INSN - || TC_EOL_IN_INSN (input_line_pointer) -#endif - ) - { - if (flag_m68k_mri && *input_line_pointer == '\'') - inquote = !inquote; -#ifdef QUOTES_IN_INSN - if (inescape) - inescape = 0; - else if (*input_line_pointer == '"') - inquote = !inquote; - else if (*input_line_pointer == '\\') - inescape = 1; -#endif - input_line_pointer++; - } - - c = *input_line_pointer; - *input_line_pointer = '\0'; - - generate_lineno_debug (); - - if (macro_defined) - { - sb out; - const char *err; - macro_entry *macro; - - if (check_macro (s, &out, '\0', &err, ¯o)) - { - if (err != NULL) - as_bad ("%s", err); - *input_line_pointer++ = c; - input_scrub_include_sb (&out, - input_line_pointer, 1); - sb_kill (&out); - buffer_limit = - input_scrub_next_buffer (&input_line_pointer); -#ifdef md_macro_info - md_macro_info (macro); -#endif - continue; - } - } - - if (mri_pending_align) - { - do_align (1, (char *) NULL, 0, 0); - mri_pending_align = 0; - if (line_label != NULL) - { - symbol_set_frag (line_label, frag_now); - S_SET_VALUE (line_label, frag_now_fix ()); - } - } - - md_assemble (s); /* Assemble 1 instruction. */ - - *input_line_pointer++ = c; - - /* We resume loop AFTER the end-of-line from - this instruction. */ - } - } - continue; - } - - /* Empty statement? */ - if (is_end_of_line[(unsigned char) c]) - continue; - - if ((LOCAL_LABELS_DOLLAR || LOCAL_LABELS_FB) && ISDIGIT (c)) - { - /* local label ("4:") */ - char *backup = input_line_pointer; - - HANDLE_CONDITIONAL_ASSEMBLY (); - - temp = c - '0'; - - /* Read the whole number. */ - while (ISDIGIT (*input_line_pointer)) - { - temp = (temp * 10) + *input_line_pointer - '0'; - ++input_line_pointer; - } - - if (LOCAL_LABELS_DOLLAR - && *input_line_pointer == '$' - && *(input_line_pointer + 1) == ':') - { - input_line_pointer += 2; - - if (dollar_label_defined (temp)) - { - as_fatal (_("label \"%d$\" redefined"), temp); - } - - define_dollar_label (temp); - colon (dollar_label_name (temp, 0)); - continue; - } - - if (LOCAL_LABELS_FB - && *input_line_pointer++ == ':') - { - fb_label_instance_inc (temp); - colon (fb_label_name (temp, 0)); - continue; - } - - input_line_pointer = backup; - } /* local label ("4:") */ - - if (c && strchr (line_comment_chars, c)) - { /* Its a comment. Better say APP or NO_APP. */ - char *ends; - char *new_buf; - char *new_tmp; - unsigned int new_length; - char *tmp_buf = 0; - - bump_line_counters (); - s = input_line_pointer; - if (strncmp (s, "APP\n", 4)) - continue; /* We ignore it */ - s += 4; - - ends = strstr (s, "#NO_APP\n"); - - if (!ends) - { - unsigned int tmp_len; - unsigned int num; - - /* The end of the #APP wasn't in this buffer. We - keep reading in buffers until we find the #NO_APP - that goes with this #APP There is one. The specs - guarentee it... */ - tmp_len = buffer_limit - s; - tmp_buf = xmalloc (tmp_len + 1); - memcpy (tmp_buf, s, tmp_len); - do - { - new_tmp = input_scrub_next_buffer (&buffer); - if (!new_tmp) - break; - else - buffer_limit = new_tmp; - input_line_pointer = buffer; - ends = strstr (buffer, "#NO_APP\n"); - if (ends) - num = ends - buffer; - else - num = buffer_limit - buffer; - - tmp_buf = xrealloc (tmp_buf, tmp_len + num); - memcpy (tmp_buf + tmp_len, buffer, num); - tmp_len += num; - } - while (!ends); - - input_line_pointer = ends ? ends + 8 : NULL; - - s = tmp_buf; - ends = s + tmp_len; - - } - else - { - input_line_pointer = ends + 8; - } - - scrub_string = s; - scrub_string_end = ends; - - new_length = ends - s; - new_buf = (char *) xmalloc (new_length); - new_tmp = new_buf; - for (;;) - { - int space; - int size; - - space = (new_buf + new_length) - new_tmp; - size = do_scrub_chars (scrub_from_string, new_tmp, space); - - if (size < space) - { - new_tmp += size; - break; - } - - new_buf = xrealloc (new_buf, new_length + 100); - new_tmp = new_buf + new_length; - new_length += 100; - } - - if (tmp_buf) - free (tmp_buf); - old_buffer = buffer; - old_input = input_line_pointer; - old_limit = buffer_limit; - buffer = new_buf; - input_line_pointer = new_buf; - buffer_limit = new_tmp; - - continue; - } - - HANDLE_CONDITIONAL_ASSEMBLY (); - -#ifdef tc_unrecognized_line - if (tc_unrecognized_line (c)) - continue; -#endif - input_line_pointer--; - /* Report unknown char as ignored. */ - ignore_rest_of_line (); - } - -#ifdef md_after_pass_hook - md_after_pass_hook (); -#endif - - if (old_buffer) - { - free (buffer); - bump_line_counters (); - if (old_input != 0) - { - buffer = old_buffer; - input_line_pointer = old_input; - buffer_limit = old_limit; - old_buffer = 0; - goto contin; - } - } - } - - quit: - -#ifdef md_cleanup - md_cleanup (); -#endif - /* Close the input file. */ - input_scrub_close (); -#ifdef WARN_COMMENTS - { - if (warn_comment && found_comment) - as_warn_where (found_comment_file, found_comment, - "first comment found here"); - } -#endif -} - -/* For most MRI pseudo-ops, the line actually ends at the first - nonquoted space. This function looks for that point, stuffs a null - in, and sets *STOPCP to the character that used to be there, and - returns the location. - - Until I hear otherwise, I am going to assume that this is only true - for the m68k MRI assembler. */ - -char * -mri_comment_field (stopcp) - char *stopcp; -{ - char *s; -#ifdef TC_M68K - int inquote = 0; - - know (flag_m68k_mri); - - for (s = input_line_pointer; - ((!is_end_of_line[(unsigned char) *s] && *s != ' ' && *s != '\t') - || inquote); - s++) - { - if (*s == '\'') - inquote = !inquote; - } -#else - for (s = input_line_pointer; - !is_end_of_line[(unsigned char) *s]; - s++) - ; -#endif - *stopcp = *s; - *s = '\0'; - - return s; -} - -/* Skip to the end of an MRI comment field. */ - -void -mri_comment_end (stop, stopc) - char *stop; - int stopc; -{ - know (flag_mri); - - input_line_pointer = stop; - *stop = stopc; - while (!is_end_of_line[(unsigned char) *input_line_pointer]) - ++input_line_pointer; -} - -void -s_abort (ignore) - int ignore ATTRIBUTE_UNUSED; -{ - as_fatal (_(".abort detected. Abandoning ship.")); -} - -/* Guts of .align directive. N is the power of two to which to align. - FILL may be NULL, or it may point to the bytes of the fill pattern. - LEN is the length of whatever FILL points to, if anything. MAX is - the maximum number of characters to skip when doing the alignment, - or 0 if there is no maximum. */ - -static void -do_align (n, fill, len, max) - int n; - char *fill; - int len; - int max; -{ - if (now_seg == absolute_section) - { - if (fill != NULL) - while (len-- > 0) - if (*fill++ != '\0') - { - as_warn (_("ignoring fill value in absolute section")); - break; - } - fill = NULL; - len = 0; - } - -#ifdef md_do_align - md_do_align (n, fill, len, max, just_record_alignment); -#endif - - /* Only make a frag if we HAVE to... */ - if (n != 0 && !need_pass_2) - { - if (fill == NULL) - { - if (subseg_text_p (now_seg)) - frag_align_code (n, max); - else - frag_align (n, 0, max); - } - else if (len <= 1) - frag_align (n, *fill, max); - else - frag_align_pattern (n, fill, len, max); - } - -#ifdef md_do_align - just_record_alignment: ATTRIBUTE_UNUSED_LABEL -#endif - - record_alignment (now_seg, n - OCTETS_PER_BYTE_POWER); -} - -/* Handle the .align pseudo-op. A positive ARG is a default alignment - (in bytes). A negative ARG is the negative of the length of the - fill pattern. BYTES_P is non-zero if the alignment value should be - interpreted as the byte boundary, rather than the power of 2. */ - -static void -s_align (arg, bytes_p) - int arg; - int bytes_p; -{ - register unsigned int align; - char *stop = NULL; - char stopc; - offsetT fill = 0; - int max; - int fill_p; - - if (flag_mri) - stop = mri_comment_field (&stopc); - - if (is_end_of_line[(unsigned char) *input_line_pointer]) - { - if (arg < 0) - align = 0; - else - align = arg; /* Default value from pseudo-op table. */ - } - else - { - align = get_absolute_expression (); - SKIP_WHITESPACE (); - } - - if (bytes_p) - { - /* Convert to a power of 2. */ - if (align != 0) - { - unsigned int i; - - for (i = 0; (align & 1) == 0; align >>= 1, ++i) - ; - if (align != 1) - as_bad (_("alignment not a power of 2")); - - align = i; - } - } - - if (align > 15) - { - align = 15; - as_warn (_("alignment too large: %u assumed"), align); - } - - if (*input_line_pointer != ',') - { - fill_p = 0; - max = 0; - } - else - { - ++input_line_pointer; - if (*input_line_pointer == ',') - fill_p = 0; - else - { - fill = get_absolute_expression (); - SKIP_WHITESPACE (); - fill_p = 1; - } - - if (*input_line_pointer != ',') - max = 0; - else - { - ++input_line_pointer; - max = get_absolute_expression (); - } - } - - if (!fill_p) - { - if (arg < 0) - as_warn (_("expected fill pattern missing")); - do_align (align, (char *) NULL, 0, max); - } - else - { - int fill_len; - - if (arg >= 0) - fill_len = 1; - else - fill_len = -arg; - if (fill_len <= 1) - { - char fill_char; - - fill_char = fill; - do_align (align, &fill_char, fill_len, max); - } - else - { - char ab[16]; - - if ((size_t) fill_len > sizeof ab) - abort (); - md_number_to_chars (ab, fill, fill_len); - do_align (align, ab, fill_len, max); - } - } - - demand_empty_rest_of_line (); - - if (flag_mri) - mri_comment_end (stop, stopc); -} - -/* Handle the .align pseudo-op on machines where ".align 4" means - align to a 4 byte boundary. */ - -void -s_align_bytes (arg) - int arg; -{ - s_align (arg, 1); -} - -/* Handle the .align pseudo-op on machines where ".align 4" means align - to a 2**4 boundary. */ - -void -s_align_ptwo (arg) - int arg; -{ - s_align (arg, 0); -} - -void -s_comm (ignore) - int ignore ATTRIBUTE_UNUSED; -{ - register char *name; - register char c; - register char *p; - offsetT temp; - register symbolS *symbolP; - char *stop = NULL; - char stopc; - - if (flag_mri) - stop = mri_comment_field (&stopc); - - name = input_line_pointer; - c = get_symbol_end (); - /* Just after name is now '\0'. */ - p = input_line_pointer; - *p = c; - - if (name == p) - { - as_bad (_("expected symbol name")); - discard_rest_of_line (); - return; - } - - SKIP_WHITESPACE (); - - if (*input_line_pointer != ',') - { - *p = 0; - as_bad (_("expected comma after \"%s\""), name); - *p = c; - ignore_rest_of_line (); - if (flag_mri) - mri_comment_end (stop, stopc); - return; - } - - input_line_pointer++; /* skip ',' */ - - if ((temp = get_absolute_expression ()) < 0) - { - as_warn (_(".COMMon length (%ld) < 0 ignored"), (long) temp); - ignore_rest_of_line (); - if (flag_mri) - mri_comment_end (stop, stopc); - return; - } - - *p = 0; - symbolP = symbol_find_or_make (name); - *p = c; - - if (S_IS_DEFINED (symbolP) && !S_IS_COMMON (symbolP)) - { - as_bad (_("symbol `%s' is already defined"), - S_GET_NAME (symbolP)); - ignore_rest_of_line (); - if (flag_mri) - mri_comment_end (stop, stopc); - return; - } - - if (S_GET_VALUE (symbolP)) - { - if (S_GET_VALUE (symbolP) != (valueT) temp) - as_bad (_("length of .comm \"%s\" is already %ld; not changing to %ld"), - S_GET_NAME (symbolP), - (long) S_GET_VALUE (symbolP), - (long) temp); - } - else - { - S_SET_VALUE (symbolP, (valueT) temp); - S_SET_EXTERNAL (symbolP); - } -#ifdef OBJ_VMS - { - extern int flag_one; - if (!temp || !flag_one) - S_GET_OTHER(symbolP) = const_flag; - } -#endif /* not OBJ_VMS */ - know (symbolP->sy_frag == &zero_address_frag); - - demand_empty_rest_of_line (); - - if (flag_mri) - mri_comment_end (stop, stopc); -} /* s_comm() */ - -/* The MRI COMMON pseudo-op. We handle this by creating a common - symbol with the appropriate name. We make s_space do the right - thing by increasing the size. */ - -void -s_mri_common (small) - int small ATTRIBUTE_UNUSED; -{ - char *name; - char c; - char *alc = NULL; - symbolS *sym; - offsetT align; - char *stop = NULL; - char stopc; - - if (!flag_mri) - { - s_comm (0); - return; - } - - stop = mri_comment_field (&stopc); - - SKIP_WHITESPACE (); - - name = input_line_pointer; - if (!ISDIGIT (*name)) - c = get_symbol_end (); - else - { - do - { - ++input_line_pointer; - } - while (ISDIGIT (*input_line_pointer)); - - c = *input_line_pointer; - *input_line_pointer = '\0'; - - if (line_label != NULL) - { - alc = (char *) xmalloc (strlen (S_GET_NAME (line_label)) - + (input_line_pointer - name) - + 1); - sprintf (alc, "%s%s", name, S_GET_NAME (line_label)); - name = alc; - } - } - - sym = symbol_find_or_make (name); - *input_line_pointer = c; - if (alc != NULL) - free (alc); - - if (*input_line_pointer != ',') - align = 0; - else - { - ++input_line_pointer; - align = get_absolute_expression (); - } - - if (S_IS_DEFINED (sym) && !S_IS_COMMON (sym)) - { - as_bad (_("symbol `%s' is already defined"), S_GET_NAME (sym)); - ignore_rest_of_line (); - mri_comment_end (stop, stopc); - return; - } - - S_SET_EXTERNAL (sym); - mri_common_symbol = sym; - -#ifdef S_SET_ALIGN - if (align != 0) - S_SET_ALIGN (sym, align); -#endif - - if (line_label != NULL) - { - expressionS exp; - exp.X_op = O_symbol; - exp.X_add_symbol = sym; - exp.X_add_number = 0; - symbol_set_value_expression (line_label, &exp); - symbol_set_frag (line_label, &zero_address_frag); - S_SET_SEGMENT (line_label, expr_section); - } - - /* FIXME: We just ignore the small argument, which distinguishes - COMMON and COMMON.S. I don't know what we can do about it. */ - - /* Ignore the type and hptype. */ - if (*input_line_pointer == ',') - input_line_pointer += 2; - if (*input_line_pointer == ',') - input_line_pointer += 2; - - demand_empty_rest_of_line (); - - mri_comment_end (stop, stopc); -} - -void -s_data (ignore) - int ignore ATTRIBUTE_UNUSED; -{ - segT section; - register int temp; - - temp = get_absolute_expression (); - if (flag_readonly_data_in_text) - { - section = text_section; - temp += 1000; - } - else - section = data_section; - - subseg_set (section, (subsegT) temp); - -#ifdef OBJ_VMS - const_flag = 0; -#endif - demand_empty_rest_of_line (); -} - -/* Handle the .appfile pseudo-op. This is automatically generated by - do_scrub_chars when a preprocessor # line comment is seen with a - file name. This default definition may be overridden by the object - or CPU specific pseudo-ops. This function is also the default - definition for .file; the APPFILE argument is 1 for .appfile, 0 for - .file. */ - -void -s_app_file_string (file) - char *file; -{ -#ifdef LISTING - if (listing) - listing_source_file (file); -#endif - register_dependency (file); -#ifdef obj_app_file - obj_app_file (file); -#endif -} - -void -s_app_file (appfile) - int appfile; -{ - register char *s; - int length; - - /* Some assemblers tolerate immediately following '"'. */ - if ((s = demand_copy_string (&length)) != 0) - { - /* If this is a fake .appfile, a fake newline was inserted into - the buffer. Passing -2 to new_logical_line tells it to - account for it. */ - int may_omit - = (!new_logical_line (s, appfile ? -2 : -1) && appfile); - - /* In MRI mode, the preprocessor may have inserted an extraneous - backquote. */ - if (flag_m68k_mri - && *input_line_pointer == '\'' - && is_end_of_line[(unsigned char) input_line_pointer[1]]) - ++input_line_pointer; - - demand_empty_rest_of_line (); - if (!may_omit) - s_app_file_string (s); - } -} - -/* Handle the .appline pseudo-op. This is automatically generated by - do_scrub_chars when a preprocessor # line comment is seen. This - default definition may be overridden by the object or CPU specific - pseudo-ops. */ - -void -s_app_line (ignore) - int ignore ATTRIBUTE_UNUSED; -{ - int l; - - /* The given number is that of the next line. */ - l = get_absolute_expression () - 1; - if (l < 0) - /* Some of the back ends can't deal with non-positive line numbers. - Besides, it's silly. */ - as_warn (_("line numbers must be positive; line number %d rejected"), - l + 1); - else - { - new_logical_line ((char *) NULL, l); -#ifdef LISTING - if (listing) - listing_source_line (l); -#endif - } - demand_empty_rest_of_line (); -} - -/* Handle the .end pseudo-op. Actually, the real work is done in - read_a_source_file. */ - -void -s_end (ignore) - int ignore ATTRIBUTE_UNUSED; -{ - if (flag_mri) - { - /* The MRI assembler permits the start symbol to follow .end, - but we don't support that. */ - SKIP_WHITESPACE (); - if (!is_end_of_line[(unsigned char) *input_line_pointer] - && *input_line_pointer != '*' - && *input_line_pointer != '!') - as_warn (_("start address not supported")); - } -} - -/* Handle the .err pseudo-op. */ - -void -s_err (ignore) - int ignore ATTRIBUTE_UNUSED; -{ - as_bad (_(".err encountered")); - demand_empty_rest_of_line (); -} - -/* Handle the MRI fail pseudo-op. */ - -void -s_fail (ignore) - int ignore ATTRIBUTE_UNUSED; -{ - offsetT temp; - char *stop = NULL; - char stopc; - - if (flag_mri) - stop = mri_comment_field (&stopc); - - temp = get_absolute_expression (); - if (temp >= 500) - as_warn (_(".fail %ld encountered"), (long) temp); - else - as_bad (_(".fail %ld encountered"), (long) temp); - - demand_empty_rest_of_line (); - - if (flag_mri) - mri_comment_end (stop, stopc); -} - -void -s_fill (ignore) - int ignore ATTRIBUTE_UNUSED; -{ - expressionS rep_exp; - long size = 1; - register long fill = 0; - char *p; - -#ifdef md_flush_pending_output - md_flush_pending_output (); -#endif - - get_known_segmented_expression (&rep_exp); - if (*input_line_pointer == ',') - { - input_line_pointer++; - size = get_absolute_expression (); - if (*input_line_pointer == ',') - { - input_line_pointer++; - fill = get_absolute_expression (); - } - } - - /* This is to be compatible with BSD 4.2 AS, not for any rational reason. */ -#define BSD_FILL_SIZE_CROCK_8 (8) - if (size > BSD_FILL_SIZE_CROCK_8) - { - as_warn (_(".fill size clamped to %d"), BSD_FILL_SIZE_CROCK_8); - size = BSD_FILL_SIZE_CROCK_8; - } - if (size < 0) - { - as_warn (_("size negative; .fill ignored")); - size = 0; - } - else if (rep_exp.X_op == O_constant && rep_exp.X_add_number <= 0) - { - if (rep_exp.X_add_number < 0) - as_warn (_("repeat < 0; .fill ignored")); - size = 0; - } - - if (size && !need_pass_2) - { - if (rep_exp.X_op == O_constant) - { - p = frag_var (rs_fill, (int) size, (int) size, - (relax_substateT) 0, (symbolS *) 0, - (offsetT) rep_exp.X_add_number, - (char *) 0); - } - else - { - /* We don't have a constant repeat count, so we can't use - rs_fill. We can get the same results out of rs_space, - but its argument is in bytes, so we must multiply the - repeat count by size. */ - - symbolS *rep_sym; - rep_sym = make_expr_symbol (&rep_exp); - if (size != 1) - { - expressionS size_exp; - size_exp.X_op = O_constant; - size_exp.X_add_number = size; - - rep_exp.X_op = O_multiply; - rep_exp.X_add_symbol = rep_sym; - rep_exp.X_op_symbol = make_expr_symbol (&size_exp); - rep_exp.X_add_number = 0; - rep_sym = make_expr_symbol (&rep_exp); - } - - p = frag_var (rs_space, (int) size, (int) size, - (relax_substateT) 0, rep_sym, (offsetT) 0, (char *) 0); - } - - memset (p, 0, (unsigned int) size); - - /* The magic number BSD_FILL_SIZE_CROCK_4 is from BSD 4.2 VAX - flavoured AS. The following bizarre behaviour is to be - compatible with above. I guess they tried to take up to 8 - bytes from a 4-byte expression and they forgot to sign - extend. */ -#define BSD_FILL_SIZE_CROCK_4 (4) - md_number_to_chars (p, (valueT) fill, - (size > BSD_FILL_SIZE_CROCK_4 - ? BSD_FILL_SIZE_CROCK_4 - : (int) size)); - /* Note: .fill (),0 emits no frag (since we are asked to .fill 0 bytes) - but emits no error message because it seems a legal thing to do. - It is a degenerate case of .fill but could be emitted by a - compiler. */ - } - demand_empty_rest_of_line (); -} - -void -s_globl (ignore) - int ignore ATTRIBUTE_UNUSED; -{ - char *name; - int c; - symbolS *symbolP; - char *stop = NULL; - char stopc; - - if (flag_mri) - stop = mri_comment_field (&stopc); - - do - { - name = input_line_pointer; - c = get_symbol_end (); - symbolP = symbol_find_or_make (name); - S_SET_EXTERNAL (symbolP); - - *input_line_pointer = c; - SKIP_WHITESPACE (); - c = *input_line_pointer; - if (c == ',') - { - input_line_pointer++; - SKIP_WHITESPACE (); - if (is_end_of_line[(unsigned char) *input_line_pointer]) - c = '\n'; - } - } - while (c == ','); - - demand_empty_rest_of_line (); - - if (flag_mri) - mri_comment_end (stop, stopc); -} - -/* Handle the MRI IRP and IRPC pseudo-ops. */ - -void -s_irp (irpc) - int irpc; -{ - char *file; - unsigned int line; - sb s; - const char *err; - sb out; - - as_where (&file, &line); - - sb_new (&s); - while (!is_end_of_line[(unsigned char) *input_line_pointer]) - sb_add_char (&s, *input_line_pointer++); - - sb_new (&out); - - err = expand_irp (irpc, 0, &s, &out, get_line_sb, '\0'); - if (err != NULL) - as_bad_where (file, line, "%s", err); - - sb_kill (&s); - - input_scrub_include_sb (&out, input_line_pointer, 1); - sb_kill (&out); - buffer_limit = input_scrub_next_buffer (&input_line_pointer); -} - -/* Handle the .linkonce pseudo-op. This tells the assembler to mark - the section to only be linked once. However, this is not supported - by most object file formats. This takes an optional argument, - which is what to do about duplicates. */ - -void -s_linkonce (ignore) - int ignore ATTRIBUTE_UNUSED; -{ - enum linkonce_type type; - - SKIP_WHITESPACE (); - - type = LINKONCE_DISCARD; - - if (!is_end_of_line[(unsigned char) *input_line_pointer]) - { - char *s; - char c; - - s = input_line_pointer; - c = get_symbol_end (); - if (strcasecmp (s, "discard") == 0) - type = LINKONCE_DISCARD; - else if (strcasecmp (s, "one_only") == 0) - type = LINKONCE_ONE_ONLY; - else if (strcasecmp (s, "same_size") == 0) - type = LINKONCE_SAME_SIZE; - else if (strcasecmp (s, "same_contents") == 0) - type = LINKONCE_SAME_CONTENTS; - else - as_warn (_("unrecognized .linkonce type `%s'"), s); - - *input_line_pointer = c; - } - -#ifdef obj_handle_link_once - obj_handle_link_once (type); -#else /* ! defined (obj_handle_link_once) */ -#ifdef BFD_ASSEMBLER - { - flagword flags; - - if ((bfd_applicable_section_flags (stdoutput) & SEC_LINK_ONCE) == 0) - as_warn (_(".linkonce is not supported for this object file format")); - - flags = bfd_get_section_flags (stdoutput, now_seg); - flags |= SEC_LINK_ONCE; - switch (type) - { - default: - abort (); - case LINKONCE_DISCARD: - flags |= SEC_LINK_DUPLICATES_DISCARD; - break; - case LINKONCE_ONE_ONLY: - flags |= SEC_LINK_DUPLICATES_ONE_ONLY; - break; - case LINKONCE_SAME_SIZE: - flags |= SEC_LINK_DUPLICATES_SAME_SIZE; - break; - case LINKONCE_SAME_CONTENTS: - flags |= SEC_LINK_DUPLICATES_SAME_CONTENTS; - break; - } - if (!bfd_set_section_flags (stdoutput, now_seg, flags)) - as_bad (_("bfd_set_section_flags: %s"), - bfd_errmsg (bfd_get_error ())); - } -#else /* ! defined (BFD_ASSEMBLER) */ - as_warn (_(".linkonce is not supported for this object file format")); -#endif /* ! defined (BFD_ASSEMBLER) */ -#endif /* ! defined (obj_handle_link_once) */ - - demand_empty_rest_of_line (); -} - -static void -s_lcomm_internal (needs_align, bytes_p) - /* 1 if this was a ".bss" directive, which may require a 3rd argument - (alignment); 0 if it was an ".lcomm" (2 args only). */ - int needs_align; - /* 1 if the alignment value should be interpreted as the byte boundary, - rather than the power of 2. */ - int bytes_p; -{ - register char *name; - register char c; - register char *p; - register int temp; - register symbolS *symbolP; - segT current_seg = now_seg; - subsegT current_subseg = now_subseg; - const int max_alignment = 15; - int align = 0; - segT bss_seg = bss_section; - - name = input_line_pointer; - c = get_symbol_end (); - p = input_line_pointer; - *p = c; - - if (name == p) - { - as_bad (_("expected symbol name")); - discard_rest_of_line (); - return; - } - - SKIP_WHITESPACE (); - - /* Accept an optional comma after the name. The comma used to be - required, but Irix 5 cc does not generate it. */ - if (*input_line_pointer == ',') - { - ++input_line_pointer; - SKIP_WHITESPACE (); - } - - if (is_end_of_line[(unsigned char) *input_line_pointer]) - { - as_bad (_("missing size expression")); - return; - } - - if ((temp = get_absolute_expression ()) < 0) - { - as_warn (_("BSS length (%d) < 0 ignored"), temp); - ignore_rest_of_line (); - return; - } - -#if defined (TC_MIPS) || defined (TC_ALPHA) - if (OUTPUT_FLAVOR == bfd_target_ecoff_flavour - || OUTPUT_FLAVOR == bfd_target_elf_flavour) - { - /* For MIPS and Alpha ECOFF or ELF, small objects are put in .sbss. */ - if ((unsigned) temp <= bfd_get_gp_size (stdoutput)) - { - bss_seg = subseg_new (".sbss", 1); - seg_info (bss_seg)->bss = 1; -#ifdef BFD_ASSEMBLER - if (!bfd_set_section_flags (stdoutput, bss_seg, SEC_ALLOC)) - as_warn (_("error setting flags for \".sbss\": %s"), - bfd_errmsg (bfd_get_error ())); -#endif - } - } -#endif - - if (!needs_align) - { - TC_IMPLICIT_LCOMM_ALIGNMENT (temp, align); - - /* Still zero unless TC_IMPLICIT_LCOMM_ALIGNMENT set it. */ - if (align) - record_alignment (bss_seg, align); - } - - if (needs_align) - { - align = 0; - SKIP_WHITESPACE (); - - if (*input_line_pointer != ',') - { - as_bad (_("expected comma after size")); - ignore_rest_of_line (); - return; - } - - input_line_pointer++; - SKIP_WHITESPACE (); - - if (is_end_of_line[(unsigned char) *input_line_pointer]) - { - as_bad (_("missing alignment")); - return; - } - - align = get_absolute_expression (); - - if (bytes_p) - { - /* Convert to a power of 2. */ - if (align != 0) - { - unsigned int i; - - for (i = 0; (align & 1) == 0; align >>= 1, ++i) - ; - if (align != 1) - as_bad (_("alignment not a power of 2")); - align = i; - } - } - - if (align > max_alignment) - { - align = max_alignment; - as_warn (_("alignment too large; %d assumed"), align); - } - else if (align < 0) - { - align = 0; - as_warn (_("alignment negative; 0 assumed")); - } - - record_alignment (bss_seg, align); - } - else - { - /* Assume some objects may require alignment on some systems. */ -#if defined (TC_ALPHA) && ! defined (VMS) - if (temp > 1) - { - align = ffs (temp) - 1; - if (temp % (1 << align)) - abort (); - } -#endif - } - - *p = 0; - symbolP = symbol_find_or_make (name); - *p = c; - - if ( -#if (defined (OBJ_AOUT) || defined (OBJ_MAYBE_AOUT) \ - || defined (OBJ_BOUT) || defined (OBJ_MAYBE_BOUT)) -#ifdef BFD_ASSEMBLER - (OUTPUT_FLAVOR != bfd_target_aout_flavour - || (S_GET_OTHER (symbolP) == 0 && S_GET_DESC (symbolP) == 0)) && -#else - (S_GET_OTHER (symbolP) == 0 && S_GET_DESC (symbolP) == 0) && -#endif -#endif - (S_GET_SEGMENT (symbolP) == bss_seg - || (!S_IS_DEFINED (symbolP) && S_GET_VALUE (symbolP) == 0))) - { - char *pfrag; - - subseg_set (bss_seg, 1); - - if (align) - frag_align (align, 0, 0); - - /* Detach from old frag. */ - if (S_GET_SEGMENT (symbolP) == bss_seg) - symbol_get_frag (symbolP)->fr_symbol = NULL; - - symbol_set_frag (symbolP, frag_now); - pfrag = frag_var (rs_org, 1, 1, (relax_substateT) 0, symbolP, - (offsetT) temp, (char *) 0); - *pfrag = 0; - - S_SET_SEGMENT (symbolP, bss_seg); - -#ifdef OBJ_COFF - /* The symbol may already have been created with a preceding - ".globl" directive -- be careful not to step on storage class - in that case. Otherwise, set it to static. */ - if (S_GET_STORAGE_CLASS (symbolP) != C_EXT) - { - S_SET_STORAGE_CLASS (symbolP, C_STAT); - } -#endif /* OBJ_COFF */ - -#ifdef S_SET_SIZE - S_SET_SIZE (symbolP, temp); -#endif - } - else - as_bad (_("symbol `%s' is already defined"), S_GET_NAME (symbolP)); - - subseg_set (current_seg, current_subseg); - - demand_empty_rest_of_line (); -} - -void -s_lcomm (needs_align) - int needs_align; -{ - s_lcomm_internal (needs_align, 0); -} - -void -s_lcomm_bytes (needs_align) - int needs_align; -{ - s_lcomm_internal (needs_align, 1); -} - -void -s_lsym (ignore) - int ignore ATTRIBUTE_UNUSED; -{ - register char *name; - register char c; - register char *p; - expressionS exp; - register symbolS *symbolP; - - /* We permit ANY defined expression: BSD4.2 demands constants. */ - name = input_line_pointer; - c = get_symbol_end (); - p = input_line_pointer; - *p = c; - - if (name == p) - { - as_bad (_("expected symbol name")); - discard_rest_of_line (); - return; - } - - SKIP_WHITESPACE (); - - if (*input_line_pointer != ',') - { - *p = 0; - as_bad (_("expected comma after \"%s\""), name); - *p = c; - ignore_rest_of_line (); - return; - } - - input_line_pointer++; - expression (&exp); - - if (exp.X_op != O_constant - && exp.X_op != O_register) - { - as_bad (_("bad expression")); - ignore_rest_of_line (); - return; - } - - *p = 0; - symbolP = symbol_find_or_make (name); - - /* FIXME-SOON I pulled a (&& symbolP->sy_other == 0 && - symbolP->sy_desc == 0) out of this test because coff doesn't have - those fields, and I can't see when they'd ever be tripped. I - don't think I understand why they were here so I may have - introduced a bug. As recently as 1.37 didn't have this test - anyway. xoxorich. */ - - if (S_GET_SEGMENT (symbolP) == undefined_section - && S_GET_VALUE (symbolP) == 0) - { - /* The name might be an undefined .global symbol; be sure to - keep the "external" bit. */ - S_SET_SEGMENT (symbolP, - (exp.X_op == O_constant - ? absolute_section - : reg_section)); - S_SET_VALUE (symbolP, (valueT) exp.X_add_number); - } - else - { - as_bad (_("symbol `%s' is already defined"), name); - } - - *p = c; - demand_empty_rest_of_line (); -} - -/* Read a line into an sb. */ - -static int -get_line_sb (line) - sb *line; -{ - char quote1, quote2, inquote; - - if (input_line_pointer[-1] == '\n') - bump_line_counters (); - - if (input_line_pointer >= buffer_limit) - { - buffer_limit = input_scrub_next_buffer (&input_line_pointer); - if (buffer_limit == 0) - return 0; - } - - /* If app.c sets any other characters to LEX_IS_STRINGQUOTE, this - code needs to be changed. */ - if (!flag_m68k_mri) - quote1 = '"'; - else - quote1 = '\0'; - - quote2 = '\0'; - if (flag_m68k_mri) - quote2 = '\''; -#ifdef LEX_IS_STRINGQUOTE - quote2 = '\''; -#endif - - inquote = '\0'; - - while (!is_end_of_line[(unsigned char) *input_line_pointer] - || (inquote != '\0' && *input_line_pointer != '\n')) - { - if (inquote == *input_line_pointer) - inquote = '\0'; - else if (inquote == '\0') - { - if (*input_line_pointer == quote1) - inquote = quote1; - else if (*input_line_pointer == quote2) - inquote = quote2; - } - - sb_add_char (line, *input_line_pointer++); - } - - while (input_line_pointer < buffer_limit - && is_end_of_line[(unsigned char) *input_line_pointer]) - { - if (input_line_pointer[-1] == '\n') - bump_line_counters (); - ++input_line_pointer; - } - - return 1; -} - -/* Define a macro. This is an interface to macro.c, which is shared - between gas and gasp. */ - -void -s_macro (ignore) - int ignore ATTRIBUTE_UNUSED; -{ - char *file; - unsigned int line; - sb s; - sb label; - const char *err; - const char *name; - - as_where (&file, &line); - - sb_new (&s); - while (!is_end_of_line[(unsigned char) *input_line_pointer]) - sb_add_char (&s, *input_line_pointer++); - - sb_new (&label); - if (line_label != NULL) - sb_add_string (&label, S_GET_NAME (line_label)); - - err = define_macro (0, &s, &label, get_line_sb, &name); - if (err != NULL) - as_bad_where (file, line, "%s", err); - else - { - if (line_label != NULL) - { - S_SET_SEGMENT (line_label, undefined_section); - S_SET_VALUE (line_label, 0); - symbol_set_frag (line_label, &zero_address_frag); - } - - if (((NO_PSEUDO_DOT || flag_m68k_mri) - && hash_find (po_hash, name) != NULL) - || (!flag_m68k_mri - && *name == '.' - && hash_find (po_hash, name + 1) != NULL)) - as_warn (_("attempt to redefine pseudo-op `%s' ignored"), - name); - } - - sb_kill (&s); -} - -/* Handle the .mexit pseudo-op, which immediately exits a macro - expansion. */ - -void -s_mexit (ignore) - int ignore ATTRIBUTE_UNUSED; -{ - cond_exit_macro (macro_nest); - buffer_limit = input_scrub_next_buffer (&input_line_pointer); -} - -/* Switch in and out of MRI mode. */ - -void -s_mri (ignore) - int ignore ATTRIBUTE_UNUSED; -{ - int on, old_flag; - - on = get_absolute_expression (); - old_flag = flag_mri; - if (on != 0) - { - flag_mri = 1; -#ifdef TC_M68K - flag_m68k_mri = 1; -#endif - macro_mri_mode (1); - } - else - { - flag_mri = 0; -#ifdef TC_M68K - flag_m68k_mri = 0; -#endif - macro_mri_mode (0); - } - - /* Operator precedence changes in m68k MRI mode, so we need to - update the operator rankings. */ - expr_set_precedence (); - -#ifdef MRI_MODE_CHANGE - if (on != old_flag) - MRI_MODE_CHANGE (on); -#endif - - demand_empty_rest_of_line (); -} - -/* Handle changing the location counter. */ - -static void -do_org (segment, exp, fill) - segT segment; - expressionS *exp; - int fill; -{ - if (segment != now_seg && segment != absolute_section) - as_bad (_("invalid segment \"%s\""), segment_name (segment)); - - if (now_seg == absolute_section) - { - if (fill != 0) - as_warn (_("ignoring fill value in absolute section")); - if (exp->X_op != O_constant) - { - as_bad (_("only constant offsets supported in absolute section")); - exp->X_add_number = 0; - } - abs_section_offset = exp->X_add_number; - } - else - { - char *p; - symbolS *sym = exp->X_add_symbol; - offsetT off = exp->X_add_number * OCTETS_PER_BYTE; - - if (exp->X_op != O_constant && exp->X_op != O_symbol) - { - /* Handle complex expressions. */ - sym = make_expr_symbol (exp); - off = 0; - } - - p = frag_var (rs_org, 1, 1, (relax_substateT) 0, sym, off, (char *) 0); - *p = fill; - } -} - -void -s_org (ignore) - int ignore ATTRIBUTE_UNUSED; -{ - register segT segment; - expressionS exp; - register long temp_fill; - -#ifdef md_flush_pending_output - md_flush_pending_output (); -#endif - - /* The m68k MRI assembler has a different meaning for .org. It - means to create an absolute section at a given address. We can't - support that--use a linker script instead. */ - if (flag_m68k_mri) - { - as_bad (_("MRI style ORG pseudo-op not supported")); - ignore_rest_of_line (); - return; - } - - /* Don't believe the documentation of BSD 4.2 AS. There is no such - thing as a sub-segment-relative origin. Any absolute origin is - given a warning, then assumed to be segment-relative. Any - segmented origin expression ("foo+42") had better be in the right - segment or the .org is ignored. - - BSD 4.2 AS warns if you try to .org backwards. We cannot because - we never know sub-segment sizes when we are reading code. BSD - will crash trying to emit negative numbers of filler bytes in - certain .orgs. We don't crash, but see as-write for that code. - - Don't make frag if need_pass_2==1. */ - segment = get_known_segmented_expression (&exp); - if (*input_line_pointer == ',') - { - input_line_pointer++; - temp_fill = get_absolute_expression (); - } - else - temp_fill = 0; - - if (!need_pass_2) - do_org (segment, &exp, temp_fill); - - demand_empty_rest_of_line (); -} - -/* Handle parsing for the MRI SECT/SECTION pseudo-op. This should be - called by the obj-format routine which handles section changing - when in MRI mode. It will create a new section, and return it. It - will set *TYPE to the section type: one of 'C' (code), 'D' (data), - 'M' (mixed), or 'R' (romable). If BFD_ASSEMBLER is defined, the - flags will be set in the section. */ - -void -s_mri_sect (type) - char *type ATTRIBUTE_UNUSED; -{ -#ifdef TC_M68K - - char *name; - char c; - segT seg; - - SKIP_WHITESPACE (); - - name = input_line_pointer; - if (!ISDIGIT (*name)) - c = get_symbol_end (); - else - { - do - { - ++input_line_pointer; - } - while (ISDIGIT (*input_line_pointer)); - - c = *input_line_pointer; - *input_line_pointer = '\0'; - } - - name = xstrdup (name); - - *input_line_pointer = c; - - seg = subseg_new (name, 0); - - if (*input_line_pointer == ',') - { - int align; - - ++input_line_pointer; - align = get_absolute_expression (); - record_alignment (seg, align); - } - - *type = 'C'; - if (*input_line_pointer == ',') - { - c = *++input_line_pointer; - c = TOUPPER (c); - if (c == 'C' || c == 'D' || c == 'M' || c == 'R') - *type = c; - else - as_bad (_("unrecognized section type")); - ++input_line_pointer; - -#ifdef BFD_ASSEMBLER - { - flagword flags; - - flags = SEC_NO_FLAGS; - if (*type == 'C') - flags = SEC_ALLOC | SEC_LOAD | SEC_READONLY | SEC_CODE; - else if (*type == 'D' || *type == 'M') - flags = SEC_ALLOC | SEC_LOAD | SEC_DATA; - else if (*type == 'R') - flags = SEC_ALLOC | SEC_LOAD | SEC_DATA | SEC_READONLY | SEC_ROM; - if (flags != SEC_NO_FLAGS) - { - if (!bfd_set_section_flags (stdoutput, seg, flags)) - as_warn (_("error setting flags for \"%s\": %s"), - bfd_section_name (stdoutput, seg), - bfd_errmsg (bfd_get_error ())); - } - } -#endif - } - - /* Ignore the HP type. */ - if (*input_line_pointer == ',') - input_line_pointer += 2; - - demand_empty_rest_of_line (); - -#else /* ! TC_M68K */ -#ifdef TC_I960 - - char *name; - char c; - segT seg; - - SKIP_WHITESPACE (); - - name = input_line_pointer; - c = get_symbol_end (); - - name = xstrdup (name); - - *input_line_pointer = c; - - seg = subseg_new (name, 0); - - if (*input_line_pointer != ',') - *type = 'C'; - else - { - char *sectype; - - ++input_line_pointer; - SKIP_WHITESPACE (); - sectype = input_line_pointer; - c = get_symbol_end (); - if (*sectype == '\0') - *type = 'C'; - else if (strcasecmp (sectype, "text") == 0) - *type = 'C'; - else if (strcasecmp (sectype, "data") == 0) - *type = 'D'; - else if (strcasecmp (sectype, "romdata") == 0) - *type = 'R'; - else - as_warn (_("unrecognized section type `%s'"), sectype); - *input_line_pointer = c; - } - - if (*input_line_pointer == ',') - { - char *seccmd; - - ++input_line_pointer; - SKIP_WHITESPACE (); - seccmd = input_line_pointer; - c = get_symbol_end (); - if (strcasecmp (seccmd, "absolute") == 0) - { - as_bad (_("absolute sections are not supported")); - *input_line_pointer = c; - ignore_rest_of_line (); - return; - } - else if (strcasecmp (seccmd, "align") == 0) - { - int align; - - *input_line_pointer = c; - align = get_absolute_expression (); - record_alignment (seg, align); - } - else - { - as_warn (_("unrecognized section command `%s'"), seccmd); - *input_line_pointer = c; - } - } - - demand_empty_rest_of_line (); - -#else /* ! TC_I960 */ - /* The MRI assembler seems to use different forms of .sect for - different targets. */ - as_bad ("MRI mode not supported for this target"); - ignore_rest_of_line (); -#endif /* ! TC_I960 */ -#endif /* ! TC_M68K */ -} - -/* Handle the .print pseudo-op. */ - -void -s_print (ignore) - int ignore ATTRIBUTE_UNUSED; -{ - char *s; - int len; - - s = demand_copy_C_string (&len); - printf ("%s\n", s); - demand_empty_rest_of_line (); -} - -/* Handle the .purgem pseudo-op. */ - -void -s_purgem (ignore) - int ignore ATTRIBUTE_UNUSED; -{ - if (is_it_end_of_statement ()) - { - demand_empty_rest_of_line (); - return; - } - - do - { - char *name; - char c; - - SKIP_WHITESPACE (); - name = input_line_pointer; - c = get_symbol_end (); - delete_macro (name); - *input_line_pointer = c; - SKIP_WHITESPACE (); - } - while (*input_line_pointer++ == ','); - - --input_line_pointer; - demand_empty_rest_of_line (); -} - -/* Handle the .rept pseudo-op. */ - -void -s_bad_endr (ignore) - int ignore ATTRIBUTE_UNUSED; -{ - as_warn (_(".endr encountered without preceeding .rept, .irc, or .irp")); - demand_empty_rest_of_line (); -} - -/* Handle the .rept pseudo-op. */ - -void -s_rept (ignore) - int ignore ATTRIBUTE_UNUSED; -{ - int count; - - count = get_absolute_expression (); - - do_repeat (count, "REPT", "ENDR"); -} - -/* This function provides a generic repeat block implementation. It allows - different directives to be used as the start/end keys. */ - -void -do_repeat (count, start, end) - int count; - const char *start; - const char *end; -{ - sb one; - sb many; - - sb_new (&one); - if (!buffer_and_nest (start, end, &one, get_line_sb)) - { - as_bad (_("%s without %s"), start, end); - return; - } - - sb_new (&many); - while (count-- > 0) - sb_add_sb (&many, &one); - - sb_kill (&one); - - input_scrub_include_sb (&many, input_line_pointer, 1); - sb_kill (&many); - buffer_limit = input_scrub_next_buffer (&input_line_pointer); -} - -/* Skip to end of current repeat loop; EXTRA indicates how many additional - input buffers to skip. Assumes that conditionals preceding the loop end - are properly nested. - - This function makes it easier to implement a premature "break" out of the - loop. The EXTRA arg accounts for other buffers we might have inserted, - such as line substitutions. */ - -void -end_repeat (extra) - int extra; -{ - cond_exit_macro (macro_nest); - while (extra-- >= 0) - buffer_limit = input_scrub_next_buffer (&input_line_pointer); -} - -/* Handle the .equ, .equiv and .set directives. If EQUIV is 1, then - this is .equiv, and it is an error if the symbol is already - defined. */ - -void -s_set (equiv) - int equiv; -{ - register char *name; - register char delim; - register char *end_name; - register symbolS *symbolP; - - /* Especial apologies for the random logic: - this just grew, and could be parsed much more simply! - Dean in haste. */ - name = input_line_pointer; - delim = get_symbol_end (); - end_name = input_line_pointer; - *end_name = delim; - - if (name == end_name) - { - as_bad (_("expected symbol name")); - discard_rest_of_line (); - return; - } - - SKIP_WHITESPACE (); - - if (*input_line_pointer != ',') - { - *end_name = 0; - as_bad (_("expected comma after \"%s\""), name); - *end_name = delim; - ignore_rest_of_line (); - return; - } - - input_line_pointer++; - *end_name = 0; - - if (name[0] == '.' && name[1] == '\0') - { - /* Turn '. = mumble' into a .org mumble. */ - register segT segment; - expressionS exp; - - segment = get_known_segmented_expression (&exp); - - if (!need_pass_2) - do_org (segment, &exp, 0); - - *end_name = delim; - return; - } - - if ((symbolP = symbol_find (name)) == NULL - && (symbolP = md_undefined_symbol (name)) == NULL) - { -#ifndef NO_LISTING - /* When doing symbol listings, play games with dummy fragments living - outside the normal fragment chain to record the file and line info - for this symbol. */ - if (listing & LISTING_SYMBOLS) - { - extern struct list_info_struct *listing_tail; - fragS *dummy_frag = (fragS *) xmalloc (sizeof (fragS)); - memset (dummy_frag, 0, sizeof (fragS)); - dummy_frag->fr_type = rs_fill; - dummy_frag->line = listing_tail; - symbolP = symbol_new (name, undefined_section, 0, dummy_frag); - dummy_frag->fr_symbol = symbolP; - } - else -#endif - symbolP = symbol_new (name, undefined_section, 0, &zero_address_frag); - -#ifdef OBJ_COFF - /* "set" symbols are local unless otherwise specified. */ - SF_SET_LOCAL (symbolP); -#endif /* OBJ_COFF */ - } - - symbol_table_insert (symbolP); - - *end_name = delim; - - if (equiv - && S_IS_DEFINED (symbolP) - && S_GET_SEGMENT (symbolP) != reg_section) - as_bad (_("symbol `%s' is already defined"), S_GET_NAME (symbolP)); - - pseudo_set (symbolP); - demand_empty_rest_of_line (); -} - -void -s_space (mult) - int mult; -{ - expressionS exp; - expressionS val; - char *p = 0; - char *stop = NULL; - char stopc; - int bytes; - -#ifdef md_flush_pending_output - md_flush_pending_output (); -#endif - - if (flag_mri) - stop = mri_comment_field (&stopc); - - /* In m68k MRI mode, we need to align to a word boundary, unless - this is ds.b. */ - if (flag_m68k_mri && mult > 1) - { - if (now_seg == absolute_section) - { - abs_section_offset += abs_section_offset & 1; - if (line_label != NULL) - S_SET_VALUE (line_label, abs_section_offset); - } - else if (mri_common_symbol != NULL) - { - valueT val; - - val = S_GET_VALUE (mri_common_symbol); - if ((val & 1) != 0) - { - S_SET_VALUE (mri_common_symbol, val + 1); - if (line_label != NULL) - { - expressionS *symexp; - - symexp = symbol_get_value_expression (line_label); - know (symexp->X_op == O_symbol); - know (symexp->X_add_symbol == mri_common_symbol); - symexp->X_add_number += 1; - } - } - } - else - { - do_align (1, (char *) NULL, 0, 0); - if (line_label != NULL) - { - symbol_set_frag (line_label, frag_now); - S_SET_VALUE (line_label, frag_now_fix ()); - } - } - } - - bytes = mult; - - expression (&exp); - - SKIP_WHITESPACE (); - if (*input_line_pointer == ',') - { - ++input_line_pointer; - expression (&val); - } - else - { - val.X_op = O_constant; - val.X_add_number = 0; - } - - if (val.X_op != O_constant - || val.X_add_number < - 0x80 - || val.X_add_number > 0xff - || (mult != 0 && mult != 1 && val.X_add_number != 0)) - { - if (exp.X_op != O_constant) - as_bad (_("unsupported variable size or fill value")); - else - { - offsetT i; - - if (mult == 0) - mult = 1; - bytes = mult * exp.X_add_number; - for (i = 0; i < exp.X_add_number; i++) - emit_expr (&val, mult); - } - } - else - { - if (exp.X_op == O_constant) - { - long repeat; - - repeat = exp.X_add_number; - if (mult) - repeat *= mult; - bytes = repeat; - if (repeat <= 0) - { - if (!flag_mri) - as_warn (_(".space repeat count is zero, ignored")); - else if (repeat < 0) - as_warn (_(".space repeat count is negative, ignored")); - goto getout; - } - - /* If we are in the absolute section, just bump the offset. */ - if (now_seg == absolute_section) - { - abs_section_offset += repeat; - goto getout; - } - - /* If we are secretly in an MRI common section, then - creating space just increases the size of the common - symbol. */ - if (mri_common_symbol != NULL) - { - S_SET_VALUE (mri_common_symbol, - S_GET_VALUE (mri_common_symbol) + repeat); - goto getout; - } - - if (!need_pass_2) - p = frag_var (rs_fill, 1, 1, (relax_substateT) 0, (symbolS *) 0, - (offsetT) repeat, (char *) 0); - } - else - { - if (now_seg == absolute_section) - { - as_bad (_("space allocation too complex in absolute section")); - subseg_set (text_section, 0); - } - - if (mri_common_symbol != NULL) - { - as_bad (_("space allocation too complex in common section")); - mri_common_symbol = NULL; - } - - if (!need_pass_2) - p = frag_var (rs_space, 1, 1, (relax_substateT) 0, - make_expr_symbol (&exp), (offsetT) 0, (char *) 0); - } - - if (p) - *p = val.X_add_number; - } - - getout: - - /* In MRI mode, after an odd number of bytes, we must align to an - even word boundary, unless the next instruction is a dc.b, ds.b - or dcb.b. */ - if (flag_mri && (bytes & 1) != 0) - mri_pending_align = 1; - - demand_empty_rest_of_line (); - - if (flag_mri) - mri_comment_end (stop, stopc); -} - -/* This is like s_space, but the value is a floating point number with - the given precision. This is for the MRI dcb.s pseudo-op and - friends. */ - -void -s_float_space (float_type) - int float_type; -{ - offsetT count; - int flen; - char temp[MAXIMUM_NUMBER_OF_CHARS_FOR_FLOAT]; - char *stop = NULL; - char stopc; - - if (flag_mri) - stop = mri_comment_field (&stopc); - - count = get_absolute_expression (); - - SKIP_WHITESPACE (); - if (*input_line_pointer != ',') - { - as_bad (_("missing value")); - ignore_rest_of_line (); - if (flag_mri) - mri_comment_end (stop, stopc); - return; - } - - ++input_line_pointer; - - SKIP_WHITESPACE (); - - /* Skip any 0{letter} that may be present. Don't even check if the - * letter is legal. */ - if (input_line_pointer[0] == '0' - && ISALPHA (input_line_pointer[1])) - input_line_pointer += 2; - - /* Accept :xxxx, where the x's are hex digits, for a floating point - with the exact digits specified. */ - if (input_line_pointer[0] == ':') - { - flen = hex_float (float_type, temp); - if (flen < 0) - { - ignore_rest_of_line (); - if (flag_mri) - mri_comment_end (stop, stopc); - return; - } - } - else - { - char *err; - - err = md_atof (float_type, temp, &flen); - know (flen <= MAXIMUM_NUMBER_OF_CHARS_FOR_FLOAT); - know (flen > 0); - if (err) - { - as_bad (_("bad floating literal: %s"), err); - ignore_rest_of_line (); - if (flag_mri) - mri_comment_end (stop, stopc); - return; - } - } - - while (--count >= 0) - { - char *p; - - p = frag_more (flen); - memcpy (p, temp, (unsigned int) flen); - } - - demand_empty_rest_of_line (); - - if (flag_mri) - mri_comment_end (stop, stopc); -} - -/* Handle the .struct pseudo-op, as found in MIPS assemblers. */ - -void -s_struct (ignore) - int ignore ATTRIBUTE_UNUSED; -{ - char *stop = NULL; - char stopc; - - if (flag_mri) - stop = mri_comment_field (&stopc); - abs_section_offset = get_absolute_expression (); - subseg_set (absolute_section, 0); - demand_empty_rest_of_line (); - if (flag_mri) - mri_comment_end (stop, stopc); -} - -void -s_text (ignore) - int ignore ATTRIBUTE_UNUSED; -{ - register int temp; - - temp = get_absolute_expression (); - subseg_set (text_section, (subsegT) temp); - demand_empty_rest_of_line (); -#ifdef OBJ_VMS - const_flag &= ~IN_DEFAULT_SECTION; -#endif -} - -void -demand_empty_rest_of_line () -{ - SKIP_WHITESPACE (); - if (is_end_of_line[(unsigned char) *input_line_pointer]) - input_line_pointer++; - else - ignore_rest_of_line (); - - /* Return having already swallowed end-of-line. */ -} - -void -ignore_rest_of_line () -{ - /* For suspect lines: gives warning. */ - if (!is_end_of_line[(unsigned char) *input_line_pointer]) - { - if (ISPRINT (*input_line_pointer)) - as_warn (_("rest of line ignored; first ignored character is `%c'"), - *input_line_pointer); - else - as_warn (_("rest of line ignored; first ignored character valued 0x%x"), - *input_line_pointer); - - while (input_line_pointer < buffer_limit - && !is_end_of_line[(unsigned char) *input_line_pointer]) - input_line_pointer++; - } - - input_line_pointer++; - - /* Return pointing just after end-of-line. */ - know (is_end_of_line[(unsigned char) input_line_pointer[-1]]); -} - -void -discard_rest_of_line () -{ - while (input_line_pointer < buffer_limit - && !is_end_of_line[(unsigned char) *input_line_pointer]) - input_line_pointer++; - - input_line_pointer++; - - /* Return pointing just after end-of-line. */ - know (is_end_of_line[(unsigned char) input_line_pointer[-1]]); -} - -/* In: Pointer to a symbol. - Input_line_pointer->expression. - - Out: Input_line_pointer->just after any whitespace after expression. - Tried to set symbol to value of expression. - Will change symbols type, value, and frag; */ - -void -pseudo_set (symbolP) - symbolS *symbolP; -{ - expressionS exp; -#if (defined (OBJ_AOUT) || defined (OBJ_BOUT)) && ! defined (BFD_ASSEMBLER) - int ext; -#endif /* OBJ_AOUT or OBJ_BOUT */ - - know (symbolP); /* NULL pointer is logic error. */ -#if (defined (OBJ_AOUT) || defined (OBJ_BOUT)) && ! defined (BFD_ASSEMBLER) - ext = S_IS_EXTERNAL (symbolP); -#endif /* OBJ_AOUT or OBJ_BOUT */ - - (void) expression (&exp); - - if (exp.X_op == O_illegal) - as_bad (_("illegal expression")); - else if (exp.X_op == O_absent) - as_bad (_("missing expression")); - else if (exp.X_op == O_big) - { - if (exp.X_add_number > 0) - as_bad (_("bignum invalid")); - else - as_bad (_("floating point number invalid")); - } - else if (exp.X_op == O_subtract - && SEG_NORMAL (S_GET_SEGMENT (exp.X_add_symbol)) - && (symbol_get_frag (exp.X_add_symbol) - == symbol_get_frag (exp.X_op_symbol))) - { - exp.X_op = O_constant; - exp.X_add_number = (S_GET_VALUE (exp.X_add_symbol) - - S_GET_VALUE (exp.X_op_symbol)); - } - - switch (exp.X_op) - { - case O_illegal: - case O_absent: - case O_big: - exp.X_add_number = 0; - /* Fall through. */ - case O_constant: - S_SET_SEGMENT (symbolP, absolute_section); -#if (defined (OBJ_AOUT) || defined (OBJ_BOUT)) && ! defined (BFD_ASSEMBLER) - if (ext) - S_SET_EXTERNAL (symbolP); - else - S_CLEAR_EXTERNAL (symbolP); -#endif /* OBJ_AOUT or OBJ_BOUT */ - S_SET_VALUE (symbolP, (valueT) exp.X_add_number); - if (exp.X_op != O_constant) - symbol_set_frag (symbolP, &zero_address_frag); - break; - - case O_register: - S_SET_SEGMENT (symbolP, reg_section); - S_SET_VALUE (symbolP, (valueT) exp.X_add_number); - symbol_set_frag (symbolP, &zero_address_frag); - break; - - case O_symbol: - if (S_GET_SEGMENT (exp.X_add_symbol) == undefined_section - || exp.X_add_number != 0) - symbol_set_value_expression (symbolP, &exp); - else if (symbol_section_p (symbolP)) - as_bad ("attempt to set value of section symbol"); - else - { - symbolS *s = exp.X_add_symbol; - - S_SET_SEGMENT (symbolP, S_GET_SEGMENT (s)); -#if (defined (OBJ_AOUT) || defined (OBJ_BOUT)) && ! defined (BFD_ASSEMBLER) - if (ext) - S_SET_EXTERNAL (symbolP); - else - S_CLEAR_EXTERNAL (symbolP); -#endif /* OBJ_AOUT or OBJ_BOUT */ - S_SET_VALUE (symbolP, - exp.X_add_number + S_GET_VALUE (s)); - symbol_set_frag (symbolP, symbol_get_frag (s)); - copy_symbol_attributes (symbolP, s); - } - break; - - default: - /* The value is some complex expression. - FIXME: Should we set the segment to anything? */ - symbol_set_value_expression (symbolP, &exp); - break; - } -} - -/* cons() - - CONStruct more frag of .bytes, or .words etc. - Should need_pass_2 be 1 then emit no frag(s). - This understands EXPRESSIONS. - - Bug (?) - - This has a split personality. We use expression() to read the - value. We can detect if the value won't fit in a byte or word. - But we can't detect if expression() discarded significant digits - in the case of a long. Not worth the crocks required to fix it. */ - -/* Select a parser for cons expressions. */ - -/* Some targets need to parse the expression in various fancy ways. - You can define TC_PARSE_CONS_EXPRESSION to do whatever you like - (for example, the HPPA does this). Otherwise, you can define - BITFIELD_CONS_EXPRESSIONS to permit bitfields to be specified, or - REPEAT_CONS_EXPRESSIONS to permit repeat counts. If none of these - are defined, which is the normal case, then only simple expressions - are permitted. */ - -#ifdef TC_M68K -static void -parse_mri_cons PARAMS ((expressionS *exp, unsigned int nbytes)); -#endif - -#ifndef TC_PARSE_CONS_EXPRESSION -#ifdef BITFIELD_CONS_EXPRESSIONS -#define TC_PARSE_CONS_EXPRESSION(EXP, NBYTES) parse_bitfield_cons (EXP, NBYTES) -static void -parse_bitfield_cons PARAMS ((expressionS *exp, unsigned int nbytes)); -#endif -#ifdef REPEAT_CONS_EXPRESSIONS -#define TC_PARSE_CONS_EXPRESSION(EXP, NBYTES) parse_repeat_cons (EXP, NBYTES) -static void -parse_repeat_cons PARAMS ((expressionS *exp, unsigned int nbytes)); -#endif - -/* If we haven't gotten one yet, just call expression. */ -#ifndef TC_PARSE_CONS_EXPRESSION -#define TC_PARSE_CONS_EXPRESSION(EXP, NBYTES) expression (EXP) -#endif -#endif - -/* Worker to do .byte etc statements. - Clobbers input_line_pointer and checks end-of-line. */ - -static void -cons_worker (nbytes, rva) - register int nbytes; /* 1=.byte, 2=.word, 4=.long. */ - int rva; -{ - int c; - expressionS exp; - char *stop = NULL; - char stopc; - -#ifdef md_flush_pending_output - md_flush_pending_output (); -#endif - - if (flag_mri) - stop = mri_comment_field (&stopc); - - if (is_it_end_of_statement ()) - { - demand_empty_rest_of_line (); - if (flag_mri) - mri_comment_end (stop, stopc); - return; - } - -#ifdef md_cons_align - md_cons_align (nbytes); -#endif - - c = 0; - do - { -#ifdef TC_M68K - if (flag_m68k_mri) - parse_mri_cons (&exp, (unsigned int) nbytes); - else -#endif - TC_PARSE_CONS_EXPRESSION (&exp, (unsigned int) nbytes); - - if (rva) - { - if (exp.X_op == O_symbol) - exp.X_op = O_symbol_rva; - else - as_fatal (_("rva without symbol")); - } - emit_expr (&exp, (unsigned int) nbytes); - ++c; - } - while (*input_line_pointer++ == ','); - - /* In MRI mode, after an odd number of bytes, we must align to an - even word boundary, unless the next instruction is a dc.b, ds.b - or dcb.b. */ - if (flag_mri && nbytes == 1 && (c & 1) != 0) - mri_pending_align = 1; - - input_line_pointer--; /* Put terminator back into stream. */ - - demand_empty_rest_of_line (); - - if (flag_mri) - mri_comment_end (stop, stopc); -} - -void -cons (size) - int size; -{ - cons_worker (size, 0); -} - -void -s_rva (size) - int size; -{ - cons_worker (size, 1); -} - -/* Put the contents of expression EXP into the object file using - NBYTES bytes. If need_pass_2 is 1, this does nothing. */ - -void -emit_expr (exp, nbytes) - expressionS *exp; - unsigned int nbytes; -{ - operatorT op; - register char *p; - valueT extra_digit = 0; - - /* Don't do anything if we are going to make another pass. */ - if (need_pass_2) - return; - -#ifndef NO_LISTING -#ifdef OBJ_ELF - /* When gcc emits DWARF 1 debugging pseudo-ops, a line number will - appear as a four byte positive constant in the .line section, - followed by a 2 byte 0xffff. Look for that case here. */ - { - static int dwarf_line = -1; - - if (strcmp (segment_name (now_seg), ".line") != 0) - dwarf_line = -1; - else if (dwarf_line >= 0 - && nbytes == 2 - && exp->X_op == O_constant - && (exp->X_add_number == -1 || exp->X_add_number == 0xffff)) - listing_source_line ((unsigned int) dwarf_line); - else if (nbytes == 4 - && exp->X_op == O_constant - && exp->X_add_number >= 0) - dwarf_line = exp->X_add_number; - else - dwarf_line = -1; - } - - /* When gcc emits DWARF 1 debugging pseudo-ops, a file name will - appear as a 2 byte TAG_compile_unit (0x11) followed by a 2 byte - AT_sibling (0x12) followed by a four byte address of the sibling - followed by a 2 byte AT_name (0x38) followed by the name of the - file. We look for that case here. */ - { - static int dwarf_file = 0; - - if (strcmp (segment_name (now_seg), ".debug") != 0) - dwarf_file = 0; - else if (dwarf_file == 0 - && nbytes == 2 - && exp->X_op == O_constant - && exp->X_add_number == 0x11) - dwarf_file = 1; - else if (dwarf_file == 1 - && nbytes == 2 - && exp->X_op == O_constant - && exp->X_add_number == 0x12) - dwarf_file = 2; - else if (dwarf_file == 2 - && nbytes == 4) - dwarf_file = 3; - else if (dwarf_file == 3 - && nbytes == 2 - && exp->X_op == O_constant - && exp->X_add_number == 0x38) - dwarf_file = 4; - else - dwarf_file = 0; - - /* The variable dwarf_file_string tells stringer that the string - may be the name of the source file. */ - if (dwarf_file == 4) - dwarf_file_string = 1; - else - dwarf_file_string = 0; - } -#endif -#endif - - if (check_eh_frame (exp, &nbytes)) - return; - - op = exp->X_op; - - /* Allow `.word 0' in the absolute section. */ - if (now_seg == absolute_section) - { - if (op != O_constant || exp->X_add_number != 0) - as_bad (_("attempt to store value in absolute section")); - abs_section_offset += nbytes; - return; - } - - /* Handle a negative bignum. */ - if (op == O_uminus - && exp->X_add_number == 0 - && symbol_get_value_expression (exp->X_add_symbol)->X_op == O_big - && symbol_get_value_expression (exp->X_add_symbol)->X_add_number > 0) - { - int i; - unsigned long carry; - - exp = symbol_get_value_expression (exp->X_add_symbol); - - /* Negate the bignum: one's complement each digit and add 1. */ - carry = 1; - for (i = 0; i < exp->X_add_number; i++) - { - unsigned long next; - - next = (((~(generic_bignum[i] & LITTLENUM_MASK)) - & LITTLENUM_MASK) - + carry); - generic_bignum[i] = next & LITTLENUM_MASK; - carry = next >> LITTLENUM_NUMBER_OF_BITS; - } - - /* We can ignore any carry out, because it will be handled by - extra_digit if it is needed. */ - - extra_digit = (valueT) -1; - op = O_big; - } - - if (op == O_absent || op == O_illegal) - { - as_warn (_("zero assumed for missing expression")); - exp->X_add_number = 0; - op = O_constant; - } - else if (op == O_big && exp->X_add_number <= 0) - { - as_bad (_("floating point number invalid")); - exp->X_add_number = 0; - op = O_constant; - } - else if (op == O_register) - { - as_warn (_("register value used as expression")); - op = O_constant; - } - - p = frag_more ((int) nbytes); - -#ifndef WORKING_DOT_WORD - /* If we have the difference of two symbols in a word, save it on - the broken_words list. See the code in write.c. */ - if (op == O_subtract && nbytes == 2) - { - struct broken_word *x; - - x = (struct broken_word *) xmalloc (sizeof (struct broken_word)); - x->next_broken_word = broken_words; - broken_words = x; - x->seg = now_seg; - x->subseg = now_subseg; - x->frag = frag_now; - x->word_goes_here = p; - x->dispfrag = 0; - x->add = exp->X_add_symbol; - x->sub = exp->X_op_symbol; - x->addnum = exp->X_add_number; - x->added = 0; - new_broken_words++; - return; - } -#endif - - /* If we have an integer, but the number of bytes is too large to - pass to md_number_to_chars, handle it as a bignum. */ - if (op == O_constant && nbytes > sizeof (valueT)) - { - valueT val; - int gencnt; - - if (!exp->X_unsigned && exp->X_add_number < 0) - extra_digit = (valueT) -1; - val = (valueT) exp->X_add_number; - gencnt = 0; - do - { - generic_bignum[gencnt] = val & LITTLENUM_MASK; - val >>= LITTLENUM_NUMBER_OF_BITS; - ++gencnt; - } - while (val != 0); - op = exp->X_op = O_big; - exp->X_add_number = gencnt; - } - - if (op == O_constant) - { - register valueT get; - register valueT use; - register valueT mask; - valueT hibit; - register valueT unmask; - - /* JF << of >= number of bits in the object is undefined. In - particular SPARC (Sun 4) has problems. */ - if (nbytes >= sizeof (valueT)) - { - mask = 0; - if (nbytes > sizeof (valueT)) - hibit = 0; - else - hibit = (valueT) 1 << (nbytes * BITS_PER_CHAR - 1); - } - else - { - /* Don't store these bits. */ - mask = ~(valueT) 0 << (BITS_PER_CHAR * nbytes); - hibit = (valueT) 1 << (nbytes * BITS_PER_CHAR - 1); - } - - unmask = ~mask; /* Do store these bits. */ - -#ifdef NEVER - "Do this mod if you want every overflow check to assume SIGNED 2's complement data."; - mask = ~(unmask >> 1); /* Includes sign bit now. */ -#endif - - get = exp->X_add_number; - use = get & unmask; - if ((get & mask) != 0 - && ((get & mask) != mask - || (get & hibit) == 0)) - { /* Leading bits contain both 0s & 1s. */ - as_warn (_("value 0x%lx truncated to 0x%lx"), - (unsigned long) get, (unsigned long) use); - } - /* Put bytes in right order. */ - md_number_to_chars (p, use, (int) nbytes); - } - else if (op == O_big) - { - unsigned int size; - LITTLENUM_TYPE *nums; - - know (nbytes % CHARS_PER_LITTLENUM == 0); - - size = exp->X_add_number * CHARS_PER_LITTLENUM; - if (nbytes < size) - { - as_warn (_("bignum truncated to %d bytes"), nbytes); - size = nbytes; - } - - if (target_big_endian) - { - while (nbytes > size) - { - md_number_to_chars (p, extra_digit, CHARS_PER_LITTLENUM); - nbytes -= CHARS_PER_LITTLENUM; - p += CHARS_PER_LITTLENUM; - } - - nums = generic_bignum + size / CHARS_PER_LITTLENUM; - while (size >= CHARS_PER_LITTLENUM) - { - --nums; - md_number_to_chars (p, (valueT) *nums, CHARS_PER_LITTLENUM); - size -= CHARS_PER_LITTLENUM; - p += CHARS_PER_LITTLENUM; - } - } - else - { - nums = generic_bignum; - while (size >= CHARS_PER_LITTLENUM) - { - md_number_to_chars (p, (valueT) *nums, CHARS_PER_LITTLENUM); - ++nums; - size -= CHARS_PER_LITTLENUM; - p += CHARS_PER_LITTLENUM; - nbytes -= CHARS_PER_LITTLENUM; - } - - while (nbytes >= CHARS_PER_LITTLENUM) - { - md_number_to_chars (p, extra_digit, CHARS_PER_LITTLENUM); - nbytes -= CHARS_PER_LITTLENUM; - p += CHARS_PER_LITTLENUM; - } - } - } - else - { - memset (p, 0, nbytes); - - /* Now we need to generate a fixS to record the symbol value. - This is easy for BFD. For other targets it can be more - complex. For very complex cases (currently, the HPPA and - NS32K), you can define TC_CONS_FIX_NEW to do whatever you - want. For simpler cases, you can define TC_CONS_RELOC to be - the name of the reloc code that should be stored in the fixS. - If neither is defined, the code uses NO_RELOC if it is - defined, and otherwise uses 0. */ - -#ifdef BFD_ASSEMBLER -#ifdef TC_CONS_FIX_NEW - TC_CONS_FIX_NEW (frag_now, p - frag_now->fr_literal, nbytes, exp); -#else - { - bfd_reloc_code_real_type r; - - switch (nbytes) - { - case 1: - r = BFD_RELOC_8; - break; - case 2: - r = BFD_RELOC_16; - break; - case 4: - r = BFD_RELOC_32; - break; - case 8: - r = BFD_RELOC_64; - break; - default: - as_bad (_("unsupported BFD relocation size %u"), nbytes); - r = BFD_RELOC_32; - break; - } - fix_new_exp (frag_now, p - frag_now->fr_literal, (int) nbytes, exp, - 0, r); - } -#endif -#else -#ifdef TC_CONS_FIX_NEW - TC_CONS_FIX_NEW (frag_now, p - frag_now->fr_literal, nbytes, exp); -#else - /* Figure out which reloc number to use. Use TC_CONS_RELOC if - it is defined, otherwise use NO_RELOC if it is defined, - otherwise use 0. */ -#ifndef TC_CONS_RELOC -#ifdef NO_RELOC -#define TC_CONS_RELOC NO_RELOC -#else -#define TC_CONS_RELOC 0 -#endif -#endif - fix_new_exp (frag_now, p - frag_now->fr_literal, (int) nbytes, exp, 0, - TC_CONS_RELOC); -#endif /* TC_CONS_FIX_NEW */ -#endif /* BFD_ASSEMBLER */ - } -} - -#ifdef BITFIELD_CONS_EXPRESSIONS - -/* i960 assemblers, (eg, asm960), allow bitfields after ".byte" as - w:x,y:z, where w and y are bitwidths and x and y are values. They - then pack them all together. We do a little better in that we allow - them in words, longs, etc. and we'll pack them in target byte order - for you. - - The rules are: pack least significat bit first, if a field doesn't - entirely fit, put it in the next unit. Overflowing the bitfield is - explicitly *not* even a warning. The bitwidth should be considered - a "mask". - - To use this function the tc-XXX.h file should define - BITFIELD_CONS_EXPRESSIONS. */ - -static void -parse_bitfield_cons (exp, nbytes) - expressionS *exp; - unsigned int nbytes; -{ - unsigned int bits_available = BITS_PER_CHAR * nbytes; - char *hold = input_line_pointer; - - (void) expression (exp); - - if (*input_line_pointer == ':') - { - /* Bitfields. */ - long value = 0; - - for (;;) - { - unsigned long width; - - if (*input_line_pointer != ':') - { - input_line_pointer = hold; - break; - } /* Next piece is not a bitfield. */ - - /* In the general case, we can't allow - full expressions with symbol - differences and such. The relocation - entries for symbols not defined in this - assembly would require arbitrary field - widths, positions, and masks which most - of our current object formats don't - support. - - In the specific case where a symbol - *is* defined in this assembly, we - *could* build fixups and track it, but - this could lead to confusion for the - backends. I'm lazy. I'll take any - SEG_ABSOLUTE. I think that means that - you can use a previous .set or - .equ type symbol. xoxorich. */ - - if (exp->X_op == O_absent) - { - as_warn (_("using a bit field width of zero")); - exp->X_add_number = 0; - exp->X_op = O_constant; - } /* Implied zero width bitfield. */ - - if (exp->X_op != O_constant) - { - *input_line_pointer = '\0'; - as_bad (_("field width \"%s\" too complex for a bitfield"), hold); - *input_line_pointer = ':'; - demand_empty_rest_of_line (); - return; - } /* Too complex. */ - - if ((width = exp->X_add_number) > (BITS_PER_CHAR * nbytes)) - { - as_warn (_("field width %lu too big to fit in %d bytes: truncated to %d bits"), - width, nbytes, (BITS_PER_CHAR * nbytes)); - width = BITS_PER_CHAR * nbytes; - } /* Too big. */ - - if (width > bits_available) - { - /* FIXME-SOMEDAY: backing up and reparsing is wasteful. */ - input_line_pointer = hold; - exp->X_add_number = value; - break; - } /* Won't fit. */ - - /* Skip ':'. */ - hold = ++input_line_pointer; - - (void) expression (exp); - if (exp->X_op != O_constant) - { - char cache = *input_line_pointer; - - *input_line_pointer = '\0'; - as_bad (_("field value \"%s\" too complex for a bitfield"), hold); - *input_line_pointer = cache; - demand_empty_rest_of_line (); - return; - } /* Too complex. */ - - value |= ((~(-1 << width) & exp->X_add_number) - << ((BITS_PER_CHAR * nbytes) - bits_available)); - - if ((bits_available -= width) == 0 - || is_it_end_of_statement () - || *input_line_pointer != ',') - { - break; - } /* All the bitfields we're gonna get. */ - - hold = ++input_line_pointer; - (void) expression (exp); - } - - exp->X_add_number = value; - exp->X_op = O_constant; - exp->X_unsigned = 1; - } -} - -#endif /* BITFIELD_CONS_EXPRESSIONS */ - -/* Handle an MRI style string expression. */ - -#ifdef TC_M68K -static void -parse_mri_cons (exp, nbytes) - expressionS *exp; - unsigned int nbytes; -{ - if (*input_line_pointer != '\'' - && (input_line_pointer[1] != '\'' - || (*input_line_pointer != 'A' - && *input_line_pointer != 'E'))) - TC_PARSE_CONS_EXPRESSION (exp, nbytes); - else - { - unsigned int scan; - unsigned int result = 0; - - /* An MRI style string. Cut into as many bytes as will fit into - a nbyte chunk, left justify if necessary, and separate with - commas so we can try again later. */ - if (*input_line_pointer == 'A') - ++input_line_pointer; - else if (*input_line_pointer == 'E') - { - as_bad (_("EBCDIC constants are not supported")); - ++input_line_pointer; - } - - input_line_pointer++; - for (scan = 0; scan < nbytes; scan++) - { - if (*input_line_pointer == '\'') - { - if (input_line_pointer[1] == '\'') - { - input_line_pointer++; - } - else - break; - } - result = (result << 8) | (*input_line_pointer++); - } - - /* Left justify. */ - while (scan < nbytes) - { - result <<= 8; - scan++; - } - - /* Create correct expression. */ - exp->X_op = O_constant; - exp->X_add_number = result; - - /* Fake it so that we can read the next char too. */ - if (input_line_pointer[0] != '\'' || - (input_line_pointer[0] == '\'' && input_line_pointer[1] == '\'')) - { - input_line_pointer -= 2; - input_line_pointer[0] = ','; - input_line_pointer[1] = '\''; - } - else - input_line_pointer++; - } -} -#endif /* TC_M68K */ - -#ifdef REPEAT_CONS_EXPRESSIONS - -/* Parse a repeat expression for cons. This is used by the MIPS - assembler. The format is NUMBER:COUNT; NUMBER appears in the - object file COUNT times. - - To use this for a target, define REPEAT_CONS_EXPRESSIONS. */ - -static void -parse_repeat_cons (exp, nbytes) - expressionS *exp; - unsigned int nbytes; -{ - expressionS count; - register int i; - - expression (exp); - - if (*input_line_pointer != ':') - { - /* No repeat count. */ - return; - } - - ++input_line_pointer; - expression (&count); - if (count.X_op != O_constant - || count.X_add_number <= 0) - { - as_warn (_("unresolvable or nonpositive repeat count; using 1")); - return; - } - - /* The cons function is going to output this expression once. So we - output it count - 1 times. */ - for (i = count.X_add_number - 1; i > 0; i--) - emit_expr (exp, nbytes); -} - -#endif /* REPEAT_CONS_EXPRESSIONS */ - -/* Parse a floating point number represented as a hex constant. This - permits users to specify the exact bits they want in the floating - point number. */ - -static int -hex_float (float_type, bytes) - int float_type; - char *bytes; -{ - int length; - int i; - - switch (float_type) - { - case 'f': - case 'F': - case 's': - case 'S': - length = 4; - break; - - case 'd': - case 'D': - case 'r': - case 'R': - length = 8; - break; - - case 'x': - case 'X': - length = 12; - break; - - case 'p': - case 'P': - length = 12; - break; - - default: - as_bad (_("unknown floating type type '%c'"), float_type); - return -1; - } - - /* It would be nice if we could go through expression to parse the - hex constant, but if we get a bignum it's a pain to sort it into - the buffer correctly. */ - i = 0; - while (hex_p (*input_line_pointer) || *input_line_pointer == '_') - { - int d; - - /* The MRI assembler accepts arbitrary underscores strewn about - through the hex constant, so we ignore them as well. */ - if (*input_line_pointer == '_') - { - ++input_line_pointer; - continue; - } - - if (i >= length) - { - as_warn (_("floating point constant too large")); - return -1; - } - d = hex_value (*input_line_pointer) << 4; - ++input_line_pointer; - while (*input_line_pointer == '_') - ++input_line_pointer; - if (hex_p (*input_line_pointer)) - { - d += hex_value (*input_line_pointer); - ++input_line_pointer; - } - if (target_big_endian) - bytes[i] = d; - else - bytes[length - i - 1] = d; - ++i; - } - - if (i < length) - { - if (target_big_endian) - memset (bytes + i, 0, length - i); - else - memset (bytes, 0, length - i); - } - - return length; -} - -/* float_cons() - - CONStruct some more frag chars of .floats .ffloats etc. - Makes 0 or more new frags. - If need_pass_2 == 1, no frags are emitted. - This understands only floating literals, not expressions. Sorry. - - A floating constant is defined by atof_generic(), except it is preceded - by 0d 0f 0g or 0h. After observing the STRANGE way my BSD AS does its - reading, I decided to be incompatible. This always tries to give you - rounded bits to the precision of the pseudo-op. Former AS did premature - truncatation, restored noisy bits instead of trailing 0s AND gave you - a choice of 2 flavours of noise according to which of 2 floating-point - scanners you directed AS to use. - - In: input_line_pointer->whitespace before, or '0' of flonum. */ - -void -float_cons (float_type) - /* Clobbers input_line-pointer, checks end-of-line. */ - register int float_type; /* 'f':.ffloat ... 'F':.float ... */ -{ - register char *p; - int length; /* Number of chars in an object. */ - register char *err; /* Error from scanning floating literal. */ - char temp[MAXIMUM_NUMBER_OF_CHARS_FOR_FLOAT]; - - if (is_it_end_of_statement ()) - { - demand_empty_rest_of_line (); - return; - } - -#ifdef md_flush_pending_output - md_flush_pending_output (); -#endif - - do - { - /* input_line_pointer->1st char of a flonum (we hope!). */ - SKIP_WHITESPACE (); - - /* Skip any 0{letter} that may be present. Don't even check if the - letter is legal. Someone may invent a "z" format and this routine - has no use for such information. Lusers beware: you get - diagnostics if your input is ill-conditioned. */ - if (input_line_pointer[0] == '0' - && ISALPHA (input_line_pointer[1])) - input_line_pointer += 2; - - /* Accept :xxxx, where the x's are hex digits, for a floating - point with the exact digits specified. */ - if (input_line_pointer[0] == ':') - { - ++input_line_pointer; - length = hex_float (float_type, temp); - if (length < 0) - { - ignore_rest_of_line (); - return; - } - } - else - { - err = md_atof (float_type, temp, &length); - know (length <= MAXIMUM_NUMBER_OF_CHARS_FOR_FLOAT); - know (length > 0); - if (err) - { - as_bad (_("bad floating literal: %s"), err); - ignore_rest_of_line (); - return; - } - } - - if (!need_pass_2) - { - int count; - - count = 1; - -#ifdef REPEAT_CONS_EXPRESSIONS - if (*input_line_pointer == ':') - { - expressionS count_exp; - - ++input_line_pointer; - expression (&count_exp); - - if (count_exp.X_op != O_constant - || count_exp.X_add_number <= 0) - as_warn (_("unresolvable or nonpositive repeat count; using 1")); - else - count = count_exp.X_add_number; - } -#endif - - while (--count >= 0) - { - p = frag_more (length); - memcpy (p, temp, (unsigned int) length); - } - } - SKIP_WHITESPACE (); - } - while (*input_line_pointer++ == ','); - - /* Put terminator back into stream. */ - --input_line_pointer; - demand_empty_rest_of_line (); -} - -/* Return the size of a LEB128 value. */ - -static inline int -sizeof_sleb128 (value) - offsetT value; -{ - register int size = 0; - register unsigned byte; - - do - { - byte = (value & 0x7f); - /* Sadly, we cannot rely on typical arithmetic right shift behaviour. - Fortunately, we can structure things so that the extra work reduces - to a noop on systems that do things "properly". */ - value = (value >> 7) | ~(-(offsetT)1 >> 7); - size += 1; - } - while (!(((value == 0) && ((byte & 0x40) == 0)) - || ((value == -1) && ((byte & 0x40) != 0)))); - - return size; -} - -static inline int -sizeof_uleb128 (value) - valueT value; -{ - register int size = 0; - register unsigned byte; - - do - { - byte = (value & 0x7f); - value >>= 7; - size += 1; - } - while (value != 0); - - return size; -} - -int -sizeof_leb128 (value, sign) - valueT value; - int sign; -{ - if (sign) - return sizeof_sleb128 ((offsetT) value); - else - return sizeof_uleb128 (value); -} - -/* Output a LEB128 value. */ - -static inline int -output_sleb128 (p, value) - char *p; - offsetT value; -{ - register char *orig = p; - register int more; - - do - { - unsigned byte = (value & 0x7f); - - /* Sadly, we cannot rely on typical arithmetic right shift behaviour. - Fortunately, we can structure things so that the extra work reduces - to a noop on systems that do things "properly". */ - value = (value >> 7) | ~(-(offsetT)1 >> 7); - - more = !((((value == 0) && ((byte & 0x40) == 0)) - || ((value == -1) && ((byte & 0x40) != 0)))); - if (more) - byte |= 0x80; - - *p++ = byte; - } - while (more); - - return p - orig; -} - -static inline int -output_uleb128 (p, value) - char *p; - valueT value; -{ - char *orig = p; - - do - { - unsigned byte = (value & 0x7f); - value >>= 7; - if (value != 0) - /* More bytes to follow. */ - byte |= 0x80; - - *p++ = byte; - } - while (value != 0); - - return p - orig; -} - -int -output_leb128 (p, value, sign) - char *p; - valueT value; - int sign; -{ - if (sign) - return output_sleb128 (p, (offsetT) value); - else - return output_uleb128 (p, value); -} - -/* Do the same for bignums. We combine sizeof with output here in that - we don't output for NULL values of P. It isn't really as critical as - for "normal" values that this be streamlined. */ - -static inline int -output_big_sleb128 (p, bignum, size) - char *p; - LITTLENUM_TYPE *bignum; - int size; -{ - char *orig = p; - valueT val = 0; - int loaded = 0; - unsigned byte; - - /* Strip leading sign extensions off the bignum. */ - while (size > 0 && bignum[size - 1] == (LITTLENUM_TYPE) -1) - size--; - - do - { - if (loaded < 7 && size > 0) - { - val |= (*bignum << loaded); - loaded += 8 * CHARS_PER_LITTLENUM; - size--; - bignum++; - } - - byte = val & 0x7f; - loaded -= 7; - val >>= 7; - - if (size == 0) - { - if ((val == 0 && (byte & 0x40) == 0) - || (~(val | ~(((valueT) 1 << loaded) - 1)) == 0 - && (byte & 0x40) != 0)) - byte |= 0x80; - } - - if (orig) - *p = byte; - p++; - } - while (byte & 0x80); - - return p - orig; -} - -static inline int -output_big_uleb128 (p, bignum, size) - char *p; - LITTLENUM_TYPE *bignum; - int size; -{ - char *orig = p; - valueT val = 0; - int loaded = 0; - unsigned byte; - - /* Strip leading zeros off the bignum. */ - /* XXX: Is this needed? */ - while (size > 0 && bignum[size - 1] == 0) - size--; - - do - { - if (loaded < 7 && size > 0) - { - val |= (*bignum << loaded); - loaded += 8 * CHARS_PER_LITTLENUM; - size--; - bignum++; - } - - byte = val & 0x7f; - loaded -= 7; - val >>= 7; - - if (size > 0 || val) - byte |= 0x80; - - if (orig) - *p = byte; - p++; - } - while (byte & 0x80); - - return p - orig; -} - -static int -output_big_leb128 (p, bignum, size, sign) - char *p; - LITTLENUM_TYPE *bignum; - int size, sign; -{ - if (sign) - return output_big_sleb128 (p, bignum, size); - else - return output_big_uleb128 (p, bignum, size); -} - -/* Generate the appropriate fragments for a given expression to emit a - leb128 value. */ - -void -emit_leb128_expr (exp, sign) - expressionS *exp; - int sign; -{ - operatorT op = exp->X_op; - int nbytes; - - if (op == O_absent || op == O_illegal) - { - as_warn (_("zero assumed for missing expression")); - exp->X_add_number = 0; - op = O_constant; - } - else if (op == O_big && exp->X_add_number <= 0) - { - as_bad (_("floating point number invalid")); - exp->X_add_number = 0; - op = O_constant; - } - else if (op == O_register) - { - as_warn (_("register value used as expression")); - op = O_constant; - } - - /* Let check_eh_frame know that data is being emitted. nbytes == -1 is - a signal that this is leb128 data. It shouldn't optimize this away. */ - nbytes = -1; - if (check_eh_frame (exp, &nbytes)) - abort (); - - /* Let the backend know that subsequent data may be byte aligned. */ -#ifdef md_cons_align - md_cons_align (1); -#endif - - if (op == O_constant) - { - /* If we've got a constant, emit the thing directly right now. */ - - valueT value = exp->X_add_number; - int size; - char *p; - - size = sizeof_leb128 (value, sign); - p = frag_more (size); - output_leb128 (p, value, sign); - } - else if (op == O_big) - { - /* O_big is a different sort of constant. */ - - int size; - char *p; - - size = output_big_leb128 (NULL, generic_bignum, exp->X_add_number, sign); - p = frag_more (size); - output_big_leb128 (p, generic_bignum, exp->X_add_number, sign); - } - else - { - /* Otherwise, we have to create a variable sized fragment and - resolve things later. */ - - frag_var (rs_leb128, sizeof_uleb128 (~(valueT) 0), 0, sign, - make_expr_symbol (exp), 0, (char *) NULL); - } -} - -/* Parse the .sleb128 and .uleb128 pseudos. */ - -void -s_leb128 (sign) - int sign; -{ - expressionS exp; - - do - { - expression (&exp); - emit_leb128_expr (&exp, sign); - } - while (*input_line_pointer++ == ','); - - input_line_pointer--; - demand_empty_rest_of_line (); -} - -/* We read 0 or more ',' separated, double-quoted strings. - Caller should have checked need_pass_2 is FALSE because we don't - check it. */ - -void -stringer (append_zero) /* Worker to do .ascii etc statements. */ - /* Checks end-of-line. */ - register int append_zero; /* 0: don't append '\0', else 1. */ -{ - register unsigned int c; - char *start; - -#ifdef md_flush_pending_output - md_flush_pending_output (); -#endif - - /* The following awkward logic is to parse ZERO or more strings, - comma separated. Recall a string expression includes spaces - before the opening '\"' and spaces after the closing '\"'. - We fake a leading ',' if there is (supposed to be) - a 1st, expression. We keep demanding expressions for each ','. */ - if (is_it_end_of_statement ()) - { - c = 0; /* Skip loop. */ - ++input_line_pointer; /* Compensate for end of loop. */ - } - else - { - c = ','; /* Do loop. */ - } - /* If we have been switched into the abs_section then we - will not have an obstack onto which we can hang strings. */ - if (now_seg == absolute_section) - { - as_bad (_("strings must be placed into a section")); - c = 0; - ignore_rest_of_line (); - } - - while (c == ',' || c == '<' || c == '"') - { - SKIP_WHITESPACE (); - switch (*input_line_pointer) - { - case '\"': - ++input_line_pointer; /*->1st char of string. */ - start = input_line_pointer; - while (is_a_char (c = next_char_of_string ())) - { - FRAG_APPEND_1_CHAR (c); - } - if (append_zero) - { - FRAG_APPEND_1_CHAR (0); - } - know (input_line_pointer[-1] == '\"'); - -#ifndef NO_LISTING -#ifdef OBJ_ELF - /* In ELF, when gcc is emitting DWARF 1 debugging output, it - will emit .string with a filename in the .debug section - after a sequence of constants. See the comment in - emit_expr for the sequence. emit_expr will set - dwarf_file_string to non-zero if this string might be a - source file name. */ - if (strcmp (segment_name (now_seg), ".debug") != 0) - dwarf_file_string = 0; - else if (dwarf_file_string) - { - c = input_line_pointer[-1]; - input_line_pointer[-1] = '\0'; - listing_source_file (start); - input_line_pointer[-1] = c; - } -#endif -#endif - - break; - case '<': - input_line_pointer++; - c = get_single_number (); - FRAG_APPEND_1_CHAR (c); - if (*input_line_pointer != '>') - { - as_bad (_("expected <nn>")); - } - input_line_pointer++; - break; - case ',': - input_line_pointer++; - break; - } - SKIP_WHITESPACE (); - c = *input_line_pointer; - } - - demand_empty_rest_of_line (); -} /* stringer() */ - -/* FIXME-SOMEDAY: I had trouble here on characters with the - high bits set. We'll probably also have trouble with - multibyte chars, wide chars, etc. Also be careful about - returning values bigger than 1 byte. xoxorich. */ - -unsigned int -next_char_of_string () -{ - register unsigned int c; - - c = *input_line_pointer++ & CHAR_MASK; - switch (c) - { - case '\"': - c = NOT_A_CHAR; - break; - - case '\n': - as_warn (_("unterminated string; newline inserted")); - bump_line_counters (); - break; - -#ifndef NO_STRING_ESCAPES - case '\\': - switch (c = *input_line_pointer++) - { - case 'b': - c = '\b'; - break; - - case 'f': - c = '\f'; - break; - - case 'n': - c = '\n'; - break; - - case 'r': - c = '\r'; - break; - - case 't': - c = '\t'; - break; - - case 'v': - c = '\013'; - break; - - case '\\': - case '"': - break; /* As itself. */ - - case '0': - case '1': - case '2': - case '3': - case '4': - case '5': - case '6': - case '7': - case '8': - case '9': - { - long number; - int i; - - for (i = 0, number = 0; - ISDIGIT (c) && i < 3; - c = *input_line_pointer++, i++) - { - number = number * 8 + c - '0'; - } - - c = number & 0xff; - } - --input_line_pointer; - break; - - case 'x': - case 'X': - { - long number; - - number = 0; - c = *input_line_pointer++; - while (ISXDIGIT (c)) - { - if (ISDIGIT (c)) - number = number * 16 + c - '0'; - else if (ISUPPER (c)) - number = number * 16 + c - 'A' + 10; - else - number = number * 16 + c - 'a' + 10; - c = *input_line_pointer++; - } - c = number & 0xff; - --input_line_pointer; - } - break; - - case '\n': - /* To be compatible with BSD 4.2 as: give the luser a linefeed!! */ - as_warn (_("unterminated string; newline inserted")); - c = '\n'; - bump_line_counters (); - break; - - default: - -#ifdef ONLY_STANDARD_ESCAPES - as_bad (_("bad escaped character in string")); - c = '?'; -#endif /* ONLY_STANDARD_ESCAPES */ - - break; - } - break; -#endif /* ! defined (NO_STRING_ESCAPES) */ - - default: - break; - } - return (c); -} - -static segT -get_segmented_expression (expP) - register expressionS *expP; -{ - register segT retval; - - retval = expression (expP); - if (expP->X_op == O_illegal - || expP->X_op == O_absent - || expP->X_op == O_big) - { - as_bad (_("expected address expression")); - expP->X_op = O_constant; - expP->X_add_number = 0; - retval = absolute_section; - } - return retval; -} - -static segT -get_known_segmented_expression (expP) - register expressionS *expP; -{ - register segT retval; - - if ((retval = get_segmented_expression (expP)) == undefined_section) - { - /* There is no easy way to extract the undefined symbol from the - expression. */ - if (expP->X_add_symbol != NULL - && S_GET_SEGMENT (expP->X_add_symbol) != expr_section) - as_warn (_("symbol \"%s\" undefined; zero assumed"), - S_GET_NAME (expP->X_add_symbol)); - else - as_warn (_("some symbol undefined; zero assumed")); - retval = absolute_section; - expP->X_op = O_constant; - expP->X_add_number = 0; - } - know (retval == absolute_section || SEG_NORMAL (retval)); - return (retval); -} - -offsetT -get_absolute_expression () -{ - expressionS exp; - - expression (&exp); - if (exp.X_op != O_constant) - { - if (exp.X_op != O_absent) - as_bad (_("bad or irreducible absolute expression")); - exp.X_add_number = 0; - } - return exp.X_add_number; -} - -char /* Return terminator. */ -get_absolute_expression_and_terminator (val_pointer) - long *val_pointer; /* Return value of expression. */ -{ - /* FIXME: val_pointer should probably be offsetT *. */ - *val_pointer = (long) get_absolute_expression (); - return (*input_line_pointer++); -} - -/* Like demand_copy_string, but return NULL if the string contains any '\0's. - Give a warning if that happens. */ - -char * -demand_copy_C_string (len_pointer) - int *len_pointer; -{ - register char *s; - - if ((s = demand_copy_string (len_pointer)) != 0) - { - register int len; - - for (len = *len_pointer; len > 0; len--) - { - if (*s == 0) - { - s = 0; - len = 1; - *len_pointer = 0; - as_bad (_("this string may not contain \'\\0\'")); - } - } - } - - return s; -} - -/* Demand string, but return a safe (=private) copy of the string. - Return NULL if we can't read a string here. */ - -char * -demand_copy_string (lenP) - int *lenP; -{ - register unsigned int c; - register int len; - char *retval; - - len = 0; - SKIP_WHITESPACE (); - if (*input_line_pointer == '\"') - { - input_line_pointer++; /* Skip opening quote. */ - - while (is_a_char (c = next_char_of_string ())) - { - obstack_1grow (¬es, c); - len++; - } - /* JF this next line is so demand_copy_C_string will return a - null terminated string. */ - obstack_1grow (¬es, '\0'); - retval = obstack_finish (¬es); - } - else - { - as_warn (_("missing string")); - retval = NULL; - ignore_rest_of_line (); - } - *lenP = len; - return (retval); -} - -/* In: Input_line_pointer->next character. - - Do: Skip input_line_pointer over all whitespace. - - Out: 1 if input_line_pointer->end-of-line. */ - -int -is_it_end_of_statement () -{ - SKIP_WHITESPACE (); - return (is_end_of_line[(unsigned char) *input_line_pointer]); -} - -void -equals (sym_name, reassign) - char *sym_name; - int reassign; -{ - register symbolS *symbolP; /* Symbol we are working with. */ - char *stop = NULL; - char stopc; - - input_line_pointer++; - if (*input_line_pointer == '=') - input_line_pointer++; - - while (*input_line_pointer == ' ' || *input_line_pointer == '\t') - input_line_pointer++; - - if (flag_mri) - stop = mri_comment_field (&stopc); - - if (sym_name[0] == '.' && sym_name[1] == '\0') - { - /* Turn '. = mumble' into a .org mumble. */ - register segT segment; - expressionS exp; - - segment = get_known_segmented_expression (&exp); - if (!need_pass_2) - do_org (segment, &exp, 0); - } - else - { -#ifdef OBJ_COFF - int local; - - symbolP = symbol_find (sym_name); - local = symbolP == NULL; - if (local) -#endif /* OBJ_COFF */ - symbolP = symbol_find_or_make (sym_name); - /* Permit register names to be redefined. */ - if (!reassign - && S_IS_DEFINED (symbolP) - && S_GET_SEGMENT (symbolP) != reg_section) - as_bad (_("symbol `%s' is already defined"), S_GET_NAME (symbolP)); - -#ifdef OBJ_COFF - /* "set" symbols are local unless otherwise specified. */ - if (local) - SF_SET_LOCAL (symbolP); -#endif /* OBJ_COFF */ - - pseudo_set (symbolP); - } - - if (flag_mri) - { - /* Check garbage after the expression. */ - ignore_rest_of_line (); - mri_comment_end (stop, stopc); - } -} - -/* .incbin -- include a file verbatim at the current location. */ - -void -s_incbin (x) - int x ATTRIBUTE_UNUSED; -{ - FILE * binfile; - char * path; - char * filename; - char * binfrag; - long skip = 0; - long count = 0; - long bytes; - int len; - -#ifdef md_flush_pending_output - md_flush_pending_output (); -#endif - - SKIP_WHITESPACE (); - filename = demand_copy_string (& len); - if (filename == NULL) - return; - - SKIP_WHITESPACE (); - - /* Look for optional skip and count. */ - if (* input_line_pointer == ',') - { - ++ input_line_pointer; - skip = get_absolute_expression (); - - SKIP_WHITESPACE (); - - if (* input_line_pointer == ',') - { - ++ input_line_pointer; - - count = get_absolute_expression (); - if (count == 0) - as_warn (_(".incbin count zero, ignoring `%s'"), filename); - - SKIP_WHITESPACE (); - } - } - - demand_empty_rest_of_line (); - - /* Try opening absolute path first, then try include dirs. */ - binfile = fopen (filename, FOPEN_RB); - if (binfile == NULL) - { - int i; - - path = xmalloc ((unsigned long) len + include_dir_maxlen + 5); - - for (i = 0; i < include_dir_count; i++) - { - sprintf (path, "%s/%s", include_dirs[i], filename); - - binfile = fopen (path, FOPEN_RB); - if (binfile != NULL) - break; - } - - if (binfile == NULL) - as_bad (_("file not found: %s"), filename); - } - else - path = xstrdup (filename); - - if (binfile) - { - long file_len; - - register_dependency (path); - - /* Compute the length of the file. */ - if (fseek (binfile, 0, SEEK_END) != 0) - { - as_bad (_("seek to end of .incbin file failed `%s'"), path); - goto done; - } - file_len = ftell (binfile); - - /* If a count was not specified use the size of the file. */ - if (count == 0) - count = file_len; - - if (skip + count > file_len) - { - as_bad (_("skip (%ld) + count (%ld) larger than file size (%ld)"), - skip, count, file_len); - goto done; - } - - if (fseek (binfile, skip, SEEK_SET) != 0) - { - as_bad (_("could not skip to %ld in file `%s'"), skip, path); - goto done; - } - - /* Allocate frag space and store file contents in it. */ - binfrag = frag_more (count); - - bytes = fread (binfrag, 1, count, binfile); - if (bytes < count) - as_warn (_("truncated file `%s', %ld of %ld bytes read"), - path, bytes, count); - } -done: - if (binfile != NULL) - fclose (binfile); - if (path) - free (path); -} - -/* .include -- include a file at this point. */ - -void -s_include (arg) - int arg ATTRIBUTE_UNUSED; -{ - char *filename; - int i; - FILE *try; - char *path; - - if (!flag_m68k_mri) - { - filename = demand_copy_string (&i); - if (filename == NULL) - { - /* demand_copy_string has already printed an error and - called ignore_rest_of_line. */ - return; - } - } - else - { - SKIP_WHITESPACE (); - i = 0; - while (!is_end_of_line[(unsigned char) *input_line_pointer] - && *input_line_pointer != ' ' - && *input_line_pointer != '\t') - { - obstack_1grow (¬es, *input_line_pointer); - ++input_line_pointer; - ++i; - } - - obstack_1grow (¬es, '\0'); - filename = obstack_finish (¬es); - while (!is_end_of_line[(unsigned char) *input_line_pointer]) - ++input_line_pointer; - } - - demand_empty_rest_of_line (); - path = xmalloc ((unsigned long) i + include_dir_maxlen + 5 /* slop */ ); - - for (i = 0; i < include_dir_count; i++) - { - strcpy (path, include_dirs[i]); - strcat (path, "/"); - strcat (path, filename); - if (0 != (try = fopen (path, FOPEN_RT))) - { - fclose (try); - goto gotit; - } - } - - free (path); - path = filename; -gotit: - /* malloc Storage leak when file is found on path. FIXME-SOMEDAY. */ - register_dependency (path); - input_scrub_insert_file (path); -} - -void -add_include_dir (path) - char *path; -{ - int i; - - if (include_dir_count == 0) - { - include_dirs = (char **) xmalloc (2 * sizeof (*include_dirs)); - include_dirs[0] = "."; /* Current dir. */ - include_dir_count = 2; - } - else - { - include_dir_count++; - include_dirs = - (char **) realloc (include_dirs, - include_dir_count * sizeof (*include_dirs)); - } - - include_dirs[include_dir_count - 1] = path; /* New one. */ - - i = strlen (path); - if (i > include_dir_maxlen) - include_dir_maxlen = i; -} - -/* Output debugging information to denote the source file. */ - -static void -generate_file_debug () -{ - if (debug_type == DEBUG_STABS) - stabs_generate_asm_file (); -} - -/* Output line number debugging information for the current source line. */ - -void -generate_lineno_debug () -{ - switch (debug_type) - { - case DEBUG_UNSPECIFIED: - case DEBUG_NONE: - case DEBUG_DWARF: - break; - case DEBUG_STABS: - stabs_generate_asm_lineno (); - break; - case DEBUG_ECOFF: - ecoff_generate_asm_lineno (); - break; - case DEBUG_DWARF2: - /* ??? We could here indicate to dwarf2dbg.c that something - has changed. However, since there is additional backend - support that is required (calling dwarf2_emit_insn), we - let dwarf2dbg.c call as_where on its own. */ - break; - } -} - -/* Output debugging information to mark a function entry point or end point. - END_P is zero for .func, and non-zero for .endfunc. */ - -void -s_func (end_p) - int end_p; -{ - do_s_func (end_p, NULL); -} - -/* Subroutine of s_func so targets can choose a different default prefix. - If DEFAULT_PREFIX is NULL, use the target's "leading char". */ - -void -do_s_func (end_p, default_prefix) - int end_p; - const char *default_prefix; -{ - /* Record the current function so that we can issue an error message for - misplaced .func,.endfunc, and also so that .endfunc needs no - arguments. */ - static char *current_name; - static char *current_label; - - if (end_p) - { - if (current_name == NULL) - { - as_bad (_("missing .func")); - ignore_rest_of_line (); - return; - } - - if (debug_type == DEBUG_STABS) - stabs_generate_asm_endfunc (current_name, current_label); - - current_name = current_label = NULL; - } - else /* ! end_p */ - { - char *name, *label; - char delim1, delim2; - - if (current_name != NULL) - { - as_bad (_(".endfunc missing for previous .func")); - ignore_rest_of_line (); - return; - } - - name = input_line_pointer; - delim1 = get_symbol_end (); - name = xstrdup (name); - *input_line_pointer = delim1; - SKIP_WHITESPACE (); - if (*input_line_pointer != ',') - { - if (default_prefix) - asprintf (&label, "%s%s", default_prefix, name); - else - { - char leading_char = 0; -#ifdef BFD_ASSEMBLER - leading_char = bfd_get_symbol_leading_char (stdoutput); -#endif - /* Missing entry point, use function's name with the leading - char prepended. */ - if (leading_char) - asprintf (&label, "%c%s", leading_char, name); - else - label = name; - } - } - else - { - ++input_line_pointer; - SKIP_WHITESPACE (); - label = input_line_pointer; - delim2 = get_symbol_end (); - label = xstrdup (label); - *input_line_pointer = delim2; - } - - if (debug_type == DEBUG_STABS) - stabs_generate_asm_func (name, label); - - current_name = name; - current_label = label; - } - - demand_empty_rest_of_line (); -} - -void -s_ignore (arg) - int arg ATTRIBUTE_UNUSED; -{ - while (!is_end_of_line[(unsigned char) *input_line_pointer]) - { - ++input_line_pointer; - } - ++input_line_pointer; -} - -void -read_print_statistics (file) - FILE *file; -{ - hash_print_statistics (file, "pseudo-op table", po_hash); -} - -/* Inserts the given line into the input stream. - - This call avoids macro/conditionals nesting checking, since the contents of - the line are assumed to replace the contents of a line already scanned. - - An appropriate use of this function would be substition of input lines when - called by md_start_line_hook(). The given line is assumed to already be - properly scrubbed. */ - -void -input_scrub_insert_line (line) - const char *line; -{ - sb newline; - sb_new (&newline); - sb_add_string (&newline, line); - input_scrub_include_sb (&newline, input_line_pointer, 0); - sb_kill (&newline); - buffer_limit = input_scrub_next_buffer (&input_line_pointer); -} - -/* Insert a file into the input stream; the path must resolve to an actual - file; no include path searching or dependency registering is performed. */ - -void -input_scrub_insert_file (path) - char *path; -{ - input_scrub_include_file (path, input_line_pointer); - buffer_limit = input_scrub_next_buffer (&input_line_pointer); -} |