Remove i860, i960, bout and aout-adobe targets
authorAlan Modra <amodra@gmail.com>
Wed, 11 Apr 2018 09:16:05 +0000 (18:46 +0930)
committerAlan Modra <amodra@gmail.com>
Wed, 11 Apr 2018 12:19:30 +0000 (21:49 +0930)
Plus remove a few leftovers from the 29k support.

include/
* aout/adobe.h: Delete.
* aout/reloc.h: Delete.
* coff/i860.h: Delete.
* coff/i960.h: Delete.
* elf/i860.h: Delete.
* elf/i960.h: Delete.
* opcode/i860.h: Delete.
* opcode/i960.h: Delete.
* aout/aout64.h (enum reloc_type): Trim off 29k and other unused values.
* aout/ar.h (ARMAGB): Remove.
* coff/internal.h (struct internal_aouthdr, struct internal_scnhdr,
union internal_auxent): Remove i960 support.
bfd/
* aout-adobe.c: Delete.
* bout.c: Delete.
* coff-i860.c: Delete.
* coff-i960.c: Delete.
* cpu-i860.c: Delete.
* cpu-i960.c: Delete.
* elf32-i860.c: Delete.
* elf32-i960.c: Delete.
* hosts/i860mach3.h: Delete.
* Makefile.am: Remove i860, i960, bout, and adobe support.
* archures.c: Remove i860 and i960 support.
* coffcode.h: Likewise.
* reloc.c: Likewise.
* aoutx.h: Comment updates.
* archive.c: Remove BOUT and i960 support.
* bfd.c: Remove BOUT support.
* coffswap.h: Remove i960 support.
* config.bfd: Remove i860, i960 and adobe targets.
* configure.ac: Remove adode, bout, i860, i960, icoff targets.
* targets.c: Likewise.
* ieee.c: Remove i960 support.
* mach-o.c: Remove i860 support.
* Makefile.in: Regenerate.
* bfd-in2.h: Regenerate.
* configure: Regenerate.
* libbfd.h: Regenerate.
* po/SRC-POTFILES.in: Regenerate.
opcodes/
* opcodes/i860-dis.c: Delete.
* opcodes/i960-dis.c: Delete.
* Makefile.am: Remove i860 and i960 support.
* configure.ac: Likewise.
* disassemble.c: Likewise.
* disassemble.h: Likewise.
* Makefile.in: Regenerate.
* configure: Regenerate.
* po/POTFILES.in: Regenerate.
binutils/
* ieee.c: Remove i960 support.
* od-macho.c: Remove i860 support.
* readelf.c: Remove i860 and i960 support.
* testsuite/binutils-all/objcopy.exp: Likewise.
* testsuite/binutils-all/objdump.exp: Likewise.
* testsuite/lib/binutils-common.exp: Likewise.
gas/
* config/aout_gnu.h: Delete.
* config/tc-i860.c: Delete.
* config/tc-i860.h: Delete.
* config/tc-i960.c: Delete.
* config/tc-i960.h: Delete.
* doc/c-i860.texi: Delete.
* doc/c-i960.texi: Delete.
* testsuite/gas/i860/README.i860: Delete.
* testsuite/gas/i860/bitwise.d: Delete.
* testsuite/gas/i860/bitwise.s: Delete.
* testsuite/gas/i860/branch.d: Delete.
* testsuite/gas/i860/branch.s: Delete.
* testsuite/gas/i860/bte.d: Delete.
* testsuite/gas/i860/bte.s: Delete.
* testsuite/gas/i860/dir-align01.d: Delete.
* testsuite/gas/i860/dir-align01.s: Delete.
* testsuite/gas/i860/dir-intel01.d: Delete.
* testsuite/gas/i860/dir-intel01.s: Delete.
* testsuite/gas/i860/dir-intel02.d: Delete.
* testsuite/gas/i860/dir-intel02.s: Delete.
* testsuite/gas/i860/dir-intel03-err.l: Delete.
* testsuite/gas/i860/dir-intel03-err.s: Delete.
* testsuite/gas/i860/dual01.d: Delete.
* testsuite/gas/i860/dual01.s: Delete.
* testsuite/gas/i860/dual02-err.l: Delete.
* testsuite/gas/i860/dual02-err.s: Delete.
* testsuite/gas/i860/dual03.d: Delete.
* testsuite/gas/i860/dual03.s: Delete.
* testsuite/gas/i860/fldst01.d: Delete.
* testsuite/gas/i860/fldst01.s: Delete.
* testsuite/gas/i860/fldst02.d: Delete.
* testsuite/gas/i860/fldst02.s: Delete.
* testsuite/gas/i860/fldst03.d: Delete.
* testsuite/gas/i860/fldst03.s: Delete.
* testsuite/gas/i860/fldst04.d: Delete.
* testsuite/gas/i860/fldst04.s: Delete.
* testsuite/gas/i860/fldst05.d: Delete.
* testsuite/gas/i860/fldst05.s: Delete.
* testsuite/gas/i860/fldst06.d: Delete.
* testsuite/gas/i860/fldst06.s: Delete.
* testsuite/gas/i860/fldst07.d: Delete.
* testsuite/gas/i860/fldst07.s: Delete.
* testsuite/gas/i860/fldst08.d: Delete.
* testsuite/gas/i860/fldst08.s: Delete.
* testsuite/gas/i860/float01.d: Delete.
* testsuite/gas/i860/float01.s: Delete.
* testsuite/gas/i860/float02.d: Delete.
* testsuite/gas/i860/float02.s: Delete.
* testsuite/gas/i860/float03.d: Delete.
* testsuite/gas/i860/float03.s: Delete.
* testsuite/gas/i860/float04.d: Delete.
* testsuite/gas/i860/float04.s: Delete.
* testsuite/gas/i860/form.d: Delete.
* testsuite/gas/i860/form.s: Delete.
* testsuite/gas/i860/i860.exp: Delete.
* testsuite/gas/i860/iarith.d: Delete.
* testsuite/gas/i860/iarith.s: Delete.
* testsuite/gas/i860/ldst01.d: Delete.
* testsuite/gas/i860/ldst01.s: Delete.
* testsuite/gas/i860/ldst02.d: Delete.
* testsuite/gas/i860/ldst02.s: Delete.
* testsuite/gas/i860/ldst03.d: Delete.
* testsuite/gas/i860/ldst03.s: Delete.
* testsuite/gas/i860/ldst04.d: Delete.
* testsuite/gas/i860/ldst04.s: Delete.
* testsuite/gas/i860/ldst05.d: Delete.
* testsuite/gas/i860/ldst05.s: Delete.
* testsuite/gas/i860/ldst06.d: Delete.
* testsuite/gas/i860/ldst06.s: Delete.
* testsuite/gas/i860/pfam.d: Delete.
* testsuite/gas/i860/pfam.s: Delete.
* testsuite/gas/i860/pfmam.d: Delete.
* testsuite/gas/i860/pfmam.s: Delete.
* testsuite/gas/i860/pfmsm.d: Delete.
* testsuite/gas/i860/pfmsm.s: Delete.
* testsuite/gas/i860/pfsm.d: Delete.
* testsuite/gas/i860/pfsm.s: Delete.
* testsuite/gas/i860/pseudo-ops01.d: Delete.
* testsuite/gas/i860/pseudo-ops01.s: Delete.
* testsuite/gas/i860/regress01.d: Delete.
* testsuite/gas/i860/regress01.s: Delete.
* testsuite/gas/i860/shift.d: Delete.
* testsuite/gas/i860/shift.s: Delete.
* testsuite/gas/i860/simd.d: Delete.
* testsuite/gas/i860/simd.s: Delete.
* testsuite/gas/i860/system.d: Delete.
* testsuite/gas/i860/system.s: Delete.
* testsuite/gas/i860/xp.d: Delete.
* testsuite/gas/i860/xp.s: Delete.
* Makefile.am: Remove i860 and i960 support.
* configure.tgt: Likewise.
* doc/Makefile.am: Likewise.
* doc/all.texi: Likewise.
* testsuite/gas/all/gas.exp
* config/obj-coff.h: Remove i960 support.
* doc/internals.texi: Likewise.
* expr.c: Likewise.
* read.c: Likewise.
* write.c: Likewise.
* write.h: Likewise.
* testsuite/gas/lns/lns.exp: Likewise.
* testsuite/gas/symver/symver.exp: Likewise.
* config/tc-m68k.c: Remove BOUT support.
* config/tc-score.c: Likewise.
* config/tc-score7.c: Likewise.
* config/tc-sparc.c: Likewise.
* symbols.c: Likewise.
* doc/h8.texi: Likewise.
* configure.ac: Remove BOUT and i860 support.
* doc/as.texinfo: Remove BOUT, i860 and i960 support
* Makefile.in: Regenerate.
* config.in: Regenerate.
* configure: Regenerate.
* doc/Makefile.in: Regenerate.
* po/POTFILES.in: Regenerate.
ld/
* emulparams/coff_i860.sh: Delete.
* emulparams/elf32_i860.sh: Delete.
* emulparams/elf32_i960.sh: Delete.
* emulparams/gld960.sh: Delete.
* emulparams/gld960coff.sh: Delete.
* emulparams/lnk960.sh: Delete.
* emultempl/gld960.em: Delete.
* emultempl/gld960c.em: Delete.
* emultempl/lnk960.em: Delete.
* scripttempl/i860coff.sc: Delete.
* scripttempl/i960.sc: Delete.
* ld.texinfo: Remove i960 support.
* Makefile.am: Remove i860 and i960 support.
* configure.tgt: Likewise.
* testsuite/ld-discard/extern.d: Likewise.
* testsuite/ld-discard/start.d: Likewise.
* testsuite/ld-discard/static.d: Likewise.
* testsuite/ld-elf/compressed1d.d: Likewise.
* testsuite/ld-elf/group1.d: Likewise.
* testsuite/ld-elf/group3b.d: Likewise.
* testsuite/ld-elf/group8a.d: Likewise.
* testsuite/ld-elf/group8b.d: Likewise.
* testsuite/ld-elf/group9a.d: Likewise.
* testsuite/ld-elf/group9b.d: Likewise.
* testsuite/ld-elf/linkonce2.d: Likewise.
* testsuite/ld-elf/merge.d: Likewise.
* testsuite/ld-elf/merge2.d: Likewise.
* testsuite/ld-elf/merge3.d: Likewise.
* testsuite/ld-elf/orphan-10.d: Likewise.
* testsuite/ld-elf/orphan-11.d: Likewise.
* testsuite/ld-elf/orphan-12.d: Likewise.
* testsuite/ld-elf/orphan-9.d: Likewise.
* testsuite/ld-elf/orphan-region.d: Likewise.
* testsuite/ld-elf/orphan.d: Likewise.
* testsuite/ld-elf/orphan3.d: Likewise.
* testsuite/ld-elf/pr12851.d: Likewise.
* testsuite/ld-elf/pr12975.d: Likewise.
* testsuite/ld-elf/pr13177.d: Likewise.
* testsuite/ld-elf/pr13195.d: Likewise.
* testsuite/ld-elf/pr17550a.d: Likewise.
* testsuite/ld-elf/pr17550b.d: Likewise.
* testsuite/ld-elf/pr17550c.d: Likewise.
* testsuite/ld-elf/pr17550d.d: Likewise.
* testsuite/ld-elf/pr17615.d: Likewise.
* testsuite/ld-elf/pr20528a.d: Likewise.
* testsuite/ld-elf/pr20528b.d: Likewise.
* testsuite/ld-elf/pr21562a.d: Likewise.
* testsuite/ld-elf/pr21562b.d: Likewise.
* testsuite/ld-elf/pr21562c.d: Likewise.
* testsuite/ld-elf/pr21562d.d: Likewise.
* testsuite/ld-elf/pr21562i.d: Likewise.
* testsuite/ld-elf/pr21562j.d: Likewise.
* testsuite/ld-elf/pr21562k.d: Likewise.
* testsuite/ld-elf/pr21562l.d: Likewise.
* testsuite/ld-elf/pr21562m.d: Likewise.
* testsuite/ld-elf/pr21562n.d: Likewise.
* testsuite/ld-elf/pr22677.d: Likewise.
* testsuite/ld-elf/pr22836-1a.d: Likewise.
* testsuite/ld-elf/pr22836-1b.d: Likewise.
* testsuite/ld-elf/pr349.d: Likewise.
* testsuite/ld-elf/sec-to-seg.exp: Likewise.
* testsuite/ld-elf/sec64k.exp: Likewise.
* testsuite/ld-elf/warn1.d: Likewise.
* testsuite/ld-elf/warn2.d: Likewise.
* testsuite/ld-elf/warn3.d: Likewise.
* testsuite/lib/ld-lib.exp: Likewise.
* Makefile.in: Regenerate.
* po/BLD-POTFILES.in: Regenerate.

242 files changed:
bfd/ChangeLog
bfd/Makefile.am
bfd/Makefile.in
bfd/aout-adobe.c [deleted file]
bfd/aoutx.h
bfd/archive.c
bfd/archures.c
bfd/bfd-in2.h
bfd/bfd.c
bfd/bout.c [deleted file]
bfd/coff-i860.c [deleted file]
bfd/coff-i960.c [deleted file]
bfd/coffcode.h
bfd/coffswap.h
bfd/config.bfd
bfd/configure
bfd/configure.ac
bfd/cpu-i860.c [deleted file]
bfd/cpu-i960.c [deleted file]
bfd/elf32-i860.c [deleted file]
bfd/elf32-i960.c [deleted file]
bfd/hosts/i860mach3.h [deleted file]
bfd/ieee.c
bfd/libbfd.h
bfd/mach-o.c
bfd/po/SRC-POTFILES.in
bfd/reloc.c
bfd/targets.c
binutils/ChangeLog
binutils/ieee.c
binutils/od-macho.c
binutils/readelf.c
binutils/testsuite/binutils-all/objcopy.exp
binutils/testsuite/binutils-all/objdump.exp
binutils/testsuite/lib/binutils-common.exp
gas/ChangeLog
gas/Makefile.am
gas/Makefile.in
gas/config.in
gas/config/aout_gnu.h [deleted file]
gas/config/obj-coff.h
gas/config/tc-i860.c [deleted file]
gas/config/tc-i860.h [deleted file]
gas/config/tc-i960.c [deleted file]
gas/config/tc-i960.h [deleted file]
gas/config/tc-m68k.c
gas/config/tc-score.c
gas/config/tc-score7.c
gas/config/tc-sparc.c
gas/configure
gas/configure.ac
gas/configure.tgt
gas/doc/Makefile.am
gas/doc/Makefile.in
gas/doc/all.texi
gas/doc/as.texinfo
gas/doc/c-i860.texi [deleted file]
gas/doc/c-i960.texi [deleted file]
gas/doc/h8.texi
gas/doc/internals.texi
gas/expr.c
gas/po/POTFILES.in
gas/read.c
gas/symbols.c
gas/testsuite/gas/all/gas.exp
gas/testsuite/gas/i860/README.i860 [deleted file]
gas/testsuite/gas/i860/bitwise.d [deleted file]
gas/testsuite/gas/i860/bitwise.s [deleted file]
gas/testsuite/gas/i860/branch.d [deleted file]
gas/testsuite/gas/i860/branch.s [deleted file]
gas/testsuite/gas/i860/bte.d [deleted file]
gas/testsuite/gas/i860/bte.s [deleted file]
gas/testsuite/gas/i860/dir-align01.d [deleted file]
gas/testsuite/gas/i860/dir-align01.s [deleted file]
gas/testsuite/gas/i860/dir-intel01.d [deleted file]
gas/testsuite/gas/i860/dir-intel01.s [deleted file]
gas/testsuite/gas/i860/dir-intel02.d [deleted file]
gas/testsuite/gas/i860/dir-intel02.s [deleted file]
gas/testsuite/gas/i860/dir-intel03-err.l [deleted file]
gas/testsuite/gas/i860/dir-intel03-err.s [deleted file]
gas/testsuite/gas/i860/dual01.d [deleted file]
gas/testsuite/gas/i860/dual01.s [deleted file]
gas/testsuite/gas/i860/dual02-err.l [deleted file]
gas/testsuite/gas/i860/dual02-err.s [deleted file]
gas/testsuite/gas/i860/dual03.d [deleted file]
gas/testsuite/gas/i860/dual03.s [deleted file]
gas/testsuite/gas/i860/fldst01.d [deleted file]
gas/testsuite/gas/i860/fldst01.s [deleted file]
gas/testsuite/gas/i860/fldst02.d [deleted file]
gas/testsuite/gas/i860/fldst02.s [deleted file]
gas/testsuite/gas/i860/fldst03.d [deleted file]
gas/testsuite/gas/i860/fldst03.s [deleted file]
gas/testsuite/gas/i860/fldst04.d [deleted file]
gas/testsuite/gas/i860/fldst04.s [deleted file]
gas/testsuite/gas/i860/fldst05.d [deleted file]
gas/testsuite/gas/i860/fldst05.s [deleted file]
gas/testsuite/gas/i860/fldst06.d [deleted file]
gas/testsuite/gas/i860/fldst06.s [deleted file]
gas/testsuite/gas/i860/fldst07.d [deleted file]
gas/testsuite/gas/i860/fldst07.s [deleted file]
gas/testsuite/gas/i860/fldst08.d [deleted file]
gas/testsuite/gas/i860/fldst08.s [deleted file]
gas/testsuite/gas/i860/float01.d [deleted file]
gas/testsuite/gas/i860/float01.s [deleted file]
gas/testsuite/gas/i860/float02.d [deleted file]
gas/testsuite/gas/i860/float02.s [deleted file]
gas/testsuite/gas/i860/float03.d [deleted file]
gas/testsuite/gas/i860/float03.s [deleted file]
gas/testsuite/gas/i860/float04.d [deleted file]
gas/testsuite/gas/i860/float04.s [deleted file]
gas/testsuite/gas/i860/form.d [deleted file]
gas/testsuite/gas/i860/form.s [deleted file]
gas/testsuite/gas/i860/i860.exp [deleted file]
gas/testsuite/gas/i860/iarith.d [deleted file]
gas/testsuite/gas/i860/iarith.s [deleted file]
gas/testsuite/gas/i860/ldst01.d [deleted file]
gas/testsuite/gas/i860/ldst01.s [deleted file]
gas/testsuite/gas/i860/ldst02.d [deleted file]
gas/testsuite/gas/i860/ldst02.s [deleted file]
gas/testsuite/gas/i860/ldst03.d [deleted file]
gas/testsuite/gas/i860/ldst03.s [deleted file]
gas/testsuite/gas/i860/ldst04.d [deleted file]
gas/testsuite/gas/i860/ldst04.s [deleted file]
gas/testsuite/gas/i860/ldst05.d [deleted file]
gas/testsuite/gas/i860/ldst05.s [deleted file]
gas/testsuite/gas/i860/ldst06.d [deleted file]
gas/testsuite/gas/i860/ldst06.s [deleted file]
gas/testsuite/gas/i860/pfam.d [deleted file]
gas/testsuite/gas/i860/pfam.s [deleted file]
gas/testsuite/gas/i860/pfmam.d [deleted file]
gas/testsuite/gas/i860/pfmam.s [deleted file]
gas/testsuite/gas/i860/pfmsm.d [deleted file]
gas/testsuite/gas/i860/pfmsm.s [deleted file]
gas/testsuite/gas/i860/pfsm.d [deleted file]
gas/testsuite/gas/i860/pfsm.s [deleted file]
gas/testsuite/gas/i860/pseudo-ops01.d [deleted file]
gas/testsuite/gas/i860/pseudo-ops01.s [deleted file]
gas/testsuite/gas/i860/regress01.d [deleted file]
gas/testsuite/gas/i860/regress01.s [deleted file]
gas/testsuite/gas/i860/shift.d [deleted file]
gas/testsuite/gas/i860/shift.s [deleted file]
gas/testsuite/gas/i860/simd.d [deleted file]
gas/testsuite/gas/i860/simd.s [deleted file]
gas/testsuite/gas/i860/system.d [deleted file]
gas/testsuite/gas/i860/system.s [deleted file]
gas/testsuite/gas/i860/xp.d [deleted file]
gas/testsuite/gas/i860/xp.s [deleted file]
gas/testsuite/gas/lns/lns.exp
gas/testsuite/gas/symver/symver.exp
gas/write.c
gas/write.h
include/ChangeLog
include/aout/adobe.h [deleted file]
include/aout/aout64.h
include/aout/ar.h
include/aout/reloc.h [deleted file]
include/coff/i860.h [deleted file]
include/coff/i960.h [deleted file]
include/coff/internal.h
include/elf/i860.h [deleted file]
include/elf/i960.h [deleted file]
include/opcode/i860.h [deleted file]
include/opcode/i960.h [deleted file]
ld/ChangeLog
ld/Makefile.am
ld/Makefile.in
ld/configure.tgt
ld/emulparams/coff_i860.sh [deleted file]
ld/emulparams/elf32_i860.sh [deleted file]
ld/emulparams/elf32_i960.sh [deleted file]
ld/emulparams/gld960.sh [deleted file]
ld/emulparams/gld960coff.sh [deleted file]
ld/emulparams/lnk960.sh [deleted file]
ld/emultempl/gld960.em [deleted file]
ld/emultempl/gld960c.em [deleted file]
ld/emultempl/lnk960.em [deleted file]
ld/ld.texinfo
ld/po/BLD-POTFILES.in
ld/scripttempl/i860coff.sc [deleted file]
ld/scripttempl/i960.sc [deleted file]
ld/testsuite/ld-discard/extern.d
ld/testsuite/ld-discard/start.d
ld/testsuite/ld-discard/static.d
ld/testsuite/ld-elf/compressed1d.d
ld/testsuite/ld-elf/group1.d
ld/testsuite/ld-elf/group3b.d
ld/testsuite/ld-elf/group8a.d
ld/testsuite/ld-elf/group8b.d
ld/testsuite/ld-elf/group9a.d
ld/testsuite/ld-elf/group9b.d
ld/testsuite/ld-elf/linkonce2.d
ld/testsuite/ld-elf/merge.d
ld/testsuite/ld-elf/merge2.d
ld/testsuite/ld-elf/merge3.d
ld/testsuite/ld-elf/orphan-10.d
ld/testsuite/ld-elf/orphan-11.d
ld/testsuite/ld-elf/orphan-12.d
ld/testsuite/ld-elf/orphan-9.d
ld/testsuite/ld-elf/orphan-region.d
ld/testsuite/ld-elf/orphan.d
ld/testsuite/ld-elf/orphan3.d
ld/testsuite/ld-elf/pr12851.d
ld/testsuite/ld-elf/pr12975.d
ld/testsuite/ld-elf/pr13177.d
ld/testsuite/ld-elf/pr13195.d
ld/testsuite/ld-elf/pr17550a.d
ld/testsuite/ld-elf/pr17550b.d
ld/testsuite/ld-elf/pr17550c.d
ld/testsuite/ld-elf/pr17550d.d
ld/testsuite/ld-elf/pr17615.d
ld/testsuite/ld-elf/pr20528a.d
ld/testsuite/ld-elf/pr20528b.d
ld/testsuite/ld-elf/pr21562a.d
ld/testsuite/ld-elf/pr21562b.d
ld/testsuite/ld-elf/pr21562c.d
ld/testsuite/ld-elf/pr21562d.d
ld/testsuite/ld-elf/pr21562i.d
ld/testsuite/ld-elf/pr21562j.d
ld/testsuite/ld-elf/pr21562k.d
ld/testsuite/ld-elf/pr21562l.d
ld/testsuite/ld-elf/pr21562m.d
ld/testsuite/ld-elf/pr21562n.d
ld/testsuite/ld-elf/pr22677.d
ld/testsuite/ld-elf/pr22836-1a.d
ld/testsuite/ld-elf/pr22836-1b.d
ld/testsuite/ld-elf/pr349.d
ld/testsuite/ld-elf/sec-to-seg.exp
ld/testsuite/ld-elf/sec64k.exp
ld/testsuite/ld-elf/warn1.d
ld/testsuite/ld-elf/warn2.d
ld/testsuite/ld-elf/warn3.d
ld/testsuite/lib/ld-lib.exp
opcodes/ChangeLog
opcodes/Makefile.am
opcodes/Makefile.in
opcodes/configure
opcodes/configure.ac
opcodes/disassemble.c
opcodes/disassemble.h
opcodes/i860-dis.c [deleted file]
opcodes/i960-dis.c [deleted file]
opcodes/po/POTFILES.in

index 33127be6f92913cc641b72e2d70b34fc465b25c4..d396af1f4cb84d143f08084d1429e4a1422b62e6 100644 (file)
@@ -1,3 +1,33 @@
+2018-04-11  Alan Modra  <amodra@gmail.com>
+
+       * aout-adobe.c: Delete.
+       * bout.c: Delete.
+       * coff-i860.c: Delete.
+       * coff-i960.c: Delete.
+       * cpu-i860.c: Delete.
+       * cpu-i960.c: Delete.
+       * elf32-i860.c: Delete.
+       * elf32-i960.c: Delete.
+       * hosts/i860mach3.h: Delete.
+       * Makefile.am: Remove i860, i960, bout, and adobe support.
+       * archures.c: Remove i860 and i960 support.
+       * coffcode.h: Likewise.
+       * reloc.c: Likewise.
+       * aoutx.h: Comment updates.
+       * archive.c: Remove BOUT and i960 support.
+       * bfd.c: Remove BOUT support.
+       * coffswap.h: Remove i960 support.
+       * config.bfd: Remove i860, i960 and adobe targets.
+       * configure.ac: Remove adode, bout, i860, i960, icoff targets.
+       * targets.c: Likewise.
+       * ieee.c: Remove i960 support.
+       * mach-o.c: Remove i860 support.
+       * Makefile.in: Regenerate.
+       * bfd-in2.h: Regenerate.
+       * configure: Regenerate.
+       * libbfd.h: Regenerate.
+       * po/SRC-POTFILES.in: Regenerate.
+
 2018-04-09  Maciej W. Rozycki  <macro@mips.com>
 
        * elf64-mips.c (mips_elf64_write_rel): Handle a NULL BFD pointer
 2018-04-09  Maciej W. Rozycki  <macro@mips.com>
 
        * elf64-mips.c (mips_elf64_write_rel): Handle a NULL BFD pointer
index f727ebeb280bb9f1ac312099174745eb7b7a1b34..a03e2b2b9a77f6b515c7fe35b706bb7c3947237e 100644 (file)
@@ -114,8 +114,6 @@ ALL_MACHINES = \
        cpu-iamcu.lo \
        cpu-l1om.lo \
        cpu-k1om.lo \
        cpu-iamcu.lo \
        cpu-l1om.lo \
        cpu-k1om.lo \
-       cpu-i860.lo \
-       cpu-i960.lo \
        cpu-ia64.lo \
        cpu-ip2k.lo \
        cpu-iq2000.lo \
        cpu-ia64.lo \
        cpu-ip2k.lo \
        cpu-iq2000.lo \
@@ -204,8 +202,6 @@ ALL_MACHINES_CFILES = \
        cpu-iamcu.c \
        cpu-l1om.c \
        cpu-k1om.c \
        cpu-iamcu.c \
        cpu-l1om.c \
        cpu-k1om.c \
-       cpu-i860.c \
-       cpu-i960.c \
        cpu-ia64.c \
        cpu-ip2k.c \
        cpu-iq2000.c \
        cpu-ia64.c \
        cpu-ip2k.c \
        cpu-iq2000.c \
@@ -271,7 +267,6 @@ ALL_MACHINES_CFILES = \
 # The .o files needed by all of the 32 bit vectors that are configured into
 # target_vector in targets.c if configured with --enable-targets=all.
 BFD32_BACKENDS = \
 # The .o files needed by all of the 32 bit vectors that are configured into
 # target_vector in targets.c if configured with --enable-targets=all.
 BFD32_BACKENDS = \
-       aout-adobe.lo \
        aout-arm.lo \
        aout-cris.lo \
        aout-ns32k.lo \
        aout-arm.lo \
        aout-cris.lo \
        aout-ns32k.lo \
@@ -280,7 +275,6 @@ BFD32_BACKENDS = \
        aout0.lo \
        aout32.lo \
        armnetbsd.lo \
        aout0.lo \
        aout32.lo \
        armnetbsd.lo \
-       bout.lo \
        cf-i386lynx.lo \
        cf-sparclynx.lo \
        coff-apollo.lo \
        cf-i386lynx.lo \
        cf-sparclynx.lo \
        coff-apollo.lo \
@@ -290,8 +284,6 @@ BFD32_BACKENDS = \
        coff-h8300.lo \
        coff-h8500.lo \
        coff-i386.lo \
        coff-h8300.lo \
        coff-h8500.lo \
        coff-i386.lo \
-       coff-i860.lo \
-       coff-i960.lo \
        coff-m68k.lo \
        coff-m88k.lo \
        coff-mips.lo \
        coff-m68k.lo \
        coff-m88k.lo \
        coff-mips.lo \
@@ -347,8 +339,6 @@ BFD32_BACKENDS = \
        elf32-i370.lo \
        elf32-i386.lo \
        elfxx-x86.lo \
        elf32-i370.lo \
        elf32-i386.lo \
        elfxx-x86.lo \
-       elf32-i860.lo \
-       elf32-i960.lo \
        elf32-ip2k.lo \
        elf32-iq2000.lo \
        elf32-lm32.lo \
        elf32-ip2k.lo \
        elf32-iq2000.lo \
        elf32-lm32.lo \
@@ -468,7 +458,6 @@ BFD32_BACKENDS = \
        xtensa-modules.lo
 
 BFD32_BACKENDS_CFILES = \
        xtensa-modules.lo
 
 BFD32_BACKENDS_CFILES = \
-       aout-adobe.c \
        aout-arm.c \
        aout-cris.c \
        aout-ns32k.c \
        aout-arm.c \
        aout-cris.c \
        aout-ns32k.c \
@@ -477,7 +466,6 @@ BFD32_BACKENDS_CFILES = \
        aout0.c \
        aout32.c \
        armnetbsd.c \
        aout0.c \
        aout32.c \
        armnetbsd.c \
-       bout.c \
        cf-i386lynx.c \
        cf-sparclynx.c \
        coff-apollo.c \
        cf-i386lynx.c \
        cf-sparclynx.c \
        coff-apollo.c \
@@ -487,8 +475,6 @@ BFD32_BACKENDS_CFILES = \
        coff-h8300.c \
        coff-h8500.c \
        coff-i386.c \
        coff-h8300.c \
        coff-h8500.c \
        coff-i386.c \
-       coff-i860.c \
-       coff-i960.c \
        coff-m68k.c \
        coff-m88k.c \
        coff-mips.c \
        coff-m68k.c \
        coff-m88k.c \
        coff-mips.c \
@@ -544,8 +530,6 @@ BFD32_BACKENDS_CFILES = \
        elf32-i370.c \
        elf32-i386.c \
        elfxx-x86.c \
        elf32-i370.c \
        elf32-i386.c \
        elfxx-x86.c \
-       elf32-i860.c \
-       elf32-i960.c \
        elf32-ip2k.c \
        elf32-iq2000.c \
        elf32-lm32.c \
        elf32-ip2k.c \
        elf32-iq2000.c \
        elf32-lm32.c \
index 40608238b7536c7cfa38b7cd5da455dfc30cf2fa..d63aef99ec6068af8801b5c9fbd2cc555b40985a 100644 (file)
@@ -447,8 +447,6 @@ ALL_MACHINES = \
        cpu-iamcu.lo \
        cpu-l1om.lo \
        cpu-k1om.lo \
        cpu-iamcu.lo \
        cpu-l1om.lo \
        cpu-k1om.lo \
-       cpu-i860.lo \
-       cpu-i960.lo \
        cpu-ia64.lo \
        cpu-ip2k.lo \
        cpu-iq2000.lo \
        cpu-ia64.lo \
        cpu-ip2k.lo \
        cpu-iq2000.lo \
@@ -537,8 +535,6 @@ ALL_MACHINES_CFILES = \
        cpu-iamcu.c \
        cpu-l1om.c \
        cpu-k1om.c \
        cpu-iamcu.c \
        cpu-l1om.c \
        cpu-k1om.c \
-       cpu-i860.c \
-       cpu-i960.c \
        cpu-ia64.c \
        cpu-ip2k.c \
        cpu-iq2000.c \
        cpu-ia64.c \
        cpu-ip2k.c \
        cpu-iq2000.c \
@@ -605,7 +601,6 @@ ALL_MACHINES_CFILES = \
 # The .o files needed by all of the 32 bit vectors that are configured into
 # target_vector in targets.c if configured with --enable-targets=all.
 BFD32_BACKENDS = \
 # The .o files needed by all of the 32 bit vectors that are configured into
 # target_vector in targets.c if configured with --enable-targets=all.
 BFD32_BACKENDS = \
-       aout-adobe.lo \
        aout-arm.lo \
        aout-cris.lo \
        aout-ns32k.lo \
        aout-arm.lo \
        aout-cris.lo \
        aout-ns32k.lo \
@@ -614,7 +609,6 @@ BFD32_BACKENDS = \
        aout0.lo \
        aout32.lo \
        armnetbsd.lo \
        aout0.lo \
        aout32.lo \
        armnetbsd.lo \
-       bout.lo \
        cf-i386lynx.lo \
        cf-sparclynx.lo \
        coff-apollo.lo \
        cf-i386lynx.lo \
        cf-sparclynx.lo \
        coff-apollo.lo \
@@ -624,8 +618,6 @@ BFD32_BACKENDS = \
        coff-h8300.lo \
        coff-h8500.lo \
        coff-i386.lo \
        coff-h8300.lo \
        coff-h8500.lo \
        coff-i386.lo \
-       coff-i860.lo \
-       coff-i960.lo \
        coff-m68k.lo \
        coff-m88k.lo \
        coff-mips.lo \
        coff-m68k.lo \
        coff-m88k.lo \
        coff-mips.lo \
@@ -681,8 +673,6 @@ BFD32_BACKENDS = \
        elf32-i370.lo \
        elf32-i386.lo \
        elfxx-x86.lo \
        elf32-i370.lo \
        elf32-i386.lo \
        elfxx-x86.lo \
-       elf32-i860.lo \
-       elf32-i960.lo \
        elf32-ip2k.lo \
        elf32-iq2000.lo \
        elf32-lm32.lo \
        elf32-ip2k.lo \
        elf32-iq2000.lo \
        elf32-lm32.lo \
@@ -802,7 +792,6 @@ BFD32_BACKENDS = \
        xtensa-modules.lo
 
 BFD32_BACKENDS_CFILES = \
        xtensa-modules.lo
 
 BFD32_BACKENDS_CFILES = \
-       aout-adobe.c \
        aout-arm.c \
        aout-cris.c \
        aout-ns32k.c \
        aout-arm.c \
        aout-cris.c \
        aout-ns32k.c \
@@ -811,7 +800,6 @@ BFD32_BACKENDS_CFILES = \
        aout0.c \
        aout32.c \
        armnetbsd.c \
        aout0.c \
        aout32.c \
        armnetbsd.c \
-       bout.c \
        cf-i386lynx.c \
        cf-sparclynx.c \
        coff-apollo.c \
        cf-i386lynx.c \
        cf-sparclynx.c \
        coff-apollo.c \
@@ -821,8 +809,6 @@ BFD32_BACKENDS_CFILES = \
        coff-h8300.c \
        coff-h8500.c \
        coff-i386.c \
        coff-h8300.c \
        coff-h8500.c \
        coff-i386.c \
-       coff-i860.c \
-       coff-i960.c \
        coff-m68k.c \
        coff-m88k.c \
        coff-mips.c \
        coff-m68k.c \
        coff-m88k.c \
        coff-mips.c \
@@ -878,8 +864,6 @@ BFD32_BACKENDS_CFILES = \
        elf32-i370.c \
        elf32-i386.c \
        elfxx-x86.c \
        elf32-i370.c \
        elf32-i386.c \
        elfxx-x86.c \
-       elf32-i860.c \
-       elf32-i960.c \
        elf32-ip2k.c \
        elf32-iq2000.c \
        elf32-lm32.c \
        elf32-ip2k.c \
        elf32-iq2000.c \
        elf32-lm32.c \
@@ -1322,7 +1306,6 @@ distclean-compile:
 
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/aix386-core.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/aix5ppc-core.Plo@am__quote@
 
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/aix386-core.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/aix5ppc-core.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/aout-adobe.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/aout-arm.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/aout-cris.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/aout-ns32k.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/aout-arm.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/aout-cris.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/aout-ns32k.Plo@am__quote@
@@ -1339,7 +1322,6 @@ distclean-compile:
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/bfdio.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/bfdwin.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/binary.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/bfdio.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/bfdwin.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/binary.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/bout.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/cache.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/cf-i386lynx.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/cf-sparclynx.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/cache.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/cf-i386lynx.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/cf-sparclynx.Plo@am__quote@
@@ -1353,8 +1335,6 @@ distclean-compile:
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/coff-h8300.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/coff-h8500.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/coff-i386.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/coff-h8300.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/coff-h8500.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/coff-i386.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/coff-i860.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/coff-i960.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/coff-m68k.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/coff-m88k.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/coff-mips.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/coff-m68k.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/coff-m88k.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/coff-mips.Plo@am__quote@
@@ -1400,8 +1380,6 @@ distclean-compile:
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/cpu-hppa.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/cpu-i370.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/cpu-i386.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/cpu-hppa.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/cpu-i370.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/cpu-i386.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/cpu-i860.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/cpu-i960.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/cpu-ia64.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/cpu-iamcu.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/cpu-ip2k.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/cpu-ia64.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/cpu-iamcu.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/cpu-ip2k.Plo@am__quote@
@@ -1503,8 +1481,6 @@ distclean-compile:
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/elf32-hppa.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/elf32-i370.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/elf32-i386.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/elf32-hppa.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/elf32-i370.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/elf32-i386.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/elf32-i860.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/elf32-i960.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/elf32-ia64.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/elf32-ip2k.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/elf32-iq2000.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/elf32-ia64.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/elf32-ip2k.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/elf32-iq2000.Plo@am__quote@
diff --git a/bfd/aout-adobe.c b/bfd/aout-adobe.c
deleted file mode 100644 (file)
index 48189d8..0000000
+++ /dev/null
@@ -1,535 +0,0 @@
-/* BFD back-end for a.out.adobe binaries.
-   Copyright (C) 1990-2018 Free Software Foundation, Inc.
-   Written by Cygnus Support.  Based on bout.c.
-
-   This file is part of BFD, the Binary File Descriptor library.
-
-   This program 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 3 of the License, or
-   (at your option) any later version.
-
-   This program 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 this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA.  */
-
-#include "sysdep.h"
-#include "bfd.h"
-#include "libbfd.h"
-#include "aout/adobe.h"
-#include "aout/stab_gnu.h"
-#include "libaout.h"           /* BFD a.out internal data structures.  */
-
-/* Forward decl.  */
-extern const bfd_target aout_adobe_vec;
-
-/* Swaps the information in an executable header taken from a raw byte
-   stream memory image, into the internal exec_header structure.  */
-
-static void
-aout_adobe_swap_exec_header_in (bfd *abfd,
-                               struct external_exec *bytes,
-                               struct internal_exec *execp)
-{
-  /* Now fill in fields in the execp, from the bytes in the raw data.  */
-  execp->a_info   = H_GET_32 (abfd, bytes->e_info);
-  execp->a_text   = GET_WORD (abfd, bytes->e_text);
-  execp->a_data   = GET_WORD (abfd, bytes->e_data);
-  execp->a_bss    = GET_WORD (abfd, bytes->e_bss);
-  execp->a_syms   = GET_WORD (abfd, bytes->e_syms);
-  execp->a_entry  = GET_WORD (abfd, bytes->e_entry);
-  execp->a_trsize = GET_WORD (abfd, bytes->e_trsize);
-  execp->a_drsize = GET_WORD (abfd, bytes->e_drsize);
-}
-
-/* Swaps the information in an internal exec header structure into the
-   supplied buffer ready for writing to disk.  */
-
-static void
-aout_adobe_swap_exec_header_out (bfd *abfd,
-                                struct internal_exec *execp,
-                                struct external_exec *bytes)
-{
-  /* Now fill in fields in the raw data, from the fields in the exec
-     struct.  */
-  H_PUT_32 (abfd, execp->a_info  , bytes->e_info);
-  PUT_WORD (abfd, execp->a_text  , bytes->e_text);
-  PUT_WORD (abfd, execp->a_data  , bytes->e_data);
-  PUT_WORD (abfd, execp->a_bss   , bytes->e_bss);
-  PUT_WORD (abfd, execp->a_syms  , bytes->e_syms);
-  PUT_WORD (abfd, execp->a_entry , bytes->e_entry);
-  PUT_WORD (abfd, execp->a_trsize, bytes->e_trsize);
-  PUT_WORD (abfd, execp->a_drsize, bytes->e_drsize);
-}
-
-/* Finish up the opening of a b.out file for reading.  Fill in all the
-   fields that are not handled by common code.  */
-
-static const bfd_target *
-aout_adobe_callback (bfd *abfd)
-{
-  struct internal_exec *execp = exec_hdr (abfd);
-  asection *sect;
-  struct external_segdesc ext[1];
-  char *section_name;
-  char try_again[30];  /* Name and number.  */
-  char *newname;
-  int trynum;
-  flagword flags;
-
-  /* Architecture and machine type -- unknown in this format.  */
-  bfd_set_arch_mach (abfd, bfd_arch_unknown, 0L);
-
-  /* The positions of the string table and symbol table.  */
-  obj_str_filepos (abfd) = N_STROFF (execp);
-  obj_sym_filepos (abfd) = N_SYMOFF (execp);
-
-  /* Suck up the section information from the file, one section at a time.  */
-  for (;;)
-    {
-      bfd_size_type amt = sizeof (*ext);
-      if (bfd_bread ( ext, amt, abfd) != amt)
-       {
-         if (bfd_get_error () != bfd_error_system_call)
-           bfd_set_error (bfd_error_wrong_format);
-
-         return NULL;
-       }
-      switch (ext->e_type[0])
-       {
-       case N_TEXT:
-         section_name = ".text";
-         flags = SEC_CODE | SEC_LOAD | SEC_ALLOC | SEC_HAS_CONTENTS;
-         break;
-
-       case N_DATA:
-         section_name = ".data";
-         flags = SEC_DATA | SEC_LOAD | SEC_ALLOC | SEC_HAS_CONTENTS;
-         break;
-
-       case N_BSS:
-         section_name = ".bss";
-         flags = SEC_DATA | SEC_HAS_CONTENTS;
-         break;
-
-       case 0:
-         goto no_more_sections;
-
-       default:
-         _bfd_error_handler
-           /* xgettext:c-format */
-           (_("%pB: unknown section type in a.out.adobe file: %x"),
-            abfd, ext->e_type[0]);
-         goto no_more_sections;
-       }
-
-      /* First one is called ".text" or whatever; subsequent ones are
-        ".text1", ".text2", ...  */
-      bfd_set_error (bfd_error_no_error);
-      sect = bfd_make_section_with_flags (abfd, section_name, flags);
-      trynum = 0;
-
-      while (!sect)
-       {
-         if (bfd_get_error () != bfd_error_no_error)
-           /* Some other error -- slide into the sunset.  */
-           return NULL;
-         sprintf (try_again, "%s%d", section_name, ++trynum);
-         sect = bfd_make_section_with_flags (abfd, try_again, flags);
-       }
-
-      /* Fix the name, if it is a sprintf'd name.  */
-      if (sect->name == try_again)
-       {
-         amt = strlen (sect->name);
-         newname = bfd_zalloc (abfd, amt);
-         if (newname == NULL)
-           return NULL;
-         strcpy (newname, sect->name);
-         sect->name = newname;
-       }
-
-      /* Assumed big-endian.  */
-      sect->size = ((ext->e_size[0] << 8)
-                   | ext->e_size[1] << 8
-                   | ext->e_size[2]);
-      sect->vma = H_GET_32 (abfd, ext->e_virtbase);
-      sect->filepos = H_GET_32 (abfd, ext->e_filebase);
-      /* FIXME XXX alignment?  */
-
-      /* Set relocation information for first section of each type.  */
-      if (trynum == 0)
-       switch (ext->e_type[0])
-         {
-         case N_TEXT:
-           sect->rel_filepos = N_TRELOFF (execp);
-           sect->reloc_count = execp->a_trsize;
-           break;
-
-         case N_DATA:
-           sect->rel_filepos = N_DRELOFF (execp);
-           sect->reloc_count = execp->a_drsize;
-           break;
-
-         default:
-           break;
-         }
-    }
- no_more_sections:
-
-  adata (abfd).reloc_entry_size = sizeof (struct reloc_std_external);
-  adata (abfd).symbol_entry_size = sizeof (struct external_nlist);
-  adata (abfd).page_size = 1; /* Not applicable.  */
-  adata (abfd).segment_size = 1; /* Not applicable.  */
-  adata (abfd).exec_bytes_size = EXEC_BYTES_SIZE;
-
-  return abfd->xvec;
-}
-
-static const bfd_target *
-aout_adobe_object_p (bfd *abfd)
-{
-  struct internal_exec anexec;
-  struct external_exec exec_bytes;
-  char *targ;
-  bfd_size_type amt = EXEC_BYTES_SIZE;
-
-  if (bfd_bread (& exec_bytes, amt, abfd) != amt)
-    {
-      if (bfd_get_error () != bfd_error_system_call)
-       bfd_set_error (bfd_error_wrong_format);
-      return NULL;
-    }
-
-  anexec.a_info = H_GET_32 (abfd, exec_bytes.e_info);
-
-  /* Normally we just compare for the magic number.
-     However, a bunch of Adobe tools aren't fixed up yet; they generate
-     files using ZMAGIC(!).
-     If the environment variable GNUTARGET is set to "a.out.adobe", we will
-     take just about any a.out file as an Adobe a.out file.  FIXME!  */
-
-  if (N_BADMAG (&anexec))
-    {
-      targ = getenv ("GNUTARGET");
-      if (targ && !strcmp (targ, aout_adobe_vec.name))
-       /* Just continue anyway, if specifically set to this format.  */
-       ;
-      else
-       {
-         bfd_set_error (bfd_error_wrong_format);
-         return NULL;
-       }
-    }
-
-  aout_adobe_swap_exec_header_in (abfd, &exec_bytes, &anexec);
-  return aout_32_some_aout_object_p (abfd, &anexec, aout_adobe_callback);
-}
-
-struct bout_data_struct
-{
-  struct aoutdata a;
-  struct internal_exec e;
-};
-
-static bfd_boolean
-aout_adobe_mkobject (bfd *abfd)
-{
-  struct bout_data_struct *rawptr;
-  bfd_size_type amt = sizeof (struct bout_data_struct);
-
-  rawptr = bfd_zalloc (abfd, amt);
-  if (rawptr == NULL)
-    return FALSE;
-
-  abfd->tdata.bout_data = rawptr;
-  exec_hdr (abfd) = &rawptr->e;
-
-  adata (abfd).reloc_entry_size = sizeof (struct reloc_std_external);
-  adata (abfd).symbol_entry_size = sizeof (struct external_nlist);
-  adata (abfd).page_size = 1; /* Not applicable.  */
-  adata (abfd).segment_size = 1; /* Not applicable.  */
-  adata (abfd).exec_bytes_size = EXEC_BYTES_SIZE;
-
-  return TRUE;
-}
-
-static void
-aout_adobe_write_section (bfd *abfd ATTRIBUTE_UNUSED,
-                         sec_ptr sect ATTRIBUTE_UNUSED)
-{
-  /* FIXME XXX.  */
-}
-
-static bfd_boolean
-aout_adobe_write_object_contents (bfd *abfd)
-{
-  struct external_exec swapped_hdr;
-  static struct external_segdesc sentinel[1];  /* Initialized to zero.  */
-  asection *sect;
-  bfd_size_type amt;
-
-  exec_hdr (abfd)->a_info = ZMAGIC;
-
-  /* Calculate text size as total of text sections, etc.  */
-  exec_hdr (abfd)->a_text = 0;
-  exec_hdr (abfd)->a_data = 0;
-  exec_hdr (abfd)->a_bss  = 0;
-  exec_hdr (abfd)->a_trsize = 0;
-  exec_hdr (abfd)->a_drsize = 0;
-
-  for (sect = abfd->sections; sect; sect = sect->next)
-    {
-      if (sect->flags & SEC_CODE)
-       {
-         exec_hdr (abfd)->a_text += sect->size;
-         exec_hdr (abfd)->a_trsize += sect->reloc_count *
-           sizeof (struct reloc_std_external);
-       }
-      else if (sect->flags & SEC_DATA)
-       {
-         exec_hdr (abfd)->a_data += sect->size;
-         exec_hdr (abfd)->a_drsize += sect->reloc_count *
-           sizeof (struct reloc_std_external);
-       }
-      else if (sect->flags & SEC_ALLOC && !(sect->flags & SEC_LOAD))
-       exec_hdr (abfd)->a_bss += sect->size;
-    }
-
-  exec_hdr (abfd)->a_syms = bfd_get_symcount (abfd)
-    * sizeof (struct external_nlist);
-  exec_hdr (abfd)->a_entry = bfd_get_start_address (abfd);
-
-  aout_adobe_swap_exec_header_out (abfd, exec_hdr (abfd), &swapped_hdr);
-
-  amt = EXEC_BYTES_SIZE;
-  if (bfd_seek (abfd, (file_ptr) 0, SEEK_SET) != 0
-      || bfd_bwrite (& swapped_hdr, amt, abfd) != amt)
-    return FALSE;
-
-  /* Now write out the section information.  Text first, data next, rest
-     afterward.  */
-  for (sect = abfd->sections; sect; sect = sect->next)
-    if (sect->flags & SEC_CODE)
-      aout_adobe_write_section (abfd, sect);
-
-  for (sect = abfd->sections; sect; sect = sect->next)
-    if (sect->flags & SEC_DATA)
-      aout_adobe_write_section (abfd, sect);
-
-  for (sect = abfd->sections; sect; sect = sect->next)
-    if (!(sect->flags & (SEC_CODE | SEC_DATA)))
-      aout_adobe_write_section (abfd, sect);
-
-  /* Write final `sentinel` section header (with type of 0).  */
-  amt = sizeof (*sentinel);
-  if (bfd_bwrite (sentinel, amt, abfd) != amt)
-    return FALSE;
-
-  /* Now write out reloc info, followed by syms and strings.  */
-  if (bfd_get_symcount (abfd) != 0)
-    {
-      if (bfd_seek (abfd, (file_ptr) (N_SYMOFF (exec_hdr (abfd))), SEEK_SET)
-         != 0)
-       return FALSE;
-
-      if (! aout_32_write_syms (abfd))
-       return FALSE;
-
-      if (bfd_seek (abfd, (file_ptr) (N_TRELOFF (exec_hdr (abfd))), SEEK_SET)
-         != 0)
-       return FALSE;
-
-      for (sect = abfd->sections; sect; sect = sect->next)
-       if (sect->flags & SEC_CODE)
-         if (!aout_32_squirt_out_relocs (abfd, sect))
-           return FALSE;
-
-      if (bfd_seek (abfd, (file_ptr) (N_DRELOFF (exec_hdr (abfd))), SEEK_SET)
-         != 0)
-       return FALSE;
-
-      for (sect = abfd->sections; sect; sect = sect->next)
-       if (sect->flags & SEC_DATA)
-         if (!aout_32_squirt_out_relocs (abfd, sect))
-           return FALSE;
-    }
-
-  return TRUE;
-}
-\f
-static bfd_boolean
-aout_adobe_set_section_contents (bfd *abfd,
-                                asection *section,
-                                const void * location,
-                                file_ptr offset,
-                                bfd_size_type count)
-{
-  file_ptr section_start;
-  sec_ptr sect;
-
-  /* Set by bfd.c handler.  */
-  if (! abfd->output_has_begun)
-    {
-      /* Assign file offsets to sections.  Text sections are first, and
-        are contiguous.  Then data sections.  Everything else at the end.  */
-      section_start = N_TXTOFF (0);
-
-      for (sect = abfd->sections; sect; sect = sect->next)
-       {
-         if (sect->flags & SEC_CODE)
-           {
-             sect->filepos = section_start;
-             /* FIXME:  Round to alignment.  */
-             section_start += sect->size;
-           }
-       }
-
-      for (sect = abfd->sections; sect; sect = sect->next)
-       {
-         if (sect->flags & SEC_DATA)
-           {
-             sect->filepos = section_start;
-             /* FIXME:  Round to alignment.  */
-             section_start += sect->size;
-           }
-       }
-
-      for (sect = abfd->sections; sect; sect = sect->next)
-       {
-         if (sect->flags & SEC_HAS_CONTENTS &&
-             !(sect->flags & (SEC_CODE | SEC_DATA)))
-           {
-             sect->filepos = section_start;
-             /* FIXME:  Round to alignment.  */
-             section_start += sect->size;
-           }
-       }
-    }
-
-  /* Regardless, once we know what we're doing, we might as well get
-     going.  */
-  if (bfd_seek (abfd, section->filepos + offset, SEEK_SET) != 0)
-    return FALSE;
-
-  if (count == 0)
-    return TRUE;
-
-  return bfd_bwrite (location, count, abfd) == count;
-}
-
-static bfd_boolean
-aout_adobe_set_arch_mach (bfd *abfd,
-                         enum bfd_architecture arch,
-                         unsigned long machine)
-{
-  if (! bfd_default_set_arch_mach (abfd, arch, machine))
-    return FALSE;
-
-  if (arch == bfd_arch_unknown
-      || arch == bfd_arch_m68k)
-    return TRUE;
-
-  return FALSE;
-}
-
-static int
-aout_adobe_sizeof_headers (bfd *ignore_abfd ATTRIBUTE_UNUSED,
-                          struct bfd_link_info *info ATTRIBUTE_UNUSED)
-{
-  return sizeof (struct internal_exec);
-}
-
-/* Build the transfer vector for Adobe A.Out files.  */
-
-#define aout_32_find_line                          _bfd_nosymbols_find_line
-#define aout_32_get_symbol_version_string          _bfd_nosymbols_get_symbol_version_string
-#define aout_32_bfd_make_debug_symbol              _bfd_nosymbols_bfd_make_debug_symbol
-#define aout_32_bfd_reloc_type_lookup              _bfd_norelocs_bfd_reloc_type_lookup
-#define aout_32_bfd_reloc_name_lookup              _bfd_norelocs_bfd_reloc_name_lookup
-#define aout_32_close_and_cleanup                  aout_32_bfd_free_cached_info
-#define        aout_32_set_arch_mach                       aout_adobe_set_arch_mach
-#define        aout_32_set_section_contents                aout_adobe_set_section_contents
-#define        aout_32_sizeof_headers                      aout_adobe_sizeof_headers
-#define aout_32_bfd_get_relocated_section_contents  bfd_generic_get_relocated_section_contents
-#define aout_32_get_section_contents_in_window     _bfd_generic_get_section_contents_in_window
-#define aout_32_bfd_relax_section                  bfd_generic_relax_section
-#define aout_32_bfd_gc_sections                            bfd_generic_gc_sections
-#define aout_32_bfd_lookup_section_flags           bfd_generic_lookup_section_flags
-#define aout_32_bfd_merge_sections                 bfd_generic_merge_sections
-#define aout_32_bfd_is_group_section               bfd_generic_is_group_section
-#define aout_32_bfd_discard_group                  bfd_generic_discard_group
-#define aout_32_section_already_linked             _bfd_generic_section_already_linked
-#define aout_32_bfd_define_common_symbol           bfd_generic_define_common_symbol
-#define aout_32_bfd_define_start_stop              bfd_generic_define_start_stop
-#define aout_32_bfd_link_hash_table_create         _bfd_generic_link_hash_table_create
-#define aout_32_bfd_link_add_symbols               _bfd_generic_link_add_symbols
-#define aout_32_bfd_link_just_syms                 _bfd_generic_link_just_syms
-#define aout_32_bfd_copy_link_hash_symbol_type \
-  _bfd_generic_copy_link_hash_symbol_type
-#define aout_32_bfd_final_link                     _bfd_generic_final_link
-#define aout_32_bfd_link_split_section             _bfd_generic_link_split_section
-#define aout_32_bfd_link_check_relocs              _bfd_generic_link_check_relocs
-#define aout_32_set_reloc                          _bfd_generic_set_reloc
-
-const bfd_target aout_adobe_vec =
-{
-  "a.out.adobe",               /* Name.  */
-  bfd_target_aout_flavour,
-  BFD_ENDIAN_BIG,              /* Data byte order is unknown (big assumed).  */
-  BFD_ENDIAN_BIG,              /* Header byte order is big.  */
-  (HAS_RELOC | EXEC_P |                /* Object flags.  */
-   HAS_LINENO | HAS_DEBUG |
-   HAS_SYMS | HAS_LOCALS | WP_TEXT ),
-  /* section flags */
-  (SEC_HAS_CONTENTS | SEC_ALLOC | SEC_LOAD | SEC_CODE | SEC_DATA | SEC_RELOC),
-  '_',                         /* Symbol leading char.  */
-  ' ',                         /* AR_pad_char.  */
-  16,                          /* AR_max_namelen.  */
-  0,                           /* match priority.  */
-
-  bfd_getb64, bfd_getb_signed_64, bfd_putb64,
-  bfd_getb32, bfd_getb_signed_32, bfd_putb32,
-  bfd_getb16, bfd_getb_signed_16, bfd_putb16,  /* Data.  */
-  bfd_getb64, bfd_getb_signed_64, bfd_putb64,
-  bfd_getb32, bfd_getb_signed_32, bfd_putb32,
-  bfd_getb16, bfd_getb_signed_16, bfd_putb16,  /* Headers.  */
-
-  {                            /* bfd_check_format.  */
-    _bfd_dummy_target,
-    aout_adobe_object_p,
-    bfd_generic_archive_p,
-    _bfd_dummy_target
-  },
-  {                            /* bfd_set_format.  */
-    _bfd_bool_bfd_false_error,
-    aout_adobe_mkobject,
-    _bfd_generic_mkarchive,
-    _bfd_bool_bfd_false_error
-  },
-  {                            /* bfd_write_contents.  */
-    _bfd_bool_bfd_false_error,
-    aout_adobe_write_object_contents,
-    _bfd_write_archive_contents,
-    _bfd_bool_bfd_false_error
-  },
-
-  BFD_JUMP_TABLE_GENERIC (aout_32),
-  BFD_JUMP_TABLE_COPY (_bfd_generic),
-  BFD_JUMP_TABLE_CORE (_bfd_nocore),
-  BFD_JUMP_TABLE_ARCHIVE (_bfd_archive_bsd),
-  BFD_JUMP_TABLE_SYMBOLS (aout_32),
-  BFD_JUMP_TABLE_RELOCS (aout_32),
-  BFD_JUMP_TABLE_WRITE (aout_32),
-  BFD_JUMP_TABLE_LINK (aout_32),
-  BFD_JUMP_TABLE_DYNAMIC (_bfd_nodynamic),
-
-  NULL,
-
-  NULL
-};
index 525e5603ec90c296e086091327aa0c472cf06e41..7809facbdf23a61b56ed1d749b62618f7d31f7ed 100644 (file)
@@ -33,9 +33,9 @@ DESCRIPTION
        The support is split into a basic support file @file{aoutx.h}
        and other files which derive functions from the base. One
        derivation file is @file{aoutf1.h} (for a.out flavour 1), and
        The support is split into a basic support file @file{aoutx.h}
        and other files which derive functions from the base. One
        derivation file is @file{aoutf1.h} (for a.out flavour 1), and
-       adds to the basic a.out functions support for sun3, sun4, 386
-       and 29k a.out files, to create a target jump vector for a
-       specific target.
+       adds to the basic a.out functions support for sun3, sun4, and
+       386 a.out files, to create a target jump vector for a specific
+       target.
 
        This information is further split out into more specific files
        for each machine, including @file{sunos.c} for sun3 and sun4,
 
        This information is further split out into more specific files
        for each machine, including @file{sunos.c} for sun3 and sun4,
@@ -136,10 +136,9 @@ DESCRIPTION
        The file @file{aoutx.h} provides for both the @emph{standard}
        and @emph{extended} forms of a.out relocation records.
 
        The file @file{aoutx.h} provides for both the @emph{standard}
        and @emph{extended} forms of a.out relocation records.
 
-       The standard records contain only an
-       address, a symbol index, and a type field. The extended records
-       (used on 29ks and sparcs) also have a full integer for an
-       addend.  */
+       The standard records contain only an address, a symbol index,
+       and a type field.  The extended records also have a full
+       integer for an addend.  */
 
 #ifndef CTOR_TABLE_RELOC_HOWTO
 #define CTOR_TABLE_RELOC_IDX 2
 
 #ifndef CTOR_TABLE_RELOC_HOWTO
 #define CTOR_TABLE_RELOC_IDX 2
index d58f1727691698afd1519ea8bfeb6ff963201968..b9493108ed73c36dc70e4030bd606994fdf62a42 100644 (file)
@@ -847,7 +847,6 @@ bfd_generic_archive_p (bfd *abfd)
   bfd_is_thin_archive (abfd) = (strncmp (armag, ARMAGT, SARMAG) == 0);
 
   if (strncmp (armag, ARMAG, SARMAG) != 0
   bfd_is_thin_archive (abfd) = (strncmp (armag, ARMAGT, SARMAG) == 0);
 
   if (strncmp (armag, ARMAG, SARMAG) != 0
-      && strncmp (armag, ARMAGB, SARMAG) != 0
       && ! bfd_is_thin_archive (abfd))
     {
       bfd_set_error (bfd_error_wrong_format);
       && ! bfd_is_thin_archive (abfd))
     {
       bfd_set_error (bfd_error_wrong_format);
@@ -1042,21 +1041,6 @@ do_slurp_coff_armap (bfd *abfd)
   nsymz = bfd_getb32 (int_buf);
   stringsize = parsed_size - (4 * nsymz) - 4;
 
   nsymz = bfd_getb32 (int_buf);
   stringsize = parsed_size - (4 * nsymz) - 4;
 
-  /* ... except that some archive formats are broken, and it may be our
-     fault - the i960 little endian coff sometimes has big and sometimes
-     little, because our tools changed.  Here's a horrible hack to clean
-     up the crap.  */
-
-  if (stringsize > 0xfffff
-      && bfd_get_arch (abfd) == bfd_arch_i960
-      && bfd_get_flavour (abfd) == bfd_target_coff_flavour)
-    {
-      /* This looks dangerous, let's do it the other way around.  */
-      nsymz = bfd_getl32 (int_buf);
-      stringsize = parsed_size - (4 * nsymz) - 4;
-      swap = bfd_getl32;
-    }
-
   /* The coff armap must be read sequentially.  So we construct a
      bsd-style one in core all at once, for simplicity.  */
 
   /* The coff armap must be read sequentially.  So we construct a
      bsd-style one in core all at once, for simplicity.  */
 
index 7327f5f49e7be8e22bfeccca0e53892b767767ab..20868ecd403fafdee0d03c80c7585c97e328a5c3 100644 (file)
@@ -63,8 +63,7 @@ DESCRIPTION
        Another field indicates which processor within
        the family is in use.  The machine gives a number which
        distinguishes different versions of the architecture,
        Another field indicates which processor within
        the family is in use.  The machine gives a number which
        distinguishes different versions of the architecture,
-       containing, for example, 2 and 3 for Intel i960 KA and i960 KB,
-       and 68020 and 68030 for Motorola 68020 and 68030.
+       containing, for example, 68020 for Motorola 68020.
 
 .enum bfd_architecture
 .{
 
 .enum bfd_architecture
 .{
@@ -103,23 +102,6 @@ DESCRIPTION
 .#define bfd_mach_mcf_isa_c_nodiv_mac  30
 .#define bfd_mach_mcf_isa_c_nodiv_emac 31
 .  bfd_arch_vax,       {* DEC Vax.  *}
 .#define bfd_mach_mcf_isa_c_nodiv_mac  30
 .#define bfd_mach_mcf_isa_c_nodiv_emac 31
 .  bfd_arch_vax,       {* DEC Vax.  *}
-.  bfd_arch_i960,      {* Intel 960.  *}
-.    {* The order of the following is important.
-.      lower number indicates a machine type that
-.      only accepts a subset of the instructions
-.      available to machines with higher numbers.
-.      The exception is the "ca", which is
-.      incompatible with all other machines except
-.      "core".  *}
-.
-.#define bfd_mach_i960_core    1
-.#define bfd_mach_i960_ka_sa   2
-.#define bfd_mach_i960_kb_sb   3
-.#define bfd_mach_i960_mc      4
-.#define bfd_mach_i960_xa      5
-.#define bfd_mach_i960_ca      6
-.#define bfd_mach_i960_jx      7
-.#define bfd_mach_i960_hx      8
 .
 .  bfd_arch_or1k,      {* OpenRISC 1000.  *}
 .#define bfd_mach_or1k         1
 .
 .  bfd_arch_or1k,      {* OpenRISC 1000.  *}
 .#define bfd_mach_or1k         1
@@ -237,7 +219,6 @@ DESCRIPTION
 .#define bfd_mach_i386_iamcu_intel_syntax (bfd_mach_i386_iamcu | bfd_mach_i386_intel_syntax)
 .  bfd_arch_we32k,     {* AT&T WE32xxx.  *}
 .  bfd_arch_tahoe,     {* CCI/Harris Tahoe.  *}
 .#define bfd_mach_i386_iamcu_intel_syntax (bfd_mach_i386_iamcu | bfd_mach_i386_intel_syntax)
 .  bfd_arch_we32k,     {* AT&T WE32xxx.  *}
 .  bfd_arch_tahoe,     {* CCI/Harris Tahoe.  *}
-.  bfd_arch_i860,      {* Intel 860.  *}
 .  bfd_arch_i370,      {* IBM 360/370 Mainframes.  *}
 .  bfd_arch_romp,      {* IBM ROMP PC/RT.  *}
 .  bfd_arch_convex,    {* Convex.  *}
 .  bfd_arch_i370,      {* IBM 360/370 Mainframes.  *}
 .  bfd_arch_romp,      {* IBM ROMP PC/RT.  *}
 .  bfd_arch_convex,    {* Convex.  *}
@@ -603,8 +584,6 @@ extern const bfd_arch_info_type bfd_hppa_arch;
 extern const bfd_arch_info_type bfd_i370_arch;
 extern const bfd_arch_info_type bfd_i386_arch;
 extern const bfd_arch_info_type bfd_iamcu_arch;
 extern const bfd_arch_info_type bfd_i370_arch;
 extern const bfd_arch_info_type bfd_i386_arch;
 extern const bfd_arch_info_type bfd_iamcu_arch;
-extern const bfd_arch_info_type bfd_i860_arch;
-extern const bfd_arch_info_type bfd_i960_arch;
 extern const bfd_arch_info_type bfd_ia64_arch;
 extern const bfd_arch_info_type bfd_ip2k_arch;
 extern const bfd_arch_info_type bfd_iq2000_arch;
 extern const bfd_arch_info_type bfd_ia64_arch;
 extern const bfd_arch_info_type bfd_ip2k_arch;
 extern const bfd_arch_info_type bfd_iq2000_arch;
@@ -698,8 +677,6 @@ static const bfd_arch_info_type * const bfd_archures_list[] =
     &bfd_i370_arch,
     &bfd_i386_arch,
     &bfd_iamcu_arch,
     &bfd_i370_arch,
     &bfd_i386_arch,
     &bfd_iamcu_arch,
-    &bfd_i860_arch,
-    &bfd_i960_arch,
     &bfd_ia64_arch,
     &bfd_ip2k_arch,
     &bfd_iq2000_arch,
     &bfd_ia64_arch,
     &bfd_ip2k_arch,
     &bfd_iq2000_arch,
index de5f68d6ecfe8762c57ef17ae5925867faeb867f..3f5d38bedfded8e0d05caba933ffabce7b2683b2 100644 (file)
@@ -1979,23 +1979,6 @@ enum bfd_architecture
 #define bfd_mach_mcf_isa_c_nodiv_mac   30
 #define bfd_mach_mcf_isa_c_nodiv_emac  31
   bfd_arch_vax,       /* DEC Vax.  */
 #define bfd_mach_mcf_isa_c_nodiv_mac   30
 #define bfd_mach_mcf_isa_c_nodiv_emac  31
   bfd_arch_vax,       /* DEC Vax.  */
-  bfd_arch_i960,      /* Intel 960.  */
-    /* The order of the following is important.
-       lower number indicates a machine type that
-       only accepts a subset of the instructions
-       available to machines with higher numbers.
-       The exception is the "ca", which is
-       incompatible with all other machines except
-       "core".  */
-
-#define bfd_mach_i960_core     1
-#define bfd_mach_i960_ka_sa    2
-#define bfd_mach_i960_kb_sb    3
-#define bfd_mach_i960_mc       4
-#define bfd_mach_i960_xa       5
-#define bfd_mach_i960_ca       6
-#define bfd_mach_i960_jx       7
-#define bfd_mach_i960_hx       8
 
   bfd_arch_or1k,      /* OpenRISC 1000.  */
 #define bfd_mach_or1k          1
 
   bfd_arch_or1k,      /* OpenRISC 1000.  */
 #define bfd_mach_or1k          1
@@ -2113,7 +2096,6 @@ enum bfd_architecture
 #define bfd_mach_i386_iamcu_intel_syntax (bfd_mach_i386_iamcu | bfd_mach_i386_intel_syntax)
   bfd_arch_we32k,     /* AT&T WE32xxx.  */
   bfd_arch_tahoe,     /* CCI/Harris Tahoe.  */
 #define bfd_mach_i386_iamcu_intel_syntax (bfd_mach_i386_iamcu | bfd_mach_i386_intel_syntax)
   bfd_arch_we32k,     /* AT&T WE32xxx.  */
   bfd_arch_tahoe,     /* CCI/Harris Tahoe.  */
-  bfd_arch_i860,      /* Intel 860.  */
   bfd_arch_i370,      /* IBM 360/370 Mainframes.  */
   bfd_arch_romp,      /* IBM ROMP PC/RT.  */
   bfd_arch_convex,    /* Convex.  */
   bfd_arch_i370,      /* IBM 360/370 Mainframes.  */
   bfd_arch_romp,      /* IBM ROMP PC/RT.  */
   bfd_arch_convex,    /* Convex.  */
@@ -2506,10 +2488,9 @@ typedef enum bfd_reloc_status
   /* The symbol to relocate against was undefined.  */
   bfd_reloc_undefined,
 
   /* The symbol to relocate against was undefined.  */
   bfd_reloc_undefined,
 
-  /* The relocation was performed, but may not be ok - presently
-     generated only when linking i960 coff files with i960 b.out
-     symbols.  If this type is returned, the error_message argument
-     to bfd_perform_relocation will be set.  */
+  /* The relocation was performed, but may not be ok.  If this type is
+     returned, the error_message argument to bfd_perform_relocation
+     will be set.  */
   bfd_reloc_dangerous
  }
  bfd_reloc_status_type;
   bfd_reloc_dangerous
  }
  bfd_reloc_status_type;
@@ -2589,8 +2570,7 @@ struct reloc_howto_struct
 
   /* If this field is non null, then the supplied function is
      called rather than the normal function.  This allows really
 
   /* If this field is non null, then the supplied function is
      called rather than the normal function.  This allows really
-     strange relocation methods to be accommodated (e.g., i960 callj
-     instructions).  */
+     strange relocation methods to be accommodated.  */
   bfd_reloc_status_type (*special_function)
     (bfd *, arelent *, struct bfd_symbol *, void *, asection *,
      bfd *, char **);
   bfd_reloc_status_type (*special_function)
     (bfd *, arelent *, struct bfd_symbol *, void *, asection *,
      bfd *, char **);
@@ -2715,9 +2695,7 @@ enum bfd_reloc_code_real {
 
 /* PC-relative relocations.  Sometimes these are relative to the address
 of the relocation itself; sometimes they are relative to the start of
 
 /* PC-relative relocations.  Sometimes these are relative to the address
 of the relocation itself; sometimes they are relative to the start of
-the section containing the relocation.  It depends on the specific target.
-
-The 24-bit relocation is used in some Intel 960 configurations.  */
+the section containing the relocation.  It depends on the specific target.  */
   BFD_RELOC_64_PCREL,
   BFD_RELOC_32_PCREL,
   BFD_RELOC_24_PCREL,
   BFD_RELOC_64_PCREL,
   BFD_RELOC_32_PCREL,
   BFD_RELOC_24_PCREL,
@@ -2809,9 +2787,6 @@ decided relatively late.  */
   BFD_RELOC_GPREL16,
   BFD_RELOC_GPREL32,
 
   BFD_RELOC_GPREL16,
   BFD_RELOC_GPREL32,
 
-/* Reloc types used for i960/b.out.  */
-  BFD_RELOC_I960_CALLJ,
-
 /* SPARC ELF relocations.  There is probably some overlap with other
 relocation types already defined.  */
   BFD_RELOC_NONE,
 /* SPARC ELF relocations.  There is probably some overlap with other
 relocation types already defined.  */
   BFD_RELOC_NONE,
@@ -5435,40 +5410,6 @@ a matching LO8XG part.  */
   BFD_RELOC_CRIS_DTPMOD,
   BFD_RELOC_CRIS_32_IE,
 
   BFD_RELOC_CRIS_DTPMOD,
   BFD_RELOC_CRIS_32_IE,
 
-/* Intel i860 Relocations.  */
-  BFD_RELOC_860_COPY,
-  BFD_RELOC_860_GLOB_DAT,
-  BFD_RELOC_860_JUMP_SLOT,
-  BFD_RELOC_860_RELATIVE,
-  BFD_RELOC_860_PC26,
-  BFD_RELOC_860_PLT26,
-  BFD_RELOC_860_PC16,
-  BFD_RELOC_860_LOW0,
-  BFD_RELOC_860_SPLIT0,
-  BFD_RELOC_860_LOW1,
-  BFD_RELOC_860_SPLIT1,
-  BFD_RELOC_860_LOW2,
-  BFD_RELOC_860_SPLIT2,
-  BFD_RELOC_860_LOW3,
-  BFD_RELOC_860_LOGOT0,
-  BFD_RELOC_860_SPGOT0,
-  BFD_RELOC_860_LOGOT1,
-  BFD_RELOC_860_SPGOT1,
-  BFD_RELOC_860_LOGOTOFF0,
-  BFD_RELOC_860_SPGOTOFF0,
-  BFD_RELOC_860_LOGOTOFF1,
-  BFD_RELOC_860_SPGOTOFF1,
-  BFD_RELOC_860_LOGOTOFF2,
-  BFD_RELOC_860_LOGOTOFF3,
-  BFD_RELOC_860_LOPC,
-  BFD_RELOC_860_HIGHADJ,
-  BFD_RELOC_860_HAGOT,
-  BFD_RELOC_860_HAGOTOFF,
-  BFD_RELOC_860_HAPC,
-  BFD_RELOC_860_HIGH,
-  BFD_RELOC_860_HIGOT,
-  BFD_RELOC_860_HIGOTOFF,
-
 /* OpenRISC 1000 Relocations.  */
   BFD_RELOC_OR1K_REL_26,
   BFD_RELOC_OR1K_GOTPC_HI16,
 /* OpenRISC 1000 Relocations.  */
   BFD_RELOC_OR1K_REL_26,
   BFD_RELOC_OR1K_GOTPC_HI16,
@@ -7076,7 +7017,6 @@ struct bfd
       struct tekhex_data_struct *tekhex_data;
       struct elf_obj_tdata *elf_obj_data;
       struct nlm_obj_tdata *nlm_obj_data;
       struct tekhex_data_struct *tekhex_data;
       struct elf_obj_tdata *elf_obj_data;
       struct nlm_obj_tdata *nlm_obj_data;
-      struct bout_data_struct *bout_data;
       struct mmo_data_struct *mmo_data;
       struct sun_core_struct *sun_core_data;
       struct sco5_core_struct *sco5_core_data;
       struct mmo_data_struct *mmo_data;
       struct sun_core_struct *sun_core_data;
       struct sco5_core_struct *sco5_core_data;
index 288b5b14fe202e9f14d1b2b2ee1b53ce1e552cb5..a1b6bf10b20c751b17aca0b94e81c532d6088392 100644 (file)
--- a/bfd/bfd.c
+++ b/bfd/bfd.c
@@ -318,7 +318,6 @@ CODE_FRAGMENT
 .      struct tekhex_data_struct *tekhex_data;
 .      struct elf_obj_tdata *elf_obj_data;
 .      struct nlm_obj_tdata *nlm_obj_data;
 .      struct tekhex_data_struct *tekhex_data;
 .      struct elf_obj_tdata *elf_obj_data;
 .      struct nlm_obj_tdata *nlm_obj_data;
-.      struct bout_data_struct *bout_data;
 .      struct mmo_data_struct *mmo_data;
 .      struct sun_core_struct *sun_core_data;
 .      struct sco5_core_struct *sco5_core_data;
 .      struct mmo_data_struct *mmo_data;
 .      struct sun_core_struct *sun_core_data;
 .      struct sco5_core_struct *sco5_core_data;
diff --git a/bfd/bout.c b/bfd/bout.c
deleted file mode 100644 (file)
index c766633..0000000
+++ /dev/null
@@ -1,1508 +0,0 @@
-/* BFD back-end for Intel 960 b.out binaries.
-   Copyright (C) 1990-2018 Free Software Foundation, Inc.
-   Written by Cygnus Support.
-
-   This file is part of BFD, the Binary File Descriptor library.
-
-   This program 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 3 of the License, or
-   (at your option) any later version.
-
-   This program 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 this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston,
-   MA 02110-1301, USA.  */
-
-#include "sysdep.h"
-#include "bfd.h"
-#include "libbfd.h"
-#include "bfdlink.h"
-#include "genlink.h"
-#include "bout.h"
-#include "libiberty.h"
-
-#include "aout/stab_gnu.h"
-#include "libaout.h"           /* BFD a.out internal data structures.  */
-
-#define ABS32CODE 0
-#define ABS32CODE_SHRUNK 1
-#define PCREL24 2
-#define CALLJ 3
-#define ABS32 4
-#define PCREL13 5
-#define ABS32_MAYBE_RELAXABLE 1
-#define ABS32_WAS_RELAXABLE 2
-
-#define ALIGNER 10
-#define ALIGNDONE 11
-
-static reloc_howto_type howto_reloc_callj =
-  HOWTO (CALLJ, 0, 2, 24, TRUE, 0, complain_overflow_signed, 0,"callj", TRUE, 0x00ffffff, 0x00ffffff,FALSE);
-static  reloc_howto_type howto_reloc_abs32 =
-  HOWTO (ABS32, 0, 2, 32, FALSE, 0, complain_overflow_bitfield,0,"abs32", TRUE, 0xffffffff,0xffffffff,FALSE);
-static reloc_howto_type howto_reloc_pcrel24 =
-  HOWTO (PCREL24, 0, 2, 24, TRUE, 0, complain_overflow_signed,0,"pcrel24", TRUE, 0x00ffffff,0x00ffffff,FALSE);
-static reloc_howto_type howto_reloc_pcrel13 =
-  HOWTO (PCREL13, 0, 2, 13, TRUE, 0, complain_overflow_signed,0,"pcrel13", TRUE, 0x00001fff,0x00001fff,FALSE);
-static reloc_howto_type howto_reloc_abs32codeshrunk =
-  HOWTO (ABS32CODE_SHRUNK, 0, 2, 24, TRUE, 0, complain_overflow_signed, 0,"callx->callj", TRUE, 0x00ffffff, 0x00ffffff,FALSE);
-static  reloc_howto_type howto_reloc_abs32code =
-  HOWTO (ABS32CODE, 0, 2, 32, FALSE, 0, complain_overflow_bitfield,0,"callx", TRUE, 0xffffffff,0xffffffff,FALSE);
-
-static reloc_howto_type howto_align_table[] =
-{
-  HOWTO (ALIGNER, 0, 0x1, 0, FALSE, 0, complain_overflow_dont, 0, "align16", FALSE, 0, 0, FALSE),
-  HOWTO (ALIGNER, 0, 0x3, 0, FALSE, 0, complain_overflow_dont, 0, "align32", FALSE, 0, 0, FALSE),
-  HOWTO (ALIGNER, 0, 0x7, 0, FALSE, 0, complain_overflow_dont, 0, "align64", FALSE, 0, 0, FALSE),
-  HOWTO (ALIGNER, 0, 0xf, 0, FALSE, 0, complain_overflow_dont, 0, "align128", FALSE, 0, 0, FALSE),
-};
-
-static reloc_howto_type howto_done_align_table[] =
-{
-  HOWTO (ALIGNDONE, 0x1, 0x1, 0, FALSE, 0, complain_overflow_dont, 0, "donealign16", FALSE, 0, 0, FALSE),
-  HOWTO (ALIGNDONE, 0x3, 0x3, 0, FALSE, 0, complain_overflow_dont, 0, "donealign32", FALSE, 0, 0, FALSE),
-  HOWTO (ALIGNDONE, 0x7, 0x7, 0, FALSE, 0, complain_overflow_dont, 0, "donealign64", FALSE, 0, 0, FALSE),
-  HOWTO (ALIGNDONE, 0xf, 0xf, 0, FALSE, 0, complain_overflow_dont, 0, "donealign128", FALSE, 0, 0, FALSE),
-};
-
-/* Swaps the information in an executable header taken from a raw byte
-   stream memory image, into the internal exec_header structure.  */
-
-static void
-bout_swap_exec_header_in (bfd *abfd,
-                         struct external_exec *bytes,
-                         struct internal_exec *execp)
-{
-  /* Now fill in fields in the execp, from the bytes in the raw data.  */
-  execp->a_info      = H_GET_32 (abfd, bytes->e_info);
-  execp->a_text      = GET_WORD (abfd, bytes->e_text);
-  execp->a_data      = GET_WORD (abfd, bytes->e_data);
-  execp->a_bss       = GET_WORD (abfd, bytes->e_bss);
-  execp->a_syms      = GET_WORD (abfd, bytes->e_syms);
-  execp->a_entry     = GET_WORD (abfd, bytes->e_entry);
-  execp->a_trsize    = GET_WORD (abfd, bytes->e_trsize);
-  execp->a_drsize    = GET_WORD (abfd, bytes->e_drsize);
-  execp->a_tload     = GET_WORD (abfd, bytes->e_tload);
-  execp->a_dload     = GET_WORD (abfd, bytes->e_dload);
-  execp->a_talign    = bytes->e_talign[0];
-  execp->a_dalign    = bytes->e_dalign[0];
-  execp->a_balign    = bytes->e_balign[0];
-  execp->a_relaxable = bytes->e_relaxable[0];
-}
-
-/* Swaps the information in an internal exec header structure into the
-   supplied buffer ready for writing to disk.  */
-
-static void
-bout_swap_exec_header_out (bfd *abfd,
-                          struct internal_exec *execp,
-                          struct external_exec *bytes)
-{
-  /* Now fill in fields in the raw data, from the fields in the exec struct.  */
-  H_PUT_32 (abfd, execp->a_info  , bytes->e_info);
-  PUT_WORD (abfd, execp->a_text  , bytes->e_text);
-  PUT_WORD (abfd, execp->a_data  , bytes->e_data);
-  PUT_WORD (abfd, execp->a_bss   , bytes->e_bss);
-  PUT_WORD (abfd, execp->a_syms  , bytes->e_syms);
-  PUT_WORD (abfd, execp->a_entry , bytes->e_entry);
-  PUT_WORD (abfd, execp->a_trsize, bytes->e_trsize);
-  PUT_WORD (abfd, execp->a_drsize, bytes->e_drsize);
-  PUT_WORD (abfd, execp->a_tload , bytes->e_tload);
-  PUT_WORD (abfd, execp->a_dload , bytes->e_dload);
-  bytes->e_talign[0]    = execp->a_talign;
-  bytes->e_dalign[0]    = execp->a_dalign;
-  bytes->e_balign[0]    = execp->a_balign;
-  bytes->e_relaxable[0] = execp->a_relaxable;
-}
-
-/* Finish up the opening of a b.out file for reading.  Fill in all the
-   fields that are not handled by common code.  */
-
-static const bfd_target *
-b_out_callback (bfd *abfd)
-{
-  struct internal_exec *execp = exec_hdr (abfd);
-  unsigned long bss_start;
-
-  /* Architecture and machine type.  */
-  bfd_set_arch_mach (abfd,
-                    bfd_arch_i960,     /* B.out only used on i960.  */
-                    bfd_mach_i960_core /* Default.  */
-                    );
-
-  /* The positions of the string table and symbol table.  */
-  obj_str_filepos (abfd) = N_STROFF (execp);
-  obj_sym_filepos (abfd) = N_SYMOFF (execp);
-
-  /* The alignments of the sections.  */
-  obj_textsec (abfd)->alignment_power = execp->a_talign;
-  obj_datasec (abfd)->alignment_power = execp->a_dalign;
-  obj_bsssec  (abfd)->alignment_power = execp->a_balign;
-
-  /* The starting addresses of the sections.  */
-  obj_textsec (abfd)->vma = execp->a_tload;
-  obj_datasec (abfd)->vma = execp->a_dload;
-
-  obj_textsec (abfd)->lma = obj_textsec (abfd)->vma;
-  obj_datasec (abfd)->lma = obj_datasec (abfd)->vma;
-
-  /* And reload the sizes, since the aout module zaps them.  */
-  obj_textsec (abfd)->size = execp->a_text;
-
-  bss_start = execp->a_dload + execp->a_data; /* BSS = end of data section.  */
-  obj_bsssec (abfd)->vma = align_power (bss_start, execp->a_balign);
-
-  obj_bsssec (abfd)->lma = obj_bsssec (abfd)->vma;
-
-  /* The file positions of the sections.  */
-  obj_textsec (abfd)->filepos = N_TXTOFF (execp);
-  obj_datasec (abfd)->filepos = N_DATOFF (execp);
-
-  /* The file positions of the relocation info.  */
-  obj_textsec (abfd)->rel_filepos = N_TROFF (execp);
-  obj_datasec (abfd)->rel_filepos =  N_DROFF (execp);
-
-  adata (abfd).page_size = 1;  /* Not applicable.  */
-  adata (abfd).segment_size = 1; /* Not applicable.  */
-  adata (abfd).exec_bytes_size = EXEC_BYTES_SIZE;
-
-  if (execp->a_relaxable)
-   abfd->flags |= BFD_IS_RELAXABLE;
-  return abfd->xvec;
-}
-
-static const bfd_target *
-b_out_object_p (bfd *abfd)
-{
-  struct internal_exec anexec;
-  struct external_exec exec_bytes;
-  bfd_size_type amt = EXEC_BYTES_SIZE;
-
-  if (bfd_bread ((void *) &exec_bytes, amt, abfd) != amt)
-    {
-      if (bfd_get_error () != bfd_error_system_call)
-       bfd_set_error (bfd_error_wrong_format);
-      return 0;
-    }
-
-  anexec.a_info = H_GET_32 (abfd, exec_bytes.e_info);
-
-  if (N_BADMAG (&anexec))
-    {
-      bfd_set_error (bfd_error_wrong_format);
-      return 0;
-    }
-
-  bout_swap_exec_header_in (abfd, &exec_bytes, &anexec);
-  return aout_32_some_aout_object_p (abfd, &anexec, b_out_callback);
-}
-
-struct bout_data_struct
-  {
-    struct aoutdata a;
-    struct internal_exec e;
-  };
-
-static bfd_boolean
-b_out_mkobject (bfd *abfd)
-{
-  struct bout_data_struct *rawptr;
-  bfd_size_type amt = sizeof (struct bout_data_struct);
-
-  rawptr = bfd_zalloc (abfd, amt);
-  if (rawptr == NULL)
-    return FALSE;
-
-  abfd->tdata.bout_data = rawptr;
-  exec_hdr (abfd) = &rawptr->e;
-
-  obj_textsec (abfd) = NULL;
-  obj_datasec (abfd) = NULL;
-  obj_bsssec (abfd)  = NULL;
-
-  return TRUE;
-}
-
-static int
-b_out_symbol_cmp (const void * a_ptr, const void * b_ptr)
-{
-  struct aout_symbol ** a = (struct aout_symbol **) a_ptr;
-  struct aout_symbol ** b = (struct aout_symbol **) b_ptr;
-  asection *sec;
-  bfd_vma av, bv;
-
-  /* Primary key is address.  */
-  sec = bfd_get_section (&(*a)->symbol);
-  av = sec->output_section->vma + sec->output_offset + (*a)->symbol.value;
-  sec = bfd_get_section (&(*b)->symbol);
-  bv = sec->output_section->vma + sec->output_offset + (*b)->symbol.value;
-
-  if (av < bv)
-    return -1;
-  if (av > bv)
-    return 1;
-
-  /* Secondary key puts CALLNAME syms last and BALNAME syms first,
-     so that they have the best chance of being contiguous.  */
-  if (IS_BALNAME ((*a)->other) || IS_CALLNAME ((*b)->other))
-    return -1;
-  if (IS_CALLNAME ((*a)->other) || IS_BALNAME ((*b)->other))
-    return 1;
-
-  return 0;
-}
-
-static bfd_boolean
-b_out_squirt_out_relocs (bfd *abfd, asection *section)
-{
-  arelent **generic;
-  int r_extern = 0;
-  int r_idx;
-  int incode_mask;
-  int len_1;
-  unsigned int count = section->reloc_count;
-  struct relocation_info *native, *natptr;
-  bfd_size_type natsize;
-  int extern_mask, pcrel_mask, len_2, callj_mask;
-
-  if (count == 0)
-    return TRUE;
-
-  generic = section->orelocation;
-  natsize = (bfd_size_type) count * sizeof (struct relocation_info);
-  native = bfd_malloc (natsize);
-  if (!native && natsize != 0)
-    return FALSE;
-
-  if (bfd_header_big_endian (abfd))
-    {
-      /* Big-endian bit field allocation order.  */
-      pcrel_mask  = 0x80;
-      extern_mask = 0x10;
-      len_2       = 0x40;
-      len_1       = 0x20;
-      callj_mask  = 0x02;
-      incode_mask = 0x08;
-    }
-  else
-    {
-      /* Little-endian bit field allocation order.  */
-      pcrel_mask  = 0x01;
-      extern_mask = 0x08;
-      len_2       = 0x04;
-      len_1       = 0x02;
-      callj_mask  = 0x40;
-      incode_mask = 0x10;
-    }
-
-  for (natptr = native; count > 0; --count, ++natptr, ++generic)
-    {
-      arelent *g = *generic;
-      unsigned char *raw = (unsigned char *) natptr;
-      asymbol *sym = *(g->sym_ptr_ptr);
-      asection *output_section = sym->section->output_section;
-
-      H_PUT_32 (abfd, g->address, raw);
-      /* Find a type in the output format which matches the input howto -
-        at the moment we assume input format == output format FIXME!!  */
-      r_idx = 0;
-      /* FIXME:  Need callj stuff here, and to check the howto entries to
-        be sure they are real for this architecture.  */
-      if (g->howto== &howto_reloc_callj)
-       raw[7] = callj_mask + pcrel_mask + len_2;
-      else if (g->howto == &howto_reloc_pcrel24)
-       raw[7] = pcrel_mask + len_2;
-      else if (g->howto == &howto_reloc_pcrel13)
-       raw[7] = pcrel_mask + len_1;
-      else if (g->howto == &howto_reloc_abs32code)
-       raw[7] = len_2 + incode_mask;
-      else if (g->howto >= howto_align_table
-              && g->howto <= (howto_align_table + ARRAY_SIZE (howto_align_table) - 1))
-       {
-         /* symnum == -2; extern_mask not set, pcrel_mask set.  */
-         r_idx = -2;
-         r_extern = 0;
-         raw[7] = (pcrel_mask
-                   | ((g->howto - howto_align_table) << 1));
-       }
-      else
-       raw[7] = len_2;
-
-      if (r_idx != 0)
-       /* Already mucked with r_extern, r_idx.  */;
-      else if (bfd_is_com_section (output_section)
-              || bfd_is_abs_section (output_section)
-              || bfd_is_und_section (output_section))
-       {
-         if (bfd_abs_section_ptr->symbol == sym)
-           {
-             /* Whoops, looked like an abs symbol, but is really an offset
-                from the abs section.  */
-             r_idx = 0;
-             r_extern = 0;
-           }
-         else
-           {
-             /* Fill in symbol.  */
-             r_extern = 1;
-             r_idx = (*g->sym_ptr_ptr)->udata.i;
-           }
-       }
-      else
-       {
-         /* Just an ordinary section.  */
-         r_extern = 0;
-         r_idx  = output_section->target_index;
-       }
-
-      if (bfd_header_big_endian (abfd))
-       {
-         raw[4] = (unsigned char) (r_idx >> 16);
-         raw[5] = (unsigned char) (r_idx >>  8);
-         raw[6] = (unsigned char) (r_idx      );
-       }
-      else
-       {
-         raw[6] = (unsigned char) (r_idx >> 16);
-         raw[5] = (unsigned char) (r_idx>>   8);
-         raw[4] = (unsigned char) (r_idx      );
-       }
-
-      if (r_extern)
-       raw[7] |= extern_mask;
-    }
-
-  if (bfd_bwrite ((void *) native, natsize, abfd) != natsize)
-    {
-      free (native);
-      return FALSE;
-    }
-
-  free (native);
-
-  return TRUE;
-}
-
-static bfd_boolean
-b_out_write_object_contents (bfd *abfd)
-{
-  struct external_exec swapped_hdr;
-  bfd_size_type amt;
-
-  if (! aout_32_make_sections (abfd))
-    return FALSE;
-
-  exec_hdr (abfd)->a_info = BMAGIC;
-
-  exec_hdr (abfd)->a_text = obj_textsec (abfd)->size;
-  exec_hdr (abfd)->a_data = obj_datasec (abfd)->size;
-  exec_hdr (abfd)->a_bss = obj_bsssec (abfd)->size;
-  exec_hdr (abfd)->a_syms = bfd_get_symcount (abfd) * 12;
-  exec_hdr (abfd)->a_entry = bfd_get_start_address (abfd);
-  exec_hdr (abfd)->a_trsize = (obj_textsec (abfd)->reloc_count) * 8;
-  exec_hdr (abfd)->a_drsize = (obj_datasec (abfd)->reloc_count) * 8;
-
-  exec_hdr (abfd)->a_talign = obj_textsec (abfd)->alignment_power;
-  exec_hdr (abfd)->a_dalign = obj_datasec (abfd)->alignment_power;
-  exec_hdr (abfd)->a_balign = obj_bsssec (abfd)->alignment_power;
-
-  exec_hdr (abfd)->a_tload = obj_textsec (abfd)->vma;
-  exec_hdr (abfd)->a_dload = obj_datasec (abfd)->vma;
-
-  bout_swap_exec_header_out (abfd, exec_hdr (abfd), &swapped_hdr);
-
-  amt = EXEC_BYTES_SIZE;
-  if (bfd_seek (abfd, (file_ptr) 0, SEEK_SET) != 0
-      || bfd_bwrite ((void *) &swapped_hdr, amt, abfd) != amt)
-    return FALSE;
-
-  /* Now write out reloc info, followed by syms and strings */
-  if (bfd_get_symcount (abfd) != 0)
-    {
-      /* Make sure {CALL,BAL}NAME symbols remain adjacent on output
-        by sorting.  This is complicated by the fact that stabs are
-        also ordered.  Solve this by shifting all stabs to the end
-        in order, then sorting the rest.  */
-
-      asymbol **outsyms, **p, **q;
-
-      outsyms = bfd_get_outsymbols (abfd);
-      p = outsyms + bfd_get_symcount (abfd);
-
-      for (q = p--; p >= outsyms; p--)
-       {
-         if ((*p)->flags & BSF_DEBUGGING)
-           {
-             asymbol *t = *--q;
-             *q = *p;
-             *p = t;
-           }
-       }
-
-      if (q > outsyms)
-       qsort (outsyms, (size_t) (q - outsyms), sizeof (asymbol*),
-              b_out_symbol_cmp);
-
-      /* Back to your regularly scheduled program.  */
-      if (bfd_seek (abfd, (file_ptr) (N_SYMOFF (exec_hdr (abfd))), SEEK_SET)
-         != 0)
-       return FALSE;
-
-      if (! aout_32_write_syms (abfd))
-       return FALSE;
-
-      if (bfd_seek (abfd, (file_ptr) (N_TROFF (exec_hdr (abfd))), SEEK_SET)
-         != 0)
-       return FALSE;
-
-      if (!b_out_squirt_out_relocs (abfd, obj_textsec (abfd)))
-       return FALSE;
-      if (bfd_seek (abfd, (file_ptr) (N_DROFF (exec_hdr (abfd))), SEEK_SET)
-         != 0)
-       return FALSE;
-
-      if (!b_out_squirt_out_relocs (abfd, obj_datasec (abfd)))
-       return FALSE;
-    }
-  return TRUE;
-}
-\f
-/* Some reloc hackery.  */
-
-#define CALLS    0x66003800    /* Template for 'calls' instruction     */
-#define BAL      0x0b000000    /* Template for 'bal' instruction       */
-#define BAL_MASK  0x00ffffff
-#define BALX     0x85f00000    /* Template for 'balx' instruction      */
-#define BALX_MASK 0x0007ffff
-#define CALL      0x09000000
-#define PCREL13_MASK 0x1fff
-
-#define output_addr(sec) ((sec)->output_offset+(sec)->output_section->vma)
-
-static bfd_vma
-get_value (arelent *reloc,
-          struct bfd_link_info *link_info,
-          asection *input_section)
-{
-  bfd_vma value;
-  asymbol *symbol = *(reloc->sym_ptr_ptr);
-
-  /* A symbol holds a pointer to a section, and an offset from the
-     base of the section.  To relocate, we find where the section will
-     live in the output and add that in.  */
-  if (bfd_is_und_section (symbol->section))
-    {
-      struct bfd_link_hash_entry *h;
-
-      /* The symbol is undefined in this BFD.  Look it up in the
-        global linker hash table.  FIXME: This should be changed when
-        we convert b.out to use a specific final_link function and
-        change the interface to bfd_relax_section to not require the
-        generic symbols.  */
-      h = bfd_wrapped_link_hash_lookup (input_section->owner, link_info,
-                                       bfd_asymbol_name (symbol),
-                                       FALSE, FALSE, TRUE);
-      if (h != (struct bfd_link_hash_entry *) NULL
-         && (h->type == bfd_link_hash_defined
-             || h->type == bfd_link_hash_defweak))
-       value = h->u.def.value + output_addr (h->u.def.section);
-      else if (h != (struct bfd_link_hash_entry *) NULL
-              && h->type == bfd_link_hash_common)
-       value = h->u.c.size;
-      else
-       {
-         (*link_info->callbacks->undefined_symbol)
-           (link_info, bfd_asymbol_name (symbol),
-            input_section->owner, input_section, reloc->address, TRUE);
-         value = 0;
-       }
-    }
-  else
-    value = symbol->value + output_addr (symbol->section);
-
-  /* Add the value contained in the relocation.  */
-  value += reloc->addend;
-
-  return value;
-}
-
-/* Magic to turn callx into calljx.  */
-
-static bfd_reloc_status_type
-calljx_callback (bfd *abfd,
-                struct bfd_link_info *link_info,
-                arelent *reloc_entry,
-                void * src,
-                void * dst,
-                asection *input_section)
-{
-  int word = bfd_get_32 (abfd, src);
-  asymbol *symbol_in = *(reloc_entry->sym_ptr_ptr);
-  aout_symbol_type *symbol = aout_symbol (symbol_in);
-  bfd_vma value;
-
-  value = get_value (reloc_entry, link_info, input_section);
-
-  if (IS_CALLNAME (symbol->other))
-    {
-      aout_symbol_type *balsym = symbol+1;
-      int inst = bfd_get_32 (abfd, (bfd_byte *) src-4);
-
-      /* The next symbol should be an N_BALNAME.  */
-      BFD_ASSERT (IS_BALNAME (balsym->other));
-      inst &= BALX_MASK;
-      inst |= BALX;
-      bfd_put_32 (abfd, (bfd_vma) inst, (bfd_byte *) dst-4);
-      symbol = balsym;
-      value = (symbol->symbol.value
-              + output_addr (symbol->symbol.section));
-    }
-
-  word += value + reloc_entry->addend;
-
-  bfd_put_32 (abfd, (bfd_vma) word, dst);
-  return bfd_reloc_ok;
-}
-
-/* Magic to turn call into callj.  */
-
-static bfd_reloc_status_type
-callj_callback (bfd *abfd,
-               struct bfd_link_info *link_info,
-               arelent *reloc_entry,
-               void * data,
-               unsigned int srcidx,
-               unsigned int dstidx,
-               asection *input_section,
-               bfd_boolean shrinking)
-{
-  int word = bfd_get_32 (abfd, (bfd_byte *) data + srcidx);
-  asymbol *symbol_in = *(reloc_entry->sym_ptr_ptr);
-  aout_symbol_type *symbol = aout_symbol (symbol_in);
-  bfd_vma value;
-
-  value = get_value (reloc_entry, link_info, input_section);
-
-  if (IS_OTHER (symbol->other))
-    /* Call to a system procedure - replace code with system
-       procedure number.  */
-    word = CALLS | (symbol->other - 1);
-
-  else if (IS_CALLNAME (symbol->other))
-    {
-      aout_symbol_type *balsym = symbol+1;
-
-      /* The next symbol should be an N_BALNAME.  */
-      BFD_ASSERT (IS_BALNAME (balsym->other));
-
-      /* We are calling a leaf, so replace the call instruction with a
-        bal.  */
-      word = BAL | ((word
-                    + output_addr (balsym->symbol.section)
-                    + balsym->symbol.value + reloc_entry->addend
-                    - dstidx
-                    - output_addr (input_section))
-                   & BAL_MASK);
-    }
-  else if ((symbol->symbol.flags & BSF_SECTION_SYM) != 0)
-    {
-      /* A callj against a symbol in the same section is a fully
-        resolved relative call.  We don't need to do anything here.
-        If the symbol is not in the same section, I'm not sure what
-        to do; fortunately, this case will probably never arise.  */
-      BFD_ASSERT (! shrinking);
-      BFD_ASSERT (symbol->symbol.section == input_section);
-    }
-  else
-    word = CALL | (((word & BAL_MASK)
-                   + value
-                   + reloc_entry->addend
-                   - (shrinking ? dstidx : 0)
-                   - output_addr (input_section))
-                  & BAL_MASK);
-
-  bfd_put_32 (abfd, (bfd_vma) word, (bfd_byte *) data + dstidx);
-  return bfd_reloc_ok;
-}
-
-static reloc_howto_type *
-b_out_bfd_reloc_type_lookup (bfd *abfd ATTRIBUTE_UNUSED,
-                            bfd_reloc_code_real_type code)
-{
-  switch (code)
-    {
-    default:
-      return 0;
-    case BFD_RELOC_I960_CALLJ:
-      return &howto_reloc_callj;
-    case BFD_RELOC_32:
-    case BFD_RELOC_CTOR:
-      return &howto_reloc_abs32;
-    case BFD_RELOC_24_PCREL:
-      return &howto_reloc_pcrel24;
-    }
-}
-
-static reloc_howto_type *
-b_out_bfd_reloc_name_lookup (bfd *abfd ATTRIBUTE_UNUSED,
-                            const char *r_name)
-{
-  if (strcasecmp (howto_reloc_callj.name, r_name) == 0)
-    return &howto_reloc_callj;
-  if (strcasecmp (howto_reloc_abs32.name, r_name) == 0)
-    return &howto_reloc_abs32;
-  if (strcasecmp (howto_reloc_pcrel24.name, r_name) == 0)
-    return &howto_reloc_pcrel24;
-
-  return NULL;
-}
-
-/* Allocate enough room for all the reloc entries, plus pointers to them all.  */
-
-static bfd_boolean
-b_out_slurp_reloc_table (bfd *abfd, sec_ptr asect, asymbol **symbols)
-{
-  struct relocation_info *rptr;
-  unsigned int counter;
-  arelent *cache_ptr;
-  int extern_mask, pcrel_mask, callj_mask, length_shift;
-  int incode_mask;
-  int size_mask;
-  bfd_vma prev_addr = 0;
-  unsigned int count;
-  bfd_size_type reloc_size, amt;
-  struct relocation_info *relocs;
-  arelent *reloc_cache;
-
-  if (asect->relocation)
-    return TRUE;
-
-  if (!aout_32_slurp_symbol_table (abfd))
-    return FALSE;
-
-  if (asect == obj_datasec (abfd))
-    reloc_size = exec_hdr (abfd)->a_drsize;
-  else if (asect == obj_textsec (abfd))
-    reloc_size = exec_hdr (abfd)->a_trsize;
-  else if (asect == obj_bsssec (abfd))
-    reloc_size = 0;
-  else
-    {
-      bfd_set_error (bfd_error_invalid_operation);
-      return FALSE;
-    }
-
-  if (bfd_seek (abfd, asect->rel_filepos, SEEK_SET) != 0)
-    return FALSE;
-  count = reloc_size / sizeof (struct relocation_info);
-
-  relocs = bfd_malloc (reloc_size);
-  if (!relocs && reloc_size != 0)
-    return FALSE;
-
-  amt = ((bfd_size_type) count + 1) * sizeof (arelent);
-  reloc_cache = bfd_malloc (amt);
-  if (!reloc_cache)
-    {
-      if (relocs != NULL)
-       free (relocs);
-      return FALSE;
-    }
-
-  if (bfd_bread ((void *) relocs, reloc_size, abfd) != reloc_size)
-    {
-      free (reloc_cache);
-      if (relocs != NULL)
-       free (relocs);
-      return FALSE;
-    }
-
-  if (bfd_header_big_endian (abfd))
-    {
-      /* Big-endian bit field allocation order.  */
-      pcrel_mask  = 0x80;
-      extern_mask = 0x10;
-      incode_mask = 0x08;
-      callj_mask  = 0x02;
-      size_mask =   0x20;
-      length_shift = 5;
-    }
-  else
-    {
-      /* Little-endian bit field allocation order.  */
-      pcrel_mask  = 0x01;
-      extern_mask = 0x08;
-      incode_mask = 0x10;
-      callj_mask  = 0x40;
-      size_mask   = 0x02;
-      length_shift = 1;
-    }
-
-  for (rptr = relocs, cache_ptr = reloc_cache, counter = 0;
-       counter < count;
-       counter++, rptr++, cache_ptr++)
-  {
-    unsigned char *raw = (unsigned char *)rptr;
-    unsigned int symnum;
-
-    cache_ptr->address = H_GET_32 (abfd, raw + 0);
-    cache_ptr->howto = 0;
-
-    if (bfd_header_big_endian (abfd))
-      symnum = (raw[4] << 16) | (raw[5] << 8) | raw[6];
-    else
-      symnum = (raw[6] << 16) | (raw[5] << 8) | raw[4];
-
-    if (raw[7] & extern_mask)
-      {
-       /* If this is set then the r_index is an index into the symbol table;
-          if the bit is not set then r_index contains a section map.
-          We either fill in the sym entry with a pointer to the symbol,
-          or point to the correct section.  */
-      cache_ptr->sym_ptr_ptr = symbols + symnum;
-      cache_ptr->addend = 0;
-      }
-    else
-      {
-       /* In a.out symbols are relative to the beginning of the
-          file rather than sections ?
-          (look in translate_from_native_sym_flags)
-          The reloc entry addend has added to it the offset into the
-          file of the data, so subtract the base to make the reloc
-          section relative.  */
-       int s;
-
-       /* Sign-extend symnum from 24 bits to whatever host uses.  */
-       s = symnum;
-       if (s & (1 << 23))
-         s |= (~0U) << 24;
-
-       cache_ptr->sym_ptr_ptr = (asymbol **)NULL;
-       switch (s)
-         {
-         case N_TEXT:
-         case N_TEXT | N_EXT:
-           cache_ptr->sym_ptr_ptr = obj_textsec (abfd)->symbol_ptr_ptr;
-           cache_ptr->addend = - obj_textsec (abfd)->vma;
-           break;
-         case N_DATA:
-         case N_DATA | N_EXT:
-           cache_ptr->sym_ptr_ptr = obj_datasec (abfd)->symbol_ptr_ptr;
-           cache_ptr->addend = - obj_datasec (abfd)->vma;
-           break;
-         case N_BSS:
-         case N_BSS | N_EXT:
-           cache_ptr->sym_ptr_ptr = obj_bsssec (abfd)->symbol_ptr_ptr;
-           cache_ptr->addend =  - obj_bsssec (abfd)->vma;
-           break;
-         case N_ABS:
-         case N_ABS | N_EXT:
-           cache_ptr->sym_ptr_ptr = obj_bsssec (abfd)->symbol_ptr_ptr;
-           cache_ptr->addend = 0;
-           break;
-         case -2: /* .align */
-           if (raw[7] & pcrel_mask)
-             {
-               cache_ptr->howto = &howto_align_table[(raw[7] >> length_shift) & 3];
-               cache_ptr->sym_ptr_ptr = bfd_abs_section_ptr->symbol_ptr_ptr;
-             }
-           else
-             {
-               /* .org? */
-               abort ();
-             }
-           cache_ptr->addend = 0;
-           break;
-         default:
-           BFD_ASSERT (FALSE);
-           break;
-         }
-      }
-
-    /* The i960 only has a few relocation types:
-       abs 32-bit and pcrel 24bit.   except for callj's!  */
-    if (cache_ptr->howto != 0)
-      ;
-    else if (raw[7] & callj_mask)
-      {
-       cache_ptr->howto = &howto_reloc_callj;
-      }
-    else if ( raw[7] & pcrel_mask)
-      {
-       if (raw[7] & size_mask)
-         cache_ptr->howto = &howto_reloc_pcrel13;
-       else
-         cache_ptr->howto = &howto_reloc_pcrel24;
-      }
-    else
-      {
-       if (raw[7] & incode_mask)
-         cache_ptr->howto = &howto_reloc_abs32code;
-       else
-         cache_ptr->howto = &howto_reloc_abs32;
-      }
-
-    if (cache_ptr->address < prev_addr)
-      {
-       /* Ouch! this reloc is out of order, insert into the right place.  */
-       arelent tmp;
-       arelent *cursor = cache_ptr-1;
-       bfd_vma stop = cache_ptr->address;
-
-       tmp  = *cache_ptr;
-       while (cursor->address > stop && cursor >= reloc_cache)
-         {
-           cursor[1] = cursor[0];
-           cursor--;
-         }
-
-       cursor[1] = tmp;
-      }
-    else
-      prev_addr = cache_ptr->address;
-  }
-
-  if (relocs != NULL)
-    free (relocs);
-  asect->relocation = reloc_cache;
-  asect->reloc_count = count;
-
-  return TRUE;
-}
-
-/* This is stupid.  This function should be a boolean predicate.  */
-
-static long
-b_out_canonicalize_reloc (bfd *abfd,
-                         sec_ptr section,
-                         arelent **relptr,
-                         asymbol **symbols)
-{
-  arelent *tblptr;
-  unsigned int count;
-
-  if ((section->flags & SEC_CONSTRUCTOR) != 0)
-    {
-      arelent_chain *chain = section->constructor_chain;
-
-      for (count = 0; count < section->reloc_count; count++)
-       {
-         *relptr++ = &chain->relent;
-         chain = chain->next;
-       }
-    }
-  else
-    {
-      if (section->relocation == NULL
-         && ! b_out_slurp_reloc_table (abfd, section, symbols))
-       return -1;
-
-      tblptr = section->relocation;
-      for (count = 0; count++ < section->reloc_count;)
-       *relptr++ = tblptr++;
-    }
-
-  *relptr = NULL;
-
-  return section->reloc_count;
-}
-
-static long
-b_out_get_reloc_upper_bound (bfd *abfd, sec_ptr asect)
-{
-  if (bfd_get_format (abfd) != bfd_object)
-    {
-      bfd_set_error (bfd_error_invalid_operation);
-      return -1;
-    }
-
-  if (asect->flags & SEC_CONSTRUCTOR)
-    return sizeof (arelent *) * (asect->reloc_count + 1);
-
-  if (asect == obj_datasec (abfd))
-    return (sizeof (arelent *) *
-           ((exec_hdr (abfd)->a_drsize / sizeof (struct relocation_info))
-            + 1));
-
-  if (asect == obj_textsec (abfd))
-    return (sizeof (arelent *) *
-           ((exec_hdr (abfd)->a_trsize / sizeof (struct relocation_info))
-            + 1));
-
-  if (asect == obj_bsssec (abfd))
-    return 0;
-
-  bfd_set_error (bfd_error_invalid_operation);
-  return -1;
-}
-
-\f
-static bfd_boolean
-b_out_set_section_contents (bfd *abfd,
-                           asection *section,
-                           const void * location,
-                           file_ptr offset,
-                           bfd_size_type count)
-{
-  if (! abfd->output_has_begun)
-    {
-      /* Set by bfd.c handler.  */
-      if (! aout_32_make_sections (abfd))
-       return FALSE;
-
-      obj_textsec (abfd)->filepos = sizeof (struct external_exec);
-      obj_datasec (abfd)->filepos = obj_textsec (abfd)->filepos
-       +  obj_textsec (abfd)->size;
-    }
-
-  /* Regardless, once we know what we're doing, we might as well get going.  */
-  if (bfd_seek (abfd, section->filepos + offset, SEEK_SET) != 0)
-    return FALSE;
-
-  if (count == 0)
-    return TRUE;
-
-  return bfd_bwrite ((void *) location, count, abfd) == count;
-}
-
-static bfd_boolean
-b_out_set_arch_mach (bfd *abfd,
-                    enum bfd_architecture arch,
-                    unsigned long machine)
-{
-  bfd_default_set_arch_mach (abfd, arch, machine);
-
-  if (arch == bfd_arch_unknown)        /* Unknown machine arch is OK.  */
-    return TRUE;
-
-  if (arch == bfd_arch_i960)   /* i960 default is OK.  */
-    switch (machine)
-      {
-      case bfd_mach_i960_core:
-      case bfd_mach_i960_kb_sb:
-      case bfd_mach_i960_mc:
-      case bfd_mach_i960_xa:
-      case bfd_mach_i960_ca:
-      case bfd_mach_i960_ka_sa:
-      case bfd_mach_i960_jx:
-      case bfd_mach_i960_hx:
-      case 0:
-       return TRUE;
-      default:
-       return FALSE;
-      }
-
-  return FALSE;
-}
-
-static int
-b_out_sizeof_headers (bfd *ignore_abfd ATTRIBUTE_UNUSED,
-                     struct bfd_link_info *info ATTRIBUTE_UNUSED)
-{
-  return sizeof (struct external_exec);
-}
-\f
-static void
-perform_slip (bfd *abfd,
-             unsigned int slip,
-             asection *input_section,
-             bfd_vma value)
-{
-  asymbol **s;
-
-  s = _bfd_generic_link_get_symbols (abfd);
-  BFD_ASSERT (s != (asymbol **) NULL);
-
-  /* Find all symbols past this point, and make them know
-     what's happened.  */
-  while (*s)
-    {
-      asymbol *p = *s;
-
-      if (p->section == input_section)
-       {
-         /* This was pointing into this section, so mangle it.  */
-         if (p->value > value)
-           {
-             p->value -=slip;
-
-             if (p->udata.p != NULL)
-               {
-                 struct generic_link_hash_entry *h;
-
-                 h = (struct generic_link_hash_entry *) p->udata.p;
-                 BFD_ASSERT (h->root.type == bfd_link_hash_defined);
-                 h->root.u.def.value -= slip;
-                 BFD_ASSERT (h->root.u.def.value == p->value);
-               }
-           }
-       }
-      s++;
-    }
-}
-
-/* This routine works out if the thing we want to get to can be
-   reached with a 24bit offset instead of a 32 bit one.
-   If it can, then it changes the amode.  */
-
-static int
-abs32code (bfd *abfd,
-          asection *input_section,
-          arelent *r,
-          unsigned int shrink,
-          struct bfd_link_info *link_info)
-{
-  bfd_vma value = get_value (r, link_info, input_section);
-  bfd_vma dot = output_addr (input_section) + r->address;
-  bfd_vma gap;
-
-  /* See if the address we're looking at within 2^23 bytes of where
-     we are, if so then we can use a small branch rather than the
-     jump we were going to.  */
-  gap = value - (dot - shrink);
-
-  if ((long)(-1UL << 23) < (long)gap && (long)gap < 1L << 23)
-    {
-      /* Change the reloc type from 32bitcode possible 24, to 24bit
-        possible 32.  */
-      r->howto = &howto_reloc_abs32codeshrunk;
-      /* The place to relc moves back by four bytes.  */
-      r->address -=4;
-
-      /* This will be four bytes smaller in the long run.  */
-      shrink += 4 ;
-      perform_slip (abfd, 4, input_section, r->address-shrink + 4);
-    }
-
-  return shrink;
-}
-
-static int
-aligncode (bfd *abfd,
-          asection *input_section,
-          arelent *r,
-          unsigned int shrink)
-{
-  bfd_vma dot = output_addr (input_section) + r->address;
-  bfd_vma old_end;
-  bfd_vma new_end;
-  unsigned int shrink_delta;
-  int size = r->howto->size;
-
-  /* Reduce the size of the alignment so that it's still aligned but
-     smaller  - the current size is already the same size as or bigger
-     than the alignment required.  */
-
-  /* Calculate the first byte following the padding before we optimize.  */
-  old_end = ((dot + size ) & ~size) + size+1;
-  /* Work out where the new end will be - remember that we're smaller
-     than we used to be.  */
-  new_end = ((dot - shrink + size) & ~size);
-
-  shrink_delta = (old_end - new_end) - shrink;
-
-  if (shrink_delta)
-    {
-      /* Change the reloc so that it knows how far to align to.  */
-      r->howto = howto_done_align_table + (r->howto - howto_align_table);
-
-      /* Encode the stuff into the addend - for future use we need to
-        know how big the reloc used to be.  */
-      r->addend = old_end - dot + r->address;
-
-      /* This will be N bytes smaller in the long run, adjust all the symbols.  */
-      perform_slip (abfd, shrink_delta, input_section, r->address - shrink);
-      shrink += shrink_delta;
-    }
-
-  return shrink;
-}
-
-static bfd_boolean
-b_out_bfd_relax_section (bfd *abfd,
-                        asection *i,
-                        struct bfd_link_info *link_info,
-                        bfd_boolean *again)
-{
-  /* Get enough memory to hold the stuff.  */
-  bfd *input_bfd = i->owner;
-  asection *input_section = i;
-  unsigned int shrink = 0 ;
-  arelent **reloc_vector = NULL;
-  long reloc_size = bfd_get_reloc_upper_bound (input_bfd, input_section);
-
-  if (bfd_link_relocatable (link_info))
-    (*link_info->callbacks->einfo)
-      (_("%P%F: --relax and -r may not be used together\n"));
-
-  if (reloc_size < 0)
-    return FALSE;
-
-  /* We only run this relaxation once.  It might work to run it
-     multiple times, but it hasn't been tested.  */
-  *again = FALSE;
-
-  if (reloc_size)
-    {
-      long reloc_count;
-
-      reloc_vector = bfd_malloc ((bfd_size_type) reloc_size);
-      if (reloc_vector == NULL && reloc_size != 0)
-       goto error_return;
-
-      /* Get the relocs and think about them.  */
-      reloc_count =
-       bfd_canonicalize_reloc (input_bfd, input_section, reloc_vector,
-                               _bfd_generic_link_get_symbols (input_bfd));
-      if (reloc_count < 0)
-       goto error_return;
-      if (reloc_count > 0)
-       {
-         arelent **parent;
-
-         for (parent = reloc_vector; *parent; parent++)
-           {
-             arelent *r = *parent;
-
-             switch (r->howto->type)
-               {
-               case ALIGNER:
-                 /* An alignment reloc.  */
-                 shrink = aligncode (abfd, input_section, r, shrink);
-                 break;
-               case ABS32CODE:
-                 /* A 32bit reloc in an addressing mode.  */
-                 shrink = abs32code (input_bfd, input_section, r, shrink,
-                                     link_info);
-                 break;
-               case ABS32CODE_SHRUNK:
-                 shrink += 4;
-                 break;
-               }
-           }
-       }
-    }
-  input_section->size -= shrink;
-
-  if (reloc_vector != NULL)
-    free (reloc_vector);
-  return TRUE;
- error_return:
-  if (reloc_vector != NULL)
-    free (reloc_vector);
-  return FALSE;
-}
-
-static bfd_byte *
-b_out_bfd_get_relocated_section_contents (bfd *output_bfd,
-                                         struct bfd_link_info *link_info,
-                                         struct bfd_link_order *link_order,
-                                         bfd_byte *data,
-                                         bfd_boolean relocatable,
-                                         asymbol **symbols)
-{
-  /* Get enough memory to hold the stuff.  */
-  bfd *input_bfd = link_order->u.indirect.section->owner;
-  asection *input_section = link_order->u.indirect.section;
-  long reloc_size = bfd_get_reloc_upper_bound (input_bfd, input_section);
-  arelent **reloc_vector = NULL;
-  long reloc_count;
-
-  if (reloc_size < 0)
-    goto error_return;
-
-  /* If producing relocatable output, don't bother to relax.  */
-  if (relocatable)
-    return bfd_generic_get_relocated_section_contents (output_bfd, link_info,
-                                                      link_order,
-                                                      data, relocatable,
-                                                      symbols);
-
-  reloc_vector = bfd_malloc ((bfd_size_type) reloc_size);
-  if (reloc_vector == NULL && reloc_size != 0)
-    goto error_return;
-
-  /* Read in the section.  */
-  BFD_ASSERT (bfd_get_section_contents (input_bfd,
-                                       input_section,
-                                       data,
-                                       (bfd_vma) 0,
-                                       input_section->size));
-
-  reloc_count = bfd_canonicalize_reloc (input_bfd,
-                                       input_section,
-                                       reloc_vector,
-                                       symbols);
-  if (reloc_count < 0)
-    goto error_return;
-  if (reloc_count > 0)
-    {
-      arelent **parent = reloc_vector;
-      arelent *reloc ;
-      unsigned int dst_address = 0;
-      unsigned int src_address = 0;
-      unsigned int run;
-      unsigned int idx;
-
-      /* Find how long a run we can do.  */
-      while (dst_address < link_order->size)
-       {
-         reloc = *parent;
-         if (reloc)
-           {
-             /* Note that the relaxing didn't tie up the addresses in the
-                relocation, so we use the original address to work out the
-                run of non-relocated data.  */
-             BFD_ASSERT (reloc->address >= src_address);
-             run = reloc->address - src_address;
-             parent++;
-           }
-         else
-           run = link_order->size - dst_address;
-
-         /* Copy the bytes.  */
-         for (idx = 0; idx < run; idx++)
-           data[dst_address++] = data[src_address++];
-
-         /* Now do the relocation.  */
-         if (reloc)
-           {
-             switch (reloc->howto->type)
-               {
-               case ABS32CODE:
-                 calljx_callback (input_bfd, link_info, reloc,
-                                  src_address + data, dst_address + data,
-                                  input_section);
-                 src_address += 4;
-                 dst_address += 4;
-                 break;
-               case ABS32:
-                 bfd_put_32 (input_bfd,
-                             (bfd_get_32 (input_bfd, data + src_address)
-                              + get_value (reloc, link_info, input_section)),
-                             data + dst_address);
-                 src_address += 4;
-                 dst_address += 4;
-                 break;
-               case CALLJ:
-                 callj_callback (input_bfd, link_info, reloc, data,
-                                 src_address, dst_address, input_section,
-                                 FALSE);
-                 src_address += 4;
-                 dst_address += 4;
-                 break;
-               case ALIGNDONE:
-                 BFD_ASSERT (reloc->addend >= src_address);
-                 BFD_ASSERT ((bfd_vma) reloc->addend
-                             <= input_section->size);
-                 src_address = reloc->addend;
-                 dst_address = ((dst_address + reloc->howto->size)
-                                & ~reloc->howto->size);
-                 break;
-               case ABS32CODE_SHRUNK:
-                 /* This used to be a callx, but we've found out that a
-                    callj will reach, so do the right thing.  */
-                 callj_callback (input_bfd, link_info, reloc, data,
-                                 src_address + 4, dst_address, input_section,
-                                 TRUE);
-                 dst_address += 4;
-                 src_address += 8;
-                 break;
-               case PCREL24:
-                 {
-                   long int word = bfd_get_32 (input_bfd,
-                                               data + src_address);
-                   bfd_vma value;
-
-                   value = get_value (reloc, link_info, input_section);
-                   word = ((word & ~BAL_MASK)
-                           | (((word & BAL_MASK)
-                               + value
-                               - output_addr (input_section)
-                               + reloc->addend)
-                              & BAL_MASK));
-
-                   bfd_put_32 (input_bfd, (bfd_vma) word, data + dst_address);
-                   dst_address += 4;
-                   src_address += 4;
-
-                 }
-                 break;
-               case PCREL13:
-                 {
-                   long int word = bfd_get_32 (input_bfd,
-                                               data + src_address);
-                   bfd_vma value;
-
-                   value = get_value (reloc, link_info, input_section);
-                   word = ((word & ~PCREL13_MASK)
-                           | (((word & PCREL13_MASK)
-                               + value
-                               + reloc->addend
-                               - output_addr (input_section))
-                              & PCREL13_MASK));
-
-                   bfd_put_32 (input_bfd, (bfd_vma) word, data + dst_address);
-                   dst_address += 4;
-                   src_address += 4;
-                 }
-                 break;
-
-               default:
-                 abort ();
-               }
-           }
-       }
-    }
-  if (reloc_vector != NULL)
-    free (reloc_vector);
-  return data;
- error_return:
-  if (reloc_vector != NULL)
-    free (reloc_vector);
-  return NULL;
-}
-\f
-
-/* Build the transfer vectors for Big and Little-Endian B.OUT files.  */
-
-#define aout_32_find_line                     _bfd_nosymbols_find_line
-#define aout_32_get_symbol_version_string      _bfd_nosymbols_get_symbol_version_string
-#define aout_32_bfd_make_debug_symbol         _bfd_nosymbols_bfd_make_debug_symbol
-#define aout_32_close_and_cleanup             aout_32_bfd_free_cached_info
-#define b_out_bfd_link_hash_table_create       _bfd_generic_link_hash_table_create
-#define b_out_bfd_link_add_symbols            _bfd_generic_link_add_symbols
-#define b_out_bfd_link_just_syms              _bfd_generic_link_just_syms
-#define b_out_bfd_copy_link_hash_symbol_type \
-  _bfd_generic_copy_link_hash_symbol_type
-#define b_out_bfd_final_link                  _bfd_generic_final_link
-#define b_out_bfd_link_split_section          _bfd_generic_link_split_section
-#define b_out_bfd_gc_sections                 bfd_generic_gc_sections
-#define b_out_bfd_lookup_section_flags        bfd_generic_lookup_section_flags
-#define b_out_bfd_merge_sections              bfd_generic_merge_sections
-#define b_out_bfd_is_group_section            bfd_generic_is_group_section
-#define b_out_bfd_discard_group                       bfd_generic_discard_group
-#define b_out_section_already_linked          _bfd_generic_section_already_linked
-#define b_out_bfd_define_common_symbol        bfd_generic_define_common_symbol
-#define b_out_bfd_define_start_stop           bfd_generic_define_start_stop
-#define aout_32_get_section_contents_in_window _bfd_generic_get_section_contents_in_window
-#define b_out_bfd_link_check_relocs           _bfd_generic_link_check_relocs
-#define b_out_set_reloc                               _bfd_generic_set_reloc
-
-extern const bfd_target bout_le_vec;
-
-const bfd_target bout_be_vec =
-{
-  "b.out.big",                 /* Name.  */
-  bfd_target_aout_flavour,
-  BFD_ENDIAN_LITTLE,           /* Data byte order.  */
-  BFD_ENDIAN_BIG,              /* Header byte order.  */
-  (HAS_RELOC | EXEC_P |                /* Object flags.  */
-   HAS_LINENO | HAS_DEBUG |
-   HAS_SYMS | HAS_LOCALS | WP_TEXT | BFD_IS_RELAXABLE ),
-  (SEC_HAS_CONTENTS | SEC_ALLOC | SEC_LOAD | SEC_RELOC | SEC_CODE | SEC_DATA),
-  '_',                         /* Symbol leading char.  */
-  ' ',                         /* AR_pad_char.  */
-  16,                          /* AR_max_namelen.  */
-  0,                           /* match priority.  */
-  bfd_getl64, bfd_getl_signed_64, bfd_putl64,
-     bfd_getl32, bfd_getl_signed_32, bfd_putl32,
-     bfd_getl16, bfd_getl_signed_16, bfd_putl16, /* Data.  */
-  bfd_getb64, bfd_getb_signed_64, bfd_putb64,
-     bfd_getb32, bfd_getb_signed_32, bfd_putb32,
-     bfd_getb16, bfd_getb_signed_16, bfd_putb16, /* Headers.  */
-
-  {                            /* bfd_check_format.  */
-    _bfd_dummy_target,
-    b_out_object_p,
-    bfd_generic_archive_p,
-    _bfd_dummy_target
-  },
-  {                            /* bfd_set_format.  */
-    _bfd_bool_bfd_false_error,
-    b_out_mkobject,
-    _bfd_generic_mkarchive,
-    _bfd_bool_bfd_false_error
-  },
-  {                            /* bfd_write_contents.  */
-    _bfd_bool_bfd_false_error,
-    b_out_write_object_contents,
-    _bfd_write_archive_contents,
-    _bfd_bool_bfd_false_error
-  },
-
-  BFD_JUMP_TABLE_GENERIC (aout_32),
-  BFD_JUMP_TABLE_COPY (_bfd_generic),
-  BFD_JUMP_TABLE_CORE (_bfd_nocore),
-  BFD_JUMP_TABLE_ARCHIVE (_bfd_archive_bsd),
-  BFD_JUMP_TABLE_SYMBOLS (aout_32),
-  BFD_JUMP_TABLE_RELOCS (b_out),
-  BFD_JUMP_TABLE_WRITE (b_out),
-  BFD_JUMP_TABLE_LINK (b_out),
-  BFD_JUMP_TABLE_DYNAMIC (_bfd_nodynamic),
-
-  &bout_le_vec,
-
-  NULL
-};
-
-const bfd_target bout_le_vec =
-{
-  "b.out.little",              /* Name.  */
-  bfd_target_aout_flavour,
-  BFD_ENDIAN_LITTLE,           /* Data byte order.  */
-  BFD_ENDIAN_LITTLE,           /* Header byte order.  */
-  (HAS_RELOC | EXEC_P |                /* Object flags.  */
-   HAS_LINENO | HAS_DEBUG |
-   HAS_SYMS | HAS_LOCALS | WP_TEXT | BFD_IS_RELAXABLE ),
-  (SEC_HAS_CONTENTS | SEC_ALLOC | SEC_LOAD | SEC_RELOC | SEC_CODE | SEC_DATA),
-  '_',                         /* Symbol leading char.  */
-  ' ',                         /* AR_pad_char.  */
-  16,                          /* AR_max_namelen.  */
-  0,                           /* match priority.  */
-  bfd_getl64, bfd_getl_signed_64, bfd_putl64,
-    bfd_getl32, bfd_getl_signed_32, bfd_putl32,
-     bfd_getl16, bfd_getl_signed_16, bfd_putl16, /* Data.  */
-  bfd_getl64, bfd_getl_signed_64, bfd_putl64,
-     bfd_getl32, bfd_getl_signed_32, bfd_putl32,
-     bfd_getl16, bfd_getl_signed_16, bfd_putl16, /* Headers.  */
-
-  {                            /* bfd_check_format.  */
-    _bfd_dummy_target,
-    b_out_object_p,
-    bfd_generic_archive_p,
-    _bfd_dummy_target
-  },
-  {                            /* bfd_set_format.  */
-    _bfd_bool_bfd_false_error,
-    b_out_mkobject,
-    _bfd_generic_mkarchive,
-    _bfd_bool_bfd_false_error
-  },
-  {                            /* bfd_write_contents.  */
-    _bfd_bool_bfd_false_error,
-    b_out_write_object_contents,
-    _bfd_write_archive_contents,
-    _bfd_bool_bfd_false_error
-  },
-
-  BFD_JUMP_TABLE_GENERIC (aout_32),
-  BFD_JUMP_TABLE_COPY (_bfd_generic),
-  BFD_JUMP_TABLE_CORE (_bfd_nocore),
-  BFD_JUMP_TABLE_ARCHIVE (_bfd_archive_bsd),
-  BFD_JUMP_TABLE_SYMBOLS (aout_32),
-  BFD_JUMP_TABLE_RELOCS (b_out),
-  BFD_JUMP_TABLE_WRITE (b_out),
-  BFD_JUMP_TABLE_LINK (b_out),
-  BFD_JUMP_TABLE_DYNAMIC (_bfd_nodynamic),
-
-  &bout_be_vec,
-
-  NULL
-};
diff --git a/bfd/coff-i860.c b/bfd/coff-i860.c
deleted file mode 100644 (file)
index 9ff96ea..0000000
+++ /dev/null
@@ -1,730 +0,0 @@
-/* BFD back-end for Intel i860 COFF files.
-   Copyright (C) 1990-2018 Free Software Foundation, Inc.
-   Created mostly by substituting "860" for "386" in coff-i386.c
-   Harry Dolan <dolan@ssd.intel.com>, October 1995
-
-   This file is part of BFD, the Binary File Descriptor library.
-
-   This program 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 3 of the License, or
-   (at your option) any later version.
-
-   This program 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 this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston,
-   MA 02110-1301, USA.  */
-
-#include "sysdep.h"
-#include "bfd.h"
-#include "libbfd.h"
-
-#include "coff/i860.h"
-
-#include "coff/internal.h"
-
-#ifndef bfd_pe_print_pdata
-#define bfd_pe_print_pdata     NULL
-#endif
-
-#include "libcoff.h"
-
-
-#define COFF_DEFAULT_SECTION_ALIGNMENT_POWER (2)
-/* The page size is a guess based on ELF.  */
-
-#define COFF_PAGE_SIZE 0x1000
-
-/* For some reason when using i860 COFF the value stored in the .text
-   section for a reference to a common symbol is the value itself plus
-   any desired offset.  Ian Taylor, Cygnus Support.  */
-
-/* If we are producing relocatable output, we need to do some
-   adjustments to the object file that are not done by the
-   bfd_perform_relocation function.  This function is called by every
-   reloc type to make any required adjustments.  */
-
-static bfd_reloc_status_type
-coff_i860_reloc (bfd *abfd,
-                arelent *reloc_entry,
-                asymbol *symbol,
-                void *data,
-                asection *input_section ATTRIBUTE_UNUSED,
-                bfd *output_bfd,
-                char **error_message ATTRIBUTE_UNUSED)
-{
-  symvalue diff;
-
-  if (output_bfd == (bfd *) NULL)
-    return bfd_reloc_continue;
-
-  if (bfd_is_com_section (symbol->section))
-    {
-      /* We are relocating a common symbol.  The current value in the
-        object file is ORIG + OFFSET, where ORIG is the value of the
-        common symbol as seen by the object file when it was compiled
-        (this may be zero if the symbol was undefined) and OFFSET is
-        the offset into the common symbol (normally zero, but may be
-        non-zero when referring to a field in a common structure).
-        ORIG is the negative of reloc_entry->addend, which is set by
-        the CALC_ADDEND macro below.  We want to replace the value in
-        the object file with NEW + OFFSET, where NEW is the value of
-        the common symbol which we are going to put in the final
-        object file.  NEW is symbol->value.  */
-      diff = symbol->value + reloc_entry->addend;
-    }
-  else
-    {
-      /* For some reason bfd_perform_relocation always effectively
-        ignores the addend for a COFF target when producing
-        relocatable output.  This seems to be always wrong for 860
-        COFF, so we handle the addend here instead.  */
-      diff = reloc_entry->addend;
-    }
-
-#define DOIT(x) \
-  x = ((x & ~howto->dst_mask) | (((x & howto->src_mask) + diff) & howto->dst_mask))
-
-    if (diff != 0)
-      {
-       reloc_howto_type *howto = reloc_entry->howto;
-       unsigned char *addr = (unsigned char *) data + reloc_entry->address;
-
-       if (! bfd_reloc_offset_in_range (howto, abfd, input_section,
-                                        reloc_entry->address
-                                        * bfd_octets_per_byte (abfd)))
-         return bfd_reloc_outofrange;
-
-       switch (howto->size)
-         {
-         case 0:
-           {
-             char x = bfd_get_8 (abfd, addr);
-             DOIT (x);
-             bfd_put_8 (abfd, x, addr);
-           }
-           break;
-
-         case 1:
-           {
-             short x = bfd_get_16 (abfd, addr);
-             DOIT (x);
-             bfd_put_16 (abfd, (bfd_vma) x, addr);
-           }
-           break;
-
-         case 2:
-           {
-             long x = bfd_get_32 (abfd, addr);
-             DOIT (x);
-             bfd_put_32 (abfd, (bfd_vma) x, addr);
-           }
-           break;
-
-         default:
-           abort ();
-         }
-      }
-
-  /* Now let bfd_perform_relocation finish everything up.  */
-  return bfd_reloc_continue;
-}
-
-/* This is just a temporary measure until we teach bfd to generate
-   these relocations.  */
-
-static bfd_reloc_status_type
-coff_i860_reloc_nyi (bfd *abfd,
-                    arelent *reloc_entry,
-                    asymbol *symbol ATTRIBUTE_UNUSED,
-                    void *data ATTRIBUTE_UNUSED,
-                    asection *input_section ATTRIBUTE_UNUSED,
-                    bfd *output_bfd ATTRIBUTE_UNUSED,
-                    char **error_message ATTRIBUTE_UNUSED)
-{
-  reloc_howto_type *howto = reloc_entry->howto;
-  _bfd_error_handler (_("%pB: %s unsupported"), abfd, howto->name);
-  return bfd_reloc_notsupported;
-}
-
-#ifndef PCRELOFFSET
-#define PCRELOFFSET FALSE
-#endif
-
-static reloc_howto_type howto_table[] =
-{
-  EMPTY_HOWTO (0),
-  EMPTY_HOWTO (1),
-  EMPTY_HOWTO (2),
-  EMPTY_HOWTO (3),
-  EMPTY_HOWTO (4),
-  EMPTY_HOWTO (5),
-  HOWTO (R_DIR32,              /* type */
-        0,                     /* rightshift */
-        2,                     /* size (0 = byte, 1 = short, 2 = long) */
-        32,                    /* bitsize */
-        FALSE,                 /* pc_relative */
-        0,                     /* bitpos */
-        complain_overflow_bitfield, /* complain_on_overflow */
-        coff_i860_reloc,       /* special_function */
-        "dir32",               /* name */
-        TRUE,                  /* partial_inplace */
-        0xffffffff,            /* src_mask */
-        0xffffffff,            /* dst_mask */
-        TRUE),                /* pcrel_offset */
-  /* {7}, */
-  HOWTO (R_IMAGEBASE,           /* type */
-        0,                     /* rightshift */
-        2,                     /* size (0 = byte, 1 = short, 2 = long) */
-        32,                    /* bitsize */
-        FALSE,                 /* pc_relative */
-        0,                     /* bitpos */
-        complain_overflow_bitfield, /* complain_on_overflow */
-        coff_i860_reloc,       /* special_function */
-        "rva32",                  /* name */
-        TRUE,                  /* partial_inplace */
-        0xffffffff,            /* src_mask */
-        0xffffffff,            /* dst_mask */
-        FALSE),                /* pcrel_offset */
-  EMPTY_HOWTO (010),
-  EMPTY_HOWTO (011),
-  EMPTY_HOWTO (012),
-  EMPTY_HOWTO (013),
-  EMPTY_HOWTO (014),
-  EMPTY_HOWTO (015),
-  EMPTY_HOWTO (016),
-  HOWTO (R_RELBYTE,            /* type */
-        0,                     /* rightshift */
-        0,                     /* size (0 = byte, 1 = short, 2 = long) */
-        8,                     /* bitsize */
-        FALSE,                 /* pc_relative */
-        0,                     /* bitpos */
-        complain_overflow_bitfield, /* complain_on_overflow */
-        coff_i860_reloc,       /* special_function */
-        "8",                   /* name */
-        TRUE,                  /* partial_inplace */
-        0x000000ff,            /* src_mask */
-        0x000000ff,            /* dst_mask */
-        PCRELOFFSET),          /* pcrel_offset */
-  HOWTO (R_RELWORD,            /* type */
-        0,                     /* rightshift */
-        1,                     /* size (0 = byte, 1 = short, 2 = long) */
-        16,                    /* bitsize */
-        FALSE,                 /* pc_relative */
-        0,                     /* bitpos */
-        complain_overflow_bitfield, /* complain_on_overflow */
-        coff_i860_reloc,       /* special_function */
-        "16",                  /* name */
-        TRUE,                  /* partial_inplace */
-        0x0000ffff,            /* src_mask */
-        0x0000ffff,            /* dst_mask */
-        PCRELOFFSET),          /* pcrel_offset */
-  HOWTO (R_RELLONG,            /* type */
-        0,                     /* rightshift */
-        2,                     /* size (0 = byte, 1 = short, 2 = long) */
-        32,                    /* bitsize */
-        FALSE,                 /* pc_relative */
-        0,                     /* bitpos */
-        complain_overflow_bitfield, /* complain_on_overflow */
-        coff_i860_reloc,       /* special_function */
-        "32",                  /* name */
-        TRUE,                  /* partial_inplace */
-        0xffffffff,            /* src_mask */
-        0xffffffff,            /* dst_mask */
-        PCRELOFFSET),          /* pcrel_offset */
-  HOWTO (R_PCRBYTE,            /* type */
-        0,                     /* rightshift */
-        0,                     /* size (0 = byte, 1 = short, 2 = long) */
-        8,                     /* bitsize */
-        TRUE,                  /* pc_relative */
-        0,                     /* bitpos */
-        complain_overflow_signed, /* complain_on_overflow */
-        coff_i860_reloc,       /* special_function */
-        "DISP8",               /* name */
-        TRUE,                  /* partial_inplace */
-        0x000000ff,            /* src_mask */
-        0x000000ff,            /* dst_mask */
-        PCRELOFFSET),          /* pcrel_offset */
-  HOWTO (R_PCRWORD,            /* type */
-        0,                     /* rightshift */
-        1,                     /* size (0 = byte, 1 = short, 2 = long) */
-        16,                    /* bitsize */
-        TRUE,                  /* pc_relative */
-        0,                     /* bitpos */
-        complain_overflow_signed, /* complain_on_overflow */
-        coff_i860_reloc,       /* special_function */
-        "DISP16",              /* name */
-        TRUE,                  /* partial_inplace */
-        0x0000ffff,            /* src_mask */
-        0x0000ffff,            /* dst_mask */
-        PCRELOFFSET),          /* pcrel_offset */
-  HOWTO (R_PCRLONG,            /* type */
-        0,                     /* rightshift */
-        2,                     /* size (0 = byte, 1 = short, 2 = long) */
-        32,                    /* bitsize */
-        TRUE,                  /* pc_relative */
-        0,                     /* bitpos */
-        complain_overflow_signed, /* complain_on_overflow */
-        coff_i860_reloc,       /* special_function */
-        "DISP32",              /* name */
-        TRUE,                  /* partial_inplace */
-        0xffffffff,            /* src_mask */
-        0xffffffff,            /* dst_mask */
-        PCRELOFFSET),          /* pcrel_offset */
-  EMPTY_HOWTO (0x15),
-  EMPTY_HOWTO (0x16),
-  EMPTY_HOWTO (0x17),
-  EMPTY_HOWTO (0x18),
-  EMPTY_HOWTO (0x19),
-  EMPTY_HOWTO (0x1a),
-  EMPTY_HOWTO (0x1b),
-  HOWTO (COFF860_R_PAIR,       /* type */
-        0,                     /* rightshift */
-        2,                     /* size (0 = byte, 1 = short, 2 = long) */
-        16,                    /* bitsize */
-        FALSE,                 /* pc_relative */
-        0,                     /* bitpos */
-        complain_overflow_dont, /* complain_on_overflow */
-        coff_i860_reloc_nyi,   /* special_function */
-        "PAIR",                /* name */
-        FALSE,                 /* partial_inplace */
-        0xffff,                /* src_mask */
-        0xffff,                /* dst_mask */
-        FALSE),                /* pcrel_offset */
-  EMPTY_HOWTO (0x1d),
-  HOWTO (COFF860_R_HIGH,       /* type */
-        16,                    /* rightshift */
-        2,                     /* size (0 = byte, 1 = short, 2 = long) */
-        16,                    /* bitsize */
-        FALSE,                 /* pc_relative */
-        0,                     /* bitpos */
-        complain_overflow_dont, /* complain_on_overflow */
-        coff_i860_reloc,       /* special_function */
-        "HIGH",                /* name */
-        FALSE,                 /* partial_inplace */
-        0xffff,                /* src_mask */
-        0xffff,                /* dst_mask */
-        FALSE),                /* pcrel_offset */
-  HOWTO (COFF860_R_LOW0,       /* type */
-        0,                     /* rightshift */
-        2,                     /* size (0 = byte, 1 = short, 2 = long) */
-        16,                    /* bitsize */
-        FALSE,                 /* pc_relative */
-        0,                     /* bitpos */
-        complain_overflow_dont, /* complain_on_overflow */
-        coff_i860_reloc,       /* special_function */
-        "LOW0",                /* name */
-        FALSE,                 /* partial_inplace */
-        0xffff,                /* src_mask */
-        0xffff,                /* dst_mask */
-        FALSE),                /* pcrel_offset */
-  HOWTO (COFF860_R_LOW1,       /* type */
-        0,                     /* rightshift */
-        2,                     /* size (0 = byte, 1 = short, 2 = long) */
-        16,                    /* bitsize */
-        FALSE,                 /* pc_relative */
-        0,                     /* bitpos */
-        complain_overflow_dont, /* complain_on_overflow */
-        coff_i860_reloc,       /* special_function */
-        "LOW1",                /* name */
-        FALSE,                 /* partial_inplace */
-        0xfffe,                /* src_mask */
-        0xfffe,                /* dst_mask */
-        FALSE),                /* pcrel_offset */
-  HOWTO (COFF860_R_LOW2,       /* type */
-        0,                     /* rightshift */
-        2,                     /* size (0 = byte, 1 = short, 2 = long) */
-        16,                    /* bitsize */
-        FALSE,                 /* pc_relative */
-        0,                     /* bitpos */
-        complain_overflow_dont, /* complain_on_overflow */
-        coff_i860_reloc,       /* special_function */
-        "LOW2",                /* name */
-        FALSE,                 /* partial_inplace */
-        0xfffc,                /* src_mask */
-        0xfffc,                /* dst_mask */
-        FALSE),                /* pcrel_offset */
-  HOWTO (COFF860_R_LOW3,       /* type */
-        0,                     /* rightshift */
-        2,                     /* size (0 = byte, 1 = short, 2 = long) */
-        16,                    /* bitsize */
-        FALSE,                 /* pc_relative */
-        0,                     /* bitpos */
-        complain_overflow_dont, /* complain_on_overflow */
-        coff_i860_reloc,       /* special_function */
-        "LOW3",                /* name */
-        FALSE,                 /* partial_inplace */
-        0xfff8,                /* src_mask */
-        0xfff8,                /* dst_mask */
-        FALSE),                /* pcrel_offset */
-  HOWTO (COFF860_R_LOW4,       /* type */
-        0,                     /* rightshift */
-        2,                     /* size (0 = byte, 1 = short, 2 = long) */
-        16,                    /* bitsize */
-        FALSE,                 /* pc_relative */
-        0,                     /* bitpos */
-        complain_overflow_dont, /* complain_on_overflow */
-        coff_i860_reloc,       /* special_function */
-        "LOW4",                /* name */
-        FALSE,                 /* partial_inplace */
-        0xfff0,                /* src_mask */
-        0xfff0,                /* dst_mask */
-        FALSE),                /* pcrel_offset */
-  HOWTO (COFF860_R_SPLIT0,     /* type */
-        0,                     /* rightshift */
-        2,                     /* size (0 = byte, 1 = short, 2 = long) */
-        16,                    /* bitsize */
-        FALSE,                 /* pc_relative */
-        0,                     /* bitpos */
-        complain_overflow_dont, /* complain_on_overflow */
-        coff_i860_reloc_nyi,   /* special_function */
-        "SPLIT0",              /* name */
-        FALSE,                 /* partial_inplace */
-        0x1f07ff,              /* src_mask */
-        0x1f07ff,              /* dst_mask */
-        FALSE),                /* pcrel_offset */
-  HOWTO (COFF860_R_SPLIT1,     /* type */
-        0,                     /* rightshift */
-        2,                     /* size (0 = byte, 1 = short, 2 = long) */
-        16,                    /* bitsize */
-        FALSE,                 /* pc_relative */
-        0,                     /* bitpos */
-        complain_overflow_dont, /* complain_on_overflow */
-        coff_i860_reloc_nyi,   /* special_function */
-        "SPLIT1",              /* name */
-        FALSE,                 /* partial_inplace */
-        0x1f07fe,              /* src_mask */
-        0x1f07fe,              /* dst_mask */
-        FALSE),                /* pcrel_offset */
-  HOWTO (COFF860_R_SPLIT2,     /* type */
-        0,                     /* rightshift */
-        2,                     /* size (0 = byte, 1 = short, 2 = long) */
-        16,                    /* bitsize */
-        FALSE,                 /* pc_relative */
-        0,                     /* bitpos */
-        complain_overflow_dont, /* complain_on_overflow */
-        coff_i860_reloc_nyi,   /* special_function */
-        "SPLIT2",              /* name */
-        FALSE,                 /* partial_inplace */
-        0x1f07fc,              /* src_mask */
-        0x1f07fc,              /* dst_mask */
-        FALSE),                /* pcrel_offset */
-  HOWTO (COFF860_R_HIGHADJ,    /* type */
-        0,                     /* rightshift */
-        2,                     /* size (0 = byte, 1 = short, 2 = long) */
-        16,                    /* bitsize */
-        FALSE,                 /* pc_relative */
-        0,                     /* bitpos */
-        complain_overflow_dont, /* complain_on_overflow */
-        coff_i860_reloc_nyi,   /* special_function */
-        "HIGHADJ",             /* name */
-        FALSE,                 /* partial_inplace */
-        0xffff,                /* src_mask */
-        0xffff,                /* dst_mask */
-        FALSE),                /* pcrel_offset */
-  HOWTO (COFF860_R_BRADDR,     /* type */
-        2,                     /* rightshift */
-        2,                     /* size (0 = byte, 1 = short, 2 = long) */
-        26,                    /* bitsize */
-        TRUE,                  /* pc_relative */
-        0,                     /* bitpos */
-        complain_overflow_bitfield, /* complain_on_overflow */
-        coff_i860_reloc_nyi,   /* special_function */
-        "BRADDR",              /* name */
-        FALSE,                 /* partial_inplace */
-        0x3ffffff,             /* src_mask */
-        0x3ffffff,             /* dst_mask */
-        TRUE)                  /* pcrel_offset */
-};
-
-/* Turn a howto into a reloc number.  */
-
-#define SELECT_RELOC(x,howto) { x.r_type = howto->type; }
-#define BADMAG(x) I860BADMAG(x)
-#define I860 1                 /* Customize coffcode.h */
-
-#define RTYPE2HOWTO(cache_ptr, dst)                                    \
-  ((cache_ptr)->howto =                                                        \
-   ((dst)->r_type < sizeof (howto_table) / sizeof (howto_table[0])     \
-    ? howto_table + (dst)->r_type                                      \
-    : NULL))
-
-/* For 860 COFF a STYP_NOLOAD | STYP_BSS section is part of a shared
-   library.  On some other COFF targets STYP_BSS is normally
-   STYP_NOLOAD.  */
-#define BSS_NOLOAD_IS_SHARED_LIBRARY
-
-/* Compute the addend of a reloc.  If the reloc is to a common symbol,
-   the object file contains the value of the common symbol.  By the
-   time this is called, the linker may be using a different symbol
-   from a different object file with a different value.  Therefore, we
-   hack wildly to locate the original symbol from this file so that we
-   can make the correct adjustment.  This macro sets coffsym to the
-   symbol from the original file, and uses it to set the addend value
-   correctly.  If this is not a common symbol, the usual addend
-   calculation is done, except that an additional tweak is needed for
-   PC relative relocs.
-   FIXME: This macro refers to symbols and asect; these are from the
-   calling function, not the macro arguments.  */
-
-/* PR 17512: file: 0a38fb7c
-   Set an addend value, even if it is not going to be used.  A tool
-   like coffdump might be used to print out the contents of the reloc.  */
-#define CALC_ADDEND(abfd, ptr, reloc, cache_ptr) (cache_ptr)->addend = 0
-
-/* We use the special COFF backend linker.  */
-#define coff_relocate_section _bfd_coff_generic_relocate_section
-
-static reloc_howto_type *
-coff_i860_rtype_to_howto (bfd *abfd ATTRIBUTE_UNUSED,
-                         asection *sec,
-                         struct internal_reloc *rel,
-                         struct coff_link_hash_entry *h,
-                         struct internal_syment *sym,
-                         bfd_vma *addendp)
-{
-
-  reloc_howto_type *howto;
-
-  if (rel->r_type > sizeof (howto_table) / sizeof (howto_table[0]))
-    {
-      bfd_set_error (bfd_error_bad_value);
-      return NULL;
-    }
-
-  howto = howto_table + rel->r_type;
-
-  if (howto->pc_relative)
-    *addendp += sec->vma;
-
-  if (sym != NULL && sym->n_scnum == 0 && sym->n_value != 0)
-    {
-      /* This is a common symbol.  The section contents include the
-        size (sym->n_value) as an addend.  The relocate_section
-        function will be adding in the final value of the symbol.  We
-        need to subtract out the current size in order to get the
-        correct result.  */
-
-      BFD_ASSERT (h != NULL);
-
-      /* I think we *do* want to bypass this.  If we don't, I have seen some data
-        parameters get the wrong relocation address.  If I link two versions
-        with and without this section bypassed and then do a binary comparison,
-        the addresses which are different can be looked up in the map.  The
-        case in which this section has been bypassed has addresses which correspond
-        to values I can find in the map.  */
-      *addendp -= sym->n_value;
-    }
-
-  /* If the output symbol is common (in which case this must be a
-     relocatable link), we need to add in the final size of the
-     common symbol.  */
-  if (h != NULL && h->root.type == bfd_link_hash_common)
-    *addendp += h->root.u.c.size;
-
-  return howto;
-}
-
-static reloc_howto_type *
-coff_i860_reloc_type_lookup (bfd *abfd ATTRIBUTE_UNUSED,
-                            bfd_reloc_code_real_type code)
-{
-  switch (code)
-    {
-    case BFD_RELOC_32:
-      return howto_table + R_DIR32;
-    case BFD_RELOC_860_PC26:
-      return howto_table + COFF860_R_BRADDR;
-    case BFD_RELOC_860_PC16:
-      /* ??? How to handle PC16 for COFF?  SPLIT0 is close for now.  */
-      return howto_table + COFF860_R_SPLIT0;
-    case BFD_RELOC_860_LOW0:
-      return howto_table + COFF860_R_LOW0;
-    case BFD_RELOC_860_SPLIT0:
-      return howto_table + COFF860_R_SPLIT0;
-    case BFD_RELOC_860_LOW1:
-      return howto_table + COFF860_R_LOW1;
-    case BFD_RELOC_860_SPLIT1:
-      return howto_table + COFF860_R_SPLIT1;
-    case BFD_RELOC_860_LOW2:
-      return howto_table + COFF860_R_LOW2;
-    case BFD_RELOC_860_SPLIT2:
-      return howto_table + COFF860_R_SPLIT2;
-    case BFD_RELOC_860_LOW3:
-      return howto_table + COFF860_R_LOW3;
-    case BFD_RELOC_860_HIGHADJ:
-      return howto_table + COFF860_R_HIGHADJ;
-    case BFD_RELOC_860_HIGH:
-      return howto_table + COFF860_R_HIGH;
-    default:
-      BFD_FAIL ();
-      return 0;
-    }
-}
-
-static reloc_howto_type *
-coff_i860_reloc_name_lookup (bfd *abfd ATTRIBUTE_UNUSED,
-                            const char *r_name)
-{
-  unsigned int i;
-
-  for (i = 0; i < sizeof (howto_table) / sizeof (howto_table[0]); i++)
-    if (howto_table[i].name != NULL
-       && strcasecmp (howto_table[i].name, r_name) == 0)
-      return &howto_table[i];
-
-  return NULL;
-}
-
-/* This is called from coff_slurp_reloc_table for each relocation
-   entry.  This special handling is due to the `PAIR' relocation
-   which has a different meaning for the `r_symndx' field.  */
-
-static void
-i860_reloc_processing (arelent *cache_ptr, struct internal_reloc *dst,
-                      asymbol **symbols, bfd *abfd, asection *asect)
-{
-  if (dst->r_type == COFF860_R_PAIR)
-    {
-      /* Handle the PAIR relocation specially.  */
-      cache_ptr->howto = howto_table + dst->r_type;
-      cache_ptr->address = dst->r_vaddr;
-      cache_ptr->addend = dst->r_symndx;
-      cache_ptr->sym_ptr_ptr= bfd_abs_section_ptr->symbol_ptr_ptr;
-    }
-  else
-    {
-      /* For every other relocation, do exactly what coff_slurp_reloc_table
-        would do (which this code is taken directly from).  */
-      asymbol *ptr = NULL;
-      cache_ptr->address = dst->r_vaddr;
-
-      if (dst->r_symndx != -1)
-       {
-         if (dst->r_symndx < 0 || dst->r_symndx >= obj_conv_table_size (abfd))
-           {
-             _bfd_error_handler
-               /* xgettext: c-format */
-               (_("%pB: warning: illegal symbol index %ld in relocs"),
-                abfd, dst->r_symndx);
-             cache_ptr->sym_ptr_ptr = bfd_abs_section_ptr->symbol_ptr_ptr;
-             ptr = NULL;
-           }
-         else
-           {
-             cache_ptr->sym_ptr_ptr = (symbols
-                                       + obj_convert (abfd)[dst->r_symndx]);
-             ptr = *(cache_ptr->sym_ptr_ptr);
-           }
-       }
-      else
-       {
-         cache_ptr->sym_ptr_ptr = bfd_abs_section_ptr->symbol_ptr_ptr;
-         ptr = NULL;
-       }
-
-      /* The symbols definitions that we have read in have been
-        relocated as if their sections started at 0. But the offsets
-        refering to the symbols in the raw data have not been
-        modified, so we have to have a negative addend to compensate.
-
-        Note that symbols which used to be common must be left alone.  */
-
-      /* Calculate any reloc addend by looking at the symbol.  */
-      CALC_ADDEND (abfd, ptr, (*dst), cache_ptr);
-      (void) ptr;
-
-      cache_ptr->address -= asect->vma;
-
-      /* Fill in the cache_ptr->howto field from dst->r_type.  */
-      RTYPE2HOWTO (cache_ptr, dst);
-    }
-}
-\f
-#define coff_rtype_to_howto            coff_i860_rtype_to_howto
-#define coff_bfd_reloc_type_lookup     coff_i860_reloc_type_lookup
-#define coff_bfd_reloc_name_lookup coff_i860_reloc_name_lookup
-
-#define RELOC_PROCESSING(relent, reloc, symbols, abfd, section) \
-  i860_reloc_processing (relent, reloc, symbols, abfd, section)
-
-#include "coffcode.h"
-
-static const bfd_target *
-i3coff_object_p(bfd *a)
-{
-  return coff_object_p (a);
-}
-
-const bfd_target
-#ifdef TARGET_SYM
-  TARGET_SYM =
-#else
-  i860_coff_vec =
-#endif
-{
-#ifdef TARGET_NAME
-  TARGET_NAME,
-#else
-  "coff-i860",                 /* name */
-#endif
-  bfd_target_coff_flavour,
-  BFD_ENDIAN_LITTLE,           /* data byte order is little */
-  BFD_ENDIAN_LITTLE,           /* header byte order is little */
-
-  (HAS_RELOC | EXEC_P          /* object flags */
-   | HAS_LINENO | HAS_DEBUG
-   | HAS_SYMS | HAS_LOCALS | WP_TEXT | D_PAGED),
-
-  (SEC_HAS_CONTENTS | SEC_ALLOC | SEC_LOAD | SEC_RELOC), /* section flags */
-  '_',                         /* leading underscore */
-  '/',                         /* ar_pad_char */
-  15,                          /* ar_max_namelen */
-  0,                           /* match priority.  */
-
-  bfd_getl64, bfd_getl_signed_64, bfd_putl64,
-     bfd_getl32, bfd_getl_signed_32, bfd_putl32,
-     bfd_getl16, bfd_getl_signed_16, bfd_putl16, /* data */
-  bfd_getl64, bfd_getl_signed_64, bfd_putl64,
-     bfd_getl32, bfd_getl_signed_32, bfd_putl32,
-     bfd_getl16, bfd_getl_signed_16, bfd_putl16, /* hdrs */
-
-/* Note that we allow an object file to be treated as a core file as well.  */
-  {                            /* bfd_check_format */
-    _bfd_dummy_target,
-    i3coff_object_p,
-    bfd_generic_archive_p,
-    i3coff_object_p
-  },
-  {                            /* bfd_set_format */
-    _bfd_bool_bfd_false_error,
-    coff_mkobject,
-    _bfd_generic_mkarchive,
-    _bfd_bool_bfd_false_error
-  },
-  {                            /* bfd_write_contents */
-    _bfd_bool_bfd_false_error,
-    coff_write_object_contents,
-    _bfd_write_archive_contents,
-    _bfd_bool_bfd_false_error
-  },
-
-  BFD_JUMP_TABLE_GENERIC (coff),
-  BFD_JUMP_TABLE_COPY (coff),
-  BFD_JUMP_TABLE_CORE (_bfd_nocore),
-  BFD_JUMP_TABLE_ARCHIVE (_bfd_archive_coff),
-  BFD_JUMP_TABLE_SYMBOLS (coff),
-  BFD_JUMP_TABLE_RELOCS (coff),
-  BFD_JUMP_TABLE_WRITE (coff),
-  BFD_JUMP_TABLE_LINK (coff),
-  BFD_JUMP_TABLE_DYNAMIC (_bfd_nodynamic),
-
-  NULL,
-
-  COFF_SWAP_TABLE
-};
diff --git a/bfd/coff-i960.c b/bfd/coff-i960.c
deleted file mode 100644 (file)
index 4e68d44..0000000
+++ /dev/null
@@ -1,666 +0,0 @@
-/* BFD back-end for Intel 960 COFF files.
-   Copyright (C) 1990-2018 Free Software Foundation, Inc.
-   Written by Cygnus Support.
-
-   This file is part of BFD, the Binary File Descriptor library.
-
-   This program 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 3 of the License, or
-   (at your option) any later version.
-
-   This program 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 this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston,
-   MA 02110-1301, USA.  */
-
-#define I960 1
-#define BADMAG(x) I960BADMAG(x)
-
-#include "sysdep.h"
-#include "bfd.h"
-#include "libbfd.h"
-#include "coff/i960.h"
-#include "coff/internal.h"
-
-#ifndef bfd_pe_print_pdata
-#define bfd_pe_print_pdata     NULL
-#endif
-
-#include "libcoff.h"           /* To allow easier abstraction-breaking.  */
-
-
-#define COFF_DEFAULT_SECTION_ALIGNMENT_POWER (3)
-#define COFF_ALIGN_IN_SECTION_HEADER 1
-
-#define GET_SCNHDR_ALIGN H_GET_32
-#define PUT_SCNHDR_ALIGN H_PUT_32
-
-/* The i960 does not support an MMU, so COFF_PAGE_SIZE can be
-   arbitrarily small.  */
-#define COFF_PAGE_SIZE 1
-
-#define COFF_LONG_FILENAMES
-
-/* This set of local label names is taken from gas.  */
-
-static bfd_boolean
-coff_i960_is_local_label_name (bfd *abfd ATTRIBUTE_UNUSED, const char *name)
-{
-  return (name[0] == 'L'
-         || (name[0] == '.'
-             && (name[1] == 'C'
-                 || name[1] == 'I'
-                 || name[1] == '.')));
-}
-
-/* This is just like the usual CALC_ADDEND, but it includes the
-   section VMA for PC relative relocs.  */
-#ifndef CALC_ADDEND
-#define CALC_ADDEND(abfd, ptr, reloc, cache_ptr)               \
-  {                                                            \
-    coff_symbol_type *coffsym = (coff_symbol_type *) NULL;     \
-    if (ptr && bfd_asymbol_bfd (ptr) != abfd)                  \
-      coffsym = (obj_symbols (abfd)                            \
-                + (cache_ptr->sym_ptr_ptr - symbols));         \
-    else if (ptr)                                              \
-      coffsym = coff_symbol_from (ptr);                                \
-    if (coffsym != (coff_symbol_type *) NULL                   \
-       && coffsym->native->u.syment.n_scnum == 0)              \
-      cache_ptr->addend = 0;                                   \
-    else if (ptr && bfd_asymbol_bfd (ptr) == abfd              \
-            && ptr->section != (asection *) NULL)              \
-      cache_ptr->addend = - (ptr->section->vma + ptr->value);  \
-    else                                                       \
-      cache_ptr->addend = 0;                                   \
-    if (ptr && (reloc.r_type == 25 || reloc.r_type == 27))     \
-      cache_ptr->addend += asect->vma;                         \
-  }
-#endif
-
-#define CALLS   0x66003800     /* Template for 'calls' instruction     */
-#define BAL     0x0b000000     /* Template for 'bal' instruction       */
-#define BAL_MASK 0x00ffffff
-
-static bfd_reloc_status_type
-optcall_callback (bfd *abfd,
-                 arelent *reloc_entry,
-                 asymbol *symbol_in,
-                 void * data,
-                 asection *input_section,
-                 bfd *ignore_bfd ATTRIBUTE_UNUSED,
-                 char **error_message)
-{
-  /* This item has already been relocated correctly, but we may be
-   * able to patch in yet better code - done by digging out the
-   * correct info on this symbol */
-  bfd_reloc_status_type result;
-  coff_symbol_type *cs = coffsymbol(symbol_in);
-
-  /* Don't do anything with symbols which aren't tied up yet,
-     except move the reloc.  */
-  if (bfd_is_und_section (cs->symbol.section)) {
-    reloc_entry->address += input_section->output_offset;
-    return bfd_reloc_ok;
-  }
-
-  /* So the target symbol has to be of coff type, and the symbol
-     has to have the correct native information within it */
-  if ((bfd_asymbol_flavour(&cs->symbol) != bfd_target_coff_flavour)
-      || (cs->native == (combined_entry_type *)NULL))
-    {
-      /* This is interesting, consider the case where we're outputting coff
-        from a mix n match input, linking from coff to a symbol defined in a
-        bout file will cause this match to be true. Should I complain?  This
-        will only work if the bout symbol is non leaf.  */
-      *error_message =
-       (char *) _("uncertain calling convention for non-COFF symbol");
-      result = bfd_reloc_dangerous;
-    }
-  else
-    {
-    switch (cs->native->u.syment.n_sclass)
-      {
-      case C_LEAFSTAT:
-      case C_LEAFEXT:
-       /* This is a call to a leaf procedure, replace instruction with a bal
-          to the correct location.  */
-       {
-         union internal_auxent *aux = &((cs->native+2)->u.auxent);
-         int word = bfd_get_32 (abfd, (bfd_byte *)data + reloc_entry->address);
-         int olf = (aux->x_bal.x_balntry - cs->native->u.syment.n_value);
-         BFD_ASSERT(cs->native->u.syment.n_numaux==2);
-
-         /* We replace the original call instruction with a bal to
-            the bal entry point - the offset of which is described in
-            the 2nd auxent of the original symbol. We keep the native
-            sym and auxents untouched, so the delta between the two
-            is the offset of the bal entry point.  */
-         word = ((word +  olf)  & BAL_MASK) | BAL;
-         bfd_put_32 (abfd, (bfd_vma) word,
-                     (bfd_byte *) data + reloc_entry->address);
-       }
-       result = bfd_reloc_ok;
-       break;
-      case C_SCALL:
-       /* This is a call to a system call, replace with a calls to # */
-       BFD_ASSERT(0);
-       result = bfd_reloc_ok;
-       break;
-      default:
-       result = bfd_reloc_ok;
-       break;
-      }
-  }
-  return result;
-}
-
-/* i960 COFF is used by VxWorks 5.1.  However, VxWorks 5.1 does not
-   appear to correctly handle a reloc against a symbol defined in the
-   same object file.  It appears to simply discard such relocs, rather
-   than adding their values into the object file.  We handle this here
-   by converting all relocs against defined symbols into relocs
-   against the section symbol, when generating a relocatable output
-   file.
-
-   Note that this function is only called if we are not using the COFF
-   specific backend linker.  It only does something when doing a
-   relocatable link, which will almost certainly fail when not
-   generating COFF i960 output, so this function is actually no longer
-   useful.  It was used before this target was converted to use the
-   COFF specific backend linker.  */
-
-static bfd_reloc_status_type
-coff_i960_relocate (bfd *abfd,
-                   arelent *reloc_entry,
-                   asymbol *symbol,
-                   void * data ATTRIBUTE_UNUSED,
-                   asection *input_section ATTRIBUTE_UNUSED,
-                   bfd *output_bfd,
-                   char **error_message ATTRIBUTE_UNUSED)
-{
-  asection *osec;
-
-  if (output_bfd == NULL)
-    {
-      /* Not generating relocatable output file.  */
-      return bfd_reloc_continue;
-    }
-
-  if (bfd_is_und_section (bfd_get_section (symbol)))
-    {
-      /* Symbol is not defined, so no need to worry about it.  */
-      return bfd_reloc_continue;
-    }
-
-  if (bfd_is_com_section (bfd_get_section (symbol)))
-    {
-      /* I don't really know what the right action is for a common
-        symbol.  */
-      return bfd_reloc_continue;
-    }
-
-  /* Convert the reloc to use the section symbol.  FIXME: This method
-     is ridiculous.  */
-  osec = bfd_get_section (symbol)->output_section;
-  if (coff_section_data (output_bfd, osec) != NULL
-      && coff_section_data (output_bfd, osec)->tdata != NULL)
-    reloc_entry->sym_ptr_ptr =
-      (asymbol **) coff_section_data (output_bfd, osec)->tdata;
-  else
-    {
-      const char *sec_name;
-      asymbol **syms, **sym_end;
-
-      sec_name = bfd_get_section_name (output_bfd, osec);
-      syms = bfd_get_outsymbols (output_bfd);
-      sym_end = syms + bfd_get_symcount (output_bfd);
-      for (; syms < sym_end; syms++)
-       {
-         if (bfd_asymbol_name (*syms) != NULL
-             && (*syms)->value == 0
-             && strcmp ((*syms)->section->output_section->name,
-                        sec_name) == 0)
-           break;
-       }
-
-      if (syms >= sym_end)
-       abort ();
-
-      reloc_entry->sym_ptr_ptr = syms;
-
-      if (coff_section_data (output_bfd, osec) == NULL)
-       {
-         bfd_size_type amt = sizeof (struct coff_section_tdata);
-         osec->used_by_bfd = bfd_zalloc (abfd, amt);
-         if (osec->used_by_bfd == NULL)
-           return bfd_reloc_overflow;
-       }
-      coff_section_data (output_bfd, osec)->tdata = syms;
-    }
-
-  /* Let bfd_perform_relocation do its thing, which will include
-     stuffing the symbol addend into the object file.  */
-  return bfd_reloc_continue;
-}
-
-static reloc_howto_type howto_rellong =
-  HOWTO ((unsigned int) R_RELLONG, 0, 2, 32,FALSE, 0,
-        complain_overflow_bitfield, coff_i960_relocate,"rellong", TRUE,
-        0xffffffff, 0xffffffff, 0);
-static reloc_howto_type howto_iprmed =
-  HOWTO (R_IPRMED, 0, 2, 24,TRUE,0, complain_overflow_signed,
-        coff_i960_relocate, "iprmed ", TRUE, 0x00ffffff, 0x00ffffff, 0);
-static reloc_howto_type howto_optcall =
-  HOWTO (R_OPTCALL, 0,2,24,TRUE,0, complain_overflow_signed,
-        optcall_callback, "optcall", TRUE, 0x00ffffff, 0x00ffffff, 0);
-
-static reloc_howto_type *
-coff_i960_reloc_type_lookup (bfd *abfd ATTRIBUTE_UNUSED,
-                            bfd_reloc_code_real_type code)
-{
-  switch (code)
-    {
-    default:
-      return 0;
-    case BFD_RELOC_I960_CALLJ:
-      return &howto_optcall;
-    case BFD_RELOC_32:
-    case BFD_RELOC_CTOR:
-      return &howto_rellong;
-    case BFD_RELOC_24_PCREL:
-      return &howto_iprmed;
-    }
-}
-
-static reloc_howto_type *
-coff_i960_reloc_name_lookup (bfd *abfd ATTRIBUTE_UNUSED,
-                            const char *r_name)
-{
-  if (strcasecmp (howto_optcall.name, r_name) == 0)
-    return &howto_optcall;
-  if (strcasecmp (howto_rellong.name, r_name) == 0)
-    return &howto_rellong;
-  if (strcasecmp (howto_iprmed.name, r_name) == 0)
-    return &howto_iprmed;
-
-  return NULL;
-}
-
-/* The real code is in coffcode.h */
-
-#define RTYPE2HOWTO(cache_ptr, dst) \
-{                                                      \
-   reloc_howto_type *howto_ptr;                                \
-   switch ((dst)->r_type) {                            \
-     case 17: howto_ptr = &howto_rellong; break;       \
-     case 25: howto_ptr = &howto_iprmed; break;                \
-     case 27: howto_ptr = &howto_optcall; break;       \
-     default: howto_ptr = 0; break;                    \
-     }                                                 \
-   (cache_ptr)->howto = howto_ptr;                     \
- }
-
-/* i960 COFF is used by VxWorks 5.1.  However, VxWorks 5.1 does not
-   appear to correctly handle a reloc against a symbol defined in the
-   same object file.  It appears to simply discard such relocs, rather
-   than adding their values into the object file.  We handle this by
-   converting all relocs against global symbols into relocs against
-   internal symbols at the start of the section.  This routine is
-   called at the start of the linking process, and it creates the
-   necessary symbols.  */
-
-static bfd_boolean
-coff_i960_start_final_link (bfd *abfd, struct bfd_link_info *info)
-{
-  bfd_size_type symesz = bfd_coff_symesz (abfd);
-  asection *o;
-  bfd_byte *esym;
-
-  if (! bfd_link_relocatable (info))
-    return TRUE;
-
-  esym = (bfd_byte *) bfd_malloc (symesz);
-  if (esym == NULL)
-    return FALSE;
-
-  if (bfd_seek (abfd, obj_sym_filepos (abfd), SEEK_SET) != 0)
-    return FALSE;
-
-  for (o = abfd->sections; o != NULL; o = o->next)
-    {
-      struct internal_syment isym;
-
-      strncpy (isym._n._n_name, o->name, SYMNMLEN);
-      isym.n_value = 0;
-      isym.n_scnum = o->target_index;
-      isym.n_type = T_NULL;
-      isym.n_sclass = C_STAT;
-      isym.n_numaux = 0;
-
-      bfd_coff_swap_sym_out (abfd, &isym, esym);
-
-      if (bfd_bwrite (esym, symesz, abfd) != symesz)
-       {
-         free (esym);
-         return FALSE;
-       }
-
-      obj_raw_syment_count (abfd) += 1;
-    }
-
-  free (esym);
-
-  return TRUE;
-}
-
-/* The reloc processing routine for the optimized COFF linker.  */
-
-static bfd_boolean
-coff_i960_relocate_section (bfd *output_bfd ATTRIBUTE_UNUSED,
-                           struct bfd_link_info *info,
-                           bfd *input_bfd,
-                           asection *input_section,
-                           bfd_byte *contents,
-                           struct internal_reloc *relocs,
-                           struct internal_syment *syms,
-                           asection **sections)
-{
-  struct internal_reloc *rel;
-  struct internal_reloc *relend;
-
-  rel = relocs;
-  relend = rel + input_section->reloc_count;
-  for (; rel < relend; rel++)
-    {
-      long symndx;
-      struct coff_link_hash_entry *h;
-      struct internal_syment *sym;
-      bfd_vma addend;
-      bfd_vma val;
-      reloc_howto_type *howto;
-      bfd_reloc_status_type rstat = bfd_reloc_ok;
-      bfd_boolean done;
-
-      symndx = rel->r_symndx;
-
-      if (symndx == -1)
-       {
-         h = NULL;
-         sym = NULL;
-       }
-      else
-       {
-         h = obj_coff_sym_hashes (input_bfd)[symndx];
-         sym = syms + symndx;
-       }
-
-      if (sym != NULL && sym->n_scnum != 0)
-       addend = - sym->n_value;
-      else
-       addend = 0;
-
-      switch (rel->r_type)
-       {
-       case 17: howto = &howto_rellong; break;
-       case 25: howto = &howto_iprmed; break;
-       case 27: howto = &howto_optcall; break;
-       default:
-         bfd_set_error (bfd_error_bad_value);
-         return FALSE;
-       }
-
-      val = 0;
-
-      if (h == NULL)
-       {
-         asection *sec;
-
-         if (symndx == -1)
-           {
-             sec = bfd_abs_section_ptr;
-             val = 0;
-           }
-         else
-           {
-             sec = sections[symndx];
-             val = (sec->output_section->vma
-                    + sec->output_offset
-                    + sym->n_value
-                    - sec->vma);
-           }
-       }
-      else
-       {
-         if (h->root.type == bfd_link_hash_defined
-             || h->root.type == bfd_link_hash_defweak)
-           {
-             asection *sec;
-
-             sec = h->root.u.def.section;
-             val = (h->root.u.def.value
-                    + sec->output_section->vma
-                    + sec->output_offset);
-           }
-         else if (! bfd_link_relocatable (info))
-           (*info->callbacks->undefined_symbol)
-             (info, h->root.root.string, input_bfd, input_section,
-              rel->r_vaddr - input_section->vma, TRUE);
-       }
-
-      done = FALSE;
-
-      if (howto->type == R_OPTCALL && ! bfd_link_relocatable (info) && symndx != -1)
-       {
-         int class_val;
-
-         if (h != NULL)
-           class_val = h->symbol_class;
-         else
-           class_val = sym->n_sclass;
-
-         switch (class_val)
-           {
-           case C_NULL:
-             /* This symbol is apparently not from a COFF input file.
-                We warn, and then assume that it is not a leaf
-                function.  */
-             (*info->callbacks->reloc_dangerous)
-               (info,
-                _("uncertain calling convention for non-COFF symbol"),
-                input_bfd, input_section,
-                rel->r_vaddr - input_section->vma);
-             break;
-           case C_LEAFSTAT:
-           case C_LEAFEXT:
-             /* This is a call to a leaf procedure; use the bal
-                instruction.  */
-             {
-               long olf;
-               unsigned long word;
-
-               if (h != NULL)
-                 {
-                   BFD_ASSERT (h->numaux == 2);
-                   olf = h->aux[1].x_bal.x_balntry;
-                 }
-               else
-                 {
-                   bfd_byte *esyms;
-                   union internal_auxent aux;
-
-                   BFD_ASSERT (sym->n_numaux == 2);
-                   esyms = (bfd_byte *) obj_coff_external_syms (input_bfd);
-                   esyms += (symndx + 2) * bfd_coff_symesz (input_bfd);
-                   bfd_coff_swap_aux_in (input_bfd, esyms, sym->n_type,
-                                         sym->n_sclass, 1, sym->n_numaux,
-                                         &aux);
-                   olf = aux.x_bal.x_balntry;
-                 }
-
-               word = bfd_get_32 (input_bfd,
-                                  (contents
-                                   + (rel->r_vaddr - input_section->vma)));
-               word = ((word + olf - val) & BAL_MASK) | BAL;
-               bfd_put_32 (input_bfd,
-                           (bfd_vma) word,
-                           contents + (rel->r_vaddr - input_section->vma));
-               done = TRUE;
-             }
-             break;
-           case C_SCALL:
-             BFD_ASSERT (0);
-             break;
-           }
-       }
-
-      if (! done)
-       {
-         if (howto->pc_relative)
-           addend += input_section->vma;
-         rstat = _bfd_final_link_relocate (howto, input_bfd, input_section,
-                                           contents,
-                                           rel->r_vaddr - input_section->vma,
-                                           val, addend);
-       }
-
-      switch (rstat)
-       {
-       default:
-         abort ();
-       case bfd_reloc_ok:
-         break;
-       case bfd_reloc_overflow:
-         {
-           const char *name;
-           char buf[SYMNMLEN + 1];
-
-           if (symndx == -1)
-             name = "*ABS*";
-           else if (h != NULL)
-             name = NULL;
-           else
-             {
-               name = _bfd_coff_internal_syment_name (input_bfd, sym, buf);
-               if (name == NULL)
-                 return FALSE;
-             }
-
-           (*info->callbacks->reloc_overflow)
-             (info, (h ? &h->root : NULL), name, howto->name,
-              (bfd_vma) 0, input_bfd, input_section,
-              rel->r_vaddr - input_section->vma);
-         }
-       }
-    }
-
-  return TRUE;
-}
-
-/* Adjust the symbol index of any reloc against a global symbol to
-   instead be a reloc against the internal symbol we created specially
-   for the section.  */
-
-static bfd_boolean
-coff_i960_adjust_symndx (bfd *obfd ATTRIBUTE_UNUSED,
-                        struct bfd_link_info *info ATTRIBUTE_UNUSED,
-                        bfd *ibfd,
-                        asection *sec ATTRIBUTE_UNUSED,
-                        struct internal_reloc *irel,
-                        bfd_boolean *adjustedp)
-{
-  struct coff_link_hash_entry *h;
-
-  *adjustedp = FALSE;
-
-  h = obj_coff_sym_hashes (ibfd)[irel->r_symndx];
-  if (h == NULL
-      || (h->root.type != bfd_link_hash_defined
-         && h->root.type != bfd_link_hash_defweak))
-    return TRUE;
-
-  irel->r_symndx = h->root.u.def.section->output_section->target_index - 1;
-  *adjustedp = TRUE;
-
-  return TRUE;
-}
-
-#define coff_bfd_is_local_label_name coff_i960_is_local_label_name
-
-#define coff_start_final_link coff_i960_start_final_link
-
-#define coff_relocate_section coff_i960_relocate_section
-
-#define coff_adjust_symndx coff_i960_adjust_symndx
-
-#define coff_bfd_reloc_type_lookup coff_i960_reloc_type_lookup
-#define coff_bfd_reloc_name_lookup coff_i960_reloc_name_lookup
-
-#include "coffcode.h"
-
-extern const bfd_target icoff_be_vec;
-
-CREATE_LITTLE_COFF_TARGET_VEC (icoff_le_vec, "coff-Intel-little", 0, 0, '_', & icoff_be_vec, COFF_SWAP_TABLE)
-
-const bfd_target icoff_be_vec =
-{
-  "coff-Intel-big",            /* name */
-  bfd_target_coff_flavour,
-  BFD_ENDIAN_LITTLE,           /* data byte order is little */
-  BFD_ENDIAN_BIG,              /* header byte order is big */
-
-  (HAS_RELOC | EXEC_P          /* object flags */
-   | HAS_LINENO | HAS_DEBUG
-   | HAS_SYMS | HAS_LOCALS | WP_TEXT),
-
-  (SEC_HAS_CONTENTS | SEC_ALLOC | SEC_LOAD | SEC_RELOC), /* section flags */
-  '_',                         /* leading underscore */
-  '/',                         /* ar_pad_char */
-  15,                          /* ar_max_namelen */
-  0,                           /* match priority.  */
-
-  bfd_getl64, bfd_getl_signed_64, bfd_putl64,
-     bfd_getl32, bfd_getl_signed_32, bfd_putl32,
-     bfd_getl16, bfd_getl_signed_16, bfd_putl16, /* data */
-  bfd_getb64, bfd_getb_signed_64, bfd_putb64,
-     bfd_getb32, bfd_getb_signed_32, bfd_putb32,
-     bfd_getb16, bfd_getb_signed_16, bfd_putb16, /* hdrs */
-
-  {                            /* bfd_check_format */
-    _bfd_dummy_target,
-    coff_object_p,
-    bfd_generic_archive_p,
-    _bfd_dummy_target
-  },
-  {                            /* bfd_set_format */
-    _bfd_bool_bfd_false_error,
-    coff_mkobject,
-    _bfd_generic_mkarchive,
-    _bfd_bool_bfd_false_error
-  },
-  {                            /* bfd_write_contents */
-    _bfd_bool_bfd_false_error,
-    coff_write_object_contents,
-    _bfd_write_archive_contents,
-    _bfd_bool_bfd_false_error
-  },
-
-  BFD_JUMP_TABLE_GENERIC (coff),
-  BFD_JUMP_TABLE_COPY (coff),
-  BFD_JUMP_TABLE_CORE (_bfd_nocore),
-  BFD_JUMP_TABLE_ARCHIVE (_bfd_archive_coff),
-  BFD_JUMP_TABLE_SYMBOLS (coff),
-  BFD_JUMP_TABLE_RELOCS (coff),
-  BFD_JUMP_TABLE_WRITE (coff),
-  BFD_JUMP_TABLE_LINK (coff),
-  BFD_JUMP_TABLE_DYNAMIC (_bfd_nodynamic),
-
-  &icoff_le_vec,
-
-  COFF_SWAP_TABLE
-};
index caa8bcba6b9cb0415ffd929c754f70ec580a19d8..4a0741a191b169346d85cf6ff65dd60af8819034 100644 (file)
@@ -40,11 +40,6 @@ SECTION
        defines the relocations used by the 88k format
        @xref{Relocations}.
 
        defines the relocations used by the 88k format
        @xref{Relocations}.
 
-       The Intel i960 processor version of coff is implemented in
-       @file{coff-i960.c}. This file has the same structure as
-       @file{coff-m88k.c}, except that it includes @file{coff/i960.h}
-       rather than @file{coff-m88k.h}.
-
 SUBSECTION
        Porting to a new version of coff
 
 SUBSECTION
        Porting to a new version of coff
 
@@ -97,15 +92,6 @@ SUBSUBSECTION
        Some of the Coff targets then also have additional routines in
        the target source file itself.
 
        Some of the Coff targets then also have additional routines in
        the target source file itself.
 
-       For example, @file{coff-i960.c} includes
-       @file{coff/internal.h} and @file{coff/i960.h}.  It then
-       defines a few constants, such as @code{I960}, and includes
-       @file{coffcode.h}.  Since the i960 has complex relocation
-       types, @file{coff-i960.c} also includes some code to
-       manipulate the i960 relocs.  This code is not in
-       @file{coffcode.h} because it would not be used by any other
-       target.
-
 SUBSUBSECTION
        Coff long section names
 
 SUBSUBSECTION
        Coff long section names
 
@@ -1664,19 +1650,6 @@ coff_bad_format_hook (bfd * abfd ATTRIBUTE_UNUSED, void * filehdr)
   if (BADMAG (*internal_f))
     return FALSE;
 
   if (BADMAG (*internal_f))
     return FALSE;
 
-  /* If the optional header is NULL or not the correct size then
-     quit; the only difference I can see between m88k dgux headers (MC88DMAGIC)
-     and Intel 960 readwrite headers (I960WRMAGIC) is that the
-     optional header is of a different size.
-
-     But the mips keeps extra stuff in it's opthdr, so dont check
-     when doing that.  */
-
-#if defined(M88) || defined(I960)
-  if (internal_f->f_opthdr != 0 && bfd_coff_aoutsz (abfd) != internal_f->f_opthdr)
-    return FALSE;
-#endif
-
   return TRUE;
 }
 
   return TRUE;
 }
 
@@ -1848,12 +1821,6 @@ coff_set_alignment_hook (bfd * abfd ATTRIBUTE_UNUSED,
   struct internal_scnhdr *hdr = (struct internal_scnhdr *) scnhdr;
   unsigned int i;
 
   struct internal_scnhdr *hdr = (struct internal_scnhdr *) scnhdr;
   unsigned int i;
 
-#ifdef I960
-  /* Extract ALIGN from 2**ALIGN stored in section header.  */
-  for (i = 0; i < 32; i++)
-    if ((1 << i) >= hdr->s_align)
-      break;
-#endif
 #ifdef COFF_DECODE_ALIGNMENT
   i = COFF_DECODE_ALIGNMENT(hdr->s_flags);
 #endif
 #ifdef COFF_DECODE_ALIGNMENT
   i = COFF_DECODE_ALIGNMENT(hdr->s_flags);
 #endif
@@ -2235,47 +2202,6 @@ coff_set_arch_mach_hook (bfd *abfd, void * filehdr)
        }
       break;
 #endif
        }
       break;
 #endif
-#ifdef I860
-    case I860MAGIC:
-      arch = bfd_arch_i860;
-      break;
-#endif
-#ifdef I960
-#ifdef I960ROMAGIC
-    case I960ROMAGIC:
-    case I960RWMAGIC:
-      arch = bfd_arch_i960;
-      switch (F_I960TYPE & internal_f->f_flags)
-       {
-       default:
-       case F_I960CORE:
-         machine = bfd_mach_i960_core;
-         break;
-       case F_I960KB:
-         machine = bfd_mach_i960_kb_sb;
-         break;
-       case F_I960MC:
-         machine = bfd_mach_i960_mc;
-         break;
-       case F_I960XA:
-         machine = bfd_mach_i960_xa;
-         break;
-       case F_I960CA:
-         machine = bfd_mach_i960_ca;
-         break;
-       case F_I960KA:
-         machine = bfd_mach_i960_ka_sa;
-         break;
-       case F_I960JX:
-         machine = bfd_mach_i960_jx;
-         break;
-       case F_I960HX:
-         machine = bfd_mach_i960_hx;
-         break;
-       }
-      break;
-#endif
-#endif
 
 #ifdef RS6000COFF_C
 #ifdef XCOFF64
 
 #ifdef RS6000COFF_C
 #ifdef XCOFF64
@@ -2552,31 +2478,7 @@ coff_pointerize_aux_hook (bfd *abfd ATTRIBUTE_UNUSED,
 }
 
 #else
 }
 
 #else
-#ifdef I960
-
-/* We don't want to pointerize bal entries.  */
-
-static bfd_boolean
-coff_pointerize_aux_hook (bfd *abfd ATTRIBUTE_UNUSED,
-                         combined_entry_type *table_base ATTRIBUTE_UNUSED,
-                         combined_entry_type *symbol,
-                         unsigned int indaux,
-                         combined_entry_type *aux ATTRIBUTE_UNUSED)
-{
-  /* Return TRUE if we don't want to pointerize this aux entry, which
-     is the case for the lastfirst aux entry for a C_LEAFPROC symbol.  */
-  return (indaux == 1
-         && symbol->is_sym
-         && (symbol->u.syment.n_sclass == C_LEAFPROC
-             || symbol->u.syment.n_sclass == C_LEAFSTAT
-             || symbol->u.syment.n_sclass == C_LEAFEXT));
-}
-
-#else /* ! I960 */
-
 #define coff_pointerize_aux_hook 0
 #define coff_pointerize_aux_hook 0
-
-#endif /* ! I960 */
 #endif /* ! RS6000COFF_C */
 
 /* Print an aux entry.  This returns TRUE if it has printed it.  */
 #endif /* ! RS6000COFF_C */
 
 /* Print an aux entry.  This returns TRUE if it has printed it.  */
@@ -2856,32 +2758,6 @@ coff_set_flags (bfd * abfd,
       return TRUE;
 #endif
 
       return TRUE;
 #endif
 
-#ifdef I960ROMAGIC
-    case bfd_arch_i960:
-
-      {
-       unsigned flags;
-
-       *magicp = I960ROMAGIC;
-
-       switch (bfd_get_mach (abfd))
-         {
-         case bfd_mach_i960_core:  flags = F_I960CORE; break;
-         case bfd_mach_i960_kb_sb: flags = F_I960KB;   break;
-         case bfd_mach_i960_mc:    flags = F_I960MC;   break;
-         case bfd_mach_i960_xa:    flags = F_I960XA;   break;
-         case bfd_mach_i960_ca:    flags = F_I960CA;   break;
-         case bfd_mach_i960_ka_sa: flags = F_I960KA;   break;
-         case bfd_mach_i960_jx:    flags = F_I960JX;   break;
-         case bfd_mach_i960_hx:    flags = F_I960HX;   break;
-         default:                  return FALSE;
-         }
-       *flagsp = flags;
-       return TRUE;
-      }
-      break;
-#endif
-
 #ifdef TIC30MAGIC
     case bfd_arch_tic30:
       *magicp = TIC30MAGIC;
 #ifdef TIC30MAGIC
     case bfd_arch_tic30:
       *magicp = TIC30MAGIC;
@@ -2981,12 +2857,6 @@ coff_set_flags (bfd * abfd,
       return TRUE;
 #endif
 
       return TRUE;
 #endif
 
-#ifdef I860MAGIC
-    case bfd_arch_i860:
-      *magicp = I860MAGIC;
-      return TRUE;
-#endif
-
 #ifdef IA64MAGIC
     case bfd_arch_ia64:
       *magicp = IA64MAGIC;
 #ifdef IA64MAGIC
     case bfd_arch_ia64:
       *magicp = IA64MAGIC;
@@ -3146,9 +3016,7 @@ sort_by_secaddr (const void * arg1, const void * arg2)
 
 /* Calculate the file position for each section.  */
 
 
 /* Calculate the file position for each section.  */
 
-#ifndef I960
 #define ALIGN_SECTIONS_IN_FILE
 #define ALIGN_SECTIONS_IN_FILE
-#endif
 #if defined(TIC80COFF) || defined(TICOFF)
 #undef ALIGN_SECTIONS_IN_FILE
 #endif
 #if defined(TIC80COFF) || defined(TICOFF)
 #undef ALIGN_SECTIONS_IN_FILE
 #endif
@@ -3389,9 +3257,7 @@ coff_compute_section_file_positions (bfd * abfd)
 #endif
 
       /* Align the sections in the file to the same boundary on
 #endif
 
       /* Align the sections in the file to the same boundary on
-        which they are aligned in virtual memory.  I960 doesn't
-        do this (FIXME) so we can stay in sync with Intel.  960
-        doesn't yet page from files...  */
+        which they are aligned in virtual memory.  */
 #ifdef ALIGN_SECTIONS_IN_FILE
       if ((abfd->flags & EXEC_P) != 0)
        {
 #ifdef ALIGN_SECTIONS_IN_FILE
       if ((abfd->flags & EXEC_P) != 0)
        {
@@ -3855,11 +3721,6 @@ coff_write_object_contents (bfd * abfd)
       else if (!strcmp (current->name, _BSS))
        bss_sec = current;
 
       else if (!strcmp (current->name, _BSS))
        bss_sec = current;
 
-#ifdef I960
-      section.s_align = (current->alignment_power
-                        ? 1 << current->alignment_power
-                        : 0);
-#endif
 #ifdef COFF_ENCODE_ALIGNMENT
       COFF_ENCODE_ALIGNMENT(section, current->alignment_power);
       if ((unsigned int)COFF_DECODE_ALIGNMENT(section.s_flags)
 #ifdef COFF_ENCODE_ALIGNMENT
       COFF_ENCODE_ALIGNMENT(section, current->alignment_power);
       if ((unsigned int)COFF_DECODE_ALIGNMENT(section.s_flags)
@@ -4118,15 +3979,6 @@ coff_write_object_contents (bfd * abfd)
     internal_a.magic = TIC80_ARCH_MAGIC;
 #define __A_MAGIC_SET__
 #endif /* TIC80 */
     internal_a.magic = TIC80_ARCH_MAGIC;
 #define __A_MAGIC_SET__
 #endif /* TIC80 */
-#ifdef I860
-    /* FIXME: What are the a.out magic numbers for the i860?  */
-    internal_a.magic = 0;
-#define __A_MAGIC_SET__
-#endif /* I860 */
-#ifdef I960
-    internal_a.magic = (magic == I960ROMAGIC ? NMAGIC : OMAGIC);
-#define __A_MAGIC_SET__
-#endif /* I960 */
 #if M88
 #define __A_MAGIC_SET__
     internal_a.magic = PAGEMAGICBCS;
 #if M88
 #define __A_MAGIC_SET__
     internal_a.magic = PAGEMAGICBCS;
@@ -4820,11 +4672,6 @@ coff_slurp_symbol_table (bfd * abfd)
 
          switch (src->u.syment.n_sclass)
            {
 
          switch (src->u.syment.n_sclass)
            {
-#ifdef I960
-           case C_LEAFEXT:
-             /* Fall through to next case.  */
-#endif
-
            case C_EXT:
            case C_WEAKEXT:
 #if defined ARM
            case C_EXT:
            case C_WEAKEXT:
 #if defined ARM
@@ -4918,9 +4765,6 @@ coff_slurp_symbol_table (bfd * abfd)
              break;
 
            case C_STAT:         /* Static.  */
              break;
 
            case C_STAT:         /* Static.  */
-#ifdef I960
-           case C_LEAFSTAT:     /* Static leaf procedure.  */
-#endif
 #if defined ARM
            case C_THUMBSTAT:    /* Thumb static.  */
            case C_THUMBLABEL:   /* Thumb label.  */
 #if defined ARM
            case C_THUMBSTAT:    /* Thumb static.  */
            case C_THUMBLABEL:   /* Thumb label.  */
@@ -4958,11 +4802,6 @@ coff_slurp_symbol_table (bfd * abfd)
            case C_REGPARM:     /* Register parameter.  */
            case C_REG:         /* register variable.  */
              /* C_AUTOARG conflicts with TI COFF C_UEXT.  */
            case C_REGPARM:     /* Register parameter.  */
            case C_REG:         /* register variable.  */
              /* C_AUTOARG conflicts with TI COFF C_UEXT.  */
-#if !defined (TIC80COFF) && !defined (TICOFF)
-#ifdef C_AUTOARG
-           case C_AUTOARG:     /* 960-specific storage class.  */
-#endif
-#endif
            case C_TPDEF:       /* Type definition.  */
            case C_ARG:
            case C_AUTO:        /* Automatic variable.  */
            case C_TPDEF:       /* Type definition.  */
            case C_ARG:
            case C_AUTO:        /* Automatic variable.  */
@@ -5158,9 +4997,6 @@ coff_classify_symbol (bfd *abfd,
     {
     case C_EXT:
     case C_WEAKEXT:
     {
     case C_EXT:
     case C_WEAKEXT:
-#ifdef I960
-    case C_LEAFEXT:
-#endif
 #ifdef ARM
     case C_THUMBEXT:
     case C_THUMBEXTFUNC:
 #ifdef ARM
     case C_THUMBEXT:
     case C_THUMBEXTFUNC:
@@ -5262,7 +5098,7 @@ SUBSUBSECTION
 
        o The reloc index is turned into a pointer to a howto
        structure, in a back end specific way. For instance, the 386
 
        o The reloc index is turned into a pointer to a howto
        structure, in a back end specific way. For instance, the 386
-       and 960 use the @code{r_type} to directly produce an index
+       uses the @code{r_type} to directly produce an index
        into a howto table vector; the 88k subtracts a number from the
        @code{r_type} field and creates an addend field.
 */
        into a howto table vector; the 88k subtracts a number from the
        @code{r_type} field and creates an addend field.
 */
index 7b000e006eac3ff7dcc8e6fa84771377b22d1b72..5fec8bf776f9921875ab8544c99a8d5e516d2958 100644 (file)
@@ -618,10 +618,6 @@ coff_swap_aouthdr_in (bfd * abfd, void * aouthdr_ext1, void * aouthdr_int1)
   aouthdr_int->data_start =
     GET_AOUTHDR_DATA_START (abfd, aouthdr_ext->data_start);
 
   aouthdr_int->data_start =
     GET_AOUTHDR_DATA_START (abfd, aouthdr_ext->data_start);
 
-#ifdef I960
-  aouthdr_int->tagentries = H_GET_32 (abfd, aouthdr_ext->tagentries);
-#endif
-
 #ifdef APOLLO_M68
   H_PUT_32 (abfd, aouthdr_int->o_inlib, aouthdr_ext->o_inlib);
   H_PUT_32 (abfd, aouthdr_int->o_sri, aouthdr_ext->o_sri);
 #ifdef APOLLO_M68
   H_PUT_32 (abfd, aouthdr_int->o_inlib, aouthdr_ext->o_inlib);
   H_PUT_32 (abfd, aouthdr_int->o_sri, aouthdr_ext->o_sri);
@@ -689,10 +685,6 @@ coff_swap_aouthdr_out (bfd * abfd, void * in, void * out)
   PUT_AOUTHDR_DATA_START (abfd, aouthdr_in->data_start,
                          aouthdr_out->data_start);
 
   PUT_AOUTHDR_DATA_START (abfd, aouthdr_in->data_start,
                          aouthdr_out->data_start);
 
-#ifdef I960
-  H_PUT_32 (abfd, aouthdr_in->tagentries, aouthdr_out->tagentries);
-#endif
-
 #ifdef RS6000COFF_C
 #ifdef XCOFF64
   H_PUT_64 (abfd, aouthdr_in->o_toc, aouthdr_out->o_toc);
 #ifdef RS6000COFF_C
 #ifdef XCOFF64
   H_PUT_64 (abfd, aouthdr_in->o_toc, aouthdr_out->o_toc);
@@ -767,9 +759,6 @@ coff_swap_scnhdr_in (bfd * abfd, void * ext, void * in)
   scnhdr_int->s_flags = GET_SCNHDR_FLAGS (abfd, scnhdr_ext->s_flags);
   scnhdr_int->s_nreloc = GET_SCNHDR_NRELOC (abfd, scnhdr_ext->s_nreloc);
   scnhdr_int->s_nlnno = GET_SCNHDR_NLNNO (abfd, scnhdr_ext->s_nlnno);
   scnhdr_int->s_flags = GET_SCNHDR_FLAGS (abfd, scnhdr_ext->s_flags);
   scnhdr_int->s_nreloc = GET_SCNHDR_NRELOC (abfd, scnhdr_ext->s_nreloc);
   scnhdr_int->s_nlnno = GET_SCNHDR_NLNNO (abfd, scnhdr_ext->s_nlnno);
-#ifdef I960
-  scnhdr_int->s_align = GET_SCNHDR_ALIGN (abfd, scnhdr_ext->s_align);
-#endif
 #ifdef COFF_ADJUST_SCNHDR_IN_POST
   COFF_ADJUST_SCNHDR_IN_POST (abfd, ext, in);
 #endif
 #ifdef COFF_ADJUST_SCNHDR_IN_POST
   COFF_ADJUST_SCNHDR_IN_POST (abfd, ext, in);
 #endif
@@ -830,9 +819,6 @@ coff_swap_scnhdr_out (bfd * abfd, void * in, void * out)
     }
 #endif
 
     }
 #endif
 
-#ifdef I960
-  PUT_SCNHDR_ALIGN (abfd, scnhdr_int->s_align, scnhdr_ext->s_align);
-#endif
 #ifdef COFF_ADJUST_SCNHDR_OUT_POST
   COFF_ADJUST_SCNHDR_OUT_POST (abfd, in, out);
 #endif
 #ifdef COFF_ADJUST_SCNHDR_OUT_POST
   COFF_ADJUST_SCNHDR_OUT_POST (abfd, in, out);
 #endif
index f04a993f06f20ae74bda22cf0440af23cdde85fa..881c48c92184a9dd7adab3cee707a3677240d7f0 100644 (file)
@@ -81,8 +81,6 @@ case $targ in
  i[3-7]86-*-os9k | \
  i[3-7]86-none-* | \
  i[3-7]86-*-aout* | i[3-7]86*-*-vsta* | \
  i[3-7]86-*-os9k | \
  i[3-7]86-none-* | \
  i[3-7]86-*-aout* | i[3-7]86*-*-vsta* | \
- i860-*-* | \
- i960-*-* | \
  m68*-motorola-sysv* | m68*-hp-bsd* | m68*-*-aout* | \
  m68*-*-coff* | m68*-*-sysv* | \
  m68*-*-hpux* | \
  m68*-motorola-sysv* | m68*-hp-bsd* | m68*-*-aout* | \
  m68*-*-coff* | m68*-*-sysv* | \
  m68*-*-hpux* | \
@@ -115,7 +113,6 @@ case $targ in
  we32k-*-* | \
  w65-*-* | \
  *-*-ieee* | \
  we32k-*-* | \
  w65-*-* | \
  *-*-ieee* | \
- *-adobe-* | \
  *-sony-* | \
  *-tandem-* | \
  i370-* | \
  *-sony-* | \
  *-tandem-* | \
  i370-* | \
@@ -131,13 +128,15 @@ case $targ in
 esac
 
 case $targ in
 esac
 
 case $targ in
+ *-adobe-* | \
  *-go32-rtems* | \
  *-*-rtemsaout* | \
  *-*-rtemscoff* | \
  a29k-* | \
  arm-*-oabi | \
  hppa*-*-rtems* | \
  *-go32-rtems* | \
  *-*-rtemsaout* | \
  *-*-rtemscoff* | \
  a29k-* | \
  arm-*-oabi | \
  hppa*-*-rtems* | \
- i960-*-rtems* | \
+ i860-*-* | \
+ i960-*-* | \
  m68*-*-lynxos* | \
  m68*-apollo-* | \
  m68*-apple-aux* | \
  m68*-*-lynxos* | \
  m68*-apollo-* | \
  m68*-apple-aux* | \
@@ -882,37 +881,6 @@ case "${targ}" in
     targ_selfvecs="iamcu_elf32_vec i386chaos_vec"
     ;;
 
     targ_selfvecs="iamcu_elf32_vec i386chaos_vec"
     ;;
 
-  i860-*-mach3* | i860-*-osf1* | i860-*-coff*)
-    targ_defvec=i860_coff_vec
-    ;;
-  i860-stardent-sysv4* | i860-stardent-elf*)
-    targ_defvec=i860_elf32_le_vec
-    targ_selvecs="i860_elf32_vec i860_elf32_le_vec"
-    ;;
-  i860-*-sysv4* | i860-*-elf*)
-    targ_defvec=i860_elf32_vec
-    ;;
-
-  i960-*-vxworks4* | i960-*-vxworks5.0)
-    targ_defvec=bout_le_vec
-    targ_selvecs="bout_be_vec icoff_le_vec icoff_be_vec ieee_vec"
-    targ_underscore=yes
-    ;;
-  i960-*-vxworks5.* | i960-*-coff* | i960-*-sysv*)
-    targ_defvec=icoff_le_vec
-    targ_selvecs="icoff_be_vec bout_le_vec bout_be_vec ieee_vec"
-    targ_underscore=yes
-    ;;
-  i960-*-vxworks* | i960-*-aout* | i960-*-bout* | i960-*-nindy*)
-    targ_defvec=bout_le_vec
-    targ_selvecs="bout_be_vec icoff_le_vec icoff_be_vec ieee_vec"
-    targ_underscore=yes
-    ;;
-  i960-*-elf*)
-    targ_defvec=i960_elf32_vec
-    targ_selvecs="icoff_le_vec icoff_be_vec"
-    ;;
-
   ia16-*-elf)
     targ_defvec=i386_elf32_vec
     targ_selvecs="i386_msdos_vec i386_aout_vec"
   ia16-*-elf)
     targ_defvec=i386_elf32_vec
     targ_selvecs="i386_msdos_vec i386_aout_vec"
@@ -1854,11 +1822,6 @@ case "${targ}" in
     targ_defvec=ieee_vec
     ;;
 
     targ_defvec=ieee_vec
     ;;
 
-  *-adobe-*)
-    targ_defvec=aout_adobe_vec
-    targ_underscore=yes
-    ;;
-
   *-sony-*)
     targ_defvec=m68k_aout_newsos3_vec
     targ_underscore=yes
   *-sony-*)
     targ_defvec=m68k_aout_newsos3_vec
     targ_underscore=yes
index 667f001f6c572efa34268600e414ea8cf5535007..f14c96c3a1ee710dbe4e511199bfeafdd833bb91 100755 (executable)
@@ -14344,7 +14344,6 @@ do
     aout0_be_vec)               tb="$tb aout0.lo aout32.lo" ;;
     aout64_vec)                         tb="$tb demo64.lo aout64.lo"; target_size=64 ;;
     aout_vec)                   tb="$tb host-aout.lo aout32.lo" ;;
     aout0_be_vec)               tb="$tb aout0.lo aout32.lo" ;;
     aout64_vec)                         tb="$tb demo64.lo aout64.lo"; target_size=64 ;;
     aout_vec)                   tb="$tb host-aout.lo aout32.lo" ;;
-    aout_adobe_vec)             tb="$tb aout-adobe.lo aout32.lo" ;;
     arc_elf32_be_vec)           tb="$tb elf32-arc.lo elf32.lo $elf" ;;
     arc_elf32_le_vec)           tb="$tb elf32-arc.lo elf32.lo $elf" ;;
     arm_aout_be_vec)            tb="$tb aout-arm.lo aout32.lo" ;;
     arc_elf32_be_vec)           tb="$tb elf32-arc.lo elf32.lo $elf" ;;
     arc_elf32_le_vec)           tb="$tb elf32-arc.lo elf32.lo $elf" ;;
     arm_aout_be_vec)            tb="$tb aout-arm.lo aout32.lo" ;;
@@ -14377,8 +14376,6 @@ do
     avr_elf32_vec)              tb="$tb elf32-avr.lo elf32.lo $elf" ;;
     bfin_elf32_vec)             tb="$tb elf32-bfin.lo elf32.lo $elf" ;;
     bfin_elf32_fdpic_vec)       tb="$tb elf32-bfin.lo elf32.lo $elf" ;;
     avr_elf32_vec)              tb="$tb elf32-avr.lo elf32.lo $elf" ;;
     bfin_elf32_vec)             tb="$tb elf32-bfin.lo elf32.lo $elf" ;;
     bfin_elf32_fdpic_vec)       tb="$tb elf32-bfin.lo elf32.lo $elf" ;;
-    bout_be_vec)                tb="$tb bout.lo aout32.lo" ;;
-    bout_le_vec)                tb="$tb bout.lo aout32.lo" ;;
     cr16_elf32_vec)             tb="$tb elf32-cr16.lo elf32.lo $elf" ;;
     cr16c_elf32_vec)            tb="$tb elf32-cr16c.lo elf32.lo $elf" ;;
     cris_aout_vec)              tb="$tb aout-cris.lo" ;;
     cr16_elf32_vec)             tb="$tb elf32-cr16.lo elf32.lo $elf" ;;
     cr16c_elf32_vec)            tb="$tb elf32-cr16c.lo elf32.lo $elf" ;;
     cris_aout_vec)              tb="$tb aout-cris.lo" ;;
     i386_pe_vec)                tb="$tb pe-i386.lo peigen.lo $coff" ;;
     i386_pei_vec)               tb="$tb pei-i386.lo peigen.lo $coff" ;;
     iamcu_elf32_vec)            tb="$tb elf32-i386.lo elfxx-x86.lo elf-ifunc.lo elf-nacl.lo elf-vxworks.lo elf32.lo $elf" ;;
     i386_pe_vec)                tb="$tb pe-i386.lo peigen.lo $coff" ;;
     i386_pei_vec)               tb="$tb pei-i386.lo peigen.lo $coff" ;;
     iamcu_elf32_vec)            tb="$tb elf32-i386.lo elfxx-x86.lo elf-ifunc.lo elf-nacl.lo elf-vxworks.lo elf32.lo $elf" ;;
-    i860_coff_vec)              tb="$tb coff-i860.lo $coff" ;;
-    i860_elf32_vec)             tb="$tb elf32-i860.lo elf32.lo $elf" ;;
-    i860_elf32_le_vec)          tb="$tb elf32-i860.lo elf32.lo $elf" ;;
-    i960_elf32_vec)             tb="$tb elf32-i960.lo elf32.lo $elf" ;;
     ia64_elf32_be_vec)          tb="$tb elf32-ia64.lo elfxx-ia64.lo elf32.lo $elf" ;;
     ia64_elf32_hpux_be_vec)     tb="$tb elf32-ia64.lo elfxx-ia64.lo elf32.lo $elf" ;;
     ia64_elf64_be_vec)          tb="$tb elf64-ia64.lo elfxx-ia64.lo elf64.lo $elf"; target_size=64 ;;
     ia64_elf32_be_vec)          tb="$tb elf32-ia64.lo elfxx-ia64.lo elf32.lo $elf" ;;
     ia64_elf32_hpux_be_vec)     tb="$tb elf32-ia64.lo elfxx-ia64.lo elf32.lo $elf" ;;
     ia64_elf64_be_vec)          tb="$tb elf64-ia64.lo elfxx-ia64.lo elf64.lo $elf"; target_size=64 ;;
@@ -14442,8 +14435,6 @@ do
     ia64_elf64_hpux_be_vec)     tb="$tb elf64-ia64.lo elfxx-ia64.lo elf64.lo $elf"; target_size=64 ;;
     ia64_elf64_vms_vec)                 tb="$tb elf64-ia64-vms.lo elf64-ia64.lo elfxx-ia64.lo elf64.lo vms-lib.lo vms-misc.lo $elf"; target_size=64 ;;
     ia64_pei_vec)               tb="$tb pei-ia64.lo pepigen.lo $coff"; target_size=64 ;;
     ia64_elf64_hpux_be_vec)     tb="$tb elf64-ia64.lo elfxx-ia64.lo elf64.lo $elf"; target_size=64 ;;
     ia64_elf64_vms_vec)                 tb="$tb elf64-ia64-vms.lo elf64-ia64.lo elfxx-ia64.lo elf64.lo vms-lib.lo vms-misc.lo $elf"; target_size=64 ;;
     ia64_pei_vec)               tb="$tb pei-ia64.lo pepigen.lo $coff"; target_size=64 ;;
-    icoff_be_vec)               tb="$tb coff-i960.lo $coff" ;;
-    icoff_le_vec)               tb="$tb coff-i960.lo $coff" ;;
     ieee_vec)                   tb="$tb ieee.lo" ;;
     ip2k_elf32_vec)             tb="$tb elf32-ip2k.lo elf32.lo $elf" ;;
     iq2000_elf32_vec)           tb="$tb elf32-iq2000.lo elf32.lo $elf" ;;
     ieee_vec)                   tb="$tb ieee.lo" ;;
     ip2k_elf32_vec)             tb="$tb elf32-ip2k.lo elf32.lo $elf" ;;
     iq2000_elf32_vec)           tb="$tb elf32-iq2000.lo elf32.lo $elf" ;;
@@ -14890,10 +14881,6 @@ if test "${target}" = "${host}"; then
        ;;
   i[3-7]86-*-isc*)     COREFILE=trad-core.lo ;;
   i[3-7]86-*-aix*)     COREFILE=aix386-core.lo ;;
        ;;
   i[3-7]86-*-isc*)     COREFILE=trad-core.lo ;;
   i[3-7]86-*-aix*)     COREFILE=aix386-core.lo ;;
-  i860-*-mach3* | i860-*-osf1*)
-       COREFILE=trad-core.lo
-       TRAD_HEADER='"hosts/i860mach3.h"'
-       ;;
   mips-*-netbsd* | mips*-*-openbsd*)
        COREFILE=netbsd-core.lo
        ;;
   mips-*-netbsd* | mips*-*-openbsd*)
        COREFILE=netbsd-core.lo
        ;;
index 20e2c022e8a5d76853dd1e5dc0564fcecef5578f..8eeb5ff37e9e23950dc2b4f68a687a2e1f51bcb0 100644 (file)
@@ -421,7 +421,6 @@ do
     aout0_be_vec)               tb="$tb aout0.lo aout32.lo" ;;
     aout64_vec)                         tb="$tb demo64.lo aout64.lo"; target_size=64 ;;
     aout_vec)                   tb="$tb host-aout.lo aout32.lo" ;;
     aout0_be_vec)               tb="$tb aout0.lo aout32.lo" ;;
     aout64_vec)                         tb="$tb demo64.lo aout64.lo"; target_size=64 ;;
     aout_vec)                   tb="$tb host-aout.lo aout32.lo" ;;
-    aout_adobe_vec)             tb="$tb aout-adobe.lo aout32.lo" ;;
     arc_elf32_be_vec)           tb="$tb elf32-arc.lo elf32.lo $elf" ;;
     arc_elf32_le_vec)           tb="$tb elf32-arc.lo elf32.lo $elf" ;;
     arm_aout_be_vec)            tb="$tb aout-arm.lo aout32.lo" ;;
     arc_elf32_be_vec)           tb="$tb elf32-arc.lo elf32.lo $elf" ;;
     arc_elf32_le_vec)           tb="$tb elf32-arc.lo elf32.lo $elf" ;;
     arm_aout_be_vec)            tb="$tb aout-arm.lo aout32.lo" ;;
@@ -454,8 +453,6 @@ do
     avr_elf32_vec)              tb="$tb elf32-avr.lo elf32.lo $elf" ;;
     bfin_elf32_vec)             tb="$tb elf32-bfin.lo elf32.lo $elf" ;;
     bfin_elf32_fdpic_vec)       tb="$tb elf32-bfin.lo elf32.lo $elf" ;;
     avr_elf32_vec)              tb="$tb elf32-avr.lo elf32.lo $elf" ;;
     bfin_elf32_vec)             tb="$tb elf32-bfin.lo elf32.lo $elf" ;;
     bfin_elf32_fdpic_vec)       tb="$tb elf32-bfin.lo elf32.lo $elf" ;;
-    bout_be_vec)                tb="$tb bout.lo aout32.lo" ;;
-    bout_le_vec)                tb="$tb bout.lo aout32.lo" ;;
     cr16_elf32_vec)             tb="$tb elf32-cr16.lo elf32.lo $elf" ;;
     cr16c_elf32_vec)            tb="$tb elf32-cr16c.lo elf32.lo $elf" ;;
     cris_aout_vec)              tb="$tb aout-cris.lo" ;;
     cr16_elf32_vec)             tb="$tb elf32-cr16.lo elf32.lo $elf" ;;
     cr16c_elf32_vec)            tb="$tb elf32-cr16c.lo elf32.lo $elf" ;;
     cris_aout_vec)              tb="$tb aout-cris.lo" ;;
@@ -508,10 +505,6 @@ do
     i386_pe_vec)                tb="$tb pe-i386.lo peigen.lo $coff" ;;
     i386_pei_vec)               tb="$tb pei-i386.lo peigen.lo $coff" ;;
     iamcu_elf32_vec)            tb="$tb elf32-i386.lo elfxx-x86.lo elf-ifunc.lo elf-nacl.lo elf-vxworks.lo elf32.lo $elf" ;;
     i386_pe_vec)                tb="$tb pe-i386.lo peigen.lo $coff" ;;
     i386_pei_vec)               tb="$tb pei-i386.lo peigen.lo $coff" ;;
     iamcu_elf32_vec)            tb="$tb elf32-i386.lo elfxx-x86.lo elf-ifunc.lo elf-nacl.lo elf-vxworks.lo elf32.lo $elf" ;;
-    i860_coff_vec)              tb="$tb coff-i860.lo $coff" ;;
-    i860_elf32_vec)             tb="$tb elf32-i860.lo elf32.lo $elf" ;;
-    i860_elf32_le_vec)          tb="$tb elf32-i860.lo elf32.lo $elf" ;;
-    i960_elf32_vec)             tb="$tb elf32-i960.lo elf32.lo $elf" ;;
     ia64_elf32_be_vec)          tb="$tb elf32-ia64.lo elfxx-ia64.lo elf32.lo $elf" ;;
     ia64_elf32_hpux_be_vec)     tb="$tb elf32-ia64.lo elfxx-ia64.lo elf32.lo $elf" ;;
     ia64_elf64_be_vec)          tb="$tb elf64-ia64.lo elfxx-ia64.lo elf64.lo $elf"; target_size=64 ;;
     ia64_elf32_be_vec)          tb="$tb elf32-ia64.lo elfxx-ia64.lo elf32.lo $elf" ;;
     ia64_elf32_hpux_be_vec)     tb="$tb elf32-ia64.lo elfxx-ia64.lo elf32.lo $elf" ;;
     ia64_elf64_be_vec)          tb="$tb elf64-ia64.lo elfxx-ia64.lo elf64.lo $elf"; target_size=64 ;;
@@ -519,8 +512,6 @@ do
     ia64_elf64_hpux_be_vec)     tb="$tb elf64-ia64.lo elfxx-ia64.lo elf64.lo $elf"; target_size=64 ;;
     ia64_elf64_vms_vec)                 tb="$tb elf64-ia64-vms.lo elf64-ia64.lo elfxx-ia64.lo elf64.lo vms-lib.lo vms-misc.lo $elf"; target_size=64 ;;
     ia64_pei_vec)               tb="$tb pei-ia64.lo pepigen.lo $coff"; target_size=64 ;;
     ia64_elf64_hpux_be_vec)     tb="$tb elf64-ia64.lo elfxx-ia64.lo elf64.lo $elf"; target_size=64 ;;
     ia64_elf64_vms_vec)                 tb="$tb elf64-ia64-vms.lo elf64-ia64.lo elfxx-ia64.lo elf64.lo vms-lib.lo vms-misc.lo $elf"; target_size=64 ;;
     ia64_pei_vec)               tb="$tb pei-ia64.lo pepigen.lo $coff"; target_size=64 ;;
-    icoff_be_vec)               tb="$tb coff-i960.lo $coff" ;;
-    icoff_le_vec)               tb="$tb coff-i960.lo $coff" ;;
     ieee_vec)                   tb="$tb ieee.lo" ;;
     ip2k_elf32_vec)             tb="$tb elf32-ip2k.lo elf32.lo $elf" ;;
     iq2000_elf32_vec)           tb="$tb elf32-iq2000.lo elf32.lo $elf" ;;
     ieee_vec)                   tb="$tb ieee.lo" ;;
     ip2k_elf32_vec)             tb="$tb elf32-ip2k.lo elf32.lo $elf" ;;
     iq2000_elf32_vec)           tb="$tb elf32-iq2000.lo elf32.lo $elf" ;;
@@ -976,10 +967,6 @@ changequote(,)dnl
   i[3-7]86-*-isc*)     COREFILE=trad-core.lo ;;
   i[3-7]86-*-aix*)     COREFILE=aix386-core.lo ;;
 changequote([,])dnl
   i[3-7]86-*-isc*)     COREFILE=trad-core.lo ;;
   i[3-7]86-*-aix*)     COREFILE=aix386-core.lo ;;
 changequote([,])dnl
-  i860-*-mach3* | i860-*-osf1*)
-       COREFILE=trad-core.lo
-       TRAD_HEADER='"hosts/i860mach3.h"'
-       ;;
   mips-*-netbsd* | mips*-*-openbsd*)
        COREFILE=netbsd-core.lo
        ;;
   mips-*-netbsd* | mips*-*-openbsd*)
        COREFILE=netbsd-core.lo
        ;;
diff --git a/bfd/cpu-i860.c b/bfd/cpu-i860.c
deleted file mode 100644 (file)
index 7f6eb4b..0000000
+++ /dev/null
@@ -1,42 +0,0 @@
-/* BFD support for the Intel 860 architecture.
-   Copyright (C) 1992-2018 Free Software Foundation, Inc.
-   Created mostly by substituting "860" for "386" in cpu-i386.c
-   Harry Dolan <dolan@ssd.intel.com>, October 1995
-
-   This file is part of BFD, the Binary File Descriptor library.
-
-   This program 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 3 of the License, or
-   (at your option) any later version.
-
-   This program 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 this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston,
-   MA 02110-1301, USA.  */
-
-#include "sysdep.h"
-#include "bfd.h"
-#include "libbfd.h"
-
-const bfd_arch_info_type bfd_i860_arch =
-  {
-    32,                                /* 32 bits in a word */
-    32,                                /* 32 bits in an address */
-    8,                         /* 8 bits in a byte */
-    bfd_arch_i860,             /* Architecture */
-    0,                         /* Only one machine */
-    "i860",                    /* Architecture name */
-    "i860",                    /* Printable name */
-    3,                         /* Section alignment exponent */
-    TRUE,                      /* Is this the default architecture? */
-    bfd_default_compatible,
-    bfd_default_scan,
-    bfd_arch_default_fill,
-    0,                         /* Next in list */
-  };
diff --git a/bfd/cpu-i960.c b/bfd/cpu-i960.c
deleted file mode 100644 (file)
index f1333db..0000000
+++ /dev/null
@@ -1,172 +0,0 @@
-/* BFD library support routines for the i960 architecture.
-   Copyright (C) 1990-2018 Free Software Foundation, Inc.
-   Hacked by Steve Chamberlain of Cygnus Support.
-
-   This file is part of BFD, the Binary File Descriptor library.
-
-   This program 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 3 of the License, or
-   (at your option) any later version.
-
-   This program 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 this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston,
-   MA 02110-1301, USA.  */
-
-#include "sysdep.h"
-#include "bfd.h"
-#include "libbfd.h"
-
-/* This routine is provided a string, and tries to work out if it
-   could possibly refer to the i960 machine pointed at in the
-   info_struct pointer */
-
-static bfd_boolean
-scan_960_mach (const bfd_arch_info_type *ap,
-              const char *string)
-{
-  unsigned long machine;
-  int fail_because_not_80960 = FALSE;
-
-  /* Look for the string i960 at the front of the string.  */
-  if (strncasecmp ("i960", string, 4) == 0)
-    {
-      string += 4;
-
-      /* i960 on it's own means core to us.  */
-      if (* string == 0)
-       return ap->mach == bfd_mach_i960_core;
-
-      /* "i960:*" is valid, anything else is not.  */
-      if (* string != ':')
-       return FALSE;
-
-      string ++;
-    }
-  /* In some bfds the cpu-id is written as "80960KA", "80960KB",
-     "80960CA" or "80960MC".  */
-  else if (CONST_STRNEQ (string, "80960"))
-    {
-      string += 5;
-
-      /* Set this to TRUE here.  If a correct matching postfix
-        is detected below it will be reset to FALSE.  */
-      fail_because_not_80960 = TRUE;
-    }
-  /* No match, can't be us.  */
-  else
-    return FALSE;
-
-  if (* string == '\0')
-    return FALSE;
-
-  if (string[0] == 'c' && string[1] == 'o' && string[2] == 'r' &&
-      string[3] == 'e' && string[4] == '\0')
-    machine = bfd_mach_i960_core;
-  else if (strcasecmp (string, "ka_sa") == 0)
-    machine = bfd_mach_i960_ka_sa;
-  else if (strcasecmp (string, "kb_sb") == 0)
-    machine = bfd_mach_i960_kb_sb;
-  else if (string[1] == '\0' || string[2] != '\0') /* rest are 2-char.  */
-    return FALSE;
-  else if (string[0] == 'k' && string[1] == 'b')
-    { machine = bfd_mach_i960_kb_sb; fail_because_not_80960 = FALSE; }
-  else if (string[0] == 's' && string[1] == 'b')
-    machine = bfd_mach_i960_kb_sb;
-  else if (string[0] == 'm' && string[1] == 'c')
-    { machine = bfd_mach_i960_mc; fail_because_not_80960 = FALSE; }
-  else if (string[0] == 'x' && string[1] == 'a')
-    machine = bfd_mach_i960_xa;
-  else if (string[0] == 'c' && string[1] == 'a')
-    { machine = bfd_mach_i960_ca; fail_because_not_80960 = FALSE; }
-  else if (string[0] == 'k' && string[1] == 'a')
-    { machine = bfd_mach_i960_ka_sa; fail_because_not_80960 = FALSE; }
-  else if (string[0] == 's' && string[1] == 'a')
-    machine = bfd_mach_i960_ka_sa;
-  else if (string[0] == 'j' && string[1] == 'x')
-    machine = bfd_mach_i960_jx;
-  else if (string[0] == 'h' && string[1] == 'x')
-    machine = bfd_mach_i960_hx;
-  else
-    return FALSE;
-
-  if (fail_because_not_80960)
-    return FALSE;
-
-  if (machine == ap->mach)
-    return TRUE;
-
-  return FALSE;
-}
-
-/* This routine is provided two arch_infos and works out the i960
-   machine which would be compatible with both and returns a pointer
-   to its info structure */
-
-static const bfd_arch_info_type *
-compatible (const bfd_arch_info_type *a,
-           const bfd_arch_info_type *b)
-{
-
-  /* The i960 has distinct subspecies which may not interbreed:
-       CORE CA
-       CORE KA KB MC XA
-       CORE HX JX
-     Any architecture on the same line is compatible, the one on
-     the right is the least restrictive.
-
-     We represent this information in an array, each machine to a side */
-
-#define ERROR  0
-#define CORE   bfd_mach_i960_core  /*1*/
-#define KA     bfd_mach_i960_ka_sa /*2*/
-#define KB     bfd_mach_i960_kb_sb /*3*/
-#define MC     bfd_mach_i960_mc    /*4*/
-#define XA     bfd_mach_i960_xa    /*5*/
-#define CA     bfd_mach_i960_ca    /*6*/
-#define JX     bfd_mach_i960_jx    /*7*/
-#define HX     bfd_mach_i960_hx    /*8*/
-#define MAX_ARCH ((int)HX)
-
-  static const unsigned long matrix[MAX_ARCH+1][MAX_ARCH+1] =
-    {
-      { ERROR, CORE,   KA,     KB,     MC,     XA,     CA,     JX,     HX },
-      { CORE,  CORE,   KA,     KB,     MC,     XA,     CA,     JX,     HX },
-      { KA,    KA,     KA,     KB,     MC,     XA,     ERROR,  ERROR,  ERROR},
-      { KB,    KB,     KB,     KB,     MC,     XA,     ERROR,  ERROR,  ERROR},
-      { MC,    MC,     MC,     MC,     MC,     XA,     ERROR,  ERROR,  ERROR},
-      { XA,    XA,     XA,     XA,     XA,     XA,     ERROR,  ERROR,  ERROR},
-      { CA,    CA,     ERROR,  ERROR,  ERROR,  ERROR,  CA,     ERROR,  ERROR},
-      { JX,    JX,     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  JX,     HX },
-      { HX,    HX,     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  HX,     HX },
-    };
-
-  if (a->arch != b->arch || matrix[a->mach][b->mach] == ERROR)
-    return NULL;
-
-  return (a->mach  ==  matrix[a->mach][b->mach]) ?  a : b;
-}
-
-#define N(a,b,d,n) \
-{ 32, 32, 8,bfd_arch_i960,a,"i960",b,3,d,compatible,scan_960_mach, \
-  bfd_arch_default_fill, n,}
-
-static const bfd_arch_info_type arch_info_struct[] =
-{
-  N(bfd_mach_i960_ka_sa,"i960:ka_sa",FALSE, &arch_info_struct[1]),
-  N(bfd_mach_i960_kb_sb,"i960:kb_sb",FALSE, &arch_info_struct[2]),
-  N(bfd_mach_i960_mc,   "i960:mc",   FALSE, &arch_info_struct[3]),
-  N(bfd_mach_i960_xa,   "i960:xa",   FALSE, &arch_info_struct[4]),
-  N(bfd_mach_i960_ca,   "i960:ca",   FALSE, &arch_info_struct[5]),
-  N(bfd_mach_i960_jx,   "i960:jx",   FALSE, &arch_info_struct[6]),
-  N(bfd_mach_i960_hx,  "i960:hx",   FALSE, 0),
-};
-
-const bfd_arch_info_type bfd_i960_arch =
-  N(bfd_mach_i960_core, "i960:core", TRUE, &arch_info_struct[0]);
diff --git a/bfd/elf32-i860.c b/bfd/elf32-i860.c
deleted file mode 100644 (file)
index d588dc5..0000000
+++ /dev/null
@@ -1,1274 +0,0 @@
-/* Intel i860 specific support for 32-bit ELF.
-   Copyright (C) 1993-2018 Free Software Foundation, Inc.
-
-   Full i860 support contributed by Jason Eckhardt <jle@cygnus.com>.
-
-   This file is part of BFD, the Binary File Descriptor library.
-
-   This program 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 3 of the License, or
-   (at your option) any later version.
-
-   This program 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 this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston,
-   MA 02110-1301, USA.  */
-
-#include "sysdep.h"
-#include "bfd.h"
-#include "libbfd.h"
-#include "elf-bfd.h"
-#include "elf/i860.h"
-
-/* special_function for R_860_PC26 relocation.  */
-static bfd_reloc_status_type
-i860_howto_pc26_reloc (bfd *abfd ATTRIBUTE_UNUSED,
-                      arelent *reloc_entry,
-                      asymbol *symbol,
-                      void *data ATTRIBUTE_UNUSED,
-                      asection *input_section,
-                      bfd *output_bfd,
-                      char **error_message ATTRIBUTE_UNUSED)
-{
-  bfd_vma insn;
-  bfd_vma relocation;
-  bfd_byte *addr;
-
-  if (output_bfd != NULL
-      && (symbol->flags & BSF_SECTION_SYM) == 0
-      && (! reloc_entry->howto->partial_inplace
-         || reloc_entry->addend == 0))
-    {
-      reloc_entry->address += input_section->output_offset;
-      return bfd_reloc_ok;
-    }
-
-  /* Used elf32-mips.c as an example.  */
-  if (bfd_is_und_section (symbol->section)
-      && output_bfd == (bfd *) NULL)
-    return bfd_reloc_undefined;
-
-  if (bfd_is_com_section (symbol->section))
-    relocation = 0;
-  else
-    relocation = symbol->value;
-
-  relocation += symbol->section->output_section->vma;
-  relocation += symbol->section->output_offset;
-  relocation += reloc_entry->addend;
-
-  if (reloc_entry->address > bfd_get_section_limit (abfd, input_section))
-    return bfd_reloc_outofrange;
-
-  /* Adjust for PC-relative relocation.  */
-  relocation -= (input_section->output_section->vma
-                + input_section->output_offset
-                + reloc_entry->address
-                + 4);
-
-  /* Check for target out of range.  */
-  if ((bfd_signed_vma)relocation > (0x3ffffff << 2)
-      || (bfd_signed_vma)relocation < (-0x4000000 * 4))
-    return bfd_reloc_outofrange;
-
-  addr = (bfd_byte *) data + reloc_entry->address;
-  insn = bfd_get_32 (abfd, addr);
-
-  relocation >>= reloc_entry->howto->rightshift;
-  insn = (insn & ~reloc_entry->howto->dst_mask)
-        | (relocation & reloc_entry->howto->dst_mask);
-
-  bfd_put_32 (abfd, (bfd_vma) insn, addr);
-
-  return bfd_reloc_ok;
-}
-
-/* special_function for R_860_PC16 relocation.  */
-static bfd_reloc_status_type
-i860_howto_pc16_reloc (bfd *abfd,
-                      arelent *reloc_entry,
-                      asymbol *symbol,
-                      void *data,
-                      asection *input_section,
-                      bfd *output_bfd,
-                      char **error_message ATTRIBUTE_UNUSED)
-{
-  bfd_vma insn;
-  bfd_vma relocation;
-  bfd_byte *addr;
-
-  if (output_bfd != NULL
-      && (symbol->flags & BSF_SECTION_SYM) == 0
-      && (! reloc_entry->howto->partial_inplace
-         || reloc_entry->addend == 0))
-    {
-      reloc_entry->address += input_section->output_offset;
-      return bfd_reloc_ok;
-    }
-
-  /* Used elf32-mips.c as an example.  */
-  if (bfd_is_und_section (symbol->section)
-      && output_bfd == (bfd *) NULL)
-    return bfd_reloc_undefined;
-
-  if (bfd_is_com_section (symbol->section))
-    relocation = 0;
-  else
-    relocation = symbol->value;
-
-  relocation += symbol->section->output_section->vma;
-  relocation += symbol->section->output_offset;
-  relocation += reloc_entry->addend;
-
-  if (reloc_entry->address > bfd_get_section_limit (abfd, input_section))
-    return bfd_reloc_outofrange;
-
-  /* Adjust for PC-relative relocation.  */
-  relocation -= (input_section->output_section->vma
-                + input_section->output_offset
-                + reloc_entry->address
-                + 4);
-
-  /* Check for target out of range.  */
-  if ((bfd_signed_vma)relocation > (0x7fff << 2)
-      || (bfd_signed_vma)relocation < (-0x8000 * 4))
-    return bfd_reloc_outofrange;
-
-  addr = (bfd_byte *) data + reloc_entry->address;
-  insn = bfd_get_32 (abfd, addr);
-
-  relocation >>= reloc_entry->howto->rightshift;
-  relocation = (((relocation & 0xf800) << 5) | (relocation & 0x7ff))
-              & reloc_entry->howto->dst_mask;
-  insn = (insn & ~reloc_entry->howto->dst_mask) | relocation;
-
-  bfd_put_32 (abfd, (bfd_vma) insn, addr);
-
-  return bfd_reloc_ok;
-}
-
-/* special_function for R_860_HIGHADJ relocation.  */
-static bfd_reloc_status_type
-i860_howto_highadj_reloc (bfd *abfd,
-                         arelent *reloc_entry,
-                         asymbol *symbol,
-                         void *data,
-                         asection *input_section,
-                         bfd *output_bfd,
-                         char **error_message ATTRIBUTE_UNUSED)
-{
-  bfd_vma insn;
-  bfd_vma relocation;
-  bfd_byte *addr;
-
-  if (output_bfd != NULL
-      && (symbol->flags & BSF_SECTION_SYM) == 0
-      && (! reloc_entry->howto->partial_inplace
-         || reloc_entry->addend == 0))
-    {
-      reloc_entry->address += input_section->output_offset;
-      return bfd_reloc_ok;
-    }
-
-  /* Used elf32-mips.c as an example.  */
-  if (bfd_is_und_section (symbol->section)
-      && output_bfd == (bfd *) NULL)
-    return bfd_reloc_undefined;
-
-  if (bfd_is_com_section (symbol->section))
-    relocation = 0;
-  else
-    relocation = symbol->value;
-
-  relocation += symbol->section->output_section->vma;
-  relocation += symbol->section->output_offset;
-  relocation += reloc_entry->addend;
-  relocation += 0x8000;
-
-  if (reloc_entry->address > bfd_get_section_limit (abfd, input_section))
-    return bfd_reloc_outofrange;
-
-  addr = (bfd_byte *) data + reloc_entry->address;
-  insn = bfd_get_32 (abfd, addr);
-
-  relocation = ((relocation >> 16) & 0xffff);
-
-  insn = (insn & 0xffff0000) | relocation;
-
-  bfd_put_32 (abfd, (bfd_vma) insn, addr);
-
-  return bfd_reloc_ok;
-}
-
-/* special_function for R_860_SPLITn relocations.  */
-static bfd_reloc_status_type
-i860_howto_splitn_reloc (bfd *abfd,
-                        arelent *reloc_entry,
-                        asymbol *symbol,
-                        void *data,
-                        asection *input_section,
-                        bfd *output_bfd,
-                        char **error_message ATTRIBUTE_UNUSED)
-{
-  bfd_vma insn;
-  bfd_vma relocation;
-  bfd_byte *addr;
-
-  if (output_bfd != NULL
-      && (symbol->flags & BSF_SECTION_SYM) == 0
-      && (! reloc_entry->howto->partial_inplace
-         || reloc_entry->addend == 0))
-    {
-      reloc_entry->address += input_section->output_offset;
-      return bfd_reloc_ok;
-    }
-
-  /* Used elf32-mips.c as an example.  */
-  if (bfd_is_und_section (symbol->section)
-      && output_bfd == (bfd *) NULL)
-    return bfd_reloc_undefined;
-
-  if (bfd_is_com_section (symbol->section))
-    relocation = 0;
-  else
-    relocation = symbol->value;
-
-  relocation += symbol->section->output_section->vma;
-  relocation += symbol->section->output_offset;
-  relocation += reloc_entry->addend;
-
-  if (reloc_entry->address > bfd_get_section_limit (abfd, input_section))
-    return bfd_reloc_outofrange;
-
-  addr = (bfd_byte *) data + reloc_entry->address;
-  insn = bfd_get_32 (abfd, addr);
-
-  relocation = (((relocation & 0xf800) << 5) | (relocation & 0x7ff))
-              & reloc_entry->howto->dst_mask;
-  insn = (insn & ~reloc_entry->howto->dst_mask) | relocation;
-
-  bfd_put_32 (abfd, (bfd_vma) insn, addr);
-
-  return bfd_reloc_ok;
-}
-
-/* This howto table is preliminary.  */
-static reloc_howto_type elf32_i860_howto_table [] =
-{
-  /* This relocation does nothing.  */
-  HOWTO (R_860_NONE,           /* type */
-        0,                     /* rightshift */
-        3,                     /* size (0 = byte, 1 = short, 2 = long) */
-        0,                     /* bitsize */
-        FALSE,                 /* pc_relative */
-        0,                     /* bitpos */
-        complain_overflow_dont, /* complain_on_overflow */
-        bfd_elf_generic_reloc, /* special_function */
-        "R_860_NONE",          /* name */
-        FALSE,                 /* partial_inplace */
-        0,                     /* src_mask */
-        0,                     /* dst_mask */
-        FALSE),                /* pcrel_offset */
-
-  /* A 32-bit absolute relocation.  */
-  HOWTO (R_860_32,             /* type */
-        0,                     /* rightshift */
-        2,                     /* size (0 = byte, 1 = short, 2 = long) */
-        32,                    /* bitsize */
-        FALSE,                 /* pc_relative */
-        0,                     /* bitpos */
-        complain_overflow_bitfield, /* complain_on_overflow */
-        bfd_elf_generic_reloc, /* special_function */
-        "R_860_32",            /* name */
-        FALSE,                 /* partial_inplace */
-        0xffffffff,            /* src_mask */
-        0xffffffff,            /* dst_mask */
-        FALSE),                /* pcrel_offset */
-
-  HOWTO (R_860_COPY,           /* type */
-        0,                     /* rightshift */
-        2,                     /* size (0 = byte, 1 = short, 2 = long) */
-        32,                    /* bitsize */
-        FALSE,                 /* pc_relative */
-        0,                     /* bitpos */
-        complain_overflow_bitfield, /* complain_on_overflow */
-        bfd_elf_generic_reloc, /* special_function */
-        "R_860_COPY",          /* name */
-        TRUE,                  /* partial_inplace */
-        0xffffffff,            /* src_mask */
-        0xffffffff,            /* dst_mask */
-        FALSE),                /* pcrel_offset */
-
-  HOWTO (R_860_GLOB_DAT,       /* type */
-        0,                     /* rightshift */
-        2,                     /* size (0 = byte, 1 = short, 2 = long) */
-        32,                    /* bitsize */
-        FALSE,                 /* pc_relative */
-        0,                     /* bitpos */
-        complain_overflow_bitfield, /* complain_on_overflow */
-        bfd_elf_generic_reloc, /* special_function */
-        "R_860_GLOB_DAT",      /* name */
-        TRUE,                  /* partial_inplace */
-        0xffffffff,            /* src_mask */
-        0xffffffff,            /* dst_mask */
-        FALSE),                /* pcrel_offset */
-
-  HOWTO (R_860_JUMP_SLOT,      /* type */
-        0,                     /* rightshift */
-        2,                     /* size (0 = byte, 1 = short, 2 = long) */
-        32,                    /* bitsize */
-        FALSE,                 /* pc_relative */
-        0,                     /* bitpos */
-        complain_overflow_bitfield, /* complain_on_overflow */
-        bfd_elf_generic_reloc, /* special_function */
-        "R_860_JUMP_SLOT",     /* name */
-        TRUE,                  /* partial_inplace */
-        0xffffffff,            /* src_mask */
-        0xffffffff,            /* dst_mask */
-        FALSE),                /* pcrel_offset */
-
-  HOWTO (R_860_RELATIVE,       /* type */
-        0,                     /* rightshift */
-        2,                     /* size (0 = byte, 1 = short, 2 = long) */
-        32,                    /* bitsize */
-        FALSE,                 /* pc_relative */
-        0,                     /* bitpos */
-        complain_overflow_bitfield, /* complain_on_overflow */
-        bfd_elf_generic_reloc, /* special_function */
-        "R_860_RELATIVE",      /* name */
-        TRUE,                  /* partial_inplace */
-        0xffffffff,            /* src_mask */
-        0xffffffff,            /* dst_mask */
-        FALSE),                /* pcrel_offset */
-
-  /* A 26-bit PC-relative relocation.  */
-  HOWTO (R_860_PC26,           /* type */
-        2,                     /* rightshift */
-        2,                     /* size (0 = byte, 1 = short, 2 = long) */
-        26,                    /* bitsize */
-        TRUE,                  /* pc_relative */
-        0,                     /* bitpos */
-        complain_overflow_bitfield, /* complain_on_overflow */
-        i860_howto_pc26_reloc, /* special_function */
-        "R_860_PC26",          /* name */
-        FALSE,                 /* partial_inplace */
-        0x3ffffff,             /* src_mask */
-        0x3ffffff,             /* dst_mask */
-        TRUE),                 /* pcrel_offset */
-
-  HOWTO (R_860_PLT26,          /* type */
-        0,                     /* rightshift */
-        2,                     /* size (0 = byte, 1 = short, 2 = long) */
-        26,                    /* bitsize */
-        TRUE,                  /* pc_relative */
-        0,                     /* bitpos */
-        complain_overflow_bitfield, /* complain_on_overflow */
-        bfd_elf_generic_reloc, /* special_function */
-        "R_860_PLT26",         /* name */
-        TRUE,                  /* partial_inplace */
-        0xffffffff,            /* src_mask */
-        0xffffffff,            /* dst_mask */
-        TRUE),                 /* pcrel_offset */
-
-  /* A 16-bit PC-relative relocation.  */
-  HOWTO (R_860_PC16,           /* type */
-        2,                     /* rightshift */
-        2,                     /* size (0 = byte, 1 = short, 2 = long) */
-        16,                    /* bitsize */
-        TRUE,                  /* pc_relative */
-        0,                     /* bitpos */
-        complain_overflow_bitfield, /* complain_on_overflow */
-        i860_howto_pc16_reloc, /* special_function */
-        "R_860_PC16",          /* name */
-        FALSE,                 /* partial_inplace */
-        0x1f07ff,              /* src_mask */
-        0x1f07ff,              /* dst_mask */
-        TRUE),                 /* pcrel_offset */
-
-  HOWTO (R_860_LOW0,           /* type */
-        0,                     /* rightshift */
-        2,                     /* size (0 = byte, 1 = short, 2 = long) */
-        16,                    /* bitsize */
-        FALSE,                 /* pc_relative */
-        0,                     /* bitpos */
-        complain_overflow_dont, /* complain_on_overflow */
-        bfd_elf_generic_reloc, /* special_function */
-        "R_860_LOW0",          /* name */
-        FALSE,                 /* partial_inplace */
-        0xffff,                /* src_mask */
-        0xffff,                /* dst_mask */
-        FALSE),                /* pcrel_offset */
-
-  HOWTO (R_860_SPLIT0,         /* type */
-        0,                     /* rightshift */
-        2,                     /* size (0 = byte, 1 = short, 2 = long) */
-        16,                    /* bitsize */
-        FALSE,                 /* pc_relative */
-        0,                     /* bitpos */
-        complain_overflow_dont, /* complain_on_overflow */
-        i860_howto_splitn_reloc, /* special_function */
-        "R_860_SPLIT0",        /* name */
-        FALSE,                 /* partial_inplace */
-        0x1f07ff,              /* src_mask */
-        0x1f07ff,              /* dst_mask */
-        FALSE),                /* pcrel_offset */
-
-  HOWTO (R_860_LOW1,           /* type */
-        0,                     /* rightshift */
-        2,                     /* size (0 = byte, 1 = short, 2 = long) */
-        16,                    /* bitsize */
-        FALSE,                 /* pc_relative */
-        0,                     /* bitpos */
-        complain_overflow_dont, /* complain_on_overflow */
-        bfd_elf_generic_reloc, /* special_function */
-        "R_860_LOW1",          /* name */
-        FALSE,                 /* partial_inplace */
-        0xfffe,                /* src_mask */
-        0xfffe,                /* dst_mask */
-        FALSE),                /* pcrel_offset */
-
-  HOWTO (R_860_SPLIT1,         /* type */
-        0,                     /* rightshift */
-        2,                     /* size (0 = byte, 1 = short, 2 = long) */
-        16,                    /* bitsize */
-        FALSE,                 /* pc_relative */
-        0,                     /* bitpos */
-        complain_overflow_dont, /* complain_on_overflow */
-        i860_howto_splitn_reloc, /* special_function */
-        "R_860_SPLIT1",        /* name */
-        FALSE,                 /* partial_inplace */
-        0x1f07fe,              /* src_mask */
-        0x1f07fe,              /* dst_mask */
-        FALSE),                /* pcrel_offset */
-
-  HOWTO (R_860_LOW2,           /* type */
-        0,                     /* rightshift */
-        2,                     /* size (0 = byte, 1 = short, 2 = long) */
-        16,                    /* bitsize */
-        FALSE,                 /* pc_relative */
-        0,                     /* bitpos */
-        complain_overflow_dont, /* complain_on_overflow */
-        bfd_elf_generic_reloc, /* special_function */
-        "R_860_LOW2",          /* name */
-        FALSE,                 /* partial_inplace */
-        0xfffc,                /* src_mask */
-        0xfffc,                /* dst_mask */
-        FALSE),                /* pcrel_offset */
-
-  HOWTO (R_860_SPLIT2,         /* type */
-        0,                     /* rightshift */
-        2,                     /* size (0 = byte, 1 = short, 2 = long) */
-        16,                    /* bitsize */
-        FALSE,                 /* pc_relative */
-        0,                     /* bitpos */
-        complain_overflow_dont, /* complain_on_overflow */
-        i860_howto_splitn_reloc, /* special_function */
-        "R_860_SPLIT2",        /* name */
-        FALSE,                 /* partial_inplace */
-        0x1f07fc,              /* src_mask */
-        0x1f07fc,              /* dst_mask */
-        FALSE),                /* pcrel_offset */
-
-  HOWTO (R_860_LOW3,           /* type */
-        0,                     /* rightshift */
-        2,                     /* size (0 = byte, 1 = short, 2 = long) */
-        16,                    /* bitsize */
-        FALSE,                 /* pc_relative */
-        0,                     /* bitpos */
-        complain_overflow_dont, /* complain_on_overflow */
-        bfd_elf_generic_reloc, /* special_function */
-        "R_860_LOW3",          /* name */
-        FALSE,                 /* partial_inplace */
-        0xfff8,                /* src_mask */
-        0xfff8,                /* dst_mask */
-        FALSE),                /* pcrel_offset */
-
-  HOWTO (R_860_LOGOT0,         /* type */
-        0,                     /* rightshift */
-        2,                     /* size (0 = byte, 1 = short, 2 = long) */
-        16,                    /* bitsize */
-        FALSE,                 /* pc_relative */
-        0,                     /* bitpos */
-        complain_overflow_dont, /* complain_on_overflow */
-        bfd_elf_generic_reloc, /* special_function */
-        "R_860_LOGOT0",        /* name */
-        FALSE,                 /* partial_inplace */
-        0,                     /* src_mask */
-        0xffff,                /* dst_mask */
-        TRUE),                 /* pcrel_offset */
-
-  HOWTO (R_860_SPGOT0,         /* type */
-        0,                     /* rightshift */
-        2,                     /* size (0 = byte, 1 = short, 2 = long) */
-        16,                    /* bitsize */
-        FALSE,                 /* pc_relative */
-        0,                     /* bitpos */
-        complain_overflow_dont, /* complain_on_overflow */
-        bfd_elf_generic_reloc, /* special_function */
-        "R_860_SPGOT0",        /* name */
-        FALSE,                 /* partial_inplace */
-        0,                     /* src_mask */
-        0xffff,                /* dst_mask */
-        TRUE),                 /* pcrel_offset */
-
-  HOWTO (R_860_LOGOT1,         /* type */
-        0,                     /* rightshift */
-        2,                     /* size (0 = byte, 1 = short, 2 = long) */
-        16,                    /* bitsize */
-        FALSE,                 /* pc_relative */
-        0,                     /* bitpos */
-        complain_overflow_dont, /* complain_on_overflow */
-        bfd_elf_generic_reloc, /* special_function */
-        "R_860_LOGOT1",        /* name */
-        FALSE,                 /* partial_inplace */
-        0,                     /* src_mask */
-        0xffff,                /* dst_mask */
-        TRUE),                 /* pcrel_offset */
-
-  HOWTO (R_860_SPGOT1,         /* type */
-        0,                     /* rightshift */
-        2,                     /* size (0 = byte, 1 = short, 2 = long) */
-        16,                    /* bitsize */
-        FALSE,                 /* pc_relative */
-        0,                     /* bitpos */
-        complain_overflow_dont, /* complain_on_overflow */
-        bfd_elf_generic_reloc, /* special_function */
-        "R_860_SPGOT1",        /* name */
-        FALSE,                 /* partial_inplace */
-        0,                     /* src_mask */
-        0xffff,                /* dst_mask */
-        TRUE),                 /* pcrel_offset */
-
-  HOWTO (R_860_LOGOTOFF0,       /* type */
-        0,                     /* rightshift */
-        2,                     /* size (0 = byte, 1 = short, 2 = long) */
-        32,                    /* bitsize */
-        FALSE,                 /* pc_relative */
-        0,                     /* bitpos */
-        complain_overflow_dont, /* complain_on_overflow */
-        bfd_elf_generic_reloc, /* special_function */
-        "R_860_LOGOTOFF0",     /* name */
-        TRUE,                  /* partial_inplace */
-        0xffffffff,            /* src_mask */
-        0xffffffff,            /* dst_mask */
-        FALSE),                /* pcrel_offset */
-
-  HOWTO (R_860_SPGOTOFF0,       /* type */
-        0,                     /* rightshift */
-        2,                     /* size (0 = byte, 1 = short, 2 = long) */
-        32,                    /* bitsize */
-        FALSE,                 /* pc_relative */
-        0,                     /* bitpos */
-        complain_overflow_dont, /* complain_on_overflow */
-        bfd_elf_generic_reloc, /* special_function */
-        "R_860_SPGOTOFF0",     /* name */
-        TRUE,                  /* partial_inplace */
-        0xffffffff,            /* src_mask */
-        0xffffffff,            /* dst_mask */
-        FALSE),                /* pcrel_offset */
-
-  HOWTO (R_860_LOGOTOFF1,       /* type */
-        0,                     /* rightshift */
-        2,                     /* size (0 = byte, 1 = short, 2 = long) */
-        32,                    /* bitsize */
-        FALSE,                 /* pc_relative */
-        0,                     /* bitpos */
-        complain_overflow_dont, /* complain_on_overflow */
-        bfd_elf_generic_reloc, /* special_function */
-        "R_860_LOGOTOFF1",     /* name */
-        TRUE,                  /* partial_inplace */
-        0xffffffff,            /* src_mask */
-        0xffffffff,            /* dst_mask */
-        FALSE),                /* pcrel_offset */
-
-  HOWTO (R_860_SPGOTOFF1,       /* type */
-        0,                     /* rightshift */
-        2,                     /* size (0 = byte, 1 = short, 2 = long) */
-        32,                    /* bitsize */
-        FALSE,                 /* pc_relative */
-        0,                     /* bitpos */
-        complain_overflow_dont, /* complain_on_overflow */
-        bfd_elf_generic_reloc, /* special_function */
-        "R_860_SPGOTOFF1",     /* name */
-        TRUE,                  /* partial_inplace */
-        0xffffffff,            /* src_mask */
-        0xffffffff,            /* dst_mask */
-        FALSE),                /* pcrel_offset */
-
-  HOWTO (R_860_LOGOTOFF2,       /* type */
-        0,                     /* rightshift */
-        2,                     /* size (0 = byte, 1 = short, 2 = long) */
-        32,                    /* bitsize */
-        FALSE,                 /* pc_relative */
-        0,                     /* bitpos */
-        complain_overflow_dont, /* complain_on_overflow */
-        bfd_elf_generic_reloc, /* special_function */
-        "R_860_LOGOTOFF2",     /* name */
-        TRUE,                  /* partial_inplace */
-        0xffffffff,            /* src_mask */
-        0xffffffff,            /* dst_mask */
-        FALSE),                /* pcrel_offset */
-
-  HOWTO (R_860_LOGOTOFF3,       /* type */
-        0,                     /* rightshift */
-        2,                     /* size (0 = byte, 1 = short, 2 = long) */
-        32,                    /* bitsize */
-        FALSE,                 /* pc_relative */
-        0,                     /* bitpos */
-        complain_overflow_dont, /* complain_on_overflow */
-        bfd_elf_generic_reloc, /* special_function */
-        "R_860_LOGOTOFF3",     /* name */
-        TRUE,                  /* partial_inplace */
-        0xffffffff,            /* src_mask */
-        0xffffffff,            /* dst_mask */
-        FALSE),                /* pcrel_offset */
-
-  HOWTO (R_860_LOPC,           /* type */
-        0,                     /* rightshift */
-        2,                     /* size (0 = byte, 1 = short, 2 = long) */
-        16,                    /* bitsize */
-        TRUE,                  /* pc_relative */
-        0,                     /* bitpos */
-        complain_overflow_bitfield, /* complain_on_overflow */
-        bfd_elf_generic_reloc, /* special_function */
-        "R_860_LOPC",          /* name */
-        FALSE,                 /* partial_inplace */
-        0xffff,                /* src_mask */
-        0xffff,                /* dst_mask */
-        TRUE),                 /* pcrel_offset */
-
-  HOWTO (R_860_HIGHADJ,                /* type */
-        0,                     /* rightshift */
-        2,                     /* size (0 = byte, 1 = short, 2 = long) */
-        16,                    /* bitsize */
-        FALSE,                 /* pc_relative */
-        0,                     /* bitpos */
-        complain_overflow_dont, /* complain_on_overflow */
-        i860_howto_highadj_reloc, /* special_function */
-        "R_860_HIGHADJ",       /* name */
-        FALSE,                 /* partial_inplace */
-        0xffff,                /* src_mask */
-        0xffff,                /* dst_mask */
-        FALSE),                /* pcrel_offset */
-
-  HOWTO (R_860_HAGOT,          /* type */
-        0,                     /* rightshift */
-        2,                     /* size (0 = byte, 1 = short, 2 = long) */
-        16,                    /* bitsize */
-        FALSE,                 /* pc_relative */
-        0,                     /* bitpos */
-        complain_overflow_dont, /* complain_on_overflow */
-        bfd_elf_generic_reloc, /* special_function */
-        "R_860_HAGOT",         /* name */
-        FALSE,                 /* partial_inplace */
-        0,                     /* src_mask */
-        0xffff,                /* dst_mask */
-        TRUE),                 /* pcrel_offset */
-
-  HOWTO (R_860_HAGOTOFF,       /* type */
-        0,                     /* rightshift */
-        2,                     /* size (0 = byte, 1 = short, 2 = long) */
-        32,                    /* bitsize */
-        FALSE,                 /* pc_relative */
-        0,                     /* bitpos */
-        complain_overflow_dont, /* complain_on_overflow */
-        bfd_elf_generic_reloc, /* special_function */
-        "R_860_HAGOTOFF",      /* name */
-        TRUE,                  /* partial_inplace */
-        0xffffffff,            /* src_mask */
-        0xffffffff,            /* dst_mask */
-        FALSE),                /* pcrel_offset */
-
-  HOWTO (R_860_HAPC,           /* type */
-        0,                     /* rightshift */
-        2,                     /* size (0 = byte, 1 = short, 2 = long) */
-        16,                    /* bitsize */
-        TRUE,                  /* pc_relative */
-        0,                     /* bitpos */
-        complain_overflow_bitfield, /* complain_on_overflow */
-        bfd_elf_generic_reloc, /* special_function */
-        "R_860_HAPC",          /* name */
-        FALSE,                 /* partial_inplace */
-        0xffff,                /* src_mask */
-        0xffff,                /* dst_mask */
-        TRUE),                 /* pcrel_offset */
-
-  HOWTO (R_860_HIGH,           /* type */
-        16,                    /* rightshift */
-        2,                     /* size (0 = byte, 1 = short, 2 = long) */
-        16,                    /* bitsize */
-        FALSE,                 /* pc_relative */
-        0,                     /* bitpos */
-        complain_overflow_dont, /* complain_on_overflow */
-        bfd_elf_generic_reloc, /* special_function */
-        "R_860_HIGH",          /* name */
-        FALSE,                 /* partial_inplace */
-        0xffff,                /* src_mask */
-        0xffff,                /* dst_mask */
-        FALSE),                /* pcrel_offset */
-
-  HOWTO (R_860_HIGOT,          /* type */
-        0,                     /* rightshift */
-        2,                     /* size (0 = byte, 1 = short, 2 = long) */
-        16,                    /* bitsize */
-        FALSE,                 /* pc_relative */
-        0,                     /* bitpos */
-        complain_overflow_dont, /* complain_on_overflow */
-        bfd_elf_generic_reloc, /* special_function */
-        "R_860_HIGOT",         /* name */
-        FALSE,                 /* partial_inplace */
-        0,                     /* src_mask */
-        0xffff,                /* dst_mask */
-        TRUE),                 /* pcrel_offset */
-
-  HOWTO (R_860_HIGOTOFF,       /* type */
-        0,                     /* rightshift */
-        2,                     /* size (0 = byte, 1 = short, 2 = long) */
-        32,                    /* bitsize */
-        FALSE,                 /* pc_relative */
-        0,                     /* bitpos */
-        complain_overflow_dont, /* complain_on_overflow */
-        bfd_elf_generic_reloc, /* special_function */
-        "R_860_HIGOTOFF",      /* name */
-        TRUE,                  /* partial_inplace */
-        0xffffffff,            /* src_mask */
-        0xffffffff,            /* dst_mask */
-        FALSE),                /* pcrel_offset */
-};
-\f
-static unsigned char elf_code_to_howto_index[R_860_max + 1];
-
-static reloc_howto_type *
-lookup_howto (bfd *abfd, unsigned int rtype)
-{
-  static int initialized = 0;
-  int i;
-  int howto_tbl_size = (int) (sizeof (elf32_i860_howto_table)
-                       / sizeof (elf32_i860_howto_table[0]));
-  reloc_howto_type *howto = NULL;
-
-  if (! initialized)
-    {
-      initialized = 1;
-      memset (elf_code_to_howto_index, 0xff,
-             sizeof (elf_code_to_howto_index));
-      for (i = 0; i < howto_tbl_size; i++)
-       elf_code_to_howto_index[elf32_i860_howto_table[i].type] = i;
-    }
-
-  if (rtype < R_860_max)
-    {
-      i = elf_code_to_howto_index[rtype];
-      if (i < howto_tbl_size)
-       howto = elf32_i860_howto_table + i;
-    }
-  if (howto == NULL)
-    {
-      _bfd_error_handler (_("%pB: unsupported relocation type %#x"),
-                         abfd, rtype);
-      bfd_set_error (bfd_error_bad_value);
-    }
-  return howto;
-}
-
-/* Given a BFD reloc, return the matching HOWTO structure.  */
-static reloc_howto_type *
-elf32_i860_reloc_type_lookup (bfd *abfd, bfd_reloc_code_real_type code)
-{
-  unsigned int rtype;
-
-  switch (code)
-    {
-    case BFD_RELOC_NONE:
-      rtype = R_860_NONE;
-      break;
-    case BFD_RELOC_32:
-      rtype = R_860_32;
-      break;
-    case BFD_RELOC_860_COPY:
-      rtype = R_860_COPY;
-      break;
-    case BFD_RELOC_860_GLOB_DAT:
-      rtype = R_860_GLOB_DAT;
-      break;
-    case BFD_RELOC_860_JUMP_SLOT:
-      rtype = R_860_JUMP_SLOT;
-      break;
-    case BFD_RELOC_860_RELATIVE:
-      rtype = R_860_RELATIVE;
-      break;
-    case BFD_RELOC_860_PC26:
-      rtype = R_860_PC26;
-      break;
-    case BFD_RELOC_860_PLT26:
-      rtype = R_860_PLT26;
-      break;
-    case BFD_RELOC_860_PC16:
-      rtype = R_860_PC16;
-      break;
-    case BFD_RELOC_860_LOW0:
-      rtype = R_860_LOW0;
-      break;
-    case BFD_RELOC_860_SPLIT0:
-      rtype = R_860_SPLIT0;
-      break;
-    case BFD_RELOC_860_LOW1:
-      rtype = R_860_LOW1;
-      break;
-    case BFD_RELOC_860_SPLIT1:
-      rtype = R_860_SPLIT1;
-      break;
-    case BFD_RELOC_860_LOW2:
-      rtype = R_860_LOW2;
-      break;
-    case BFD_RELOC_860_SPLIT2:
-      rtype = R_860_SPLIT2;
-      break;
-    case BFD_RELOC_860_LOW3:
-      rtype = R_860_LOW3;
-      break;
-    case BFD_RELOC_860_LOGOT0:
-      rtype = R_860_LOGOT0;
-      break;
-    case BFD_RELOC_860_SPGOT0:
-      rtype = R_860_SPGOT0;
-      break;
-    case BFD_RELOC_860_LOGOT1:
-      rtype = R_860_LOGOT1;
-      break;
-    case BFD_RELOC_860_SPGOT1:
-      rtype = R_860_SPGOT1;
-      break;
-    case BFD_RELOC_860_LOGOTOFF0:
-      rtype = R_860_LOGOTOFF0;
-      break;
-    case BFD_RELOC_860_SPGOTOFF0:
-      rtype = R_860_SPGOTOFF0;
-      break;
-    case BFD_RELOC_860_LOGOTOFF1:
-      rtype = R_860_LOGOTOFF1;
-      break;
-    case BFD_RELOC_860_SPGOTOFF1:
-      rtype = R_860_SPGOTOFF1;
-      break;
-    case BFD_RELOC_860_LOGOTOFF2:
-      rtype = R_860_LOGOTOFF2;
-      break;
-    case BFD_RELOC_860_LOGOTOFF3:
-      rtype = R_860_LOGOTOFF3;
-      break;
-    case BFD_RELOC_860_LOPC:
-      rtype = R_860_LOPC;
-      break;
-    case BFD_RELOC_860_HIGHADJ:
-      rtype = R_860_HIGHADJ;
-      break;
-    case BFD_RELOC_860_HAGOT:
-      rtype = R_860_HAGOT;
-      break;
-    case BFD_RELOC_860_HAGOTOFF:
-      rtype = R_860_HAGOTOFF;
-      break;
-    case BFD_RELOC_860_HAPC:
-      rtype = R_860_HAPC;
-      break;
-    case BFD_RELOC_860_HIGH:
-      rtype = R_860_HIGH;
-      break;
-    case BFD_RELOC_860_HIGOT:
-      rtype = R_860_HIGOT;
-      break;
-    case BFD_RELOC_860_HIGOTOFF:
-      rtype = R_860_HIGOTOFF;
-      break;
-    default:
-      return NULL;
-    }
-  return lookup_howto (abfd, rtype);
-}
-
-static reloc_howto_type *
-elf32_i860_reloc_name_lookup (bfd *abfd ATTRIBUTE_UNUSED,
-                             const char *r_name)
-{
-  unsigned int i;
-
-  for (i = 0;
-       i < (sizeof (elf32_i860_howto_table)
-           / sizeof (elf32_i860_howto_table[0]));
-       i++)
-    if (elf32_i860_howto_table[i].name != NULL
-       && strcasecmp (elf32_i860_howto_table[i].name, r_name) == 0)
-      return &elf32_i860_howto_table[i];
-
-  return NULL;
-}
-
-/* Given a ELF reloc, return the matching HOWTO structure.  */
-
-static bfd_boolean
-elf32_i860_info_to_howto_rela (bfd *abfd,
-                              arelent *bfd_reloc,
-                              Elf_Internal_Rela *elf_reloc)
-{
-  bfd_reloc->howto
-    = lookup_howto (abfd, (unsigned) ELF32_R_TYPE (elf_reloc->r_info));
-  return bfd_reloc->howto != NULL;
-}
-\f
-/* Specialized relocation handler for R_860_SPLITn.  These relocations
-   involves a 16-bit field that is split into two contiguous parts.  */
-static bfd_reloc_status_type
-elf32_i860_relocate_splitn (bfd *input_bfd,
-                           Elf_Internal_Rela *rello,
-                           bfd_byte *contents,
-                           bfd_vma value)
-{
-  bfd_vma insn;
-  reloc_howto_type *howto;
-  howto = lookup_howto (input_bfd, (unsigned) ELF32_R_TYPE (rello->r_info));
-  insn = bfd_get_32 (input_bfd, contents + rello->r_offset);
-
-  /* Relocate.  */
-  value += rello->r_addend;
-
-  /* Separate the fields and insert.  */
-  value = (((value & 0xf800) << 5) | (value & 0x7ff)) & howto->dst_mask;
-  insn = (insn & ~howto->dst_mask) | value;
-
-  bfd_put_32 (input_bfd, insn, contents + rello->r_offset);
-  return bfd_reloc_ok;
-}
-
-/* Specialized relocation handler for R_860_PC16.  This relocation
-   involves a 16-bit, PC-relative field that is split into two contiguous
-   parts.  */
-static bfd_reloc_status_type
-elf32_i860_relocate_pc16 (bfd *input_bfd,
-                         asection *input_section,
-                         Elf_Internal_Rela *rello,
-                         bfd_byte *contents,
-                         bfd_vma value)
-{
-  bfd_vma insn;
-  reloc_howto_type *howto;
-  howto = lookup_howto (input_bfd, (unsigned) ELF32_R_TYPE (rello->r_info));
-  insn = bfd_get_32 (input_bfd, contents + rello->r_offset);
-
-  /* Adjust for PC-relative relocation.  */
-  value -= (input_section->output_section->vma
-           + input_section->output_offset);
-  value -= rello->r_offset;
-
-  /* Relocate.  */
-  value += rello->r_addend;
-
-  /* Adjust the value by 4, then separate the fields and insert.  */
-  value = (value - 4) >> howto->rightshift;
-  value = (((value & 0xf800) << 5) | (value & 0x7ff)) & howto->dst_mask;
-  insn = (insn & ~howto->dst_mask) | value;
-
-  bfd_put_32 (input_bfd, insn, contents + rello->r_offset);
-  return bfd_reloc_ok;
-
-}
-
-/* Specialized relocation handler for R_860_PC26.  This relocation
-   involves a 26-bit, PC-relative field which must be adjusted by 4.  */
-static bfd_reloc_status_type
-elf32_i860_relocate_pc26 (bfd *input_bfd,
-                         asection *input_section,
-                         Elf_Internal_Rela *rello,
-                         bfd_byte *contents,
-                         bfd_vma value)
-{
-  bfd_vma insn;
-  reloc_howto_type *howto;
-  howto = lookup_howto (input_bfd, (unsigned) ELF32_R_TYPE (rello->r_info));
-  insn = bfd_get_32 (input_bfd, contents + rello->r_offset);
-
-  /* Adjust for PC-relative relocation.  */
-  value -= (input_section->output_section->vma
-           + input_section->output_offset);
-  value -= rello->r_offset;
-
-  /* Relocate.  */
-  value += rello->r_addend;
-
-  /* Adjust value by 4 and insert the field.  */
-  value = ((value - 4) >> howto->rightshift) & howto->dst_mask;
-  insn = (insn & ~howto->dst_mask) | value;
-
-  bfd_put_32 (input_bfd, insn, contents + rello->r_offset);
-  return bfd_reloc_ok;
-
-}
-
-/* Specialized relocation handler for R_860_HIGHADJ.  */
-static bfd_reloc_status_type
-elf32_i860_relocate_highadj (bfd *input_bfd,
-                            Elf_Internal_Rela *rel,
-                            bfd_byte *contents,
-                            bfd_vma value)
-{
-  bfd_vma insn;
-
-  insn = bfd_get_32 (input_bfd, contents + rel->r_offset);
-
-  value += rel->r_addend;
-  value += 0x8000;
-  value = ((value >> 16) & 0xffff);
-
-  insn = (insn & 0xffff0000) | value;
-
-  bfd_put_32 (input_bfd, insn, contents + rel->r_offset);
-  return bfd_reloc_ok;
-}
-
-/* Perform a single relocation.  By default we use the standard BFD
-   routines. However, we handle some specially.  */
-static bfd_reloc_status_type
-i860_final_link_relocate (reloc_howto_type *howto,
-                         bfd *input_bfd,
-                         asection *input_section,
-                         bfd_byte *contents,
-                         Elf_Internal_Rela *rel,
-                         bfd_vma relocation)
-{
-  return _bfd_final_link_relocate (howto, input_bfd, input_section,
-                                  contents, rel->r_offset, relocation,
-                                  rel->r_addend);
-}
-
-/* Relocate an i860 ELF section.
-
-   This is boiler-plate code copied from fr30.
-
-   The RELOCATE_SECTION function is called by the new ELF backend linker
-   to handle the relocations for a section.
-
-   The relocs are always passed as Rela structures; if the section
-   actually uses Rel structures, the r_addend field will always be
-   zero.
-
-   This function is responsible for adjusting the section contents as
-   necessary, and (if using Rela relocs and generating a relocatable
-   output file) adjusting the reloc addend as necessary.
-
-   This function does not have to worry about setting the reloc
-   address or the reloc symbol index.
-
-   LOCAL_SYMS is a pointer to the swapped in local symbols.
-
-   LOCAL_SECTIONS is an array giving the section in the input file
-   corresponding to the st_shndx field of each local symbol.
-
-   The global hash table entry for the global symbols can be found
-   via elf_sym_hashes (input_bfd).
-
-   When generating relocatable output, this function must handle
-   STB_LOCAL/STT_SECTION symbols specially.  The output symbol is
-   going to be the section symbol corresponding to the output
-   section, which means that the addend must be adjusted
-   accordingly.  */
-static bfd_boolean
-elf32_i860_relocate_section (bfd *output_bfd ATTRIBUTE_UNUSED,
-                            struct bfd_link_info *info,
-                            bfd *input_bfd,
-                            asection *input_section,
-                            bfd_byte *contents,
-                            Elf_Internal_Rela *relocs,
-                            Elf_Internal_Sym *local_syms,
-                            asection **local_sections)
-{
-  Elf_Internal_Shdr *symtab_hdr;
-  struct elf_link_hash_entry **sym_hashes;
-  Elf_Internal_Rela *rel;
-  Elf_Internal_Rela *relend;
-
-  symtab_hdr = & elf_tdata (input_bfd)->symtab_hdr;
-  sym_hashes = elf_sym_hashes (input_bfd);
-  relend     = relocs + input_section->reloc_count;
-
-  for (rel = relocs; rel < relend; rel ++)
-    {
-      reloc_howto_type *          howto;
-      unsigned long               r_symndx;
-      Elf_Internal_Sym *          sym;
-      asection *                  sec;
-      struct elf_link_hash_entry * h;
-      bfd_vma                     relocation;
-      bfd_reloc_status_type       r;
-      const char *                name = NULL;
-      int                         r_type;
-
-      r_type = ELF32_R_TYPE (rel->r_info);
-      r_symndx = ELF32_R_SYM (rel->r_info);
-
-      howto = lookup_howto (input_bfd, (unsigned) ELF32_R_TYPE (rel->r_info));
-      h     = NULL;
-      sym   = NULL;
-      sec   = NULL;
-
-      if (r_symndx < symtab_hdr->sh_info)
-       {
-         sym = local_syms + r_symndx;
-         sec = local_sections [r_symndx];
-         relocation = _bfd_elf_rela_local_sym (output_bfd, sym, &sec, rel);
-
-         name = bfd_elf_string_from_elf_section
-           (input_bfd, symtab_hdr->sh_link, sym->st_name);
-         name = (name == NULL) ? bfd_section_name (input_bfd, sec) : name;
-       }
-      else
-       {
-         bfd_boolean unresolved_reloc, warned, ignored;
-
-         RELOC_FOR_GLOBAL_SYMBOL (info, input_bfd, input_section, rel,
-                                  r_symndx, symtab_hdr, sym_hashes,
-                                  h, sec, relocation,
-                                  unresolved_reloc, warned, ignored);
-       }
-
-      if (sec != NULL && discarded_section (sec))
-       RELOC_AGAINST_DISCARDED_SECTION (info, input_bfd, input_section,
-                                        rel, 1, relend, howto, 0, contents);
-
-      if (bfd_link_relocatable (info))
-       continue;
-
-      switch (r_type)
-       {
-       default:
-         r = i860_final_link_relocate (howto, input_bfd, input_section,
-                                       contents, rel, relocation);
-         break;
-
-       case R_860_HIGHADJ:
-         r = elf32_i860_relocate_highadj (input_bfd, rel, contents,
-                                          relocation);
-         break;
-
-       case R_860_PC16:
-         r = elf32_i860_relocate_pc16 (input_bfd, input_section, rel,
-                                       contents, relocation);
-         break;
-
-       case R_860_PC26:
-         r = elf32_i860_relocate_pc26 (input_bfd, input_section, rel,
-                                       contents, relocation);
-         break;
-
-       case R_860_SPLIT0:
-       case R_860_SPLIT1:
-       case R_860_SPLIT2:
-         r = elf32_i860_relocate_splitn (input_bfd, rel, contents,
-                                         relocation);
-         break;
-
-       /* We do not yet handle GOT/PLT/Dynamic relocations.  */
-       case R_860_COPY:
-       case R_860_GLOB_DAT:
-       case R_860_JUMP_SLOT:
-       case R_860_RELATIVE:
-       case R_860_PLT26:
-       case R_860_LOGOT0:
-       case R_860_SPGOT0:
-       case R_860_LOGOT1:
-       case R_860_SPGOT1:
-       case R_860_LOGOTOFF0:
-       case R_860_SPGOTOFF0:
-       case R_860_LOGOTOFF1:
-       case R_860_SPGOTOFF1:
-       case R_860_LOGOTOFF2:
-       case R_860_LOGOTOFF3:
-       case R_860_LOPC:
-       case R_860_HAGOT:
-       case R_860_HAGOTOFF:
-       case R_860_HAPC:
-       case R_860_HIGOT:
-       case R_860_HIGOTOFF:
-         r = bfd_reloc_notsupported;
-         break;
-       }
-
-      if (r != bfd_reloc_ok)
-       {
-         const char * msg = (const char *) NULL;
-
-         switch (r)
-           {
-           case bfd_reloc_overflow:
-             (*info->callbacks->reloc_overflow)
-               (info, (h ? &h->root : NULL), name, howto->name,
-                (bfd_vma) 0, input_bfd, input_section, rel->r_offset);
-             break;
-
-           case bfd_reloc_undefined:
-             (*info->callbacks->undefined_symbol)
-               (info, name, input_bfd, input_section, rel->r_offset, TRUE);
-             break;
-
-           case bfd_reloc_outofrange:
-             msg = _("internal error: out of range error");
-             break;
-
-           case bfd_reloc_notsupported:
-             msg = _("internal error: unsupported relocation error");
-             break;
-
-           case bfd_reloc_dangerous:
-             msg = _("internal error: dangerous relocation");
-             break;
-
-           default:
-             msg = _("internal error: unknown error");
-             break;
-           }
-
-         if (msg)
-           (*info->callbacks->warning) (info, msg, name, input_bfd,
-                                        input_section, rel->r_offset);
-       }
-    }
-
-  return TRUE;
-}
-
-/* Return whether a symbol name implies a local label.  SVR4/860 compilers
-   generate labels of the form ".ep.function_name" to denote the end of a
-   function prolog. These should be local.
-   ??? Do any other SVR4 compilers have this convention? If so, this should
-   be added to the generic routine.  */
-static bfd_boolean
-elf32_i860_is_local_label_name (bfd *abfd, const char *name)
-{
-  if (name[0] == '.' && name[1] == 'e' && name[2] == 'p' && name[3] == '.')
-    return TRUE;
-
-  return _bfd_elf_is_local_label_name (abfd, name);
-}
-\f
-#define TARGET_BIG_SYM         i860_elf32_vec
-#define TARGET_BIG_NAME                "elf32-i860"
-#define TARGET_LITTLE_SYM      i860_elf32_le_vec
-#define TARGET_LITTLE_NAME     "elf32-i860-little"
-#define ELF_ARCH               bfd_arch_i860
-#define ELF_MACHINE_CODE       EM_860
-#define ELF_MAXPAGESIZE                4096
-
-#define elf_backend_rela_normal                        1
-#define elf_info_to_howto_rel                  NULL
-#define elf_info_to_howto                      elf32_i860_info_to_howto_rela
-#define elf_backend_relocate_section           elf32_i860_relocate_section
-#define bfd_elf32_bfd_reloc_type_lookup                elf32_i860_reloc_type_lookup
-#define bfd_elf32_bfd_reloc_name_lookup        elf32_i860_reloc_name_lookup
-#define bfd_elf32_bfd_is_local_label_name      elf32_i860_is_local_label_name
-
-#include "elf32-target.h"
diff --git a/bfd/elf32-i960.c b/bfd/elf32-i960.c
deleted file mode 100644 (file)
index 244e4ea..0000000
+++ /dev/null
@@ -1,169 +0,0 @@
-/* Intel 960 specific support for 32-bit ELF
-   Copyright (C) 1999-2018 Free Software Foundation, Inc.
-
-   This file is part of BFD, the Binary File Descriptor library.
-
-   This program 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 3 of the License, or
-   (at your option) any later version.
-
-   This program 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 this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston,
-   MA 02110-1301, USA.  */
-
-#include "sysdep.h"
-#include "bfd.h"
-#include "libbfd.h"
-#include "elf-bfd.h"
-#include "elf/i960.h"
-
-#define USE_REL 1
-
-#define bfd_elf32_bfd_reloc_type_lookup        elf32_i960_reloc_type_lookup
-#define bfd_elf32_bfd_reloc_name_lookup \
-  elf32_i960_reloc_name_lookup
-#define elf_info_to_howto              NULL
-#define elf_info_to_howto_rel          elf32_i960_info_to_howto_rel
-
-/* ELF relocs are against symbols.  If we are producing relocatable
-   output, and the reloc is against an external symbol, and nothing
-   has given us any additional addend, the resulting reloc will also
-   be against the same symbol.  In such a case, we don't want to
-   change anything about the way the reloc is handled, since it will
-   all be done at final link time.  Rather than put special case code
-   into bfd_perform_relocation, all the reloc types use this howto
-   function.  It just short circuits the reloc if producing
-   relocatable output against an external symbol.  */
-
-static bfd_reloc_status_type
-elf32_i960_relocate (bfd *abfd ATTRIBUTE_UNUSED,
-                    arelent *reloc_entry,
-                    asymbol *symbol,
-                    void * data ATTRIBUTE_UNUSED,
-                    asection *input_section,
-                    bfd *output_bfd,
-                    char **error_message ATTRIBUTE_UNUSED)
-{
-  /* HACK: I think this first condition is necessary when producing
-     relocatable output.  After the end of HACK, the code is identical
-     to bfd_elf_generic_reloc().  I would _guess_ the first change
-     belongs there rather than here.  martindo 1998-10-23.  */
-  if (output_bfd != (bfd *) NULL
-      && reloc_entry->howto->pc_relative
-      && !reloc_entry->howto->pcrel_offset)
-    reloc_entry->addend -= symbol->value;
-
-  /* This is more dubious.  */
-  else if (output_bfd != (bfd *) NULL
-          && (symbol->flags & BSF_SECTION_SYM) != 0)
-    reloc_entry->addend -= symbol->section->output_section->vma;
-
-  else
-    {
-      /* ...end of HACK.  */
-      if (output_bfd != (bfd *) NULL
-         && (symbol->flags & BSF_SECTION_SYM) == 0
-         && (! reloc_entry->howto->partial_inplace
-             || reloc_entry->addend == 0))
-       {
-         reloc_entry->address += input_section->output_offset;
-         return bfd_reloc_ok;
-       }
-    }
-
-  return bfd_reloc_continue;
-}
-
-static reloc_howto_type elf_howto_table[]=
-{
-  HOWTO (R_960_NONE, 0, 3, 0, FALSE, 0, complain_overflow_dont,
-        elf32_i960_relocate, "R_960_NONE", TRUE,
-        0x00000000, 0x00000000, FALSE),
-  EMPTY_HOWTO (1),
-  HOWTO (R_960_32, 0, 2, 32, FALSE, 0, complain_overflow_bitfield,
-        elf32_i960_relocate, "R_960_32", TRUE,
-        0xffffffff, 0xffffffff, FALSE),
-  HOWTO (R_960_IP24, 0, 2, 24, TRUE, 0, complain_overflow_signed,
-        elf32_i960_relocate, "R_960_IP24 ", TRUE,
-        0x00ffffff, 0x00ffffff, FALSE),
-  EMPTY_HOWTO (4),
-  EMPTY_HOWTO (5),
-  EMPTY_HOWTO (6),
-  EMPTY_HOWTO (7)
-};
-
-static enum elf_i960_reloc_type
-elf32_i960_bfd_to_reloc_type (bfd_reloc_code_real_type code)
-{
-  switch (code)
-    {
-    default:
-      return R_960_NONE;
-    case BFD_RELOC_I960_CALLJ:
-      return R_960_OPTCALL;
-    case BFD_RELOC_32:
-    case BFD_RELOC_CTOR:
-      return R_960_32;
-    case BFD_RELOC_24_PCREL:
-      return R_960_IP24;
-    }
-}
-
-static bfd_boolean
-elf32_i960_info_to_howto_rel (bfd *abfd ATTRIBUTE_UNUSED,
-                             arelent *cache_ptr,
-                             Elf_Internal_Rela *dst)
-{
-  enum elf_i960_reloc_type type;
-
-  type = (enum elf_i960_reloc_type) ELF32_R_TYPE (dst->r_info);
-
-  /* PR 17521: file: 9609b8d6.  */
-  if (type >= R_960_max)
-    {
-      /* xgettext:c-format */
-      _bfd_error_handler (_("%pB: unsupported relocation type %#x"),
-                         abfd, type);
-      bfd_set_error (bfd_error_bad_value);
-      return FALSE;
-    }
-
-  cache_ptr->howto = &elf_howto_table[(int) type];
-  return TRUE;
-}
-
-static reloc_howto_type *
-elf32_i960_reloc_type_lookup (bfd *abfd ATTRIBUTE_UNUSED,
-                             bfd_reloc_code_real_type code)
-{
-  return elf_howto_table + elf32_i960_bfd_to_reloc_type (code);
-}
-
-static reloc_howto_type *
-elf32_i960_reloc_name_lookup (bfd *abfd ATTRIBUTE_UNUSED,
-                             const char *r_name)
-{
-  unsigned int i;
-
-  for (i = 0; i < sizeof (elf_howto_table) / sizeof (elf_howto_table[0]); i++)
-    if (elf_howto_table[i].name != NULL
-       && strcasecmp (elf_howto_table[i].name, r_name) == 0)
-      return &elf_howto_table[i];
-
-  return NULL;
-}
-
-#define TARGET_LITTLE_SYM      i960_elf32_vec
-#define TARGET_LITTLE_NAME     "elf32-i960"
-#define ELF_ARCH               bfd_arch_i960
-#define ELF_MACHINE_CODE       EM_960
-#define ELF_MAXPAGESIZE                1 /* FIXME: This number is wrong,  It should be the page size in bytes.  */
-
-#include "elf32-target.h"
diff --git a/bfd/hosts/i860mach3.h b/bfd/hosts/i860mach3.h
deleted file mode 100644 (file)
index f18ff37..0000000
+++ /dev/null
@@ -1,46 +0,0 @@
-/* Copyright (C) 2007-2018 Free Software Foundation, Inc.
-
-   This file is part of BFD, the Binary File Descriptor library.
-
-   This program 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 3 of the License, or
-   (at your option) any later version.
-
-   This program 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 this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston,
-   MA 02110-1301, USA.  */
-
-/* This file was hacked from i386mach3.h   [dolan@ssd.intel.com] */
-
-#include <machine/vmparam.h>
-#include <sys/param.h>
-
-/* This is an ugly way to hack around the incorrect
- * definition of UPAGES in i386/machparam.h.
- *
- * The definition should specify the size reserved
- * for "struct user" in core files in PAGES,
- * but instead it gives it in 512-byte core-clicks
- * for i386 and i860. UPAGES is used only in trad-core.c.
- */
-#if UPAGES == 16
-#undef  UPAGES
-#define UPAGES 2
-#endif
-
-#if UPAGES != 2
-FIXME!! UPAGES is neither 2 nor 16
-#endif
-
-#define        HOST_PAGE_SIZE          1
-#define        HOST_SEGMENT_SIZE       NBPG
-#define        HOST_MACHINE_ARCH       bfd_arch_i860
-#define        HOST_TEXT_START_ADDR    USRTEXT
-#define        HOST_STACK_END_ADDR     USRSTACK
index 7285ee5b552f8559d6b706263a8537d8b63ac63f..aa10aa2752d11c313954032a68eeb17acd210caa 100644 (file)
@@ -3567,34 +3567,6 @@ ieee_write_processor (bfd *abfd)
        return FALSE;
       break;
 
        return FALSE;
       break;
 
-    case bfd_arch_i960:
-      switch (arch->mach)
-       {
-       default:
-       case bfd_mach_i960_core:
-       case bfd_mach_i960_ka_sa:
-         if (! ieee_write_id (abfd, "80960KA"))
-           return FALSE;
-         break;
-
-       case bfd_mach_i960_kb_sb:
-         if (! ieee_write_id (abfd, "80960KB"))
-           return FALSE;
-         break;
-
-       case bfd_mach_i960_ca:
-         if (! ieee_write_id (abfd, "80960CA"))
-           return FALSE;
-         break;
-
-       case bfd_mach_i960_mc:
-       case bfd_mach_i960_xa:
-         if (! ieee_write_id (abfd, "80960MC"))
-           return FALSE;
-         break;
-       }
-      break;
-
     case bfd_arch_m68k:
       {
        const char *id;
     case bfd_arch_m68k:
       {
        const char *id;
index 4af1019ca82fe32592b51d754b9f72dfbdc37dce..5a087a7afd2e2806aa93e542f93f23ddaded7cb2 100644 (file)
@@ -981,7 +981,6 @@ static const char *const bfd_reloc_code_real_names[] = { "@@uninitialized@@",
   "BFD_RELOC_LO10",
   "BFD_RELOC_GPREL16",
   "BFD_RELOC_GPREL32",
   "BFD_RELOC_LO10",
   "BFD_RELOC_GPREL16",
   "BFD_RELOC_GPREL32",
-  "BFD_RELOC_I960_CALLJ",
   "BFD_RELOC_NONE",
   "BFD_RELOC_SPARC_WDISP22",
   "BFD_RELOC_SPARC22",
   "BFD_RELOC_NONE",
   "BFD_RELOC_SPARC_WDISP22",
   "BFD_RELOC_SPARC22",
@@ -2588,38 +2587,6 @@ static const char *const bfd_reloc_code_real_names[] = { "@@uninitialized@@",
   "BFD_RELOC_CRIS_16_TPREL",
   "BFD_RELOC_CRIS_DTPMOD",
   "BFD_RELOC_CRIS_32_IE",
   "BFD_RELOC_CRIS_16_TPREL",
   "BFD_RELOC_CRIS_DTPMOD",
   "BFD_RELOC_CRIS_32_IE",
-  "BFD_RELOC_860_COPY",
-  "BFD_RELOC_860_GLOB_DAT",
-  "BFD_RELOC_860_JUMP_SLOT",
-  "BFD_RELOC_860_RELATIVE",
-  "BFD_RELOC_860_PC26",
-  "BFD_RELOC_860_PLT26",
-  "BFD_RELOC_860_PC16",
-  "BFD_RELOC_860_LOW0",
-  "BFD_RELOC_860_SPLIT0",
-  "BFD_RELOC_860_LOW1",
-  "BFD_RELOC_860_SPLIT1",
-  "BFD_RELOC_860_LOW2",
-  "BFD_RELOC_860_SPLIT2",
-  "BFD_RELOC_860_LOW3",
-  "BFD_RELOC_860_LOGOT0",
-  "BFD_RELOC_860_SPGOT0",
-  "BFD_RELOC_860_LOGOT1",
-  "BFD_RELOC_860_SPGOT1",
-  "BFD_RELOC_860_LOGOTOFF0",
-  "BFD_RELOC_860_SPGOTOFF0",
-  "BFD_RELOC_860_LOGOTOFF1",
-  "BFD_RELOC_860_SPGOTOFF1",
-  "BFD_RELOC_860_LOGOTOFF2",
-  "BFD_RELOC_860_LOGOTOFF3",
-  "BFD_RELOC_860_LOPC",
-  "BFD_RELOC_860_HIGHADJ",
-  "BFD_RELOC_860_HAGOT",
-  "BFD_RELOC_860_HAGOTOFF",
-  "BFD_RELOC_860_HAPC",
-  "BFD_RELOC_860_HIGH",
-  "BFD_RELOC_860_HIGOT",
-  "BFD_RELOC_860_HIGOTOFF",
   "BFD_RELOC_OR1K_REL_26",
   "BFD_RELOC_OR1K_GOTPC_HI16",
   "BFD_RELOC_OR1K_GOTPC_LO16",
   "BFD_RELOC_OR1K_REL_26",
   "BFD_RELOC_OR1K_GOTPC_HI16",
   "BFD_RELOC_OR1K_GOTPC_LO16",
index f26be0c73ea04c0f848f0ad4574395cfca04e479..ded60cf3f6a7556412b238586befb4871eb99ad8 100644 (file)
@@ -1047,9 +1047,6 @@ bfd_mach_o_convert_architecture (bfd_mach_o_cpu_type mtype,
       *type = bfd_arch_sparc;
       *subtype = bfd_mach_sparc;
       break;
       *type = bfd_arch_sparc;
       *subtype = bfd_mach_sparc;
       break;
-    case BFD_MACH_O_CPU_TYPE_I860:
-      *type = bfd_arch_i860;
-      break;
     case BFD_MACH_O_CPU_TYPE_ALPHA:
       *type = bfd_arch_alpha;
       break;
     case BFD_MACH_O_CPU_TYPE_ALPHA:
       *type = bfd_arch_alpha;
       break;
@@ -5446,8 +5443,6 @@ bfd_mach_o_stack_addr (enum bfd_mach_o_cpu_type type)
       return 0xc0000000;
     case BFD_MACH_O_CPU_TYPE_SPARC:
       return 0xf0000000;
       return 0xc0000000;
     case BFD_MACH_O_CPU_TYPE_SPARC:
       return 0xf0000000;
-    case BFD_MACH_O_CPU_TYPE_I860:
-      return 0;
     case BFD_MACH_O_CPU_TYPE_HPPA:
       return 0xc0000000 - 0x04000000;
     default:
     case BFD_MACH_O_CPU_TYPE_HPPA:
       return 0xc0000000 - 0x04000000;
     default:
index 7ea56cacbeaa43603acd02bb3cc75f66342f0b1c..afa459e78ddf8eca503cbd1b32307577176c5817 100644 (file)
@@ -1,6 +1,5 @@
 aix386-core.c
 aix5ppc-core.c
 aix386-core.c
 aix5ppc-core.c
-aout-adobe.c
 aout-arm.c
 aout-cris.c
 aout-ns32k.c
 aout-arm.c
 aout-cris.c
 aout-ns32k.c
@@ -20,7 +19,6 @@ bfd.c
 bfdio.c
 bfdwin.c
 binary.c
 bfdio.c
 bfdwin.c
 binary.c
-bout.c
 cache.c
 cf-i386lynx.c
 cf-sparclynx.c
 cache.c
 cf-i386lynx.c
 cf-sparclynx.c
@@ -34,8 +32,6 @@ coff-go32.c
 coff-h8300.c
 coff-h8500.c
 coff-i386.c
 coff-h8300.c
 coff-h8500.c
 coff-i386.c
-coff-i860.c
-coff-i960.c
 coff-m68k.c
 coff-m88k.c
 coff-mips.c
 coff-m68k.c
 coff-m88k.c
 coff-mips.c
@@ -83,8 +79,6 @@ cpu-h8500.c
 cpu-hppa.c
 cpu-i370.c
 cpu-i386.c
 cpu-hppa.c
 cpu-i370.c
 cpu-i386.c
-cpu-i860.c
-cpu-i960.c
 cpu-ia64.c
 cpu-iamcu.c
 cpu-ip2k.c
 cpu-ia64.c
 cpu-iamcu.c
 cpu-ip2k.c
@@ -190,8 +184,6 @@ elf32-hppa.c
 elf32-hppa.h
 elf32-i370.c
 elf32-i386.c
 elf32-hppa.h
 elf32-i370.c
 elf32-i386.c
-elf32-i860.c
-elf32-i960.c
 elf32-ip2k.c
 elf32-iq2000.c
 elf32-lm32.c
 elf32-ip2k.c
 elf32-iq2000.c
 elf32-lm32.c
index ca1d81ca61fa1617c70d20f1093fb8cbd3945b1a..9da91288730f00083f8fd3755fb8e9e2f4a6c6cf 100644 (file)
@@ -87,10 +87,9 @@ CODE_FRAGMENT
 .  {* The symbol to relocate against was undefined.  *}
 .  bfd_reloc_undefined,
 .
 .  {* The symbol to relocate against was undefined.  *}
 .  bfd_reloc_undefined,
 .
-.  {* The relocation was performed, but may not be ok - presently
-.     generated only when linking i960 coff files with i960 b.out
-.     symbols.  If this type is returned, the error_message argument
-.     to bfd_perform_relocation will be set.  *}
+.  {* The relocation was performed, but may not be ok.  If this type is
+.     returned, the error_message argument to bfd_perform_relocation
+.     will be set.  *}
 .  bfd_reloc_dangerous
 . }
 . bfd_reloc_status_type;
 .  bfd_reloc_dangerous
 . }
 . bfd_reloc_status_type;
@@ -318,8 +317,7 @@ CODE_FRAGMENT
 .
 .  {* If this field is non null, then the supplied function is
 .     called rather than the normal function.  This allows really
 .
 .  {* If this field is non null, then the supplied function is
 .     called rather than the normal function.  This allows really
-.     strange relocation methods to be accommodated (e.g., i960 callj
-.     instructions).  *}
+.     strange relocation methods to be accommodated.  *}
 .  bfd_reloc_status_type (*special_function)
 .    (bfd *, arelent *, struct bfd_symbol *, void *, asection *,
 .     bfd *, char **);
 .  bfd_reloc_status_type (*special_function)
 .    (bfd *, arelent *, struct bfd_symbol *, void *, asection *,
 .     bfd *, char **);
@@ -1739,8 +1737,6 @@ ENUMDOC
 of the relocation itself; sometimes they are relative to the start of
 the section containing the relocation.  It depends on the specific target.
 
 of the relocation itself; sometimes they are relative to the start of
 the section containing the relocation.  It depends on the specific target.
 
-The 24-bit relocation is used in some Intel 960 configurations.
-
 ENUM
   BFD_RELOC_32_SECREL
 ENUMDOC
 ENUM
   BFD_RELOC_32_SECREL
 ENUMDOC
@@ -1891,11 +1887,6 @@ displacements off that register.  These relocation types are
 handled specially, because the value the register will have is
 decided relatively late.
 
 handled specially, because the value the register will have is
 decided relatively late.
 
-ENUM
-  BFD_RELOC_I960_CALLJ
-ENUMDOC
-  Reloc types used for i960/b.out.
-
 ENUM
   BFD_RELOC_NONE
 ENUMX
 ENUM
   BFD_RELOC_NONE
 ENUMX
@@ -6224,73 +6215,6 @@ ENUMX
 ENUMDOC
   Relocs used in TLS code for CRIS.
 
 ENUMDOC
   Relocs used in TLS code for CRIS.
 
-ENUM
-  BFD_RELOC_860_COPY
-ENUMX
-  BFD_RELOC_860_GLOB_DAT
-ENUMX
-  BFD_RELOC_860_JUMP_SLOT
-ENUMX
-  BFD_RELOC_860_RELATIVE
-ENUMX
-  BFD_RELOC_860_PC26
-ENUMX
-  BFD_RELOC_860_PLT26
-ENUMX
-  BFD_RELOC_860_PC16
-ENUMX
-  BFD_RELOC_860_LOW0
-ENUMX
-  BFD_RELOC_860_SPLIT0
-ENUMX
-  BFD_RELOC_860_LOW1
-ENUMX
-  BFD_RELOC_860_SPLIT1
-ENUMX
-  BFD_RELOC_860_LOW2
-ENUMX
-  BFD_RELOC_860_SPLIT2
-ENUMX
-  BFD_RELOC_860_LOW3
-ENUMX
-  BFD_RELOC_860_LOGOT0
-ENUMX
-  BFD_RELOC_860_SPGOT0
-ENUMX
-  BFD_RELOC_860_LOGOT1
-ENUMX
-  BFD_RELOC_860_SPGOT1
-ENUMX
-  BFD_RELOC_860_LOGOTOFF0
-ENUMX
-  BFD_RELOC_860_SPGOTOFF0
-ENUMX
-  BFD_RELOC_860_LOGOTOFF1
-ENUMX
-  BFD_RELOC_860_SPGOTOFF1
-ENUMX
-  BFD_RELOC_860_LOGOTOFF2
-ENUMX
-  BFD_RELOC_860_LOGOTOFF3
-ENUMX
-  BFD_RELOC_860_LOPC
-ENUMX
-  BFD_RELOC_860_HIGHADJ
-ENUMX
-  BFD_RELOC_860_HAGOT
-ENUMX
-  BFD_RELOC_860_HAGOTOFF
-ENUMX
-  BFD_RELOC_860_HAPC
-ENUMX
-  BFD_RELOC_860_HIGH
-ENUMX
-  BFD_RELOC_860_HIGOT
-ENUMX
-  BFD_RELOC_860_HIGOTOFF
-ENUMDOC
-  Intel i860 Relocations.
-
 ENUM
   BFD_RELOC_OR1K_REL_26
 ENUMX
 ENUM
   BFD_RELOC_OR1K_REL_26
 ENUMX
index 43102d428b9e919c7bc4cc41b512f1885d347bde..34169c5528202fa65d56bba3ef48bd4e9f44824c 100644 (file)
@@ -601,7 +601,6 @@ extern const bfd_target am33_elf32_linux_vec;
 extern const bfd_target aout0_be_vec;
 extern const bfd_target aout64_vec;
 extern const bfd_target aout_vec;
 extern const bfd_target aout0_be_vec;
 extern const bfd_target aout64_vec;
 extern const bfd_target aout_vec;
-extern const bfd_target aout_adobe_vec;
 extern const bfd_target arc_elf32_be_vec;
 extern const bfd_target arc_elf32_le_vec;
 extern const bfd_target arm_aout_be_vec;
 extern const bfd_target arc_elf32_be_vec;
 extern const bfd_target arc_elf32_le_vec;
 extern const bfd_target arm_aout_be_vec;
@@ -634,8 +633,6 @@ extern const bfd_target arm_pei_wince_le_vec;
 extern const bfd_target avr_elf32_vec;
 extern const bfd_target bfin_elf32_vec;
 extern const bfd_target bfin_elf32_fdpic_vec;
 extern const bfd_target avr_elf32_vec;
 extern const bfd_target bfin_elf32_vec;
 extern const bfd_target bfin_elf32_fdpic_vec;
-extern const bfd_target bout_be_vec;
-extern const bfd_target bout_le_vec;
 extern const bfd_target cr16_elf32_vec;
 extern const bfd_target cr16c_elf32_vec;
 extern const bfd_target cris_aout_vec;
 extern const bfd_target cr16_elf32_vec;
 extern const bfd_target cr16c_elf32_vec;
 extern const bfd_target cris_aout_vec;
@@ -688,10 +685,6 @@ extern const bfd_target i386_nlm32_vec;
 extern const bfd_target i386_pe_vec;
 extern const bfd_target i386_pei_vec;
 extern const bfd_target iamcu_elf32_vec;
 extern const bfd_target i386_pe_vec;
 extern const bfd_target i386_pei_vec;
 extern const bfd_target iamcu_elf32_vec;
-extern const bfd_target i860_coff_vec;
-extern const bfd_target i860_elf32_vec;
-extern const bfd_target i860_elf32_le_vec;
-extern const bfd_target i960_elf32_vec;
 extern const bfd_target ia64_elf32_be_vec;
 extern const bfd_target ia64_elf32_hpux_be_vec;
 extern const bfd_target ia64_elf64_be_vec;
 extern const bfd_target ia64_elf32_be_vec;
 extern const bfd_target ia64_elf32_hpux_be_vec;
 extern const bfd_target ia64_elf64_be_vec;
@@ -699,8 +692,6 @@ extern const bfd_target ia64_elf64_le_vec;
 extern const bfd_target ia64_elf64_hpux_be_vec;
 extern const bfd_target ia64_elf64_vms_vec;
 extern const bfd_target ia64_pei_vec;
 extern const bfd_target ia64_elf64_hpux_be_vec;
 extern const bfd_target ia64_elf64_vms_vec;
 extern const bfd_target ia64_pei_vec;
-extern const bfd_target icoff_be_vec;
-extern const bfd_target icoff_le_vec;
 extern const bfd_target ieee_vec;
 extern const bfd_target ip2k_elf32_vec;
 extern const bfd_target iq2000_elf32_vec;
 extern const bfd_target ieee_vec;
 extern const bfd_target ip2k_elf32_vec;
 extern const bfd_target iq2000_elf32_vec;
@@ -1002,7 +993,6 @@ static const bfd_target * const _bfd_target_vector[] =
           which kind of a.out file it is.  */
        &aout_vec,
 #endif
           which kind of a.out file it is.  */
        &aout_vec,
 #endif
-       &aout_adobe_vec,
 
        &arc_elf32_be_vec,
        &arc_elf32_le_vec,
 
        &arc_elf32_be_vec,
        &arc_elf32_le_vec,
@@ -1044,9 +1034,6 @@ static const bfd_target * const _bfd_target_vector[] =
        &bfin_elf32_vec,
        &bfin_elf32_fdpic_vec,
 
        &bfin_elf32_vec,
        &bfin_elf32_fdpic_vec,
 
-       &bout_be_vec,
-       &bout_le_vec,
-
        &cr16_elf32_vec,
        &cr16c_elf32_vec,
 
        &cr16_elf32_vec,
        &cr16c_elf32_vec,
 
@@ -1130,12 +1117,6 @@ static const bfd_target * const _bfd_target_vector[] =
 
        &iamcu_elf32_vec,
 
 
        &iamcu_elf32_vec,
 
-       &i860_coff_vec,
-       &i860_elf32_vec,
-       &i860_elf32_le_vec,
-
-       &i960_elf32_vec,
-
 #ifdef BFD64
 #if 0
        &ia64_elf32_be_vec,
 #ifdef BFD64
 #if 0
        &ia64_elf32_be_vec,
@@ -1148,9 +1129,6 @@ static const bfd_target * const _bfd_target_vector[] =
        &ia64_pei_vec,
 #endif
 
        &ia64_pei_vec,
 #endif
 
-       &icoff_be_vec,
-       &icoff_le_vec,
-
        &ieee_vec,
 
        &ip2k_elf32_vec,
        &ieee_vec,
 
        &ip2k_elf32_vec,
index 10288517ba194906313148fc37fc632300413473..e95fa85a6c4892a3f6c54580b59ae70bb51db9a7 100644 (file)
@@ -1,3 +1,12 @@
+2018-04-11  Alan Modra  <amodra@gmail.com>
+
+       * ieee.c: Remove i960 support.
+       * od-macho.c: Remove i860 support.
+       * readelf.c: Remove i860 and i960 support.
+       * testsuite/binutils-all/objcopy.exp: Likewise.
+       * testsuite/binutils-all/objdump.exp: Likewise.
+       * testsuite/lib/binutils-common.exp: Likewise.
+
 2018-04-11  Maciej W. Rozycki  <macro@mips.com>
 
        * testsuite/lib/binutils-common.exp (is_elf_format): Also return
 2018-04-11  Maciej W. Rozycki  <macro@mips.com>
 
        * testsuite/lib/binutils-common.exp (is_elf_format): Also return
index eab3e4d0e3dcb8ce203319520e3d8665ee1428f1..902b882e4af3888a64765fa692ae4f1ee9a15abe 100644 (file)
@@ -3561,12 +3561,6 @@ ieee_regno_to_genreg (bfd *abfd, int r)
        r += 2;
       break;
 
        r += 2;
       break;
 
-    case bfd_arch_i960:
-      /* Stabs uses 0 to 15 for r0 to r15, 16 to 31 for g0 to g15, and
-         32 to 35 for fp0 to fp3.  */
-      --r;
-      break;
-
     default:
       break;
     }
     default:
       break;
     }
@@ -3588,12 +3582,6 @@ ieee_genreg_to_regno (bfd *abfd, int r)
        r -= 2;
       break;
 
        r -= 2;
       break;
 
-    case bfd_arch_i960:
-      /* Stabs uses 0 to 15 for r0 to r15, 16 to 31 for g0 to g15, and
-         32 to 35 for fp0 to fp3.  */
-      ++r;
-      break;
-
     default:
       break;
     }
     default:
       break;
     }
index 09cc21848a6a35c97678b3351de229f7240b6035..fb2ed70dd6a923eaca48bd17fbecffb49bf7d0cf 100644 (file)
@@ -106,7 +106,6 @@ static const bfd_mach_o_xlat_name bfd_mach_o_cpu_name[] =
   { "arm", BFD_MACH_O_CPU_TYPE_ARM },
   { "mc88000", BFD_MACH_O_CPU_TYPE_MC88000 },
   { "sparc", BFD_MACH_O_CPU_TYPE_SPARC },
   { "arm", BFD_MACH_O_CPU_TYPE_ARM },
   { "mc88000", BFD_MACH_O_CPU_TYPE_MC88000 },
   { "sparc", BFD_MACH_O_CPU_TYPE_SPARC },
-  { "i860", BFD_MACH_O_CPU_TYPE_I860 },
   { "alpha", BFD_MACH_O_CPU_TYPE_ALPHA },
   { "powerpc", BFD_MACH_O_CPU_TYPE_POWERPC },
   { "powerpc_64", BFD_MACH_O_CPU_TYPE_POWERPC_64 },
   { "alpha", BFD_MACH_O_CPU_TYPE_ALPHA },
   { "powerpc", BFD_MACH_O_CPU_TYPE_POWERPC },
   { "powerpc_64", BFD_MACH_O_CPU_TYPE_POWERPC_64 },
index 80075c21f83957f9cd62dee247e611ef30a36903..166dd23383e3622a3f448cb9e962f8417e191853 100644 (file)
 #include "elf/hppa.h"
 #include "elf/i386.h"
 #include "elf/i370.h"
 #include "elf/hppa.h"
 #include "elf/i386.h"
 #include "elf/i370.h"
-#include "elf/i860.h"
-#include "elf/i960.h"
 #include "elf/ia64.h"
 #include "elf/ip2k.h"
 #include "elf/lm32.h"
 #include "elf/ia64.h"
 #include "elf/ip2k.h"
 #include "elf/lm32.h"
@@ -765,7 +763,6 @@ guess_is_rela (unsigned int e_machine)
       /* Targets that use REL relocations.  */
     case EM_386:
     case EM_IAMCU:
       /* Targets that use REL relocations.  */
     case EM_386:
     case EM_IAMCU:
-    case EM_960:
     case EM_ARM:
     case EM_D10V:
     case EM_CYGNUS_D10V:
     case EM_ARM:
     case EM_D10V:
     case EM_CYGNUS_D10V:
@@ -779,7 +776,6 @@ guess_is_rela (unsigned int e_machine)
 
       /* Targets that use RELA relocations.  */
     case EM_68K:
 
       /* Targets that use RELA relocations.  */
     case EM_68K:
-    case EM_860:
     case EM_AARCH64:
     case EM_ADAPTEVA_EPIPHANY:
     case EM_ALPHA:
     case EM_AARCH64:
     case EM_ADAPTEVA_EPIPHANY:
     case EM_ALPHA:
@@ -1275,10 +1271,6 @@ dump_relocations (Filedata *          filedata,
          rtype = elf_m68k_reloc_type (type);
          break;
 
          rtype = elf_m68k_reloc_type (type);
          break;
 
-       case EM_960:
-         rtype = elf_i960_reloc_type (type);
-         break;
-
        case EM_AVR:
        case EM_AVR_OLD:
          rtype = elf_avr_reloc_type (type);
        case EM_AVR:
        case EM_AVR_OLD:
          rtype = elf_avr_reloc_type (type);
@@ -1428,10 +1420,6 @@ dump_relocations (Filedata *          filedata,
          rtype = elf_cris_reloc_type (type);
          break;
 
          rtype = elf_cris_reloc_type (type);
          break;
 
-       case EM_860:
-         rtype = elf_i860_reloc_type (type);
-         break;
-
        case EM_X86_64:
        case EM_L1OM:
        case EM_K1OM:
        case EM_X86_64:
        case EM_L1OM:
        case EM_K1OM:
@@ -2264,7 +2252,6 @@ get_machine_name (unsigned e_machine)
     case EM_68K:               return "MC68000";
     case EM_88K:               return "MC88000";
     case EM_IAMCU:             return "Intel MCU";
     case EM_68K:               return "MC68000";
     case EM_88K:               return "MC88000";
     case EM_IAMCU:             return "Intel MCU";
-    case EM_860:               return "Intel 80860";
     case EM_MIPS:              return "MIPS R3000";
     case EM_S370:              return "IBM System/370";
       /* 10 */
     case EM_MIPS:              return "MIPS R3000";
     case EM_S370:              return "IBM System/370";
       /* 10 */
@@ -2273,7 +2260,6 @@ get_machine_name (unsigned e_machine)
     case EM_PARISC:            return "HPPA";
     case EM_VPP550:            return "Fujitsu VPP500";
     case EM_SPARC32PLUS:       return "Sparc v8+" ;
     case EM_PARISC:            return "HPPA";
     case EM_VPP550:            return "Fujitsu VPP500";
     case EM_SPARC32PLUS:       return "Sparc v8+" ;
-    case EM_960:               return "Intel 90860";
     case EM_PPC:               return "PowerPC";
       /* 20 */
     case EM_PPC64:             return "PowerPC64";
     case EM_PPC:               return "PowerPC";
       /* 20 */
     case EM_PPC64:             return "PowerPC64";
@@ -12195,10 +12181,6 @@ is_32bit_abs_reloc (Filedata * filedata, unsigned int reloc_type)
       return reloc_type == 1; /* R_386_32.  */
     case EM_68K:
       return reloc_type == 1; /* R_68K_32.  */
       return reloc_type == 1; /* R_386_32.  */
     case EM_68K:
       return reloc_type == 1; /* R_68K_32.  */
-    case EM_860:
-      return reloc_type == 1; /* R_860_32.  */
-    case EM_960:
-      return reloc_type == 2; /* R_960_32.  */
     case EM_AARCH64:
       return (reloc_type == 258
              || reloc_type == 1); /* R_AARCH64_ABS32 || R_AARCH64_P32_ABS32 */
     case EM_AARCH64:
       return (reloc_type == 258
              || reloc_type == 1); /* R_AARCH64_ABS32 || R_AARCH64_P32_ABS32 */
index b308fd7e37f30abbb7f7280a41d8e34901c52876..68fccbe663ca9dbc4e5018627910596c950fabdc 100644 (file)
@@ -80,7 +80,6 @@ proc objcopy_test {testname srcfile} {
        setup_xfail "h8300-*-coff"
        setup_xfail "h8500-*-rtems*" "h8500-*-coff"
        setup_xfail "hppa*-*-*"
        setup_xfail "h8300-*-coff"
        setup_xfail "h8500-*-rtems*" "h8500-*-coff"
        setup_xfail "hppa*-*-*"
-       setup_xfail "i960-*"
        setup_xfail "m68*-*-*coff" "m68*-*-hpux*" "m68*-*-lynxos*"
        setup_xfail "m68*-*-sysv*" "m68*-apple-aux*"
        setup_xfail "m8*-*"
        setup_xfail "m68*-*-*coff" "m68*-*-hpux*" "m68*-*-lynxos*"
        setup_xfail "m68*-*-sysv*" "m68*-apple-aux*"
        setup_xfail "m8*-*"
@@ -1091,7 +1090,6 @@ if [is_elf_format] {
               || [istarget "d10v-*"] \
               || [istarget "dlx-*"] \
               || [istarget "i*86-*"] \
               || [istarget "d10v-*"] \
               || [istarget "dlx-*"] \
               || [istarget "i*86-*"] \
-              || [istarget "i960-*"] \
               || [istarget "m681*-*"] \
               || [istarget "m68hc1*-*"] \
               || ([istarget "mips*-*"] \
               || [istarget "m681*-*"] \
               || [istarget "m68hc1*-*"] \
               || ([istarget "mips*-*"] \
index f006d64f104c8905310b1bfe2a248df74c69f39e..5a3183492443dd005f4e8a7fc7b6a1d8eeb535b0 100644 (file)
@@ -35,7 +35,7 @@ set got [binutils_run $OBJDUMP "$OBJDUMPFLAGS -i"]
 
 set cpus_expected [list]
 lappend cpus_expected aarch64 alpha am33-2 arc ARC700 ARCv2 arm cris
 
 set cpus_expected [list]
 lappend cpus_expected aarch64 alpha am33-2 arc ARC700 ARCv2 arm cris
-lappend cpus_expected d10v d30v fr30 fr500 fr550 h8 hppa i386 i860 i960 iamcu ip2022
+lappend cpus_expected d10v d30v fr30 fr500 fr550 h8 hppa i386 iamcu ip2022
 lappend cpus_expected m16c m32c m32r m68hc11 m68hc12 m68k m88k MCore mep c5 h1 MicroBlaze
 lappend cpus_expected mips mn10200 mn10300 ms1 msp MSP430 nds32 n1h_v3 ns32k
 lappend cpus_expected or1k or1knd pj powerpc pyramid riscv romp rs6000 s390 sh sparc
 lappend cpus_expected m16c m32c m32r m68hc11 m68hc12 m68k m88k MCore mep c5 h1 MicroBlaze
 lappend cpus_expected mips mn10200 mn10300 ms1 msp MSP430 nds32 n1h_v3 ns32k
 lappend cpus_expected or1k or1knd pj powerpc pyramid riscv romp rs6000 s390 sh sparc
@@ -279,7 +279,6 @@ if { ![is_elf_format] } then {
 if { ![is_elf_format]
      || [istarget "hppa64*-*-hpux*"]
      || [istarget "i370-*-*"]
 if { ![is_elf_format]
      || [istarget "hppa64*-*-hpux*"]
      || [istarget "i370-*-*"]
-     || [istarget "i960-*-*"]
      || [istarget "ia64*-*-*"]
      || [istarget "mcore-*-*"]
      || [istarget "moxie-*-*"]
      || [istarget "ia64*-*-*"]
      || [istarget "mcore-*-*"]
      || [istarget "moxie-*-*"]
index 325a07cba436b578625f7eeb67d522eb53296189..13f09b1841b7bbd303295aa34f43054f054ae939 100644 (file)
@@ -59,8 +59,7 @@ proc is_elf_format {} {
         || [istarget *-*-linux*oldld*]
         || [istarget *-*-rtemscoff*]
         || [istarget h8500-*-rtems*]
         || [istarget *-*-linux*oldld*]
         || [istarget *-*-rtemscoff*]
         || [istarget h8500-*-rtems*]
-        || [istarget i?86-*-freebsd\[12\].*]
-        || [istarget i960-*-rtems*] } {
+        || [istarget i?86-*-freebsd\[12\].*] } {
        return 0
     }
 
        return 0
     }
 
@@ -173,7 +172,7 @@ proc is_elf64 { binary_file } {
 # and Visium targets set OSABI to ELFOSABI_STANDALONE and cannot
 # support STB_GNU_UNIQUE.  Likewise non-EABI ARM targets set OSABI to
 # ELFOSABI_ARM, and TI C6X targets to ELFOSABI_C6000_*.  Finally
 # and Visium targets set OSABI to ELFOSABI_STANDALONE and cannot
 # support STB_GNU_UNIQUE.  Likewise non-EABI ARM targets set OSABI to
 # ELFOSABI_ARM, and TI C6X targets to ELFOSABI_C6000_*.  Finally
-# rather than `bfd_elf_final_link' AM33/2.0, D30V, DLX, i960, and
+# rather than `bfd_elf_final_link' AM33/2.0, D30V, DLX, and
 # picoJava targets use `_bfd_generic_final_link', which does not
 # support STB_GNU_UNIQUE symbol binding causing assertion failures.
 #
 # picoJava targets use `_bfd_generic_final_link', which does not
 # support STB_GNU_UNIQUE symbol binding causing assertion failures.
 #
@@ -201,7 +200,6 @@ proc supports_gnu_unique {} {
     if { [istarget "am33_2.0-*-*"]
         || [istarget "d30v-*-*"]
         || [istarget "dlx-*-*"]
     if { [istarget "am33_2.0-*-*"]
         || [istarget "d30v-*-*"]
         || [istarget "dlx-*-*"]
-        || [istarget "i960-*-*"]
         || [istarget "pj*-*-*"] } {
        return 0
     }
         || [istarget "pj*-*-*"] } {
        return 0
     }
index f7dc5e5cc1dbb1bb69f770edc3c8592324866a53..894ad7d758a8202db9ea11839649f51d7cff6606 100644 (file)
@@ -1,3 +1,121 @@
+2018-04-11  Alan Modra  <amodra@gmail.com>
+
+       * config/aout_gnu.h: Delete.
+       * config/tc-i860.c: Delete.
+       * config/tc-i860.h: Delete.
+       * config/tc-i960.c: Delete.
+       * config/tc-i960.h: Delete.
+       * doc/c-i860.texi: Delete.
+       * doc/c-i960.texi: Delete.
+       * testsuite/gas/i860/README.i860: Delete.
+       * testsuite/gas/i860/bitwise.d: Delete.
+       * testsuite/gas/i860/bitwise.s: Delete.
+       * testsuite/gas/i860/branch.d: Delete.
+       * testsuite/gas/i860/branch.s: Delete.
+       * testsuite/gas/i860/bte.d: Delete.
+       * testsuite/gas/i860/bte.s: Delete.
+       * testsuite/gas/i860/dir-align01.d: Delete.
+       * testsuite/gas/i860/dir-align01.s: Delete.
+       * testsuite/gas/i860/dir-intel01.d: Delete.
+       * testsuite/gas/i860/dir-intel01.s: Delete.
+       * testsuite/gas/i860/dir-intel02.d: Delete.
+       * testsuite/gas/i860/dir-intel02.s: Delete.
+       * testsuite/gas/i860/dir-intel03-err.l: Delete.
+       * testsuite/gas/i860/dir-intel03-err.s: Delete.
+       * testsuite/gas/i860/dual01.d: Delete.
+       * testsuite/gas/i860/dual01.s: Delete.
+       * testsuite/gas/i860/dual02-err.l: Delete.
+       * testsuite/gas/i860/dual02-err.s: Delete.
+       * testsuite/gas/i860/dual03.d: Delete.
+       * testsuite/gas/i860/dual03.s: Delete.
+       * testsuite/gas/i860/fldst01.d: Delete.
+       * testsuite/gas/i860/fldst01.s: Delete.
+       * testsuite/gas/i860/fldst02.d: Delete.
+       * testsuite/gas/i860/fldst02.s: Delete.
+       * testsuite/gas/i860/fldst03.d: Delete.
+       * testsuite/gas/i860/fldst03.s: Delete.
+       * testsuite/gas/i860/fldst04.d: Delete.
+       * testsuite/gas/i860/fldst04.s: Delete.
+       * testsuite/gas/i860/fldst05.d: Delete.
+       * testsuite/gas/i860/fldst05.s: Delete.
+       * testsuite/gas/i860/fldst06.d: Delete.
+       * testsuite/gas/i860/fldst06.s: Delete.
+       * testsuite/gas/i860/fldst07.d: Delete.
+       * testsuite/gas/i860/fldst07.s: Delete.
+       * testsuite/gas/i860/fldst08.d: Delete.
+       * testsuite/gas/i860/fldst08.s: Delete.
+       * testsuite/gas/i860/float01.d: Delete.
+       * testsuite/gas/i860/float01.s: Delete.
+       * testsuite/gas/i860/float02.d: Delete.
+       * testsuite/gas/i860/float02.s: Delete.
+       * testsuite/gas/i860/float03.d: Delete.
+       * testsuite/gas/i860/float03.s: Delete.
+       * testsuite/gas/i860/float04.d: Delete.
+       * testsuite/gas/i860/float04.s: Delete.
+       * testsuite/gas/i860/form.d: Delete.
+       * testsuite/gas/i860/form.s: Delete.
+       * testsuite/gas/i860/i860.exp: Delete.
+       * testsuite/gas/i860/iarith.d: Delete.
+       * testsuite/gas/i860/iarith.s: Delete.
+       * testsuite/gas/i860/ldst01.d: Delete.
+       * testsuite/gas/i860/ldst01.s: Delete.
+       * testsuite/gas/i860/ldst02.d: Delete.
+       * testsuite/gas/i860/ldst02.s: Delete.
+       * testsuite/gas/i860/ldst03.d: Delete.
+       * testsuite/gas/i860/ldst03.s: Delete.
+       * testsuite/gas/i860/ldst04.d: Delete.
+       * testsuite/gas/i860/ldst04.s: Delete.
+       * testsuite/gas/i860/ldst05.d: Delete.
+       * testsuite/gas/i860/ldst05.s: Delete.
+       * testsuite/gas/i860/ldst06.d: Delete.
+       * testsuite/gas/i860/ldst06.s: Delete.
+       * testsuite/gas/i860/pfam.d: Delete.
+       * testsuite/gas/i860/pfam.s: Delete.
+       * testsuite/gas/i860/pfmam.d: Delete.
+       * testsuite/gas/i860/pfmam.s: Delete.
+       * testsuite/gas/i860/pfmsm.d: Delete.
+       * testsuite/gas/i860/pfmsm.s: Delete.
+       * testsuite/gas/i860/pfsm.d: Delete.
+       * testsuite/gas/i860/pfsm.s: Delete.
+       * testsuite/gas/i860/pseudo-ops01.d: Delete.
+       * testsuite/gas/i860/pseudo-ops01.s: Delete.
+       * testsuite/gas/i860/regress01.d: Delete.
+       * testsuite/gas/i860/regress01.s: Delete.
+       * testsuite/gas/i860/shift.d: Delete.
+       * testsuite/gas/i860/shift.s: Delete.
+       * testsuite/gas/i860/simd.d: Delete.
+       * testsuite/gas/i860/simd.s: Delete.
+       * testsuite/gas/i860/system.d: Delete.
+       * testsuite/gas/i860/system.s: Delete.
+       * testsuite/gas/i860/xp.d: Delete.
+       * testsuite/gas/i860/xp.s: Delete.
+       * Makefile.am: Remove i860 and i960 support.
+       * configure.tgt: Likewise.
+       * doc/Makefile.am: Likewise.
+       * doc/all.texi: Likewise.
+       * testsuite/gas/all/gas.exp
+       * config/obj-coff.h: Remove i960 support.
+       * doc/internals.texi: Likewise.
+       * expr.c: Likewise.
+       * read.c: Likewise.
+       * write.c: Likewise.
+       * write.h: Likewise.
+       * testsuite/gas/lns/lns.exp: Likewise.
+       * testsuite/gas/symver/symver.exp: Likewise.
+       * config/tc-m68k.c: Remove BOUT support.
+       * config/tc-score.c: Likewise.
+       * config/tc-score7.c: Likewise.
+       * config/tc-sparc.c: Likewise.
+       * symbols.c: Likewise.
+       * doc/h8.texi: Likewise.
+       * configure.ac: Remove BOUT and i860 support.
+       * doc/as.texinfo: Remove BOUT, i860 and i960 support
+       * Makefile.in: Regenerate.
+       * config.in: Regenerate.
+       * configure: Regenerate.
+       * doc/Makefile.in: Regenerate.
+       * po/POTFILES.in: Regenerate.
+
 2018-04-05  H.J. Lu  <hongjiu.lu@intel.com>
 
        PR gas/22318
 2018-04-05  H.J. Lu  <hongjiu.lu@intel.com>
 
        PR gas/22318
index 5aa68f3c6a42e4c506bdeb47615e4cd74b259f95..3b0dd03a688ce0a9936a84a5537b3d2abc9f3b37 100644 (file)
@@ -150,8 +150,6 @@ TARGET_CPU_CFILES = \
        config/tc-ia64.c \
        config/tc-i370.c \
        config/tc-i386.c \
        config/tc-ia64.c \
        config/tc-i370.c \
        config/tc-i386.c \
-       config/tc-i860.c \
-       config/tc-i960.c \
        config/tc-ip2k.c \
        config/tc-iq2000.c \
        config/tc-lm32.c \
        config/tc-ip2k.c \
        config/tc-iq2000.c \
        config/tc-lm32.c \
@@ -227,8 +225,6 @@ TARGET_CPU_HFILES = \
        config/tc-ia64.h \
        config/tc-i370.h \
        config/tc-i386.h \
        config/tc-ia64.h \
        config/tc-i370.h \
        config/tc-i386.h \
-       config/tc-i860.h \
-       config/tc-i960.h \
        config/tc-ip2k.h \
        config/tc-iq2000.h \
        config/tc-lm32.h \
        config/tc-ip2k.h \
        config/tc-iq2000.h \
        config/tc-lm32.h \
index 51e96e52c1ce5b74b51ae6143c60a73547bc9f96..8968b1ec494686d0f02410bcd4f2ee20c69f9222 100644 (file)
@@ -446,8 +446,6 @@ TARGET_CPU_CFILES = \
        config/tc-ia64.c \
        config/tc-i370.c \
        config/tc-i386.c \
        config/tc-ia64.c \
        config/tc-i370.c \
        config/tc-i386.c \
-       config/tc-i860.c \
-       config/tc-i960.c \
        config/tc-ip2k.c \
        config/tc-iq2000.c \
        config/tc-lm32.c \
        config/tc-ip2k.c \
        config/tc-iq2000.c \
        config/tc-lm32.c \
@@ -523,8 +521,6 @@ TARGET_CPU_HFILES = \
        config/tc-ia64.h \
        config/tc-i370.h \
        config/tc-i386.h \
        config/tc-ia64.h \
        config/tc-i370.h \
        config/tc-i386.h \
-       config/tc-i860.h \
-       config/tc-i960.h \
        config/tc-ip2k.h \
        config/tc-iq2000.h \
        config/tc-lm32.h \
        config/tc-ip2k.h \
        config/tc-iq2000.h \
        config/tc-lm32.h \
@@ -882,8 +878,6 @@ distclean-compile:
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/tc-hppa.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/tc-i370.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/tc-i386.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/tc-hppa.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/tc-i370.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/tc-i386.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/tc-i860.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/tc-i960.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/tc-ia64.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/tc-ip2k.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/tc-iq2000.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/tc-ia64.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/tc-ip2k.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/tc-iq2000.Po@am__quote@
@@ -1255,34 +1249,6 @@ tc-i386.obj: config/tc-i386.c
 @AMDEP_TRUE@@am__fastdepCC_FALSE@      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCC_FALSE@  $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o tc-i386.obj `if test -f 'config/tc-i386.c'; then $(CYGPATH_W) 'config/tc-i386.c'; else $(CYGPATH_W) '$(srcdir)/config/tc-i386.c'; fi`
 
 @AMDEP_TRUE@@am__fastdepCC_FALSE@      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCC_FALSE@  $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o tc-i386.obj `if test -f 'config/tc-i386.c'; then $(CYGPATH_W) 'config/tc-i386.c'; else $(CYGPATH_W) '$(srcdir)/config/tc-i386.c'; fi`
 
-tc-i860.o: config/tc-i860.c
-@am__fastdepCC_TRUE@   $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT tc-i860.o -MD -MP -MF $(DEPDIR)/tc-i860.Tpo -c -o tc-i860.o `test -f 'config/tc-i860.c' || echo '$(srcdir)/'`config/tc-i860.c
-@am__fastdepCC_TRUE@   $(am__mv) $(DEPDIR)/tc-i860.Tpo $(DEPDIR)/tc-i860.Po
-@AMDEP_TRUE@@am__fastdepCC_FALSE@      source='config/tc-i860.c' object='tc-i860.o' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@  $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o tc-i860.o `test -f 'config/tc-i860.c' || echo '$(srcdir)/'`config/tc-i860.c
-
-tc-i860.obj: config/tc-i860.c
-@am__fastdepCC_TRUE@   $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT tc-i860.obj -MD -MP -MF $(DEPDIR)/tc-i860.Tpo -c -o tc-i860.obj `if test -f 'config/tc-i860.c'; then $(CYGPATH_W) 'config/tc-i860.c'; else $(CYGPATH_W) '$(srcdir)/config/tc-i860.c'; fi`
-@am__fastdepCC_TRUE@   $(am__mv) $(DEPDIR)/tc-i860.Tpo $(DEPDIR)/tc-i860.Po
-@AMDEP_TRUE@@am__fastdepCC_FALSE@      source='config/tc-i860.c' object='tc-i860.obj' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@  $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o tc-i860.obj `if test -f 'config/tc-i860.c'; then $(CYGPATH_W) 'config/tc-i860.c'; else $(CYGPATH_W) '$(srcdir)/config/tc-i860.c'; fi`
-
-tc-i960.o: config/tc-i960.c
-@am__fastdepCC_TRUE@   $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT tc-i960.o -MD -MP -MF $(DEPDIR)/tc-i960.Tpo -c -o tc-i960.o `test -f 'config/tc-i960.c' || echo '$(srcdir)/'`config/tc-i960.c
-@am__fastdepCC_TRUE@   $(am__mv) $(DEPDIR)/tc-i960.Tpo $(DEPDIR)/tc-i960.Po
-@AMDEP_TRUE@@am__fastdepCC_FALSE@      source='config/tc-i960.c' object='tc-i960.o' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@  $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o tc-i960.o `test -f 'config/tc-i960.c' || echo '$(srcdir)/'`config/tc-i960.c
-
-tc-i960.obj: config/tc-i960.c
-@am__fastdepCC_TRUE@   $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT tc-i960.obj -MD -MP -MF $(DEPDIR)/tc-i960.Tpo -c -o tc-i960.obj `if test -f 'config/tc-i960.c'; then $(CYGPATH_W) 'config/tc-i960.c'; else $(CYGPATH_W) '$(srcdir)/config/tc-i960.c'; fi`
-@am__fastdepCC_TRUE@   $(am__mv) $(DEPDIR)/tc-i960.Tpo $(DEPDIR)/tc-i960.Po
-@AMDEP_TRUE@@am__fastdepCC_FALSE@      source='config/tc-i960.c' object='tc-i960.obj' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@  $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o tc-i960.obj `if test -f 'config/tc-i960.c'; then $(CYGPATH_W) 'config/tc-i960.c'; else $(CYGPATH_W) '$(srcdir)/config/tc-i960.c'; fi`
-
 tc-ip2k.o: config/tc-ip2k.c
 @am__fastdepCC_TRUE@   $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT tc-ip2k.o -MD -MP -MF $(DEPDIR)/tc-ip2k.Tpo -c -o tc-ip2k.o `test -f 'config/tc-ip2k.c' || echo '$(srcdir)/'`config/tc-ip2k.c
 @am__fastdepCC_TRUE@   $(am__mv) $(DEPDIR)/tc-ip2k.Tpo $(DEPDIR)/tc-ip2k.Po
 tc-ip2k.o: config/tc-ip2k.c
 @am__fastdepCC_TRUE@   $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT tc-ip2k.o -MD -MP -MF $(DEPDIR)/tc-ip2k.Tpo -c -o tc-ip2k.o `test -f 'config/tc-ip2k.c' || echo '$(srcdir)/'`config/tc-ip2k.c
 @am__fastdepCC_TRUE@   $(am__mv) $(DEPDIR)/tc-ip2k.Tpo $(DEPDIR)/tc-ip2k.Po
index 08551796966f78b65bebbc2c78c364e18f583ea1..76c7c17f5088886573489b28c562917b6685edd6 100644 (file)
 /* a.out support? */
 #undef OBJ_MAYBE_AOUT
 
 /* a.out support? */
 #undef OBJ_MAYBE_AOUT
 
-/* b.out support? */
-#undef OBJ_MAYBE_BOUT
-
 /* COFF support? */
 #undef OBJ_MAYBE_COFF
 
 /* COFF support? */
 #undef OBJ_MAYBE_COFF
 
diff --git a/gas/config/aout_gnu.h b/gas/config/aout_gnu.h
deleted file mode 100644 (file)
index f404d1e..0000000
+++ /dev/null
@@ -1,451 +0,0 @@
-/* This file is aout_gnu.h
-
-   Copyright (C) 1987-2018 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 3, 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, 51 Franklin Street - Fifth Floor,
-   Boston, MA 02110-1301, USA.  */
-
-#ifndef __A_OUT_GNU_H__
-#define __A_OUT_GNU_H__
-
-/* There are two main flavours of a.out, one which uses the standard
-   relocations, and one which uses extended relocations.
-
-   Today, the extended reloc uses are
-   TC_SPARC
-
-   each must define the enum reloc_type
-
-*/
-
-#if defined(TC_SPARC)
-enum reloc_type
-  {
-    RELOC_8, RELOC_16, RELOC_32,/* simple relocations */
-    RELOC_DISP8, RELOC_DISP16, RELOC_DISP32,   /* pc-rel displacement */
-    RELOC_WDISP30, RELOC_WDISP22,
-    RELOC_HI22, RELOC_22,
-    RELOC_13, RELOC_LO10,
-    RELOC_SFA_BASE, RELOC_SFA_OFF13,
-    RELOC_BASE10, RELOC_BASE13, RELOC_BASE22,  /* P.I.C. (base-relative) */
-    RELOC_PC10, RELOC_PC22,    /* for some sort of pc-rel P.I.C. (?) */
-    RELOC_JMP_TBL,             /* P.I.C. jump table */
-    RELOC_SEGOFF16,            /* reputedly for shared libraries somehow */
-    RELOC_GLOB_DAT, RELOC_JMP_SLOT, RELOC_RELATIVE,
-    RELOC_10, RELOC_11,
-    RELOC_WDISP2_14,
-    RELOC_WDISP19,
-    RELOC_HHI22,
-    RELOC_HLO10,
-
-    /* 29K relocation types */
-    RELOC_JUMPTARG, RELOC_CONST, RELOC_CONSTH,
-
-    RELOC_WDISP14, RELOC_WDISP21,
-
-    NO_RELOC
-  };
-
-#define USE_EXTENDED_RELOC 1
-#else
-#define USE_EXTENDED_RELOC 0
-#endif /* TC_SPARC */
-
-#define __GNU_EXEC_MACROS__
-
-#ifndef __STRUCT_EXEC_OVERRIDE__
-
-/* This is the layout on disk of a Unix V7, Berkeley, SunOS, Vax Ultrix
-   "struct exec".  Don't assume that on this machine, the "struct exec"
-   will lay out the same sizes or alignments.  */
-
-struct exec_bytes
-  {
-    unsigned char a_info[4];
-    unsigned char a_text[4];
-    unsigned char a_data[4];
-    unsigned char a_bss[4];
-    unsigned char a_syms[4];
-    unsigned char a_entry[4];
-    unsigned char a_trsize[4];
-    unsigned char a_drsize[4];
-  };
-
-/* How big the "struct exec" is on disk */
-#define        EXEC_BYTES_SIZE (8 * 4)
-
-/* This is the layout in memory of a "struct exec" while we process it.  */
-
-struct exec
-{
-  unsigned long a_info;                /* Use macros N_MAGIC, etc for access */
-  unsigned a_text;             /* length of text, in bytes */
-  unsigned a_data;             /* length of data, in bytes */
-  unsigned a_bss;              /* length of uninitialized data area for file, in bytes */
-  unsigned a_syms;             /* length of symbol table data in file, in bytes */
-  unsigned a_entry;            /* start address */
-  unsigned a_trsize;           /* length of relocation info for text, in bytes */
-  unsigned a_drsize;           /* length of relocation info for data, in bytes */
-};
-
-#endif /* __STRUCT_EXEC_OVERRIDE__ */
-
-/* these go in the N_MACHTYPE field */
-/* These symbols could be defined by code from Suns...punt 'em */
-#undef M_UNKNOWN
-#undef M_68010
-#undef M_68020
-#undef M_SPARC
-enum machine_type
-  {
-    M_UNKNOWN = 0,
-    M_68010 = 1,
-    M_68020 = 2,
-    M_SPARC = 3,
-    /* skip a bunch so we don't run into any of sun's numbers */
-    M_386 = 100,
-    M_29K = 101,
-    M_RS6000 = 102,            /* IBM RS/6000 */
-    M_VAX4K_NETBSD = 150,
-    /* HP/BSD formats */
-    M_HP200 = 200,             /* hp200 (68010) BSD binary */
-    M_HP300 = 300,             /* hp300 (68020+68881) BSD binary */
-    M_HPUX23 = 0x020C          /* hp200/300 HPUX binary */
-  };
-
-#define N_MAGIC(execp) ((execp)->a_info & 0xffff)
-#define N_MACHTYPE(execp) ((enum machine_type)(((execp)->a_info >> 16) & 0xff))
-#define N_FLAGS(execp) (((execp)->a_info >> 24) & 0xff)
-#define N_SET_INFO(execp, magic, type, flags) \
-    ((execp)->a_info = ((magic) & 0xffff) \
-     | (((int)(type) & 0xff) << 16) \
-     | (((flags) & 0xff) << 24))
-#define N_SET_MAGIC(execp, magic) \
-    ((execp)->a_info = (((execp)->a_info & 0xffff0000) | ((magic) & 0xffff)))
-
-#define N_SET_MACHTYPE(execp, machtype) \
-    ((execp)->a_info = \
-     ((execp)->a_info & 0xff00ffff) | ((((int) (machtype)) & 0xff) << 16))
-
-#define N_SET_FLAGS(execp, flags) \
-    ((execp)->a_info = \
-     ((execp)->a_info & 0x00ffffff) | (((flags) & 0xff) << 24))
-
-/* Code indicating object file or impure executable.  */
-#ifndef OMAGIC
-#define OMAGIC 0407
-#endif
-/* Code indicating pure executable.  */
-#define NMAGIC 0410
-/* Code indicating demand-paged executable.  */
-#define ZMAGIC 0413
-
-/* Virtual Address of text segment from the a.out file.  For OMAGIC,
-   (almost always "unlinked .o's" these days), should be zero.
-   For linked files, should reflect reality if we know it.  */
-
-#ifndef N_TXTADDR
-#define N_TXTADDR(x)   (N_MAGIC(x)==OMAGIC? 0 : TEXT_START_ADDR)
-#endif
-
-#ifndef N_BADMAG
-#define N_BADMAG(x)      (N_MAGIC(x) != OMAGIC         \
-                          && N_MAGIC(x) != NMAGIC              \
-                          && N_MAGIC(x) != ZMAGIC)
-#endif
-
-/* By default, segment size is constant.  But on some machines, it can
-   be a function of the a.out header (e.g. machine type).  */
-#ifndef        N_SEGSIZE
-#define        N_SEGSIZE(x)    SEGMENT_SIZE
-#endif
-
-/* This complexity is for encapsulated COFF support */
-#ifndef _N_HDROFF
-#define _N_HDROFF(x)   (N_SEGSIZE(x) - sizeof (struct exec))
-#endif
-
-#ifndef N_TXTOFF
-#define N_TXTOFF(x)    (N_MAGIC(x) == ZMAGIC ? \
-                        _N_HDROFF((x)) + sizeof (struct exec) :        \
-                        sizeof (struct exec))
-#endif
-
-#ifndef N_DATOFF
-#define N_DATOFF(x)    ( N_TXTOFF(x) + (x)->a_text )
-#endif
-
-#ifndef N_TRELOFF
-#define N_TRELOFF(x)   ( N_DATOFF(x) + (x)->a_data )
-#endif
-
-#ifndef N_DRELOFF
-#define N_DRELOFF(x)   ( N_TRELOFF(x) + (x)->a_trsize )
-#endif
-
-#ifndef N_SYMOFF
-#define N_SYMOFF(x)    ( N_DRELOFF(x) + (x)->a_drsize )
-#endif
-
-#ifndef N_STROFF
-#define N_STROFF(x)    ( N_SYMOFF(x) + (x)->a_syms )
-#endif
-
-/* Address of text segment in memory after it is loaded.  */
-#ifndef N_TXTADDR
-#define        N_TXTADDR(x)    0
-#endif
-
-#ifndef N_DATADDR
-#define N_DATADDR(x) \
-    (N_MAGIC(x)==OMAGIC? (N_TXTADDR(x)+(x)->a_text) \
-     :  (N_SEGSIZE(x) + ((N_TXTADDR(x)+(x)->a_text-1) & ~(N_SEGSIZE(x)-1))))
-#endif
-
-/* Address of bss segment in memory after it is loaded.  */
-#define N_BSSADDR(x) (N_DATADDR(x) + (x)->a_data)
-\f
-struct nlist
-  {
-    union
-      {
-       char *n_name;
-       struct nlist *n_next;
-       long n_strx;
-      }
-    n_un;
-    unsigned char n_type;
-    char n_other;
-    short n_desc;
-    unsigned long n_value;
-  };
-
-#define N_UNDF 0
-#define N_ABS 2
-#define N_TEXT 4
-#define N_DATA 6
-#define N_BSS 8
-#define        N_COMM  0x12            /* common (visible in shared lib commons) */
-#define N_FN 0x1F              /* File name of a .o file */
-
-/* Note: N_EXT can only usefully be OR-ed with N_UNDF, N_ABS, N_TEXT,
-   N_DATA, or N_BSS.  When the low-order bit of other types is set,
-   (e.g. N_WARNING versus N_FN), they are two different types.  */
-#define N_EXT 1
-#define N_TYPE 036
-#define N_STAB 0340
-
-/* The following type indicates the definition of a symbol as being
-   an indirect reference to another symbol.  The other symbol
-   appears as an undefined reference, immediately following this symbol.
-
-   Indirection is asymmetrical.  The other symbol's value will be used
-   to satisfy requests for the indirect symbol, but not vice versa.
-   If the other symbol does not have a definition, libraries will
-   be searched to find a definition.  */
-
-#define N_INDR 0xa
-
-/* The following symbols refer to set elements.
-   All the N_SET[ATDB] symbols with the same name form one set.
-   Space is allocated for the set in the text section, and each set
-   element's value is stored into one word of the space.
-   The first word of the space is the length of the set (number of elements).
-
-   The address of the set is made into an N_SETV symbol
-   whose name is the same as the name of the set.
-   This symbol acts like a N_DATA global symbol
-   in that it can satisfy undefined external references.  */
-
-/* These appear as input to LD, in a .o file.  */
-#define        N_SETA  0x14            /* Absolute set element symbol */
-#define        N_SETT  0x16            /* Text set element symbol */
-#define        N_SETD  0x18            /* Data set element symbol */
-#define        N_SETB  0x1A            /* Bss set element symbol */
-
-/* This is output from LD.  */
-#define N_SETV 0x1C            /* Pointer to set vector in data area.  */
-
-/* Warning symbol. The text gives a warning message, the next symbol
-   in the table will be undefined. When the symbol is referenced, the
-   message is printed.  */
-
-#define        N_WARNING 0x1e
-
-/* Weak symbols.  These are a GNU extension to the a.out format.  The
-   semantics are those of ELF weak symbols.  Weak symbols are always
-   externally visible.  The N_WEAK? values are squeezed into the
-   available slots.  The value of a N_WEAKU symbol is 0.  The values
-   of the other types are the definitions.  */
-#define N_WEAKU        0x0d            /* Weak undefined symbol.  */
-#define N_WEAKA 0x0e           /* Weak absolute symbol.  */
-#define N_WEAKT 0x0f           /* Weak text symbol.  */
-#define N_WEAKD 0x10           /* Weak data symbol.  */
-#define N_WEAKB 0x11           /* Weak bss symbol.  */
-\f
-/* This structure describes a single relocation to be performed.
-   The text-relocation section of the file is a vector of these structures,
-   all of which apply to the text section.
-   Likewise, the data-relocation section applies to the data section.  */
-
-/* The following enum and struct were borrowed from SunOS's
-   /usr/include/sun4/a.out.h  and extended to handle
-   other machines.  It is currently used on SPARC.
-
-   reloc_ext_bytes is how it looks on disk.  reloc_info_extended is
-   how we might process it on a native host.  */
-#if USE_EXTENDED_RELOC
-
-struct reloc_ext_bytes
-  {
-    unsigned char r_address[4];
-    unsigned char r_index[3];
-    unsigned char r_bits[1];
-    unsigned char r_addend[4];
-  };
-
-#define        RELOC_EXT_BITS_EXTERN_BIG       0x80
-#define        RELOC_EXT_BITS_EXTERN_LITTLE    0x01
-
-#define        RELOC_EXT_BITS_TYPE_BIG         0x1F
-#define        RELOC_EXT_BITS_TYPE_SH_BIG      0
-#define        RELOC_EXT_BITS_TYPE_LITTLE      0xF8
-#define        RELOC_EXT_BITS_TYPE_SH_LITTLE   3
-
-#define        RELOC_EXT_SIZE  12      /* Bytes per relocation entry */
-
-struct reloc_info_extended
-{
-  unsigned long r_address;
-  unsigned int r_index:24;
-# define       r_symbolnum  r_index
-  unsigned r_extern:1;
-  unsigned:2;
-  /*  RS/6000 compiler does not support enum bitfield
-           enum reloc_type r_type:5; */
-  enum reloc_type r_type;
-  long int r_addend;
-};
-
-#else
-
-/* The standard, old-fashioned, Berkeley compatible relocation struct */
-
-#ifdef TC_I860
-/* NOTE: three bits max, see struct reloc_info_i860.r_type */
-enum i860_reloc_type
-  {
-    NO_RELOC = 0, BRADDR, LOW0, LOW1, LOW2, LOW3, LOW4, SPLIT0, SPLIT1, SPLIT2, RELOC_32,
-  };
-
-typedef enum i860_reloc_type reloc_type;
-
-/* NOTE: two bits max, see reloc_info_i860.r_type */
-enum highlow_type
-  {
-    NO_SPEC = 0, PAIR, HIGH, HIGHADJ,
-  };
-
-struct reloc_info_i860
-{
-  unsigned long r_address;
-  /*
-        * Using bit fields here is a bad idea because the order is not portable. :-(
-        */
-  unsigned int r_symbolnum:24;
-  unsigned int r_pcrel:1;
-  unsigned int r_extern:1;
-  /* combining the two field simplifies the argument passing in "new_fix()" */
-  /* and is compatible with the existing Sparc #ifdef's */
-  /* r_type:  highlow_type - bits 5,4; reloc_type - bits 3-0 */
-  unsigned int r_type:6;
-  long r_addend;
-};
-
-#endif /* TC_I860 */
-
-struct reloc_std_bytes
-  {
-    unsigned char r_address[4];
-    unsigned char r_index[3];
-    unsigned char r_bits[1];
-  };
-
-#define        RELOC_STD_BITS_PCREL_BIG        0x80
-#define        RELOC_STD_BITS_PCREL_LITTLE     0x01
-
-#define        RELOC_STD_BITS_LENGTH_BIG       0x60
-#define        RELOC_STD_BITS_LENGTH_SH_BIG    5       /* To shift to units place */
-#define        RELOC_STD_BITS_LENGTH_LITTLE    0x06
-#define        RELOC_STD_BITS_LENGTH_SH_LITTLE 1
-
-#define        RELOC_STD_BITS_EXTERN_BIG       0x10
-#define        RELOC_STD_BITS_EXTERN_LITTLE    0x08
-
-#define        RELOC_STD_BITS_BASEREL_BIG      0x08
-#define        RELOC_STD_BITS_BASEREL_LITTLE   0x08
-
-#define        RELOC_STD_BITS_JMPTABLE_BIG     0x04
-#define        RELOC_STD_BITS_JMPTABLE_LITTLE  0x04
-
-#define        RELOC_STD_BITS_RELATIVE_BIG     0x02
-#define        RELOC_STD_BITS_RELATIVE_LITTLE  0x02
-
-#define        RELOC_STD_SIZE  8       /* Bytes per relocation entry */
-
-#endif /* USE_EXTENDED_RELOC */
-
-#ifndef CUSTOM_RELOC_FORMAT
-struct relocation_info
-{
-  /* Address (within segment) to be relocated.  */
-  int r_address;
-  /* The meaning of r_symbolnum depends on r_extern.  */
-  unsigned int r_symbolnum:24;
-  /* Nonzero means value is a pc-relative offset
-          and it should be relocated for changes in its own address
-          as well as for changes in the symbol or section specified.  */
-  unsigned int r_pcrel:1;
-  /* Length (as exponent of 2) of the field to be relocated.
-          Thus, a value of 2 indicates 1<<2 bytes.  */
-  unsigned int r_length:2;
-  /* 1 => relocate with value of symbol.
-          r_symbolnum is the index of the symbol
-          in file's the symbol table.
-          0 => relocate with the address of a segment.
-          r_symbolnum is N_TEXT, N_DATA, N_BSS or N_ABS
-          (the N_EXT bit may be set also, but signifies nothing).  */
-  unsigned int r_extern:1;
-  /* The next three bits are for SunOS shared libraries, and seem to
-          be undocumented.  */
-#ifdef TC_NS32K
-  unsigned int r_bsr:1;
-  unsigned int r_disp:2;
-#else
-  unsigned int r_baserel:1;    /* Linkage table relative */
-  unsigned int r_jmptable:1;   /* pc-relative to jump table */
-  unsigned int r_relative:1;   /* "relative relocation" */
-#endif /* TC_NS32K */
-  /* unused */
-  unsigned int r_pad:1;                /* Padding -- set to zero */
-};
-
-#endif /* CUSTOM_RELOC_FORMAT */
-
-#endif /* __A_OUT_GNU_H__ */
-
-/* end of aout_gnu.h */
index 7c4fff5359ee85272c6249e3fd5d3e1770f18c7c..ee28ab4fde0dc06c3f40da0ce82e79d53f5b5f9f 100644 (file)
 #endif
 #endif
 
 #endif
 #endif
 
-#ifdef TC_I960
-#include "coff/i960.h"
-#define TARGET_FORMAT "coff-Intel-little"
-#endif
-
 #ifdef TC_Z80
 #include "coff/z80.h"
 #define TARGET_FORMAT "coff-z80"
 #ifdef TC_Z80
 #include "coff/z80.h"
 #define TARGET_FORMAT "coff-z80"
 
 /* Alter the field names, for now, until we've fixed up the other
    references to use the new name.  */
 
 /* Alter the field names, for now, until we've fixed up the other
    references to use the new name.  */
-#ifdef TC_I960
-#define TC_SYMFIELD_TYPE       symbolS *
-#define sy_tc                  bal
-#endif
-
 #define OBJ_SYMFIELD_TYPE      unsigned long
 #define sy_obj                 sy_obj_flags
 
 #define OBJ_SYMFIELD_TYPE      unsigned long
 #define sy_obj                 sy_obj_flags
 
 
 /* Internal use only definitions. SF_ stands for symbol flags.
 
 
 /* Internal use only definitions. SF_ stands for symbol flags.
 
-   These values can be assigned to sy_symbol.ost_flags field of a symbolS.
-
-   You'll break i960 if you shift the SYSPROC bits anywhere else.  for
-   more on the balname/callname hack, see tc-i960.h.  b.out is done
-   differently.  */
-
-#define SF_I960_MASK   0x000001ff      /* Bits 0-8 are used by the i960 port.  */
-#define SF_SYSPROC     0x0000003f      /* bits 0-5 are used to store the sysproc number.  */
-#define SF_IS_SYSPROC  0x00000040      /* bit 6 marks symbols that are sysprocs.  */
-#define SF_BALNAME     0x00000080      /* bit 7 marks BALNAME symbols.  */
-#define SF_CALLNAME    0x00000100      /* bit 8 marks CALLNAME symbols.  */
+   These values can be assigned to sy_symbol.ost_flags field of a symbolS.  */
 
 #define SF_NORMAL_MASK 0x0000ffff      /* bits 12-15 are general purpose.  */
 
 
 #define SF_NORMAL_MASK 0x0000ffff      /* bits 12-15 are general purpose.  */
 
 #define SF_GET_TAGGED(s)       (SF_GET (s) & SF_TAGGED)
 #define SF_GET_TAG(s)          (SF_GET (s) & SF_TAG)
 #define SF_GET_GET_SEGMENT(s)  (SF_GET (s) & SF_GET_SEGMENT)
 #define SF_GET_TAGGED(s)       (SF_GET (s) & SF_TAGGED)
 #define SF_GET_TAG(s)          (SF_GET (s) & SF_TAG)
 #define SF_GET_GET_SEGMENT(s)  (SF_GET (s) & SF_GET_SEGMENT)
-#define SF_GET_I960(s)         (SF_GET (s) & SF_I960_MASK)     /* Used by i960.  */
-#define SF_GET_BALNAME(s)      (SF_GET (s) & SF_BALNAME)       /* Used by i960.  */
-#define SF_GET_CALLNAME(s)     (SF_GET (s) & SF_CALLNAME)      /* Used by i960.  */
-#define SF_GET_IS_SYSPROC(s)   (SF_GET (s) & SF_IS_SYSPROC)    /* Used by i960.  */
-#define SF_GET_SYSPROC(s)      (SF_GET (s) & SF_SYSPROC)       /* Used by i960.  */
 
 /* Modifiers.  */
 #define SF_SET(s,v)            (SF_GET (s) = (v))
 
 /* Modifiers.  */
 #define SF_SET(s,v)            (SF_GET (s) = (v))
 #define SF_SET_TAGGED(s)       (SF_GET (s) |= SF_TAGGED)
 #define SF_SET_TAG(s)          (SF_GET (s) |= SF_TAG)
 #define SF_SET_GET_SEGMENT(s)  (SF_GET (s) |= SF_GET_SEGMENT)
 #define SF_SET_TAGGED(s)       (SF_GET (s) |= SF_TAGGED)
 #define SF_SET_TAG(s)          (SF_GET (s) |= SF_TAG)
 #define SF_SET_GET_SEGMENT(s)  (SF_GET (s) |= SF_GET_SEGMENT)
-#define SF_SET_I960(s,v)       (SF_GET (s) |= ((v) & SF_I960_MASK))    /* Used by i960.  */
-#define SF_SET_BALNAME(s)      (SF_GET (s) |= SF_BALNAME)              /* Used by i960.  */
-#define SF_SET_CALLNAME(s)     (SF_GET (s) |= SF_CALLNAME)             /* Used by i960.  */
-#define SF_SET_IS_SYSPROC(s)   (SF_GET (s) |= SF_IS_SYSPROC)           /* Used by i960.  */
-#define SF_SET_SYSPROC(s,v)    (SF_GET (s) |= ((v) & SF_SYSPROC))      /* Used by i960.  */
 
 
 /*  Line number handling.  */
 
 
 /*  Line number handling.  */
@@ -330,12 +300,6 @@ extern symbolS *coff_last_function;
 
 /* Sanity check.  */
 
 
 /* Sanity check.  */
 
-#ifdef TC_I960
-#ifndef C_LEAFSTAT
-hey ! Where is the C_LEAFSTAT definition ? i960 - coff support is depending on it.
-#endif /* no C_LEAFSTAT */
-#endif /* TC_I960 */
-
 extern const pseudo_typeS coff_pseudo_table[];
 
 #ifndef obj_pop_insert
 extern const pseudo_typeS coff_pseudo_table[];
 
 #ifndef obj_pop_insert
diff --git a/gas/config/tc-i860.c b/gas/config/tc-i860.c
deleted file mode 100644 (file)
index 5872678..0000000
+++ /dev/null
@@ -1,1491 +0,0 @@
-/* tc-i860.c -- Assembler for the Intel i860 architecture.
-   Copyright (C) 1989-2018 Free Software Foundation, Inc.
-
-   Brought back from the dead and completely reworked
-   by Jason Eckhardt <jle@cygnus.com>.
-
-   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 3, 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, 51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA.  */
-
-#include "as.h"
-#include "safe-ctype.h"
-#include "subsegs.h"
-#include "opcode/i860.h"
-#include "elf/i860.h"
-
-
-/* The opcode hash table.  */
-static struct hash_control *op_hash = NULL;
-
-/* These characters always start a comment.  */
-const char comment_chars[] = "#!/";
-
-/* These characters start a comment at the beginning of a line.  */
-const char line_comment_chars[] = "#/";
-
-const char line_separator_chars[] = ";";
-
-/* Characters that can be used to separate the mantissa from the exponent
-   in floating point numbers.  */
-const char EXP_CHARS[] = "eE";
-
-/* Characters that indicate this number is a floating point constant.
-   As in 0f12.456 or 0d1.2345e12.  */
-const char FLT_CHARS[] = "rRsSfFdDxXpP";
-
-/* Register prefix (depends on syntax).  */
-static char reg_prefix;
-
-#define MAX_FIXUPS 2
-
-struct i860_it
-{
-  const char *error;
-  unsigned long opcode;
-  enum expand_type expand;
-  struct i860_fi
-  {
-    expressionS exp;
-    bfd_reloc_code_real_type reloc;
-    int pcrel;
-    valueT fup;
-  } fi[MAX_FIXUPS];
-} the_insn;
-
-/* The current fixup count.  */
-static int fc;
-
-static char *expr_end;
-
-/* Indicates error if a pseudo operation was expanded after a branch.  */
-static char last_expand;
-
-/* If true, then warn if any pseudo operations were expanded.  */
-static int target_warn_expand = 0;
-
-/* If true, then XP support is enabled.  */
-static int target_xp = 0;
-
-/* If true, then Intel syntax is enabled (default to AT&T/SVR4 syntax).  */
-static int target_intel_syntax = 0;
-
-
-/* Prototypes.  */
-static void i860_process_insn (char *);
-static void s_dual (int);
-static void s_enddual (int);
-static void s_atmp (int);
-static void s_align_wrapper (int);
-static int i860_get_expression (char *);
-static bfd_reloc_code_real_type obtain_reloc_for_imm16 (fixS *, long *);
-#ifdef DEBUG_I860
-static void print_insn (struct i860_it *);
-#endif
-
-const pseudo_typeS md_pseudo_table[] =
-{
-  {"align",   s_align_wrapper, 0},
-  {"dual",    s_dual,          0},
-  {"enddual", s_enddual,       0},
-  {"atmp",    s_atmp,          0},
-  {NULL,      0,               0},
-};
-
-/* Dual-instruction mode handling.  */
-enum dual
-{
-  DUAL_OFF = 0, DUAL_ON, DUAL_DDOT, DUAL_ONDDOT,
-};
-static enum dual dual_mode = DUAL_OFF;
-
-/* Handle ".dual" directive.  */
-static void
-s_dual (int ignore ATTRIBUTE_UNUSED)
-{
-  if (target_intel_syntax)
-    dual_mode = DUAL_ON;
-  else
-    as_bad (_("Directive .dual available only with -mintel-syntax option"));
-}
-
-/* Handle ".enddual" directive.  */
-static void
-s_enddual (int ignore ATTRIBUTE_UNUSED)
-{
-  if (target_intel_syntax)
-    dual_mode = DUAL_OFF;
-  else
-    as_bad (_("Directive .enddual available only with -mintel-syntax option"));
-}
-
-/* Temporary register used when expanding assembler pseudo operations.  */
-static int atmp = 31;
-
-static void
-s_atmp (int ignore ATTRIBUTE_UNUSED)
-{
-  int temp;
-
-  if (! target_intel_syntax)
-    {
-      as_bad (_("Directive .atmp available only with -mintel-syntax option"));
-      demand_empty_rest_of_line ();
-      return;
-    }
-
-  if (strncmp (input_line_pointer, "sp", 2) == 0)
-    {
-      input_line_pointer += 2;
-      atmp = 2;
-    }
-  else if (strncmp (input_line_pointer, "fp", 2) == 0)
-    {
-      input_line_pointer += 2;
-      atmp = 3;
-    }
-  else if (strncmp (input_line_pointer, "r", 1) == 0)
-    {
-      input_line_pointer += 1;
-      temp = get_absolute_expression ();
-      if (temp >= 0 && temp <= 31)
-       atmp = temp;
-      else
-       as_bad (_("Unknown temporary pseudo register"));
-    }
-  else
-    {
-      as_bad (_("Unknown temporary pseudo register"));
-    }
-  demand_empty_rest_of_line ();
-}
-
-/* Handle ".align" directive depending on syntax mode.
-   AT&T/SVR4 syntax uses the standard align directive.  However,
-   the Intel syntax additionally allows keywords for the alignment
-   parameter: ".align type", where type is one of {.short, .long,
-   .quad, .single, .double} representing alignments of 2, 4,
-   16, 4, and 8, respectively.  */
-static void
-s_align_wrapper (int arg)
-{
-  char *parm = input_line_pointer;
-
-  if (target_intel_syntax)
-    {
-      /* Replace a keyword with the equivalent integer so the
-         standard align routine can parse the directive.  */
-      if (strncmp (parm, ".short", 6) == 0)
-        strncpy (parm, "     2", 6);
-      else if (strncmp (parm, ".long", 5) == 0)
-        strncpy (parm, "    4", 5);
-      else if (strncmp (parm, ".quad", 5) == 0)
-        strncpy (parm, "   16", 5);
-      else if (strncmp (parm, ".single", 7) == 0)
-        strncpy (parm, "      4", 7);
-      else if (strncmp (parm, ".double", 7) == 0)
-        strncpy (parm, "      8", 7);
-
-      while (*input_line_pointer == ' ')
-        ++input_line_pointer;
-    }
-
-  s_align_bytes (arg);
-}
-
-/* This function is called once, at assembler startup time.  It should
-   set up all the tables and data structures that the MD part of the
-   assembler will need.  */
-void
-md_begin (void)
-{
-  const char *retval = NULL;
-  int lose = 0;
-  unsigned int i = 0;
-
-  op_hash = hash_new ();
-
-  while (i860_opcodes[i].name != NULL)
-    {
-      const char *name = i860_opcodes[i].name;
-      retval = hash_insert (op_hash, name, (void *) &i860_opcodes[i]);
-      if (retval != NULL)
-       {
-         fprintf (stderr, _("internal error: can't hash `%s': %s\n"),
-                  i860_opcodes[i].name, retval);
-         lose = 1;
-       }
-      do
-       {
-         if (i860_opcodes[i].match & i860_opcodes[i].lose)
-           {
-             fprintf (stderr,
-                      _("internal error: losing opcode: `%s' \"%s\"\n"),
-                      i860_opcodes[i].name, i860_opcodes[i].args);
-             lose = 1;
-           }
-         ++i;
-       }
-      while (i860_opcodes[i].name != NULL
-            && strcmp (i860_opcodes[i].name, name) == 0);
-    }
-
-  if (lose)
-    as_fatal (_("Defective assembler.  No assembly attempted."));
-
-  /* Set the register prefix for either Intel or AT&T/SVR4 syntax.  */
-  reg_prefix = target_intel_syntax ? 0 : '%';
-}
-
-/* This is the core of the machine-dependent assembler.  STR points to a
-   machine dependent instruction.  This function emits the frags/bytes
-   it assembles to.  */
-void
-md_assemble (char *str)
-{
-  char *destp;
-  int num_opcodes = 1;
-  int i;
-  struct i860_it pseudo[3];
-
-  gas_assert (str);
-  fc = 0;
-
-  /* Assemble the instruction.  */
-  i860_process_insn (str);
-
-  /* Check for expandable flag to produce pseudo-instructions.  This
-     is an undesirable feature that should be avoided.  */
-  if (the_insn.expand != 0 && the_insn.expand != XP_ONLY
-      && ! (the_insn.fi[0].fup & (OP_SEL_HA | OP_SEL_H | OP_SEL_L | OP_SEL_GOT
-                           | OP_SEL_GOTOFF | OP_SEL_PLT)))
-    {
-      for (i = 0; i < 3; i++)
-       pseudo[i] = the_insn;
-
-      fc = 1;
-      switch (the_insn.expand)
-       {
-
-       case E_DELAY:
-         num_opcodes = 1;
-         break;
-
-       case E_MOV:
-         if (the_insn.fi[0].exp.X_add_symbol == NULL
-             && the_insn.fi[0].exp.X_op_symbol == NULL
-             && (the_insn.fi[0].exp.X_add_number < (1 << 15)
-                 && the_insn.fi[0].exp.X_add_number >= -(1 << 15)))
-           break;
-
-         /* Emit "or l%const,r0,ireg_dest".  */
-         pseudo[0].opcode = (the_insn.opcode & 0x001f0000) | 0xe4000000;
-         pseudo[0].fi[0].fup = (OP_IMM_S16 | OP_SEL_L);
-
-         /* Emit "orh h%const,ireg_dest,ireg_dest".  */
-         pseudo[1].opcode = (the_insn.opcode & 0x03ffffff) | 0xec000000
-                             | ((the_insn.opcode & 0x001f0000) << 5);
-         pseudo[1].fi[0].fup = (OP_IMM_S16 | OP_SEL_H);
-
-         num_opcodes = 2;
-         break;
-
-       case E_ADDR:
-         if (the_insn.fi[0].exp.X_add_symbol == NULL
-             && the_insn.fi[0].exp.X_op_symbol == NULL
-             && (the_insn.fi[0].exp.X_add_number < (1 << 15)
-                 && the_insn.fi[0].exp.X_add_number >= -(1 << 15)))
-           break;
-
-         /* Emit "orh ha%addr_expr,ireg_src2,r31".  */
-         pseudo[0].opcode = 0xec000000 | (the_insn.opcode & 0x03e00000)
-                            | (atmp << 16);
-         pseudo[0].fi[0].fup = (OP_IMM_S16 | OP_SEL_HA);
-
-         /* Emit "l%addr_expr(r31),ireg_dest".  We pick up the fixup
-            information from the original instruction.   */
-         pseudo[1].opcode = (the_insn.opcode & ~0x03e00000) | (atmp << 21);
-         pseudo[1].fi[0].fup = the_insn.fi[0].fup | OP_SEL_L;
-
-         num_opcodes = 2;
-         break;
-
-       case E_U32:
-         if (the_insn.fi[0].exp.X_add_symbol == NULL
-             && the_insn.fi[0].exp.X_op_symbol == NULL
-             && (the_insn.fi[0].exp.X_add_number < (1 << 16)
-                 && the_insn.fi[0].exp.X_add_number >= 0))
-           break;
-
-         /* Emit "$(opcode)h h%const,ireg_src2,r31".  */
-         pseudo[0].opcode = (the_insn.opcode & 0xf3e0ffff) | 0x0c000000
-                             | (atmp << 16);
-         pseudo[0].fi[0].fup = (OP_IMM_S16 | OP_SEL_H);
-
-         /* Emit "$(opcode) l%const,r31,ireg_dest".  */
-         pseudo[1].opcode = (the_insn.opcode & 0xf01f0000) | 0x04000000
-                             | (atmp << 21);
-         pseudo[1].fi[0].fup = (OP_IMM_S16 | OP_SEL_L);
-
-         num_opcodes = 2;
-         break;
-
-       case E_AND:
-         if (the_insn.fi[0].exp.X_add_symbol == NULL
-             && the_insn.fi[0].exp.X_op_symbol == NULL
-             && (the_insn.fi[0].exp.X_add_number < (1 << 16)
-                 && the_insn.fi[0].exp.X_add_number >= 0))
-           break;
-
-         /* Emit "andnot h%const,ireg_src2,r31".  */
-         pseudo[0].opcode = (the_insn.opcode & 0x03e0ffff) | 0xd4000000
-                             | (atmp << 16);
-         pseudo[0].fi[0].fup = (OP_IMM_S16 | OP_SEL_H);
-         pseudo[0].fi[0].exp.X_add_number =
-            -1 - the_insn.fi[0].exp.X_add_number;
-
-         /* Emit "andnot l%const,r31,ireg_dest".  */
-         pseudo[1].opcode = (the_insn.opcode & 0x001f0000) | 0xd4000000
-                             | (atmp << 21);
-         pseudo[1].fi[0].fup = (OP_IMM_S16 | OP_SEL_L);
-         pseudo[1].fi[0].exp.X_add_number =
-            -1 - the_insn.fi[0].exp.X_add_number;
-
-         num_opcodes = 2;
-         break;
-
-       case E_S32:
-         if (the_insn.fi[0].exp.X_add_symbol == NULL
-             && the_insn.fi[0].exp.X_op_symbol == NULL
-             && (the_insn.fi[0].exp.X_add_number < (1 << 15)
-                 && the_insn.fi[0].exp.X_add_number >= -(1 << 15)))
-           break;
-
-         /* Emit "orh h%const,r0,r31".  */
-         pseudo[0].opcode = 0xec000000 | (atmp << 16);
-         pseudo[0].fi[0].fup = (OP_IMM_S16 | OP_SEL_H);
-
-         /* Emit "or l%const,r31,r31".  */
-         pseudo[1].opcode = 0xe4000000 | (atmp << 21) | (atmp << 16);
-         pseudo[1].fi[0].fup = (OP_IMM_S16 | OP_SEL_L);
-
-         /* Emit "r31,ireg_src2,ireg_dest".  */
-         pseudo[2].opcode = (the_insn.opcode & ~0x0400ffff) | (atmp << 11);
-         pseudo[2].fi[0].fup = OP_IMM_S16;
-
-         num_opcodes = 3;
-         break;
-
-       default:
-         as_fatal (_("failed sanity check."));
-       }
-
-      the_insn = pseudo[0];
-
-      /* Warn if an opcode is expanded after a delayed branch.  */
-      if (num_opcodes > 1 && last_expand == 1)
-       as_warn (_("Expanded opcode after delayed branch: `%s'"), str);
-
-      /* Warn if an opcode is expanded in dual mode.  */
-      if (num_opcodes > 1 && dual_mode != DUAL_OFF)
-       as_warn (_("Expanded opcode in dual mode: `%s'"), str);
-
-      /* Notify if any expansions happen.  */
-      if (target_warn_expand && num_opcodes > 1)
-       as_warn (_("An instruction was expanded (%s)"), str);
-    }
-
-  dwarf2_emit_insn (0);
-  i = 0;
-  do
-    {
-      int tmp;
-
-      /* Output the opcode.  Note that the i860 always reads instructions
-        as little-endian data.  */
-      destp = frag_more (4);
-      number_to_chars_littleendian (destp, the_insn.opcode, 4);
-
-      /* Check for expanded opcode after branch or in dual mode.  */
-      last_expand = the_insn.fi[0].pcrel;
-
-      /* Output the symbol-dependent stuff.  Only btne and bte will ever
-         loop more than once here, since only they (possibly) have more
-         than one fixup.  */
-      for (tmp = 0; tmp < fc; tmp++)
-        {
-          if (the_insn.fi[tmp].fup != OP_NONE)
-           {
-             fixS *fix;
-             fix = fix_new_exp (frag_now,
-                                destp - frag_now->fr_literal,
-                                4,
-                                &the_insn.fi[tmp].exp,
-                                the_insn.fi[tmp].pcrel,
-                                the_insn.fi[tmp].reloc);
-
-            /* Despite the odd name, this is a scratch field.  We use
-               it to encode operand type information.  */
-            fix->fx_addnumber = the_insn.fi[tmp].fup;
-          }
-        }
-      the_insn = pseudo[++i];
-    }
-  while (--num_opcodes > 0);
-
-}
-
-/* Assemble the instruction pointed to by STR.  */
-static void
-i860_process_insn (char *str)
-{
-  char *s;
-  const char *args;
-  char c;
-  struct i860_opcode *insn;
-  char *args_start;
-  unsigned long opcode;
-  unsigned int mask;
-  int match = 0;
-  int comma = 0;
-
-#if 1 /* For compiler warnings.  */
-  args = 0;
-  insn = 0;
-  args_start = 0;
-  opcode = 0;
-#endif
-
-  for (s = str; ISLOWER (*s) || *s == '.' || *s == '3'
-       || *s == '2' || *s == '1'; ++s)
-    ;
-
-  switch (*s)
-    {
-    case '\0':
-      break;
-
-    case ',':
-      comma = 1;
-
-      /*FALLTHROUGH*/
-
-    case ' ':
-      *s++ = '\0';
-      break;
-
-    default:
-      as_fatal (_("Unknown opcode: `%s'"), str);
-    }
-
-  /* Check for dual mode ("d.") opcode prefix.  */
-  if (strncmp (str, "d.", 2) == 0)
-    {
-      if (dual_mode == DUAL_ON)
-       dual_mode = DUAL_ONDDOT;
-      else
-       dual_mode = DUAL_DDOT;
-      str += 2;
-    }
-
-  if ((insn = (struct i860_opcode *) hash_find (op_hash, str)) == NULL)
-    {
-      if (dual_mode == DUAL_DDOT || dual_mode == DUAL_ONDDOT)
-       str -= 2;
-      as_bad (_("Unknown opcode: `%s'"), str);
-      return;
-    }
-
-  if (comma)
-    *--s = ',';
-
-  args_start = s;
-  for (;;)
-    {
-      int t;
-      opcode = insn->match;
-      memset (&the_insn, '\0', sizeof (the_insn));
-      fc = 0;
-      for (t = 0; t < MAX_FIXUPS; t++)
-        {
-          the_insn.fi[t].reloc = BFD_RELOC_NONE;
-          the_insn.fi[t].pcrel = 0;
-          the_insn.fi[t].fup = OP_NONE;
-        }
-
-      /* Build the opcode, checking as we go that the operands match.  */
-      for (args = insn->args; ; ++args)
-       {
-          if (fc > MAX_FIXUPS)
-            abort ();
-
-         switch (*args)
-           {
-
-           /* End of args.  */
-           case '\0':
-             if (*s == '\0')
-               match = 1;
-             break;
-
-           /* These must match exactly.  */
-           case '+':
-           case '(':
-           case ')':
-           case ',':
-           case ' ':
-             if (*s++ == *args)
-               continue;
-             break;
-
-           /* Must be at least one digit.  */
-           case '#':
-             if (ISDIGIT (*s++))
-               {
-                 while (ISDIGIT (*s))
-                   ++s;
-                 continue;
-               }
-             break;
-
-           /* Next operand must be a register.  */
-           case '1':
-           case '2':
-           case 'd':
-             /* Check for register prefix if necessary.  */
-             if (reg_prefix && *s != reg_prefix)
-               goto error;
-             else if (reg_prefix)
-               s++;
-
-             switch (*s)
-               {
-               /* Frame pointer.  */
-               case 'f':
-                 s++;
-                 if (*s++ == 'p')
-                   {
-                     mask = 0x3;
-                     break;
-                   }
-                 goto error;
-
-               /* Stack pointer.  */
-               case 's':
-                 s++;
-                 if (*s++ == 'p')
-                   {
-                     mask = 0x2;
-                     break;
-                   }
-                 goto error;
-
-               /* Any register r0..r31.  */
-               case 'r':
-                 s++;
-                 if (!ISDIGIT (c = *s++))
-                   {
-                     goto error;
-                   }
-                 if (ISDIGIT (*s))
-                   {
-                     if ((c = 10 * (c - '0') + (*s++ - '0')) >= 32)
-                       goto error;
-                   }
-                 else
-                   c -= '0';
-                 mask = c;
-                 break;
-
-               /* Not this opcode.  */
-               default:
-                 goto error;
-               }
-
-             /* Obtained the register, now place it in the opcode.  */
-             switch (*args)
-               {
-               case '1':
-                 opcode |= mask << 11;
-                 continue;
-
-               case '2':
-                 opcode |= mask << 21;
-                 continue;
-
-               case 'd':
-                 opcode |= mask << 16;
-                 continue;
-
-               }
-             break;
-
-           /* Next operand is a floating point register.  */
-           case 'e':
-           case 'f':
-           case 'g':
-             /* Check for register prefix if necessary.  */
-             if (reg_prefix && *s != reg_prefix)
-               goto error;
-             else if (reg_prefix)
-               s++;
-
-             if (*s++ == 'f' && ISDIGIT (*s))
-               {
-                 mask = *s++;
-                 if (ISDIGIT (*s))
-                   {
-                     mask = 10 * (mask - '0') + (*s++ - '0');
-                     if (mask >= 32)
-                       {
-                         break;
-                       }
-                   }
-                 else
-                   mask -= '0';
-
-                 switch (*args)
-                   {
-
-                   case 'e':
-                     opcode |= mask << 11;
-                     continue;
-
-                   case 'f':
-                     opcode |= mask << 21;
-                     continue;
-
-                   case 'g':
-                     opcode |= mask << 16;
-                     if ((opcode & (1 << 10)) && mask != 0
-                         && (mask == ((opcode >> 11) & 0x1f)))
-                       as_warn (_("Pipelined instruction: fsrc1 = fdest"));
-                     continue;
-                   }
-               }
-             break;
-
-           /* Next operand must be a control register.  */
-           case 'c':
-             /* Check for register prefix if necessary.  */
-             if (reg_prefix && *s != reg_prefix)
-               goto error;
-             else if (reg_prefix)
-               s++;
-
-             if (strncmp (s, "fir", 3) == 0)
-               {
-                 opcode |= 0x0 << 21;
-                 s += 3;
-                 continue;
-               }
-             if (strncmp (s, "psr", 3) == 0)
-               {
-                 opcode |= 0x1 << 21;
-                 s += 3;
-                 continue;
-               }
-             if (strncmp (s, "dirbase", 7) == 0)
-               {
-                 opcode |= 0x2 << 21;
-                 s += 7;
-                 continue;
-               }
-             if (strncmp (s, "db", 2) == 0)
-               {
-                 opcode |= 0x3 << 21;
-                 s += 2;
-                 continue;
-               }
-             if (strncmp (s, "fsr", 3) == 0)
-               {
-                 opcode |= 0x4 << 21;
-                 s += 3;
-                 continue;
-               }
-             if (strncmp (s, "epsr", 4) == 0)
-               {
-                 opcode |= 0x5 << 21;
-                 s += 4;
-                 continue;
-               }
-             /* The remaining control registers are XP only.  */
-             if (target_xp && strncmp (s, "bear", 4) == 0)
-               {
-                 opcode |= 0x6 << 21;
-                 s += 4;
-                 continue;
-               }
-             if (target_xp && strncmp (s, "ccr", 3) == 0)
-               {
-                 opcode |= 0x7 << 21;
-                 s += 3;
-                 continue;
-               }
-             if (target_xp && strncmp (s, "p0", 2) == 0)
-               {
-                 opcode |= 0x8 << 21;
-                 s += 2;
-                 continue;
-               }
-             if (target_xp && strncmp (s, "p1", 2) == 0)
-               {
-                 opcode |= 0x9 << 21;
-                 s += 2;
-                 continue;
-               }
-             if (target_xp && strncmp (s, "p2", 2) == 0)
-               {
-                 opcode |= 0xa << 21;
-                 s += 2;
-                 continue;
-               }
-             if (target_xp && strncmp (s, "p3", 2) == 0)
-               {
-                 opcode |= 0xb << 21;
-                 s += 2;
-                 continue;
-               }
-             break;
-
-           /* 5-bit immediate in src1.  */
-           case '5':
-             if (! i860_get_expression (s))
-               {
-                 s = expr_end;
-                 the_insn.fi[fc].fup |= OP_IMM_U5;
-                 fc++;
-                 continue;
-               }
-             break;
-
-           /* 26-bit immediate, relative branch (lbroff).  */
-           case 'l':
-             the_insn.fi[fc].pcrel = 1;
-             the_insn.fi[fc].fup |= OP_IMM_BR26;
-             goto immediate;
-
-           /* 16-bit split immediate, relative branch (sbroff).  */
-           case 'r':
-             the_insn.fi[fc].pcrel = 1;
-             the_insn.fi[fc].fup |= OP_IMM_BR16;
-             goto immediate;
-
-           /* 16-bit split immediate.  */
-           case 's':
-             the_insn.fi[fc].fup |= OP_IMM_SPLIT16;
-             goto immediate;
-
-           /* 16-bit split immediate, byte aligned (st.b).  */
-           case 'S':
-             the_insn.fi[fc].fup |= OP_IMM_SPLIT16;
-             goto immediate;
-
-           /* 16-bit split immediate, half-word aligned (st.s).  */
-           case 'T':
-             the_insn.fi[fc].fup |= (OP_IMM_SPLIT16 | OP_ENCODE1 | OP_ALIGN2);
-             goto immediate;
-
-           /* 16-bit split immediate, word aligned (st.l).  */
-           case 'U':
-             the_insn.fi[fc].fup |= (OP_IMM_SPLIT16 | OP_ENCODE1 | OP_ALIGN4);
-             goto immediate;
-
-           /* 16-bit immediate.  */
-           case 'i':
-             the_insn.fi[fc].fup |= OP_IMM_S16;
-             goto immediate;
-
-           /* 16-bit immediate, byte aligned (ld.b).  */
-           case 'I':
-             the_insn.fi[fc].fup |= OP_IMM_S16;
-             goto immediate;
-
-           /* 16-bit immediate, half-word aligned (ld.s).  */
-           case 'J':
-             the_insn.fi[fc].fup |= (OP_IMM_S16 | OP_ENCODE1 | OP_ALIGN2);
-             goto immediate;
-
-           /* 16-bit immediate, word aligned (ld.l, {p}fld.l, fst.l).  */
-           case 'K':
-             if (insn->name[0] == 'l')
-               the_insn.fi[fc].fup |= (OP_IMM_S16 | OP_ENCODE1 | OP_ALIGN4);
-             else
-               the_insn.fi[fc].fup |= (OP_IMM_S16 | OP_ENCODE2 | OP_ALIGN4);
-             goto immediate;
-
-           /* 16-bit immediate, double-word aligned ({p}fld.d, fst.d).  */
-           case 'L':
-             the_insn.fi[fc].fup |= (OP_IMM_S16 | OP_ENCODE3 | OP_ALIGN8);
-             goto immediate;
-
-           /* 16-bit immediate, quad-word aligned (fld.q, fst.q).  */
-           case 'M':
-             the_insn.fi[fc].fup |= (OP_IMM_S16 | OP_ENCODE3 | OP_ALIGN16);
-
-             /*FALLTHROUGH*/
-
-             /* Handle the immediate for either the Intel syntax or
-                SVR4 syntax. The Intel syntax is "ha%immediate"
-                whereas SVR4 syntax is "[immediate]@ha".  */
-           immediate:
-             if (target_intel_syntax == 0)
-               {
-                 /* AT&T/SVR4 syntax.  */
-                 if (*s == ' ')
-                   s++;
-
-                 /* Note that if i860_get_expression() fails, we will still
-                    have created U entries in the symbol table for the
-                    'symbols' in the input string.  Try not to create U
-                    symbols for registers, etc.  */
-                 if (! i860_get_expression (s))
-                   s = expr_end;
-                 else
-                   goto error;
-
-                 if (strncmp (s, "@ha", 3) == 0)
-                   {
-                     the_insn.fi[fc].fup |= OP_SEL_HA;
-                     s += 3;
-                   }
-                 else if (strncmp (s, "@h", 2) == 0)
-                   {
-                     the_insn.fi[fc].fup |= OP_SEL_H;
-                     s += 2;
-                   }
-                 else if (strncmp (s, "@l", 2) == 0)
-                   {
-                     the_insn.fi[fc].fup |= OP_SEL_L;
-                     s += 2;
-                   }
-                 else if (strncmp (s, "@gotoff", 7) == 0
-                          || strncmp (s, "@GOTOFF", 7) == 0)
-                   {
-                     as_bad (_("Assembler does not yet support PIC"));
-                     the_insn.fi[fc].fup |= OP_SEL_GOTOFF;
-                     s += 7;
-                   }
-                 else if (strncmp (s, "@got", 4) == 0
-                          || strncmp (s, "@GOT", 4) == 0)
-                   {
-                     as_bad (_("Assembler does not yet support PIC"));
-                     the_insn.fi[fc].fup |= OP_SEL_GOT;
-                     s += 4;
-                   }
-                 else if (strncmp (s, "@plt", 4) == 0
-                          || strncmp (s, "@PLT", 4) == 0)
-                   {
-                     as_bad (_("Assembler does not yet support PIC"));
-                     the_insn.fi[fc].fup |= OP_SEL_PLT;
-                     s += 4;
-                   }
-
-                 the_insn.expand = insn->expand;
-                  fc++;
-
-                 continue;
-               }
-             else
-               {
-                 /* Intel syntax.  */
-                 if (*s == ' ')
-                   s++;
-                 if (strncmp (s, "ha%", 3) == 0)
-                   {
-                     the_insn.fi[fc].fup |= OP_SEL_HA;
-                     s += 3;
-                   }
-                 else if (strncmp (s, "h%", 2) == 0)
-                   {
-                     the_insn.fi[fc].fup |= OP_SEL_H;
-                     s += 2;
-                   }
-                 else if (strncmp (s, "l%", 2) == 0)
-                   {
-                     the_insn.fi[fc].fup |= OP_SEL_L;
-                     s += 2;
-                   }
-                 the_insn.expand = insn->expand;
-
-                 /* Note that if i860_get_expression() fails, we will still
-                    have created U entries in the symbol table for the
-                    'symbols' in the input string.  Try not to create U
-                    symbols for registers, etc.  */
-                 if (! i860_get_expression (s))
-                   s = expr_end;
-                 else
-                   goto error;
-
-                  fc++;
-                 continue;
-               }
-             break;
-
-           default:
-             as_fatal (_("failed sanity check."));
-           }
-         break;
-       }
-    error:
-      if (match == 0)
-       {
-         /* Args don't match.  */
-         if (insn[1].name != NULL
-             && ! strcmp (insn->name, insn[1].name))
-           {
-             ++insn;
-             s = args_start;
-             continue;
-           }
-         else
-           {
-             as_bad (_("Illegal operands for %s"), insn->name);
-             return;
-           }
-       }
-      break;
-    }
-
-  /* Set the dual bit on this instruction if necessary.  */
-  if (dual_mode != DUAL_OFF)
-    {
-      if ((opcode & 0xfc000000) == 0x48000000 || opcode == 0xb0000000)
-        {
-         /* The instruction is a flop or a fnop, so set its dual bit
-            (but check that it is 8-byte aligned).  */
-         if (((frag_now->fr_address + frag_now_fix_octets ()) & 7) == 0)
-           opcode |= (1 << 9);
-         else
-            as_bad (_("'d.%s' must be 8-byte aligned"), insn->name);
-
-          if (dual_mode == DUAL_DDOT)
-           dual_mode = DUAL_OFF;
-          else if (dual_mode == DUAL_ONDDOT)
-           dual_mode = DUAL_ON;
-        }
-      else if (dual_mode == DUAL_DDOT || dual_mode == DUAL_ONDDOT)
-        as_bad (_("Prefix 'd.' invalid for instruction `%s'"), insn->name);
-    }
-
-  the_insn.opcode = opcode;
-
-  /* Only recognize XP instructions when the user has requested it.  */
-  if (insn->expand == XP_ONLY && ! target_xp)
-    as_bad (_("Unknown opcode: `%s'"), insn->name);
-}
-
-static int
-i860_get_expression (char *str)
-{
-  char *save_in;
-  segT seg;
-
-  save_in = input_line_pointer;
-  input_line_pointer = str;
-  seg = expression (&the_insn.fi[fc].exp);
-  if (seg != absolute_section
-      && seg != undefined_section
-      && ! SEG_NORMAL (seg))
-    {
-      the_insn.error = _("bad segment");
-      expr_end = input_line_pointer;
-      input_line_pointer = save_in;
-      return 1;
-    }
-  expr_end = input_line_pointer;
-  input_line_pointer = save_in;
-  return 0;
-}
-
-const char *
-md_atof (int type, char *litP, int *sizeP)
-{
-  return ieee_md_atof (type, litP, sizeP, TRUE);
-}
-
-/* Write out in current endian mode.  */
-void
-md_number_to_chars (char *buf, valueT val, int n)
-{
-  if (target_big_endian)
-    number_to_chars_bigendian (buf, val, n);
-  else
-    number_to_chars_littleendian (buf, val, n);
-}
-
-/* This should never be called for i860.  */
-int
-md_estimate_size_before_relax (fragS *fragP ATTRIBUTE_UNUSED,
-                              segT segtype ATTRIBUTE_UNUSED)
-{
-  as_fatal (_("relaxation not supported\n"));
-}
-
-#ifdef DEBUG_I860
-static void
-print_insn (struct i860_it *insn)
-{
-  if (insn->error)
-    fprintf (stderr, "ERROR: %s\n", insn->error);
-
-  fprintf (stderr, "opcode = 0x%08lx\t", insn->opcode);
-  fprintf (stderr, "expand = 0x%x\t", insn->expand);
-  fprintf (stderr, "reloc = %s\t\n",
-          bfd_get_reloc_code_name (insn->reloc));
-  fprintf (stderr, "exp =  {\n");
-  fprintf (stderr, "\t\tX_add_symbol = %s\n",
-          insn->exp.X_add_symbol ?
-          (S_GET_NAME (insn->exp.X_add_symbol) ?
-           S_GET_NAME (insn->exp.X_add_symbol) : "???") : "0");
-  fprintf (stderr, "\t\tX_op_symbol = %s\n",
-          insn->exp.X_op_symbol ?
-          (S_GET_NAME (insn->exp.X_op_symbol) ?
-           S_GET_NAME (insn->exp.X_op_symbol) : "???") : "0");
-  fprintf (stderr, "\t\tX_add_number = %lx\n",
-          insn->exp.X_add_number);
-  fprintf (stderr, "}\n");
-}
-#endif /* DEBUG_I860 */
-
-\f
-#ifdef OBJ_ELF
-const char *md_shortopts = "VQ:";
-#else
-const char *md_shortopts = "";
-#endif
-
-#define OPTION_EB              (OPTION_MD_BASE + 0)
-#define OPTION_EL              (OPTION_MD_BASE + 1)
-#define OPTION_WARN_EXPAND     (OPTION_MD_BASE + 2)
-#define OPTION_XP              (OPTION_MD_BASE + 3)
-#define OPTION_INTEL_SYNTAX    (OPTION_MD_BASE + 4)
-
-struct option md_longopts[] = {
-  { "EB",          no_argument, NULL, OPTION_EB },
-  { "EL",          no_argument, NULL, OPTION_EL },
-  { "mwarn-expand", no_argument, NULL, OPTION_WARN_EXPAND },
-  { "mxp",         no_argument, NULL, OPTION_XP },
-  { "mintel-syntax",no_argument, NULL, OPTION_INTEL_SYNTAX },
-  { NULL,          no_argument, NULL, 0 }
-};
-size_t md_longopts_size = sizeof (md_longopts);
-
-int
-md_parse_option (int c, const char *arg ATTRIBUTE_UNUSED)
-{
-  switch (c)
-    {
-    case OPTION_EB:
-      target_big_endian = 1;
-      break;
-
-    case OPTION_EL:
-      target_big_endian = 0;
-      break;
-
-    case OPTION_WARN_EXPAND:
-      target_warn_expand = 1;
-      break;
-
-    case OPTION_XP:
-      target_xp = 1;
-      break;
-
-    case OPTION_INTEL_SYNTAX:
-      target_intel_syntax = 1;
-      break;
-
-#ifdef OBJ_ELF
-    /* SVR4 argument compatibility (-V): print version ID.  */
-    case 'V':
-      print_version_id ();
-      break;
-
-    /* SVR4 argument compatibility (-Qy, -Qn): controls whether
-       a .comment section should be emitted or not (ignored).  */
-    case 'Q':
-      break;
-#endif
-
-    default:
-      return 0;
-    }
-
-  return 1;
-}
-
-void
-md_show_usage (FILE *stream)
-{
-  fprintf (stream, _("\
-  -EL                    generate code for little endian mode (default)\n\
-  -EB                    generate code for big endian mode\n\
-  -mwarn-expand                  warn if pseudo operations are expanded\n\
-  -mxp                   enable i860XP support (disabled by default)\n\
-  -mintel-syntax         enable Intel syntax (default to AT&T/SVR4)\n"));
-#ifdef OBJ_ELF
-  /* SVR4 compatibility flags.  */
-  fprintf (stream, _("\
-  -V                     print assembler version number\n\
-  -Qy, -Qn               ignored\n"));
-#endif
-}
-
-\f
-/* We have no need to default values of symbols.  */
-symbolS *
-md_undefined_symbol (char *name ATTRIBUTE_UNUSED)
-{
-  return 0;
-}
-
-/* The i860 denotes auto-increment with '++'.  */
-void
-md_operand (expressionS *exp)
-{
-  char *s;
-
-  for (s = input_line_pointer; *s; s++)
-    {
-      if (s[0] == '+' && s[1] == '+')
-       {
-         input_line_pointer += 2;
-         exp->X_op = O_register;
-         break;
-       }
-    }
-}
-
-/* Round up a section size to the appropriate boundary.  */
-valueT
-md_section_align (segT segment ATTRIBUTE_UNUSED,
-                 valueT size ATTRIBUTE_UNUSED)
-{
-  /* Byte alignment is fine.  */
-  return size;
-}
-
-/* On the i860, a PC-relative offset is relative to the address of the
-   offset plus its size.  */
-long
-md_pcrel_from (fixS *fixP)
-{
-  return fixP->fx_size + fixP->fx_where + fixP->fx_frag->fr_address;
-}
-
-/* Determine the relocation needed for non PC-relative 16-bit immediates.
-   Also adjust the given immediate as necessary.  Finally, check that
-   all constraints (such as alignment) are satisfied.   */
-static bfd_reloc_code_real_type
-obtain_reloc_for_imm16 (fixS *fix, long *val)
-{
-  valueT fup = fix->fx_addnumber;
-  bfd_reloc_code_real_type reloc;
-
-  if (fix->fx_pcrel)
-    abort ();
-
-  /* Check alignment restrictions.  */
-  if ((fup & OP_ALIGN2) && (*val & 0x1))
-    as_bad_where (fix->fx_file, fix->fx_line,
-                 _("This immediate requires 0 MOD 2 alignment"));
-  else if ((fup & OP_ALIGN4) && (*val & 0x3))
-    as_bad_where (fix->fx_file, fix->fx_line,
-                 _("This immediate requires 0 MOD 4 alignment"));
-  else if ((fup & OP_ALIGN8) && (*val & 0x7))
-    as_bad_where (fix->fx_file, fix->fx_line,
-                 _("This immediate requires 0 MOD 8 alignment"));
-  else if ((fup & OP_ALIGN16) && (*val & 0xf))
-    as_bad_where (fix->fx_file, fix->fx_line,
-                 _("This immediate requires 0 MOD 16 alignment"));
-
-  if (fup & OP_SEL_HA)
-    {
-      *val = (*val >> 16) + (*val & 0x8000 ? 1 : 0);
-      reloc = BFD_RELOC_860_HIGHADJ;
-    }
-  else if (fup & OP_SEL_H)
-    {
-      *val >>= 16;
-      reloc = BFD_RELOC_860_HIGH;
-    }
-  else if (fup & OP_SEL_L)
-    {
-      int num_encode;
-      if (fup & OP_IMM_SPLIT16)
-       {
-         if (fup & OP_ENCODE1)
-           {
-             num_encode = 1;
-             reloc = BFD_RELOC_860_SPLIT1;
-           }
-         else if (fup & OP_ENCODE2)
-           {
-             num_encode = 2;
-             reloc = BFD_RELOC_860_SPLIT2;
-           }
-         else
-           {
-             num_encode = 0;
-             reloc = BFD_RELOC_860_SPLIT0;
-           }
-       }
-      else
-       {
-         if (fup & OP_ENCODE1)
-           {
-             num_encode = 1;
-             reloc = BFD_RELOC_860_LOW1;
-           }
-         else if (fup & OP_ENCODE2)
-           {
-             num_encode = 2;
-             reloc = BFD_RELOC_860_LOW2;
-           }
-         else if (fup & OP_ENCODE3)
-           {
-             num_encode = 3;
-             reloc = BFD_RELOC_860_LOW3;
-           }
-         else
-           {
-             num_encode = 0;
-             reloc = BFD_RELOC_860_LOW0;
-           }
-       }
-
-      /* Preserve size encode bits.  */
-      *val &= ~((1 << num_encode) - 1);
-    }
-  else
-    {
-      /* No selector.  What reloc do we generate (???)?  */
-      reloc = BFD_RELOC_32;
-    }
-
-  return reloc;
-}
-
-/* Attempt to simplify or eliminate a fixup. To indicate that a fixup
-   has been eliminated, set fix->fx_done. If fix->fx_addsy is non-NULL,
-   we will have to generate a reloc entry.  */
-
-void
-md_apply_fix (fixS *fix, valueT *valP, segT seg ATTRIBUTE_UNUSED)
-{
-  char *buf;
-  long val = *valP;
-  unsigned long insn;
-  valueT fup;
-
-  buf = fix->fx_frag->fr_literal + fix->fx_where;
-
-  /* Recall that earlier we stored the opcode little-endian.  */
-  insn = bfd_getl32 (buf);
-
-  /* We stored a fix-up in this oddly-named scratch field.  */
-  fup = fix->fx_addnumber;
-
-  /* Determine the necessary relocations as well as inserting an
-     immediate into the instruction.   */
-  if (fup & OP_IMM_U5)
-    {
-      if (val & ~0x1f)
-       as_bad_where (fix->fx_file, fix->fx_line,
-                     _("5-bit immediate too large"));
-      if (fix->fx_addsy)
-       as_bad_where (fix->fx_file, fix->fx_line,
-                     _("5-bit field must be absolute"));
-
-      insn |= (val & 0x1f) << 11;
-      bfd_putl32 (insn, buf);
-      fix->fx_r_type = BFD_RELOC_NONE;
-      fix->fx_done = 1;
-    }
-  else if (fup & OP_IMM_S16)
-    {
-      fix->fx_r_type = obtain_reloc_for_imm16 (fix, &val);
-
-      /* Insert the immediate.  */
-      if (fix->fx_addsy)
-       fix->fx_done = 0;
-      else
-       {
-         insn |= val & 0xffff;
-         bfd_putl32 (insn, buf);
-         fix->fx_r_type = BFD_RELOC_NONE;
-         fix->fx_done = 1;
-       }
-    }
-  else if (fup & OP_IMM_U16)
-    abort ();
-
-  else if (fup & OP_IMM_SPLIT16)
-    {
-      fix->fx_r_type = obtain_reloc_for_imm16 (fix, &val);
-
-      /* Insert the immediate.  */
-      if (fix->fx_addsy)
-       fix->fx_done = 0;
-      else
-       {
-         insn |= val & 0x7ff;
-         insn |= (val & 0xf800) << 5;
-         bfd_putl32 (insn, buf);
-         fix->fx_r_type = BFD_RELOC_NONE;
-         fix->fx_done = 1;
-       }
-    }
-  else if (fup & OP_IMM_BR16)
-    {
-      if (val & 0x3)
-       as_bad_where (fix->fx_file, fix->fx_line,
-                     _("A branch offset requires 0 MOD 4 alignment"));
-
-      val = val >> 2;
-
-      /* Insert the immediate.  */
-      if (fix->fx_addsy)
-       {
-         fix->fx_done = 0;
-         fix->fx_r_type = BFD_RELOC_860_PC16;
-       }
-      else
-       {
-         insn |= (val & 0x7ff);
-         insn |= ((val & 0xf800) << 5);
-         bfd_putl32 (insn, buf);
-         fix->fx_r_type = BFD_RELOC_NONE;
-         fix->fx_done = 1;
-       }
-    }
-  else if (fup & OP_IMM_BR26)
-    {
-      if (val & 0x3)
-       as_bad_where (fix->fx_file, fix->fx_line,
-                     _("A branch offset requires 0 MOD 4 alignment"));
-
-      val >>= 2;
-
-      /* Insert the immediate.  */
-      if (fix->fx_addsy)
-       {
-         fix->fx_r_type = BFD_RELOC_860_PC26;
-         fix->fx_done = 0;
-       }
-      else
-       {
-         insn |= (val & 0x3ffffff);
-         bfd_putl32 (insn, buf);
-         fix->fx_r_type = BFD_RELOC_NONE;
-         fix->fx_done = 1;
-       }
-    }
-  else if (fup != OP_NONE)
-    {
-      as_bad_where (fix->fx_file, fix->fx_line,
-                   _("Unrecognized fix-up (0x%08lx)"), (unsigned long) fup);
-      abort ();
-    }
-  else
-    {
-      /* I believe only fix-ups such as ".long .ep.main-main+0xc8000000"
-        reach here (???).  */
-      if (fix->fx_addsy)
-       {
-         fix->fx_r_type = BFD_RELOC_32;
-         fix->fx_done = 0;
-       }
-      else
-       {
-         insn |= (val & 0xffffffff);
-         bfd_putl32 (insn, buf);
-         fix->fx_r_type = BFD_RELOC_NONE;
-         fix->fx_done = 1;
-       }
-    }
-}
-
-/* Generate a machine dependent reloc from a fixup.  */
-arelent*
-tc_gen_reloc (asection *section ATTRIBUTE_UNUSED,
-             fixS *fixp)
-{
-  arelent *reloc;
-
-  reloc = XNEW (arelent);
-  reloc->sym_ptr_ptr = XNEW (asymbol *);
-  *reloc->sym_ptr_ptr = symbol_get_bfdsym (fixp->fx_addsy);
-  reloc->address = fixp->fx_frag->fr_address + fixp->fx_where;
-  reloc->addend = fixp->fx_offset;
-  reloc->howto = bfd_reloc_type_lookup (stdoutput, fixp->fx_r_type);
-
-  if (! reloc->howto)
-    {
-      as_bad_where (fixp->fx_file, fixp->fx_line,
-                    "Cannot represent %s relocation in object file",
-                    bfd_get_reloc_code_name (fixp->fx_r_type));
-    }
-  return reloc;
-}
-
-/* This is called from HANDLE_ALIGN in write.c.  Fill in the contents
-   of an rs_align_code fragment.  */
-
-void
-i860_handle_align (fragS *fragp)
-{
-  /* Instructions are always stored little-endian on the i860.  */
-  static const unsigned char le_nop[] = { 0x00, 0x00, 0x00, 0xA0 };
-
-  int bytes;
-  char *p;
-
-  if (fragp->fr_type != rs_align_code)
-    return;
-
-  bytes = fragp->fr_next->fr_address - fragp->fr_address - fragp->fr_fix;
-  p = fragp->fr_literal + fragp->fr_fix;
-
-  /* Make sure we are on a 4-byte boundary, in case someone has been
-     putting data into a text section.  */
-  if (bytes & 3)
-    {
-      int fix = bytes & 3;
-      memset (p, 0, fix);
-      p += fix;
-      fragp->fr_fix += fix;
-    }
-
-  memcpy (p, le_nop, 4);
-  fragp->fr_var = 4;
-}
-
-/* This is called after a user-defined label is seen.  We check
-   if the label has a double colon (valid in Intel syntax mode only),
-   in which case it should be externalized.  */
-
-void
-i860_check_label (symbolS *labelsym)
-{
-  /* At this point, the current line pointer is sitting on the character
-     just after the first colon on the label.  */
-  if (target_intel_syntax && *input_line_pointer == ':')
-    {
-      S_SET_EXTERNAL (labelsym);
-      input_line_pointer++;
-    }
-}
diff --git a/gas/config/tc-i860.h b/gas/config/tc-i860.h
deleted file mode 100644 (file)
index a63f82f..0000000
+++ /dev/null
@@ -1,95 +0,0 @@
-/* tc-i860.h -- Header file for the i860.
-   Copyright (C) 1991-2018 Free Software Foundation, Inc.
-
-   Brought back from the dead and completely reworked
-   by Jason Eckhardt <jle@cygnus.com>.
-
-   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 3, 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, 51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA.  */
-
-#ifndef TC_I860
-#define TC_I860 1
-
-enum i860_fix_info
-{
-  OP_NONE       = 0x00000,
-  OP_IMM_U5     = 0x00001,
-  OP_IMM_S16    = 0x00002,
-  OP_IMM_U16    = 0x00004,
-  OP_IMM_SPLIT16 = 0x00008,
-  OP_IMM_BR26   = 0x00010,
-  OP_IMM_BR16   = 0x00020,
-  OP_ENCODE1    = 0x00040,
-  OP_ENCODE2    = 0x00080,
-  OP_ENCODE3    = 0x00100,
-  OP_SEL_HA     = 0x00200,
-  OP_SEL_H      = 0x00400,
-  OP_SEL_L      = 0x00800,
-  OP_SEL_GOT    = 0x01000,
-  OP_SEL_GOTOFF         = 0x02000,
-  OP_SEL_PLT    = 0x04000,
-  OP_ALIGN2     = 0x08000,
-  OP_ALIGN4     = 0x10000,
-  OP_ALIGN8     = 0x20000,
-  OP_ALIGN16    = 0x40000
-};
-
-/* Set the endianness we are using.  Default to little endian.  */
-#ifndef TARGET_BYTES_BIG_ENDIAN
-#define TARGET_BYTES_BIG_ENDIAN 0
-#endif
-
-/* Whether or not the target is big endian.  */
-extern int target_big_endian;
-
-/* BFD target architecture.  */
-#define TARGET_ARCH     bfd_arch_i860
-
-/* The target BFD format.  */
-#ifdef OBJ_ELF
-#define TARGET_FORMAT (target_big_endian ? "elf32-i860" : "elf32-i860-little")
-#else
-#error i860 GAS currently supports only the ELF object format
-#endif
-
-#define WORKING_DOT_WORD
-#define DIFF_EXPR_OK
-
-/* Permit temporary numeric labels.  */
-#define LOCAL_LABELS_FB                1
-#define LISTING_HEADER         "GAS for i860"
-
-#define md_convert_frag(b,s,f)  abort ()
-
-/* Values passed to md_apply_fix don't include the symbol value.  */
-#define MD_APPLY_SYM_VALUE(FIX) 0
-
-/* No shared lib support, so we don't need to ensure externally
-   visible symbols can be overridden.  */
-#define EXTERN_FORCE_RELOC 0
-
-/* Bits for post-processing of a user defined label to check if
-   it has a double colon (Intel syntax only).  */
-extern void i860_check_label (symbolS *labelsym);
-#define tc_check_label(ls)     i860_check_label (ls)
-
-/* Bits for filling in rs_align_code fragments with NOPs.  */
-extern void i860_handle_align (struct frag *);
-#define HANDLE_ALIGN(fragp) i860_handle_align (fragp)
-
-#define MAX_MEM_FOR_RS_ALIGN_CODE  (3 + 4 + 4)
-
-#endif /* TC_I860 */
diff --git a/gas/config/tc-i960.c b/gas/config/tc-i960.c
deleted file mode 100644 (file)
index e6f7504..0000000
+++ /dev/null
@@ -1,2667 +0,0 @@
-/* tc-i960.c - All the i80960-specific stuff
-   Copyright (C) 1989-2018 Free Software Foundation, Inc.
-
-   This file is part of GAS.
-
-   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 3, 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, 51 Franklin Street - Fifth Floor, Boston, MA
-   02110-1301, USA.  */
-
-/* See comment on md_parse_option for 80960-specific invocation options.  */
-
-/* There are 4 different lengths of (potentially) symbol-based displacements
-   in the 80960 instruction set, each of which could require address fix-ups
-   and (in the case of external symbols) emission of relocation directives:
-
-   32-bit (MEMB)
-        This is a standard length for the base assembler and requires no
-        special action.
-
-   13-bit (COBR)
-        This is a non-standard length, but the base assembler has a
-        hook for bit field address fixups: the fixS structure can
-        point to a descriptor of the field, in which case our
-        md_number_to_field() routine gets called to process it.
-
-        I made the hook a little cleaner by having fix_new() (in the base
-        assembler) return a pointer to the fixS in question.  And I made it a
-        little simpler by storing the field size (in this case 13) instead of
-        of a pointer to another structure:  80960 displacements are ALWAYS
-        stored in the low-order bits of a 4-byte word.
-
-        Since the target of a COBR cannot be external, no relocation
-        directives for this size displacement have to be generated.
-        But the base assembler had to be modified to issue error
-        messages if the symbol did turn out to be external.
-
-   24-bit (CTRL)
-        Fixups are handled as for the 13-bit case (except that 24 is stored
-        in the fixS).
-
-        The relocation directive generated is the same as that for the 32-bit
-        displacement, except that it's PC-relative (the 32-bit displacement
-        never is).   The i80960 version of the linker needs a mod to
-        distinguish and handle the 24-bit case.
-
-   12-bit (MEMA)
-        MEMA formats are always promoted to MEMB (32-bit) if the displacement
-        is based on a symbol, because it could be relocated at link time.
-        The only time we use the 12-bit format is if an absolute value of
-        less than 4096 is specified, in which case we need neither a fixup nor
-        a relocation directive.  */
-
-#include "as.h"
-
-#include "safe-ctype.h"
-
-#include "opcode/i960.h"
-
-#if defined (OBJ_AOUT) || defined (OBJ_BOUT)
-
-#define TC_S_IS_SYSPROC(s)     ((1 <= S_GET_OTHER (s)) && (S_GET_OTHER (s) <= 32))
-#define TC_S_IS_BALNAME(s)     (S_GET_OTHER (s) == N_BALNAME)
-#define TC_S_IS_CALLNAME(s)    (S_GET_OTHER (s) == N_CALLNAME)
-#define TC_S_IS_BADPROC(s)     ((S_GET_OTHER (s) != 0) && !TC_S_IS_CALLNAME (s) && !TC_S_IS_BALNAME (s) && !TC_S_IS_SYSPROC (s))
-
-#define TC_S_SET_SYSPROC(s, p) (S_SET_OTHER ((s), (p) + 1))
-#define TC_S_GET_SYSPROC(s)    (S_GET_OTHER (s) - 1)
-
-#define TC_S_FORCE_TO_BALNAME(s)       (S_SET_OTHER ((s), N_BALNAME))
-#define TC_S_FORCE_TO_CALLNAME(s)      (S_SET_OTHER ((s), N_CALLNAME))
-#define TC_S_FORCE_TO_SYSPROC(s)       {;}
-
-#else /* ! OBJ_A/BOUT */
-#ifdef OBJ_COFF
-
-#define TC_S_IS_SYSPROC(s)     (S_GET_STORAGE_CLASS (s) == C_SCALL)
-#define TC_S_IS_BALNAME(s)     (SF_GET_BALNAME (s))
-#define TC_S_IS_CALLNAME(s)    (SF_GET_CALLNAME (s))
-#define TC_S_IS_BADPROC(s)     (TC_S_IS_SYSPROC (s) && TC_S_GET_SYSPROC (s) < 0 && 31 < TC_S_GET_SYSPROC (s))
-
-#define TC_S_SET_SYSPROC(s, p) ((s)->sy_symbol.ost_auxent[1].x_sc.x_stindx = (p))
-#define TC_S_GET_SYSPROC(s)    ((s)->sy_symbol.ost_auxent[1].x_sc.x_stindx)
-
-#define TC_S_FORCE_TO_BALNAME(s)       (SF_SET_BALNAME (s))
-#define TC_S_FORCE_TO_CALLNAME(s)      (SF_SET_CALLNAME (s))
-#define TC_S_FORCE_TO_SYSPROC(s)       (S_SET_STORAGE_CLASS ((s), C_SCALL))
-
-#else /* ! OBJ_COFF */
-#ifdef OBJ_ELF
-#define TC_S_IS_SYSPROC(s)     0
-
-#define TC_S_IS_BALNAME(s)     0
-#define TC_S_IS_CALLNAME(s)    0
-#define TC_S_IS_BADPROC(s)     0
-
-#define TC_S_SET_SYSPROC(s, p)
-#define TC_S_GET_SYSPROC(s)     0
-
-#define TC_S_FORCE_TO_BALNAME(s)
-#define TC_S_FORCE_TO_CALLNAME(s)
-#define TC_S_FORCE_TO_SYSPROC(s)
-#else
- #error COFF, a.out, b.out, and ELF are the only supported formats.
-#endif /* ! OBJ_ELF */
-#endif /* ! OBJ_COFF */
-#endif /* ! OBJ_A/BOUT */
-
-extern char *input_line_pointer;
-
-/* Local i80960 routines.  */
-struct memS;
-struct regop;
-
-/* See md_parse_option() for meanings of these options.  */
-static char norelax;                   /* True if -norelax switch seen.  */
-static char instrument_branches;       /* True if -b switch seen.  */
-
-/* Characters that always start a comment.
-   If the pre-processor is disabled, these aren't very useful.  */
-const char comment_chars[] = "#";
-
-/* Characters that only start a comment at the beginning of
-   a line.  If the line seems to have the form '# 123 filename'
-   .line and .file directives will appear in the pre-processed output.
-
-   Note that input_file.c hand checks for '#' at the beginning of the
-   first line of the input file.  This is because the compiler outputs
-   #NO_APP at the beginning of its output.  */
-
-/* Also note that comments started like this one will always work.  */
-
-const char line_comment_chars[]   = "#";
-const char line_separator_chars[] = ";";
-
-/* Chars that can be used to separate mant from exp in floating point nums.  */
-const char EXP_CHARS[] = "eE";
-
-/* Chars that mean this number is a floating point constant,
-   as in 0f12.456 or 0d1.2345e12.  */
-const char FLT_CHARS[] = "fFdDtT";
-
-/* Table used by base assembler to relax addresses based on varying length
-   instructions.  The fields are:
-     1) most positive reach of this state,
-     2) most negative reach of this state,
-     3) how many bytes this mode will add to the size of the current frag
-     4) which index into the table to try if we can't fit into this one.
-
-   For i80960, the only application is the (de-)optimization of cobr
-   instructions into separate compare and branch instructions when a 13-bit
-   displacement won't hack it.  */
-const relax_typeS md_relax_table[] =
-{
-  {0, 0, 0, 0},                                /* State 0 => no more relaxation possible.  */
-  {4088, -4096, 0, 2},                 /* State 1: conditional branch (cobr).  */
-  {0x800000 - 8, -0x800000, 4, 0},     /* State 2: compare (reg) & branch (ctrl).  */
-};
-
-/* These are the machine dependent pseudo-ops.
-
-   This table describes all the machine specific pseudo-ops the assembler
-   has to support.  The fields are:
-        pseudo-op name without dot
-        function to call to execute this pseudo-op
-        integer arg to pass to the function.  */
-#define S_LEAFPROC     1
-#define S_SYSPROC      2
-
-/* Macros to extract info from an 'expressionS' structure 'e'.  */
-#define adds(e)        e.X_add_symbol
-#define offs(e)        e.X_add_number
-
-/* Branch-prediction bits for CTRL/COBR format opcodes.  */
-#define BP_MASK                0x00000002      /* Mask for branch-prediction bit.  */
-#define BP_TAKEN       0x00000000      /* Value to OR in to predict branch.  */
-#define BP_NOT_TAKEN   0x00000002      /* Value to OR in to predict no branch.  */
-
-/* Some instruction opcodes that we need explicitly.  */
-#define BE     0x12000000
-#define BG     0x11000000
-#define BGE    0x13000000
-#define BL     0x14000000
-#define BLE    0x16000000
-#define BNE    0x15000000
-#define BNO    0x10000000
-#define BO     0x17000000
-#define CHKBIT 0x5a002700
-#define CMPI   0x5a002080
-#define CMPO   0x5a002000
-
-#define B      0x08000000
-#define BAL    0x0b000000
-#define CALL   0x09000000
-#define CALLS  0x66003800
-#define RET    0x0a000000
-
-/* These masks are used to build up a set of MEMB mode bits.  */
-#define        A_BIT           0x0400
-#define        I_BIT           0x0800
-#define MEMB_BIT       0x1000
-#define        D_BIT           0x2000
-
-/* Mask for the only mode bit in a MEMA instruction (if set, abase reg is
-   used).  */
-#define MEMA_ABASE     0x2000
-
-/* Info from which a MEMA or MEMB format instruction can be generated.  */
-typedef struct memS
-  {
-    /* (First) 32 bits of instruction.  */
-    long opcode;
-    /* 0-(none), 12- or, 32-bit displacement needed.  */
-    int disp;
-    /* The expression in the source instruction from which the
-       displacement should be determined.  */
-    char *e;
-  }
-memS;
-
-/* The two pieces of info we need to generate a register operand.  */
-struct regop
-  {
-    int mode;                  /* 0 =>local/global/spec reg; 1=> literal or fp reg.  */
-    int special;               /* 0 =>not a sfr;  1=> is a sfr (not valid w/mode=0).  */
-    int n;                     /* Register number or literal value.  */
-  };
-
-/* Number and assembler mnemonic for all registers that can appear in
-   operands.  */
-static const struct
-  {
-    const char *reg_name;
-    int reg_num;
-  }
-regnames[] =
-{
-  { "pfp", 0 },
-  { "sp", 1 },
-  { "rip", 2 },
-  { "r3", 3 },
-  { "r4", 4 },
-  { "r5", 5 },
-  { "r6", 6 },
-  { "r7", 7 },
-  { "r8", 8 },
-  { "r9", 9 },
-  { "r10", 10 },
-  { "r11", 11 },
-  { "r12", 12 },
-  { "r13", 13 },
-  { "r14", 14 },
-  { "r15", 15 },
-  { "g0", 16 },
-  { "g1", 17 },
-  { "g2", 18 },
-  { "g3", 19 },
-  { "g4", 20 },
-  { "g5", 21 },
-  { "g6", 22 },
-  { "g7", 23 },
-  { "g8", 24 },
-  { "g9", 25 },
-  { "g10", 26 },
-  { "g11", 27 },
-  { "g12", 28 },
-  { "g13", 29 },
-  { "g14", 30 },
-  { "fp", 31 },
-
-  /* Numbers for special-function registers are for assembler internal
-     use only: they are scaled back to range [0-31] for binary output.  */
-#define SF0    32
-
-  { "sf0", 32 },
-  { "sf1", 33 },
-  { "sf2", 34 },
-  { "sf3", 35 },
-  { "sf4", 36 },
-  { "sf5", 37 },
-  { "sf6", 38 },
-  { "sf7", 39 },
-  { "sf8", 40 },
-  { "sf9", 41 },
-  { "sf10", 42 },
-  { "sf11", 43 },
-  { "sf12", 44 },
-  { "sf13", 45 },
-  { "sf14", 46 },
-  { "sf15", 47 },
-  { "sf16", 48 },
-  { "sf17", 49 },
-  { "sf18", 50 },
-  { "sf19", 51 },
-  { "sf20", 52 },
-  { "sf21", 53 },
-  { "sf22", 54 },
-  { "sf23", 55 },
-  { "sf24", 56 },
-  { "sf25", 57 },
-  { "sf26", 58 },
-  { "sf27", 59 },
-  { "sf28", 60 },
-  { "sf29", 61 },
-  { "sf30", 62 },
-  { "sf31", 63 },
-
-  /* Numbers for floating point registers are for assembler internal
-     use only: they are scaled back to [0-3] for binary output.  */
-#define FP0    64
-
-  { "fp0", 64 },
-  { "fp1", 65 },
-  { "fp2", 66 },
-  { "fp3", 67 },
-
-  { NULL, 0 },                         /* END OF LIST */
-};
-
-#define        IS_RG_REG(n)    ((0 <= (n)) && ((n) < SF0))
-#define        IS_SF_REG(n)    ((SF0 <= (n)) && ((n) < FP0))
-#define        IS_FP_REG(n)    ((n) >= FP0)
-
-/* Number and assembler mnemonic for all registers that can appear as
-   'abase' (indirect addressing) registers.  */
-static const struct
-{
-  const char *areg_name;
-  int areg_num;
-}
-aregs[] =
-{
-  { "(pfp)", 0 },
-  { "(sp)", 1 },
-  { "(rip)", 2 },
-  { "(r3)", 3 },
-  { "(r4)", 4 },
-  { "(r5)", 5 },
-  { "(r6)", 6 },
-  { "(r7)", 7 },
-  { "(r8)", 8 },
-  { "(r9)", 9 },
-  { "(r10)", 10 },
-  { "(r11)", 11 },
-  { "(r12)", 12 },
-  { "(r13)", 13 },
-  { "(r14)", 14 },
-  { "(r15)", 15 },
-  { "(g0)", 16 },
-  { "(g1)", 17 },
-  { "(g2)", 18 },
-  { "(g3)", 19 },
-  { "(g4)", 20 },
-  { "(g5)", 21 },
-  { "(g6)", 22 },
-  { "(g7)", 23 },
-  { "(g8)", 24 },
-  { "(g9)", 25 },
-  { "(g10)", 26 },
-  { "(g11)", 27 },
-  { "(g12)", 28 },
-  { "(g13)", 29 },
-  { "(g14)", 30 },
-  { "(fp)", 31 },
-
-#define IPREL  32
-  /* For assembler internal use only: this number never appears in binary
-     output.  */
-  { "(ip)", IPREL },
-
-  { NULL, 0 },                         /* END OF LIST */
-};
-
-/* Hash tables.  */
-static struct hash_control *op_hash;   /* Opcode mnemonics.  */
-static struct hash_control *reg_hash;  /* Register name hash table.  */
-static struct hash_control *areg_hash; /* Abase register hash table.  */
-
-/* Architecture for which we are assembling.  */
-#define ARCH_ANY       0       /* Default: no architecture checking done.  */
-#define ARCH_KA                1
-#define ARCH_KB                2
-#define ARCH_MC                3
-#define ARCH_CA                4
-#define ARCH_JX                5
-#define ARCH_HX                6
-int architecture = ARCH_ANY;   /* Architecture requested on invocation line.  */
-int iclasses_seen;             /* OR of instruction classes (I_* constants)
-                                     for which we've actually assembled
-                                       instructions.  */
-
-/* BRANCH-PREDICTION INSTRUMENTATION
-
-        The following supports generation of branch-prediction instrumentation
-        (turned on by -b switch).  The instrumentation collects counts
-        of branches taken/not-taken for later input to a utility that will
-        set the branch prediction bits of the instructions in accordance with
-        the behavior observed.  (Note that the KX series does not have
-        branch-prediction.)
-
-        The instrumentation consists of:
-
-        (1) before and after each conditional branch, a call to an external
-            routine that increments and steps over an inline counter.  The
-            counter itself, initialized to 0, immediately follows the call
-            instruction.  For each branch, the counter following the branch
-            is the number of times the branch was not taken, and the difference
-            between the counters is the number of times it was taken.  An
-            example of an instrumented conditional branch:
-
-                                call    BR_CNT_FUNC
-                                .word   0
-                LBRANCH23:      be      label
-                                call    BR_CNT_FUNC
-                                .word   0
-
-        (2) a table of pointers to the instrumented branches, so that an
-            external postprocessing routine can locate all of the counters.
-            the table begins with a 2-word header: a pointer to the next in
-            a linked list of such tables (initialized to 0);  and a count
-            of the number of entries in the table (exclusive of the header.
-
-            Note that input source code is expected to already contain calls
-            an external routine that will link the branch local table into a
-            list of such tables.  */
-
-/* Number of branches instrumented so far.  Also used to generate
-   unique local labels for each instrumented branch.  */
-static int br_cnt;
-
-#define BR_LABEL_BASE  "LBRANCH"
-/* Basename of local labels on instrumented branches, to avoid
-   conflict with compiler- generated local labels.  */
-
-#define BR_CNT_FUNC    "__inc_branch"
-/* Name of the external routine that will increment (and step over) an
-   inline counter.  */
-
-#define BR_TAB_NAME    "__BRANCH_TABLE__"
-/* Name of the table of pointers to branches.  A local (i.e.,
-   non-external) symbol.  */
-
-static void ctrl_fmt (const char *, long, int);
-
-\f
-void
-md_begin (void)
-{
-  int i;                       /* Loop counter.  */
-  const struct i960_opcode *oP;        /* Pointer into opcode table.  */
-  const char *retval;          /* Value returned by hash functions.  */
-
-  op_hash = hash_new ();
-  reg_hash = hash_new ();
-  areg_hash = hash_new ();
-
-  /* For some reason, the base assembler uses an empty string for "no
-     error message", instead of a NULL pointer.  */
-  retval = 0;
-
-  for (oP = i960_opcodes; oP->name && !retval; oP++)
-    retval = hash_insert (op_hash, oP->name, (void *) oP);
-
-  for (i = 0; regnames[i].reg_name && !retval; i++)
-    retval = hash_insert (reg_hash, regnames[i].reg_name,
-                         (char *) &regnames[i].reg_num);
-
-  for (i = 0; aregs[i].areg_name && !retval; i++)
-    retval = hash_insert (areg_hash, aregs[i].areg_name,
-                         (char *) &aregs[i].areg_num);
-
-  if (retval)
-    as_fatal (_("Hashing returned \"%s\"."), retval);
-}
-
-/* parse_expr:         parse an expression
-
-   Use base assembler's expression parser to parse an expression.
-   It, unfortunately, runs off a global which we have to save/restore
-   in order to make it work for us.
-
-   An empty expression string is treated as an absolute 0.
-
-   Sets O_illegal regardless of expression evaluation if entire input
-   string is not consumed in the evaluation -- tolerate no dangling junk!  */
-
-static void
-parse_expr (const char *textP,         /* Text of expression to be parsed.  */
-           expressionS *expP)          /* Where to put the results of parsing.  */
-{
-  char *save_in;               /* Save global here.  */
-  symbolS *symP;
-
-  know (textP);
-
-  if (*textP == '\0')
-    {
-      /* Treat empty string as absolute 0.  */
-      expP->X_add_symbol = expP->X_op_symbol = NULL;
-      expP->X_add_number = 0;
-      expP->X_op = O_constant;
-    }
-  else
-    {
-      save_in = input_line_pointer;    /* Save global.  */
-      input_line_pointer = (char *) textP;     /* Make parser work for us.  */
-
-      (void) expression (expP);
-      if ((size_t) (input_line_pointer - textP) != strlen (textP))
-       /* Did not consume all of the input.  */
-       expP->X_op = O_illegal;
-
-      symP = expP->X_add_symbol;
-      if (symP && (hash_find (reg_hash, S_GET_NAME (symP))))
-       /* Register name in an expression.  */
-       /* FIXME: this isn't much of a check any more.  */
-       expP->X_op = O_illegal;
-
-      input_line_pointer = save_in;    /* Restore global.  */
-    }
-}
-
-/* emit:       output instruction binary
-
-   Output instruction binary, in target byte order, 4 bytes at a time.
-   Return pointer to where it was placed.  */
-
-static char *
-emit (long instr)              /* Word to be output, host byte order.  */
-{
-  char *toP;                   /* Where to output it.  */
-
-  toP = frag_more (4);         /* Allocate storage.  */
-  md_number_to_chars (toP, instr, 4);  /* Convert to target byte order.  */
-  return toP;
-}
-
-/* get_cdisp:  handle displacement for a COBR or CTRL instruction.
-
-   Parse displacement for a COBR or CTRL instruction.
-
-   If successful, output the instruction opcode and set up for it,
-   depending on the arg 'var_frag', either:
-           o an address fixup to be done when all symbol values are known, or
-           o a varying length code fragment, with address fixup info.  This
-               will be done for cobr instructions that may have to be relaxed
-               in to compare/branch instructions (8 bytes) if the final
-               address displacement is greater than 13 bits.  */
-
-static void
-get_cdisp (const char *dispP, /* Displacement as specified in source instruction.  */
-          const char *ifmtP, /* "COBR" or "CTRL" (for use in error message).  */
-          long instr,  /* Instruction needing the displacement.  */
-          int numbits, /* # bits of displacement (13 for COBR, 24 for CTRL).  */
-          int var_frag,/* 1 if varying length code fragment should be emitted;
-                          0 if an address fix should be emitted.  */
-          int callj)   /* 1 if callj relocation should be done; else 0.  */
-{
-  expressionS e;               /* Parsed expression.  */
-  fixS *fixP;                  /* Structure describing needed address fix.  */
-  char *outP;                  /* Where instruction binary is output to.  */
-
-  fixP = NULL;
-
-  parse_expr (dispP, &e);
-  switch (e.X_op)
-    {
-    case O_illegal:
-      as_bad (_("expression syntax error"));
-      break;
-
-    case O_symbol:
-      if (S_GET_SEGMENT (e.X_add_symbol) == now_seg
-         || S_GET_SEGMENT (e.X_add_symbol) == undefined_section)
-       {
-         if (var_frag)
-           {
-             outP = frag_more (8);     /* Allocate worst-case storage.  */
-             md_number_to_chars (outP, instr, 4);
-             frag_variant (rs_machine_dependent, 4, 4, 1,
-                           adds (e), offs (e), outP);
-           }
-         else
-           {
-             /* Set up a new fix structure, so address can be updated
-                when all symbol values are known.  */
-             outP = emit (instr);
-             fixP = fix_new (frag_now,
-                             outP - frag_now->fr_literal,
-                             4,
-                             adds (e),
-                             offs (e),
-                             1,
-                             NO_RELOC);
-
-             fixP->fx_tcbit = callj;
-
-             /* We want to modify a bit field when the address is
-                known.  But we don't need all the garbage in the
-                bit_fix structure.  So we're going to lie and store
-                the number of bits affected instead of a pointer.  */
-             fixP->fx_bit_fixP = (bit_fixS *) (size_t) numbits;
-           }
-       }
-      else
-       as_bad (_("attempt to branch into different segment"));
-      break;
-
-    default:
-      as_bad (_("target of %s instruction must be a label"), ifmtP);
-      break;
-    }
-}
-
-static int
-md_chars_to_number (char * val,                /* Value in target byte order.  */
-                   int n)              /* Number of bytes in the input.  */
-{
-  int retval;
-
-  for (retval = 0; n--;)
-    {
-      retval <<= 8;
-      retval |= (unsigned char) val[n];
-    }
-  return retval;
-}
-
-/* mema_to_memb:       convert a MEMA-format opcode to a MEMB-format opcode.
-
-   There are 2 possible MEMA formats:
-       - displacement only
-       - displacement + abase
-
-   They are distinguished by the setting of the MEMA_ABASE bit.  */
-
-static void
-mema_to_memb (char * opcodeP)  /* Where to find the opcode, in target byte order.  */
-{
-  long opcode;                 /* Opcode in host byte order.  */
-  long mode;                   /* Mode bits for MEMB instruction.  */
-
-  opcode = md_chars_to_number (opcodeP, 4);
-  know (!(opcode & MEMB_BIT));
-
-  mode = MEMB_BIT | D_BIT;
-  if (opcode & MEMA_ABASE)
-    mode |= A_BIT;
-
-  opcode &= 0xffffc000;                /* Clear MEMA offset and mode bits.  */
-  opcode |= mode;              /* Set MEMB mode bits.  */
-
-  md_number_to_chars (opcodeP, opcode, 4);
-}
-
-/* targ_has_sfr:
-
-   Return TRUE iff the target architecture supports the specified
-   special-function register (sfr).  */
-
-static int
-targ_has_sfr (int n)           /* Number (0-31) of sfr.  */
-{
-  switch (architecture)
-    {
-    case ARCH_KA:
-    case ARCH_KB:
-    case ARCH_MC:
-    case ARCH_JX:
-      return 0;
-    case ARCH_HX:
-      return ((0 <= n) && (n <= 4));
-    case ARCH_CA:
-    default:
-      return ((0 <= n) && (n <= 2));
-    }
-}
-
-/* Look up a (suspected) register name in the register table and return the
-   associated register number (or -1 if not found).  */
-
-static int
-get_regnum (char *regname)     /* Suspected register name.  */
-{
-  int *rP;
-
-  rP = (int *) hash_find (reg_hash, regname);
-  return (rP == NULL) ? -1 : *rP;
-}
-
-/* syntax: Issue a syntax error.  */
-
-static void
-syntax (void)
-{
-  as_bad (_("syntax error"));
-}
-
-/* parse_regop: parse a register operand.
-
-   In case of illegal operand, issue a message and return some valid
-   information so instruction processing can continue.  */
-
-static void
-parse_regop (struct regop *regopP,     /* Where to put description of register operand.  */
-            char *optext,              /* Text of operand.  */
-            char opdesc)               /* Descriptor byte:  what's legal for this operand.  */
-{
-  int n;                       /* Register number.  */
-  expressionS e;               /* Parsed expression.  */
-
-  /* See if operand is a register.  */
-  n = get_regnum (optext);
-  if (n >= 0)
-    {
-      if (IS_RG_REG (n))
-       {
-         /* Global or local register.  */
-         if (!REG_ALIGN (opdesc, n))
-           as_bad (_("unaligned register"));
-
-         regopP->n = n;
-         regopP->mode = 0;
-         regopP->special = 0;
-         return;
-       }
-      else if (IS_FP_REG (n) && FP_OK (opdesc))
-       {
-         /* Floating point register, and it's allowed.  */
-         regopP->n = n - FP0;
-         regopP->mode = 1;
-         regopP->special = 0;
-         return;
-       }
-      else if (IS_SF_REG (n) && SFR_OK (opdesc))
-       {
-         /* Special-function register, and it's allowed.  */
-         regopP->n = n - SF0;
-         regopP->mode = 0;
-         regopP->special = 1;
-         if (!targ_has_sfr (regopP->n))
-           as_bad (_("no such sfr in this architecture"));
-
-         return;
-       }
-    }
-  else if (LIT_OK (opdesc))
-    {
-      /* How about a literal?  */
-      regopP->mode = 1;
-      regopP->special = 0;
-      if (FP_OK (opdesc))
-       {
-         /* Floating point literal acceptable.  */
-         /* Skip over 0f, 0d, or 0e prefix.  */
-         if ((optext[0] == '0')
-             && (optext[1] >= 'd')
-             && (optext[1] <= 'f'))
-           optext += 2;
-
-         if (!strcmp (optext, "0.0") || !strcmp (optext, "0"))
-           {
-             regopP->n = 0x10;
-             return;
-           }
-
-         if (!strcmp (optext, "1.0") || !strcmp (optext, "1"))
-           {
-             regopP->n = 0x16;
-             return;
-           }
-       }
-      else
-       {
-         /* Fixed point literal acceptable.  */
-         parse_expr (optext, &e);
-         if (e.X_op != O_constant
-             || (offs (e) < 0) || (offs (e) > 31))
-           {
-             as_bad (_("illegal literal"));
-             offs (e) = 0;
-           }
-         regopP->n = offs (e);
-         return;
-       }
-    }
-
-  /* Nothing worked.  */
-  syntax ();
-  regopP->mode = 0;            /* Register r0 is always a good one.  */
-  regopP->n = 0;
-  regopP->special = 0;
-}
-
-/* get_ispec:  parse a memory operand for an index specification
-
-   Here, an "index specification" is taken to be anything surrounded
-   by square brackets and NOT followed by anything else.
-
-   If it's found, detach it from the input string, remove the surrounding
-   square brackets, and return a pointer to it.  Otherwise, return NULL.  */
-
-static char *
-get_ispec (char *textP)  /* Pointer to memory operand from source instruction, no white space.  */
-
-{
-  /* Points to start of index specification.  */
-  char *start;
-  /* Points to end of index specification.  */
-  char *end;
-
-  /* Find opening square bracket, if any.  */
-  start = strchr (textP, '[');
-
-  if (start != NULL)
-    {
-      /* Eliminate '[', detach from rest of operand.  */
-      *start++ = '\0';
-
-      end = strchr (start, ']');
-
-      if (end == NULL)
-       as_bad (_("unmatched '['"));
-      else
-       {
-         /* Eliminate ']' and make sure it was the last thing
-            in the string.  */
-         *end = '\0';
-         if (*(end + 1) != '\0')
-           as_bad (_("garbage after index spec ignored"));
-       }
-    }
-  return start;
-}
-
-/* parse_memop:        parse a memory operand
-
-       This routine is based on the observation that the 4 mode bits of the
-       MEMB format, taken individually, have fairly consistent meaning:
-
-                M3 (bit 13): 1 if displacement is present (D_BIT)
-                M2 (bit 12): 1 for MEMB instructions (MEMB_BIT)
-                M1 (bit 11): 1 if index is present (I_BIT)
-                M0 (bit 10): 1 if abase is present (A_BIT)
-
-       So we parse the memory operand and set bits in the mode as we find
-       things.  Then at the end, if we go to MEMB format, we need only set
-       the MEMB bit (M2) and our mode is built for us.
-
-       Unfortunately, I said "fairly consistent".  The exceptions:
-
-                DBIA
-                0100   Would seem illegal, but means "abase-only".
-
-                0101   Would seem to mean "abase-only" -- it means IP-relative.
-                       Must be converted to 0100.
-
-                0110   Would seem to mean "index-only", but is reserved.
-                       We turn on the D bit and provide a 0 displacement.
-
-       The other thing to observe is that we parse from the right, peeling
-       things * off as we go:  first any index spec, then any abase, then
-       the displacement.  */
-
-static void
-parse_memop (memS *memP,       /* Where to put the results.  */
-            char *argP,        /* Text of the operand to be parsed.  */
-            int optype)        /* MEM1, MEM2, MEM4, MEM8, MEM12, or MEM16.  */
-{
-  char *indexP;                        /* Pointer to index specification with "[]" removed.  */
-  char *p;                     /* Temp char pointer.  */
-  char iprel_flag;             /* True if this is an IP-relative operand.  */
-  int regnum;                  /* Register number.  */
-  /* Scale factor: 1,2,4,8, or 16.  Later converted to internal format
-     (0,1,2,3,4 respectively).  */
-  int scale;
-  int mode;                    /* MEMB mode bits.  */
-  int *intP;                   /* Pointer to register number.  */
-
-  /* The following table contains the default scale factors for each
-     type of memory instruction.  It is accessed using (optype-MEM1)
-     as an index -- thus it assumes the 'optype' constants are
-     assigned consecutive values, in the order they appear in this
-     table.  */
-  static const int def_scale[] =
-  {
-    1,                         /* MEM1 */
-    2,                         /* MEM2 */
-    4,                         /* MEM4 */
-    8,                         /* MEM8 */
-    -1,                                /* MEM12 -- no valid default */
-    16                         /* MEM16 */
-  };
-
-  iprel_flag = mode = 0;
-
-  /* Any index present? */
-  indexP = get_ispec (argP);
-  if (indexP)
-    {
-      p = strchr (indexP, '*');
-      if (p == NULL)
-       {
-         /* No explicit scale -- use default for this instruction
-            type and assembler mode.  */
-         if (flag_mri)
-           scale = 1;
-         else
-           /* GNU960 compatibility */
-           scale = def_scale[optype - MEM1];
-       }
-      else
-       {
-         *p++ = '\0';          /* Eliminate '*' */
-
-         /* Now indexP->a '\0'-terminated register name,
-            and p->a scale factor.  */
-
-         if (!strcmp (p, "16"))
-           scale = 16;
-         else if (strchr ("1248", *p) && (p[1] == '\0'))
-           scale = *p - '0';
-         else
-           scale = -1;
-       }
-
-      regnum = get_regnum (indexP);    /* Get index reg. # */
-      if (!IS_RG_REG (regnum))
-       {
-         as_bad (_("invalid index register"));
-         return;
-       }
-
-      /* Convert scale to its binary encoding.  */
-      switch (scale)
-       {
-       case 1:
-         scale = 0 << 7;
-         break;
-       case 2:
-         scale = 1 << 7;
-         break;
-       case 4:
-         scale = 2 << 7;
-         break;
-       case 8:
-         scale = 3 << 7;
-         break;
-       case 16:
-         scale = 4 << 7;
-         break;
-       default:
-         as_bad (_("invalid scale factor"));
-         return;
-       };
-
-      memP->opcode |= scale | regnum;  /* Set index bits in opcode.  */
-      mode |= I_BIT;                   /* Found a valid index spec.  */
-    }
-
-  /* Any abase (Register Indirect) specification present?  */
-  if ((p = strrchr (argP, '(')) != NULL)
-    {
-      /* "(" is there -- does it start a legal abase spec?  If not, it
-         could be part of a displacement expression.  */
-      intP = (int *) hash_find (areg_hash, p);
-      if (intP != NULL)
-       {
-         /* Got an abase here.  */
-         regnum = *intP;
-         *p = '\0';            /* Discard register spec.  */
-         if (regnum == IPREL)
-           /* We have to special-case ip-rel mode.  */
-           iprel_flag = 1;
-         else
-           {
-             memP->opcode |= regnum << 14;
-             mode |= A_BIT;
-           }
-       }
-    }
-
-  /* Any expression present?  */
-  memP->e = argP;
-  if (*argP != '\0')
-    mode |= D_BIT;
-
-  /* Special-case ip-relative addressing.  */
-  if (iprel_flag)
-    {
-      if (mode & I_BIT)
-       syntax ();
-      else
-       {
-         memP->opcode |= 5 << 10;      /* IP-relative mode.  */
-         memP->disp = 32;
-       }
-      return;
-    }
-
-  /* Handle all other modes.  */
-  switch (mode)
-    {
-    case D_BIT | A_BIT:
-      /* Go with MEMA instruction format for now (grow to MEMB later
-         if 12 bits is not enough for the displacement).  MEMA format
-         has a single mode bit: set it to indicate that abase is
-         present.  */
-      memP->opcode |= MEMA_ABASE;
-      memP->disp = 12;
-      break;
-
-    case D_BIT:
-      /* Go with MEMA instruction format for now (grow to MEMB later
-         if 12 bits is not enough for the displacement).  */
-      memP->disp = 12;
-      break;
-
-    case A_BIT:
-      /* For some reason, the bit string for this mode is not
-         consistent: it should be 0 (exclusive of the MEMB bit), so we
-         set it "by hand" here.  */
-      memP->opcode |= MEMB_BIT;
-      break;
-
-    case A_BIT | I_BIT:
-      /* set MEMB bit in mode, and OR in mode bits.  */
-      memP->opcode |= mode | MEMB_BIT;
-      break;
-
-    case I_BIT:
-      /* Treat missing displacement as displacement of 0.  */
-      mode |= D_BIT;
-      /* Fall through.  */
-    case D_BIT | A_BIT | I_BIT:
-    case D_BIT | I_BIT:
-      /* Set MEMB bit in mode, and OR in mode bits.  */
-      memP->opcode |= mode | MEMB_BIT;
-      memP->disp = 32;
-      break;
-
-    default:
-      syntax ();
-      break;
-    }
-}
-
-/* Generate a MEMA- or MEMB-format instruction.  */
-
-static void
-mem_fmt (char *args[],         /* args[0]->opcode mnemonic, args[1-3]->operands.  */
-        struct i960_opcode *oP,/* Pointer to description of instruction.  */
-        int callx)             /* Is this a callx opcode.  */
-{
-  int i;                       /* Loop counter.  */
-  struct regop regop;          /* Description of register operand.  */
-  char opdesc;                 /* Operand descriptor byte.  */
-  memS instr;                  /* Description of binary to be output.  */
-  char *outP;                  /* Where the binary was output to.  */
-  expressionS exp;             /* Parsed expression.  */
-  /* ->description of deferred address fixup.  */
-  fixS *fixP;
-
-#ifdef OBJ_COFF
-  /* COFF support isn't in place yet for callx relaxing.  */
-  callx = 0;
-#endif
-
-  memset (&instr, '\0', sizeof (memS));
-  instr.opcode = oP->opcode;
-
-  /* Process operands.  */
-  for (i = 1; i <= oP->num_ops; i++)
-    {
-      opdesc = oP->operand[i - 1];
-
-      if (MEMOP (opdesc))
-       parse_memop (&instr, args[i], oP->format);
-      else
-       {
-         parse_regop (&regop, args[i], opdesc);
-         instr.opcode |= regop.n << 19;
-       }
-    }
-
-  /* Parse the displacement; this must be done before emitting the
-     opcode, in case it is an expression using `.'.  */
-  parse_expr (instr.e, &exp);
-
-  /* Output opcode.  */
-  outP = emit (instr.opcode);
-
-  if (instr.disp == 0)
-    return;
-
-  /* Process the displacement.  */
-  switch (exp.X_op)
-    {
-    case O_illegal:
-      as_bad (_("expression syntax error"));
-      break;
-
-    case O_constant:
-      if (instr.disp == 32)
-       (void) emit (offs (exp));       /* Output displacement.  */
-      else
-       {
-         /* 12-bit displacement.  */
-         if (offs (exp) & ~0xfff)
-           {
-             /* Won't fit in 12 bits: convert already-output
-                instruction to MEMB format, output
-                displacement.  */
-             mema_to_memb (outP);
-             (void) emit (offs (exp));
-           }
-         else
-           {
-             /* WILL fit in 12 bits:  OR into opcode and
-                overwrite the binary we already put out.  */
-             instr.opcode |= offs (exp);
-             md_number_to_chars (outP, instr.opcode, 4);
-           }
-       }
-      break;
-
-    default:
-      if (instr.disp == 12)
-       /* Displacement is dependent on a symbol, whose value
-          may change at link time.  We HAVE to reserve 32 bits.
-          Convert already-output opcode to MEMB format.  */
-       mema_to_memb (outP);
-
-      /* Output 0 displacement and set up address fixup for when
-         this symbol's value becomes known.  */
-      outP = emit ((long) 0);
-      fixP = fix_new_exp (frag_now,
-                         outP - frag_now->fr_literal,
-                         4, &exp, 0, NO_RELOC);
-      /* Steve's linker relaxing hack.  Mark this 32-bit relocation as
-         being in the instruction stream, specifically as part of a callx
-         instruction.  */
-      fixP->fx_bsr = callx;
-      break;
-    }
-}
-
-/* targ_has_iclass:
-
-   Return TRUE iff the target architecture supports the indicated
-   class of instructions.  */
-
-static int
-targ_has_iclass (int ic) /* Instruction class;  one of:
-                           I_BASE, I_CX, I_DEC, I_KX, I_FP, I_MIL, I_CASIM, I_CX2, I_HX, I_HX2.  */
-{
-  iclasses_seen |= ic;
-
-  switch (architecture)
-    {
-    case ARCH_KA:
-      return ic & (I_BASE | I_KX);
-    case ARCH_KB:
-      return ic & (I_BASE | I_KX | I_FP | I_DEC);
-    case ARCH_MC:
-      return ic & (I_BASE | I_KX | I_FP | I_DEC | I_MIL);
-    case ARCH_CA:
-      return ic & (I_BASE | I_CX | I_CX2 | I_CASIM);
-    case ARCH_JX:
-      return ic & (I_BASE | I_CX2 | I_JX);
-    case ARCH_HX:
-      return ic & (I_BASE | I_CX2 | I_JX | I_HX);
-    default:
-      if ((iclasses_seen & (I_KX | I_FP | I_DEC | I_MIL))
-         && (iclasses_seen & (I_CX | I_CX2)))
-       {
-         as_warn (_("architecture of opcode conflicts with that of earlier instruction(s)"));
-         iclasses_seen &= ~ic;
-       }
-      return 1;
-    }
-}
-
-/* shift_ok:
-   Determine if a "shlo" instruction can be used to implement a "ldconst".
-   This means that some number X < 32 can be shifted left to produce the
-   constant of interest.
-
-   Return the shift count, or 0 if we can't do it.
-   Caller calculates X by shifting original constant right 'shift' places.  */
-
-static int
-shift_ok (int n)               /* The constant of interest.  */
-{
-  int shift;                   /* The shift count.  */
-
-  if (n <= 0)
-    /* Can't do it for negative numbers.  */
-    return 0;
-
-  /* Shift 'n' right until a 1 is about to be lost.  */
-  for (shift = 0; (n & 1) == 0; shift++)
-    n >>= 1;
-
-  if (n >= 32)
-    return 0;
-
-  return shift;
-}
-
-/* parse_ldcont:
-   Parse and replace a 'ldconst' pseudo-instruction with an appropriate
-   i80960 instruction.
-
-   Assumes the input consists of:
-               arg[0]  opcode mnemonic ('ldconst')
-               arg[1]  first operand (constant)
-               arg[2]  name of register to be loaded
-
-   Replaces opcode and/or operands as appropriate.
-
-   Returns the new number of arguments, or -1 on failure.  */
-
-static int
-parse_ldconst (char *arg[])    /* See above.  */
-{
-  int n;                       /* Constant to be loaded.  */
-  int shift;                   /* Shift count for "shlo" instruction.  */
-  static char buf[5];          /* Literal for first operand.  */
-  static char buf2[5];         /* Literal for second operand.  */
-  expressionS e;               /* Parsed expression.  */
-
-  arg[3] = NULL;               /* So we can tell at the end if it got used or not.  */
-
-  parse_expr (arg[1], &e);
-  switch (e.X_op)
-    {
-    default:
-      /* We're dependent on one or more symbols -- use "lda".  */
-      arg[0] = (char *) "lda";
-      break;
-
-    case O_constant:
-      /* Try the following mappings:
-              ldconst   0,<reg>  -> mov  0,<reg>
-              ldconst  31,<reg>  -> mov  31,<reg>
-              ldconst  32,<reg>  -> addo 1,31,<reg>
-              ldconst  62,<reg>  -> addo 31,31,<reg>
-              ldconst  64,<reg>  -> shlo 8,3,<reg>
-              ldconst  -1,<reg>  -> subo 1,0,<reg>
-              ldconst -31,<reg>  -> subo 31,0,<reg>
-
-         Anything else becomes:
-                lda xxx,<reg>.  */
-      n = offs (e);
-      if ((0 <= n) && (n <= 31))
-       arg[0] = (char *) "mov";
-      else if ((-31 <= n) && (n <= -1))
-       {
-         arg[0] = (char *) "subo";
-         arg[3] = arg[2];
-         sprintf (buf, "%d", -n);
-         arg[1] = buf;
-         arg[2] = (char *) "0";
-       }
-      else if ((32 <= n) && (n <= 62))
-       {
-         arg[0] = (char *) "addo";
-         arg[3] = arg[2];
-         arg[1] = (char *) "31";
-         sprintf (buf, "%d", n - 31);
-         arg[2] = buf;
-       }
-      else if ((shift = shift_ok (n)) != 0)
-       {
-         arg[0] = (char *) "shlo";
-         arg[3] = arg[2];
-         sprintf (buf, "%d", shift);
-         arg[1] = buf;
-         sprintf (buf2, "%d", n >> shift);
-         arg[2] = buf2;
-       }
-      else
-       arg[0] = (char *) "lda";
-      break;
-
-    case O_illegal:
-      as_bad (_("invalid constant"));
-      return -1;
-      break;
-    }
-  return (arg[3] == 0) ? 2 : 3;
-}
-
-/* reg_fmt:    generate a REG-format instruction.  */
-
-static void
-reg_fmt (char *args[],         /* args[0]->opcode mnemonic, args[1-3]->operands.  */
-        struct i960_opcode *oP)/* Pointer to description of instruction.  */
-{
-  long instr;                  /* Binary to be output.  */
-  struct regop regop;          /* Description of register operand.  */
-  int n_ops;                   /* Number of operands.  */
-
-  instr = oP->opcode;
-  n_ops = oP->num_ops;
-
-  if (n_ops >= 1)
-    {
-      parse_regop (&regop, args[1], oP->operand[0]);
-
-      if ((n_ops == 1) && !(instr & M3))
-       {
-         /* 1-operand instruction in which the dst field should
-            be used (instead of src1).  */
-         regop.n <<= 19;
-         if (regop.special)
-           regop.mode = regop.special;
-         regop.mode <<= 13;
-         regop.special = 0;
-       }
-      else
-       {
-         /* regop.n goes in bit 0, needs no shifting.  */
-         regop.mode <<= 11;
-         regop.special <<= 5;
-       }
-      instr |= regop.n | regop.mode | regop.special;
-    }
-
-  if (n_ops >= 2)
-    {
-      parse_regop (&regop, args[2], oP->operand[1]);
-
-      if ((n_ops == 2) && !(instr & M3))
-       {
-         /* 2-operand instruction in which the dst field should
-            be used instead of src2).  */
-         regop.n <<= 19;
-         if (regop.special)
-           regop.mode = regop.special;
-         regop.mode <<= 13;
-         regop.special = 0;
-       }
-      else
-       {
-         regop.n <<= 14;
-         regop.mode <<= 12;
-         regop.special <<= 6;
-       }
-      instr |= regop.n | regop.mode | regop.special;
-    }
-  if (n_ops == 3)
-    {
-      parse_regop (&regop, args[3], oP->operand[2]);
-      if (regop.special)
-       regop.mode = regop.special;
-      instr |= (regop.n <<= 19) | (regop.mode <<= 13);
-    }
-  emit (instr);
-}
-
-/* get_args:   break individual arguments out of comma-separated list
-
-   Input assumptions:
-       - all comments and labels have been removed
-       - all strings of whitespace have been collapsed to a single blank.
-       - all character constants ('x') have been replaced with decimal
-
-   Output:
-       args[0] is untouched. args[1] points to first operand, etc. All args:
-       - are NULL-terminated
-       - contain no whitespace
-
-   Return value:
-   Number of operands (0,1,2, or 3) or -1 on error.  */
-
-static int
-get_args (char *p,     /* Pointer to comma-separated operands; Mucked by us.  */
-         char *args[]) /* Output arg: pointers to operands placed in args[1-3].
-                          Must accommodate 4 entries (args[0-3]).  */
-
-{
-  int n;               /* Number of operands.  */
-  char *to;
-
-  /* Skip lead white space.  */
-  while (*p == ' ')
-    p++;
-
-  if (*p == '\0')
-    return 0;
-
-  n = 1;
-  args[1] = p;
-
-  /* Squeeze blanks out by moving non-blanks toward start of string.
-     Isolate operands, whenever comma is found.  */
-  to = p;
-  while (*p != '\0')
-    {
-      if (*p == ' '
-         && (! ISALNUM (p[1])
-             || ! ISALNUM (p[-1])))
-       p++;
-      else if (*p == ',')
-       {
-         /* Start of operand.  */
-         if (n == 3)
-           {
-             as_bad (_("too many operands"));
-             return -1;
-           }
-         *to++ = '\0';         /* Terminate argument.  */
-         args[++n] = to;       /* Start next argument.  */
-         p++;
-       }
-      else
-       *to++ = *p++;
-    }
-  *to = '\0';
-  return n;
-}
-
-/* i_scan:     perform lexical scan of ascii assembler instruction.
-
-   Input assumptions:
-       - input string is an i80960 instruction (not a pseudo-op)
-       - all comments and labels have been removed
-       - all strings of whitespace have been collapsed to a single blank.
-
-   Output:
-       args[0] points to opcode, other entries point to operands. All strings:
-       - are NULL-terminated
-       - contain no whitespace
-       - have character constants ('x') replaced with a decimal number
-
-   Return value:
-     Number of operands (0,1,2, or 3) or -1 on error.  */
-
-static int
-i_scan (char *iP,     /* Pointer to ascii instruction;  Mucked by us.  */
-       char *args[]) /* Output arg: pointers to opcode and operands placed here.
-                        Must accommodate 4 entries.  */
-{
-  /* Isolate opcode.  */
-  if (*(iP) == ' ')
-    iP++;
-
-  args[0] = iP;
-  for (; *iP != ' '; iP++)
-    {
-      if (*iP == '\0')
-       {
-         /* There are no operands.  */
-         if (args[0] == iP)
-           {
-             /* We never moved: there was no opcode either!  */
-             as_bad (_("missing opcode"));
-             return -1;
-           }
-         return 0;
-       }
-    }
-  *iP++ = '\0';
-  return (get_args (iP, args));
-}
-
-static void
-brcnt_emit (void)
-{
-  /* Emit call to "increment" routine.  */
-  ctrl_fmt (BR_CNT_FUNC, CALL, 1);
-  /* Emit inline counter to be incremented.  */
-  emit (0);
-}
-
-static char *
-brlab_next (void)
-{
-  static char buf[20];
-
-  sprintf (buf, "%s%d", BR_LABEL_BASE, br_cnt++);
-  return buf;
-}
-
-static void
-ctrl_fmt (const char *targP,           /* Pointer to text of lone operand (if any).  */
-         long opcode,          /* Template of instruction.  */
-         int num_ops)          /* Number of operands.  */
-{
-  int instrument;              /* TRUE iff we should add instrumentation to track
-                                  how often the branch is taken.  */
-
-  if (num_ops == 0)
-    emit (opcode);             /* Output opcode.  */
-  else
-    {
-      instrument = instrument_branches && (opcode != CALL)
-       && (opcode != B) && (opcode != RET) && (opcode != BAL);
-
-      if (instrument)
-       {
-         brcnt_emit ();
-         colon (brlab_next ());
-       }
-
-      /* The operand MUST be an ip-relative displacement. Parse it
-         and set up address fix for the instruction we just output.  */
-      get_cdisp (targP, "CTRL", opcode, 24, 0, 0);
-
-      if (instrument)
-       brcnt_emit ();
-    }
-}
-
-static void
-cobr_fmt (/* arg[0]->opcode mnemonic, arg[1-3]->operands (ascii) */
-         char *arg[],
-         /* Opcode, with branch-prediction bits already set if necessary.  */
-         long opcode,
-         /* Pointer to description of instruction.  */
-         struct i960_opcode *oP)
-{
-  long instr;                  /* 32-bit instruction.  */
-  struct regop regop;          /* Description of register operand.  */
-  int n;                       /* Number of operands.  */
-  int var_frag;                        /* 1 if varying length code fragment should
-                                    be emitted;  0 if an address fix
-                                       should be emitted.  */
-
-  instr = opcode;
-  n = oP->num_ops;
-
-  if (n >= 1)
-    {
-      /* First operand (if any) of a COBR is always a register
-        operand.  Parse it.  */
-      parse_regop (&regop, arg[1], oP->operand[0]);
-      instr |= (regop.n << 19) | (regop.mode << 13);
-    }
-
-  if (n >= 2)
-    {
-      /* Second operand (if any) of a COBR is always a register
-        operand.  Parse it.  */
-      parse_regop (&regop, arg[2], oP->operand[1]);
-      instr |= (regop.n << 14) | regop.special;
-    }
-
-  if (n < 3)
-    emit (instr);
-  else
-    {
-      if (instrument_branches)
-       {
-         brcnt_emit ();
-         colon (brlab_next ());
-       }
-
-      /* A third operand to a COBR is always a displacement.  Parse
-         it; if it's relaxable (a cobr "j" directive, or any cobr
-         other than bbs/bbc when the "-norelax" option is not in use)
-         set up a variable code fragment; otherwise set up an address
-         fix.  */
-      var_frag = !norelax || (oP->format == COJ);      /* TRUE or FALSE */
-      get_cdisp (arg[3], "COBR", instr, 13, var_frag, 0);
-
-      if (instrument_branches)
-       brcnt_emit ();
-    }
-}
-
-/* Assumptions about the passed-in text:
-       - all comments, labels removed
-       - text is an instruction
-       - all white space compressed to single blanks
-       - all character constants have been replaced with decimal.  */
-
-void
-md_assemble (char *textP)
-{
-  /* Parsed instruction text, containing NO whitespace: arg[0]->opcode
-     mnemonic arg[1-3]->operands, with char constants replaced by
-     decimal numbers.  */
-  char *args[4];
-  /* Number of instruction operands.  */
-  int n_ops;
-  /* Pointer to instruction description.  */
-  struct i960_opcode *oP;
-  /* TRUE iff opcode mnemonic included branch-prediction suffix (".f"
-     or ".t").  */
-  int branch_predict;
-  /* Setting of branch-prediction bit(s) to be OR'd into instruction
-     opcode of CTRL/COBR format instructions.  */
-  long bp_bits;
-  /* Offset of last character in opcode mnemonic.  */
-  int n;
-  const char *bp_error_msg = _("branch prediction invalid on this opcode");
-
-  /* Parse instruction into opcode and operands.  */
-  memset (args, '\0', sizeof (args));
-
-  n_ops = i_scan (textP, args);
-
-  if (n_ops == -1)
-    return;                    /* Error message already issued.  */
-
-  /* Do "macro substitution" (sort of) on 'ldconst' pseudo-instruction.  */
-  if (!strcmp (args[0], "ldconst"))
-    {
-      n_ops = parse_ldconst (args);
-      if (n_ops == -1)
-       return;
-    }
-
-  /* Check for branch-prediction suffix on opcode mnemonic, strip it off.  */
-  n = strlen (args[0]) - 1;
-  branch_predict = 0;
-  bp_bits = 0;
-
-  if (args[0][n - 1] == '.' && (args[0][n] == 't' || args[0][n] == 'f'))
-    {
-      /* We could check here to see if the target architecture
-        supports branch prediction, but why bother?  The bit will
-        just be ignored by processors that don't use it.  */
-      branch_predict = 1;
-      bp_bits = (args[0][n] == 't') ? BP_TAKEN : BP_NOT_TAKEN;
-      args[0][n - 1] = '\0';   /* Strip suffix from opcode mnemonic */
-    }
-
-  /* Look up opcode mnemonic in table and check number of operands.
-     Check that opcode is legal for the target architecture.  If all
-     looks good, assemble instruction.  */
-  oP = (struct i960_opcode *) hash_find (op_hash, args[0]);
-  if (!oP || !targ_has_iclass (oP->iclass))
-    as_bad (_("invalid opcode, \"%s\"."), args[0]);
-  else if (n_ops != oP->num_ops)
-    as_bad (_("improper number of operands.  Expecting %d, got %d"),
-           oP->num_ops, n_ops);
-  else
-    {
-      switch (oP->format)
-       {
-       case FBRA:
-       case CTRL:
-         ctrl_fmt (args[1], oP->opcode | bp_bits, oP->num_ops);
-         if (oP->format == FBRA)
-           /* Now generate a 'bno' to same arg */
-           ctrl_fmt (args[1], BNO | bp_bits, 1);
-         break;
-       case COBR:
-       case COJ:
-         cobr_fmt (args, oP->opcode | bp_bits, oP);
-         break;
-       case REG:
-         if (branch_predict)
-           as_warn ("%s", bp_error_msg);
-         reg_fmt (args, oP);
-         break;
-       case MEM1:
-         if (args[0][0] == 'c' && args[0][1] == 'a')
-           {
-             if (branch_predict)
-               as_warn ("%s", bp_error_msg);
-             mem_fmt (args, oP, 1);
-             break;
-           }
-         /* Fall through.  */
-       case MEM2:
-       case MEM4:
-       case MEM8:
-       case MEM12:
-       case MEM16:
-         if (branch_predict)
-           as_warn ("%s", bp_error_msg);
-         mem_fmt (args, oP, 0);
-         break;
-       case CALLJ:
-         if (branch_predict)
-           as_warn ("%s", bp_error_msg);
-         /* Output opcode & set up "fixup" (relocation); flag
-            relocation as 'callj' type.  */
-         know (oP->num_ops == 1);
-         get_cdisp (args[1], "CTRL", oP->opcode, 24, 0, 1);
-         break;
-       default:
-         BAD_CASE (oP->format);
-         break;
-       }
-    }
-}
-
-void
-md_number_to_chars (char *buf,
-                   valueT value,
-                   int n)
-{
-  number_to_chars_littleendian (buf, value, n);
-}
-
-const char *
-md_atof (int type, char *litP, int *sizeP)
-{
-  return ieee_md_atof (type, litP, sizeP, FALSE);
-}
-
-static void
-md_number_to_imm (char *buf, long val, int n)
-{
-  md_number_to_chars (buf, val, n);
-}
-
-static void
-md_number_to_field (char *instrP,              /* Pointer to instruction to be fixed.  */
-                   long val,                   /* Address fixup value.  */
-                   bit_fixS *bfixP)            /* Description of bit field to be fixed up.  */
-{
-  int numbits;                 /* Length of bit field to be fixed.  */
-  long instr;                  /* 32-bit instruction to be fixed-up.  */
-  long sign;                   /* 0 or -1, according to sign bit of 'val'.  */
-
-  /* Convert instruction back to host byte order.  */
-  instr = md_chars_to_number (instrP, 4);
-
-  /* Surprise! -- we stored the number of bits to be modified rather
-     than a pointer to a structure.  */
-  numbits = (int) (size_t) bfixP;
-  if (numbits == 1)
-    /* This is a no-op, stuck here by reloc_callj().  */
-    return;
-
-  know ((numbits == 13) || (numbits == 24));
-
-  /* Propagate sign bit of 'val' for the given number of bits.  Result
-     should be all 0 or all 1.  */
-  sign = val >> ((int) numbits - 1);
-  if (((val < 0) && (sign != -1))
-      || ((val > 0) && (sign != 0)))
-    as_bad (_("Fixup of %ld too large for field width of %d"),
-           val, numbits);
-  else
-    {
-      /* Put bit field into instruction and write back in target
-         * byte order.  */
-      val &= ~(-(1 << (int) numbits)); /* Clear unused sign bits.  */
-      instr |= val;
-      md_number_to_chars (instrP, instr, 4);
-    }
-}
-\f
-
-/* md_parse_option
-       Invocation line includes a switch not recognized by the base assembler.
-       See if it's a processor-specific option.  For the 960, these are:
-
-       -norelax:
-               Conditional branch instructions that require displacements
-               greater than 13 bits (or that have external targets) should
-               generate errors.  The default is to replace each such
-               instruction with the corresponding compare (or chkbit) and
-               branch instructions.  Note that the Intel "j" cobr directives
-               are ALWAYS "de-optimized" in this way when necessary,
-               regardless of the setting of this option.
-
-       -b:
-               Add code to collect information about branches taken, for
-               later optimization of branch prediction bits by a separate
-               tool.  COBR and CNTL format instructions have branch
-               prediction bits (in the CX architecture);  if "BR" represents
-               an instruction in one of these classes, the following rep-
-               resents the code generated by the assembler:
-
-                       call    <increment routine>
-                       .word   0       # pre-counter
-               Label:  BR
-                       call    <increment routine>
-                       .word   0       # post-counter
-
-               A table of all such "Labels" is also generated.
-
-       -AKA, -AKB, -AKC, -ASA, -ASB, -AMC, -ACA:
-               Select the 80960 architecture.  Instructions or features not
-               supported by the selected architecture cause fatal errors.
-               The default is to generate code for any instruction or feature
-               that is supported by SOME version of the 960 (even if this
-               means mixing architectures!).  */
-
-const char *md_shortopts = "A:b";
-struct option md_longopts[] =
-{
-#define OPTION_LINKRELAX (OPTION_MD_BASE)
-  {"linkrelax", no_argument, NULL, OPTION_LINKRELAX},
-  {"link-relax", no_argument, NULL, OPTION_LINKRELAX},
-#define OPTION_NORELAX (OPTION_MD_BASE + 1)
-  {"norelax", no_argument, NULL, OPTION_NORELAX},
-  {"no-relax", no_argument, NULL, OPTION_NORELAX},
-  {NULL, no_argument, NULL, 0}
-};
-size_t md_longopts_size = sizeof (md_longopts);
-
-struct tabentry
-{
-  const char *flag;
-  int arch;
-};
-static const struct tabentry arch_tab[] =
-{
-  {"KA", ARCH_KA},
-  {"KB", ARCH_KB},
-  {"SA", ARCH_KA},             /* Synonym for KA.  */
-  {"SB", ARCH_KB},             /* Synonym for KB.  */
-  {"KC", ARCH_MC},             /* Synonym for MC.  */
-  {"MC", ARCH_MC},
-  {"CA", ARCH_CA},
-  {"JX", ARCH_JX},
-  {"HX", ARCH_HX},
-  {NULL, 0}
-};
-
-int
-md_parse_option (int c, const char *arg)
-{
-  switch (c)
-    {
-    case OPTION_LINKRELAX:
-      linkrelax = 1;
-      flag_keep_locals = 1;
-      break;
-
-    case OPTION_NORELAX:
-      norelax = 1;
-      break;
-
-    case 'b':
-      instrument_branches = 1;
-      break;
-
-    case 'A':
-      {
-       const struct tabentry *tp;
-       const char *p = arg;
-
-       for (tp = arch_tab; tp->flag != NULL; tp++)
-         if (!strcmp (p, tp->flag))
-           break;
-
-       if (tp->flag == NULL)
-         {
-           as_bad (_("invalid architecture %s"), p);
-           return 0;
-         }
-       else
-         architecture = tp->arch;
-      }
-      break;
-
-    default:
-      return 0;
-    }
-
-  return 1;
-}
-
-void
-md_show_usage (FILE *stream)
-{
-  int i;
-
-  fprintf (stream, _("I960 options:\n"));
-  for (i = 0; arch_tab[i].flag; i++)
-    fprintf (stream, "%s-A%s", i ? " | " : "", arch_tab[i].flag);
-  fprintf (stream, _("\n\
-                       specify variant of 960 architecture\n\
--b                     add code to collect statistics about branches taken\n\
--link-relax            preserve individual alignment directives so linker\n\
-                       can do relaxing (b.out format only)\n\
--no-relax              don't alter compare-and-branch instructions for\n\
-                       long displacements\n"));
-}
-\f
-/* relax_cobr:
-   Replace cobr instruction in a code fragment with equivalent branch and
-   compare instructions, so it can reach beyond a 13-bit displacement.
-   Set up an address fix/relocation for the new branch instruction.  */
-
-/* This "conditional jump" table maps cobr instructions into
-   equivalent compare and branch opcodes.  */
-
-static const
-struct
-{
-  long compare;
-  long branch;
-}
-
-coj[] =
-{                              /* COBR OPCODE: */
-  { CHKBIT, BNO },             /*      0x30 - bbc */
-  { CMPO, BG },                        /*      0x31 - cmpobg */
-  { CMPO, BE },                        /*      0x32 - cmpobe */
-  { CMPO, BGE },               /*      0x33 - cmpobge */
-  { CMPO, BL },                        /*      0x34 - cmpobl */
-  { CMPO, BNE },               /*      0x35 - cmpobne */
-  { CMPO, BLE },               /*      0x36 - cmpoble */
-  { CHKBIT, BO },              /*      0x37 - bbs */
-  { CMPI, BNO },               /*      0x38 - cmpibno */
-  { CMPI, BG },                        /*      0x39 - cmpibg */
-  { CMPI, BE },                        /*      0x3a - cmpibe */
-  { CMPI, BGE },               /*      0x3b - cmpibge */
-  { CMPI, BL },                        /*      0x3c - cmpibl */
-  { CMPI, BNE },               /*      0x3d - cmpibne */
-  { CMPI, BLE },               /*      0x3e - cmpible */
-  { CMPI, BO },                        /*      0x3f - cmpibo */
-};
-
-static void
-relax_cobr (fragS *fragP)      /* fragP->fr_opcode is assumed to point to
-                                  the cobr instruction, which comes at the
-                                  end of the code fragment.  */
-{
-  int opcode, src1, src2, m1, s2;
-  /* Bit fields from cobr instruction.  */
-  long bp_bits;                        /* Branch prediction bits from cobr instruction.  */
-  long instr;                  /* A single i960 instruction.  */
-  /* ->instruction to be replaced.  */
-  char *iP;
-  fixS *fixP;                  /* Relocation that can be done at assembly time.  */
-
-  /* Pick up & parse cobr instruction.  */
-  iP = fragP->fr_opcode;
-  instr = md_chars_to_number (iP, 4);
-  opcode = ((instr >> 24) & 0xff) - 0x30;      /* "-0x30" for table index.  */
-  src1 = (instr >> 19) & 0x1f;
-  m1 = (instr >> 13) & 1;
-  s2 = instr & 1;
-  src2 = (instr >> 14) & 0x1f;
-  bp_bits = instr & BP_MASK;
-
-  /* Generate and output compare instruction.  */
-  instr = coj[opcode].compare
-    | src1 | (m1 << 11) | (s2 << 6) | (src2 << 14);
-  md_number_to_chars (iP, instr, 4);
-
-  /* Output branch instruction.  */
-  md_number_to_chars (iP + 4, coj[opcode].branch | bp_bits, 4);
-
-  /* Set up address fixup/relocation.  */
-  fixP = fix_new (fragP,
-                 iP + 4 - fragP->fr_literal,
-                 4,
-                 fragP->fr_symbol,
-                 fragP->fr_offset,
-                 1,
-                 NO_RELOC);
-
-  fixP->fx_bit_fixP = (bit_fixS *) 24; /* Store size of bit field.  */
-
-  fragP->fr_fix += 4;
-  frag_wane (fragP);
-}
-
-/* md_convert_frag:
-
-   Called by base assembler after address relaxation is finished:  modify
-   variable fragments according to how much relaxation was done.
-
-   If the fragment substate is still 1, a 13-bit displacement was enough
-   to reach the symbol in question.  Set up an address fixup, but otherwise
-   leave the cobr instruction alone.
-
-   If the fragment substate is 2, a 13-bit displacement was not enough.
-   Replace the cobr with a two instructions (a compare and a branch).  */
-
-void
-md_convert_frag (bfd *abfd ATTRIBUTE_UNUSED,
-                segT sec ATTRIBUTE_UNUSED,
-                fragS *fragP)
-{
-  /* Structure describing needed address fix.  */
-  fixS *fixP;
-
-  switch (fragP->fr_subtype)
-    {
-    case 1:
-      /* Leave single cobr instruction.  */
-      fixP = fix_new (fragP,
-                     fragP->fr_opcode - fragP->fr_literal,
-                     4,
-                     fragP->fr_symbol,
-                     fragP->fr_offset,
-                     1,
-                     NO_RELOC);
-
-      fixP->fx_bit_fixP = (bit_fixS *) 13;     /* Size of bit field.  */
-      break;
-    case 2:
-      /* Replace cobr with compare/branch instructions.  */
-      relax_cobr (fragP);
-      break;
-    default:
-      BAD_CASE (fragP->fr_subtype);
-      break;
-    }
-}
-
-/* md_estimate_size_before_relax:  How much does it look like *fragP will grow?
-
-   Called by base assembler just before address relaxation.
-   Return the amount by which the fragment will grow.
-
-   Any symbol that is now undefined will not become defined; cobr's
-   based on undefined symbols will have to be replaced with a compare
-   instruction and a branch instruction, and the code fragment will grow
-   by 4 bytes.  */
-
-int
-md_estimate_size_before_relax (fragS *fragP, segT segment_type)
-{
-  /* If symbol is undefined in this segment, go to "relaxed" state
-     (compare and branch instructions instead of cobr) right now.  */
-  if (S_GET_SEGMENT (fragP->fr_symbol) != segment_type)
-    {
-      relax_cobr (fragP);
-      return 4;
-    }
-
-  return md_relax_table[fragP->fr_subtype].rlx_length;
-}
-
-#if defined(OBJ_AOUT) | defined(OBJ_BOUT)
-
-/* md_ri_to_chars:
-   This routine exists in order to overcome machine byte-order problems
-   when dealing with bit-field entries in the relocation_info struct.
-
-   But relocation info will be used on the host machine only (only
-   executable code is actually downloaded to the i80960).  Therefore,
-   we leave it in host byte order.  */
-
-static void
-md_ri_to_chars (char *where, struct relocation_info *ri)
-{
-  host_number_to_chars (where, ri->r_address, 4);
-  host_number_to_chars (where + 4, ri->r_index, 3);
-#if WORDS_BIGENDIAN
-  where[7] = (ri->r_pcrel << 7
-             | ri->r_length << 5
-             | ri->r_extern << 4
-             | ri->r_bsr << 3
-             | ri->r_disp << 2
-             | ri->r_callj << 1
-             | ri->nuthin << 0);
-#else
-  where[7] = (ri->r_pcrel << 0
-             | ri->r_length << 1
-             | ri->r_extern << 3
-             | ri->r_bsr << 4
-             | ri->r_disp << 5
-             | ri->r_callj << 6
-             | ri->nuthin << 7);
-#endif
-}
-
-#endif /* defined(OBJ_AOUT) | defined(OBJ_BOUT) */
-
-\f
-/* brtab_emit: generate the fetch-prediction branch table.
-
-   See the comments above the declaration of 'br_cnt' for details on
-   branch-prediction instrumentation.
-
-   The code emitted here would be functionally equivalent to the following
-   example assembler source.
-
-                       .data
-                       .align  2
-          BR_TAB_NAME:
-                       .word   0               # link to next table
-                       .word   3               # length of table
-                       .word   LBRANCH0        # 1st entry in table proper
-                       .word   LBRANCH1
-                       .word   LBRANCH2  */
-
-void
-brtab_emit (void)
-{
-  int i;
-  char buf[20];
-  /* Where the binary was output to.  */
-  char *p;
-
-  if (!instrument_branches)
-    return;
-
-  subseg_set (data_section, 0);        /*      .data */
-  frag_align (2, 0, 0);                /*      .align 2 */
-  record_alignment (now_seg, 2);
-  colon (BR_TAB_NAME);         /* BR_TAB_NAME: */
-  emit (0);                    /*      .word 0 #link to next table */
-  emit (br_cnt);               /*      .word n #length of table */
-
-  for (i = 0; i < br_cnt; i++)
-    {
-      sprintf (buf, "%s%d", BR_LABEL_BASE, i);
-      p = emit (0);
-      fix_new (frag_now,
-              p - frag_now->fr_literal,
-              4, symbol_find (buf), 0, 0, NO_RELOC);
-    }
-}
-
-/* s_leafproc: process .leafproc pseudo-op
-
-       .leafproc takes two arguments, the second one is optional:
-               arg[1]: name of 'call' entry point to leaf procedure
-               arg[2]: name of 'bal' entry point to leaf procedure
-
-       If the two arguments are identical, or if the second one is missing,
-       the first argument is taken to be the 'bal' entry point.
-
-       If there are 2 distinct arguments, we must make sure that the 'bal'
-       entry point immediately follows the 'call' entry point in the linked
-       list of symbols.  */
-
-static void
-s_leafproc (int n_ops,         /* Number of operands.  */
-           char *args[])       /* args[1]->1st operand, args[2]->2nd operand.  */
-{
-  symbolS *callP;              /* Pointer to leafproc 'call' entry point symbol.  */
-  symbolS *balP;               /* Pointer to leafproc 'bal' entry point symbol.  */
-
-  if ((n_ops != 1) && (n_ops != 2))
-    {
-      as_bad (_("should have 1 or 2 operands"));
-      return;
-    }
-
-  /* Find or create symbol for 'call' entry point.  */
-  callP = symbol_find_or_make (args[1]);
-
-  if (TC_S_IS_CALLNAME (callP))
-    as_warn (_("Redefining leafproc %s"), S_GET_NAME (callP));
-
-  /* If that was the only argument, use it as the 'bal' entry point.
-     Otherwise, mark it as the 'call' entry point and find or create
-     another symbol for the 'bal' entry point.  */
-  if ((n_ops == 1) || !strcmp (args[1], args[2]))
-    {
-      TC_S_FORCE_TO_BALNAME (callP);
-    }
-  else
-    {
-      TC_S_FORCE_TO_CALLNAME (callP);
-
-      balP = symbol_find_or_make (args[2]);
-      if (TC_S_IS_CALLNAME (balP))
-       as_warn (_("Redefining leafproc %s"), S_GET_NAME (balP));
-
-      TC_S_FORCE_TO_BALNAME (balP);
-
-#ifndef OBJ_ELF
-      tc_set_bal_of_call (callP, balP);
-#endif
-    }
-}
-
-/* s_sysproc: process .sysproc pseudo-op
-
-   .sysproc takes two arguments:
-     arg[1]: name of entry point to system procedure
-     arg[2]: 'entry_num' (index) of system procedure in the range
-     [0,31] inclusive.
-
-   For [ab].out, we store the 'entrynum' in the 'n_other' field of
-   the symbol.  Since that entry is normally 0, we bias 'entrynum'
-   by adding 1 to it.  It must be unbiased before it is used.  */
-
-static void
-s_sysproc (int n_ops,          /* Number of operands.  */
-          char *args[])        /* args[1]->1st operand, args[2]->2nd operand.  */
-{
-  expressionS exp;
-  symbolS *symP;
-
-  if (n_ops != 2)
-    {
-      as_bad (_("should have two operands"));
-      return;
-    }
-
-  /* Parse "entry_num" argument and check it for validity.  */
-  parse_expr (args[2], &exp);
-  if (exp.X_op != O_constant
-      || (offs (exp) < 0)
-      || (offs (exp) > 31))
-    {
-      as_bad (_("'entry_num' must be absolute number in [0,31]"));
-      return;
-    }
-
-  /* Find/make symbol and stick entry number (biased by +1) into it.  */
-  symP = symbol_find_or_make (args[1]);
-
-  if (TC_S_IS_SYSPROC (symP))
-    as_warn (_("Redefining entrynum for sysproc %s"), S_GET_NAME (symP));
-
-  TC_S_SET_SYSPROC (symP, offs (exp)); /* Encode entry number.  */
-  TC_S_FORCE_TO_SYSPROC (symP);
-}
-
-/* parse_po:   parse machine-dependent pseudo-op
-
-   This is a top-level routine for machine-dependent pseudo-ops.  It slurps
-   up the rest of the input line, breaks out the individual arguments,
-   and dispatches them to the correct handler.  */
-
-static void
-parse_po (int po_num)  /* Pseudo-op number:  currently S_LEAFPROC or S_SYSPROC.  */
-{
-  /* Pointers operands, with no embedded whitespace.
-     arg[0] unused, arg[1-3]->operands.  */
-  char *args[4];
-  int n_ops;                   /* Number of operands.  */
-  char *p;                     /* Pointer to beginning of unparsed argument string.  */
-  char eol;                    /* Character that indicated end of line.  */
-
-  extern char is_end_of_line[];
-
-  /* Advance input pointer to end of line.  */
-  p = input_line_pointer;
-  while (!is_end_of_line[(unsigned char) *input_line_pointer])
-    input_line_pointer++;
-
-  eol = *input_line_pointer;   /* Save end-of-line char.  */
-  *input_line_pointer = '\0';  /* Terminate argument list.  */
-
-  /* Parse out operands.  */
-  n_ops = get_args (p, args);
-  if (n_ops == -1)
-    return;
-
-  /* Dispatch to correct handler.  */
-  switch (po_num)
-    {
-    case S_SYSPROC:
-      s_sysproc (n_ops, args);
-      break;
-    case S_LEAFPROC:
-      s_leafproc (n_ops, args);
-      break;
-    default:
-      BAD_CASE (po_num);
-      break;
-    }
-
-  /* Restore eol, so line numbers get updated correctly.  Base
-     assembler assumes we leave input pointer pointing at char
-     following the eol.  */
-  *input_line_pointer++ = eol;
-}
-
-/* reloc_callj:        Relocate a 'callj' instruction
-
-       This is a "non-(GNU)-standard" machine-dependent hook.  The base
-       assembler calls it when it decides it can relocate an address at
-       assembly time instead of emitting a relocation directive.
-
-       Check to see if the relocation involves a 'callj' instruction to a:
-           sysproc:    Replace the default 'call' instruction with a 'calls'
-           leafproc:   Replace the default 'call' instruction with a 'bal'.
-           other proc: Do nothing.
-
-       See b.out.h for details on the 'n_other' field in a symbol structure.
-
-   IMPORTANT!:
-       Assumes the caller has already figured out, in the case of a leafproc,
-       to use the 'bal' entry point, and has substituted that symbol into the
-       passed fixup structure.  */
-
-int
-reloc_callj (fixS *fixP)  /* Relocation that can be done at assembly time.  */
-{
-  /* Points to the binary for the instruction being relocated.  */
-  char *where;
-
-  if (!fixP->fx_tcbit)
-    /* This wasn't a callj instruction in the first place.  */
-    return 0;
-
-  where = fixP->fx_frag->fr_literal + fixP->fx_where;
-
-  if (TC_S_IS_SYSPROC (fixP->fx_addsy))
-    {
-      /* Symbol is a .sysproc: replace 'call' with 'calls'.  System
-         procedure number is (other-1).  */
-      md_number_to_chars (where, CALLS | TC_S_GET_SYSPROC (fixP->fx_addsy), 4);
-
-      /* Nothing else needs to be done for this instruction.  Make
-         sure 'md_number_to_field()' will perform a no-op.  */
-      fixP->fx_bit_fixP = (bit_fixS *) 1;
-    }
-  else if (TC_S_IS_CALLNAME (fixP->fx_addsy))
-    {
-      /* Should not happen: see block comment above.  */
-      as_fatal (_("Trying to 'bal' to %s"), S_GET_NAME (fixP->fx_addsy));
-    }
-  else if (TC_S_IS_BALNAME (fixP->fx_addsy))
-    {
-      /* Replace 'call' with 'bal'; both instructions have the same
-         format, so calling code should complete relocation as if
-         nothing happened here.  */
-      md_number_to_chars (where, BAL, 4);
-    }
-  else if (TC_S_IS_BADPROC (fixP->fx_addsy))
-    as_bad (_("Looks like a proc, but can't tell what kind.\n"));
-
-  /* Otherwise Symbol is neither a sysproc nor a leafproc.  */
-  return 0;
-}
-
-/* Handle the MRI .endian pseudo-op.  */
-
-static void
-s_endian (int ignore ATTRIBUTE_UNUSED)
-{
-  char *name;
-  char c;
-
-  c = get_symbol_name (&name);
-  if (strcasecmp (name, "little") == 0)
-    ;
-  else if (strcasecmp (name, "big") == 0)
-    as_bad (_("big endian mode is not supported"));
-  else
-    as_warn (_("ignoring unrecognized .endian type `%s'"), name);
-
-  (void) restore_line_pointer (c);
-
-  demand_empty_rest_of_line ();
-}
-
-/* We have no need to default values of symbols.  */
-
-symbolS *
-md_undefined_symbol (char *name ATTRIBUTE_UNUSED)
-{
-  return 0;
-}
-
-/* Exactly what point is a PC-relative offset relative TO?
-   On the i960, they're relative to the address of the instruction,
-   which we have set up as the address of the fixup too.  */
-long
-md_pcrel_from (fixS *fixP)
-{
-  return fixP->fx_where + fixP->fx_frag->fr_address;
-}
-
-void
-md_apply_fix (fixS *fixP,
-              valueT *valP,
-              segT seg ATTRIBUTE_UNUSED)
-{
-  long val = *valP;
-  char *place = fixP->fx_where + fixP->fx_frag->fr_literal;
-
-  if (!fixP->fx_bit_fixP)
-    {
-      md_number_to_imm (place, val, fixP->fx_size);
-    }
-  else if ((int) (size_t) fixP->fx_bit_fixP == 13
-          && fixP->fx_addsy != NULL
-          && S_GET_SEGMENT (fixP->fx_addsy) == undefined_section)
-    {
-      /* This is a COBR instruction.  They have only a
-        13-bit displacement and are only to be used
-        for local branches: flag as error, don't generate
-        relocation.  */
-      as_bad_where (fixP->fx_file, fixP->fx_line,
-                   _("can't use COBR format with external label"));
-      fixP->fx_addsy = NULL;
-    }
-  else
-    md_number_to_field (place, val, fixP->fx_bit_fixP);
-
-  if (fixP->fx_addsy == NULL)
-    fixP->fx_done = 1;
-}
-
-#if defined(OBJ_AOUT) | defined(OBJ_BOUT)
-void
-tc_bout_fix_to_chars (char *where,
-                     fixS *fixP,
-                     relax_addressT segment_address_in_file)
-{
-  static const unsigned char nbytes_r_length[] = {42, 0, 1, 42, 2};
-  struct relocation_info ri;
-  symbolS *symbolP;
-
-  memset ((char *) &ri, '\0', sizeof (ri));
-  symbolP = fixP->fx_addsy;
-  know (symbolP != 0 || fixP->fx_r_type != NO_RELOC);
-  ri.r_bsr = fixP->fx_bsr;     /*SAC LD RELAX HACK */
-  /* These two 'cuz of NS32K */
-  ri.r_callj = fixP->fx_tcbit;
-  if (fixP->fx_bit_fixP)
-    ri.r_length = 2;
-  else
-    ri.r_length = nbytes_r_length[fixP->fx_size];
-  ri.r_pcrel = fixP->fx_pcrel;
-  ri.r_address = fixP->fx_frag->fr_address + fixP->fx_where - segment_address_in_file;
-
-  if (fixP->fx_r_type != NO_RELOC)
-    {
-      switch (fixP->fx_r_type)
-       {
-       case rs_align:
-         ri.r_index = -2;
-         ri.r_pcrel = 1;
-         ri.r_length = fixP->fx_size - 1;
-         break;
-       case rs_org:
-         ri.r_index = -2;
-         ri.r_pcrel = 0;
-         break;
-       case rs_fill:
-         ri.r_index = -1;
-         break;
-       default:
-         abort ();
-       }
-      ri.r_extern = 0;
-    }
-  else if (linkrelax || !S_IS_DEFINED (symbolP) || fixP->fx_bsr)
-    {
-      ri.r_extern = 1;
-      ri.r_index = symbolP->sy_number;
-    }
-  else
-    {
-      ri.r_extern = 0;
-      ri.r_index = S_GET_TYPE (symbolP);
-    }
-
-  /* Output the relocation information in machine-dependent form.  */
-  md_ri_to_chars (where, &ri);
-}
-
-#endif /* OBJ_AOUT or OBJ_BOUT */
-
-/* Align an address by rounding it up to the specified boundary.  */
-
-valueT
-md_section_align (segT seg,
-                 valueT addr)          /* Address to be rounded up.  */
-{
-  int align;
-
-  align = bfd_get_section_alignment (stdoutput, seg);
-  return (addr + (1 << align) - 1) & -(1 << align);
-}
-
-extern int coff_flags;
-
-/* For aout or bout, the bal immediately follows the call.
-
-   For coff, we cheat and store a pointer to the bal symbol in the
-   second aux entry of the call.  */
-
-#undef OBJ_ABOUT
-#ifdef OBJ_AOUT
-#define OBJ_ABOUT
-#endif
-#ifdef OBJ_BOUT
-#define OBJ_ABOUT
-#endif
-
-void
-tc_set_bal_of_call (symbolS *callP ATTRIBUTE_UNUSED,
-                   symbolS *balP ATTRIBUTE_UNUSED)
-{
-  know (TC_S_IS_CALLNAME (callP));
-  know (TC_S_IS_BALNAME (balP));
-
-#ifdef OBJ_COFF
-
-  callP->sy_tc = balP;
-  S_SET_NUMBER_AUXILIARY (callP, 2);
-
-#else /* ! OBJ_COFF */
-#ifdef OBJ_ABOUT
-
-  /* If the 'bal' entry doesn't immediately follow the 'call'
-     symbol, unlink it from the symbol list and re-insert it.  */
-  if (symbol_next (callP) != balP)
-    {
-      symbol_remove (balP, &symbol_rootP, &symbol_lastP);
-      symbol_append (balP, callP, &symbol_rootP, &symbol_lastP);
-    }                          /* if not in order */
-
-#else /* ! OBJ_ABOUT */
-  as_fatal ("Only supported for a.out, b.out, or COFF");
-#endif /* ! OBJ_ABOUT */
-#endif /* ! OBJ_COFF */
-}
-
-symbolS *
-tc_get_bal_of_call (symbolS *callP ATTRIBUTE_UNUSED)
-{
-  symbolS *retval;
-
-  know (TC_S_IS_CALLNAME (callP));
-
-#ifdef OBJ_COFF
-  retval = callP->sy_tc;
-#else
-#ifdef OBJ_ABOUT
-  retval = symbol_next (callP);
-#else
-  as_fatal ("Only supported for a.out, b.out, or COFF");
-#endif /* ! OBJ_ABOUT */
-#endif /* ! OBJ_COFF */
-
-  know (TC_S_IS_BALNAME (retval));
-  return retval;
-}
-
-#ifdef OBJ_COFF
-void
-tc_coff_symbol_emit_hook (symbolS *symbolP ATTRIBUTE_UNUSED)
-{
-  if (TC_S_IS_CALLNAME (symbolP))
-    {
-      symbolS *balP = tc_get_bal_of_call (symbolP);
-
-      symbolP->sy_symbol.ost_auxent[1].x_bal.x_balntry = S_GET_VALUE (balP);
-      if (S_GET_STORAGE_CLASS (symbolP) == C_EXT)
-       S_SET_STORAGE_CLASS (symbolP, C_LEAFEXT);
-      else
-       S_SET_STORAGE_CLASS (symbolP, C_LEAFSTAT);
-      S_SET_DATA_TYPE (symbolP, S_GET_DATA_TYPE (symbolP) | (DT_FCN << N_BTSHFT));
-      /* Fix up the bal symbol.  */
-      S_SET_STORAGE_CLASS (balP, C_LABEL);
-    }
-}
-#endif /* OBJ_COFF */
-
-void
-i960_handle_align (fragS *fragp ATTRIBUTE_UNUSED)
-{
-  if (!linkrelax)
-    return;
-
-#ifndef OBJ_BOUT
-  as_bad (_("option --link-relax is only supported in b.out format"));
-  linkrelax = 0;
-  return;
-#else
-
-  /* The text section "ends" with another alignment reloc, to which we
-     aren't adding padding.  */
-  if (fragp->fr_next == text_last_frag
-      || fragp->fr_next == data_last_frag)
-    return;
-
-  /* alignment directive */
-  fix_new (fragp, fragp->fr_fix, fragp->fr_offset, 0, 0, 0,
-          (int) fragp->fr_type);
-#endif /* OBJ_BOUT */
-}
-
-int
-i960_validate_fix (fixS *fixP, segT this_segment_type ATTRIBUTE_UNUSED)
-{
-  if (fixP->fx_tcbit && TC_S_IS_CALLNAME (fixP->fx_addsy))
-    {
-      /* Relocation should be done via the associated 'bal'
-         entry point symbol.  */
-      if (!TC_S_IS_BALNAME (tc_get_bal_of_call (fixP->fx_addsy)))
-       {
-         as_bad_where (fixP->fx_file, fixP->fx_line,
-                       _("No 'bal' entry point for leafproc %s"),
-                       S_GET_NAME (fixP->fx_addsy));
-         return 0;
-       }
-      fixP->fx_addsy = tc_get_bal_of_call (fixP->fx_addsy);
-    }
-
-  return 1;
-}
-
-/* From cgen.c:  */
-
-static short
-tc_bfd_fix2rtype (fixS *fixP)
-{
-  if (fixP->fx_pcrel == 0 && fixP->fx_size == 4)
-    return BFD_RELOC_32;
-
-  if (fixP->fx_pcrel != 0 && fixP->fx_size == 4)
-    return BFD_RELOC_24_PCREL;
-
-  abort ();
-  return 0;
-}
-
-/* Translate internal representation of relocation info to BFD target
-   format.
-
-   FIXME: To what extent can we get all relevant targets to use this?  */
-
-arelent *
-tc_gen_reloc (asection *section ATTRIBUTE_UNUSED, fixS *fixP)
-{
-  arelent * reloc;
-
-  reloc = XNEW (arelent);
-
-  /* HACK: Is this right?  */
-  fixP->fx_r_type = tc_bfd_fix2rtype (fixP);
-
-  reloc->howto = bfd_reloc_type_lookup (stdoutput, fixP->fx_r_type);
-  if (reloc->howto == NULL)
-    {
-      as_bad_where (fixP->fx_file, fixP->fx_line,
-                   _("internal error: can't export reloc type %d (`%s')"),
-                   fixP->fx_r_type,
-                   bfd_get_reloc_code_name (fixP->fx_r_type));
-      return NULL;
-    }
-
-  gas_assert (!fixP->fx_pcrel == !reloc->howto->pc_relative);
-
-  reloc->sym_ptr_ptr = XNEW (asymbol *);
-  *reloc->sym_ptr_ptr = symbol_get_bfdsym (fixP->fx_addsy);
-  reloc->address = fixP->fx_frag->fr_address + fixP->fx_where;
-  reloc->addend = fixP->fx_addnumber;
-
-  return reloc;
-}
-
-/* end from cgen.c */
-
-const pseudo_typeS md_pseudo_table[] =
-{
-  {"bss", s_lcomm, 1},
-  {"endian", s_endian, 0},
-  {"extended", float_cons, 't'},
-  {"leafproc", parse_po, S_LEAFPROC},
-  {"sysproc", parse_po, S_SYSPROC},
-
-  {"word", cons, 4},
-  {"quad", cons, 16},
-
-  {0, 0, 0}
-};
diff --git a/gas/config/tc-i960.h b/gas/config/tc-i960.h
deleted file mode 100644 (file)
index 9c71150..0000000
+++ /dev/null
@@ -1,185 +0,0 @@
-/* tc-i960.h - Basic 80960 instruction formats.
-   Copyright (C) 1989-2018 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 3,
-   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, 51 Franklin Street - Fifth Floor, Boston, MA
-   02110-1301, USA.  */
-
-#ifndef TC_I960
-#define TC_I960 1
-
-#ifdef OBJ_ELF
-#define TARGET_FORMAT "elf32-i960"
-#define TARGET_ARCH bfd_arch_i960
-#endif
-
-#define TARGET_BYTES_BIG_ENDIAN 0
-
-#define WORKING_DOT_WORD
-
-/*
- * The 'COJ' instructions are actually COBR instructions with the 'b' in
- * the mnemonic replaced by a 'j';  they are ALWAYS "de-optimized" if necessary:
- * if the displacement will not fit in 13 bits, the assembler will replace them
- * with the corresponding compare and branch instructions.
- *
- * All of the 'MEMn' instructions are the same format; the 'n' in the name
- * indicates the default index scale factor (the size of the datum operated on).
- *
- * The FBRA formats are not actually an instruction format.  They are the
- * "convenience directives" for branching on floating-point comparisons,
- * each of which generates 2 instructions (a 'bno' and one other branch).
- *
- * The CALLJ format is not actually an instruction format.  It indicates that
- * the instruction generated (a CTRL-format 'call') should have its relocation
- * specially flagged for link-time replacement with a 'bal' or 'calls' if
- * appropriate.
- */
-
-/* tailor gas */
-#define LOCAL_LABELS_FB 1
-#define BITFIELD_CONS_EXPRESSIONS
-
-/* tailor the coff format */
-#define COFF_MAGIC                             I960ROMAGIC
-#define OBJ_COFF_MAX_AUXENTRIES                        (2)
-
-/* MEANING OF 'n_other' in the symbol record.
- *
- * If non-zero, the 'n_other' fields indicates either a leaf procedure or
- * a system procedure, as follows:
- *
- *     1 <= n_other <= 32 :
- *             The symbol is the entry point to a system procedure.
- *             'n_value' is the address of the entry, as for any other
- *             procedure.  The system procedure number (which can be used in
- *             a 'calls' instruction) is (n_other-1).  These entries come from
- *             '.sysproc' directives.
- *
- *     n_other == N_CALLNAME
- *             the symbol is the 'call' entry point to a leaf procedure.
- *             The *next* symbol in the symbol table must be the corresponding
- *             'bal' entry point to the procedure (see following).  These
- *             entries come from '.leafproc' directives in which two different
- *             symbols are specified (the first one is represented here).
- *
- *
- *     n_other == N_BALNAME
- *             the symbol is the 'bal' entry point to a leaf procedure.
- *             These entries result from '.leafproc' directives in which only
- *             one symbol is specified, or in which the same symbol is
- *             specified twice.
- *
- * Note that an N_CALLNAME entry *must* have a corresponding N_BALNAME entry,
- * but not every N_BALNAME entry must have an N_CALLNAME entry.
- */
-#define        N_CALLNAME      ((char)-1)
-#define        N_BALNAME       ((char)-2)
-
-/* i960 uses a custom relocation record.  */
-
-/* let obj-aout.h know */
-#define CUSTOM_RELOC_FORMAT 1
-/* let aout_gnu.h know */
-#define N_RELOCATION_INFO_DECLARED 1
-struct relocation_info
-  {
-    int r_address;             /* File address of item to be relocated */
-    unsigned
-      r_index:24,              /* Index of symbol on which relocation is based*/
-      r_pcrel:1,               /* 1 => relocate PC-relative; else absolute
-                                *      On i960, pc-relative implies 24-bit
-                                *      address, absolute implies 32-bit.
-                                */
-      r_length:2,              /* Number of bytes to relocate:
-                                *      0 => 1 byte
-                                *      1 => 2 bytes
-                                *      2 => 4 bytes -- only value used for i960
-                                */
-      r_extern:1, r_bsr:1,     /* Something for the GNU NS32K assembler */
-      r_disp:1,                        /* Something for the GNU NS32K assembler */
-      r_callj:1,               /* 1 if relocation target is an i960 'callj' */
-      nuthin:1;                        /* Unused                               */
-  };
-
-/* No shared lib support, so we don't need to ensure externally
-   visible symbols can be overridden.  */
-#define EXTERN_FORCE_RELOC 0
-
-/* Makes no sense to use the difference of 2 arbitrary symbols
-   as the target of a call instruction.  */
-#define TC_FORCE_RELOCATION_SUB_SAME(FIX, SEG) \
-  (GENERIC_FORCE_RELOCATION_SUB_SAME (FIX, SEG)        \
-   || (FIX)->fx_tcbit                          \
-   || TC_FORCE_RELOCATION (FIX))
-
-/* reloc_callj() may replace a 'call' with a 'calls' or a
-   'bal', in which cases it modifies *fixP as appropriate.
-   In the case of a 'calls', no further work is required.  */
-extern int reloc_callj (struct fix *);
-
-#define TC_FORCE_RELOCATION_ABS(FIX)           \
-  (TC_FORCE_RELOCATION (FIX)                   \
-   || reloc_callj (FIX))
-
-#define TC_FORCE_RELOCATION_LOCAL(FIX)         \
-  (GENERIC_FORCE_RELOCATION_LOCAL (FIX)                \
-   || reloc_callj (FIX))
-
-#ifdef OBJ_COFF
-
-/* We store the bal information in the sy_tc field.  */
-#define TC_SYMFIELD_TYPE symbolS *
-
-#endif
-
-extern int i960_validate_fix (struct fix *, segT);
-#define TC_VALIDATE_FIX(FIX,SEGTYPE,LABEL) \
-       if (!i960_validate_fix (FIX, SEGTYPE)) goto LABEL
-
-#define tc_fix_adjustable(FIX)         ((FIX)->fx_bsr == 0)
-
-#ifndef OBJ_ELF
-/* Values passed to md_apply_fix sometimes include symbol values.  */
-#define MD_APPLY_SYM_VALUE(FIX) tc_fix_adjustable (FIX)
-#else
-/* Values passed to md_apply_fix don't include the symbol value.  */
-#define MD_APPLY_SYM_VALUE(FIX) 0
-#endif
-
-extern void brtab_emit (void);
-#define md_end()       brtab_emit ()
-
-extern void tc_set_bal_of_call (symbolS *, symbolS *);
-
-extern struct symbol *tc_get_bal_of_call (symbolS *);
-
-extern void i960_handle_align (struct frag *);
-#define HANDLE_ALIGN(FRAG)     i960_handle_align (FRAG)
-#define NO_RELOC -1
-
-#define md_operand(x)
-
-extern const struct relax_type md_relax_table[];
-#define TC_GENERIC_RELAX_TABLE md_relax_table
-
-#define LINKER_RELAXING_SHRINKS_ONLY
-
-#define TC_FIX_TYPE struct { unsigned bsr : 1; }
-#define fx_bsr tc_fix_data.bsr
-#define TC_INIT_FIX_DATA(F)    ((F)->tc_fix_data.bsr = 0)
-
-#endif
index 13fb8970127bc8400320b3a4950c7b3d2081df24..d73d154e00e3c5036853af3630e8811a16a4d47b 100644 (file)
@@ -5405,7 +5405,7 @@ md_estimate_size_before_relax (fragS *fragP, segT segment)
   return md_relax_table[fragP->fr_subtype].rlx_length;
 }
 
   return md_relax_table[fragP->fr_subtype].rlx_length;
 }
 
-#if defined(OBJ_AOUT) | defined(OBJ_BOUT)
+#if defined(OBJ_AOUT)
 /* the bit-field entries in the relocation_info struct plays hell
    with the byte-order problems of cross-assembly.  So as a hack,
    I added this mach. dependent ri twiddler.  Ugly, but it gets
 /* the bit-field entries in the relocation_info struct plays hell
    with the byte-order problems of cross-assembly.  So as a hack,
    I added this mach. dependent ri twiddler.  Ugly, but it gets
@@ -5433,7 +5433,7 @@ md_ri_to_chars (char *the_bytes, struct reloc_info_generic *ri)
 
 #endif
 
 
 #endif
 
-#endif /* OBJ_AOUT or OBJ_BOUT */
+#endif /* OBJ_AOUT */
 
 #ifndef WORKING_DOT_WORD
 int md_short_jump_size = 4;
 
 #ifndef WORKING_DOT_WORD
 int md_short_jump_size = 4;
index 146e86a596bcaccfe6b4737dc03f12db9116d8cb..8b587c8d64ff24ebaef258e05137a01b868d468c 100644 (file)
@@ -6217,8 +6217,7 @@ s3_s_score_lcomm (int bytes_p)
   *p = c;
 
   if (
   *p = c;
 
   if (
-#if (defined (OBJ_AOUT) || defined (OBJ_MAYBE_AOUT)    \
-     || defined (OBJ_BOUT) || defined (OBJ_MAYBE_BOUT))
+#if (defined (OBJ_AOUT) || defined (OBJ_MAYBE_AOUT))
 #ifdef BFD_ASSEMBLER
       (OUTPUT_FLAVOR != bfd_target_aout_flavour
        || (S_GET_OTHER (symbolP) == 0 && S_GET_DESC (symbolP) == 0)) &&
 #ifdef BFD_ASSEMBLER
       (OUTPUT_FLAVOR != bfd_target_aout_flavour
        || (S_GET_OTHER (symbolP) == 0 && S_GET_DESC (symbolP) == 0)) &&
index 9cd660232df8931220c66f174444e23ffda211fc..12271a309c3ce51fe54c551e2598955d7b1ee5eb 100644 (file)
@@ -6077,8 +6077,7 @@ s7_s_score_lcomm (int bytes_p)
   *p = c;
 
   if (
   *p = c;
 
   if (
-#if (defined (OBJ_AOUT) || defined (OBJ_MAYBE_AOUT) \
-     || defined (OBJ_BOUT) || defined (OBJ_MAYBE_BOUT))
+#if (defined (OBJ_AOUT) || defined (OBJ_MAYBE_AOUT))
 #ifdef BFD_ASSEMBLER
        (OUTPUT_FLAVOR != bfd_target_aout_flavour
         || (S_GET_OTHER (symbolP) == 0 && S_GET_DESC (symbolP) == 0)) &&
 #ifdef BFD_ASSEMBLER
        (OUTPUT_FLAVOR != bfd_target_aout_flavour
         || (S_GET_OTHER (symbolP) == 0 && S_GET_DESC (symbolP) == 0)) &&
index c21192af96fec80cf99817483078c92020c1e71b..1994452a83fd9a7f344f784ac1cbfc9afb9f0072 100644 (file)
@@ -365,10 +365,6 @@ sparc_target_format (void)
 #endif
 #endif
 
 #endif
 #endif
 
-#ifdef OBJ_BOUT
-  return "b.out.big";
-#endif
-
 #ifdef OBJ_COFF
 #ifdef TE_LYNX
   return "coff-sparc-lynx";
 #ifdef OBJ_COFF
 #ifdef TE_LYNX
   return "coff-sparc-lynx";
index 0504104295feb0162f188b4537bd8515122b4eea..a4393b538eb0f528a61e3f001be159e23884124c 100755 (executable)
@@ -11936,7 +11936,7 @@ case "${host}" in
 esac
 
 
 esac
 
 
-#We need this for the host.  BOUT header is in host order.
+#We need this for the host.
  { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether byte ordering is bigendian" >&5
 $as_echo_n "checking whether byte ordering is bigendian... " >&6; }
 if test "${ac_cv_c_bigendian+set}" = set; then :
  { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether byte ordering is bigendian" >&5
 $as_echo_n "checking whether byte ordering is bigendian... " >&6; }
 if test "${ac_cv_c_bigendian+set}" = set; then :
@@ -12250,11 +12250,6 @@ $as_echo "#define STRICTCOFF 1" >>confdefs.h
        fi
        ;;
 
        fi
        ;;
 
-      i860-*-*)
-       { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: GAS support for ${generic_target} is preliminary and a work in progress" >&5
-$as_echo "$as_me: WARNING: GAS support for ${generic_target} is preliminary and a work in progress" >&2;}
-       ;;
-
       microblaze*)
         ;;
 
       microblaze*)
         ;;
 
@@ -12862,9 +12857,6 @@ if test `set . $formats ; shift ; echo $#` -gt 1 ; then
     case $fmt in
       aout)
 $as_echo "#define OBJ_MAYBE_AOUT 1" >>confdefs.h
     case $fmt in
       aout)
 $as_echo "#define OBJ_MAYBE_AOUT 1" >>confdefs.h
-   ;;
-      bout)
-$as_echo "#define OBJ_MAYBE_BOUT 1" >>confdefs.h
    ;;
       coff)
 $as_echo "#define OBJ_MAYBE_COFF 1" >>confdefs.h
    ;;
       coff)
 $as_echo "#define OBJ_MAYBE_COFF 1" >>confdefs.h
index 3b0279ae45732c27ea71addb04ff04f1700bcf10..2c4e3eb118a799e8f864886aa4496be3bc0b2583 100644 (file)
@@ -141,7 +141,7 @@ case "${host}" in
 esac
 AC_SUBST(GDBINIT)
 
 esac
 AC_SUBST(GDBINIT)
 
-#We need this for the host.  BOUT header is in host order.
+#We need this for the host.
 AC_C_BIGENDIAN
 
 te_file=generic
 AC_C_BIGENDIAN
 
 te_file=generic
@@ -213,10 +213,6 @@ for this_target in $target $canon_targets ; do
        fi
        ;;
 
        fi
        ;;
 
-      i860-*-*)
-       AC_MSG_WARN(GAS support for ${generic_target} is preliminary and a work in progress)
-       ;;
-
       microblaze*)
         ;;
 
       microblaze*)
         ;;
 
@@ -737,7 +733,6 @@ if test `set . $formats ; shift ; echo $#` -gt 1 ; then
   for fmt in $formats ; do
     case $fmt in
       aout)    AC_DEFINE(OBJ_MAYBE_AOUT, 1,    [a.out support?])   ;;
   for fmt in $formats ; do
     case $fmt in
       aout)    AC_DEFINE(OBJ_MAYBE_AOUT, 1,    [a.out support?])   ;;
-      bout)    AC_DEFINE(OBJ_MAYBE_BOUT, 1,    [b.out support?])   ;;
       coff)    AC_DEFINE(OBJ_MAYBE_COFF, 1,    [COFF support?])    ;;
       ecoff)   AC_DEFINE(OBJ_MAYBE_ECOFF, 1,   [ECOFF support?])   ;;
       elf)     AC_DEFINE(OBJ_MAYBE_ELF, 1,     [ELF support?])     ;;
       coff)    AC_DEFINE(OBJ_MAYBE_COFF, 1,    [COFF support?])    ;;
       ecoff)   AC_DEFINE(OBJ_MAYBE_ECOFF, 1,   [ECOFF support?])   ;;
       elf)     AC_DEFINE(OBJ_MAYBE_ELF, 1,     [ELF support?])     ;;
index 6455fbbb79be8f2748c8002881b1393c7493c539..0f5626b97c1a77e99729e0e012c4f7731f20b617 100644 (file)
@@ -292,10 +292,6 @@ case ${generic_target} in
   i386-*-rdos*)                                fmt=elf ;;
   i386-*-darwin*)                      fmt=macho ;;
 
   i386-*-rdos*)                                fmt=elf ;;
   i386-*-darwin*)                      fmt=macho ;;
 
-  i860-*-*)                            fmt=elf endian=little ;;
-
-  i960-*-elf*)                         fmt=elf ;;
-
   ia16-*-elf*)                         fmt=elf ;;
 
   ia64-*-elf*)                         fmt=elf ;;
   ia16-*-elf*)                         fmt=elf ;;
 
   ia64-*-elf*)                         fmt=elf ;;
index 1faf805889e464b298bf8db662c20174c368039a..aee70ddf9899796f525d27f17947bdc5d9d90861 100644 (file)
@@ -60,8 +60,6 @@ CPU_DOCS = \
        c-hppa.texi \
        c-i370.texi \
        c-i386.texi \
        c-hppa.texi \
        c-i370.texi \
        c-i386.texi \
-       c-i860.texi \
-       c-i960.texi \
        c-ip2k.texi \
        c-lm32.texi \
        c-m32c.texi \
        c-ip2k.texi \
        c-lm32.texi \
        c-m32c.texi \
index 5de99b3020a5a6fbdadab497341743a2e9e1e186..89390931a77a165c9d7249bfd2a3415b0fe1b473 100644 (file)
@@ -335,8 +335,6 @@ CPU_DOCS = \
        c-hppa.texi \
        c-i370.texi \
        c-i386.texi \
        c-hppa.texi \
        c-i370.texi \
        c-i386.texi \
-       c-i860.texi \
-       c-i960.texi \
        c-ip2k.texi \
        c-lm32.texi \
        c-m32c.texi \
        c-ip2k.texi \
        c-lm32.texi \
        c-m32c.texi \
index d3d3719106972ecc1bd54fac31863d54cae30b7d..47d55df4f6b6c3ec019c7f10630ae5ba634a868d 100644 (file)
@@ -39,8 +39,6 @@
 @set HPPA
 @set I370
 @set I80386
 @set HPPA
 @set I370
 @set I80386
-@set I860
-@set I960
 @set IA64
 @set IP2K
 @set LM32
 @set IA64
 @set IP2K
 @set LM32
index 43286e91ec8a3e0489bf8350c68a9285f300bb3e..dfd436f256b0ba0ad340048b4cc3905eaf424a1f 100644 (file)
@@ -32,7 +32,7 @@
 @set COFF-ELF
 @end ifset
 @ifset AOUT
 @set COFF-ELF
 @end ifset
 @ifset AOUT
-@set aout-bout
+@set aout
 @end ifset
 @ifset ARM/Thumb
 @set ARM
 @end ifset
 @ifset ARM/Thumb
 @set ARM
@@ -40,9 +40,6 @@
 @ifset Blackfin
 @set Blackfin
 @end ifset
 @ifset Blackfin
 @set Blackfin
 @end ifset
-@ifset BOUT
-@set aout-bout
-@end ifset
 @ifset H8/300
 @set H8
 @end ifset
 @ifset H8/300
 @set H8
 @end ifset
@@ -337,14 +334,6 @@ gcc(1), ld(1), and the Info entries for @file{binutils} and @file{ld}.
    [@b{--32}|@b{--x32}|@b{--64}] [@b{-n}]
    [@b{-march}=@var{CPU}[+@var{EXTENSION}@dots{}]] [@b{-mtune}=@var{CPU}]
 @end ifset
    [@b{--32}|@b{--x32}|@b{--64}] [@b{-n}]
    [@b{-march}=@var{CPU}[+@var{EXTENSION}@dots{}]] [@b{-mtune}=@var{CPU}]
 @end ifset
-@ifset I960
-
-@emph{Target i960 options:}
-@c see md_parse_option in tc-i960.c
-   [@b{-ACA}|@b{-ACA_A}|@b{-ACB}|@b{-ACC}|@b{-AKA}|@b{-AKB}|
-    @b{-AKC}|@b{-AMC}]
-   [@b{-b}] [@b{-no-relax}]
-@end ifset
 @ifset IA64
 
 @emph{Target IA-64 options:}
 @ifset IA64
 
 @emph{Target IA-64 options:}
@@ -1069,24 +1058,6 @@ an i386 processor.
 @end ifset
 
 @c man begin OPTIONS
 @end ifset
 
 @c man begin OPTIONS
-@ifset I960
-The following options are available when @value{AS} is configured for the
-Intel 80960 processor.
-
-@table @gcctabopt
-@item -ACA | -ACA_A | -ACB | -ACC | -AKA | -AKB | -AKC | -AMC
-Specify which variant of the 960 architecture is the target.
-
-@item -b
-Add code to collect statistics about branches taken.
-
-@item -no-relax
-Do not alter compare-and-branch instructions for long displacements;
-error if necessary.
-
-@end table
-@end ifset
-
 @ifset IP2K
 The following options are available when @value{AS} is configured for the
 Ubicom IP2K series.
 @ifset IP2K
 The following options are available when @value{AS} is configured for the
 Ubicom IP2K series.
@@ -1995,10 +1966,6 @@ For the @value{TARGET} target, @command{@value{AS}} is configured to produce
 @value{OBJ-NAME} format object files.
 @end ifclear
 @c The following should exhaust all configs that set MULTI-OBJ, ideally
 @value{OBJ-NAME} format object files.
 @end ifclear
 @c The following should exhaust all configs that set MULTI-OBJ, ideally
-@ifset I960
-On the @value{TARGET}, @command{@value{AS}} can be configured to produce either
-@code{b.out} or COFF format object files.
-@end ifset
 @ifset HPPA
 On the @value{TARGET}, @command{@value{AS}} can be configured to produce either
 SOM or ELF format object files.
 @ifset HPPA
 On the @value{TARGET}, @command{@value{AS}} can be configured to produce either
 SOM or ELF format object files.
@@ -2104,16 +2071,7 @@ is itself synthesized from other files.  @command{@value{AS}} understands the
 @kindex .o
 Every time you run @command{@value{AS}} it produces an output file, which is
 your assembly language program translated into numbers.  This file
 @kindex .o
 Every time you run @command{@value{AS}} it produces an output file, which is
 your assembly language program translated into numbers.  This file
-is the object file.  Its default name is
-@ifclear BOUT
-@code{a.out}.
-@end ifclear
-@ifset BOUT
-@ifset GENERIC
-@code{a.out}, or
-@end ifset
-@code{b.out} when @command{@value{AS}} is configured for the Intel 80960.
-@end ifset
+is the object file.  Its default name is @code{a.out}.
 You can give it another name by using the @option{-o} option.  Conventionally,
 object file names end with @file{.o}.  The default name is used for historical
 reasons: older assemblers were capable of assembling self-contained programs
 You can give it another name by using the @option{-o} option.  Conventionally,
 object file names end with @file{.o}.  The default name is used for historical
 reasons: older assemblers were capable of assembling self-contained programs
@@ -2447,8 +2405,8 @@ displayed for a given single line of source input.  The default value is 4.
 @cindex MRI compatibility mode
 The @option{-M} or @option{--mri} option selects MRI compatibility mode.  This
 changes the syntax and pseudo-op handling of @command{@value{AS}} to make it
 @cindex MRI compatibility mode
 The @option{-M} or @option{--mri} option selects MRI compatibility mode.  This
 changes the syntax and pseudo-op handling of @command{@value{AS}} to make it
-compatible with the @code{ASM68K} or the @code{ASM960} (depending upon the
-configured target) assembler from Microtec Research.  The exact nature of the
+compatible with the @code{ASM68K} assembler from Microtec Research.
+The exact nature of the
 MRI syntax will not be documented here; see the MRI manuals for more
 information.  Note in particular that the handling of macros and macro
 arguments is somewhat different.  The purpose of this option is to permit
 MRI syntax will not be documented here; see the MRI manuals for more
 information.  Note in particular that the handling of macros and macro
 arguments is somewhat different.  The purpose of this option is to permit
@@ -2545,30 +2503,6 @@ The m68k @code{OPT} @code{D} option is the default, unlike the MRI assembler.
 
 The m68k @code{XREF} pseudo-op is ignored.
 
 
 The m68k @code{XREF} pseudo-op is ignored.
 
-@item @code{.debug} pseudo-op
-
-The i960 @code{.debug} pseudo-op is not supported.
-
-@item @code{.extended} pseudo-op
-
-The i960 @code{.extended} pseudo-op is not supported.
-
-@item @code{.list} pseudo-op.
-
-The various options of the i960 @code{.list} pseudo-op are not supported.
-
-@item @code{.optimize} pseudo-op
-
-The i960 @code{.optimize} pseudo-op is not supported.
-
-@item @code{.output} pseudo-op
-
-The i960 @code{.output} pseudo-op is not supported.
-
-@item @code{.setreal} pseudo-op
-
-The i960 @code{.setreal} pseudo-op is not supported.
-
 @end itemize
 
 @node MD
 @end itemize
 
 @node MD
@@ -2602,23 +2536,7 @@ disable this behaviour.
 @cindex naming object file
 @cindex object file name
 There is always one object file output when you run @command{@value{AS}}.  By
 @cindex naming object file
 @cindex object file name
 There is always one object file output when you run @command{@value{AS}}.  By
-default it has the name
-@ifset GENERIC
-@ifset I960
-@file{a.out} (or @file{b.out}, for Intel 960 targets only).
-@end ifset
-@ifclear I960
-@file{a.out}.
-@end ifclear
-@end ifset
-@ifclear GENERIC
-@ifset I960
-@file{b.out}.
-@end ifset
-@ifclear I960
-@file{a.out}.
-@end ifclear
-@end ifclear
+default it has the name @file{a.out}.
 You use this option (which takes exactly one filename) to give the
 object file a different name.
 
 You use this option (which takes exactly one filename) to give the
 object file a different name.
 
@@ -3153,9 +3071,6 @@ are floating point numbers, described below.
 * Bignums::                     Bignums
 * Flonums::                     Flonums
 @ifclear GENERIC
 * Bignums::                     Bignums
 * Flonums::                     Flonums
 @ifclear GENERIC
-@ifset I960
-* Bit Fields::                  Bit Fields
-@end ifset
 @end ifclear
 @end menu
 
 @end ifclear
 @end menu
 
@@ -3230,16 +3145,12 @@ A letter, to tell @command{@value{AS}} the rest of the number is a flonum.
 4.2 assembler seems to allow any of @samp{defghDEFGH}.)
 @end ignore
 
 4.2 assembler seems to allow any of @samp{defghDEFGH}.)
 @end ignore
 
-On the H8/300, Renesas / SuperH SH,
-and AMD 29K architectures, the letter must be
+On the H8/300 and Renesas / SuperH SH architectures, the letter must be
 one of the letters @samp{DFPRSX} (in upper or lower case).
 
 On the ARC, the letter must be one of the letters @samp{DFRS}
 (in upper or lower case).
 
 one of the letters @samp{DFPRSX} (in upper or lower case).
 
 On the ARC, the letter must be one of the letters @samp{DFRS}
 (in upper or lower case).
 
-On the Intel 960 architecture, the letter must be
-one of the letters @samp{DFT} (in upper or lower case).
-
 On the HPPA architecture, the letter must be @samp{E} (upper case only).
 @end ifset
 @ifclear GENERIC
 On the HPPA architecture, the letter must be @samp{E} (upper case only).
 @end ifset
 @ifclear GENERIC
@@ -3252,9 +3163,6 @@ One of the letters @samp{DFPRSX} (in upper or lower case).
 @ifset HPPA
 The letter @samp{E} (upper case only).
 @end ifset
 @ifset HPPA
 The letter @samp{E} (upper case only).
 @end ifset
-@ifset I960
-One of the letters @samp{DFT} (in upper or lower case).
-@end ifset
 @end ifclear
 
 @item
 @end ifclear
 
 @item
@@ -3290,41 +3198,6 @@ present.  The floating point number has the usual base-10 value.
 independently of any floating point hardware in the computer running
 @command{@value{AS}}.
 
 independently of any floating point hardware in the computer running
 @command{@value{AS}}.
 
-@ifclear GENERIC
-@ifset I960
-@c Bit fields are written as a general facility but are also controlled
-@c by a conditional-compilation flag---which is as of now (21mar91)
-@c turned on only by the i960 config of GAS.
-@node Bit Fields
-@subsubsection Bit Fields
-
-@cindex bit fields
-@cindex constants, bit field
-You can also define numeric constants as @dfn{bit fields}.
-Specify two numbers separated by a colon---
-@example
-@var{mask}:@var{value}
-@end example
-@noindent
-@command{@value{AS}} applies a bitwise @sc{and} between @var{mask} and
-@var{value}.
-
-The resulting number is then packed
-@ifset GENERIC
-@c this conditional paren in case bit fields turned on elsewhere than 960
-(in host-dependent byte order)
-@end ifset
-into a field whose width depends on which assembler directive has the
-bit-field as its argument.  Overflow (a result from the bitwise and
-requiring more binary digits to represent) is not an error; instead,
-more constants are generated, of the specified width, beginning with the
-least significant digits.@refill
-
-The directives @code{.byte}, @code{.hword}, @code{.int}, @code{.long},
-@code{.short}, and @code{.word} accept bit-field arguments.
-@end ifset
-@end ifclear
-
 @node Sections
 @chapter Sections and Relocation
 @cindex sections
 @node Sections
 @chapter Sections and Relocation
 @cindex sections
@@ -3486,7 +3359,7 @@ use of @command{@value{AS}} and have no meaning except during assembly.
 @cindex sections, named
 @item named sections
 @end ifset
 @cindex sections, named
 @item named sections
 @end ifset
-@ifset aout-bout
+@ifset aout
 @cindex text section
 @cindex data section
 @itemx text section
 @cindex text section
 @cindex data section
 @itemx text section
@@ -3495,7 +3368,7 @@ use of @command{@value{AS}} and have no meaning except during assembly.
 These sections hold your program.  @command{@value{AS}} and @code{@value{LD}} treat them as
 separate but equal sections.  Anything you can say of one section is
 true of another.
 These sections hold your program.  @command{@value{AS}} and @code{@value{LD}} treat them as
 separate but equal sections.  Anything you can say of one section is
 true of another.
-@c @ifset aout-bout
+@c @ifset aout
 When the program is running, however, it is
 customary for the text section to be unalterable.  The
 text section is often shared among processes: it contains
 When the program is running, however, it is
 customary for the text section to be unalterable.  The
 text section is often shared among processes: it contains
@@ -3615,7 +3488,7 @@ it in the expr section.
 
 @cindex numbered subsections
 @cindex grouping data
 
 @cindex numbered subsections
 @cindex grouping data
-@ifset aout-bout
+@ifset aout
 Assembled bytes
 @ifset COFF-ELF
 conventionally
 Assembled bytes
 @ifset COFF-ELF
 conventionally
@@ -3627,10 +3500,10 @@ You may have separate groups of
 data in named sections
 @end ifset
 @ifclear GENERIC
 data in named sections
 @end ifset
 @ifclear GENERIC
-@ifclear aout-bout
+@ifclear aout
 data in named sections
 @end ifclear
 data in named sections
 @end ifclear
-@ifset aout-bout
+@ifset aout
 text or data
 @end ifset
 @end ifclear
 text or data
 @end ifset
 @end ifclear
@@ -3659,14 +3532,6 @@ On the H8/300 platform, each subsection is zero-padded to a word
 boundary (two bytes).
 The same is true on the Renesas SH.
 @end ifset
 boundary (two bytes).
 The same is true on the Renesas SH.
 @end ifset
-@ifset I960
-@c FIXME section padding (alignment)?
-@c Rich Pixley says padding here depends on target obj code format; that
-@c doesn't seem particularly useful to say without further elaboration,
-@c so for now I say nothing about it.  If this is a generic BFD issue,
-@c these paragraphs might need to vanish from this manual, and be
-@c discussed in BFD chapter of binutils (or some such).
-@end ifset
 @end ifclear
 
 Subsections appear in your object file in numeric order, lowest numbered
 @end ifclear
 
 Subsections appear in your object file in numeric order, lowest numbered
@@ -3990,19 +3855,9 @@ would want.
 @menu
 * Symbol Value::                Value
 * Symbol Type::                 Type
 @menu
 * Symbol Value::                Value
 * Symbol Type::                 Type
-@ifset aout-bout
-@ifset GENERIC
+@ifset aout
 * a.out Symbols::               Symbol Attributes: @code{a.out}
 @end ifset
 * a.out Symbols::               Symbol Attributes: @code{a.out}
 @end ifset
-@ifclear GENERIC
-@ifclear BOUT
-* a.out Symbols::               Symbol Attributes: @code{a.out}
-@end ifclear
-@ifset BOUT
-* a.out Symbols::               Symbol Attributes: @code{a.out}, @code{b.out}
-@end ifset
-@end ifclear
-@end ifset
 @ifset COFF
 * COFF Symbols::                Symbol Attributes for COFF
 @end ifset
 @ifset COFF
 * COFF Symbols::                Symbol Attributes for COFF
 @end ifset
@@ -4043,39 +3898,13 @@ information, any flag settings indicating that a symbol is external, and
 (optionally), other information for linkers and debuggers.  The exact
 format depends on the object-code output format in use.
 
 (optionally), other information for linkers and debuggers.  The exact
 format depends on the object-code output format in use.
 
-@ifset aout-bout
-@ifclear GENERIC
-@ifset BOUT
-@c The following avoids a "widow" subsection title.  @group would be
-@c better if it were available outside examples.
-@need 1000
-@node a.out Symbols
-@subsection Symbol Attributes: @code{a.out}, @code{b.out}
-
-@cindex @code{b.out} symbol attributes
-@cindex symbol attributes, @code{b.out}
-These symbol attributes appear only when @command{@value{AS}} is configured for
-one of the Berkeley-descended object output formats---@code{a.out} or
-@code{b.out}.
-
-@end ifset
-@ifclear BOUT
-@node a.out Symbols
-@subsection Symbol Attributes: @code{a.out}
-
-@cindex @code{a.out} symbol attributes
-@cindex symbol attributes, @code{a.out}
-
-@end ifclear
-@end ifclear
-@ifset GENERIC
+@ifset aout
 @node a.out Symbols
 @subsection Symbol Attributes: @code{a.out}
 
 @cindex @code{a.out} symbol attributes
 @cindex symbol attributes, @code{a.out}
 
 @node a.out Symbols
 @subsection Symbol Attributes: @code{a.out}
 
 @cindex @code{a.out} symbol attributes
 @cindex symbol attributes, @code{a.out}
 
-@end ifset
 @menu
 * Symbol Desc::                 Descriptor
 * Symbol Other::                Other
 @menu
 * Symbol Desc::                 Descriptor
 * Symbol Other::                Other
@@ -4410,7 +4239,7 @@ Some machine configurations provide additional directives.
 @ifset COFF
 * Def::                         @code{.def @var{name}}
 @end ifset
 @ifset COFF
 * Def::                         @code{.def @var{name}}
 @end ifset
-@ifset aout-bout
+@ifset aout
 * Desc::                        @code{.desc @var{symbol}, @var{abs-expression}}
 @end ifset
 @ifset COFF
 * Desc::                        @code{.desc @var{symbol}, @var{abs-expression}}
 @end ifset
 @ifset COFF
@@ -4594,10 +4423,6 @@ quit also.  One day @code{.abort} will not be supported.
 When producing COFF output, @command{@value{AS}} accepts this directive as a
 synonym for @samp{.abort}.
 
 When producing COFF output, @command{@value{AS}} accepts this directive as a
 synonym for @samp{.abort}.
 
-@ifset BOUT
-When producing @code{b.out} output, @command{@value{AS}} accepts this directive,
-but ignores it.
-@end ifset
 @end ifset
 
 @node Align
 @end ifset
 
 @node Align
@@ -4624,7 +4449,7 @@ required alignment; this can be useful if you want the alignment to be filled
 with no-op instructions when appropriate.
 
 The way the required alignment is specified varies from system to system.
 with no-op instructions when appropriate.
 
 The way the required alignment is specified varies from system to system.
-For the arc, hppa, i386 using ELF, i860, iq2000, m68k, or1k,
+For the arc, hppa, i386 using ELF, iq2000, m68k, or1k,
 s390, sparc, tic4x, tic80 and xtensa, the first expression is the
 alignment request in bytes.  For example @samp{.align 8} advances
 the location counter until it is a multiple of 8.  If the location counter
 s390, sparc, tic4x, tic80 and xtensa, the first expression is the
 alignment request in bytes.  For example @samp{.align 8} advances
 the location counter until it is a multiple of 8.  If the location counter
@@ -5163,15 +4988,9 @@ The byte ordering is target dependent.
 @cindex debugging COFF symbols
 Begin defining debugging information for a symbol @var{name}; the
 definition extends until the @code{.endef} directive is encountered.
 @cindex debugging COFF symbols
 Begin defining debugging information for a symbol @var{name}; the
 definition extends until the @code{.endef} directive is encountered.
-@ifset BOUT
-
-This directive is only observed when @command{@value{AS}} is configured for COFF
-format output; when producing @code{b.out}, @samp{.def} is recognized,
-but ignored.
-@end ifset
 @end ifset
 
 @end ifset
 
-@ifset aout-bout
+@ifset aout
 @node Desc
 @section @code{.desc @var{symbol}, @var{abs-expression}}
 
 @node Desc
 @section @code{.desc @var{symbol}, @var{abs-expression}}
 
@@ -5199,12 +5018,6 @@ it, but produces no output, when configured for COFF.
 This directive is generated by compilers to include auxiliary debugging
 information in the symbol table.  It is only permitted inside
 @code{.def}/@code{.endef} pairs.
 This directive is generated by compilers to include auxiliary debugging
 information in the symbol table.  It is only permitted inside
 @code{.def}/@code{.endef} pairs.
-@ifset BOUT
-
-@samp{.dim} is only meaningful when generating COFF format output; when
-@command{@value{AS}} is generating @code{b.out}, it accepts this directive but
-ignores it.
-@end ifset
 @end ifset
 
 @node Double
 @end ifset
 
 @node Double
@@ -5265,12 +5078,6 @@ process anything in the file past the @code{.end} directive.
 @cindex @code{endef} directive
 This directive flags the end of a symbol definition begun with
 @code{.def}.
 @cindex @code{endef} directive
 This directive flags the end of a symbol definition begun with
 @code{.def}.
-@ifset BOUT
-
-@samp{.endef} is only meaningful when generating COFF format output; if
-@command{@value{AS}} is configured to generate @code{b.out}, it accepts this
-directive but ignores it.
-@end ifset
 @end ifset
 
 @node Endfunc
 @end ifset
 
 @node Endfunc
@@ -5801,7 +5608,7 @@ assemblers, but ignores it.
 
 @cindex @code{line} directive
 @cindex logical line number
 
 @cindex @code{line} directive
 @cindex logical line number
-@ifset aout-bout
+@ifset aout
 Change the logical line number.  @var{line-number} must be an absolute
 expression.  The next line has that logical line number.  Therefore any other
 statements on the current line (after a statement separator character) are
 Change the logical line number.  @var{line-number} must be an absolute
 expression.  The next line has that logical line number.  Therefore any other
 statements on the current line (after a statement separator character) are
@@ -5886,12 +5693,6 @@ must be an absolute expression.  The next line has that logical
 line number, so any other statements on the current line (after a
 statement separator character @code{;}) are reported as on logical
 line number @var{line-number} @minus{} 1.
 line number, so any other statements on the current line (after a
 statement separator character @code{;}) are reported as on logical
 line number @var{line-number} @minus{} 1.
-@ifset BOUT
-
-This directive is accepted, but ignored, when @command{@value{AS}} is
-configured for @code{b.out}; its effect is only associated with COFF
-output format.
-@end ifset
 @end ifset
 
 @node Loc
 @end ifset
 
 @node Loc
@@ -6220,7 +6021,7 @@ instruction size limit is set to the maximum supported size.
 @node Octa
 @section @code{.octa @var{bignums}}
 
 @node Octa
 @section @code{.octa @var{bignums}}
 
-@c FIXME: double size emitted for "octa" on i960, others?  Or warn?
+@c FIXME: double size emitted for "octa" on some?  Or warn?
 @cindex @code{octa} directive
 @cindex integer, 16-byte
 @cindex sixteen byte integer
 @cindex @code{octa} directive
 @cindex integer, 16-byte
 @cindex sixteen byte integer
@@ -6535,12 +6336,6 @@ Set the storage-class value for a symbol.  This directive may only be
 used inside a @code{.def}/@code{.endef} pair.  Storage class may flag
 whether a symbol is static or external, or it may record further
 symbolic debugging information.
 used inside a @code{.def}/@code{.endef} pair.  Storage class may flag
 whether a symbol is static or external, or it may record further
 symbolic debugging information.
-@ifset BOUT
-
-The @samp{.scl} directive is primarily associated with COFF output; when
-configured to generate @code{b.out} output format, @command{@value{AS}}
-accepts this directive but ignores it.
-@end ifset
 @end ifset
 
 @ifset COFF-ELF
 @end ifset
 
 @ifset COFF-ELF
@@ -6900,11 +6695,6 @@ For COFF targets, the @code{.size} directive is only permitted inside
 .size @var{expression}
 @end smallexample
 
 .size @var{expression}
 @end smallexample
 
-@ifset BOUT
-@samp{.size} is only meaningful when generating COFF format output; when
-@command{@value{AS}} is generating @code{b.out}, it accepts this directive but
-ignores it.
-@end ifset
 @end ifset
 
 @ifset ELF
 @end ifset
 
 @ifset ELF
@@ -7172,12 +6962,6 @@ This directive is generated by compilers to include auxiliary debugging
 information in the symbol table.  It is only permitted inside
 @code{.def}/@code{.endef} pairs.  Tags are used to link structure
 definitions in the symbol table with instances of those structures.
 information in the symbol table.  It is only permitted inside
 @code{.def}/@code{.endef} pairs.  Tags are used to link structure
 definitions in the symbol table with instances of those structures.
-@ifset BOUT
-
-@samp{.tag} is only used when generating COFF format output; when
-@command{@value{AS}} is generating @code{b.out}, it accepts this directive but
-ignores it.
-@end ifset
 @end ifset
 
 @node Text
 @end ifset
 
 @node Text
@@ -7225,11 +7009,6 @@ For COFF targets, this directive is permitted only within
 This records the integer @var{int} as the type attribute of a symbol table
 entry.
 
 This records the integer @var{int} as the type attribute of a symbol table
 entry.
 
-@ifset BOUT
-@samp{.type} is associated only with COFF format output; when
-@command{@value{AS}} is configured for @code{b.out} output, it accepts this
-directive but ignores it.
-@end ifset
 @end ifset
 
 @ifset ELF
 @end ifset
 
 @ifset ELF
@@ -7328,11 +7107,6 @@ symbolic debugging format.  @xref{Sleb128, ,@code{.sleb128}}.
 This directive, permitted only within @code{.def}/@code{.endef} pairs,
 records the address @var{addr} as the value attribute of a symbol table
 entry.
 This directive, permitted only within @code{.def}/@code{.endef} pairs,
 records the address @var{addr} as the value attribute of a symbol table
 entry.
-@ifset BOUT
-
-@samp{.val} is used only for COFF output; when @command{@value{AS}} is
-configured for @code{b.out}, it accepts this directive but ignores it.
-@end ifset
 @end ifset
 
 @ifset ELF
 @end ifset
 
 @ifset ELF
@@ -7422,7 +7196,7 @@ The size of the number emitted, and its byte order,
 depend on what target computer the assembly is for.
 @end ifset
 
 depend on what target computer the assembly is for.
 @end ifset
 
-@c on amd29k, i960, sparc the "special treatment to support compilers" doesn't
+@c on sparc the "special treatment to support compilers" doesn't
 @c happen---32-bit addressability, period; no long/short jumps.
 @ifset DIFF-TBL-KLUGE
 @cindex difference tables altered
 @c happen---32-bit addressability, period; no long/short jumps.
 @ifset DIFF-TBL-KLUGE
 @cindex difference tables altered
@@ -7764,12 +7538,6 @@ subject, see the hardware manufacturer's manual.
 @ifset I80386
 * i386-Dependent::              Intel 80386 and AMD x86-64 Dependent Features
 @end ifset
 @ifset I80386
 * i386-Dependent::              Intel 80386 and AMD x86-64 Dependent Features
 @end ifset
-@ifset I860
-* i860-Dependent::              Intel 80860 Dependent Features
-@end ifset
-@ifset I960
-* i960-Dependent::              Intel 80960 Dependent Features
-@end ifset
 @ifset IA64
 * IA-64-Dependent::             Intel IA-64 Dependent Features
 @end ifset
 @ifset IA64
 * IA-64-Dependent::             Intel IA-64 Dependent Features
 @end ifset
@@ -7979,14 +7747,6 @@ family.
 @include c-i386.texi
 @end ifset
 
 @include c-i386.texi
 @end ifset
 
-@ifset I860
-@include c-i860.texi
-@end ifset
-
-@ifset I960
-@include c-i960.texi
-@end ifset
-
 @ifset IA64
 @include c-ia64.texi
 @end ifset
 @ifset IA64
 @include c-ia64.texi
 @end ifset
diff --git a/gas/doc/c-i860.texi b/gas/doc/c-i860.texi
deleted file mode 100644 (file)
index 6e6726b..0000000
+++ /dev/null
@@ -1,197 +0,0 @@
-@c Copyright (C) 2000-2018 Free Software Foundation, Inc.
-@c This is part of the GAS manual.
-@c For copying conditions, see the file as.texinfo.
-@ifset GENERIC
-@page
-@node i860-Dependent
-@chapter Intel i860 Dependent Features
-@end ifset
-@ifclear GENERIC
-@node Machine Dependencies
-@chapter Intel i860 Dependent Features
-@end ifclear
-
-@ignore
-@c FIXME: This is basically a stub for i860. There is tons more information
-that I will add later (jle@cygnus.com).
-@end ignore
-
-@cindex i860 support
-@menu
-* Notes-i860::                  i860 Notes
-* Options-i860::                i860 Command-line Options
-* Directives-i860::             i860 Machine Directives
-* Opcodes for i860::            i860 Opcodes
-* Syntax of i860::              i860 Syntax
-@end menu
-
-@node Notes-i860
-@section i860 Notes
-This is a fairly complete i860 assembler which is compatible with the
-UNIX System V/860 Release 4 assembler. However, it does not currently
-support SVR4 PIC (i.e., @code{@@GOT, @@GOTOFF, @@PLT}).
-
-Like the SVR4/860 assembler, the output object format is ELF32. Currently,
-this is the only supported object format. If there is sufficient interest,
-other formats such as COFF may be implemented.
-
-Both the Intel and AT&T/SVR4 syntaxes are supported, with the latter
-being the default.  One difference is that AT&T syntax requires the '%'
-prefix on register names while Intel syntax does not.  Another difference
-is in the specification of relocatable expressions.  The Intel syntax
-is @code{ha%expression} whereas the SVR4 syntax is @code{[expression]@@ha}
-(and similarly for the "l" and "h" selectors).
-@node Options-i860
-@section i860 Command-line Options
-@subsection SVR4 compatibility options
-@table @code
-@item -V
-Print assembler version.
-@item -Qy
-Ignored.
-@item -Qn
-Ignored.
-@end table
-@subsection Other options
-@table @code
-@item -EL
-Select little endian output (this is the default).
-@item -EB
-Select big endian output. Note that the i860 always reads instructions
-as little endian data, so this option only effects data and not
-instructions.
-@item -mwarn-expand
-Emit a warning message if any pseudo-instruction expansions occurred.
-For example, a @code{or} instruction with an immediate larger than 16-bits
-will be expanded into two instructions. This is a very undesirable feature to
-rely on, so this flag can help detect any code where it happens. One
-use of it, for instance, has been to find and eliminate any place
-where @code{gcc} may emit these pseudo-instructions.
-@item -mxp
-Enable support for the i860XP instructions and control registers.  By default,
-this option is disabled so that only the base instruction set (i.e., i860XR)
-is supported.
-@item -mintel-syntax
-The i860 assembler defaults to AT&T/SVR4 syntax.  This option enables the
-Intel syntax.
-@end table
-
-@node Directives-i860
-@section i860 Machine Directives
-
-@cindex machine directives, i860
-@cindex i860 machine directives
-
-@table @code
-@cindex @code{dual} directive, i860
-@item .dual
-Enter dual instruction mode. While this directive is supported, the
-preferred way to use dual instruction mode is to explicitly code
-the dual bit with the @code{d.} prefix.
-@end table
-
-@table @code
-@cindex @code{enddual} directive, i860
-@item .enddual
-Exit dual instruction mode. While this directive is supported, the
-preferred way to use dual instruction mode is to explicitly code
-the dual bit with the @code{d.} prefix.
-@end table
-
-@table @code
-@cindex @code{atmp} directive, i860
-@item .atmp
-Change the temporary register used when expanding pseudo operations. The
-default register is @code{r31}.
-@end table
-
-The @code{.dual}, @code{.enddual}, and @code{.atmp} directives are available only in the Intel syntax mode.
-
-Both syntaxes allow for the standard @code{.align} directive.  However,
-the Intel syntax additionally allows keywords for the alignment
-parameter: "@code{.align type}", where `type' is one of @code{.short}, @code{.long},
-@code{.quad}, @code{.single}, @code{.double} representing alignments of 2, 4,
-16, 4, and 8, respectively.
-
-@node Opcodes for i860
-@section i860 Opcodes
-
-@cindex opcodes, i860
-@cindex i860 opcodes
-All of the Intel i860XR and i860XP machine instructions are supported. Please see
-either @emph{i860 Microprocessor Programmer's Reference Manual} or @emph{i860 Microprocessor Architecture} for more information.
-@subsection Other instruction support (pseudo-instructions)
-For compatibility with some other i860 assemblers, a number of
-pseudo-instructions are supported. While these are supported, they are
-a very undesirable feature that should be avoided -- in particular, when
-they result in an expansion to multiple actual i860 instructions. Below
-are the pseudo-instructions that result in expansions.
-@itemize @bullet
-@item Load large immediate into general register:
-
-The pseudo-instruction @code{mov imm,%rn} (where the immediate does
-not fit within a signed 16-bit field) will be expanded into:
-@smallexample
-orh large_imm@@h,%r0,%rn
-or large_imm@@l,%rn,%rn
-@end smallexample
-@item Load/store with relocatable address expression:
-
-For example, the pseudo-instruction @code{ld.b addr_exp(%rx),%rn}
-will be expanded into:
-@smallexample
-orh addr_exp@@ha,%rx,%r31
-ld.l addr_exp@@l(%r31),%rn
-@end smallexample
-
-The analogous expansions apply to @code{ld.x, st.x, fld.x, pfld.x, fst.x}, and @code{pst.x} as well.
-@item Signed large immediate with add/subtract:
-
-If any of the arithmetic operations @code{adds, addu, subs, subu} are used
-with an immediate larger than 16-bits (signed), then they will be expanded.
-For instance, the pseudo-instruction @code{adds large_imm,%rx,%rn} expands to:
-@smallexample
-orh large_imm@@h,%r0,%r31
-or large_imm@@l,%r31,%r31
-adds %r31,%rx,%rn
-@end smallexample
-@item Unsigned large immediate with logical operations:
-
-Logical operations (@code{or, andnot, or, xor}) also result in expansions.
-The pseudo-instruction @code{or large_imm,%rx,%rn} results in:
-@smallexample
-orh large_imm@@h,%rx,%r31
-or large_imm@@l,%r31,%rn
-@end smallexample
-
-Similarly for the others, except for @code{and} which expands to:
-@smallexample
-andnot (-1 - large_imm)@@h,%rx,%r31
-andnot (-1 - large_imm)@@l,%r31,%rn
-@end smallexample
-@end itemize
-
-@node Syntax of i860
-@section i860 Syntax
-@menu
-* i860-Chars::                Special Characters
-@end menu
-
-@node i860-Chars
-@subsection Special Characters
-
-@cindex line comment character, i860
-@cindex i860 line comment character
-The presence of a @samp{#} appearing anywhere on a line indicates the
-start of a comment that extends to the end of that line.
-
-If a @samp{#} appears as the first character of a line then the whole
-line is treated as a comment, but in this case the line can also be a
-logical line number directive (@pxref{Comments}) or a preprocessor
-control command (@pxref{Preprocessing}).
-
-@cindex line separator, i860
-@cindex statement separator, i860
-@cindex i860 line separator
-The @samp{;} character can be used to separate statements on the same
-line.
diff --git a/gas/doc/c-i960.texi b/gas/doc/c-i960.texi
deleted file mode 100644 (file)
index 61ff13b..0000000
+++ /dev/null
@@ -1,324 +0,0 @@
-@c Copyright (C) 1991-2018 Free Software Foundation, Inc.
-@c This is part of the GAS manual.
-@c For copying conditions, see the file as.texinfo.
-@ifset GENERIC
-@page
-@node i960-Dependent
-@chapter Intel 80960 Dependent Features
-@end ifset
-@ifclear GENERIC
-@node Machine Dependencies
-@chapter Intel 80960 Dependent Features
-@end ifclear
-
-@cindex i960 support
-@menu
-* Options-i960::                i960 Command-line Options
-* Floating Point-i960::         Floating Point
-* Directives-i960::             i960 Machine Directives
-* Opcodes for i960::            i960 Opcodes
-* Syntax of i960::              i960 Syntax
-@end menu
-
-@c FIXME! Add Syntax sec with discussion of bitfields here, at least so
-@c long as they're not turned on for other machines than 960.
-
-@node Options-i960
-
-@section i960 Command-line Options
-
-@cindex i960 options
-@cindex options, i960
-@table @code
-
-@cindex i960 architecture options
-@cindex architecture options, i960
-@cindex @code{-A} options, i960
-@item -ACA | -ACA_A | -ACB | -ACC | -AKA | -AKB | -AKC | -AMC
-Select the 80960 architecture.  Instructions or features not supported
-by the selected architecture cause fatal errors.
-
-@samp{-ACA} is equivalent to @samp{-ACA_A}; @samp{-AKC} is equivalent to
-@samp{-AMC}.  Synonyms are provided for compatibility with other tools.
-
-If you do not specify any of these options, @code{@value{AS}} generates code
-for any instruction or feature that is supported by @emph{some} version of the
-960 (even if this means mixing architectures!).  In principle,
-@code{@value{AS}} attempts to deduce the minimal sufficient processor type if
-none is specified; depending on the object code format, the processor type may
-be recorded in the object file.  If it is critical that the @code{@value{AS}}
-output match a specific architecture, specify that architecture explicitly.
-
-@cindex @code{-b} option, i960
-@cindex branch recording, i960
-@cindex i960 branch recording
-@item -b
-Add code to collect information about conditional branches taken, for
-later optimization using branch prediction bits.  (The conditional branch
-instructions have branch prediction bits in the CA, CB, and CC
-architectures.)  If @var{BR} represents a conditional branch instruction,
-the following represents the code generated by the assembler when
-@samp{-b} is specified:
-
-@smallexample
-        call    @var{increment routine}
-        .word   0       # pre-counter
-Label:  @var{BR}
-        call    @var{increment routine}
-        .word   0       # post-counter
-@end smallexample
-
-The counter following a branch records the number of times that branch
-was @emph{not} taken; the difference between the two counters is the
-number of times the branch @emph{was} taken.
-
-@cindex @code{gbr960}, i960 postprocessor
-@cindex branch statistics table, i960
-A table of every such @code{Label} is also generated, so that the
-external postprocessor @code{gbr960} (supplied by Intel) can locate all
-the counters.  This table is always labeled @samp{__BRANCH_TABLE__};
-this is a local symbol to permit collecting statistics for many separate
-object files.  The table is word aligned, and begins with a two-word
-header.  The first word, initialized to 0, is used in maintaining linked
-lists of branch tables.  The second word is a count of the number of
-entries in the table, which follow immediately: each is a word, pointing
-to one of the labels illustrated above.
-
-@c TEXI2ROFF-KILL
-@ifinfo
-@c END TEXI2ROFF-KILL
-@example
- +------------+------------+------------+ ... +------------+
- |            |            |            |     |            |
- |  *NEXT     |  COUNT: N  | *BRLAB 1   |     | *BRLAB N   |
- |            |            |            |     |            |
- +------------+------------+------------+ ... +------------+
-
-               __BRANCH_TABLE__ layout
-@end example
-@c TEXI2ROFF-KILL
-@end ifinfo
-@need 2000
-@tex
-\vskip 1pc
-\line{\leftskip=0pt\hskip\tableindent
-\boxit{2cm}{\tt *NEXT}\boxit{2cm}{\tt COUNT: \it N}\boxit{2cm}{\tt
-*BRLAB 1}\ibox{1cm}{\quad\dots}\boxit{2cm}{\tt *BRLAB \it N}\hfil}
-\centerline{\it {\tt \_\_BRANCH\_TABLE\_\_} layout}
-@end tex
-@c END TEXI2ROFF-KILL
-
-The first word of the header is used to locate multiple branch tables,
-since each object file may contain one. Normally the links are
-maintained with a call to an initialization routine, placed at the
-beginning of each function in the file.  The @sc{gnu} C compiler
-generates these calls automatically when you give it a @samp{-b} option.
-For further details, see the documentation of @samp{gbr960}.
-
-@cindex @code{-no-relax} option, i960
-@item -no-relax
-Normally, Compare-and-Branch instructions with targets that require
-displacements greater than 13 bits (or that have external targets) are
-replaced with the corresponding compare (or @samp{chkbit}) and branch
-instructions.  You can use the @samp{-no-relax} option to specify that
-@code{@value{AS}} should generate errors instead, if the target displacement
-is larger than 13 bits.
-
-This option does not affect the Compare-and-Jump instructions; the code
-emitted for them is @emph{always} adjusted when necessary (depending on
-displacement size), regardless of whether you use @samp{-no-relax}.
-@end table
-
-@node Floating Point-i960
-@section Floating Point
-
-@cindex floating point, i960 (@sc{ieee})
-@cindex i960 floating point (@sc{ieee})
-@code{@value{AS}} generates @sc{ieee} floating-point numbers for the directives
-@samp{.float}, @samp{.double}, @samp{.extended}, and @samp{.single}.
-
-@node Directives-i960
-@section i960 Machine Directives
-
-@cindex machine directives, i960
-@cindex i960 machine directives
-
-@table @code
-@cindex @code{bss} directive, i960
-@item .bss @var{symbol}, @var{length}, @var{align}
-Reserve @var{length} bytes in the bss section for a local @var{symbol},
-aligned to the power of two specified by @var{align}.  @var{length} and
-@var{align} must be positive absolute expressions.  This directive
-differs from @samp{.lcomm} only in that it permits you to specify
-an alignment.  @xref{Lcomm,,@code{.lcomm}}.
-@end table
-
-@table @code
-@cindex @code{extended} directive, i960
-@item .extended @var{flonums}
-@code{.extended} expects zero or more flonums, separated by commas; for
-each flonum, @samp{.extended} emits an @sc{ieee} extended-format (80-bit)
-floating-point number.
-
-@cindex @code{leafproc} directive, i960
-@item .leafproc @var{call-lab}, @var{bal-lab}
-You can use the @samp{.leafproc} directive in conjunction with the
-optimized @code{callj} instruction to enable faster calls of leaf
-procedures.  If a procedure is known to call no other procedures, you
-may define an entry point that skips procedure prolog code (and that does
-not depend on system-supplied saved context), and declare it as the
-@var{bal-lab} using @samp{.leafproc}.  If the procedure also has an
-entry point that goes through the normal prolog, you can specify that
-entry point as @var{call-lab}.
-
-A @samp{.leafproc} declaration is meant for use in conjunction with the
-optimized call instruction @samp{callj}; the directive records the data
-needed later to choose between converting the @samp{callj} into a
-@code{bal} or a @code{call}.
-
-@var{call-lab} is optional; if only one argument is present, or if the
-two arguments are identical, the single argument is assumed to be the
-@code{bal} entry point.
-
-@cindex @code{sysproc} directive, i960
-@item .sysproc @var{name}, @var{index}
-The @samp{.sysproc} directive defines a name for a system procedure.
-After you define it using @samp{.sysproc}, you can use @var{name} to
-refer to the system procedure identified by @var{index} when calling
-procedures with the optimized call instruction @samp{callj}.
-
-Both arguments are required; @var{index} must be between 0 and 31
-(inclusive).
-@end table
-
-@node Opcodes for i960
-@section i960 Opcodes
-
-@cindex opcodes, i960
-@cindex i960 opcodes
-All Intel 960 machine instructions are supported;
-@pxref{Options-i960,,i960 Command-line Options} for a discussion of
-selecting the instruction subset for a particular 960
-architecture.@refill
-
-Some opcodes are processed beyond simply emitting a single corresponding
-instruction: @samp{callj}, and Compare-and-Branch or Compare-and-Jump
-instructions with target displacements larger than 13 bits.
-
-@menu
-* callj-i960::                  @code{callj}
-* Compare-and-branch-i960::     Compare-and-Branch
-@end menu
-
-@node callj-i960
-@subsection @code{callj}
-
-@cindex @code{callj}, i960 pseudo-opcode
-@cindex i960 @code{callj} pseudo-opcode
-You can write @code{callj} to have the assembler or the linker determine
-the most appropriate form of subroutine call: @samp{call},
-@samp{bal}, or @samp{calls}.  If the assembly source contains
-enough information---a @samp{.leafproc} or @samp{.sysproc} directive
-defining the operand---then @code{@value{AS}} translates the
-@code{callj}; if not, it simply emits the @code{callj}, leaving it
-for the linker to resolve.
-
-@node Compare-and-branch-i960
-@subsection Compare-and-Branch
-
-@cindex i960 compare/branch instructions
-@cindex compare/branch instructions, i960
-The 960 architectures provide combined Compare-and-Branch instructions
-that permit you to store the branch target in the lower 13 bits of the
-instruction word itself.  However, if you specify a branch target far
-enough away that its address won't fit in 13 bits, the assembler can
-either issue an error, or convert your Compare-and-Branch instruction
-into separate instructions to do the compare and the branch.
-
-@cindex compare and jump expansions, i960
-@cindex i960 compare and jump expansions
-Whether @code{@value{AS}} gives an error or expands the instruction depends
-on two choices you can make: whether you use the @samp{-no-relax} option,
-and whether you use a ``Compare and Branch'' instruction or a ``Compare
-and Jump'' instruction.  The ``Jump'' instructions are @emph{always}
-expanded if necessary; the ``Branch'' instructions are expanded when
-necessary @emph{unless} you specify @code{-no-relax}---in which case
-@code{@value{AS}} gives an error instead.
-
-These are the Compare-and-Branch instructions, their ``Jump'' variants,
-and the instruction pairs they may expand into:
-
-@c TEXI2ROFF-KILL
-@ifinfo
-@c END TEXI2ROFF-KILL
-@example
-        Compare and
-     Branch      Jump       Expanded to
-     ------    ------       ------------
-        bbc                 chkbit; bno
-        bbs                 chkbit; bo
-     cmpibe    cmpije       cmpi; be
-     cmpibg    cmpijg       cmpi; bg
-    cmpibge   cmpijge       cmpi; bge
-     cmpibl    cmpijl       cmpi; bl
-    cmpible   cmpijle       cmpi; ble
-    cmpibno   cmpijno       cmpi; bno
-    cmpibne   cmpijne       cmpi; bne
-     cmpibo    cmpijo       cmpi; bo
-     cmpobe    cmpoje       cmpo; be
-     cmpobg    cmpojg       cmpo; bg
-    cmpobge   cmpojge       cmpo; bge
-     cmpobl    cmpojl       cmpo; bl
-    cmpoble   cmpojle       cmpo; ble
-    cmpobne   cmpojne       cmpo; bne
-@end example
-@c TEXI2ROFF-KILL
-@end ifinfo
-@tex
-\hskip\tableindent
-\halign{\hfil {\tt #}\quad&\hfil {\tt #}\qquad&{\tt #}\hfil\cr
-\omit{\hfil\it Compare and\hfil}\span\omit&\cr
-{\it Branch}&{\it Jump}&{\it Expanded to}\cr
-        bbc&                 & chkbit; bno\cr
-        bbs&                 & chkbit; bo\cr
-     cmpibe&    cmpije&       cmpi; be\cr
-     cmpibg&    cmpijg&       cmpi; bg\cr
-    cmpibge&   cmpijge&       cmpi; bge\cr
-     cmpibl&    cmpijl&       cmpi; bl\cr
-    cmpible&   cmpijle&       cmpi; ble\cr
-    cmpibno&   cmpijno&       cmpi; bno\cr
-    cmpibne&   cmpijne&       cmpi; bne\cr
-     cmpibo&    cmpijo&       cmpi; bo\cr
-     cmpobe&    cmpoje&       cmpo; be\cr
-     cmpobg&    cmpojg&       cmpo; bg\cr
-    cmpobge&   cmpojge&       cmpo; bge\cr
-     cmpobl&    cmpojl&       cmpo; bl\cr
-    cmpoble&   cmpojle&       cmpo; ble\cr
-    cmpobne&   cmpojne&       cmpo; bne\cr}
-@end tex
-@c END TEXI2ROFF-KILL
-
-@node Syntax of i960
-@section Syntax for the i960
-@menu
-* i960-Chars::                Special Characters
-@end menu
-
-@node i960-Chars
-@subsection Special Characters
-
-@cindex line comment character, i960
-@cindex i960 line comment character
-The presence of a @samp{#} on a line indicates the start of a comment
-that extends to the end of the current line.
-
-If a @samp{#} appears as the first character of a line, the whole line
-is treated as a comment, but in this case the line can also be a
-logical line number directive (@pxref{Comments}) or a
-preprocessor control command (@pxref{Preprocessing}).
-
-@cindex line separator, i960
-@cindex statement separator, i960
-@cindex i960 line separator
-The @samp{;} character can be used to separate statements on the same
-line.
index 8a88d6b015876367f9201360eee5e7190275f107..6291c5de130284eb6597fb25dcc49e40ca508def 100644 (file)
@@ -7,7 +7,6 @@
 @clear INTERNALS
 @clear MULTI-OBJ
 @clear AOUT
 @clear INTERNALS
 @clear MULTI-OBJ
 @clear AOUT
-@clear BOUT
 @set COFF
 @clear ELF
 @set Renesas-all
 @set COFF
 @clear ELF
 @set Renesas-all
index 418c7003696413f0c910c373fd43a35b2803c30a..93352ecf7f1d69bf559bc3213e3099157c360a95 100644 (file)
@@ -1096,11 +1096,6 @@ You may define this macro to parse an expression used in a data allocation
 pseudo-op such as @code{.word}.  You can use this to recognize relocation
 directives that may appear in such directives.
 
 pseudo-op such as @code{.word}.  You can use this to recognize relocation
 directives that may appear in such directives.
 
-@item BITFIELD_CONS_EXPRESSION
-@cindex BITFIELD_CONS_EXPRESSION
-If you define this macro, GAS will recognize bitfield instructions in data
-allocation pseudo-ops, as used on the i960.
-
 @item REPEAT_CONS_EXPRESSION
 @cindex REPEAT_CONS_EXPRESSION
 If you define this macro, GAS will recognize repeat counts in data allocation
 @item REPEAT_CONS_EXPRESSION
 @cindex REPEAT_CONS_EXPRESSION
 If you define this macro, GAS will recognize repeat counts in data allocation
@@ -1753,12 +1748,6 @@ no-op instructions, it must be able to expand or shrink the section contents
 while still preserving intra-section references and meeting alignment
 requirements.
 
 while still preserving intra-section references and meeting alignment
 requirements.
 
-For the i960 using b.out format, no expansion is done; instead, each
-@samp{.align} directive causes extra space to be allocated, enough that when
-the linker is relaxing a section and removing unneeded space, it can discard
-some or all of this extra padding and cause the following data to be correctly
-aligned.
-
 For the H8/300, I think the linker expands calls that can't reach, and doesn't
 worry about alignment issues; the cpu probably never needs any significant
 alignment beyond the instruction size.
 For the H8/300, I think the linker expands calls that can't reach, and doesn't
 worry about alignment issues; the cpu probably never needs any significant
 alignment beyond the instruction size.
index 3e28af6c2fd78e2fe1b0515a99822c469cc32210..074e0b3f0b5a93f29c79a77a2404946383f725db 100644 (file)
@@ -1302,48 +1302,6 @@ operand (expressionS *expressionP, enum expr_mode mode)
            }
 #endif
 
            }
 #endif
 
-#ifdef TC_I960
-         /* The MRI i960 assembler permits
-                lda sizeof code,g13
-            FIXME: This should use md_parse_name.  */
-         if (flag_mri
-             && (strcasecmp (name, "sizeof") == 0
-                 || strcasecmp (name, "startof") == 0))
-           {
-             int start;
-             char *buf;
-
-             start = (name[1] == 't'
-                      || name[1] == 'T');
-
-             *input_line_pointer = c;
-             SKIP_WHITESPACE_AFTER_NAME ();
-
-             c = get_symbol_name (& name);
-             if (! *name)
-               {
-                 as_bad (_("expected symbol name"));
-                 expressionP->X_op = O_absent;
-                 (void) restore_line_pointer (c);
-                 ignore_rest_of_line ();
-                 break;
-               }
-
-             buf = concat (start ? ".startof." : ".sizeof.", name,
-                           (char *) NULL);
-             symbolP = symbol_make (buf);
-             free (buf);
-
-             expressionP->X_op = O_symbol;
-             expressionP->X_add_symbol = symbolP;
-             expressionP->X_add_number = 0;
-
-             *input_line_pointer = c;
-             SKIP_WHITESPACE_AFTER_NAME ();
-             break;
-           }
-#endif
-
          symbolP = symbol_find_or_make (name);
 
          /* If we have an absolute symbol or a reg, then we know its
          symbolP = symbol_find_or_make (name);
 
          /* If we have an absolute symbol or a reg, then we know its
index 51bbb5bd5b6ed2b64f2c5d69cbd2ec9df809422b..f4fe6660872848b0764a1d9f8477a4027be4e597 100644 (file)
@@ -76,10 +76,6 @@ config/tc-i370.c
 config/tc-i370.h
 config/tc-i386.c
 config/tc-i386.h
 config/tc-i370.h
 config/tc-i386.c
 config/tc-i386.h
-config/tc-i860.c
-config/tc-i860.h
-config/tc-i960.c
-config/tc-i960.h
 config/tc-ia64.c
 config/tc-ia64.h
 config/tc-ip2k.c
 config/tc-ia64.c
 config/tc-ia64.h
 config/tc-ip2k.c
index ff78caef38c77f77bfc959df3f2220c2955ebf42..1f211b6819b467eeab08a6667cd8a9199f0078c2 100644 (file)
@@ -2972,81 +2972,10 @@ s_mri_sect (char *type ATTRIBUTE_UNUSED)
   demand_empty_rest_of_line ();
 
 #else /* ! TC_M68K */
   demand_empty_rest_of_line ();
 
 #else /* ! TC_M68K */
-#ifdef TC_I960
-
-  char *name;
-  char c;
-  segT seg;
-
-  SKIP_WHITESPACE ();
-
-  c = get_symbol_name (& name);
-
-  name = xstrdup (name);
-
-  c = restore_line_pointer (c);
-
-  seg = subseg_new (name, 0);
-
-  if (c != ',')
-    *type = 'C';
-  else
-    {
-      char *sectype;
-
-      ++input_line_pointer;
-      SKIP_WHITESPACE ();
-      c = get_symbol_name (& sectype);
-      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);
-      (void) restore_line_pointer (c);
-    }
-
-  if (*input_line_pointer == ',')
-    {
-      char *seccmd;
-
-      ++input_line_pointer;
-      SKIP_WHITESPACE ();
-      c = get_symbol_name (& seccmd);
-      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)
-       {
-         unsigned int align;
-
-         (void) restore_line_pointer (c);
-         align = get_absolute_expression ();
-         record_alignment (seg, align);
-       }
-      else
-       {
-         as_warn (_("unrecognized section command `%s'"), seccmd);
-         (void) restore_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 ();
   /* 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 */
 }
 
 #endif /* ! TC_M68K */
 }
 
@@ -3978,7 +3907,6 @@ pseudo_set (symbolS *symbolP)
 /* 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
 /* 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.  */
    REPEAT_CONS_EXPRESSIONS to permit repeat counts.  If none of these
    are defined, which is the normal case, then only simple expressions
    are permitted.  */
@@ -3989,12 +3917,6 @@ parse_mri_cons (expressionS *exp, unsigned int nbytes);
 #endif
 
 #ifndef TC_PARSE_CONS_EXPRESSION
 #endif
 
 #ifndef TC_PARSE_CONS_EXPRESSION
-#ifdef BITFIELD_CONS_EXPRESSIONS
-#define TC_PARSE_CONS_EXPRESSION(EXP, NBYTES) \
-  (parse_bitfield_cons (EXP, NBYTES), TC_PARSE_CONS_RETURN_NONE)
-static void
-parse_bitfield_cons (expressionS *exp, unsigned int nbytes);
-#endif
 #ifdef REPEAT_CONS_EXPRESSIONS
 #define TC_PARSE_CONS_EXPRESSION(EXP, NBYTES) \
   (parse_repeat_cons (EXP, NBYTES), TC_PARSE_CONS_RETURN_NONE)
 #ifdef REPEAT_CONS_EXPRESSIONS
 #define TC_PARSE_CONS_EXPRESSION(EXP, NBYTES) \
   (parse_repeat_cons (EXP, NBYTES), TC_PARSE_CONS_RETURN_NONE)
@@ -4658,136 +4580,6 @@ emit_expr_fix (expressionS *exp, unsigned int nbytes, fragS *frag, char *p,
 #endif
 }
 \f
 #endif
 }
 \f
-#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 significant 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 (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 (ngettext ("field width %lu too big to fit in %d byte:"
-                                " truncated to %d bits",
-                                "field width %lu too big to fit in %d bytes:"
-                                " truncated to %d bits",
-                                nbytes),
-                      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;
-      exp->X_extrabit = 0;
-    }
-}
-
-#endif /* BITFIELD_CONS_EXPRESSIONS */
-\f
 /* Handle an MRI style string expression.  */
 
 #ifdef TC_M68K
 /* Handle an MRI style string expression.  */
 
 #ifdef TC_M68K
index d16e804c2b9ae17bb870e21223172ef05937ef33..08a708b5ccbf5bd97393ebc88d00de083fe39c9c 100644 (file)
@@ -407,8 +407,7 @@ colon (/* Just seen "x:" - rattle symbols & frags.  */
                }
              else
                {
                }
              else
                {
-#if (!defined (OBJ_AOUT) && !defined (OBJ_MAYBE_AOUT) \
-     && !defined (OBJ_BOUT) && !defined (OBJ_MAYBE_BOUT))
+#if (!defined (OBJ_AOUT) && !defined (OBJ_MAYBE_AOUT))
                  static const char *od_buf = "";
 #else
                  char od_buf[100];
                  static const char *od_buf = "";
 #else
                  char od_buf[100];
index d828d4d9b2c2eaf03b70265012827c8aef2f44bf..0355a03fa44b867bc08538d7cd187a398e73da5c 100644 (file)
@@ -106,7 +106,7 @@ case $target_triplet in {
     default {
        # Some targets don't manage to resolve BFD_RELOC_8 for constants.
        setup_xfail "alpha*-*-*" "*c30*-*-*" "*c4x*-*-*" \
     default {
        # Some targets don't manage to resolve BFD_RELOC_8 for constants.
        setup_xfail "alpha*-*-*" "*c30*-*-*" "*c4x*-*-*" \
-           "d\[13\]0v*-*-*" "i860-*-*" \
+           "d\[13\]0v*-*-*" \
            "nds32*-*-*" "pdp11-*-*" "xtensa*-*-*"
        run_dump_test forward
     }
            "nds32*-*-*" "pdp11-*-*" "xtensa*-*-*"
        run_dump_test forward
     }
@@ -335,8 +335,7 @@ if {   ([istarget *-*-coff*] && ![istarget arm*-*-coff] && ![istarget *c4x*-*-co
      || [istarget i*86-*-cygwin*] \
      || [istarget x86_64-*-mingw*] \
      || [istarget i*86-*-*nt] \
      || [istarget i*86-*-cygwin*] \
      || [istarget x86_64-*-mingw*] \
      || [istarget i*86-*-*nt] \
-     || [istarget i*86-*-interix*] \
-     || ([istarget i960-*-vxworks5.*] && ![istarget i960-*-vxworks5.0*]) } {
+     || [istarget i*86-*-interix*] } {
     run_dump_test cofftag
 }
 
     run_dump_test cofftag
 }
 
@@ -413,10 +412,7 @@ if { ![istarget "powerpc*-*-*"] && ![istarget "rs6000*-*-*"] && ![istarget "s390
     run_dump_test byte
 }
 
     run_dump_test byte
 }
 
-# .quad is 16 bytes on i960.
-if { ![istarget "i960-*-*"] } {
-    run_dump_test quad
-}
+run_dump_test quad
 
 # som doesn't use .data section.
 case $target_triplet in {
 
 # som doesn't use .data section.
 case $target_triplet in {
@@ -467,9 +463,6 @@ case $target_triplet in {
     { "mmix-*-*" } {
        set nop_type 5
     }
     { "mmix-*-*" } {
        set nop_type 5
     }
-    { "i960-*-*" } {
-       set nop_type 4
-    }
     { "i370-*-*" } {
        set nop_type 3
     }
     { "i370-*-*" } {
        set nop_type 3
     }
diff --git a/gas/testsuite/gas/i860/README.i860 b/gas/testsuite/gas/i860/README.i860
deleted file mode 100644 (file)
index 47feaa4..0000000
+++ /dev/null
@@ -1,39 +0,0 @@
-
-Testsuite for the i860 version of the GNU assembler
----------------------------------------------------
-
-This is a simple testsuite for the i860 assembler.  It currently
-consists mostly of testcases for checking that every instruction is
-parsed correctly and that correct object code is generated (these
-are called "blah.s").  The files called "blah-err.s" test for error
-conditions.
-
-The suite includes testcases for the base i860XR instruction set as well
-as the enhanced i860XP instructions and control registers.
-
-The expected results files were generated using the UNIX System V/i860
-Release 4 vendor assembler (/usr/ccs/bin/as -V reports version
-"Standard C Development Environment  (SCDE) 5.0 12/08/89").  This
-way GAS/i860 is tested against a known good assembler.
-
-TODO:
- - Relocation testing is basically non-existent.
- - pst.d (pixel store) is the only instruction with no testcase.
- - Some pseudo instructions need testcases (mov, all pfmov, etc.).
- - More tests for dual instruction mode: check that dual mode has a
-   proper pair (FLOP/core) of instructions, and other error conditions.
- - Most current testcases use the default AT&T/SVR4 syntax; a few simple
-   tests of the Intel syntax should be added to prevent bitrot (including
-   relocatable expression syntax, etc).  Test file dual03.s uses Intel
-   syntax lightly (i.e., register names without '%' prefix).
-
-Contact me (Jason Eckhardt, jle@rice.edu) if you'd like to help.
-
-Known testsuite failures:
-  - none.
-\f
-Copyright (C) 2012-2018 Free Software Foundation, Inc.
-
-Copying and distribution of this file, with or without modification,
-are permitted in any medium without royalty provided the copyright
-notice and this notice are preserved.
diff --git a/gas/testsuite/gas/i860/bitwise.d b/gas/testsuite/gas/i860/bitwise.d
deleted file mode 100644 (file)
index 59954a4..0000000
+++ /dev/null
@@ -1,141 +0,0 @@
-#as:
-#objdump: -dr
-#name: i860 bitwise
-
-.*: +file format .*
-
-Disassembly of section \.text:
-
-00000000 <\.text>:
-   0:  00 00 22 c0     and     %r0,%r1,%sp
-   4:  00 18 85 c0     and     %fp,%r4,%r5
-   8:  00 30 e8 c0     and     %r6,%r7,%r8
-   c:  00 48 4b c1     and     %r9,%r10,%r11
-  10:  00 60 ae c1     and     %r12,%r13,%r14
-  14:  00 78 11 c2     and     %r15,%r16,%r17
-  18:  00 90 74 c2     and     %r18,%r19,%r20
-  1c:  00 a8 d7 c2     and     %r21,%r22,%r23
-  20:  00 c0 3a c3     and     %r24,%r25,%r26
-  24:  00 d8 9d c3     and     %r27,%r28,%r29
-  28:  00 f0 e0 c3     and     %r30,%r31,%r0
-  2c:  00 00 22 d0     andnot  %r0,%r1,%sp
-  30:  00 18 85 d0     andnot  %fp,%r4,%r5
-  34:  00 30 e8 d0     andnot  %r6,%r7,%r8
-  38:  00 48 4b d1     andnot  %r9,%r10,%r11
-  3c:  00 60 ae d1     andnot  %r12,%r13,%r14
-  40:  00 78 11 d2     andnot  %r15,%r16,%r17
-  44:  00 90 74 d2     andnot  %r18,%r19,%r20
-  48:  00 a8 d7 d2     andnot  %r21,%r22,%r23
-  4c:  00 c0 3a d3     andnot  %r24,%r25,%r26
-  50:  00 d8 9d d3     andnot  %r27,%r28,%r29
-  54:  00 f0 e0 d3     andnot  %r30,%r31,%r0
-  58:  00 00 22 e0     or      %r0,%r1,%sp
-  5c:  00 18 85 e0     or      %fp,%r4,%r5
-  60:  00 30 e8 e0     or      %r6,%r7,%r8
-  64:  00 48 4b e1     or      %r9,%r10,%r11
-  68:  00 60 ae e1     or      %r12,%r13,%r14
-  6c:  00 78 11 e2     or      %r15,%r16,%r17
-  70:  00 90 74 e2     or      %r18,%r19,%r20
-  74:  00 a8 d7 e2     or      %r21,%r22,%r23
-  78:  00 c0 3a e3     or      %r24,%r25,%r26
-  7c:  00 d8 9d e3     or      %r27,%r28,%r29
-  80:  00 f0 e0 e3     or      %r30,%r31,%r0
-  84:  00 00 22 f0     xor     %r0,%r1,%sp
-  88:  00 18 85 f0     xor     %fp,%r4,%r5
-  8c:  00 30 e8 f0     xor     %r6,%r7,%r8
-  90:  00 48 4b f1     xor     %r9,%r10,%r11
-  94:  00 60 ae f1     xor     %r12,%r13,%r14
-  98:  00 78 11 f2     xor     %r15,%r16,%r17
-  9c:  00 90 74 f2     xor     %r18,%r19,%r20
-  a0:  00 a8 d7 f2     xor     %r21,%r22,%r23
-  a4:  00 c0 3a f3     xor     %r24,%r25,%r26
-  a8:  00 d8 9d f3     xor     %r27,%r28,%r29
-  ac:  00 f0 e0 f3     xor     %r30,%r31,%r0
-  b0:  00 00 22 c4     and     0x0000,%r1,%sp
-  b4:  00 20 85 c4     and     0x2000,%r4,%r5
-  b8:  f5 13 e8 c4     and     0x13f5,%r7,%r8
-  bc:  00 80 4b c5     and     0x8000,%r10,%r11
-  c0:  e8 fd ae c5     and     0xfde8,%r13,%r14
-  c4:  ff ff 11 c6     and     0xffff,%r16,%r17
-  c8:  ff ff 74 c6     and     0xffff,%r19,%r20
-  cc:  cd ab d7 c6     and     0xabcd,%r22,%r23
-  d0:  34 12 3a c7     and     0x1234,%r25,%r26
-  d4:  00 00 9d c7     and     0x0000,%r28,%r29
-  d8:  03 00 e0 c7     and     0x0003,%r31,%r0
-  dc:  01 00 22 cc     andh    0x0001,%r1,%sp
-  e0:  01 20 85 cc     andh    0x2001,%r4,%r5
-  e4:  f6 13 e8 cc     andh    0x13f6,%r7,%r8
-  e8:  01 80 4b cd     andh    0x8001,%r10,%r11
-  ec:  e9 fd ae cd     andh    0xfde9,%r13,%r14
-  f0:  ff ff 11 ce     andh    0xffff,%r16,%r17
-  f4:  ff ff 74 ce     andh    0xffff,%r19,%r20
-  f8:  cd ab d7 ce     andh    0xabcd,%r22,%r23
-  fc:  34 12 3a cf     andh    0x1234,%r25,%r26
- 100:  00 00 9d cf     andh    0x0000,%r28,%r29
- 104:  03 00 e0 cf     andh    0x0003,%r31,%r0
- 108:  00 00 22 d4     andnot  0x0000,%r1,%sp
- 10c:  00 20 85 d4     andnot  0x2000,%r4,%r5
- 110:  f5 13 e8 d4     andnot  0x13f5,%r7,%r8
- 114:  00 80 4b d5     andnot  0x8000,%r10,%r11
- 118:  e8 fd ae d5     andnot  0xfde8,%r13,%r14
- 11c:  ff ff 11 d6     andnot  0xffff,%r16,%r17
- 120:  ff ff 74 d6     andnot  0xffff,%r19,%r20
- 124:  cd ab d7 d6     andnot  0xabcd,%r22,%r23
- 128:  34 12 3a d7     andnot  0x1234,%r25,%r26
- 12c:  00 00 9d d7     andnot  0x0000,%r28,%r29
- 130:  03 00 e0 d7     andnot  0x0003,%r31,%r0
- 134:  01 00 22 dc     andnoth 0x0001,%r1,%sp
- 138:  01 20 85 dc     andnoth 0x2001,%r4,%r5
- 13c:  f6 13 e8 dc     andnoth 0x13f6,%r7,%r8
- 140:  01 80 4b dd     andnoth 0x8001,%r10,%r11
- 144:  e9 fd ae dd     andnoth 0xfde9,%r13,%r14
- 148:  ff ff 11 de     andnoth 0xffff,%r16,%r17
- 14c:  ff ff 74 de     andnoth 0xffff,%r19,%r20
- 150:  cd ab d7 de     andnoth 0xabcd,%r22,%r23
- 154:  34 12 3a df     andnoth 0x1234,%r25,%r26
- 158:  00 00 9d df     andnoth 0x0000,%r28,%r29
- 15c:  03 00 e0 df     andnoth 0x0003,%r31,%r0
- 160:  00 00 22 e4     or      0x0000,%r1,%sp
- 164:  01 00 85 e4     or      0x0001,%r4,%r5
- 168:  02 00 e8 e4     or      0x0002,%r7,%r8
- 16c:  03 00 4b e5     or      0x0003,%r10,%r11
- 170:  e8 fd ae e5     or      0xfde8,%r13,%r14
- 174:  ff ff 11 e6     or      0xffff,%r16,%r17
- 178:  ff ff 74 e6     or      0xffff,%r19,%r20
- 17c:  cd ab d7 e6     or      0xabcd,%r22,%r23
- 180:  34 12 3a e7     or      0x1234,%r25,%r26
- 184:  00 00 9d e7     or      0x0000,%r28,%r29
- 188:  03 00 e0 e7     or      0x0003,%r31,%r0
- 18c:  00 00 22 ec     orh     0x0000,%r1,%sp
- 190:  01 00 85 ec     orh     0x0001,%r4,%r5
- 194:  02 00 e8 ec     orh     0x0002,%r7,%r8
- 198:  03 00 4b ed     orh     0x0003,%r10,%r11
- 19c:  e8 fd ae ed     orh     0xfde8,%r13,%r14
- 1a0:  ff ff 11 ee     orh     0xffff,%r16,%r17
- 1a4:  ff ff 74 ee     orh     0xffff,%r19,%r20
- 1a8:  cd ab d7 ee     orh     0xabcd,%r22,%r23
- 1ac:  34 12 3a ef     orh     0x1234,%r25,%r26
- 1b0:  00 00 9d ef     orh     0x0000,%r28,%r29
- 1b4:  03 00 e0 ef     orh     0x0003,%r31,%r0
- 1b8:  00 00 22 f4     xor     0x0000,%r1,%sp
- 1bc:  01 00 85 f4     xor     0x0001,%r4,%r5
- 1c0:  02 00 e8 f4     xor     0x0002,%r7,%r8
- 1c4:  03 00 4b f5     xor     0x0003,%r10,%r11
- 1c8:  e8 fd ae f5     xor     0xfde8,%r13,%r14
- 1cc:  ff ff 11 f6     xor     0xffff,%r16,%r17
- 1d0:  ff ff 74 f6     xor     0xffff,%r19,%r20
- 1d4:  cd ab d7 f6     xor     0xabcd,%r22,%r23
- 1d8:  34 12 3a f7     xor     0x1234,%r25,%r26
- 1dc:  00 00 9d f7     xor     0x0000,%r28,%r29
- 1e0:  03 00 e0 f7     xor     0x0003,%r31,%r0
- 1e4:  00 00 22 fc     xorh    0x0000,%r1,%sp
- 1e8:  01 00 85 fc     xorh    0x0001,%r4,%r5
- 1ec:  02 00 e8 fc     xorh    0x0002,%r7,%r8
- 1f0:  03 00 4b fd     xorh    0x0003,%r10,%r11
- 1f4:  e8 fd ae fd     xorh    0xfde8,%r13,%r14
- 1f8:  ff ff 11 fe     xorh    0xffff,%r16,%r17
- 1fc:  ff ff 74 fe     xorh    0xffff,%r19,%r20
- 200:  cd ab d7 fe     xorh    0xabcd,%r22,%r23
- 204:  34 12 3a ff     xorh    0x1234,%r25,%r26
- 208:  00 00 9d ff     xorh    0x0000,%r28,%r29
- 20c:  03 00 e0 ff     xorh    0x0003,%r31,%r0
diff --git a/gas/testsuite/gas/i860/bitwise.s b/gas/testsuite/gas/i860/bitwise.s
deleted file mode 100644 (file)
index 531c787..0000000
+++ /dev/null
@@ -1,150 +0,0 @@
-# and, andh, andnot, andnoth, or, orh, xor, xorh 
-
-       .text
-
-       # Register forms (high variants do not have register forms).
-       and     %r0,%r1,%r2
-       and     %r3,%r4,%r5
-       and     %r6,%r7,%r8
-       and     %r9,%r10,%r11
-       and     %r12,%r13,%r14
-       and     %r15,%r16,%r17
-       and     %r18,%r19,%r20
-       and     %r21,%r22,%r23
-       and     %r24,%r25,%r26
-       and     %r27,%r28,%r29
-       and     %r30,%r31,%r0
-
-       andnot  %r0,%r1,%r2
-       andnot  %r3,%r4,%r5
-       andnot  %r6,%r7,%r8
-       andnot  %r9,%r10,%r11
-       andnot  %r12,%r13,%r14
-       andnot  %r15,%r16,%r17
-       andnot  %r18,%r19,%r20
-       andnot  %r21,%r22,%r23
-       andnot  %r24,%r25,%r26
-       andnot  %r27,%r28,%r29
-       andnot  %r30,%r31,%r0
-
-       or      %r0,%r1,%r2
-       or      %r3,%r4,%r5
-       or      %r6,%r7,%r8
-       or      %r9,%r10,%r11
-       or      %r12,%r13,%r14
-       or      %r15,%r16,%r17
-       or      %r18,%r19,%r20
-       or      %r21,%r22,%r23
-       or      %r24,%r25,%r26
-       or      %r27,%r28,%r29
-       or      %r30,%r31,%r0
-
-       xor     %r0,%r1,%r2
-       xor     %r3,%r4,%r5
-       xor     %r6,%r7,%r8
-       xor     %r9,%r10,%r11
-       xor     %r12,%r13,%r14
-       xor     %r15,%r16,%r17
-       xor     %r18,%r19,%r20
-       xor     %r21,%r22,%r23
-       xor     %r24,%r25,%r26
-       xor     %r27,%r28,%r29
-       xor     %r30,%r31,%r0
-
-       # Immediate forms (all)
-       and     0,%r1,%r2
-       and     8192,%r4,%r5
-       and     5109,%r7,%r8
-       and     32768,%r10,%r11
-       and     65000,%r13,%r14
-       and     65535,%r16,%r17
-       and     0xffff,%r19,%r20
-       and     0xabcd,%r22,%r23
-       and     0x1234,%r25,%r26
-       and     0x0,%r28,%r29
-       and     0x3,%r31,%r0
-
-       andh    1,%r1,%r2
-       andh    8193,%r4,%r5
-       andh    5110,%r7,%r8
-       andh    32769,%r10,%r11
-       andh    65001,%r13,%r14
-       andh    65535,%r16,%r17
-       andh    0xffff,%r19,%r20
-       andh    0xabcd,%r22,%r23
-       andh    0x1234,%r25,%r26
-       andh    0x0,%r28,%r29
-       andh    0x3,%r31,%r0
-
-       andnot  0,%r1,%r2
-       andnot  8192,%r4,%r5
-       andnot  5109,%r7,%r8
-       andnot  32768,%r10,%r11
-       andnot  65000,%r13,%r14
-       andnot  65535,%r16,%r17
-       andnot  0xffff,%r19,%r20
-       andnot  0xabcd,%r22,%r23
-       andnot  0x1234,%r25,%r26
-       andnot  0x0,%r28,%r29
-       andnot  0x3,%r31,%r0
-
-       andnoth 1,%r1,%r2
-       andnoth 8193,%r4,%r5
-       andnoth 5110,%r7,%r8
-       andnoth 32769,%r10,%r11
-       andnoth 65001,%r13,%r14
-       andnoth 65535,%r16,%r17
-       andnoth 0xffff,%r19,%r20
-       andnoth 0xabcd,%r22,%r23
-       andnoth 0x1234,%r25,%r26
-       andnoth 0x0,%r28,%r29
-       andnoth 0x3,%r31,%r0
-
-       or      0,%r1,%r2
-       or      1,%r4,%r5
-       or      2,%r7,%r8
-       or      3,%r10,%r11
-       or      65000,%r13,%r14
-       or      65535,%r16,%r17
-       or      0xffff,%r19,%r20
-       or      0xabcd,%r22,%r23
-       or      0x1234,%r25,%r26
-       or      0x0,%r28,%r29
-       or      0x3,%r31,%r0
-
-       orh     0,%r1,%r2
-       orh     1,%r4,%r5
-       orh     2,%r7,%r8
-       orh     3,%r10,%r11
-       orh     65000,%r13,%r14
-       orh     65535,%r16,%r17
-       orh     0xffff,%r19,%r20
-       orh     0xabcd,%r22,%r23
-       orh     0x1234,%r25,%r26
-       orh     0x0,%r28,%r29
-       orh     0x3,%r31,%r0
-
-       xor     0,%r1,%r2
-       xor     1,%r4,%r5
-       xor     2,%r7,%r8
-       xor     3,%r10,%r11
-       xor     65000,%r13,%r14
-       xor     65535,%r16,%r17
-       xor     0xffff,%r19,%r20
-       xor     0xabcd,%r22,%r23
-       xor     0x1234,%r25,%r26
-       xor     0x0,%r28,%r29
-       xor     0x3,%r31,%r0
-
-       xorh    0,%r1,%r2
-       xorh    1,%r4,%r5
-       xorh    2,%r7,%r8
-       xorh    3,%r10,%r11
-       xorh    65000,%r13,%r14
-       xorh    65535,%r16,%r17
-       xorh    0xffff,%r19,%r20
-       xorh    0xabcd,%r22,%r23
-       xorh    0x1234,%r25,%r26
-       xorh    0x0,%r28,%r29
-       xorh    0x3,%r31,%r0
-
diff --git a/gas/testsuite/gas/i860/branch.d b/gas/testsuite/gas/i860/branch.d
deleted file mode 100644 (file)
index eba23d6..0000000
+++ /dev/null
@@ -1,81 +0,0 @@
-#as:
-#objdump: -dr
-#name: i860 branch
-
-.*: +file format .*
-
-Disassembly of section .text:
-
-00000000 <.text>:
-   0:  3d 00 20 b4     bla     %r0,%r1,0x000000f8      // 0xf8
-   4:  00 00 00 a0     shl     %r0,%r0,%r0
-   8:  3d 28 e0 b7     bla     %r5,%r31,0x00000100     // 0x100
-   c:  00 00 00 a0     shl     %r0,%r0,%r0
-  10:  39 b8 00 b6     bla     %r23,%r16,0x000000f8    // 0xf8
-  14:  00 00 00 a0     shl     %r0,%r0,%r0
-  18:  39 20 60 b6     bla     %r4,%r19,0x00000100     // 0x100
-  1c:  00 00 00 a0     shl     %r0,%r0,%r0
-  20:  00 00 00 40     bri     %r0
-  24:  00 00 00 a0     shl     %r0,%r0,%r0
-  28:  00 08 00 40     bri     %r1
-  2c:  00 00 00 a0     shl     %r0,%r0,%r0
-  30:  00 f8 00 40     bri     %r31
-  34:  00 00 00 a0     shl     %r0,%r0,%r0
-  38:  00 08 00 40     bri     %r1
-  3c:  00 00 00 a0     shl     %r0,%r0,%r0
-  40:  00 60 00 40     bri     %r12
-  44:  00 00 00 a0     shl     %r0,%r0,%r0
-  48:  00 98 00 40     bri     %r19
-  4c:  00 00 00 a0     shl     %r0,%r0,%r0
-  50:  02 00 00 4c     calli   %r0
-  54:  00 00 00 a0     shl     %r0,%r0,%r0
-  58:  02 08 00 4c     calli   %r1
-  5c:  00 00 00 a0     shl     %r0,%r0,%r0
-  60:  02 f8 00 4c     calli   %r31
-  64:  00 00 00 a0     shl     %r0,%r0,%r0
-  68:  02 28 00 4c     calli   %r5
-  6c:  00 00 00 a0     shl     %r0,%r0,%r0
-  70:  02 b0 00 4c     calli   %r22
-  74:  00 00 00 a0     shl     %r0,%r0,%r0
-  78:  02 48 00 4c     calli   %r9
-  7c:  00 00 00 a0     shl     %r0,%r0,%r0
-  80:  1d 00 00 68     br      0x000000f8      // 0xf8
-  84:  00 00 00 a0     shl     %r0,%r0,%r0
-  88:  1d 00 00 68     br      0x00000100      // 0x100
-  8c:  00 00 00 a0     shl     %r0,%r0,%r0
-  90:  00 00 00 68     br      0x00000094      // 0x94
-                       90: R_860_PC26  some_fake_extern
-  94:  00 00 00 a0     shl     %r0,%r0,%r0
-  98:  17 00 00 6c     call    0x000000f8      // 0xf8
-  9c:  00 00 00 a0     shl     %r0,%r0,%r0
-  a0:  17 00 00 6c     call    0x00000100      // 0x100
-  a4:  00 00 00 a0     shl     %r0,%r0,%r0
-  a8:  00 00 00 6c     call    0x000000ac      // 0xac
-                       a8: R_860_PC26  some_fake_extern
-  ac:  00 00 00 a0     shl     %r0,%r0,%r0
-  b0:  02 00 00 70     bc      0x000000bc      // 0xbc
-  b4:  10 00 00 70     bc      0x000000f8      // 0xf8
-  b8:  00 00 00 70     bc      0x000000bc      // 0xbc
-                       b8: R_860_PC26  some_fake_extern
-  bc:  ff ff ff 77     bc.t    0x000000bc      // 0xbc
-  c0:  00 00 00 a0     shl     %r0,%r0,%r0
-  c4:  0c 00 00 74     bc.t    0x000000f8      // 0xf8
-  c8:  00 00 00 a0     shl     %r0,%r0,%r0
-  cc:  00 00 00 74     bc.t    0x000000d0      // 0xd0
-                       cc: R_860_PC26  some_fake_extern
-  d0:  00 00 00 a0     shl     %r0,%r0,%r0
-  d4:  02 00 00 78     bnc     0x000000e0      // 0xe0
-  d8:  07 00 00 78     bnc     0x000000f8      // 0xf8
-  dc:  00 00 00 78     bnc     0x000000e0      // 0xe0
-                       dc: R_860_PC26  some_fake_extern
-  e0:  ff ff ff 7f     bnc.t   0x000000e0      // 0xe0
-  e4:  00 00 00 a0     shl     %r0,%r0,%r0
-  e8:  03 00 00 7c     bnc.t   0x000000f8      // 0xf8
-  ec:  00 00 00 a0     shl     %r0,%r0,%r0
-  f0:  00 00 00 7c     bnc.t   0x000000f4      // 0xf4
-                       f0: R_860_PC26  some_fake_extern
-  f4:  00 00 00 a0     shl     %r0,%r0,%r0
-  f8:  00 00 00 a0     shl     %r0,%r0,%r0
-  fc:  00 00 00 a0     shl     %r0,%r0,%r0
- 100:  00 00 00 a0     shl     %r0,%r0,%r0
- 104:  00 00 00 a0     shl     %r0,%r0,%r0
diff --git a/gas/testsuite/gas/i860/branch.s b/gas/testsuite/gas/i860/branch.s
deleted file mode 100644 (file)
index 3df2758..0000000
+++ /dev/null
@@ -1,85 +0,0 @@
-# Branches and calls
-
-       .text
-
-       bla     %r0,%r1,.Lsome_label1
-       nop
-       bla     %r5,%r31,.Lsome_label2
-       nop
-       bla     %r23,%r16,.Lsome_label1
-       nop
-       bla     %r4,%r19,.Lsome_label2
-       nop
-
-       bri     %r0     
-       nop
-       bri     %r1     
-       nop
-       bri     %r31    
-       nop
-       bri     %r1     
-       nop
-       bri     %r12    
-       nop
-       bri     %r19    
-       nop
-
-       calli   %r0     
-       nop
-       calli   %r1     
-       nop
-       calli   %r31    
-       nop
-       calli   %r5     
-       nop
-       calli   %r22    
-       nop
-       calli   %r9     
-       nop
-
-       br      .Lsome_label1
-       nop
-       br      .Lsome_label2
-       nop
-       br      some_fake_extern
-       nop
-
-       call    .Lcall_me_now
-       nop
-       call    .Lcall_me_anytime
-       nop
-       call    some_fake_extern
-       nop
-
-       bc      .+12
-       bc      .Lsome_label1
-       bc      some_fake_extern
-
-       bc.t    .+0
-       nop
-       bc.t    .Lsome_label1
-       nop
-       bc.t    some_fake_extern
-       nop
-
-       bnc     .+12
-       bnc     .Lsome_label1
-       bnc     some_fake_extern
-
-       bnc.t   .+0
-       nop
-       bnc.t   .Lsome_label1
-       nop
-       bnc.t   some_fake_extern
-       nop
-
-
-.Lsome_label1:
-.Lcall_me_now:
-       nop
-       nop
-.Lsome_label2:
-.Lcall_me_anytime:
-       nop
-       nop
-
diff --git a/gas/testsuite/gas/i860/bte.d b/gas/testsuite/gas/i860/bte.d
deleted file mode 100644 (file)
index a8f4404..0000000
+++ /dev/null
@@ -1,62 +0,0 @@
-#as:
-#objdump: -dr
-#name: i860 bte/btne
-
-.*: +file format .*
-
-Disassembly of section \.text:
-
-00000000 <some_label-0xb8>:
-   0:  2d 00 e0 57     btne    0,%r31,0x000000b8       // b8 <some_label>
-   4:  2c 08 a0 57     btne    1,%r29,0x000000b8       // b8 <some_label>
-   8:  2b 10 60 57     btne    2,%r27,0x000000b8       // b8 <some_label>
-   c:  2a 18 20 57     btne    3,%r25,0x000000b8       // b8 <some_label>
-  10:  29 50 e0 56     btne    10,%r23,0x000000b8      // b8 <some_label>
-  14:  28 58 a0 56     btne    11,%r21,0x000000b8      // b8 <some_label>
-  18:  27 60 60 56     btne    12,%r19,0x000000b8      // b8 <some_label>
-  1c:  26 e8 20 56     btne    29,%r17,0x000000b8      // b8 <some_label>
-  20:  25 f0 00 56     btne    30,%r16,0x000000b8      // b8 <some_label>
-  24:  24 f8 00 55     btne    31,%r8,0x000000b8       // b8 <some_label>
-  28:  00 78 00 54     btne    15,%r0,0x0000002c       // 2c <some_label-0x8c>
-                       28: R_860_PC16  some_fake_extern
-  2c:  22 00 e0 5f     bte     0,%r31,0x000000b8       // b8 <some_label>
-  30:  21 08 a0 5f     bte     1,%r29,0x000000b8       // b8 <some_label>
-  34:  20 10 60 5f     bte     2,%r27,0x000000b8       // b8 <some_label>
-  38:  1f 18 20 5f     bte     3,%r25,0x000000b8       // b8 <some_label>
-  3c:  1e 50 e0 5e     bte     10,%r23,0x000000b8      // b8 <some_label>
-  40:  1d 58 a0 5e     bte     11,%r21,0x000000b8      // b8 <some_label>
-  44:  1c 60 60 5e     bte     12,%r19,0x000000b8      // b8 <some_label>
-  48:  1b e8 20 5e     bte     29,%r17,0x000000b8      // b8 <some_label>
-  4c:  1a f0 00 5e     bte     30,%r16,0x000000b8      // b8 <some_label>
-  50:  19 f8 00 5d     bte     31,%r8,0x000000b8       // b8 <some_label>
-  54:  00 78 00 5c     bte     15,%r0,0x00000058       // 58 <some_label-0x60>
-                       54: R_860_PC16  some_fake_extern
-  58:  17 00 e0 53     btne    %r0,%r31,0x000000b8     // b8 <some_label>
-  5c:  16 08 a0 53     btne    %r1,%r29,0x000000b8     // b8 <some_label>
-  60:  15 10 60 53     btne    %sp,%r27,0x000000b8     // b8 <some_label>
-  64:  14 18 20 53     btne    %fp,%r25,0x000000b8     // b8 <some_label>
-  68:  13 50 e0 52     btne    %r10,%r23,0x000000b8    // b8 <some_label>
-  6c:  12 58 a0 52     btne    %r11,%r21,0x000000b8    // b8 <some_label>
-  70:  11 60 60 52     btne    %r12,%r19,0x000000b8    // b8 <some_label>
-  74:  10 e8 20 52     btne    %r29,%r17,0x000000b8    // b8 <some_label>
-  78:  0f f0 00 52     btne    %r30,%r16,0x000000b8    // b8 <some_label>
-  7c:  0e f8 00 51     btne    %r31,%r8,0x000000b8     // b8 <some_label>
-  80:  00 78 00 50     btne    %r15,%r0,0x00000084     // 84 <some_label-0x34>
-                       80: R_860_PC16  some_fake_extern
-  84:  0c 00 e0 5b     bte     %r0,%r31,0x000000b8     // b8 <some_label>
-  88:  0b 08 a0 5b     bte     %r1,%r29,0x000000b8     // b8 <some_label>
-  8c:  0a 10 60 5b     bte     %sp,%r27,0x000000b8     // b8 <some_label>
-  90:  09 18 20 5b     bte     %fp,%r25,0x000000b8     // b8 <some_label>
-  94:  08 50 e0 5a     bte     %r10,%r23,0x000000b8    // b8 <some_label>
-  98:  07 58 a0 5a     bte     %r11,%r21,0x000000b8    // b8 <some_label>
-  9c:  06 60 60 5a     bte     %r12,%r19,0x000000b8    // b8 <some_label>
-  a0:  05 e8 20 5a     bte     %r29,%r17,0x000000b8    // b8 <some_label>
-  a4:  04 f0 00 5a     bte     %r30,%r16,0x000000b8    // b8 <some_label>
-  a8:  03 f8 00 59     bte     %r31,%r8,0x000000b8     // b8 <some_label>
-  ac:  00 78 00 58     bte     %r15,%r0,0x000000b0     // b0 <some_label-0x8>
-                       ac: R_860_PC16  some_fake_extern
-  b0:  00 00 00 a0     shl     %r0,%r0,%r0
-  b4:  00 00 00 a0     shl     %r0,%r0,%r0
-
-000000b8 <some_label>:
-  b8:  00 00 00 a0     shl     %r0,%r0,%r0
diff --git a/gas/testsuite/gas/i860/bte.s b/gas/testsuite/gas/i860/bte.s
deleted file mode 100644 (file)
index cc6e576..0000000
+++ /dev/null
@@ -1,55 +0,0 @@
-# bte, btne
-       .text
-
-       btne    0,%r31,some_label
-       btne    1,%r29,some_label
-       btne    2,%r27,some_label
-       btne    3,%r25,some_label
-       btne    10,%r23,some_label
-       btne    11,%r21,some_label
-       btne    12,%r19,some_label
-       btne    29,%r17,some_label
-       btne    30,%r16,some_label
-       btne    31,%r8,some_label
-       btne    15,%r0,some_fake_extern
-
-       bte     0,%r31,some_label
-       bte     1,%r29,some_label
-       bte     2,%r27,some_label
-       bte     3,%r25,some_label
-       bte     10,%r23,some_label
-       bte     11,%r21,some_label
-       bte     12,%r19,some_label
-       bte     29,%r17,some_label
-       bte     30,%r16,some_label
-       bte     31,%r8,some_label
-       bte     15,%r0,some_fake_extern
-
-       btne    %r0,%r31,some_label
-       btne    %r1,%r29,some_label
-       btne    %r2,%r27,some_label
-       btne    %r3,%r25,some_label
-       btne    %r10,%r23,some_label
-       btne    %r11,%r21,some_label
-       btne    %r12,%r19,some_label
-       btne    %r29,%r17,some_label
-       btne    %r30,%r16,some_label
-       btne    %r31,%r8,some_label
-       btne    %r15,%r0,some_fake_extern
-
-       bte     %r0,%r31,some_label
-       bte     %r1,%r29,some_label
-       bte     %r2,%r27,some_label
-       bte     %r3,%r25,some_label
-       bte     %r10,%r23,some_label
-       bte     %r11,%r21,some_label
-       bte     %r12,%r19,some_label
-       bte     %r29,%r17,some_label
-       bte     %r30,%r16,some_label
-       bte     %r31,%r8,some_label
-       bte     %r15,%r0,some_fake_extern
-
-       nop
-       nop
-some_label:
-       nop     
diff --git a/gas/testsuite/gas/i860/dir-align01.d b/gas/testsuite/gas/i860/dir-align01.d
deleted file mode 100644 (file)
index bc4f677..0000000
+++ /dev/null
@@ -1,17 +0,0 @@
-#as:
-#objdump: -d
-#name: i860 dir-align01
-
-.*: +file format .*
-
-Disassembly of section \.text:
-
-00000000 <\.text>:
-   0:  00 20 a6 90     adds    %r4,%r5,%r6
-   4:  00 00 00 a0     shl     %r0,%r0,%r0
-   8:  00 00 00 a0     shl     %r0,%r0,%r0
-   c:  00 00 00 a0     shl     %r0,%r0,%r0
-  10:  00 50 6c 91     adds    %r10,%r11,%r12
-  14:  a1 b1 1a 4b     fmlow.dd        %f22,%f24,%f26
-  18:  30 74 f0 49     pfadd.ss        %f14,%f15,%f16
-  1c:  b0 8c 54 4a     pfadd.sd        %f17,%f18,%f20
diff --git a/gas/testsuite/gas/i860/dir-align01.s b/gas/testsuite/gas/i860/dir-align01.s
deleted file mode 100644 (file)
index 595eb3f..0000000
+++ /dev/null
@@ -1,11 +0,0 @@
-# Test that .text section alignments use nops (0xA0000000) to fill
-# rather than 0.
-       .text
-       adds    %r4,%r5,%r6
-       .align 16
-       adds    %r10,%r11,%r12
-        fmlow.dd        %f22,%f24,%f26
-        pfadd.ss        %f14,%f15,%f16
-        pfadd.sd        %f17,%f18,%f20
-
-
diff --git a/gas/testsuite/gas/i860/dir-intel01.d b/gas/testsuite/gas/i860/dir-intel01.d
deleted file mode 100644 (file)
index 0951bf3..0000000
+++ /dev/null
@@ -1,19 +0,0 @@
-#as: -mintel-syntax
-#objdump: -d
-#name: i860 dir-intel01
-
-.*: +file format .*
-
-Disassembly of section \.text:
-
-00000000 <\.text>:
-   0:  00 00 00 a0     shl     %r0,%r0,%r0
-   4:  00 00 00 a0     shl     %r0,%r0,%r0
-   8:  30 02 22 48     d.fadd.ss       %f0,%f1,%f2
-   c:  00 00 00 a0     shl     %r0,%r0,%r0
-  10:  b0 12 64 48     d.fadd.sd       %f2,%f3,%f4
-  14:  00 00 00 a0     shl     %r0,%r0,%r0
-  18:  b0 33 0a 49     d.fadd.dd       %f6,%f8,%f10
-  1c:  00 00 00 a0     shl     %r0,%r0,%r0
-  20:  00 00 00 a0     shl     %r0,%r0,%r0
-  24:  00 00 00 a0     shl     %r0,%r0,%r0
diff --git a/gas/testsuite/gas/i860/dir-intel01.s b/gas/testsuite/gas/i860/dir-intel01.s
deleted file mode 100644 (file)
index 21aa685..0000000
+++ /dev/null
@@ -1,19 +0,0 @@
-// Intel assembler directives:
-// Test that the .dual and .enddual directives are recognized and
-// function (i.e., that the dual bits are set properly).
-
-       .text
-
-       nop
-       nop
-       .dual
-        fadd.ss       f0,f1,f2
-        nop
-        fadd.sd       f2,f3,f4
-        nop
-        fadd.dd       f6,f8,f10
-        nop
-       .enddual
-       nop
-       nop
-
diff --git a/gas/testsuite/gas/i860/dir-intel02.d b/gas/testsuite/gas/i860/dir-intel02.d
deleted file mode 100644 (file)
index f053967..0000000
+++ /dev/null
@@ -1,15 +0,0 @@
-#as: -mintel-syntax
-#objdump: -d
-#name: i860 dir-intel02
-
-.*: +file format .*
-
-Disassembly of section \.text:
-
-00000000 <\.text>:
-   0:  34 12 1f ec     orh     0x1234,%r0,%r31
-   4:  78 56 f8 e7     or      0x5678,%r31,%r24
-   8:  00 c0 28 91     adds    %r24,%r9,%r8
-   c:  f0 f0 05 ec     orh     0xf0f0,%r0,%r5
-  10:  5a 5a b8 e4     or      0x5a5a,%r5,%r24
-  14:  00 c0 28 91     adds    %r24,%r9,%r8
diff --git a/gas/testsuite/gas/i860/dir-intel02.s b/gas/testsuite/gas/i860/dir-intel02.s
deleted file mode 100644 (file)
index a1a1613..0000000
+++ /dev/null
@@ -1,13 +0,0 @@
-// Intel assembler directives:
-// Test that the .atmp directive is recognized and functions.
-
-       .text
-
-       .atmp r31
-       or      0x12345678,r0,r24
-       adds    r24,r9,r8
-
-       .atmp r5
-       or      0xf0f05a5a,r0,r24
-       adds    r24,r9,r8
-
diff --git a/gas/testsuite/gas/i860/dir-intel03-err.l b/gas/testsuite/gas/i860/dir-intel03-err.l
deleted file mode 100644 (file)
index b826128..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-.*: Assembler messages:
-.*:8: Error: Directive .atmp available only with -mintel-syntax option
-.*:8: Error: junk at end of line, first unrecognized character is `r'
-.*:10: Error: Directive .dual available only with -mintel-syntax option
-.*:13: Error: Directive .enddual available only with -mintel-syntax option
diff --git a/gas/testsuite/gas/i860/dir-intel03-err.s b/gas/testsuite/gas/i860/dir-intel03-err.s
deleted file mode 100644 (file)
index b8b0790..0000000
+++ /dev/null
@@ -1,14 +0,0 @@
-# Intel assembler directives:
-# The .dual, .enddual, and .atmp directives are valid only
-# in Intel syntax mode.  Check that we issue an error if in
-# AT&T/SVR4 mode.
-
-       .text
-
-       .atmp r31
-
-       .dual
-       fsub.ss %f22,%f21,%f13
-       nop
-       .enddual
-
diff --git a/gas/testsuite/gas/i860/dual01.d b/gas/testsuite/gas/i860/dual01.d
deleted file mode 100644 (file)
index ee182e0..0000000
+++ /dev/null
@@ -1,21 +0,0 @@
-#as:
-#objdump: -d
-#name: i860 dual01
-
-.*: +file format .*
-
-Disassembly of section \.text:
-
-00000000 <\.text>:
-   0:  00 00 00 a0     shl     %r0,%r0,%r0
-   4:  00 00 00 a0     shl     %r0,%r0,%r0
-   8:  b0 47 4c 49     d.pfadd.dd      %f8,%f10,%f12
-   c:  00 28 c6 90     adds    %r5,%r6,%r6
-  10:  b0 47 4c 49     d.pfadd.dd      %f8,%f10,%f12
-  14:  10 00 58 25     fld.d   16\(%r10\),%f24
-  18:  00 02 00 b0     d.shrd  %r0,%r0,%r0
-  1c:  08 00 48 25     fld.d   8\(%r10\),%f8
-  20:  00 02 00 b0     d.shrd  %r0,%r0,%r0
-  24:  00 00 50 25     fld.d   0\(%r10\),%f16
-  28:  00 00 00 a0     shl     %r0,%r0,%r0
-  2c:  00 00 00 a0     shl     %r0,%r0,%r0
diff --git a/gas/testsuite/gas/i860/dual01.s b/gas/testsuite/gas/i860/dual01.s
deleted file mode 100644 (file)
index e7aa271..0000000
+++ /dev/null
@@ -1,17 +0,0 @@
-# Test fnop's dual bit (all other floating point operations have their dual
-# bit tested in their individual test files).
-
-       .text
-       .align 8
-       nop
-       nop
-        d.pfadd.dd      %f8,%f10,%f12
-        adds   %r5,%r6,%r6
-        d.pfadd.dd      %f8,%f10,%f12
-        fld.d   16(%r10),%f24
-        d.fnop
-        fld.d   8(%r10),%f8
-        d.fnop
-        fld.d   0(%r10),%f16
-       nop
-       nop
diff --git a/gas/testsuite/gas/i860/dual02-err.l b/gas/testsuite/gas/i860/dual02-err.l
deleted file mode 100644 (file)
index d43d73e..0000000
+++ /dev/null
@@ -1,2 +0,0 @@
-.*: Assembler messages:
-.*:7: Error: 'd\.fadd\.ss' must be 8-byte aligned
diff --git a/gas/testsuite/gas/i860/dual02-err.s b/gas/testsuite/gas/i860/dual02-err.s
deleted file mode 100644 (file)
index 05d1835..0000000
+++ /dev/null
@@ -1,9 +0,0 @@
-# Dual-mode pairs must be aligned on an 8-byte boundary.  This tests
-# that an error is reported if not properly aligned.
-
-       .text
-       .align 8
-       nop
-       d.fadd.ss       %f3,%f5,%f7
-       addu    %r4,%r5,%r6
-
diff --git a/gas/testsuite/gas/i860/dual03.d b/gas/testsuite/gas/i860/dual03.d
deleted file mode 100644 (file)
index 30c0130..0000000
+++ /dev/null
@@ -1,53 +0,0 @@
-#as: -mintel-syntax
-#objdump: -d
-#name: i860 dual03
-
-.*: +file format .*
-
-Disassembly of section \.text:
-
-00000000 <L1-0x20>:
-   0:  00 00 14 22     fld.d   %r0\(%r16\),%f20
-   4:  fe ff 15 94     adds    -2,%r0,%r21
-   8:  30 06 00 48     d.pfadd.ss      %f0,%f0,%f0
-   c:  fa ff 31 96     adds    -6,%r17,%r17
-  10:  30 06 00 48     d.pfadd.ss      %f0,%f0,%f0
-  14:  02 a8 20 b6     bla     %r21,%r17,0x00000020    // 20 <L1>
-  18:  30 06 00 48     d.pfadd.ss      %f0,%f0,%f0
-  1c:  09 00 16 26     fld.d   8\(%r16\)\+\+,%f22
-
-00000020 <L1>:
-  20:  30 a6 de 4b     d.pfadd.ss      %f20,%f30,%f30
-  24:  06 a8 20 b6     bla     %r21,%r17,0x00000040    // 40 <L2>
-  28:  30 ae ff 4b     d.pfadd.ss      %f21,%f31,%f31
-  2c:  09 00 14 26     fld.d   8\(%r16\)\+\+,%f20
-  30:  30 a6 de 4b     d.pfadd.ss      %f20,%f30,%f30
-  34:  0a 00 00 68     br      0x00000060      // 60 <S>
-  38:  30 ae ff 4b     d.pfadd.ss      %f21,%f31,%f31
-  3c:  00 00 00 a0     shl     %r0,%r0,%r0
-
-00000040 <L2>:
-  40:  30 b6 de 4b     d.pfadd.ss      %f22,%f30,%f30
-  44:  f6 af 3f b6     bla     %r21,%r17,0x00000020    // 20 <L1>
-  48:  30 be ff 4b     d.pfadd.ss      %f23,%f31,%f31
-  4c:  09 00 16 26     fld.d   8\(%r16\)\+\+,%f22
-  50:  30 a6 de 4b     d.pfadd.ss      %f20,%f30,%f30
-  54:  00 00 00 a0     shl     %r0,%r0,%r0
-  58:  30 ae ff 4b     d.pfadd.ss      %f21,%f31,%f31
-  5c:  00 00 00 a0     shl     %r0,%r0,%r0
-
-00000060 <S>:
-  60:  30 b4 de 4b     pfadd.ss        %f22,%f30,%f30
-  64:  fc ff 15 94     adds    -4,%r0,%r21
-  68:  30 bc ff 4b     pfadd.ss        %f23,%f31,%f31
-  6c:  02 a8 20 5a     bte     %r21,%r17,0x00000078    // 78 <DONE>
-  70:  0b 00 14 26     fld.l   8\(%r16\)\+\+,%f20
-  74:  30 a4 de 4b     pfadd.ss        %f20,%f30,%f30
-
-00000078 <DONE>:
-  78:  30 04 1e 48     pfadd.ss        %f0,%f0,%f30
-  7c:  30 f4 ff 4b     pfadd.ss        %f30,%f31,%f31
-  80:  30 04 1e 48     pfadd.ss        %f0,%f0,%f30
-  84:  30 04 00 48     pfadd.ss        %f0,%f0,%f0
-  88:  30 04 1f 48     pfadd.ss        %f0,%f0,%f31
-  8c:  30 f0 f0 4b     fadd.ss %f30,%f31,%f16
diff --git a/gas/testsuite/gas/i860/dual03.s b/gas/testsuite/gas/i860/dual03.s
deleted file mode 100644 (file)
index 96c3134..0000000
+++ /dev/null
@@ -1,46 +0,0 @@
-// A larger dual-mode test, from the programmer's reference manual.
-// This uses Intel syntax, as in the manual.
-
-// Single-precision vector sum
-       fld.d   r0(r16),f20
-       mov     -2,r21
-       d.pfadd.ss      f0,f0,f0
-       adds    -6,r17,r17
-       d.pfadd.ss      f0,f0,f0
-       bla     r21,r17,L1
-       d.pfadd.ss      f0,f0,f0
-       fld.d   8(r16)++,f22
-L1:
-       d.pfadd.ss      f20,f30,f30
-       bla     r21,r17,L2
-       d.pfadd.ss      f21,f31,f31
-       fld.d   8(r16)++,f20
-       d.pfadd.ss      f20,f30,f30
-       br      S
-       d.pfadd.ss      f21,f31,f31
-       nop
-L2:
-       d.pfadd.ss      f22,f30,f30
-       bla     r21,r17,L1
-       d.pfadd.ss      f23,f31,f31
-       fld.d   8(r16)++,f22
-       d.pfadd.ss      f20,f30,f30
-       nop
-       d.pfadd.ss      f21,f31,f31
-       nop
-S:
-       pfadd.ss        f22,f30,f30
-       mov     -4,r21
-       pfadd.ss        f23,f31,f31
-       bte     r21,r17,DONE
-       fld.l   8(r16)++,f20
-       pfadd.ss        f20,f30,f30
-DONE:
-       pfadd.ss        f0,f0,f30
-       pfadd.ss        f30,f31,f31
-       pfadd.ss        f0,f0,f30
-       pfadd.ss        f0,f0,f0
-       pfadd.ss        f0,f0,f31
-       fadd.ss         f30,f31,f16
-
-       
diff --git a/gas/testsuite/gas/i860/fldst01.d b/gas/testsuite/gas/i860/fldst01.d
deleted file mode 100644 (file)
index b404d3d..0000000
+++ /dev/null
@@ -1,73 +0,0 @@
-#as:
-#objdump: -dr
-#name: i860 fldst01 (fld.l)
-
-.*: +file format .*
-
-Disassembly of section \.text:
-
-00000000 <\.text>:
-   0:  02 00 00 24     fld.l   0\(%r0\),%f0
-   4:  7e 00 3f 24     fld.l   124\(%r1\),%f31
-   8:  02 01 5e 24     fld.l   256\(%sp\),%f30
-   c:  02 02 7d 24     fld.l   512\(%fp\),%f29
-  10:  02 04 9c 24     fld.l   1024\(%r4\),%f28
-  14:  02 10 bb 24     fld.l   4096\(%r5\),%f27
-  18:  02 20 da 24     fld.l   8192\(%r6\),%f26
-  1c:  02 40 f9 24     fld.l   16384\(%r7\),%f25
-  20:  fe 7f f9 24     fld.l   32764\(%r7\),%f25
-  24:  02 80 f7 24     fld.l   -32768\(%r7\),%f23
-  28:  02 c0 02 25     fld.l   -16384\(%r8\),%f2
-  2c:  02 e0 23 25     fld.l   -8192\(%r9\),%f3
-  30:  02 f0 48 25     fld.l   -4096\(%r10\),%f8
-  34:  02 fc 69 25     fld.l   -1024\(%r11\),%f9
-  38:  06 fe 8c 25     fld.l   -508\(%r12\),%f12
-  3c:  0a ff b3 25     fld.l   -248\(%r13\),%f19
-  40:  fe ff d5 25     fld.l   -4\(%r14\),%f21
-  44:  03 00 00 24     fld.l   0\(%r0\)\+\+,%f0
-  48:  7f 00 21 24     fld.l   124\(%r1\)\+\+,%f1
-  4c:  03 01 42 24     fld.l   256\(%sp\)\+\+,%f2
-  50:  03 02 63 24     fld.l   512\(%fp\)\+\+,%f3
-  54:  03 04 84 24     fld.l   1024\(%r4\)\+\+,%f4
-  58:  03 10 a5 24     fld.l   4096\(%r5\)\+\+,%f5
-  5c:  03 20 c6 24     fld.l   8192\(%r6\)\+\+,%f6
-  60:  03 40 e7 24     fld.l   16384\(%r7\)\+\+,%f7
-  64:  ff 7f e8 24     fld.l   32764\(%r7\)\+\+,%f8
-  68:  03 80 e9 24     fld.l   -32768\(%r7\)\+\+,%f9
-  6c:  03 c0 0a 25     fld.l   -16384\(%r8\)\+\+,%f10
-  70:  03 e0 2b 25     fld.l   -8192\(%r9\)\+\+,%f11
-  74:  03 f0 4c 25     fld.l   -4096\(%r10\)\+\+,%f12
-  78:  03 fc 6d 25     fld.l   -1024\(%r11\)\+\+,%f13
-  7c:  07 fe 8e 25     fld.l   -508\(%r12\)\+\+,%f14
-  80:  0b ff af 25     fld.l   -248\(%r13\)\+\+,%f15
-  84:  ff ff d0 25     fld.l   -4\(%r14\)\+\+,%f16
-  88:  02 28 00 20     fld.l   %r5\(%r0\),%f0
-  8c:  02 30 3f 20     fld.l   %r6\(%r1\),%f31
-  90:  02 38 5e 20     fld.l   %r7\(%sp\),%f30
-  94:  02 40 7d 20     fld.l   %r8\(%fp\),%f29
-  98:  02 48 9c 20     fld.l   %r9\(%r4\),%f28
-  9c:  02 00 bb 20     fld.l   %r0\(%r5\),%f27
-  a0:  02 08 da 20     fld.l   %r1\(%r6\),%f26
-  a4:  02 60 f9 20     fld.l   %r12\(%r7\),%f25
-  a8:  02 68 18 21     fld.l   %r13\(%r8\),%f24
-  ac:  02 70 37 21     fld.l   %r14\(%r9\),%f23
-  b0:  02 78 56 21     fld.l   %r15\(%r10\),%f22
-  b4:  02 80 75 21     fld.l   %r16\(%r11\),%f21
-  b8:  02 88 94 21     fld.l   %r17\(%r12\),%f20
-  bc:  02 e0 b3 21     fld.l   %r28\(%r13\),%f19
-  c0:  02 f8 d2 21     fld.l   %r31\(%r14\),%f18
-  c4:  03 28 00 20     fld.l   %r5\(%r0\)\+\+,%f0
-  c8:  03 30 21 20     fld.l   %r6\(%r1\)\+\+,%f1
-  cc:  03 38 42 20     fld.l   %r7\(%sp\)\+\+,%f2
-  d0:  03 40 63 20     fld.l   %r8\(%fp\)\+\+,%f3
-  d4:  03 48 84 20     fld.l   %r9\(%r4\)\+\+,%f4
-  d8:  03 00 a5 20     fld.l   %r0\(%r5\)\+\+,%f5
-  dc:  03 08 c6 20     fld.l   %r1\(%r6\)\+\+,%f6
-  e0:  03 60 e7 20     fld.l   %r12\(%r7\)\+\+,%f7
-  e4:  03 68 08 21     fld.l   %r13\(%r8\)\+\+,%f8
-  e8:  03 70 29 21     fld.l   %r14\(%r9\)\+\+,%f9
-  ec:  03 78 4a 21     fld.l   %r15\(%r10\)\+\+,%f10
-  f0:  03 80 6b 21     fld.l   %r16\(%r11\)\+\+,%f11
-  f4:  03 88 8c 21     fld.l   %r17\(%r12\)\+\+,%f12
-  f8:  03 e0 ad 21     fld.l   %r28\(%r13\)\+\+,%f13
-  fc:  03 f8 ce 21     fld.l   %r31\(%r14\)\+\+,%f14
diff --git a/gas/testsuite/gas/i860/fldst01.s b/gas/testsuite/gas/i860/fldst01.s
deleted file mode 100644 (file)
index 109cba8..0000000
+++ /dev/null
@@ -1,75 +0,0 @@
-# fld.l (no relocations here)
-       .text
-
-       # Immediate form, no auto-increment.
-       fld.l   0(%r0),%f0
-       fld.l   124(%r1),%f31
-       fld.l   256(%r2),%f30
-       fld.l   512(%r3),%f29
-       fld.l   1024(%r4),%f28
-       fld.l   4096(%r5),%f27
-       fld.l   8192(%r6),%f26
-       fld.l   16384(%r7),%f25
-       fld.l   32764(%r7),%f25
-       fld.l   -32768(%r7),%f23
-       fld.l   -16384(%r8),%f2
-       fld.l   -8192(%r9),%f3
-       fld.l   -4096(%r10),%f8
-       fld.l   -1024(%r11),%f9
-       fld.l   -508(%r12),%f12
-       fld.l   -248(%r13),%f19
-       fld.l   -4(%r14),%f21
-
-       # Immediate form, with auto-increment.
-       fld.l   0(%r0)++,%f0
-       fld.l   124(%r1)++,%f1
-       fld.l   256(%r2)++,%f2
-       fld.l   512(%r3)++,%f3
-       fld.l   1024(%r4)++,%f4
-       fld.l   4096(%r5)++,%f5
-       fld.l   8192(%r6)++,%f6
-       fld.l   16384(%r7)++,%f7
-       fld.l   32764(%r7)++,%f8
-       fld.l   -32768(%r7)++,%f9
-       fld.l   -16384(%r8)++,%f10
-       fld.l   -8192(%r9)++,%f11
-       fld.l   -4096(%r10)++,%f12
-       fld.l   -1024(%r11)++,%f13
-       fld.l   -508(%r12)++,%f14
-       fld.l   -248(%r13)++,%f15
-       fld.l   -4(%r14)++,%f16
-
-       # Index form, no auto-increment.
-       fld.l   %r5(%r0),%f0
-       fld.l   %r6(%r1),%f31
-       fld.l   %r7(%r2),%f30
-       fld.l   %r8(%r3),%f29
-       fld.l   %r9(%r4),%f28
-       fld.l   %r0(%r5),%f27
-       fld.l   %r1(%r6),%f26
-       fld.l   %r12(%r7),%f25
-       fld.l   %r13(%r8),%f24
-       fld.l   %r14(%r9),%f23
-       fld.l   %r15(%r10),%f22
-       fld.l   %r16(%r11),%f21
-       fld.l   %r17(%r12),%f20
-       fld.l   %r28(%r13),%f19
-       fld.l   %r31(%r14),%f18
-
-       # Index form, with auto-increment.
-       fld.l   %r5(%r0)++,%f0
-       fld.l   %r6(%r1)++,%f1
-       fld.l   %r7(%r2)++,%f2
-       fld.l   %r8(%r3)++,%f3
-       fld.l   %r9(%r4)++,%f4
-       fld.l   %r0(%r5)++,%f5
-       fld.l   %r1(%r6)++,%f6
-       fld.l   %r12(%r7)++,%f7
-       fld.l   %r13(%r8)++,%f8
-       fld.l   %r14(%r9)++,%f9
-       fld.l   %r15(%r10)++,%f10
-       fld.l   %r16(%r11)++,%f11
-       fld.l   %r17(%r12)++,%f12
-       fld.l   %r28(%r13)++,%f13
-       fld.l   %r31(%r14)++,%f14
-
diff --git a/gas/testsuite/gas/i860/fldst02.d b/gas/testsuite/gas/i860/fldst02.d
deleted file mode 100644 (file)
index 7a0db94..0000000
+++ /dev/null
@@ -1,73 +0,0 @@
-#as:
-#objdump: -dr
-#name: i860 fldst02 (fld.d)
-
-.*: +file format .*
-
-Disassembly of section \.text:
-
-00000000 <\.text>:
-   0:  00 00 00 24     fld.d   0\(%r0\),%f0
-   4:  80 00 3e 24     fld.d   128\(%r1\),%f30
-   8:  00 01 5c 24     fld.d   256\(%sp\),%f28
-   c:  00 02 7a 24     fld.d   512\(%fp\),%f26
-  10:  00 04 98 24     fld.d   1024\(%r4\),%f24
-  14:  00 10 b6 24     fld.d   4096\(%r5\),%f22
-  18:  00 20 d4 24     fld.d   8192\(%r6\),%f20
-  1c:  00 40 f2 24     fld.d   16384\(%r7\),%f18
-  20:  f8 7f f0 24     fld.d   32760\(%r7\),%f16
-  24:  00 80 ee 24     fld.d   -32768\(%r7\),%f14
-  28:  00 c0 0c 25     fld.d   -16384\(%r8\),%f12
-  2c:  00 e0 2a 25     fld.d   -8192\(%r9\),%f10
-  30:  00 f0 48 25     fld.d   -4096\(%r10\),%f8
-  34:  00 fc 66 25     fld.d   -1024\(%r11\),%f6
-  38:  00 fe 84 25     fld.d   -512\(%r12\),%f4
-  3c:  08 ff a2 25     fld.d   -248\(%r13\),%f2
-  40:  f8 ff c0 25     fld.d   -8\(%r14\),%f0
-  44:  01 00 00 24     fld.d   0\(%r0\)\+\+,%f0
-  48:  81 00 22 24     fld.d   128\(%r1\)\+\+,%f2
-  4c:  01 01 44 24     fld.d   256\(%sp\)\+\+,%f4
-  50:  01 02 66 24     fld.d   512\(%fp\)\+\+,%f6
-  54:  01 04 88 24     fld.d   1024\(%r4\)\+\+,%f8
-  58:  01 10 aa 24     fld.d   4096\(%r5\)\+\+,%f10
-  5c:  01 20 cc 24     fld.d   8192\(%r6\)\+\+,%f12
-  60:  01 40 ee 24     fld.d   16384\(%r7\)\+\+,%f14
-  64:  f9 7f f0 24     fld.d   32760\(%r7\)\+\+,%f16
-  68:  01 80 f2 24     fld.d   -32768\(%r7\)\+\+,%f18
-  6c:  01 c0 14 25     fld.d   -16384\(%r8\)\+\+,%f20
-  70:  01 e0 36 25     fld.d   -8192\(%r9\)\+\+,%f22
-  74:  01 f0 58 25     fld.d   -4096\(%r10\)\+\+,%f24
-  78:  01 fc 7a 25     fld.d   -1024\(%r11\)\+\+,%f26
-  7c:  01 fe 9c 25     fld.d   -512\(%r12\)\+\+,%f28
-  80:  09 ff be 25     fld.d   -248\(%r13\)\+\+,%f30
-  84:  f9 ff d0 25     fld.d   -8\(%r14\)\+\+,%f16
-  88:  00 28 00 20     fld.d   %r5\(%r0\),%f0
-  8c:  00 30 3e 20     fld.d   %r6\(%r1\),%f30
-  90:  00 38 5c 20     fld.d   %r7\(%sp\),%f28
-  94:  00 40 7a 20     fld.d   %r8\(%fp\),%f26
-  98:  00 48 98 20     fld.d   %r9\(%r4\),%f24
-  9c:  00 00 b6 20     fld.d   %r0\(%r5\),%f22
-  a0:  00 08 d4 20     fld.d   %r1\(%r6\),%f20
-  a4:  00 60 f2 20     fld.d   %r12\(%r7\),%f18
-  a8:  00 68 10 21     fld.d   %r13\(%r8\),%f16
-  ac:  00 70 2e 21     fld.d   %r14\(%r9\),%f14
-  b0:  00 78 4c 21     fld.d   %r15\(%r10\),%f12
-  b4:  00 80 6a 21     fld.d   %r16\(%r11\),%f10
-  b8:  00 88 88 21     fld.d   %r17\(%r12\),%f8
-  bc:  00 e0 a6 21     fld.d   %r28\(%r13\),%f6
-  c0:  00 f8 c4 21     fld.d   %r31\(%r14\),%f4
-  c4:  01 28 00 20     fld.d   %r5\(%r0\)\+\+,%f0
-  c8:  01 30 22 20     fld.d   %r6\(%r1\)\+\+,%f2
-  cc:  01 38 44 20     fld.d   %r7\(%sp\)\+\+,%f4
-  d0:  01 40 66 20     fld.d   %r8\(%fp\)\+\+,%f6
-  d4:  01 48 88 20     fld.d   %r9\(%r4\)\+\+,%f8
-  d8:  01 00 aa 20     fld.d   %r0\(%r5\)\+\+,%f10
-  dc:  01 08 cc 20     fld.d   %r1\(%r6\)\+\+,%f12
-  e0:  01 60 ee 20     fld.d   %r12\(%r7\)\+\+,%f14
-  e4:  01 68 10 21     fld.d   %r13\(%r8\)\+\+,%f16
-  e8:  01 70 32 21     fld.d   %r14\(%r9\)\+\+,%f18
-  ec:  01 78 54 21     fld.d   %r15\(%r10\)\+\+,%f20
-  f0:  01 80 76 21     fld.d   %r16\(%r11\)\+\+,%f22
-  f4:  01 88 98 21     fld.d   %r17\(%r12\)\+\+,%f24
-  f8:  01 e0 ba 21     fld.d   %r28\(%r13\)\+\+,%f26
-  fc:  01 f8 de 21     fld.d   %r31\(%r14\)\+\+,%f30
diff --git a/gas/testsuite/gas/i860/fldst02.s b/gas/testsuite/gas/i860/fldst02.s
deleted file mode 100644 (file)
index 50b612b..0000000
+++ /dev/null
@@ -1,75 +0,0 @@
-# fld.d (no relocations here)
-       .text
-
-       # Immediate form, no auto-increment.
-       fld.d   0(%r0),%f0
-       fld.d   128(%r1),%f30
-       fld.d   256(%r2),%f28
-       fld.d   512(%r3),%f26
-       fld.d   1024(%r4),%f24
-       fld.d   4096(%r5),%f22
-       fld.d   8192(%r6),%f20
-       fld.d   16384(%r7),%f18
-       fld.d   32760(%r7),%f16
-       fld.d   -32768(%r7),%f14
-       fld.d   -16384(%r8),%f12
-       fld.d   -8192(%r9),%f10
-       fld.d   -4096(%r10),%f8
-       fld.d   -1024(%r11),%f6
-       fld.d   -512(%r12),%f4
-       fld.d   -248(%r13),%f2
-       fld.d   -8(%r14),%f0
-
-       # Immediate form, with auto-increment.
-       fld.d   0(%r0)++,%f0
-       fld.d   128(%r1)++,%f2
-       fld.d   256(%r2)++,%f4
-       fld.d   512(%r3)++,%f6
-       fld.d   1024(%r4)++,%f8
-       fld.d   4096(%r5)++,%f10
-       fld.d   8192(%r6)++,%f12
-       fld.d   16384(%r7)++,%f14
-       fld.d   32760(%r7)++,%f16
-       fld.d   -32768(%r7)++,%f18
-       fld.d   -16384(%r8)++,%f20
-       fld.d   -8192(%r9)++,%f22
-       fld.d   -4096(%r10)++,%f24
-       fld.d   -1024(%r11)++,%f26
-       fld.d   -512(%r12)++,%f28
-       fld.d   -248(%r13)++,%f30
-       fld.d   -8(%r14)++,%f16
-
-       # Index form, no auto-increment.
-       fld.d   %r5(%r0),%f0
-       fld.d   %r6(%r1),%f30
-       fld.d   %r7(%r2),%f28
-       fld.d   %r8(%r3),%f26
-       fld.d   %r9(%r4),%f24
-       fld.d   %r0(%r5),%f22
-       fld.d   %r1(%r6),%f20
-       fld.d   %r12(%r7),%f18
-       fld.d   %r13(%r8),%f16
-       fld.d   %r14(%r9),%f14
-       fld.d   %r15(%r10),%f12
-       fld.d   %r16(%r11),%f10
-       fld.d   %r17(%r12),%f8
-       fld.d   %r28(%r13),%f6
-       fld.d   %r31(%r14),%f4
-
-       # Index form, with auto-increment.
-       fld.d   %r5(%r0)++,%f0
-       fld.d   %r6(%r1)++,%f2
-       fld.d   %r7(%r2)++,%f4
-       fld.d   %r8(%r3)++,%f6
-       fld.d   %r9(%r4)++,%f8
-       fld.d   %r0(%r5)++,%f10
-       fld.d   %r1(%r6)++,%f12
-       fld.d   %r12(%r7)++,%f14
-       fld.d   %r13(%r8)++,%f16
-       fld.d   %r14(%r9)++,%f18
-       fld.d   %r15(%r10)++,%f20
-       fld.d   %r16(%r11)++,%f22
-       fld.d   %r17(%r12)++,%f24
-       fld.d   %r28(%r13)++,%f26
-       fld.d   %r31(%r14)++,%f30
-
diff --git a/gas/testsuite/gas/i860/fldst03.d b/gas/testsuite/gas/i860/fldst03.d
deleted file mode 100644 (file)
index 033c904..0000000
+++ /dev/null
@@ -1,73 +0,0 @@
-#as:
-#objdump: -dr
-#name: i860 fldst03 (fld.q)
-
-.*: +file format .*
-
-Disassembly of section \.text:
-
-00000000 <\.text>:
-   0:  04 00 00 24     fld.q   0\(%r0\),%f0
-   4:  84 00 3c 24     fld.q   128\(%r1\),%f28
-   8:  04 01 58 24     fld.q   256\(%sp\),%f24
-   c:  04 02 74 24     fld.q   512\(%fp\),%f20
-  10:  04 04 90 24     fld.q   1024\(%r4\),%f16
-  14:  04 10 ac 24     fld.q   4096\(%r5\),%f12
-  18:  04 20 c8 24     fld.q   8192\(%r6\),%f8
-  1c:  04 40 e4 24     fld.q   16384\(%r7\),%f4
-  20:  f4 7f e0 24     fld.q   32752\(%r7\),%f0
-  24:  04 80 fc 24     fld.q   -32768\(%r7\),%f28
-  28:  04 c0 18 25     fld.q   -16384\(%r8\),%f24
-  2c:  04 e0 34 25     fld.q   -8192\(%r9\),%f20
-  30:  04 f0 50 25     fld.q   -4096\(%r10\),%f16
-  34:  04 fc 6c 25     fld.q   -1024\(%r11\),%f12
-  38:  04 fe 88 25     fld.q   -512\(%r12\),%f8
-  3c:  04 ff a4 25     fld.q   -256\(%r13\),%f4
-  40:  f4 ff c0 25     fld.q   -16\(%r14\),%f0
-  44:  05 00 00 24     fld.q   0\(%r0\)\+\+,%f0
-  48:  85 00 24 24     fld.q   128\(%r1\)\+\+,%f4
-  4c:  05 01 48 24     fld.q   256\(%sp\)\+\+,%f8
-  50:  05 02 6c 24     fld.q   512\(%fp\)\+\+,%f12
-  54:  05 04 90 24     fld.q   1024\(%r4\)\+\+,%f16
-  58:  05 10 b4 24     fld.q   4096\(%r5\)\+\+,%f20
-  5c:  05 20 d8 24     fld.q   8192\(%r6\)\+\+,%f24
-  60:  05 40 fc 24     fld.q   16384\(%r7\)\+\+,%f28
-  64:  f5 7f e0 24     fld.q   32752\(%r7\)\+\+,%f0
-  68:  05 80 e4 24     fld.q   -32768\(%r7\)\+\+,%f4
-  6c:  05 c0 08 25     fld.q   -16384\(%r8\)\+\+,%f8
-  70:  05 e0 2c 25     fld.q   -8192\(%r9\)\+\+,%f12
-  74:  05 f0 50 25     fld.q   -4096\(%r10\)\+\+,%f16
-  78:  05 fc 74 25     fld.q   -1024\(%r11\)\+\+,%f20
-  7c:  05 fe 98 25     fld.q   -512\(%r12\)\+\+,%f24
-  80:  05 ff bc 25     fld.q   -256\(%r13\)\+\+,%f28
-  84:  f5 ff d0 25     fld.q   -16\(%r14\)\+\+,%f16
-  88:  04 28 00 20     fld.q   %r5\(%r0\),%f0
-  8c:  04 30 34 20     fld.q   %r6\(%r1\),%f20
-  90:  04 38 50 20     fld.q   %r7\(%sp\),%f16
-  94:  04 40 6c 20     fld.q   %r8\(%fp\),%f12
-  98:  04 48 88 20     fld.q   %r9\(%r4\),%f8
-  9c:  04 00 a4 20     fld.q   %r0\(%r5\),%f4
-  a0:  04 08 c0 20     fld.q   %r1\(%r6\),%f0
-  a4:  04 60 fc 20     fld.q   %r12\(%r7\),%f28
-  a8:  04 68 18 21     fld.q   %r13\(%r8\),%f24
-  ac:  04 70 34 21     fld.q   %r14\(%r9\),%f20
-  b0:  04 78 50 21     fld.q   %r15\(%r10\),%f16
-  b4:  04 80 6c 21     fld.q   %r16\(%r11\),%f12
-  b8:  04 88 88 21     fld.q   %r17\(%r12\),%f8
-  bc:  04 e0 a4 21     fld.q   %r28\(%r13\),%f4
-  c0:  04 f8 c0 21     fld.q   %r31\(%r14\),%f0
-  c4:  05 28 00 20     fld.q   %r5\(%r0\)\+\+,%f0
-  c8:  05 30 24 20     fld.q   %r6\(%r1\)\+\+,%f4
-  cc:  05 38 48 20     fld.q   %r7\(%sp\)\+\+,%f8
-  d0:  05 40 6c 20     fld.q   %r8\(%fp\)\+\+,%f12
-  d4:  05 48 90 20     fld.q   %r9\(%r4\)\+\+,%f16
-  d8:  05 00 b4 20     fld.q   %r0\(%r5\)\+\+,%f20
-  dc:  05 08 d8 20     fld.q   %r1\(%r6\)\+\+,%f24
-  e0:  05 60 fc 20     fld.q   %r12\(%r7\)\+\+,%f28
-  e4:  05 68 00 21     fld.q   %r13\(%r8\)\+\+,%f0
-  e8:  05 70 24 21     fld.q   %r14\(%r9\)\+\+,%f4
-  ec:  05 78 48 21     fld.q   %r15\(%r10\)\+\+,%f8
-  f0:  05 80 6c 21     fld.q   %r16\(%r11\)\+\+,%f12
-  f4:  05 88 90 21     fld.q   %r17\(%r12\)\+\+,%f16
-  f8:  05 e0 b4 21     fld.q   %r28\(%r13\)\+\+,%f20
-  fc:  05 f8 d8 21     fld.q   %r31\(%r14\)\+\+,%f24
diff --git a/gas/testsuite/gas/i860/fldst03.s b/gas/testsuite/gas/i860/fldst03.s
deleted file mode 100644 (file)
index 7259925..0000000
+++ /dev/null
@@ -1,75 +0,0 @@
-# fld.q (no relocations here)
-       .text
-
-       # Immediate form, no auto-increment.
-       fld.q   0(%r0),%f0
-       fld.q   128(%r1),%f28
-       fld.q   256(%r2),%f24
-       fld.q   512(%r3),%f20
-       fld.q   1024(%r4),%f16
-       fld.q   4096(%r5),%f12
-       fld.q   8192(%r6),%f8
-       fld.q   16384(%r7),%f4
-       fld.q   32752(%r7),%f0
-       fld.q   -32768(%r7),%f28
-       fld.q   -16384(%r8),%f24
-       fld.q   -8192(%r9),%f20
-       fld.q   -4096(%r10),%f16
-       fld.q   -1024(%r11),%f12
-       fld.q   -512(%r12),%f8
-       fld.q   -256(%r13),%f4
-       fld.q   -16(%r14),%f0
-
-       # Immediate form, with auto-increment.
-       fld.q   0(%r0)++,%f0
-       fld.q   128(%r1)++,%f4
-       fld.q   256(%r2)++,%f8
-       fld.q   512(%r3)++,%f12
-       fld.q   1024(%r4)++,%f16
-       fld.q   4096(%r5)++,%f20
-       fld.q   8192(%r6)++,%f24
-       fld.q   16384(%r7)++,%f28
-       fld.q   32752(%r7)++,%f0
-       fld.q   -32768(%r7)++,%f4
-       fld.q   -16384(%r8)++,%f8
-       fld.q   -8192(%r9)++,%f12
-       fld.q   -4096(%r10)++,%f16
-       fld.q   -1024(%r11)++,%f20
-       fld.q   -512(%r12)++,%f24
-       fld.q   -256(%r13)++,%f28
-       fld.q   -16(%r14)++,%f16
-
-       # Index form, no auto-increment.
-       fld.q   %r5(%r0),%f0
-       fld.q   %r6(%r1),%f20
-       fld.q   %r7(%r2),%f16
-       fld.q   %r8(%r3),%f12
-       fld.q   %r9(%r4),%f8
-       fld.q   %r0(%r5),%f4
-       fld.q   %r1(%r6),%f0
-       fld.q   %r12(%r7),%f28
-       fld.q   %r13(%r8),%f24
-       fld.q   %r14(%r9),%f20
-       fld.q   %r15(%r10),%f16
-       fld.q   %r16(%r11),%f12
-       fld.q   %r17(%r12),%f8
-       fld.q   %r28(%r13),%f4
-       fld.q   %r31(%r14),%f0
-
-       # Index form, with auto-increment.
-       fld.q   %r5(%r0)++,%f0
-       fld.q   %r6(%r1)++,%f4
-       fld.q   %r7(%r2)++,%f8
-       fld.q   %r8(%r3)++,%f12
-       fld.q   %r9(%r4)++,%f16
-       fld.q   %r0(%r5)++,%f20
-       fld.q   %r1(%r6)++,%f24
-       fld.q   %r12(%r7)++,%f28
-       fld.q   %r13(%r8)++,%f0
-       fld.q   %r14(%r9)++,%f4
-       fld.q   %r15(%r10)++,%f8
-       fld.q   %r16(%r11)++,%f12
-       fld.q   %r17(%r12)++,%f16
-       fld.q   %r28(%r13)++,%f20
-       fld.q   %r31(%r14)++,%f24
-
diff --git a/gas/testsuite/gas/i860/fldst04.d b/gas/testsuite/gas/i860/fldst04.d
deleted file mode 100644 (file)
index 32559ce..0000000
+++ /dev/null
@@ -1,73 +0,0 @@
-#as:
-#objdump: -dr
-#name: i860 fldst04 (fst.l)
-
-.*: +file format .*
-
-Disassembly of section \.text:
-
-00000000 <\.text>:
-   0:  02 00 00 2c     fst.l   %f0,0\(%r0\)
-   4:  7e 00 3f 2c     fst.l   %f31,124\(%r1\)
-   8:  02 01 5e 2c     fst.l   %f30,256\(%sp\)
-   c:  02 02 7d 2c     fst.l   %f29,512\(%fp\)
-  10:  02 04 9c 2c     fst.l   %f28,1024\(%r4\)
-  14:  02 10 bb 2c     fst.l   %f27,4096\(%r5\)
-  18:  02 20 da 2c     fst.l   %f26,8192\(%r6\)
-  1c:  02 40 f9 2c     fst.l   %f25,16384\(%r7\)
-  20:  fe 7f f9 2c     fst.l   %f25,32764\(%r7\)
-  24:  02 80 f7 2c     fst.l   %f23,-32768\(%r7\)
-  28:  02 c0 02 2d     fst.l   %f2,-16384\(%r8\)
-  2c:  02 e0 23 2d     fst.l   %f3,-8192\(%r9\)
-  30:  02 f0 48 2d     fst.l   %f8,-4096\(%r10\)
-  34:  02 fc 69 2d     fst.l   %f9,-1024\(%r11\)
-  38:  06 fe 8c 2d     fst.l   %f12,-508\(%r12\)
-  3c:  0a ff b3 2d     fst.l   %f19,-248\(%r13\)
-  40:  fe ff d5 2d     fst.l   %f21,-4\(%r14\)
-  44:  03 00 00 2c     fst.l   %f0,0\(%r0\)\+\+
-  48:  7f 00 21 2c     fst.l   %f1,124\(%r1\)\+\+
-  4c:  03 01 42 2c     fst.l   %f2,256\(%sp\)\+\+
-  50:  03 02 63 2c     fst.l   %f3,512\(%fp\)\+\+
-  54:  03 04 84 2c     fst.l   %f4,1024\(%r4\)\+\+
-  58:  03 10 a5 2c     fst.l   %f5,4096\(%r5\)\+\+
-  5c:  03 20 c6 2c     fst.l   %f6,8192\(%r6\)\+\+
-  60:  03 40 e7 2c     fst.l   %f7,16384\(%r7\)\+\+
-  64:  ff 7f e8 2c     fst.l   %f8,32764\(%r7\)\+\+
-  68:  03 80 e9 2c     fst.l   %f9,-32768\(%r7\)\+\+
-  6c:  03 c0 0a 2d     fst.l   %f10,-16384\(%r8\)\+\+
-  70:  03 e0 2b 2d     fst.l   %f11,-8192\(%r9\)\+\+
-  74:  03 f0 4c 2d     fst.l   %f12,-4096\(%r10\)\+\+
-  78:  03 fc 6d 2d     fst.l   %f13,-1024\(%r11\)\+\+
-  7c:  07 fe 8e 2d     fst.l   %f14,-508\(%r12\)\+\+
-  80:  0b ff af 2d     fst.l   %f15,-248\(%r13\)\+\+
-  84:  ff ff d0 2d     fst.l   %f16,-4\(%r14\)\+\+
-  88:  02 28 00 28     fst.l   %f0,%r5\(%r0\)
-  8c:  02 30 3f 28     fst.l   %f31,%r6\(%r1\)
-  90:  02 38 5e 28     fst.l   %f30,%r7\(%sp\)
-  94:  02 40 7d 28     fst.l   %f29,%r8\(%fp\)
-  98:  02 48 9c 28     fst.l   %f28,%r9\(%r4\)
-  9c:  02 00 bb 28     fst.l   %f27,%r0\(%r5\)
-  a0:  02 08 da 28     fst.l   %f26,%r1\(%r6\)
-  a4:  02 60 f9 28     fst.l   %f25,%r12\(%r7\)
-  a8:  02 68 18 29     fst.l   %f24,%r13\(%r8\)
-  ac:  02 70 37 29     fst.l   %f23,%r14\(%r9\)
-  b0:  02 78 56 29     fst.l   %f22,%r15\(%r10\)
-  b4:  02 80 75 29     fst.l   %f21,%r16\(%r11\)
-  b8:  02 88 94 29     fst.l   %f20,%r17\(%r12\)
-  bc:  02 e0 b3 29     fst.l   %f19,%r28\(%r13\)
-  c0:  02 f8 d2 29     fst.l   %f18,%r31\(%r14\)
-  c4:  03 28 00 28     fst.l   %f0,%r5\(%r0\)\+\+
-  c8:  03 30 21 28     fst.l   %f1,%r6\(%r1\)\+\+
-  cc:  03 38 42 28     fst.l   %f2,%r7\(%sp\)\+\+
-  d0:  03 40 63 28     fst.l   %f3,%r8\(%fp\)\+\+
-  d4:  03 48 84 28     fst.l   %f4,%r9\(%r4\)\+\+
-  d8:  03 00 a5 28     fst.l   %f5,%r0\(%r5\)\+\+
-  dc:  03 08 c6 28     fst.l   %f6,%r1\(%r6\)\+\+
-  e0:  03 60 e7 28     fst.l   %f7,%r12\(%r7\)\+\+
-  e4:  03 68 08 29     fst.l   %f8,%r13\(%r8\)\+\+
-  e8:  03 70 29 29     fst.l   %f9,%r14\(%r9\)\+\+
-  ec:  03 78 4a 29     fst.l   %f10,%r15\(%r10\)\+\+
-  f0:  03 80 6b 29     fst.l   %f11,%r16\(%r11\)\+\+
-  f4:  03 88 8c 29     fst.l   %f12,%r17\(%r12\)\+\+
-  f8:  03 e0 ad 29     fst.l   %f13,%r28\(%r13\)\+\+
-  fc:  03 f8 ce 29     fst.l   %f14,%r31\(%r14\)\+\+
diff --git a/gas/testsuite/gas/i860/fldst04.s b/gas/testsuite/gas/i860/fldst04.s
deleted file mode 100644 (file)
index 7136614..0000000
+++ /dev/null
@@ -1,75 +0,0 @@
-# fst.l (no relocations here)
-       .text
-
-       # Immediate form, no auto-increment.
-       fst.l   %f0,0(%r0)
-       fst.l   %f31,124(%r1)
-       fst.l   %f30,256(%r2)
-       fst.l   %f29,512(%r3)
-       fst.l   %f28,1024(%r4)
-       fst.l   %f27,4096(%r5)
-       fst.l   %f26,8192(%r6)
-       fst.l   %f25,16384(%r7)
-       fst.l   %f25,32764(%r7)
-       fst.l   %f23,-32768(%r7)
-       fst.l   %f2,-16384(%r8)
-       fst.l   %f3,-8192(%r9)
-       fst.l   %f8,-4096(%r10)
-       fst.l   %f9,-1024(%r11)
-       fst.l   %f12,-508(%r12)
-       fst.l   %f19,-248(%r13)
-       fst.l   %f21,-4(%r14)
-
-       # Immediate form, with auto-increment.
-       fst.l   %f0,0(%r0)++
-       fst.l   %f1,124(%r1)++
-       fst.l   %f2,256(%r2)++
-       fst.l   %f3,512(%r3)++
-       fst.l   %f4,1024(%r4)++
-       fst.l   %f5,4096(%r5)++
-       fst.l   %f6,8192(%r6)++
-       fst.l   %f7,16384(%r7)++
-       fst.l   %f8,32764(%r7)++
-       fst.l   %f9,-32768(%r7)++
-       fst.l   %f10,-16384(%r8)++
-       fst.l   %f11,-8192(%r9)++
-       fst.l   %f12,-4096(%r10)++
-       fst.l   %f13,-1024(%r11)++
-       fst.l   %f14,-508(%r12)++
-       fst.l   %f15,-248(%r13)++
-       fst.l   %f16,-4(%r14)++
-
-       # Index form, no auto-increment.
-       fst.l   %f0,%r5(%r0)
-       fst.l   %f31,%r6(%r1)
-       fst.l   %f30,%r7(%r2)
-       fst.l   %f29,%r8(%r3)
-       fst.l   %f28,%r9(%r4)
-       fst.l   %f27,%r0(%r5)
-       fst.l   %f26,%r1(%r6)
-       fst.l   %f25,%r12(%r7)
-       fst.l   %f24,%r13(%r8)
-       fst.l   %f23,%r14(%r9)
-       fst.l   %f22,%r15(%r10)
-       fst.l   %f21,%r16(%r11)
-       fst.l   %f20,%r17(%r12)
-       fst.l   %f19,%r28(%r13)
-       fst.l   %f18,%r31(%r14)
-
-       # Index form, with auto-increment.
-       fst.l   %f0,%r5(%r0)++
-       fst.l   %f1,%r6(%r1)++
-       fst.l   %f2,%r7(%r2)++
-       fst.l   %f3,%r8(%r3)++
-       fst.l   %f4,%r9(%r4)++
-       fst.l   %f5,%r0(%r5)++
-       fst.l   %f6,%r1(%r6)++
-       fst.l   %f7,%r12(%r7)++
-       fst.l   %f8,%r13(%r8)++
-       fst.l   %f9,%r14(%r9)++
-       fst.l   %f10,%r15(%r10)++
-       fst.l   %f11,%r16(%r11)++
-       fst.l   %f12,%r17(%r12)++
-       fst.l   %f13,%r28(%r13)++
-       fst.l   %f14,%r31(%r14)++
-
diff --git a/gas/testsuite/gas/i860/fldst05.d b/gas/testsuite/gas/i860/fldst05.d
deleted file mode 100644 (file)
index a6187bf..0000000
+++ /dev/null
@@ -1,73 +0,0 @@
-#as:
-#objdump: -dr
-#name: i860 fldst05 (fst.d)
-
-.*: +file format .*
-
-Disassembly of section \.text:
-
-00000000 <\.text>:
-   0:  00 00 00 2c     fst.d   %f0,0\(%r0\)
-   4:  80 00 3e 2c     fst.d   %f30,128\(%r1\)
-   8:  00 01 5c 2c     fst.d   %f28,256\(%sp\)
-   c:  00 02 7a 2c     fst.d   %f26,512\(%fp\)
-  10:  00 04 98 2c     fst.d   %f24,1024\(%r4\)
-  14:  00 10 b6 2c     fst.d   %f22,4096\(%r5\)
-  18:  00 20 d4 2c     fst.d   %f20,8192\(%r6\)
-  1c:  00 40 f2 2c     fst.d   %f18,16384\(%r7\)
-  20:  f8 7f f0 2c     fst.d   %f16,32760\(%r7\)
-  24:  00 80 ee 2c     fst.d   %f14,-32768\(%r7\)
-  28:  00 c0 0c 2d     fst.d   %f12,-16384\(%r8\)
-  2c:  00 e0 2a 2d     fst.d   %f10,-8192\(%r9\)
-  30:  00 f0 48 2d     fst.d   %f8,-4096\(%r10\)
-  34:  00 fc 66 2d     fst.d   %f6,-1024\(%r11\)
-  38:  00 fe 84 2d     fst.d   %f4,-512\(%r12\)
-  3c:  08 ff a2 2d     fst.d   %f2,-248\(%r13\)
-  40:  f8 ff c0 2d     fst.d   %f0,-8\(%r14\)
-  44:  01 00 00 2c     fst.d   %f0,0\(%r0\)\+\+
-  48:  81 00 22 2c     fst.d   %f2,128\(%r1\)\+\+
-  4c:  01 01 44 2c     fst.d   %f4,256\(%sp\)\+\+
-  50:  01 02 66 2c     fst.d   %f6,512\(%fp\)\+\+
-  54:  01 04 88 2c     fst.d   %f8,1024\(%r4\)\+\+
-  58:  01 10 aa 2c     fst.d   %f10,4096\(%r5\)\+\+
-  5c:  01 20 cc 2c     fst.d   %f12,8192\(%r6\)\+\+
-  60:  01 40 ee 2c     fst.d   %f14,16384\(%r7\)\+\+
-  64:  f9 7f f0 2c     fst.d   %f16,32760\(%r7\)\+\+
-  68:  01 80 f2 2c     fst.d   %f18,-32768\(%r7\)\+\+
-  6c:  01 c0 14 2d     fst.d   %f20,-16384\(%r8\)\+\+
-  70:  01 e0 36 2d     fst.d   %f22,-8192\(%r9\)\+\+
-  74:  01 f0 58 2d     fst.d   %f24,-4096\(%r10\)\+\+
-  78:  01 fc 7a 2d     fst.d   %f26,-1024\(%r11\)\+\+
-  7c:  01 fe 9c 2d     fst.d   %f28,-512\(%r12\)\+\+
-  80:  09 ff be 2d     fst.d   %f30,-248\(%r13\)\+\+
-  84:  f9 ff d0 2d     fst.d   %f16,-8\(%r14\)\+\+
-  88:  00 28 00 28     fst.d   %f0,%r5\(%r0\)
-  8c:  00 30 3e 28     fst.d   %f30,%r6\(%r1\)
-  90:  00 38 5c 28     fst.d   %f28,%r7\(%sp\)
-  94:  00 40 7a 28     fst.d   %f26,%r8\(%fp\)
-  98:  00 48 98 28     fst.d   %f24,%r9\(%r4\)
-  9c:  00 00 b6 28     fst.d   %f22,%r0\(%r5\)
-  a0:  00 08 d4 28     fst.d   %f20,%r1\(%r6\)
-  a4:  00 60 f2 28     fst.d   %f18,%r12\(%r7\)
-  a8:  00 68 10 29     fst.d   %f16,%r13\(%r8\)
-  ac:  00 70 2e 29     fst.d   %f14,%r14\(%r9\)
-  b0:  00 78 4c 29     fst.d   %f12,%r15\(%r10\)
-  b4:  00 80 6a 29     fst.d   %f10,%r16\(%r11\)
-  b8:  00 88 88 29     fst.d   %f8,%r17\(%r12\)
-  bc:  00 e0 a6 29     fst.d   %f6,%r28\(%r13\)
-  c0:  00 f8 c4 29     fst.d   %f4,%r31\(%r14\)
-  c4:  01 28 00 28     fst.d   %f0,%r5\(%r0\)\+\+
-  c8:  01 30 22 28     fst.d   %f2,%r6\(%r1\)\+\+
-  cc:  01 38 44 28     fst.d   %f4,%r7\(%sp\)\+\+
-  d0:  01 40 66 28     fst.d   %f6,%r8\(%fp\)\+\+
-  d4:  01 48 88 28     fst.d   %f8,%r9\(%r4\)\+\+
-  d8:  01 00 aa 28     fst.d   %f10,%r0\(%r5\)\+\+
-  dc:  01 08 cc 28     fst.d   %f12,%r1\(%r6\)\+\+
-  e0:  01 60 ee 28     fst.d   %f14,%r12\(%r7\)\+\+
-  e4:  01 68 10 29     fst.d   %f16,%r13\(%r8\)\+\+
-  e8:  01 70 32 29     fst.d   %f18,%r14\(%r9\)\+\+
-  ec:  01 78 54 29     fst.d   %f20,%r15\(%r10\)\+\+
-  f0:  01 80 76 29     fst.d   %f22,%r16\(%r11\)\+\+
-  f4:  01 88 98 29     fst.d   %f24,%r17\(%r12\)\+\+
-  f8:  01 e0 ba 29     fst.d   %f26,%r28\(%r13\)\+\+
-  fc:  01 f8 de 29     fst.d   %f30,%r31\(%r14\)\+\+
diff --git a/gas/testsuite/gas/i860/fldst05.s b/gas/testsuite/gas/i860/fldst05.s
deleted file mode 100644 (file)
index 97032aa..0000000
+++ /dev/null
@@ -1,75 +0,0 @@
-# fst.d (no relocations here)
-       .text
-
-       # Immediate form, no auto-increment.
-       fst.d   %f0,0(%r0)
-       fst.d   %f30,128(%r1)
-       fst.d   %f28,256(%r2)
-       fst.d   %f26,512(%r3)
-       fst.d   %f24,1024(%r4)
-       fst.d   %f22,4096(%r5)
-       fst.d   %f20,8192(%r6)
-       fst.d   %f18,16384(%r7)
-       fst.d   %f16,32760(%r7)
-       fst.d   %f14,-32768(%r7)
-       fst.d   %f12,-16384(%r8)
-       fst.d   %f10,-8192(%r9)
-       fst.d   %f8,-4096(%r10)
-       fst.d   %f6,-1024(%r11)
-       fst.d   %f4,-512(%r12)
-       fst.d   %f2,-248(%r13)
-       fst.d   %f0,-8(%r14)
-
-       # Immediate form, with auto-increment.
-       fst.d   %f0,0(%r0)++
-       fst.d   %f2,128(%r1)++
-       fst.d   %f4,256(%r2)++
-       fst.d   %f6,512(%r3)++
-       fst.d   %f8,1024(%r4)++
-       fst.d   %f10,4096(%r5)++
-       fst.d   %f12,8192(%r6)++
-       fst.d   %f14,16384(%r7)++
-       fst.d   %f16,32760(%r7)++
-       fst.d   %f18,-32768(%r7)++
-       fst.d   %f20,-16384(%r8)++
-       fst.d   %f22,-8192(%r9)++
-       fst.d   %f24,-4096(%r10)++
-       fst.d   %f26,-1024(%r11)++
-       fst.d   %f28,-512(%r12)++
-       fst.d   %f30,-248(%r13)++
-       fst.d   %f16,-8(%r14)++
-
-       # Index form, no auto-increment.
-       fst.d   %f0,%r5(%r0)
-       fst.d   %f30,%r6(%r1)
-       fst.d   %f28,%r7(%r2)
-       fst.d   %f26,%r8(%r3)
-       fst.d   %f24,%r9(%r4)
-       fst.d   %f22,%r0(%r5)
-       fst.d   %f20,%r1(%r6)
-       fst.d   %f18,%r12(%r7)
-       fst.d   %f16,%r13(%r8)
-       fst.d   %f14,%r14(%r9)
-       fst.d   %f12,%r15(%r10)
-       fst.d   %f10,%r16(%r11)
-       fst.d   %f8,%r17(%r12)
-       fst.d   %f6,%r28(%r13)
-       fst.d   %f4,%r31(%r14)
-
-       # Index form, with auto-increment.
-       fst.d   %f0,%r5(%r0)++
-       fst.d   %f2,%r6(%r1)++
-       fst.d   %f4,%r7(%r2)++
-       fst.d   %f6,%r8(%r3)++
-       fst.d   %f8,%r9(%r4)++
-       fst.d   %f10,%r0(%r5)++
-       fst.d   %f12,%r1(%r6)++
-       fst.d   %f14,%r12(%r7)++
-       fst.d   %f16,%r13(%r8)++
-       fst.d   %f18,%r14(%r9)++
-       fst.d   %f20,%r15(%r10)++
-       fst.d   %f22,%r16(%r11)++
-       fst.d   %f24,%r17(%r12)++
-       fst.d   %f26,%r28(%r13)++
-       fst.d   %f30,%r31(%r14)++
-
diff --git a/gas/testsuite/gas/i860/fldst06.d b/gas/testsuite/gas/i860/fldst06.d
deleted file mode 100644 (file)
index a1f6c5c..0000000
+++ /dev/null
@@ -1,73 +0,0 @@
-#as:
-#objdump: -dr
-#name: i860 fldst06 (fst.q)
-
-.*: +file format .*
-
-Disassembly of section \.text:
-
-00000000 <\.text>:
-   0:  04 00 00 2c     fst.q   %f0,0\(%r0\)
-   4:  84 00 3c 2c     fst.q   %f28,128\(%r1\)
-   8:  04 01 58 2c     fst.q   %f24,256\(%sp\)
-   c:  04 02 74 2c     fst.q   %f20,512\(%fp\)
-  10:  04 04 90 2c     fst.q   %f16,1024\(%r4\)
-  14:  04 10 ac 2c     fst.q   %f12,4096\(%r5\)
-  18:  04 20 c8 2c     fst.q   %f8,8192\(%r6\)
-  1c:  04 40 e4 2c     fst.q   %f4,16384\(%r7\)
-  20:  f4 7f e0 2c     fst.q   %f0,32752\(%r7\)
-  24:  04 80 fc 2c     fst.q   %f28,-32768\(%r7\)
-  28:  04 c0 18 2d     fst.q   %f24,-16384\(%r8\)
-  2c:  04 e0 34 2d     fst.q   %f20,-8192\(%r9\)
-  30:  04 f0 50 2d     fst.q   %f16,-4096\(%r10\)
-  34:  04 fc 6c 2d     fst.q   %f12,-1024\(%r11\)
-  38:  04 fe 88 2d     fst.q   %f8,-512\(%r12\)
-  3c:  04 ff a4 2d     fst.q   %f4,-256\(%r13\)
-  40:  f4 ff c0 2d     fst.q   %f0,-16\(%r14\)
-  44:  05 00 00 2c     fst.q   %f0,0\(%r0\)\+\+
-  48:  85 00 24 2c     fst.q   %f4,128\(%r1\)\+\+
-  4c:  05 01 48 2c     fst.q   %f8,256\(%sp\)\+\+
-  50:  05 02 6c 2c     fst.q   %f12,512\(%fp\)\+\+
-  54:  05 04 90 2c     fst.q   %f16,1024\(%r4\)\+\+
-  58:  05 10 b4 2c     fst.q   %f20,4096\(%r5\)\+\+
-  5c:  05 20 d8 2c     fst.q   %f24,8192\(%r6\)\+\+
-  60:  05 40 fc 2c     fst.q   %f28,16384\(%r7\)\+\+
-  64:  f5 7f e0 2c     fst.q   %f0,32752\(%r7\)\+\+
-  68:  05 80 e4 2c     fst.q   %f4,-32768\(%r7\)\+\+
-  6c:  05 c0 08 2d     fst.q   %f8,-16384\(%r8\)\+\+
-  70:  05 e0 2c 2d     fst.q   %f12,-8192\(%r9\)\+\+
-  74:  05 f0 50 2d     fst.q   %f16,-4096\(%r10\)\+\+
-  78:  05 fc 74 2d     fst.q   %f20,-1024\(%r11\)\+\+
-  7c:  05 fe 98 2d     fst.q   %f24,-512\(%r12\)\+\+
-  80:  05 ff bc 2d     fst.q   %f28,-256\(%r13\)\+\+
-  84:  f5 ff d0 2d     fst.q   %f16,-16\(%r14\)\+\+
-  88:  04 28 00 28     fst.q   %f0,%r5\(%r0\)
-  8c:  04 30 34 28     fst.q   %f20,%r6\(%r1\)
-  90:  04 38 50 28     fst.q   %f16,%r7\(%sp\)
-  94:  04 40 6c 28     fst.q   %f12,%r8\(%fp\)
-  98:  04 48 88 28     fst.q   %f8,%r9\(%r4\)
-  9c:  04 00 a4 28     fst.q   %f4,%r0\(%r5\)
-  a0:  04 08 c0 28     fst.q   %f0,%r1\(%r6\)
-  a4:  04 60 fc 28     fst.q   %f28,%r12\(%r7\)
-  a8:  04 68 18 29     fst.q   %f24,%r13\(%r8\)
-  ac:  04 70 34 29     fst.q   %f20,%r14\(%r9\)
-  b0:  04 78 50 29     fst.q   %f16,%r15\(%r10\)
-  b4:  04 80 6c 29     fst.q   %f12,%r16\(%r11\)
-  b8:  04 88 88 29     fst.q   %f8,%r17\(%r12\)
-  bc:  04 e0 a4 29     fst.q   %f4,%r28\(%r13\)
-  c0:  04 f8 c0 29     fst.q   %f0,%r31\(%r14\)
-  c4:  05 28 00 28     fst.q   %f0,%r5\(%r0\)\+\+
-  c8:  05 30 24 28     fst.q   %f4,%r6\(%r1\)\+\+
-  cc:  05 38 48 28     fst.q   %f8,%r7\(%sp\)\+\+
-  d0:  05 40 6c 28     fst.q   %f12,%r8\(%fp\)\+\+
-  d4:  05 48 90 28     fst.q   %f16,%r9\(%r4\)\+\+
-  d8:  05 00 b4 28     fst.q   %f20,%r0\(%r5\)\+\+
-  dc:  05 08 d8 28     fst.q   %f24,%r1\(%r6\)\+\+
-  e0:  05 60 fc 28     fst.q   %f28,%r12\(%r7\)\+\+
-  e4:  05 68 00 29     fst.q   %f0,%r13\(%r8\)\+\+
-  e8:  05 70 24 29     fst.q   %f4,%r14\(%r9\)\+\+
-  ec:  05 78 48 29     fst.q   %f8,%r15\(%r10\)\+\+
-  f0:  05 80 6c 29     fst.q   %f12,%r16\(%r11\)\+\+
-  f4:  05 88 90 29     fst.q   %f16,%r17\(%r12\)\+\+
-  f8:  05 e0 b4 29     fst.q   %f20,%r28\(%r13\)\+\+
-  fc:  05 f8 d8 29     fst.q   %f24,%r31\(%r14\)\+\+
diff --git a/gas/testsuite/gas/i860/fldst06.s b/gas/testsuite/gas/i860/fldst06.s
deleted file mode 100644 (file)
index 0bb1476..0000000
+++ /dev/null
@@ -1,75 +0,0 @@
-# fst.q (no relocations here)
-       .text
-
-       # Immediate form, no auto-increment.
-       fst.q   %f0,0(%r0)
-       fst.q   %f28,128(%r1)
-       fst.q   %f24,256(%r2)
-       fst.q   %f20,512(%r3)
-       fst.q   %f16,1024(%r4)
-       fst.q   %f12,4096(%r5)
-       fst.q   %f8,8192(%r6)
-       fst.q   %f4,16384(%r7)
-       fst.q   %f0,32752(%r7)
-       fst.q   %f28,-32768(%r7)
-       fst.q   %f24,-16384(%r8)
-       fst.q   %f20,-8192(%r9)
-       fst.q   %f16,-4096(%r10)
-       fst.q   %f12,-1024(%r11)
-       fst.q   %f8,-512(%r12)
-       fst.q   %f4,-256(%r13)
-       fst.q   %f0,-16(%r14)
-
-       # Immediate form, with auto-increment.
-       fst.q   %f0,0(%r0)++
-       fst.q   %f4,128(%r1)++
-       fst.q   %f8,256(%r2)++
-       fst.q   %f12,512(%r3)++
-       fst.q   %f16,1024(%r4)++
-       fst.q   %f20,4096(%r5)++
-       fst.q   %f24,8192(%r6)++
-       fst.q   %f28,16384(%r7)++
-       fst.q   %f0,32752(%r7)++
-       fst.q   %f4,-32768(%r7)++
-       fst.q   %f8,-16384(%r8)++
-       fst.q   %f12,-8192(%r9)++
-       fst.q   %f16,-4096(%r10)++
-       fst.q   %f20,-1024(%r11)++
-       fst.q   %f24,-512(%r12)++
-       fst.q   %f28,-256(%r13)++
-       fst.q   %f16,-16(%r14)++
-
-       # Index form, no auto-increment.
-       fst.q   %f0,%r5(%r0)
-       fst.q   %f20,%r6(%r1)
-       fst.q   %f16,%r7(%r2)
-       fst.q   %f12,%r8(%r3)
-       fst.q   %f8,%r9(%r4)
-       fst.q   %f4,%r0(%r5)
-       fst.q   %f0,%r1(%r6)
-       fst.q   %f28,%r12(%r7)
-       fst.q   %f24,%r13(%r8)
-       fst.q   %f20,%r14(%r9)
-       fst.q   %f16,%r15(%r10)
-       fst.q   %f12,%r16(%r11)
-       fst.q   %f8,%r17(%r12)
-       fst.q   %f4,%r28(%r13)
-       fst.q   %f0,%r31(%r14)
-
-       # Index form, with auto-increment.
-       fst.q   %f0,%r5(%r0)++
-       fst.q   %f4,%r6(%r1)++
-       fst.q   %f8,%r7(%r2)++
-       fst.q   %f12,%r8(%r3)++
-       fst.q   %f16,%r9(%r4)++
-       fst.q   %f20,%r0(%r5)++
-       fst.q   %f24,%r1(%r6)++
-       fst.q   %f28,%r12(%r7)++
-       fst.q   %f0,%r13(%r8)++
-       fst.q   %f4,%r14(%r9)++
-       fst.q   %f8,%r15(%r10)++
-       fst.q   %f12,%r16(%r11)++
-       fst.q   %f16,%r17(%r12)++
-       fst.q   %f20,%r28(%r13)++
-       fst.q   %f24,%r31(%r14)++
-
diff --git a/gas/testsuite/gas/i860/fldst07.d b/gas/testsuite/gas/i860/fldst07.d
deleted file mode 100644 (file)
index 4ba66f9..0000000
+++ /dev/null
@@ -1,73 +0,0 @@
-#as:
-#objdump: -dr
-#name: i860 fldst07 (pfld.l)
-
-.*: +file format .*
-
-Disassembly of section \.text:
-
-00000000 <\.text>:
-   0:  02 00 00 64     pfld.l  0\(%r0\),%f0
-   4:  7e 00 3f 64     pfld.l  124\(%r1\),%f31
-   8:  02 01 5e 64     pfld.l  256\(%sp\),%f30
-   c:  02 02 7d 64     pfld.l  512\(%fp\),%f29
-  10:  02 04 9c 64     pfld.l  1024\(%r4\),%f28
-  14:  02 10 bb 64     pfld.l  4096\(%r5\),%f27
-  18:  02 20 da 64     pfld.l  8192\(%r6\),%f26
-  1c:  02 40 f9 64     pfld.l  16384\(%r7\),%f25
-  20:  fe 7f f9 64     pfld.l  32764\(%r7\),%f25
-  24:  02 80 f7 64     pfld.l  -32768\(%r7\),%f23
-  28:  02 c0 02 65     pfld.l  -16384\(%r8\),%f2
-  2c:  02 e0 23 65     pfld.l  -8192\(%r9\),%f3
-  30:  02 f0 48 65     pfld.l  -4096\(%r10\),%f8
-  34:  02 fc 69 65     pfld.l  -1024\(%r11\),%f9
-  38:  06 fe 8c 65     pfld.l  -508\(%r12\),%f12
-  3c:  0a ff b3 65     pfld.l  -248\(%r13\),%f19
-  40:  fe ff d5 65     pfld.l  -4\(%r14\),%f21
-  44:  03 00 00 64     pfld.l  0\(%r0\)\+\+,%f0
-  48:  7f 00 21 64     pfld.l  124\(%r1\)\+\+,%f1
-  4c:  03 01 42 64     pfld.l  256\(%sp\)\+\+,%f2
-  50:  03 02 63 64     pfld.l  512\(%fp\)\+\+,%f3
-  54:  03 04 84 64     pfld.l  1024\(%r4\)\+\+,%f4
-  58:  03 10 a5 64     pfld.l  4096\(%r5\)\+\+,%f5
-  5c:  03 20 c6 64     pfld.l  8192\(%r6\)\+\+,%f6
-  60:  03 40 e7 64     pfld.l  16384\(%r7\)\+\+,%f7
-  64:  ff 7f e8 64     pfld.l  32764\(%r7\)\+\+,%f8
-  68:  03 80 e9 64     pfld.l  -32768\(%r7\)\+\+,%f9
-  6c:  03 c0 0a 65     pfld.l  -16384\(%r8\)\+\+,%f10
-  70:  03 e0 2b 65     pfld.l  -8192\(%r9\)\+\+,%f11
-  74:  03 f0 4c 65     pfld.l  -4096\(%r10\)\+\+,%f12
-  78:  03 fc 6d 65     pfld.l  -1024\(%r11\)\+\+,%f13
-  7c:  07 fe 8e 65     pfld.l  -508\(%r12\)\+\+,%f14
-  80:  0b ff af 65     pfld.l  -248\(%r13\)\+\+,%f15
-  84:  ff ff d0 65     pfld.l  -4\(%r14\)\+\+,%f16
-  88:  02 28 00 60     pfld.l  %r5\(%r0\),%f0
-  8c:  02 30 3f 60     pfld.l  %r6\(%r1\),%f31
-  90:  02 38 5e 60     pfld.l  %r7\(%sp\),%f30
-  94:  02 40 7d 60     pfld.l  %r8\(%fp\),%f29
-  98:  02 48 9c 60     pfld.l  %r9\(%r4\),%f28
-  9c:  02 00 bb 60     pfld.l  %r0\(%r5\),%f27
-  a0:  02 08 da 60     pfld.l  %r1\(%r6\),%f26
-  a4:  02 60 f9 60     pfld.l  %r12\(%r7\),%f25
-  a8:  02 68 18 61     pfld.l  %r13\(%r8\),%f24
-  ac:  02 70 37 61     pfld.l  %r14\(%r9\),%f23
-  b0:  02 78 56 61     pfld.l  %r15\(%r10\),%f22
-  b4:  02 80 75 61     pfld.l  %r16\(%r11\),%f21
-  b8:  02 88 94 61     pfld.l  %r17\(%r12\),%f20
-  bc:  02 e0 b3 61     pfld.l  %r28\(%r13\),%f19
-  c0:  02 f8 d2 61     pfld.l  %r31\(%r14\),%f18
-  c4:  03 28 00 60     pfld.l  %r5\(%r0\)\+\+,%f0
-  c8:  03 30 21 60     pfld.l  %r6\(%r1\)\+\+,%f1
-  cc:  03 38 42 60     pfld.l  %r7\(%sp\)\+\+,%f2
-  d0:  03 40 63 60     pfld.l  %r8\(%fp\)\+\+,%f3
-  d4:  03 48 84 60     pfld.l  %r9\(%r4\)\+\+,%f4
-  d8:  03 00 a5 60     pfld.l  %r0\(%r5\)\+\+,%f5
-  dc:  03 08 c6 60     pfld.l  %r1\(%r6\)\+\+,%f6
-  e0:  03 60 e7 60     pfld.l  %r12\(%r7\)\+\+,%f7
-  e4:  03 68 08 61     pfld.l  %r13\(%r8\)\+\+,%f8
-  e8:  03 70 29 61     pfld.l  %r14\(%r9\)\+\+,%f9
-  ec:  03 78 4a 61     pfld.l  %r15\(%r10\)\+\+,%f10
-  f0:  03 80 6b 61     pfld.l  %r16\(%r11\)\+\+,%f11
-  f4:  03 88 8c 61     pfld.l  %r17\(%r12\)\+\+,%f12
-  f8:  03 e0 ad 61     pfld.l  %r28\(%r13\)\+\+,%f13
-  fc:  03 f8 ce 61     pfld.l  %r31\(%r14\)\+\+,%f14
diff --git a/gas/testsuite/gas/i860/fldst07.s b/gas/testsuite/gas/i860/fldst07.s
deleted file mode 100644 (file)
index 410b256..0000000
+++ /dev/null
@@ -1,75 +0,0 @@
-# pfld.l (no relocations here)
-       .text
-
-       # Immediate form, no auto-increment.
-       pfld.l  0(%r0),%f0
-       pfld.l  124(%r1),%f31
-       pfld.l  256(%r2),%f30
-       pfld.l  512(%r3),%f29
-       pfld.l  1024(%r4),%f28
-       pfld.l  4096(%r5),%f27
-       pfld.l  8192(%r6),%f26
-       pfld.l  16384(%r7),%f25
-       pfld.l  32764(%r7),%f25
-       pfld.l  -32768(%r7),%f23
-       pfld.l  -16384(%r8),%f2
-       pfld.l  -8192(%r9),%f3
-       pfld.l  -4096(%r10),%f8
-       pfld.l  -1024(%r11),%f9
-       pfld.l  -508(%r12),%f12
-       pfld.l  -248(%r13),%f19
-       pfld.l  -4(%r14),%f21
-
-       # Immediate form, with auto-increment.
-       pfld.l  0(%r0)++,%f0
-       pfld.l  124(%r1)++,%f1
-       pfld.l  256(%r2)++,%f2
-       pfld.l  512(%r3)++,%f3
-       pfld.l  1024(%r4)++,%f4
-       pfld.l  4096(%r5)++,%f5
-       pfld.l  8192(%r6)++,%f6
-       pfld.l  16384(%r7)++,%f7
-       pfld.l  32764(%r7)++,%f8
-       pfld.l  -32768(%r7)++,%f9
-       pfld.l  -16384(%r8)++,%f10
-       pfld.l  -8192(%r9)++,%f11
-       pfld.l  -4096(%r10)++,%f12
-       pfld.l  -1024(%r11)++,%f13
-       pfld.l  -508(%r12)++,%f14
-       pfld.l  -248(%r13)++,%f15
-       pfld.l  -4(%r14)++,%f16
-
-       # Index form, no auto-increment.
-       pfld.l  %r5(%r0),%f0
-       pfld.l  %r6(%r1),%f31
-       pfld.l  %r7(%r2),%f30
-       pfld.l  %r8(%r3),%f29
-       pfld.l  %r9(%r4),%f28
-       pfld.l  %r0(%r5),%f27
-       pfld.l  %r1(%r6),%f26
-       pfld.l  %r12(%r7),%f25
-       pfld.l  %r13(%r8),%f24
-       pfld.l  %r14(%r9),%f23
-       pfld.l  %r15(%r10),%f22
-       pfld.l  %r16(%r11),%f21
-       pfld.l  %r17(%r12),%f20
-       pfld.l  %r28(%r13),%f19
-       pfld.l  %r31(%r14),%f18
-
-       # Index form, with auto-increment.
-       pfld.l  %r5(%r0)++,%f0
-       pfld.l  %r6(%r1)++,%f1
-       pfld.l  %r7(%r2)++,%f2
-       pfld.l  %r8(%r3)++,%f3
-       pfld.l  %r9(%r4)++,%f4
-       pfld.l  %r0(%r5)++,%f5
-       pfld.l  %r1(%r6)++,%f6
-       pfld.l  %r12(%r7)++,%f7
-       pfld.l  %r13(%r8)++,%f8
-       pfld.l  %r14(%r9)++,%f9
-       pfld.l  %r15(%r10)++,%f10
-       pfld.l  %r16(%r11)++,%f11
-       pfld.l  %r17(%r12)++,%f12
-       pfld.l  %r28(%r13)++,%f13
-       pfld.l  %r31(%r14)++,%f14
-
diff --git a/gas/testsuite/gas/i860/fldst08.d b/gas/testsuite/gas/i860/fldst08.d
deleted file mode 100644 (file)
index 272b40d..0000000
+++ /dev/null
@@ -1,73 +0,0 @@
-#as:
-#objdump: -dr
-#name: i860 fldst08 (pfld.d)
-
-.*: +file format .*
-
-Disassembly of section \.text:
-
-00000000 <\.text>:
-   0:  00 00 00 64     pfld.d  0\(%r0\),%f0
-   4:  80 00 3e 64     pfld.d  128\(%r1\),%f30
-   8:  00 01 5c 64     pfld.d  256\(%sp\),%f28
-   c:  00 02 7a 64     pfld.d  512\(%fp\),%f26
-  10:  00 04 98 64     pfld.d  1024\(%r4\),%f24
-  14:  00 10 b6 64     pfld.d  4096\(%r5\),%f22
-  18:  00 20 d4 64     pfld.d  8192\(%r6\),%f20
-  1c:  00 40 f2 64     pfld.d  16384\(%r7\),%f18
-  20:  f8 7f f0 64     pfld.d  32760\(%r7\),%f16
-  24:  00 80 ee 64     pfld.d  -32768\(%r7\),%f14
-  28:  00 c0 0c 65     pfld.d  -16384\(%r8\),%f12
-  2c:  00 e0 2a 65     pfld.d  -8192\(%r9\),%f10
-  30:  00 f0 48 65     pfld.d  -4096\(%r10\),%f8
-  34:  00 fc 66 65     pfld.d  -1024\(%r11\),%f6
-  38:  00 fe 84 65     pfld.d  -512\(%r12\),%f4
-  3c:  08 ff a2 65     pfld.d  -248\(%r13\),%f2
-  40:  f8 ff c0 65     pfld.d  -8\(%r14\),%f0
-  44:  01 00 00 64     pfld.d  0\(%r0\)\+\+,%f0
-  48:  81 00 22 64     pfld.d  128\(%r1\)\+\+,%f2
-  4c:  01 01 44 64     pfld.d  256\(%sp\)\+\+,%f4
-  50:  01 02 66 64     pfld.d  512\(%fp\)\+\+,%f6
-  54:  01 04 88 64     pfld.d  1024\(%r4\)\+\+,%f8
-  58:  01 10 aa 64     pfld.d  4096\(%r5\)\+\+,%f10
-  5c:  01 20 cc 64     pfld.d  8192\(%r6\)\+\+,%f12
-  60:  01 40 ee 64     pfld.d  16384\(%r7\)\+\+,%f14
-  64:  f9 7f f0 64     pfld.d  32760\(%r7\)\+\+,%f16
-  68:  01 80 f2 64     pfld.d  -32768\(%r7\)\+\+,%f18
-  6c:  01 c0 14 65     pfld.d  -16384\(%r8\)\+\+,%f20
-  70:  01 e0 36 65     pfld.d  -8192\(%r9\)\+\+,%f22
-  74:  01 f0 58 65     pfld.d  -4096\(%r10\)\+\+,%f24
-  78:  01 fc 7a 65     pfld.d  -1024\(%r11\)\+\+,%f26
-  7c:  01 fe 9c 65     pfld.d  -512\(%r12\)\+\+,%f28
-  80:  09 ff be 65     pfld.d  -248\(%r13\)\+\+,%f30
-  84:  f9 ff d0 65     pfld.d  -8\(%r14\)\+\+,%f16
-  88:  00 28 00 60     pfld.d  %r5\(%r0\),%f0
-  8c:  00 30 3e 60     pfld.d  %r6\(%r1\),%f30
-  90:  00 38 5c 60     pfld.d  %r7\(%sp\),%f28
-  94:  00 40 7a 60     pfld.d  %r8\(%fp\),%f26
-  98:  00 48 98 60     pfld.d  %r9\(%r4\),%f24
-  9c:  00 00 b6 60     pfld.d  %r0\(%r5\),%f22
-  a0:  00 08 d4 60     pfld.d  %r1\(%r6\),%f20
-  a4:  00 60 f2 60     pfld.d  %r12\(%r7\),%f18
-  a8:  00 68 10 61     pfld.d  %r13\(%r8\),%f16
-  ac:  00 70 2e 61     pfld.d  %r14\(%r9\),%f14
-  b0:  00 78 4c 61     pfld.d  %r15\(%r10\),%f12
-  b4:  00 80 6a 61     pfld.d  %r16\(%r11\),%f10
-  b8:  00 88 88 61     pfld.d  %r17\(%r12\),%f8
-  bc:  00 e0 a6 61     pfld.d  %r28\(%r13\),%f6
-  c0:  00 f8 c4 61     pfld.d  %r31\(%r14\),%f4
-  c4:  01 28 00 60     pfld.d  %r5\(%r0\)\+\+,%f0
-  c8:  01 30 22 60     pfld.d  %r6\(%r1\)\+\+,%f2
-  cc:  01 38 44 60     pfld.d  %r7\(%sp\)\+\+,%f4
-  d0:  01 40 66 60     pfld.d  %r8\(%fp\)\+\+,%f6
-  d4:  01 48 88 60     pfld.d  %r9\(%r4\)\+\+,%f8
-  d8:  01 00 aa 60     pfld.d  %r0\(%r5\)\+\+,%f10
-  dc:  01 08 cc 60     pfld.d  %r1\(%r6\)\+\+,%f12
-  e0:  01 60 ee 60     pfld.d  %r12\(%r7\)\+\+,%f14
-  e4:  01 68 10 61     pfld.d  %r13\(%r8\)\+\+,%f16
-  e8:  01 70 32 61     pfld.d  %r14\(%r9\)\+\+,%f18
-  ec:  01 78 54 61     pfld.d  %r15\(%r10\)\+\+,%f20
-  f0:  01 80 76 61     pfld.d  %r16\(%r11\)\+\+,%f22
-  f4:  01 88 98 61     pfld.d  %r17\(%r12\)\+\+,%f24
-  f8:  01 e0 ba 61     pfld.d  %r28\(%r13\)\+\+,%f26
-  fc:  01 f8 de 61     pfld.d  %r31\(%r14\)\+\+,%f30
diff --git a/gas/testsuite/gas/i860/fldst08.s b/gas/testsuite/gas/i860/fldst08.s
deleted file mode 100644 (file)
index 7ae6cf5..0000000
+++ /dev/null
@@ -1,75 +0,0 @@
-# pfld.d (no relocations here)
-       .text
-
-       # Immediate form, no auto-increment.
-       pfld.d  0(%r0),%f0
-       pfld.d  128(%r1),%f30
-       pfld.d  256(%r2),%f28
-       pfld.d  512(%r3),%f26
-       pfld.d  1024(%r4),%f24
-       pfld.d  4096(%r5),%f22
-       pfld.d  8192(%r6),%f20
-       pfld.d  16384(%r7),%f18
-       pfld.d  32760(%r7),%f16
-       pfld.d  -32768(%r7),%f14
-       pfld.d  -16384(%r8),%f12
-       pfld.d  -8192(%r9),%f10
-       pfld.d  -4096(%r10),%f8
-       pfld.d  -1024(%r11),%f6
-       pfld.d  -512(%r12),%f4
-       pfld.d  -248(%r13),%f2
-       pfld.d  -8(%r14),%f0
-
-       # Immediate form, with auto-increment.
-       pfld.d  0(%r0)++,%f0
-       pfld.d  128(%r1)++,%f2
-       pfld.d  256(%r2)++,%f4
-       pfld.d  512(%r3)++,%f6
-       pfld.d  1024(%r4)++,%f8
-       pfld.d  4096(%r5)++,%f10
-       pfld.d  8192(%r6)++,%f12
-       pfld.d  16384(%r7)++,%f14
-       pfld.d  32760(%r7)++,%f16
-       pfld.d  -32768(%r7)++,%f18
-       pfld.d  -16384(%r8)++,%f20
-       pfld.d  -8192(%r9)++,%f22
-       pfld.d  -4096(%r10)++,%f24
-       pfld.d  -1024(%r11)++,%f26
-       pfld.d  -512(%r12)++,%f28
-       pfld.d  -248(%r13)++,%f30
-       pfld.d  -8(%r14)++,%f16
-
-       # Index form, no auto-increment.
-       pfld.d  %r5(%r0),%f0
-       pfld.d  %r6(%r1),%f30
-       pfld.d  %r7(%r2),%f28
-       pfld.d  %r8(%r3),%f26
-       pfld.d  %r9(%r4),%f24
-       pfld.d  %r0(%r5),%f22
-       pfld.d  %r1(%r6),%f20
-       pfld.d  %r12(%r7),%f18
-       pfld.d  %r13(%r8),%f16
-       pfld.d  %r14(%r9),%f14
-       pfld.d  %r15(%r10),%f12
-       pfld.d  %r16(%r11),%f10
-       pfld.d  %r17(%r12),%f8
-       pfld.d  %r28(%r13),%f6
-       pfld.d  %r31(%r14),%f4
-
-       # Index form, with auto-increment.
-       pfld.d  %r5(%r0)++,%f0
-       pfld.d  %r6(%r1)++,%f2
-       pfld.d  %r7(%r2)++,%f4
-       pfld.d  %r8(%r3)++,%f6
-       pfld.d  %r9(%r4)++,%f8
-       pfld.d  %r0(%r5)++,%f10
-       pfld.d  %r1(%r6)++,%f12
-       pfld.d  %r12(%r7)++,%f14
-       pfld.d  %r13(%r8)++,%f16
-       pfld.d  %r14(%r9)++,%f18
-       pfld.d  %r15(%r10)++,%f20
-       pfld.d  %r16(%r11)++,%f22
-       pfld.d  %r17(%r12)++,%f24
-       pfld.d  %r28(%r13)++,%f26
-       pfld.d  %r31(%r14)++,%f30
-
diff --git a/gas/testsuite/gas/i860/float01.d b/gas/testsuite/gas/i860/float01.d
deleted file mode 100644 (file)
index f614f1a..0000000
+++ /dev/null
@@ -1,69 +0,0 @@
-#as:
-#objdump: -dr
-#name: i860 float01
-
-.*: +file format .*
-
-Disassembly of section \.text:
-
-00000000 <\.text>:
-   0:  30 00 22 48     fadd.ss %f0,%f1,%f2
-   4:  b0 10 64 48     fadd.sd %f2,%f3,%f4
-   8:  b0 31 0a 49     fadd.dd %f6,%f8,%f10
-   c:  31 28 c7 48     fsub.ss %f5,%f6,%f7
-  10:  b1 40 2a 49     fsub.sd %f8,%f9,%f10
-  14:  b1 61 d0 49     fsub.dd %f12,%f14,%f16
-  18:  20 58 8d 49     fmul.ss %f11,%f12,%f13
-  1c:  a0 70 f0 49     fmul.sd %f14,%f15,%f16
-  20:  a0 91 96 4a     fmul.dd %f18,%f20,%f22
-  24:  a1 b1 1a 4b     fmlow.dd        %f22,%f24,%f26
-  28:  30 74 f0 49     pfadd.ss        %f14,%f15,%f16
-  2c:  b0 8c 54 4a     pfadd.sd        %f17,%f18,%f20
-  30:  b0 b5 1a 4b     pfadd.dd        %f22,%f24,%f26
-  34:  31 a4 b6 4a     pfsub.ss        %f20,%f21,%f22
-  38:  b1 bc 1a 4b     pfsub.sd        %f23,%f24,%f26
-  3c:  b1 e5 c2 4b     pfsub.dd        %f28,%f30,%f2
-  40:  20 dc 9d 4b     pfmul.ss        %f27,%f28,%f29
-  44:  a0 f4 e4 4b     pfmul.sd        %f30,%f31,%f4
-  48:  a0 35 08 48     pfmul.dd        %f6,%f0,%f8
-  4c:  a4 15 9e 48     pfmul3.dd       %f2,%f4,%f30
-  50:  30 02 22 48     d.fadd.ss       %f0,%f1,%f2
-  54:  00 00 00 a0     shl     %r0,%r0,%r0
-  58:  b0 12 64 48     d.fadd.sd       %f2,%f3,%f4
-  5c:  00 00 00 a0     shl     %r0,%r0,%r0
-  60:  b0 33 0a 49     d.fadd.dd       %f6,%f8,%f10
-  64:  00 00 00 a0     shl     %r0,%r0,%r0
-  68:  31 2a c7 48     d.fsub.ss       %f5,%f6,%f7
-  6c:  00 00 00 a0     shl     %r0,%r0,%r0
-  70:  b1 42 2a 49     d.fsub.sd       %f8,%f9,%f10
-  74:  00 00 00 a0     shl     %r0,%r0,%r0
-  78:  b1 63 d0 49     d.fsub.dd       %f12,%f14,%f16
-  7c:  00 00 00 a0     shl     %r0,%r0,%r0
-  80:  20 5a 8d 49     d.fmul.ss       %f11,%f12,%f13
-  84:  00 00 00 a0     shl     %r0,%r0,%r0
-  88:  a0 72 f0 49     d.fmul.sd       %f14,%f15,%f16
-  8c:  00 00 00 a0     shl     %r0,%r0,%r0
-  90:  a0 93 96 4a     d.fmul.dd       %f18,%f20,%f22
-  94:  00 00 00 a0     shl     %r0,%r0,%r0
-  98:  a1 43 4c 49     d.fmlow.dd      %f8,%f10,%f12
-  9c:  00 00 00 a0     shl     %r0,%r0,%r0
-  a0:  30 76 f0 49     d.pfadd.ss      %f14,%f15,%f16
-  a4:  00 00 00 a0     shl     %r0,%r0,%r0
-  a8:  b0 8e 54 4a     d.pfadd.sd      %f17,%f18,%f20
-  ac:  00 00 00 a0     shl     %r0,%r0,%r0
-  b0:  b0 b7 1a 4b     d.pfadd.dd      %f22,%f24,%f26
-  b4:  00 00 00 a0     shl     %r0,%r0,%r0
-  b8:  31 a6 b6 4a     d.pfsub.ss      %f20,%f21,%f22
-  bc:  00 00 00 a0     shl     %r0,%r0,%r0
-  c0:  b1 be 1a 4b     d.pfsub.sd      %f23,%f24,%f26
-  c4:  00 00 00 a0     shl     %r0,%r0,%r0
-  c8:  b1 e7 c2 4b     d.pfsub.dd      %f28,%f30,%f2
-  cc:  00 00 00 a0     shl     %r0,%r0,%r0
-  d0:  20 de 9d 4b     d.pfmul.ss      %f27,%f28,%f29
-  d4:  00 00 00 a0     shl     %r0,%r0,%r0
-  d8:  a0 f6 e4 4b     d.pfmul.sd      %f30,%f31,%f4
-  dc:  00 00 00 a0     shl     %r0,%r0,%r0
-  e0:  a0 37 08 48     d.pfmul.dd      %f6,%f0,%f8
-  e4:  00 00 00 a0     shl     %r0,%r0,%r0
-  e8:  a4 17 9e 48     d.pfmul3.dd     %f2,%f4,%f30
-  ec:  00 00 00 a0     shl     %r0,%r0,%r0
diff --git a/gas/testsuite/gas/i860/float01.s b/gas/testsuite/gas/i860/float01.s
deleted file mode 100644 (file)
index 88e3769..0000000
+++ /dev/null
@@ -1,84 +0,0 @@
-# fadd, fsub, fmul, pfmul3, fmlow
-
-       .text
-
-       # Non-pipelined, without dual bit 
-       fadd.ss %f0,%f1,%f2
-       fadd.sd %f2,%f3,%f4
-       fadd.dd %f6,%f8,%f10
-
-       fsub.ss %f5,%f6,%f7
-       fsub.sd %f8,%f9,%f10
-       fsub.dd %f12,%f14,%f16
-
-       fmul.ss %f11,%f12,%f13
-       fmul.sd %f14,%f15,%f16
-       fmul.dd %f18,%f20,%f22
-
-       fmlow.dd        %f22,%f24,%f26
-
-       # Pipelined, without dual bit 
-       pfadd.ss        %f14,%f15,%f16
-       pfadd.sd        %f17,%f18,%f20
-       pfadd.dd        %f22,%f24,%f26
-
-       pfsub.ss        %f20,%f21,%f22
-       pfsub.sd        %f23,%f24,%f26
-       pfsub.dd        %f28,%f30,%f2
-
-       pfmul.ss        %f27,%f28,%f29
-       pfmul.sd        %f30,%f31,%f4
-       pfmul.dd        %f6,%f0,%f8
-
-       pfmul3.dd       %f2,%f4,%f30
-
-       # Non-pipelined, with dual bit 
-       d.fadd.ss       %f0,%f1,%f2
-       nop
-       d.fadd.sd       %f2,%f3,%f4
-       nop
-       d.fadd.dd       %f6,%f8,%f10
-       nop
-
-       d.fsub.ss       %f5,%f6,%f7
-       nop
-       d.fsub.sd       %f8,%f9,%f10
-       nop
-       d.fsub.dd       %f12,%f14,%f16
-       nop
-
-       d.fmul.ss       %f11,%f12,%f13
-       nop
-       d.fmul.sd       %f14,%f15,%f16
-       nop
-       d.fmul.dd       %f18,%f20,%f22
-       nop
-
-       d.fmlow.dd      %f8,%f10,%f12
-       nop
-
-       # Pipelined, with dual bit 
-       d.pfadd.ss      %f14,%f15,%f16
-       nop
-       d.pfadd.sd      %f17,%f18,%f20
-       nop
-       d.pfadd.dd      %f22,%f24,%f26
-       nop
-
-       d.pfsub.ss      %f20,%f21,%f22
-       nop
-       d.pfsub.sd      %f23,%f24,%f26
-       nop
-       d.pfsub.dd      %f28,%f30,%f2
-       nop
-
-       d.pfmul.ss      %f27,%f28,%f29
-       nop
-       d.pfmul.sd      %f30,%f31,%f4
-       nop
-       d.pfmul.dd      %f6,%f0,%f8
-       nop
-
-       d.pfmul3.dd     %f2,%f4,%f30
-       nop
-
diff --git a/gas/testsuite/gas/i860/float02.d b/gas/testsuite/gas/i860/float02.d
deleted file mode 100644 (file)
index aae176f..0000000
+++ /dev/null
@@ -1,39 +0,0 @@
-#as:
-#objdump: -dr
-#name: i860 float02
-
-.*: +file format .*
-
-Disassembly of section \.text:
-
-00000000 <\.text>:
-   0:  22 00 01 48     frcp.ss %f0,%f1
-   4:  a2 00 44 48     frcp.sd %f2,%f4
-   8:  a2 01 c8 48     frcp.dd %f6,%f8
-   c:  23 00 a6 48     frsqr.ss        %f5,%f6
-  10:  a3 00 0a 49     frsqr.sd        %f8,%f10
-  14:  a3 01 8e 49     frsqr.dd        %f12,%f14
-  18:  33 08 1f 48     famov.ss        %f1,%f31
-  1c:  33 11 1e 48     famov.ds        %f2,%f30
-  20:  b3 38 10 48     famov.sd        %f7,%f16
-  24:  b3 c1 0c 48     famov.dd        %f24,%f12
-  28:  22 02 01 48     d.frcp.ss       %f0,%f1
-  2c:  00 00 00 a0     shl     %r0,%r0,%r0
-  30:  a2 02 5e 48     d.frcp.sd       %f2,%f30
-  34:  00 00 00 a0     shl     %r0,%r0,%r0
-  38:  a2 03 c8 48     d.frcp.dd       %f6,%f8
-  3c:  00 00 00 a0     shl     %r0,%r0,%r0
-  40:  23 02 a6 48     d.frsqr.ss      %f5,%f6
-  44:  00 00 00 a0     shl     %r0,%r0,%r0
-  48:  a3 02 18 49     d.frsqr.sd      %f8,%f24
-  4c:  00 00 00 a0     shl     %r0,%r0,%r0
-  50:  a3 03 8e 49     d.frsqr.dd      %f12,%f14
-  54:  00 00 00 a0     shl     %r0,%r0,%r0
-  58:  33 2a 0d 48     d.famov.ss      %f5,%f13
-  5c:  00 00 00 a0     shl     %r0,%r0,%r0
-  60:  33 f3 15 48     d.famov.ds      %f30,%f21
-  64:  00 00 00 a0     shl     %r0,%r0,%r0
-  68:  b3 ba 16 48     d.famov.sd      %f23,%f22
-  6c:  00 00 00 a0     shl     %r0,%r0,%r0
-  70:  b3 03 0c 48     d.famov.dd      %f0,%f12
-  74:  00 00 00 a0     shl     %r0,%r0,%r0
diff --git a/gas/testsuite/gas/i860/float02.s b/gas/testsuite/gas/i860/float02.s
deleted file mode 100644 (file)
index d4a475d..0000000
+++ /dev/null
@@ -1,42 +0,0 @@
-# frcp, frsqr, famov
-
-       .text
-
-       # Without dual bit 
-       frcp.ss %f0,%f1
-       frcp.sd %f2,%f4
-       frcp.dd %f6,%f8
-
-       frsqr.ss        %f5,%f6
-       frsqr.sd        %f8,%f10
-       frsqr.dd        %f12,%f14
-
-       famov.ss        %f1,%f31
-       famov.ds        %f2,%f30
-       famov.sd        %f7,%f16
-       famov.dd        %f24,%f12
-
-       # With dual bit 
-       d.frcp.ss       %f0,%f1
-       nop
-       d.frcp.sd       %f2,%f30
-       nop
-       d.frcp.dd       %f6,%f8
-       nop
-
-       d.frsqr.ss      %f5,%f6
-       nop
-       d.frsqr.sd      %f8,%f24
-       nop
-       d.frsqr.dd      %f12,%f14
-       nop
-
-       d.famov.ss      %f5,%f13
-       nop
-       d.famov.ds      %f30,%f21
-       nop
-       d.famov.sd      %f23,%f22
-       nop
-       d.famov.dd      %f0,%f12
-       nop
-
diff --git a/gas/testsuite/gas/i860/float03.d b/gas/testsuite/gas/i860/float03.d
deleted file mode 100644 (file)
index 10f66c2..0000000
+++ /dev/null
@@ -1,51 +0,0 @@
-#as:
-#objdump: -dr
-#name: i860 float03
-
-.*: +file format .*
-
-Disassembly of section \.text:
-
-00000000 <\.text>:
-   0:  b2 10 04 48     fix.sd  %f2,%f4
-   4:  b2 31 08 48     fix.dd  %f6,%f8
-   8:  ba 40 0a 48     ftrunc.sd       %f8,%f10
-   c:  ba 61 0e 48     ftrunc.dd       %f12,%f14
-  10:  b2 f4 0e 48     pfix.sd %f30,%f14
-  14:  b2 c5 02 48     pfix.dd %f24,%f2
-  18:  ba 44 0a 48     pftrunc.sd      %f8,%f10
-  1c:  ba 65 0e 48     pftrunc.dd      %f12,%f14
-  20:  34 04 22 48     pfgt.ss %f0,%f1,%f2
-  24:  34 35 0a 49     pfgt.dd %f6,%f8,%f10
-  28:  b4 2c c7 48     pfle.ss %f5,%f6,%f7
-  2c:  b4 65 d0 49     pfle.dd %f12,%f14,%f16
-  30:  35 5c 8d 49     pfeq.ss %f11,%f12,%f13
-  34:  35 95 96 4a     pfeq.dd %f18,%f20,%f22
-  38:  b2 12 1e 48     d.fix.sd        %f2,%f30
-  3c:  00 00 00 a0     shl     %r0,%r0,%r0
-  40:  b2 33 08 48     d.fix.dd        %f6,%f8
-  44:  00 00 00 a0     shl     %r0,%r0,%r0
-  48:  ba 42 18 48     d.ftrunc.sd     %f8,%f24
-  4c:  00 00 00 a0     shl     %r0,%r0,%r0
-  50:  ba 63 0e 48     d.ftrunc.dd     %f12,%f14
-  54:  00 00 00 a0     shl     %r0,%r0,%r0
-  58:  b2 16 1e 48     d.pfix.sd       %f2,%f30
-  5c:  00 00 00 a0     shl     %r0,%r0,%r0
-  60:  b2 37 08 48     d.pfix.dd       %f6,%f8
-  64:  00 00 00 a0     shl     %r0,%r0,%r0
-  68:  ba 46 18 48     d.pftrunc.sd    %f8,%f24
-  6c:  00 00 00 a0     shl     %r0,%r0,%r0
-  70:  ba 67 0e 48     d.pftrunc.dd    %f12,%f14
-  74:  00 00 00 a0     shl     %r0,%r0,%r0
-  78:  34 06 22 48     d.pfgt.ss       %f0,%f1,%f2
-  7c:  00 00 00 a0     shl     %r0,%r0,%r0
-  80:  34 37 0a 49     d.pfgt.dd       %f6,%f8,%f10
-  84:  00 00 00 a0     shl     %r0,%r0,%r0
-  88:  b4 2e c7 48     d.pfle.ss       %f5,%f6,%f7
-  8c:  00 00 00 a0     shl     %r0,%r0,%r0
-  90:  b4 67 d0 49     d.pfle.dd       %f12,%f14,%f16
-  94:  00 00 00 a0     shl     %r0,%r0,%r0
-  98:  35 5e 8d 49     d.pfeq.ss       %f11,%f12,%f13
-  9c:  00 00 00 a0     shl     %r0,%r0,%r0
-  a0:  35 97 96 4a     d.pfeq.dd       %f18,%f20,%f22
-  a4:  00 00 00 a0     shl     %r0,%r0,%r0
diff --git a/gas/testsuite/gas/i860/float03.s b/gas/testsuite/gas/i860/float03.s
deleted file mode 100644 (file)
index 8fd626c..0000000
+++ /dev/null
@@ -1,64 +0,0 @@
-# fix, ftrunc, pfgt, pfle, pfeq
-
-       .text
-
-       # Non-pipelined, without dual bit 
-       fix.sd  %f2,%f4
-       fix.dd  %f6,%f8
-
-       ftrunc.sd       %f8,%f10
-       ftrunc.dd       %f12,%f14
-
-       # Pipelined, without dual bit 
-       pfix.sd %f30,%f14
-       pfix.dd %f24,%f2
-
-       pftrunc.sd      %f8,%f10
-       pftrunc.dd      %f12,%f14
-
-       pfgt.ss %f0,%f1,%f2
-       pfgt.dd %f6,%f8,%f10
-
-       pfle.ss %f5,%f6,%f7
-       pfle.dd %f12,%f14,%f16
-
-       pfeq.ss %f11,%f12,%f13
-       pfeq.dd %f18,%f20,%f22
-
-       # Non-pipelined, with dual bit 
-       d.fix.sd        %f2,%f30
-       nop
-       d.fix.dd        %f6,%f8
-       nop
-
-       d.ftrunc.sd     %f8,%f24
-       nop
-       d.ftrunc.dd     %f12,%f14
-       nop
-
-       # Pipelined, with dual bit 
-       d.pfix.sd       %f2,%f30
-       nop
-       d.pfix.dd       %f6,%f8
-       nop
-
-       d.pftrunc.sd    %f8,%f24
-       nop
-       d.pftrunc.dd    %f12,%f14
-       nop
-
-       d.pfgt.ss %f0,%f1,%f2
-       nop
-       d.pfgt.dd %f6,%f8,%f10
-       nop
-
-       d.pfle.ss %f5,%f6,%f7
-       nop
-       d.pfle.dd %f12,%f14,%f16
-       nop
-
-       d.pfeq.ss %f11,%f12,%f13
-       nop
-       d.pfeq.dd %f18,%f20,%f22
-       nop
-
diff --git a/gas/testsuite/gas/i860/float04.d b/gas/testsuite/gas/i860/float04.d
deleted file mode 100644 (file)
index 8640682..0000000
+++ /dev/null
@@ -1,39 +0,0 @@
-#as:
-#objdump: -dr
-#name: i860 float04
-
-.*: +file format .*
-
-Disassembly of section \.text:
-
-00000000 <\.text>:
-   0:  40 08 03 48     fxfr    %f1,%fp
-   4:  40 40 1e 48     fxfr    %f8,%r30
-   8:  40 f8 12 48     fxfr    %f31,%r18
-   c:  00 48 1f 08     ixfr    %r9,%f31
-  10:  00 b8 10 08     ixfr    %r23,%f16
-  14:  00 00 00 08     ixfr    %r0,%f0
-  18:  49 00 22 48     fiadd.ss        %f0,%f1,%f2
-  1c:  c9 31 0a 49     fiadd.dd        %f6,%f8,%f10
-  20:  4d 28 c7 48     fisub.ss        %f5,%f6,%f7
-  24:  cd 61 d0 49     fisub.dd        %f12,%f14,%f16
-  28:  49 74 f0 49     pfiadd.ss       %f14,%f15,%f16
-  2c:  c9 b5 1a 4b     pfiadd.dd       %f22,%f24,%f26
-  30:  4d a4 b6 4a     pfisub.ss       %f20,%f21,%f22
-  34:  cd e5 c2 4b     pfisub.dd       %f28,%f30,%f2
-  38:  49 02 22 48     d.fiadd.ss      %f0,%f1,%f2
-  3c:  00 00 00 a0     shl     %r0,%r0,%r0
-  40:  c9 33 0a 49     d.fiadd.dd      %f6,%f8,%f10
-  44:  00 00 00 a0     shl     %r0,%r0,%r0
-  48:  4d 2a c7 48     d.fisub.ss      %f5,%f6,%f7
-  4c:  00 00 00 a0     shl     %r0,%r0,%r0
-  50:  cd 63 d0 49     d.fisub.dd      %f12,%f14,%f16
-  54:  00 00 00 a0     shl     %r0,%r0,%r0
-  58:  49 76 f0 49     d.pfiadd.ss     %f14,%f15,%f16
-  5c:  00 00 00 a0     shl     %r0,%r0,%r0
-  60:  c9 b7 1a 4b     d.pfiadd.dd     %f22,%f24,%f26
-  64:  00 00 00 a0     shl     %r0,%r0,%r0
-  68:  4d a6 b6 4a     d.pfisub.ss     %f20,%f21,%f22
-  6c:  00 00 00 a0     shl     %r0,%r0,%r0
-  70:  cd e7 c2 4b     d.pfisub.dd     %f28,%f30,%f2
-  74:  00 00 00 a0     shl     %r0,%r0,%r0
diff --git a/gas/testsuite/gas/i860/float04.s b/gas/testsuite/gas/i860/float04.s
deleted file mode 100644 (file)
index 5a4aae5..0000000
+++ /dev/null
@@ -1,49 +0,0 @@
-# fxfr, ixfr, fiadd, fisub
-
-       .text
-
-       # ixfr, fxfr
-       fxfr    %f1,%r3
-       fxfr    %f8,%r30
-       fxfr    %f31,%r18
-
-       ixfr    %r9,%f31
-       ixfr    %r23,%f16
-       ixfr    %r0,%f0
-
-       # Non-pipelined, without dual bit 
-       fiadd.ss        %f0,%f1,%f2
-       fiadd.dd        %f6,%f8,%f10
-
-       fisub.ss        %f5,%f6,%f7
-       fisub.dd        %f12,%f14,%f16
-
-       # Pipelined, without dual bit 
-       pfiadd.ss       %f14,%f15,%f16
-       pfiadd.dd       %f22,%f24,%f26
-
-       pfisub.ss       %f20,%f21,%f22
-       pfisub.dd       %f28,%f30,%f2
-
-       # Non-pipelined, with dual bit 
-       d.fiadd.ss      %f0,%f1,%f2
-       nop
-       d.fiadd.dd      %f6,%f8,%f10
-       nop
-
-       d.fisub.ss      %f5,%f6,%f7
-       nop
-       d.fisub.dd      %f12,%f14,%f16
-       nop
-
-       # Pipelined, with dual bit 
-       d.pfiadd.ss     %f14,%f15,%f16
-       nop
-       d.pfiadd.dd     %f22,%f24,%f26
-       nop
-
-       d.pfisub.ss     %f20,%f21,%f22
-       nop
-       d.pfisub.dd     %f28,%f30,%f2
-       nop
-
diff --git a/gas/testsuite/gas/i860/form.d b/gas/testsuite/gas/i860/form.d
deleted file mode 100644 (file)
index d713d8c..0000000
+++ /dev/null
@@ -1,63 +0,0 @@
-#as:
-#objdump: -dr
-#name: i860 form/pform
-
-.*: +file format .*
-
-Disassembly of section \.text:
-
-00000000 <\.text>:
-   0:  da 05 02 48     pform   %f0,%f2
-   4:  da 15 04 48     pform   %f2,%f4
-   8:  da 25 06 48     pform   %f4,%f6
-   c:  da 45 0a 48     pform   %f8,%f10
-  10:  da 65 0e 48     pform   %f12,%f14
-  14:  da 85 12 48     pform   %f16,%f18
-  18:  da a5 16 48     pform   %f20,%f22
-  1c:  da c5 1a 48     pform   %f24,%f26
-  20:  da e5 1e 48     pform   %f28,%f30
-  24:  da 01 02 48     form    %f0,%f2
-  28:  da 11 04 48     form    %f2,%f4
-  2c:  da 21 06 48     form    %f4,%f6
-  30:  da 41 0a 48     form    %f8,%f10
-  34:  da 61 0e 48     form    %f12,%f14
-  38:  da 81 12 48     form    %f16,%f18
-  3c:  da a1 16 48     form    %f20,%f22
-  40:  da c1 1a 48     form    %f24,%f26
-  44:  da e1 1e 48     form    %f28,%f30
-  48:  da 07 02 48     d.pform %f0,%f2
-  4c:  00 00 00 a0     shl     %r0,%r0,%r0
-  50:  da 17 04 48     d.pform %f2,%f4
-  54:  00 00 00 a0     shl     %r0,%r0,%r0
-  58:  da 27 06 48     d.pform %f4,%f6
-  5c:  00 00 00 a0     shl     %r0,%r0,%r0
-  60:  da 47 0a 48     d.pform %f8,%f10
-  64:  00 00 00 a0     shl     %r0,%r0,%r0
-  68:  da 67 0e 48     d.pform %f12,%f14
-  6c:  00 00 00 a0     shl     %r0,%r0,%r0
-  70:  da 87 12 48     d.pform %f16,%f18
-  74:  00 00 00 a0     shl     %r0,%r0,%r0
-  78:  da a7 16 48     d.pform %f20,%f22
-  7c:  00 00 00 a0     shl     %r0,%r0,%r0
-  80:  da c7 1a 48     d.pform %f24,%f26
-  84:  00 00 00 a0     shl     %r0,%r0,%r0
-  88:  da e7 1e 48     d.pform %f28,%f30
-  8c:  00 00 00 a0     shl     %r0,%r0,%r0
-  90:  da 03 02 48     d.form  %f0,%f2
-  94:  00 00 00 a0     shl     %r0,%r0,%r0
-  98:  da 13 04 48     d.form  %f2,%f4
-  9c:  00 00 00 a0     shl     %r0,%r0,%r0
-  a0:  da 23 06 48     d.form  %f4,%f6
-  a4:  00 00 00 a0     shl     %r0,%r0,%r0
-  a8:  da 43 0a 48     d.form  %f8,%f10
-  ac:  00 00 00 a0     shl     %r0,%r0,%r0
-  b0:  da 63 0e 48     d.form  %f12,%f14
-  b4:  00 00 00 a0     shl     %r0,%r0,%r0
-  b8:  da 83 12 48     d.form  %f16,%f18
-  bc:  00 00 00 a0     shl     %r0,%r0,%r0
-  c0:  da a3 16 48     d.form  %f20,%f22
-  c4:  00 00 00 a0     shl     %r0,%r0,%r0
-  c8:  da c3 1a 48     d.form  %f24,%f26
-  cc:  00 00 00 a0     shl     %r0,%r0,%r0
-  d0:  da e3 1e 48     d.form  %f28,%f30
-  d4:  00 00 00 a0     shl     %r0,%r0,%r0
diff --git a/gas/testsuite/gas/i860/form.s b/gas/testsuite/gas/i860/form.s
deleted file mode 100644 (file)
index e73dde6..0000000
+++ /dev/null
@@ -1,66 +0,0 @@
-# form and pform
-
-       .text
-
-       # pform, no dual bit
-       pform   %f0,%f2
-       pform   %f2,%f4
-       pform   %f4,%f6
-       pform   %f8,%f10
-       pform   %f12,%f14
-       pform   %f16,%f18
-       pform   %f20,%f22
-       pform   %f24,%f26
-       pform   %f28,%f30
-
-       # form, no dual bit
-       form    %f0,%f2
-       form    %f2,%f4
-       form    %f4,%f6
-       form    %f8,%f10
-       form    %f12,%f14
-       form    %f16,%f18
-       form    %f20,%f22
-       form    %f24,%f26
-       form    %f28,%f30
-
-       # pform, with dual bit
-       d.pform %f0,%f2
-       nop
-       d.pform %f2,%f4
-       nop
-       d.pform %f4,%f6
-       nop
-       d.pform %f8,%f10
-       nop
-       d.pform %f12,%f14
-       nop
-       d.pform %f16,%f18
-       nop
-       d.pform %f20,%f22
-       nop
-       d.pform %f24,%f26
-       nop
-       d.pform %f28,%f30
-       nop
-
-       # form, with dual bit
-       d.form  %f0,%f2
-       nop
-       d.form  %f2,%f4
-       nop
-       d.form  %f4,%f6
-       nop
-       d.form  %f8,%f10
-       nop
-       d.form  %f12,%f14
-       nop
-       d.form  %f16,%f18
-       nop
-       d.form  %f20,%f22
-       nop
-       d.form  %f24,%f26
-       nop
-       d.form  %f28,%f30
-       nop
-
diff --git a/gas/testsuite/gas/i860/i860.exp b/gas/testsuite/gas/i860/i860.exp
deleted file mode 100644 (file)
index bac5758..0000000
+++ /dev/null
@@ -1,61 +0,0 @@
-# Copyright (C) 2012-2018 Free Software Foundation, Inc.
-
-# This program 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 3 of the License, or
-# (at your option) any later version.
-# 
-# This program 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 this program; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA.  
-
-# i860 assembler testsuite.
-
-if [istarget i860-*-*] {
-    run_dump_test "bitwise"
-    run_dump_test "branch"
-    run_dump_test "bte"
-    run_dump_test "dir-align01"
-    run_dump_test "dir-intel01"
-    run_dump_test "dir-intel02"
-    run_list_test "dir-intel03-err" ""
-    run_dump_test "dual01"
-    run_list_test "dual02-err" ""
-    run_dump_test "dual03"
-    run_dump_test "fldst01"
-    run_dump_test "fldst02"
-    run_dump_test "fldst03"
-    run_dump_test "fldst04"
-    run_dump_test "fldst05"
-    run_dump_test "fldst06"
-    run_dump_test "fldst07"
-    run_dump_test "fldst08"
-    run_dump_test "float01"
-    run_dump_test "float02"
-    run_dump_test "float03"
-    run_dump_test "float04"
-    run_dump_test "form"
-    run_dump_test "iarith"
-    run_dump_test "ldst01"
-    run_dump_test "ldst02"
-    run_dump_test "ldst03"
-    run_dump_test "ldst04"
-    run_dump_test "ldst05"
-    run_dump_test "ldst06"
-    run_dump_test "pfam"
-    run_dump_test "pfmam"
-    run_dump_test "pfmsm"
-    run_dump_test "pfsm"
-    run_dump_test "pseudo-ops01"
-    run_dump_test "regress01"
-    run_dump_test "shift"
-    run_dump_test "simd"
-    run_dump_test "system"
-    run_dump_test "xp"
-}
-
diff --git a/gas/testsuite/gas/i860/iarith.d b/gas/testsuite/gas/i860/iarith.d
deleted file mode 100644 (file)
index 9b2a509..0000000
+++ /dev/null
@@ -1,97 +0,0 @@
-#as:
-#objdump: -dr
-#name: i860 iarith
-
-.*: +file format .*
-
-Disassembly of section \.text:
-
-00000000 <\.text>:
-   0:  00 00 22 80     addu    %r0,%r1,%sp
-   4:  00 18 85 80     addu    %fp,%r4,%r5
-   8:  00 30 e8 80     addu    %r6,%r7,%r8
-   c:  00 48 4b 81     addu    %r9,%r10,%r11
-  10:  00 f8 ae 81     addu    %r31,%r13,%r14
-  14:  00 78 11 82     addu    %r15,%r16,%r17
-  18:  00 90 74 82     addu    %r18,%r19,%r20
-  1c:  00 a8 d7 82     addu    %r21,%r22,%r23
-  20:  00 c0 3f 83     addu    %r24,%r25,%r31
-  24:  00 d8 9d 83     addu    %r27,%r28,%r29
-  28:  00 f0 e0 83     addu    %r30,%r31,%r0
-  2c:  00 00 22 90     adds    %r0,%r1,%sp
-  30:  00 18 85 90     adds    %fp,%r4,%r5
-  34:  00 30 e8 90     adds    %r6,%r7,%r8
-  38:  00 48 4b 91     adds    %r9,%r10,%r11
-  3c:  00 f8 ae 91     adds    %r31,%r13,%r14
-  40:  00 78 11 92     adds    %r15,%r16,%r17
-  44:  00 90 74 92     adds    %r18,%r19,%r20
-  48:  00 a8 d7 92     adds    %r21,%r22,%r23
-  4c:  00 c0 3f 93     adds    %r24,%r25,%r31
-  50:  00 d8 9d 93     adds    %r27,%r28,%r29
-  54:  00 f0 e0 93     adds    %r30,%r31,%r0
-  58:  00 00 22 88     subu    %r0,%r1,%sp
-  5c:  00 18 85 88     subu    %fp,%r4,%r5
-  60:  00 30 e8 88     subu    %r6,%r7,%r8
-  64:  00 48 4b 89     subu    %r9,%r10,%r11
-  68:  00 f8 ae 89     subu    %r31,%r13,%r14
-  6c:  00 78 11 8a     subu    %r15,%r16,%r17
-  70:  00 90 74 8a     subu    %r18,%r19,%r20
-  74:  00 a8 d7 8a     subu    %r21,%r22,%r23
-  78:  00 c0 3f 8b     subu    %r24,%r25,%r31
-  7c:  00 d8 9d 8b     subu    %r27,%r28,%r29
-  80:  00 f0 e0 8b     subu    %r30,%r31,%r0
-  84:  00 00 22 98     subs    %r0,%r1,%sp
-  88:  00 18 85 98     subs    %fp,%r4,%r5
-  8c:  00 30 e8 98     subs    %r6,%r7,%r8
-  90:  00 48 4b 99     subs    %r9,%r10,%r11
-  94:  00 f8 ae 99     subs    %r31,%r13,%r14
-  98:  00 78 11 9a     subs    %r15,%r16,%r17
-  9c:  00 90 74 9a     subs    %r18,%r19,%r20
-  a0:  00 a8 d7 9a     subs    %r21,%r22,%r23
-  a4:  00 c0 3f 9b     subs    %r24,%r25,%r31
-  a8:  00 d8 9d 9b     subs    %r27,%r28,%r29
-  ac:  00 f0 e0 9b     subs    %r30,%r31,%r0
-  b0:  00 00 22 84     addu    0,%r1,%sp
-  b4:  00 20 85 84     addu    8192,%r4,%r5
-  b8:  f5 13 e8 84     addu    5109,%r7,%r8
-  bc:  ff 7f 4b 85     addu    32767,%r10,%r11
-  c0:  00 80 ae 85     addu    -32768,%r13,%r14
-  c4:  00 e0 11 86     addu    -8192,%r16,%r17
-  c8:  ff ff 74 86     addu    -1,%r19,%r20
-  cc:  cd ab d7 86     addu    -21555,%r22,%r23
-  d0:  34 12 3a 87     addu    4660,%r25,%r26
-  d4:  00 00 9d 87     addu    0,%r28,%r29
-  d8:  03 00 e0 87     addu    3,%r31,%r0
-  dc:  00 00 22 94     adds    0,%r1,%sp
-  e0:  00 20 85 94     adds    8192,%r4,%r5
-  e4:  f5 13 e8 94     adds    5109,%r7,%r8
-  e8:  ff 7f 4b 95     adds    32767,%r10,%r11
-  ec:  00 80 ae 95     adds    -32768,%r13,%r14
-  f0:  00 e0 11 96     adds    -8192,%r16,%r17
-  f4:  ff ff 74 96     adds    -1,%r19,%r20
-  f8:  cd ab d7 96     adds    -21555,%r22,%r23
-  fc:  34 12 3a 97     adds    4660,%r25,%r26
- 100:  00 00 9d 97     adds    0,%r28,%r29
- 104:  03 00 e0 97     adds    3,%r31,%r0
- 108:  01 00 22 8c     subu    1,%r1,%sp
- 10c:  01 20 85 8c     subu    8193,%r4,%r5
- 110:  f6 13 e8 8c     subu    5110,%r7,%r8
- 114:  ff 7f 4b 8d     subu    32767,%r10,%r11
- 118:  00 80 ae 8d     subu    -32768,%r13,%r14
- 11c:  00 e0 11 8e     subu    -8192,%r16,%r17
- 120:  ff ff 74 8e     subu    -1,%r19,%r20
- 124:  cd ab d7 8e     subu    -21555,%r22,%r23
- 128:  34 12 3a 8f     subu    4660,%r25,%r26
- 12c:  00 00 9d 8f     subu    0,%r28,%r29
- 130:  03 00 e0 8f     subu    3,%r31,%r0
- 134:  01 00 22 9c     subs    1,%r1,%sp
- 138:  01 20 85 9c     subs    8193,%r4,%r5
- 13c:  f6 13 e8 9c     subs    5110,%r7,%r8
- 140:  ff 7f 4b 9d     subs    32767,%r10,%r11
- 144:  00 80 ae 9d     subs    -32768,%r13,%r14
- 148:  00 e0 11 9e     subs    -8192,%r16,%r17
- 14c:  ff ff 74 9e     subs    -1,%r19,%r20
- 150:  cd ab d7 9e     subs    -21555,%r22,%r23
- 154:  34 12 3a 9f     subs    4660,%r25,%r26
- 158:  00 00 9d 9f     subs    0,%r28,%r29
- 15c:  03 00 e0 9f     subs    3,%r31,%r0
diff --git a/gas/testsuite/gas/i860/iarith.s b/gas/testsuite/gas/i860/iarith.s
deleted file mode 100644 (file)
index 98a360e..0000000
+++ /dev/null
@@ -1,102 +0,0 @@
-# addu, adds, subu, subs
-
-       .text
-
-       # Register forms
-       addu    %r0,%r1,%r2
-       addu    %r3,%r4,%r5
-       addu    %r6,%r7,%r8
-       addu    %r9,%r10,%r11
-       addu    %r31,%r13,%r14
-       addu    %r15,%r16,%r17
-       addu    %r18,%r19,%r20
-       addu    %r21,%r22,%r23
-       addu    %r24,%r25,%r31
-       addu    %r27,%r28,%r29
-       addu    %r30,%r31,%r0
-
-       adds    %r0,%r1,%r2
-       adds    %r3,%r4,%r5
-       adds    %r6,%r7,%r8
-       adds    %r9,%r10,%r11
-       adds    %r31,%r13,%r14
-       adds    %r15,%r16,%r17
-       adds    %r18,%r19,%r20
-       adds    %r21,%r22,%r23
-       adds    %r24,%r25,%r31
-       adds    %r27,%r28,%r29
-       adds    %r30,%r31,%r0
-
-       subu    %r0,%r1,%r2
-       subu    %r3,%r4,%r5
-       subu    %r6,%r7,%r8
-       subu    %r9,%r10,%r11
-       subu    %r31,%r13,%r14
-       subu    %r15,%r16,%r17
-       subu    %r18,%r19,%r20
-       subu    %r21,%r22,%r23
-       subu    %r24,%r25,%r31
-       subu    %r27,%r28,%r29
-       subu    %r30,%r31,%r0
-
-       subs    %r0,%r1,%r2
-       subs    %r3,%r4,%r5
-       subs    %r6,%r7,%r8
-       subs    %r9,%r10,%r11
-       subs    %r31,%r13,%r14
-       subs    %r15,%r16,%r17
-       subs    %r18,%r19,%r20
-       subs    %r21,%r22,%r23
-       subs    %r24,%r25,%r31
-       subs    %r27,%r28,%r29
-       subs    %r30,%r31,%r0
-
-       # Immediate forms (all)
-       addu    0,%r1,%r2
-       addu    8192,%r4,%r5
-       addu    5109,%r7,%r8
-       addu    32767,%r10,%r11
-       addu    -32768,%r13,%r14
-       addu    -8192,%r16,%r17
-       addu    -1,%r19,%r20
-       addu    -21555,%r22,%r23
-       addu    0x1234,%r25,%r26
-       addu    0x0,%r28,%r29
-       addu    0x3,%r31,%r0
-
-       adds    0,%r1,%r2
-       adds    8192,%r4,%r5
-       adds    5109,%r7,%r8
-       adds    32767,%r10,%r11
-       adds    -32768,%r13,%r14
-       adds    -8192,%r16,%r17
-       adds    -1,%r19,%r20
-       adds    -21555,%r22,%r23
-       adds    0x1234,%r25,%r26
-       adds    0x0,%r28,%r29
-       adds    0x3,%r31,%r0
-
-       subu    1,%r1,%r2
-       subu    8193,%r4,%r5
-       subu    5110,%r7,%r8
-       subu    32767,%r10,%r11
-       subu    -32768,%r13,%r14
-       subu    -8192,%r16,%r17
-       subu    -1,%r19,%r20
-       subu    -21555,%r22,%r23
-       subu    0x1234,%r25,%r26
-       subu    0x0,%r28,%r29
-       subu    0x3,%r31,%r0
-
-       subs    1,%r1,%r2
-       subs    8193,%r4,%r5
-       subs    5110,%r7,%r8
-       subs    32767,%r10,%r11
-       subs    -32768,%r13,%r14
-       subs    -8192,%r16,%r17
-       subs    -1,%r19,%r20
-       subs    -21555,%r22,%r23
-       subs    0x1234,%r25,%r26
-       subs    0x0,%r28,%r29
-       subs    0x3,%r31,%r0
-
diff --git a/gas/testsuite/gas/i860/ldst01.d b/gas/testsuite/gas/i860/ldst01.d
deleted file mode 100644 (file)
index 6c1330b..0000000
+++ /dev/null
@@ -1,39 +0,0 @@
-#as:
-#objdump: -dr
-#name: i860 ldst01 (ld.l)
-
-.*: +file format .*
-
-Disassembly of section \.text:
-
-00000000 <\.text>:
-   0:  01 00 00 14     ld.l    0\(%r0\),%r0
-   4:  7d 00 3f 14     ld.l    124\(%r1\),%r31
-   8:  01 01 5e 14     ld.l    256\(%sp\),%r30
-   c:  01 02 7d 14     ld.l    512\(%fp\),%r29
-  10:  01 04 9c 14     ld.l    1024\(%r4\),%r28
-  14:  01 10 bb 14     ld.l    4096\(%r5\),%r27
-  18:  01 20 da 14     ld.l    8192\(%r6\),%r26
-  1c:  01 40 f9 14     ld.l    16384\(%r7\),%r25
-  20:  01 c0 18 15     ld.l    -16384\(%r8\),%r24
-  24:  01 e0 37 15     ld.l    -8192\(%r9\),%r23
-  28:  01 f0 56 15     ld.l    -4096\(%r10\),%r22
-  2c:  01 fc 75 15     ld.l    -1024\(%r11\),%r21
-  30:  05 fe 94 15     ld.l    -508\(%r12\),%r20
-  34:  09 ff b3 15     ld.l    -248\(%r13\),%r19
-  38:  fd ff d2 15     ld.l    -4\(%r14\),%r18
-  3c:  01 28 00 10     ld.l    %r5\(%r0\),%r0
-  40:  01 30 3f 10     ld.l    %r6\(%r1\),%r31
-  44:  01 38 5e 10     ld.l    %r7\(%sp\),%r30
-  48:  01 40 7d 10     ld.l    %r8\(%fp\),%r29
-  4c:  01 48 9c 10     ld.l    %r9\(%r4\),%r28
-  50:  01 00 bb 10     ld.l    %r0\(%r5\),%r27
-  54:  01 08 da 10     ld.l    %r1\(%r6\),%r26
-  58:  01 60 f9 10     ld.l    %r12\(%r7\),%r25
-  5c:  01 68 18 11     ld.l    %r13\(%r8\),%r24
-  60:  01 70 37 11     ld.l    %r14\(%r9\),%r23
-  64:  01 78 56 11     ld.l    %r15\(%r10\),%r22
-  68:  01 80 75 11     ld.l    %r16\(%r11\),%r21
-  6c:  01 88 94 11     ld.l    %r17\(%r12\),%r20
-  70:  01 e0 b3 11     ld.l    %r28\(%r13\),%r19
-  74:  01 f8 d2 11     ld.l    %r31\(%r14\),%r18
diff --git a/gas/testsuite/gas/i860/ldst01.s b/gas/testsuite/gas/i860/ldst01.s
deleted file mode 100644 (file)
index 498f346..0000000
+++ /dev/null
@@ -1,35 +0,0 @@
-# ld.l (no relocations here)
-       .text
-
-       ld.l    0(%r0),%r0
-       ld.l    124(%r1),%r31
-       ld.l    256(%r2),%r30
-       ld.l    512(%r3),%r29
-       ld.l    1024(%r4),%r28
-       ld.l    4096(%r5),%r27
-       ld.l    8192(%r6),%r26
-       ld.l    16384(%r7),%r25
-       ld.l    -16384(%r8),%r24
-       ld.l    -8192(%r9),%r23
-       ld.l    -4096(%r10),%r22
-       ld.l    -1024(%r11),%r21
-       ld.l    -508(%r12),%r20
-       ld.l    -248(%r13),%r19
-       ld.l    -4(%r14),%r18
-
-       ld.l    %r5(%r0),%r0
-       ld.l    %r6(%r1),%r31
-       ld.l    %r7(%r2),%r30
-       ld.l    %r8(%r3),%r29
-       ld.l    %r9(%r4),%r28
-       ld.l    %r0(%r5),%r27
-       ld.l    %r1(%r6),%r26
-       ld.l    %r12(%r7),%r25
-       ld.l    %r13(%r8),%r24
-       ld.l    %r14(%r9),%r23
-       ld.l    %r15(%r10),%r22
-       ld.l    %r16(%r11),%r21
-       ld.l    %r17(%r12),%r20
-       ld.l    %r28(%r13),%r19
-       ld.l    %r31(%r14),%r18
-
diff --git a/gas/testsuite/gas/i860/ldst02.d b/gas/testsuite/gas/i860/ldst02.d
deleted file mode 100644 (file)
index ec03ae5..0000000
+++ /dev/null
@@ -1,39 +0,0 @@
-#as:
-#objdump: -dr
-#name: i860 ldst02 (ld.s)
-
-.*: +file format .*
-
-Disassembly of section \.text:
-
-00000000 <\.text>:
-   0:  00 00 00 14     ld.s    0\(%r0\),%r0
-   4:  7a 00 3f 14     ld.s    122\(%r1\),%r31
-   8:  02 01 5e 14     ld.s    258\(%sp\),%r30
-   c:  00 02 7d 14     ld.s    512\(%fp\),%r29
-  10:  04 04 9c 14     ld.s    1028\(%r4\),%r28
-  14:  fa 0f bb 14     ld.s    4090\(%r5\),%r27
-  18:  fe 1f da 14     ld.s    8190\(%r6\),%r26
-  1c:  00 40 f9 14     ld.s    16384\(%r7\),%r25
-  20:  00 c0 18 15     ld.s    -16384\(%r8\),%r24
-  24:  00 e0 37 15     ld.s    -8192\(%r9\),%r23
-  28:  00 f0 56 15     ld.s    -4096\(%r10\),%r22
-  2c:  00 fc 75 15     ld.s    -1024\(%r11\),%r21
-  30:  04 fe 94 15     ld.s    -508\(%r12\),%r20
-  34:  0e ff b3 15     ld.s    -242\(%r13\),%r19
-  38:  fe ff d2 15     ld.s    -2\(%r14\),%r18
-  3c:  00 28 00 10     ld.s    %r5\(%r0\),%r0
-  40:  00 30 3f 10     ld.s    %r6\(%r1\),%r31
-  44:  00 38 5e 10     ld.s    %r7\(%sp\),%r30
-  48:  00 40 7d 10     ld.s    %r8\(%fp\),%r29
-  4c:  00 48 9c 10     ld.s    %r9\(%r4\),%r28
-  50:  00 00 bb 10     ld.s    %r0\(%r5\),%r27
-  54:  00 08 da 10     ld.s    %r1\(%r6\),%r26
-  58:  00 60 f9 10     ld.s    %r12\(%r7\),%r25
-  5c:  00 68 18 11     ld.s    %r13\(%r8\),%r24
-  60:  00 70 37 11     ld.s    %r14\(%r9\),%r23
-  64:  00 78 56 11     ld.s    %r15\(%r10\),%r22
-  68:  00 80 75 11     ld.s    %r16\(%r11\),%r21
-  6c:  00 88 94 11     ld.s    %r17\(%r12\),%r20
-  70:  00 e0 b3 11     ld.s    %r28\(%r13\),%r19
-  74:  00 f8 d2 11     ld.s    %r31\(%r14\),%r18
diff --git a/gas/testsuite/gas/i860/ldst02.s b/gas/testsuite/gas/i860/ldst02.s
deleted file mode 100644 (file)
index 52c0e1a..0000000
+++ /dev/null
@@ -1,35 +0,0 @@
-# ld.s (no relocations here)
-       .text
-
-       ld.s    0(%r0),%r0
-       ld.s    122(%r1),%r31
-       ld.s    258(%r2),%r30
-       ld.s    512(%r3),%r29
-       ld.s    1028(%r4),%r28
-       ld.s    4090(%r5),%r27
-       ld.s    8190(%r6),%r26
-       ld.s    16384(%r7),%r25
-       ld.s    -16384(%r8),%r24
-       ld.s    -8192(%r9),%r23
-       ld.s    -4096(%r10),%r22
-       ld.s    -1024(%r11),%r21
-       ld.s    -508(%r12),%r20
-       ld.s    -242(%r13),%r19
-       ld.s    -2(%r14),%r18
-
-       ld.s    %r5(%r0),%r0
-       ld.s    %r6(%r1),%r31
-       ld.s    %r7(%r2),%r30
-       ld.s    %r8(%r3),%r29
-       ld.s    %r9(%r4),%r28
-       ld.s    %r0(%r5),%r27
-       ld.s    %r1(%r6),%r26
-       ld.s    %r12(%r7),%r25
-       ld.s    %r13(%r8),%r24
-       ld.s    %r14(%r9),%r23
-       ld.s    %r15(%r10),%r22
-       ld.s    %r16(%r11),%r21
-       ld.s    %r17(%r12),%r20
-       ld.s    %r28(%r13),%r19
-       ld.s    %r31(%r14),%r18
-
diff --git a/gas/testsuite/gas/i860/ldst03.d b/gas/testsuite/gas/i860/ldst03.d
deleted file mode 100644 (file)
index f3f0008..0000000
+++ /dev/null
@@ -1,43 +0,0 @@
-#as:
-#objdump: -dr
-#name: i860 ldst03 (ld.b)
-
-.*: +file format .*
-
-Disassembly of section \.text:
-
-00000000 <\.text>:
-   0:  00 00 00 04     ld.b    0\(%r0\),%r0
-   4:  01 00 3f 04     ld.b    1\(%r1\),%r31
-   8:  02 00 5e 04     ld.b    2\(%sp\),%r30
-   c:  01 02 7d 04     ld.b    513\(%fp\),%r29
-  10:  04 04 9c 04     ld.b    1028\(%r4\),%r28
-  14:  fa 0f bb 04     ld.b    4090\(%r5\),%r27
-  18:  fe 1f da 04     ld.b    8190\(%r6\),%r26
-  1c:  01 40 f9 04     ld.b    16385\(%r7\),%r25
-  20:  07 7d f9 04     ld.b    32007\(%r7\),%r25
-  24:  ff 7f f9 04     ld.b    32767\(%r7\),%r25
-  28:  00 80 f9 04     ld.b    -32768\(%r7\),%r25
-  2c:  01 80 f9 04     ld.b    -32767\(%r7\),%r25
-  30:  01 c0 18 05     ld.b    -16383\(%r8\),%r24
-  34:  5b e0 37 05     ld.b    -8101\(%r9\),%r23
-  38:  05 f0 56 05     ld.b    -4091\(%r10\),%r22
-  3c:  01 fc 75 05     ld.b    -1023\(%r11\),%r21
-  40:  03 fe 94 05     ld.b    -509\(%r12\),%r20
-  44:  e9 ff b3 05     ld.b    -23\(%r13\),%r19
-  48:  ff ff d2 05     ld.b    -1\(%r14\),%r18
-  4c:  00 28 00 00     ld.b    %r5\(%r0\),%r0
-  50:  00 30 3f 00     ld.b    %r6\(%r1\),%r31
-  54:  00 38 5e 00     ld.b    %r7\(%sp\),%r30
-  58:  00 40 7d 00     ld.b    %r8\(%fp\),%r29
-  5c:  00 48 9c 00     ld.b    %r9\(%r4\),%r28
-  60:  00 00 bb 00     ld.b    %r0\(%r5\),%r27
-  64:  00 08 da 00     ld.b    %r1\(%r6\),%r26
-  68:  00 60 f9 00     ld.b    %r12\(%r7\),%r25
-  6c:  00 68 18 01     ld.b    %r13\(%r8\),%r24
-  70:  00 70 37 01     ld.b    %r14\(%r9\),%r23
-  74:  00 78 56 01     ld.b    %r15\(%r10\),%r22
-  78:  00 80 75 01     ld.b    %r16\(%r11\),%r21
-  7c:  00 88 94 01     ld.b    %r17\(%r12\),%r20
-  80:  00 e0 b3 01     ld.b    %r28\(%r13\),%r19
-  84:  00 f8 d2 01     ld.b    %r31\(%r14\),%r18
diff --git a/gas/testsuite/gas/i860/ldst03.s b/gas/testsuite/gas/i860/ldst03.s
deleted file mode 100644 (file)
index 055a3b8..0000000
+++ /dev/null
@@ -1,39 +0,0 @@
-# ld.b (no relocations here)
-       .text
-
-       ld.b    0(%r0),%r0
-       ld.b    1(%r1),%r31
-       ld.b    2(%r2),%r30
-       ld.b    513(%r3),%r29
-       ld.b    1028(%r4),%r28
-       ld.b    4090(%r5),%r27
-       ld.b    8190(%r6),%r26
-       ld.b    16385(%r7),%r25
-       ld.b    32007(%r7),%r25
-       ld.b    32767(%r7),%r25
-       ld.b    -32768(%r7),%r25
-       ld.b    -32767(%r7),%r25
-       ld.b    -16383(%r8),%r24
-       ld.b    -8101(%r9),%r23
-       ld.b    -4091(%r10),%r22
-       ld.b    -1023(%r11),%r21
-       ld.b    -509(%r12),%r20
-       ld.b    -23(%r13),%r19
-       ld.b    -1(%r14),%r18
-
-       ld.b    %r5(%r0),%r0
-       ld.b    %r6(%r1),%r31
-       ld.b    %r7(%r2),%r30
-       ld.b    %r8(%r3),%r29
-       ld.b    %r9(%r4),%r28
-       ld.b    %r0(%r5),%r27
-       ld.b    %r1(%r6),%r26
-       ld.b    %r12(%r7),%r25
-       ld.b    %r13(%r8),%r24
-       ld.b    %r14(%r9),%r23
-       ld.b    %r15(%r10),%r22
-       ld.b    %r16(%r11),%r21
-       ld.b    %r17(%r12),%r20
-       ld.b    %r28(%r13),%r19
-       ld.b    %r31(%r14),%r18
-
diff --git a/gas/testsuite/gas/i860/ldst04.d b/gas/testsuite/gas/i860/ldst04.d
deleted file mode 100644 (file)
index a9130ac..0000000
+++ /dev/null
@@ -1,24 +0,0 @@
-#as:
-#objdump: -dr
-#name: i860 ldst04 (st.l)
-
-.*: +file format .*
-
-Disassembly of section \.text:
-
-00000000 <\.text>:
-   0:  01 00 00 1c     st.l    %r0,0\(%r0\)
-   4:  7d f8 20 1c     st.l    %r31,124\(%r1\)
-   8:  01 f1 40 1c     st.l    %r30,256\(%sp\)
-   c:  01 ea 60 1c     st.l    %r29,512\(%fp\)
-  10:  01 e4 80 1c     st.l    %r28,1024\(%r4\)
-  14:  01 d8 a2 1c     st.l    %r27,4096\(%r5\)
-  18:  01 d0 c4 1c     st.l    %r26,8192\(%r6\)
-  1c:  01 c8 e8 1c     st.l    %r25,16384\(%r7\)
-  20:  01 c0 18 1d     st.l    %r24,-16384\(%r8\)
-  24:  01 b8 3c 1d     st.l    %r23,-8192\(%r9\)
-  28:  01 b0 5e 1d     st.l    %r22,-4096\(%r10\)
-  2c:  01 ac 7f 1d     st.l    %r21,-1024\(%r11\)
-  30:  05 a6 9f 1d     st.l    %r20,-508\(%r12\)
-  34:  09 9f bf 1d     st.l    %r19,-248\(%r13\)
-  38:  fd 97 df 1d     st.l    %r18,-4\(%r14\)
diff --git a/gas/testsuite/gas/i860/ldst04.s b/gas/testsuite/gas/i860/ldst04.s
deleted file mode 100644 (file)
index 8e22b6f..0000000
+++ /dev/null
@@ -1,19 +0,0 @@
-# st.l (no relocations here)
-       .text
-
-       st.l    %r0,0(%r0)
-       st.l    %r31,124(%r1)
-       st.l    %r30,256(%r2)
-       st.l    %r29,512(%r3)
-       st.l    %r28,1024(%r4)
-       st.l    %r27,4096(%r5)
-       st.l    %r26,8192(%r6)
-       st.l    %r25,16384(%r7)
-       st.l    %r24,-16384(%r8)
-       st.l    %r23,-8192(%r9)
-       st.l    %r22,-4096(%r10)
-       st.l    %r21,-1024(%r11)
-       st.l    %r20,-508(%r12)
-       st.l    %r19,-248(%r13)
-       st.l    %r18,-4(%r14)
-
diff --git a/gas/testsuite/gas/i860/ldst05.d b/gas/testsuite/gas/i860/ldst05.d
deleted file mode 100644 (file)
index e57f822..0000000
+++ /dev/null
@@ -1,24 +0,0 @@
-#as:
-#objdump: -dr
-#name: i860 ldst05 (st.s)
-
-.*: +file format .*
-
-Disassembly of section \.text:
-
-00000000 <\.text>:
-   0:  00 00 00 1c     st.s    %r0,0\(%r0\)
-   4:  7a f8 20 1c     st.s    %r31,122\(%r1\)
-   8:  02 f1 40 1c     st.s    %r30,258\(%sp\)
-   c:  00 ea 60 1c     st.s    %r29,512\(%fp\)
-  10:  04 e4 80 1c     st.s    %r28,1028\(%r4\)
-  14:  fa df a1 1c     st.s    %r27,4090\(%r5\)
-  18:  fe d7 c3 1c     st.s    %r26,8190\(%r6\)
-  1c:  00 c8 e8 1c     st.s    %r25,16384\(%r7\)
-  20:  00 c0 18 1d     st.s    %r24,-16384\(%r8\)
-  24:  00 b8 3c 1d     st.s    %r23,-8192\(%r9\)
-  28:  00 b0 5e 1d     st.s    %r22,-4096\(%r10\)
-  2c:  00 ac 7f 1d     st.s    %r21,-1024\(%r11\)
-  30:  04 a6 9f 1d     st.s    %r20,-508\(%r12\)
-  34:  0e 9f bf 1d     st.s    %r19,-242\(%r13\)
-  38:  fe 97 df 1d     st.s    %r18,-2\(%r14\)
diff --git a/gas/testsuite/gas/i860/ldst05.s b/gas/testsuite/gas/i860/ldst05.s
deleted file mode 100644 (file)
index 7f253f4..0000000
+++ /dev/null
@@ -1,19 +0,0 @@
-# st.s (no relocations here)
-       .text
-
-       st.s    %r0,0(%r0)
-       st.s    %r31,122(%r1)
-       st.s    %r30,258(%r2)
-       st.s    %r29,512(%r3)
-       st.s    %r28,1028(%r4)
-       st.s    %r27,4090(%r5)
-       st.s    %r26,8190(%r6)
-       st.s    %r25,16384(%r7)
-       st.s    %r24,-16384(%r8)
-       st.s    %r23,-8192(%r9)
-       st.s    %r22,-4096(%r10)
-       st.s    %r21,-1024(%r11)
-       st.s    %r20,-508(%r12)
-       st.s    %r19,-242(%r13)
-       st.s    %r18,-2(%r14)
-
diff --git a/gas/testsuite/gas/i860/ldst06.d b/gas/testsuite/gas/i860/ldst06.d
deleted file mode 100644 (file)
index a1c54d1..0000000
+++ /dev/null
@@ -1,28 +0,0 @@
-#as:
-#objdump: -dr
-#name: i860 ldst06 (st.b)
-
-.*: +file format .*
-
-Disassembly of section \.text:
-
-00000000 <\.text>:
-   0:  00 00 00 0c     st.b    %r0,0\(%r0\)
-   4:  01 f8 20 0c     st.b    %r31,1\(%r1\)
-   8:  02 f0 40 0c     st.b    %r30,2\(%sp\)
-   c:  01 ea 60 0c     st.b    %r29,513\(%fp\)
-  10:  04 e4 80 0c     st.b    %r28,1028\(%r4\)
-  14:  fa df a1 0c     st.b    %r27,4090\(%r5\)
-  18:  fe d7 c3 0c     st.b    %r26,8190\(%r6\)
-  1c:  01 c8 e8 0c     st.b    %r25,16385\(%r7\)
-  20:  07 cd ef 0c     st.b    %r25,32007\(%r7\)
-  24:  ff cf ef 0c     st.b    %r25,32767\(%r7\)
-  28:  00 c8 f0 0c     st.b    %r25,-32768\(%r7\)
-  2c:  01 c8 f0 0c     st.b    %r25,-32767\(%r7\)
-  30:  01 c0 18 0d     st.b    %r24,-16383\(%r8\)
-  34:  5b b8 3c 0d     st.b    %r23,-8101\(%r9\)
-  38:  05 b0 5e 0d     st.b    %r22,-4091\(%r10\)
-  3c:  01 ac 7f 0d     st.b    %r21,-1023\(%r11\)
-  40:  03 a6 9f 0d     st.b    %r20,-509\(%r12\)
-  44:  e9 9f bf 0d     st.b    %r19,-23\(%r13\)
-  48:  ff 97 df 0d     st.b    %r18,-1\(%r14\)
diff --git a/gas/testsuite/gas/i860/ldst06.s b/gas/testsuite/gas/i860/ldst06.s
deleted file mode 100644 (file)
index bb817ab..0000000
+++ /dev/null
@@ -1,22 +0,0 @@
-# st.b (no relocations here)
-       .text
-
-       st.b    %r0,0(%r0)
-       st.b    %r31,1(%r1)
-       st.b    %r30,2(%r2)
-       st.b    %r29,513(%r3)
-       st.b    %r28,1028(%r4)
-       st.b    %r27,4090(%r5)
-       st.b    %r26,8190(%r6)
-       st.b    %r25,16385(%r7)
-       st.b    %r25,32007(%r7)
-       st.b    %r25,32767(%r7)
-       st.b    %r25,-32768(%r7)
-       st.b    %r25,-32767(%r7)
-       st.b    %r24,-16383(%r8)
-       st.b    %r23,-8101(%r9)
-       st.b    %r22,-4091(%r10)
-       st.b    %r21,-1023(%r11)
-       st.b    %r20,-509(%r12)
-       st.b    %r19,-23(%r13)
-       st.b    %r18,-1(%r14)
diff --git a/gas/testsuite/gas/i860/pfam.d b/gas/testsuite/gas/i860/pfam.d
deleted file mode 100644 (file)
index 2d95081..0000000
+++ /dev/null
@@ -1,153 +0,0 @@
-#as:
-#objdump: -dr
-#name: i860 pfam
-
-.*: +file format .*
-
-Disassembly of section \.text:
-
-00000000 <\.text>:
-   0:  00 04 22 48     r2p1.ss %f0,%f1,%f2
-   4:  80 1c 85 48     r2p1.sd %f3,%f4,%f5
-   8:  80 05 44 48     r2p1.dd %f0,%f2,%f4
-   c:  01 0c 43 48     r2pt.ss %f1,%f2,%f3
-  10:  81 24 a6 48     r2pt.sd %f4,%f5,%f6
-  14:  81 15 86 48     r2pt.dd %f2,%f4,%f6
-  18:  02 14 64 48     r2ap1.ss        %f2,%f3,%f4
-  1c:  82 34 e8 48     r2ap1.sd        %f6,%f7,%f8
-  20:  82 25 c8 48     r2ap1.dd        %f4,%f6,%f8
-  24:  03 1c 85 48     r2apt.ss        %f3,%f4,%f5
-  28:  83 3c 09 49     r2apt.sd        %f7,%f8,%f9
-  2c:  83 35 0a 49     r2apt.dd        %f6,%f8,%f10
-  30:  04 24 a6 48     i2p1.ss %f4,%f5,%f6
-  34:  84 44 2a 49     i2p1.sd %f8,%f9,%f10
-  38:  84 65 d0 49     i2p1.dd %f12,%f14,%f16
-  3c:  05 3c 09 49     i2pt.ss %f7,%f8,%f9
-  40:  85 5c 8d 49     i2pt.sd %f11,%f12,%f13
-  44:  85 75 12 4a     i2pt.dd %f14,%f16,%f18
-  48:  06 54 6c 49     i2ap1.ss        %f10,%f11,%f12
-  4c:  86 74 f0 49     i2ap1.sd        %f14,%f15,%f16
-  50:  86 85 54 4a     i2ap1.dd        %f16,%f18,%f20
-  54:  07 6c cf 49     i2apt.ss        %f13,%f14,%f15
-  58:  87 8c 53 4a     i2apt.sd        %f17,%f18,%f19
-  5c:  87 95 96 4a     i2apt.dd        %f18,%f20,%f22
-  60:  08 74 f0 49     rat1p2.ss       %f14,%f15,%f16
-  64:  88 a4 b6 4a     rat1p2.sd       %f20,%f21,%f22
-  68:  88 a5 d8 4a     rat1p2.dd       %f20,%f22,%f24
-  6c:  09 7c 11 4a     m12apm.ss       %f15,%f16,%f17
-  70:  89 bc 19 4b     m12apm.sd       %f23,%f24,%f25
-  74:  89 b5 1a 4b     m12apm.dd       %f22,%f24,%f26
-  78:  0a 94 74 4a     ra1p2.ss        %f18,%f19,%f20
-  7c:  8a d4 7c 4b     ra1p2.sd        %f26,%f27,%f28
-  80:  8a a5 d8 4a     ra1p2.dd        %f20,%f22,%f24
-  84:  0b 9c 95 4a     m12ttpa.ss      %f19,%f20,%f21
-  88:  8b ec df 4b     m12ttpa.sd      %f29,%f30,%f31
-  8c:  8b b5 1a 4b     m12ttpa.dd      %f22,%f24,%f26
-  90:  0c a4 b6 4a     iat1p2.ss       %f20,%f21,%f22
-  94:  8c 04 22 48     iat1p2.sd       %f0,%f1,%f2
-  98:  8c c5 5c 4b     iat1p2.dd       %f24,%f26,%f28
-  9c:  0d ac d7 4a     m12tpm.ss       %f21,%f22,%f23
-  a0:  8d 1c 85 48     m12tpm.sd       %f3,%f4,%f5
-  a4:  8d f5 02 48     m12tpm.dd       %f30,%f0,%f2
-  a8:  0e b4 f8 4a     ia1p2.ss        %f22,%f23,%f24
-  ac:  8e 34 e8 48     ia1p2.sd        %f6,%f7,%f8
-  b0:  8e 25 c8 48     ia1p2.dd        %f4,%f6,%f8
-  b4:  0f bc 19 4b     m12tpa.ss       %f23,%f24,%f25
-  b8:  8f 4c 4b 49     m12tpa.sd       %f9,%f10,%f11
-  bc:  8f 35 0a 49     m12tpa.dd       %f6,%f8,%f10
-  c0:  00 06 22 48     d.r2p1.ss       %f0,%f1,%f2
-  c4:  00 00 00 a0     shl     %r0,%r0,%r0
-  c8:  80 1e 85 48     d.r2p1.sd       %f3,%f4,%f5
-  cc:  00 00 00 a0     shl     %r0,%r0,%r0
-  d0:  80 07 44 48     d.r2p1.dd       %f0,%f2,%f4
-  d4:  00 00 00 a0     shl     %r0,%r0,%r0
-  d8:  01 0e 43 48     d.r2pt.ss       %f1,%f2,%f3
-  dc:  00 00 00 a0     shl     %r0,%r0,%r0
-  e0:  81 26 a6 48     d.r2pt.sd       %f4,%f5,%f6
-  e4:  00 00 00 a0     shl     %r0,%r0,%r0
-  e8:  81 17 86 48     d.r2pt.dd       %f2,%f4,%f6
-  ec:  00 00 00 a0     shl     %r0,%r0,%r0
-  f0:  02 16 64 48     d.r2ap1.ss      %f2,%f3,%f4
-  f4:  00 00 00 a0     shl     %r0,%r0,%r0
-  f8:  82 36 e8 48     d.r2ap1.sd      %f6,%f7,%f8
-  fc:  00 00 00 a0     shl     %r0,%r0,%r0
- 100:  82 27 c8 48     d.r2ap1.dd      %f4,%f6,%f8
- 104:  00 00 00 a0     shl     %r0,%r0,%r0
- 108:  03 1e 85 48     d.r2apt.ss      %f3,%f4,%f5
- 10c:  00 00 00 a0     shl     %r0,%r0,%r0
- 110:  83 3e 09 49     d.r2apt.sd      %f7,%f8,%f9
- 114:  00 00 00 a0     shl     %r0,%r0,%r0
- 118:  83 37 0a 49     d.r2apt.dd      %f6,%f8,%f10
- 11c:  00 00 00 a0     shl     %r0,%r0,%r0
- 120:  04 26 a6 48     d.i2p1.ss       %f4,%f5,%f6
- 124:  00 00 00 a0     shl     %r0,%r0,%r0
- 128:  84 46 2a 49     d.i2p1.sd       %f8,%f9,%f10
- 12c:  00 00 00 a0     shl     %r0,%r0,%r0
- 130:  84 67 d0 49     d.i2p1.dd       %f12,%f14,%f16
- 134:  00 00 00 a0     shl     %r0,%r0,%r0
- 138:  05 3e 09 49     d.i2pt.ss       %f7,%f8,%f9
- 13c:  00 00 00 a0     shl     %r0,%r0,%r0
- 140:  85 5e 8d 49     d.i2pt.sd       %f11,%f12,%f13
- 144:  00 00 00 a0     shl     %r0,%r0,%r0
- 148:  85 77 12 4a     d.i2pt.dd       %f14,%f16,%f18
- 14c:  00 00 00 a0     shl     %r0,%r0,%r0
- 150:  06 56 6c 49     d.i2ap1.ss      %f10,%f11,%f12
- 154:  00 00 00 a0     shl     %r0,%r0,%r0
- 158:  86 76 f0 49     d.i2ap1.sd      %f14,%f15,%f16
- 15c:  00 00 00 a0     shl     %r0,%r0,%r0
- 160:  86 87 54 4a     d.i2ap1.dd      %f16,%f18,%f20
- 164:  00 00 00 a0     shl     %r0,%r0,%r0
- 168:  07 6e cf 49     d.i2apt.ss      %f13,%f14,%f15
- 16c:  00 00 00 a0     shl     %r0,%r0,%r0
- 170:  87 8e 53 4a     d.i2apt.sd      %f17,%f18,%f19
- 174:  00 00 00 a0     shl     %r0,%r0,%r0
- 178:  87 97 96 4a     d.i2apt.dd      %f18,%f20,%f22
- 17c:  00 00 00 a0     shl     %r0,%r0,%r0
- 180:  08 76 f0 49     d.rat1p2.ss     %f14,%f15,%f16
- 184:  00 00 00 a0     shl     %r0,%r0,%r0
- 188:  88 a6 b6 4a     d.rat1p2.sd     %f20,%f21,%f22
- 18c:  00 00 00 a0     shl     %r0,%r0,%r0
- 190:  88 a7 d8 4a     d.rat1p2.dd     %f20,%f22,%f24
- 194:  00 00 00 a0     shl     %r0,%r0,%r0
- 198:  09 7e 11 4a     d.m12apm.ss     %f15,%f16,%f17
- 19c:  00 00 00 a0     shl     %r0,%r0,%r0
- 1a0:  89 be 19 4b     d.m12apm.sd     %f23,%f24,%f25
- 1a4:  00 00 00 a0     shl     %r0,%r0,%r0
- 1a8:  89 b7 1a 4b     d.m12apm.dd     %f22,%f24,%f26
- 1ac:  00 00 00 a0     shl     %r0,%r0,%r0
- 1b0:  0a 96 74 4a     d.ra1p2.ss      %f18,%f19,%f20
- 1b4:  00 00 00 a0     shl     %r0,%r0,%r0
- 1b8:  8a d6 7c 4b     d.ra1p2.sd      %f26,%f27,%f28
- 1bc:  00 00 00 a0     shl     %r0,%r0,%r0
- 1c0:  8a a7 d8 4a     d.ra1p2.dd      %f20,%f22,%f24
- 1c4:  00 00 00 a0     shl     %r0,%r0,%r0
- 1c8:  0b 9e 95 4a     d.m12ttpa.ss    %f19,%f20,%f21
- 1cc:  00 00 00 a0     shl     %r0,%r0,%r0
- 1d0:  8b ee df 4b     d.m12ttpa.sd    %f29,%f30,%f31
- 1d4:  00 00 00 a0     shl     %r0,%r0,%r0
- 1d8:  8b b7 1a 4b     d.m12ttpa.dd    %f22,%f24,%f26
- 1dc:  00 00 00 a0     shl     %r0,%r0,%r0
- 1e0:  0c a6 b6 4a     d.iat1p2.ss     %f20,%f21,%f22
- 1e4:  00 00 00 a0     shl     %r0,%r0,%r0
- 1e8:  8c 06 22 48     d.iat1p2.sd     %f0,%f1,%f2
- 1ec:  00 00 00 a0     shl     %r0,%r0,%r0
- 1f0:  8c c7 5c 4b     d.iat1p2.dd     %f24,%f26,%f28
- 1f4:  00 00 00 a0     shl     %r0,%r0,%r0
- 1f8:  0d ae d7 4a     d.m12tpm.ss     %f21,%f22,%f23
- 1fc:  00 00 00 a0     shl     %r0,%r0,%r0
- 200:  8d 1e 85 48     d.m12tpm.sd     %f3,%f4,%f5
- 204:  00 00 00 a0     shl     %r0,%r0,%r0
- 208:  8d f7 02 48     d.m12tpm.dd     %f30,%f0,%f2
- 20c:  00 00 00 a0     shl     %r0,%r0,%r0
- 210:  0e b6 f8 4a     d.ia1p2.ss      %f22,%f23,%f24
- 214:  00 00 00 a0     shl     %r0,%r0,%r0
- 218:  8e 36 e8 48     d.ia1p2.sd      %f6,%f7,%f8
- 21c:  00 00 00 a0     shl     %r0,%r0,%r0
- 220:  8e 27 c8 48     d.ia1p2.dd      %f4,%f6,%f8
- 224:  00 00 00 a0     shl     %r0,%r0,%r0
- 228:  0f be 19 4b     d.m12tpa.ss     %f23,%f24,%f25
- 22c:  00 00 00 a0     shl     %r0,%r0,%r0
- 230:  8f 4e 4b 49     d.m12tpa.sd     %f9,%f10,%f11
- 234:  00 00 00 a0     shl     %r0,%r0,%r0
- 238:  8f 37 0a 49     d.m12tpa.dd     %f6,%f8,%f10
- 23c:  00 00 00 a0     shl     %r0,%r0,%r0
diff --git a/gas/testsuite/gas/i860/pfam.s b/gas/testsuite/gas/i860/pfam.s
deleted file mode 100644 (file)
index 4afc28d..0000000
+++ /dev/null
@@ -1,182 +0,0 @@
-# pfam.p family (p={ss,sd,dd})
-
-       .text
-
-       # pfam without dual bit.
-       r2p1.ss %f0,%f1,%f2
-       r2p1.sd %f3,%f4,%f5
-       r2p1.dd %f0,%f2,%f4
-
-       r2pt.ss %f1,%f2,%f3
-       r2pt.sd %f4,%f5,%f6
-       r2pt.dd %f2,%f4,%f6
-
-       r2ap1.ss        %f2,%f3,%f4
-       r2ap1.sd        %f6,%f7,%f8
-       r2ap1.dd        %f4,%f6,%f8
-
-       r2apt.ss        %f3,%f4,%f5
-       r2apt.sd        %f7,%f8,%f9
-       r2apt.dd        %f6,%f8,%f10
-
-       i2p1.ss %f4,%f5,%f6
-       i2p1.sd %f8,%f9,%f10
-       i2p1.dd %f12,%f14,%f16
-
-       i2pt.ss %f7,%f8,%f9
-       i2pt.sd %f11,%f12,%f13
-       i2pt.dd %f14,%f16,%f18
-
-       i2ap1.ss        %f10,%f11,%f12
-       i2ap1.sd        %f14,%f15,%f16
-       i2ap1.dd        %f16,%f18,%f20
-
-       i2apt.ss        %f13,%f14,%f15
-       i2apt.sd        %f17,%f18,%f19
-       i2apt.dd        %f18,%f20,%f22
-
-       rat1p2.ss       %f14,%f15,%f16
-       rat1p2.sd       %f20,%f21,%f22
-       rat1p2.dd       %f20,%f22,%f24
-
-       m12apm.ss       %f15,%f16,%f17
-       m12apm.sd       %f23,%f24,%f25
-       m12apm.dd       %f22,%f24,%f26
-
-       ra1p2.ss        %f18,%f19,%f20
-       ra1p2.sd        %f26,%f27,%f28
-       ra1p2.dd        %f20,%f22,%f24
-
-       m12ttpa.ss      %f19,%f20,%f21
-       m12ttpa.sd      %f29,%f30,%f31
-       m12ttpa.dd      %f22,%f24,%f26
-
-       iat1p2.ss       %f20,%f21,%f22
-       iat1p2.sd       %f0,%f1,%f2
-       iat1p2.dd       %f24,%f26,%f28
-
-       m12tpm.ss       %f21,%f22,%f23
-       m12tpm.sd       %f3,%f4,%f5
-       m12tpm.dd       %f30,%f0,%f2
-
-       ia1p2.ss        %f22,%f23,%f24
-       ia1p2.sd        %f6,%f7,%f8
-       ia1p2.dd        %f4,%f6,%f8
-
-       m12tpa.ss       %f23,%f24,%f25
-       m12tpa.sd       %f9,%f10,%f11
-       m12tpa.dd       %f6,%f8,%f10
-
-       # pfam with dual bit.
-       d.r2p1.ss       %f0,%f1,%f2
-       nop
-       d.r2p1.sd       %f3,%f4,%f5
-       nop
-       d.r2p1.dd       %f0,%f2,%f4
-       nop
-
-       d.r2pt.ss       %f1,%f2,%f3
-       nop
-       d.r2pt.sd       %f4,%f5,%f6
-       nop
-       d.r2pt.dd       %f2,%f4,%f6
-       nop
-
-       d.r2ap1.ss      %f2,%f3,%f4
-       nop
-       d.r2ap1.sd      %f6,%f7,%f8
-       nop
-       d.r2ap1.dd      %f4,%f6,%f8
-       nop
-
-       d.r2apt.ss      %f3,%f4,%f5
-       nop
-       d.r2apt.sd      %f7,%f8,%f9
-       nop
-       d.r2apt.dd      %f6,%f8,%f10
-       nop
-
-       d.i2p1.ss       %f4,%f5,%f6
-       nop
-       d.i2p1.sd       %f8,%f9,%f10
-       nop
-       d.i2p1.dd       %f12,%f14,%f16
-       nop
-
-       d.i2pt.ss       %f7,%f8,%f9
-       nop
-       d.i2pt.sd       %f11,%f12,%f13
-       nop
-       d.i2pt.dd       %f14,%f16,%f18
-       nop
-
-       d.i2ap1.ss      %f10,%f11,%f12
-       nop
-       d.i2ap1.sd      %f14,%f15,%f16
-       nop
-       d.i2ap1.dd      %f16,%f18,%f20
-       nop
-
-       d.i2apt.ss      %f13,%f14,%f15
-       nop
-       d.i2apt.sd      %f17,%f18,%f19
-       nop
-       d.i2apt.dd      %f18,%f20,%f22
-       nop
-
-       d.rat1p2.ss     %f14,%f15,%f16
-       nop
-       d.rat1p2.sd     %f20,%f21,%f22
-       nop
-       d.rat1p2.dd     %f20,%f22,%f24
-       nop
-
-       d.m12apm.ss     %f15,%f16,%f17
-       nop
-       d.m12apm.sd     %f23,%f24,%f25
-       nop
-       d.m12apm.dd     %f22,%f24,%f26
-       nop
-
-       d.ra1p2.ss      %f18,%f19,%f20
-       nop
-       d.ra1p2.sd      %f26,%f27,%f28
-       nop
-       d.ra1p2.dd      %f20,%f22,%f24
-       nop
-
-       d.m12ttpa.ss    %f19,%f20,%f21
-       nop
-       d.m12ttpa.sd    %f29,%f30,%f31
-       nop
-       d.m12ttpa.dd    %f22,%f24,%f26
-       nop
-
-       d.iat1p2.ss     %f20,%f21,%f22
-       nop
-       d.iat1p2.sd     %f0,%f1,%f2
-       nop
-       d.iat1p2.dd     %f24,%f26,%f28
-       nop
-
-       d.m12tpm.ss     %f21,%f22,%f23
-       nop
-       d.m12tpm.sd     %f3,%f4,%f5
-       nop
-       d.m12tpm.dd     %f30,%f0,%f2
-       nop
-
-       d.ia1p2.ss      %f22,%f23,%f24
-       nop
-       d.ia1p2.sd      %f6,%f7,%f8
-       nop
-       d.ia1p2.dd      %f4,%f6,%f8
-       nop
-
-       d.m12tpa.ss     %f23,%f24,%f25
-       nop
-       d.m12tpa.sd     %f9,%f10,%f11
-       nop
-       d.m12tpa.dd     %f6,%f8,%f10
-       nop
-
diff --git a/gas/testsuite/gas/i860/pfmam.d b/gas/testsuite/gas/i860/pfmam.d
deleted file mode 100644 (file)
index 63f48a4..0000000
+++ /dev/null
@@ -1,153 +0,0 @@
-#as:
-#objdump: -dr
-#name: i860 pfmam
-
-.*: +file format .*
-
-Disassembly of section \.text:
-
-00000000 <\.text>:
-   0:  00 00 22 48     mr2p1.ss        %f0,%f1,%f2
-   4:  80 18 85 48     mr2p1.sd        %f3,%f4,%f5
-   8:  80 01 44 48     mr2p1.dd        %f0,%f2,%f4
-   c:  01 08 43 48     mr2pt.ss        %f1,%f2,%f3
-  10:  81 20 a6 48     mr2pt.sd        %f4,%f5,%f6
-  14:  81 11 86 48     mr2pt.dd        %f2,%f4,%f6
-  18:  02 10 64 48     mr2mp1.ss       %f2,%f3,%f4
-  1c:  82 30 e8 48     mr2mp1.sd       %f6,%f7,%f8
-  20:  82 21 c8 48     mr2mp1.dd       %f4,%f6,%f8
-  24:  03 18 85 48     mr2mpt.ss       %f3,%f4,%f5
-  28:  83 38 09 49     mr2mpt.sd       %f7,%f8,%f9
-  2c:  83 31 0a 49     mr2mpt.dd       %f6,%f8,%f10
-  30:  04 20 a6 48     mi2p1.ss        %f4,%f5,%f6
-  34:  84 40 2a 49     mi2p1.sd        %f8,%f9,%f10
-  38:  84 61 d0 49     mi2p1.dd        %f12,%f14,%f16
-  3c:  05 38 09 49     mi2pt.ss        %f7,%f8,%f9
-  40:  85 58 8d 49     mi2pt.sd        %f11,%f12,%f13
-  44:  85 71 12 4a     mi2pt.dd        %f14,%f16,%f18
-  48:  06 50 6c 49     mi2mp1.ss       %f10,%f11,%f12
-  4c:  86 70 f0 49     mi2mp1.sd       %f14,%f15,%f16
-  50:  86 81 54 4a     mi2mp1.dd       %f16,%f18,%f20
-  54:  07 68 cf 49     mi2mpt.ss       %f13,%f14,%f15
-  58:  87 88 53 4a     mi2mpt.sd       %f17,%f18,%f19
-  5c:  87 91 96 4a     mi2mpt.dd       %f18,%f20,%f22
-  60:  08 70 f0 49     mrmt1p2.ss      %f14,%f15,%f16
-  64:  88 a0 b6 4a     mrmt1p2.sd      %f20,%f21,%f22
-  68:  88 a1 d8 4a     mrmt1p2.dd      %f20,%f22,%f24
-  6c:  09 78 11 4a     mm12mpm.ss      %f15,%f16,%f17
-  70:  89 b8 19 4b     mm12mpm.sd      %f23,%f24,%f25
-  74:  89 b1 1a 4b     mm12mpm.dd      %f22,%f24,%f26
-  78:  0a 90 74 4a     mrm1p2.ss       %f18,%f19,%f20
-  7c:  8a d0 7c 4b     mrm1p2.sd       %f26,%f27,%f28
-  80:  8a a1 d8 4a     mrm1p2.dd       %f20,%f22,%f24
-  84:  0b 98 95 4a     mm12ttpm.ss     %f19,%f20,%f21
-  88:  8b e8 df 4b     mm12ttpm.sd     %f29,%f30,%f31
-  8c:  8b b1 1a 4b     mm12ttpm.dd     %f22,%f24,%f26
-  90:  0c a0 b6 4a     mimt1p2.ss      %f20,%f21,%f22
-  94:  8c 00 22 48     mimt1p2.sd      %f0,%f1,%f2
-  98:  8c c1 5c 4b     mimt1p2.dd      %f24,%f26,%f28
-  9c:  0d a8 d7 4a     mm12tpm.ss      %f21,%f22,%f23
-  a0:  8d 18 85 48     mm12tpm.sd      %f3,%f4,%f5
-  a4:  8d f1 02 48     mm12tpm.dd      %f30,%f0,%f2
-  a8:  0e b0 f8 4a     mim1p2.ss       %f22,%f23,%f24
-  ac:  8e 30 e8 48     mim1p2.sd       %f6,%f7,%f8
-  b0:  8e 21 c8 48     mim1p2.dd       %f4,%f6,%f8
-  b4:  0f bc 19 4b     m12tpa.ss       %f23,%f24,%f25
-  b8:  8f 4c 4b 49     m12tpa.sd       %f9,%f10,%f11
-  bc:  8f 35 0a 49     m12tpa.dd       %f6,%f8,%f10
-  c0:  00 02 22 48     d.mr2p1.ss      %f0,%f1,%f2
-  c4:  00 00 00 a0     shl     %r0,%r0,%r0
-  c8:  80 1a 85 48     d.mr2p1.sd      %f3,%f4,%f5
-  cc:  00 00 00 a0     shl     %r0,%r0,%r0
-  d0:  80 03 44 48     d.mr2p1.dd      %f0,%f2,%f4
-  d4:  00 00 00 a0     shl     %r0,%r0,%r0
-  d8:  01 0a 43 48     d.mr2pt.ss      %f1,%f2,%f3
-  dc:  00 00 00 a0     shl     %r0,%r0,%r0
-  e0:  81 22 a6 48     d.mr2pt.sd      %f4,%f5,%f6
-  e4:  00 00 00 a0     shl     %r0,%r0,%r0
-  e8:  81 13 86 48     d.mr2pt.dd      %f2,%f4,%f6
-  ec:  00 00 00 a0     shl     %r0,%r0,%r0
-  f0:  02 12 64 48     d.mr2mp1.ss     %f2,%f3,%f4
-  f4:  00 00 00 a0     shl     %r0,%r0,%r0
-  f8:  82 32 e8 48     d.mr2mp1.sd     %f6,%f7,%f8
-  fc:  00 00 00 a0     shl     %r0,%r0,%r0
- 100:  82 23 c8 48     d.mr2mp1.dd     %f4,%f6,%f8
- 104:  00 00 00 a0     shl     %r0,%r0,%r0
- 108:  03 1a 85 48     d.mr2mpt.ss     %f3,%f4,%f5
- 10c:  00 00 00 a0     shl     %r0,%r0,%r0
- 110:  83 3a 09 49     d.mr2mpt.sd     %f7,%f8,%f9
- 114:  00 00 00 a0     shl     %r0,%r0,%r0
- 118:  83 33 0a 49     d.mr2mpt.dd     %f6,%f8,%f10
- 11c:  00 00 00 a0     shl     %r0,%r0,%r0
- 120:  04 22 a6 48     d.mi2p1.ss      %f4,%f5,%f6
- 124:  00 00 00 a0     shl     %r0,%r0,%r0
- 128:  84 42 2a 49     d.mi2p1.sd      %f8,%f9,%f10
- 12c:  00 00 00 a0     shl     %r0,%r0,%r0
- 130:  84 63 d0 49     d.mi2p1.dd      %f12,%f14,%f16
- 134:  00 00 00 a0     shl     %r0,%r0,%r0
- 138:  05 3a 09 49     d.mi2pt.ss      %f7,%f8,%f9
- 13c:  00 00 00 a0     shl     %r0,%r0,%r0
- 140:  85 5a 8d 49     d.mi2pt.sd      %f11,%f12,%f13
- 144:  00 00 00 a0     shl     %r0,%r0,%r0
- 148:  85 73 12 4a     d.mi2pt.dd      %f14,%f16,%f18
- 14c:  00 00 00 a0     shl     %r0,%r0,%r0
- 150:  06 52 6c 49     d.mi2mp1.ss     %f10,%f11,%f12
- 154:  00 00 00 a0     shl     %r0,%r0,%r0
- 158:  86 72 f0 49     d.mi2mp1.sd     %f14,%f15,%f16
- 15c:  00 00 00 a0     shl     %r0,%r0,%r0
- 160:  86 83 54 4a     d.mi2mp1.dd     %f16,%f18,%f20
- 164:  00 00 00 a0     shl     %r0,%r0,%r0
- 168:  07 6a cf 49     d.mi2mpt.ss     %f13,%f14,%f15
- 16c:  00 00 00 a0     shl     %r0,%r0,%r0
- 170:  87 8a 53 4a     d.mi2mpt.sd     %f17,%f18,%f19
- 174:  00 00 00 a0     shl     %r0,%r0,%r0
- 178:  87 93 96 4a     d.mi2mpt.dd     %f18,%f20,%f22
- 17c:  00 00 00 a0     shl     %r0,%r0,%r0
- 180:  08 72 f0 49     d.mrmt1p2.ss    %f14,%f15,%f16
- 184:  00 00 00 a0     shl     %r0,%r0,%r0
- 188:  88 a2 b6 4a     d.mrmt1p2.sd    %f20,%f21,%f22
- 18c:  00 00 00 a0     shl     %r0,%r0,%r0
- 190:  88 a3 d8 4a     d.mrmt1p2.dd    %f20,%f22,%f24
- 194:  00 00 00 a0     shl     %r0,%r0,%r0
- 198:  09 7a 11 4a     d.mm12mpm.ss    %f15,%f16,%f17
- 19c:  00 00 00 a0     shl     %r0,%r0,%r0
- 1a0:  89 ba 19 4b     d.mm12mpm.sd    %f23,%f24,%f25
- 1a4:  00 00 00 a0     shl     %r0,%r0,%r0
- 1a8:  89 b3 1a 4b     d.mm12mpm.dd    %f22,%f24,%f26
- 1ac:  00 00 00 a0     shl     %r0,%r0,%r0
- 1b0:  0a 92 74 4a     d.mrm1p2.ss     %f18,%f19,%f20
- 1b4:  00 00 00 a0     shl     %r0,%r0,%r0
- 1b8:  8a d2 7c 4b     d.mrm1p2.sd     %f26,%f27,%f28
- 1bc:  00 00 00 a0     shl     %r0,%r0,%r0
- 1c0:  8a a3 d8 4a     d.mrm1p2.dd     %f20,%f22,%f24
- 1c4:  00 00 00 a0     shl     %r0,%r0,%r0
- 1c8:  0b 9a 95 4a     d.mm12ttpm.ss   %f19,%f20,%f21
- 1cc:  00 00 00 a0     shl     %r0,%r0,%r0
- 1d0:  8b ea df 4b     d.mm12ttpm.sd   %f29,%f30,%f31
- 1d4:  00 00 00 a0     shl     %r0,%r0,%r0
- 1d8:  8b b3 1a 4b     d.mm12ttpm.dd   %f22,%f24,%f26
- 1dc:  00 00 00 a0     shl     %r0,%r0,%r0
- 1e0:  0c a2 b6 4a     d.mimt1p2.ss    %f20,%f21,%f22
- 1e4:  00 00 00 a0     shl     %r0,%r0,%r0
- 1e8:  8c 02 22 48     d.mimt1p2.sd    %f0,%f1,%f2
- 1ec:  00 00 00 a0     shl     %r0,%r0,%r0
- 1f0:  8c c3 5c 4b     d.mimt1p2.dd    %f24,%f26,%f28
- 1f4:  00 00 00 a0     shl     %r0,%r0,%r0
- 1f8:  0d aa d7 4a     d.mm12tpm.ss    %f21,%f22,%f23
- 1fc:  00 00 00 a0     shl     %r0,%r0,%r0
- 200:  8d 1a 85 48     d.mm12tpm.sd    %f3,%f4,%f5
- 204:  00 00 00 a0     shl     %r0,%r0,%r0
- 208:  8d f3 02 48     d.mm12tpm.dd    %f30,%f0,%f2
- 20c:  00 00 00 a0     shl     %r0,%r0,%r0
- 210:  0e b2 f8 4a     d.mim1p2.ss     %f22,%f23,%f24
- 214:  00 00 00 a0     shl     %r0,%r0,%r0
- 218:  8e 32 e8 48     d.mim1p2.sd     %f6,%f7,%f8
- 21c:  00 00 00 a0     shl     %r0,%r0,%r0
- 220:  8e 23 c8 48     d.mim1p2.dd     %f4,%f6,%f8
- 224:  00 00 00 a0     shl     %r0,%r0,%r0
- 228:  0f be 19 4b     d.m12tpa.ss     %f23,%f24,%f25
- 22c:  00 00 00 a0     shl     %r0,%r0,%r0
- 230:  8f 4e 4b 49     d.m12tpa.sd     %f9,%f10,%f11
- 234:  00 00 00 a0     shl     %r0,%r0,%r0
- 238:  8f 37 0a 49     d.m12tpa.dd     %f6,%f8,%f10
- 23c:  00 00 00 a0     shl     %r0,%r0,%r0
diff --git a/gas/testsuite/gas/i860/pfmam.s b/gas/testsuite/gas/i860/pfmam.s
deleted file mode 100644 (file)
index ac6a1af..0000000
+++ /dev/null
@@ -1,182 +0,0 @@
-# pfmam.p family (p={ss,sd,dd})
-
-       .text
-
-       # pfmam without dual bit.
-       mr2p1.ss        %f0,%f1,%f2
-       mr2p1.sd        %f3,%f4,%f5
-       mr2p1.dd        %f0,%f2,%f4
-
-       mr2pt.ss        %f1,%f2,%f3
-       mr2pt.sd        %f4,%f5,%f6
-       mr2pt.dd        %f2,%f4,%f6
-
-       mr2mp1.ss       %f2,%f3,%f4
-       mr2mp1.sd       %f6,%f7,%f8
-       mr2mp1.dd       %f4,%f6,%f8
-
-       mr2mpt.ss       %f3,%f4,%f5
-       mr2mpt.sd       %f7,%f8,%f9
-       mr2mpt.dd       %f6,%f8,%f10
-
-       mi2p1.ss        %f4,%f5,%f6
-       mi2p1.sd        %f8,%f9,%f10
-       mi2p1.dd        %f12,%f14,%f16
-
-       mi2pt.ss        %f7,%f8,%f9
-       mi2pt.sd        %f11,%f12,%f13
-       mi2pt.dd        %f14,%f16,%f18
-
-       mi2mp1.ss       %f10,%f11,%f12
-       mi2mp1.sd       %f14,%f15,%f16
-       mi2mp1.dd       %f16,%f18,%f20
-
-       mi2mpt.ss       %f13,%f14,%f15
-       mi2mpt.sd       %f17,%f18,%f19
-       mi2mpt.dd       %f18,%f20,%f22
-
-       mrmt1p2.ss      %f14,%f15,%f16
-       mrmt1p2.sd      %f20,%f21,%f22
-       mrmt1p2.dd      %f20,%f22,%f24
-
-       mm12mpm.ss      %f15,%f16,%f17
-       mm12mpm.sd      %f23,%f24,%f25
-       mm12mpm.dd      %f22,%f24,%f26
-
-       mrm1p2.ss       %f18,%f19,%f20
-       mrm1p2.sd       %f26,%f27,%f28
-       mrm1p2.dd       %f20,%f22,%f24
-
-       mm12ttpm.ss     %f19,%f20,%f21
-       mm12ttpm.sd     %f29,%f30,%f31
-       mm12ttpm.dd     %f22,%f24,%f26
-
-       mimt1p2.ss      %f20,%f21,%f22
-       mimt1p2.sd      %f0,%f1,%f2
-       mimt1p2.dd      %f24,%f26,%f28
-
-       mm12tpm.ss      %f21,%f22,%f23
-       mm12tpm.sd      %f3,%f4,%f5
-       mm12tpm.dd      %f30,%f0,%f2
-
-       mim1p2.ss       %f22,%f23,%f24
-       mim1p2.sd       %f6,%f7,%f8
-       mim1p2.dd       %f4,%f6,%f8
-
-       m12tpa.ss       %f23,%f24,%f25
-       m12tpa.sd       %f9,%f10,%f11
-       m12tpa.dd       %f6,%f8,%f10
-
-       # pfmam with dual bit.
-       d.mr2p1.ss      %f0,%f1,%f2
-       nop
-       d.mr2p1.sd      %f3,%f4,%f5
-       nop
-       d.mr2p1.dd      %f0,%f2,%f4
-       nop
-
-       d.mr2pt.ss      %f1,%f2,%f3
-       nop
-       d.mr2pt.sd      %f4,%f5,%f6
-       nop
-       d.mr2pt.dd      %f2,%f4,%f6
-       nop
-
-       d.mr2mp1.ss     %f2,%f3,%f4
-       nop
-       d.mr2mp1.sd     %f6,%f7,%f8
-       nop
-       d.mr2mp1.dd     %f4,%f6,%f8
-       nop
-
-       d.mr2mpt.ss     %f3,%f4,%f5
-       nop
-       d.mr2mpt.sd     %f7,%f8,%f9
-       nop
-       d.mr2mpt.dd     %f6,%f8,%f10
-       nop
-
-       d.mi2p1.ss      %f4,%f5,%f6
-       nop
-       d.mi2p1.sd      %f8,%f9,%f10
-       nop
-       d.mi2p1.dd      %f12,%f14,%f16
-       nop
-
-       d.mi2pt.ss      %f7,%f8,%f9
-       nop
-       d.mi2pt.sd      %f11,%f12,%f13
-       nop
-       d.mi2pt.dd      %f14,%f16,%f18
-       nop
-
-       d.mi2mp1.ss     %f10,%f11,%f12
-       nop
-       d.mi2mp1.sd     %f14,%f15,%f16
-       nop
-       d.mi2mp1.dd     %f16,%f18,%f20
-       nop
-
-       d.mi2mpt.ss     %f13,%f14,%f15
-       nop
-       d.mi2mpt.sd     %f17,%f18,%f19
-       nop
-       d.mi2mpt.dd     %f18,%f20,%f22
-       nop
-
-       d.mrmt1p2.ss    %f14,%f15,%f16
-       nop
-       d.mrmt1p2.sd    %f20,%f21,%f22
-       nop
-       d.mrmt1p2.dd    %f20,%f22,%f24
-       nop
-
-       d.mm12mpm.ss    %f15,%f16,%f17
-       nop
-       d.mm12mpm.sd    %f23,%f24,%f25
-       nop
-       d.mm12mpm.dd    %f22,%f24,%f26
-       nop
-
-       d.mrm1p2.ss     %f18,%f19,%f20
-       nop
-       d.mrm1p2.sd     %f26,%f27,%f28
-       nop
-       d.mrm1p2.dd     %f20,%f22,%f24
-       nop
-
-       d.mm12ttpm.ss   %f19,%f20,%f21
-       nop
-       d.mm12ttpm.sd   %f29,%f30,%f31
-       nop
-       d.mm12ttpm.dd   %f22,%f24,%f26
-       nop
-
-       d.mimt1p2.ss    %f20,%f21,%f22
-       nop
-       d.mimt1p2.sd    %f0,%f1,%f2
-       nop
-       d.mimt1p2.dd    %f24,%f26,%f28
-       nop
-
-       d.mm12tpm.ss    %f21,%f22,%f23
-       nop
-       d.mm12tpm.sd    %f3,%f4,%f5
-       nop
-       d.mm12tpm.dd    %f30,%f0,%f2
-       nop
-
-       d.mim1p2.ss     %f22,%f23,%f24
-       nop
-       d.mim1p2.sd     %f6,%f7,%f8
-       nop
-       d.mim1p2.dd     %f4,%f6,%f8
-       nop
-
-       d.m12tpa.ss     %f23,%f24,%f25
-       nop
-       d.m12tpa.sd     %f9,%f10,%f11
-       nop
-       d.m12tpa.dd     %f6,%f8,%f10
-       nop
-
diff --git a/gas/testsuite/gas/i860/pfmsm.d b/gas/testsuite/gas/i860/pfmsm.d
deleted file mode 100644 (file)
index 65d7e97..0000000
+++ /dev/null
@@ -1,153 +0,0 @@
-#as:
-#objdump: -dr
-#name: i860 pfmsm
-
-.*: +file format .*
-
-Disassembly of section \.text:
-
-00000000 <\.text>:
-   0:  10 00 22 48     mr2s1.ss        %f0,%f1,%f2
-   4:  90 18 85 48     mr2s1.sd        %f3,%f4,%f5
-   8:  90 01 44 48     mr2s1.dd        %f0,%f2,%f4
-   c:  11 08 43 48     mr2st.ss        %f1,%f2,%f3
-  10:  91 20 a6 48     mr2st.sd        %f4,%f5,%f6
-  14:  91 11 86 48     mr2st.dd        %f2,%f4,%f6
-  18:  12 10 64 48     mr2ms1.ss       %f2,%f3,%f4
-  1c:  92 30 e8 48     mr2ms1.sd       %f6,%f7,%f8
-  20:  92 21 c8 48     mr2ms1.dd       %f4,%f6,%f8
-  24:  13 18 85 48     mr2mst.ss       %f3,%f4,%f5
-  28:  93 38 09 49     mr2mst.sd       %f7,%f8,%f9
-  2c:  93 31 0a 49     mr2mst.dd       %f6,%f8,%f10
-  30:  14 20 a6 48     mi2s1.ss        %f4,%f5,%f6
-  34:  94 40 2a 49     mi2s1.sd        %f8,%f9,%f10
-  38:  94 61 d0 49     mi2s1.dd        %f12,%f14,%f16
-  3c:  15 38 09 49     mi2st.ss        %f7,%f8,%f9
-  40:  95 58 8d 49     mi2st.sd        %f11,%f12,%f13
-  44:  95 71 12 4a     mi2st.dd        %f14,%f16,%f18
-  48:  16 50 6c 49     mi2ms1.ss       %f10,%f11,%f12
-  4c:  96 70 f0 49     mi2ms1.sd       %f14,%f15,%f16
-  50:  96 81 54 4a     mi2ms1.dd       %f16,%f18,%f20
-  54:  17 68 cf 49     mi2mst.ss       %f13,%f14,%f15
-  58:  97 88 53 4a     mi2mst.sd       %f17,%f18,%f19
-  5c:  97 91 96 4a     mi2mst.dd       %f18,%f20,%f22
-  60:  18 70 f0 49     mrmt1s2.ss      %f14,%f15,%f16
-  64:  98 a0 b6 4a     mrmt1s2.sd      %f20,%f21,%f22
-  68:  98 a1 d8 4a     mrmt1s2.dd      %f20,%f22,%f24
-  6c:  19 78 11 4a     mm12msm.ss      %f15,%f16,%f17
-  70:  99 b8 19 4b     mm12msm.sd      %f23,%f24,%f25
-  74:  99 b1 1a 4b     mm12msm.dd      %f22,%f24,%f26
-  78:  1a 90 74 4a     mrm1s2.ss       %f18,%f19,%f20
-  7c:  9a d0 7c 4b     mrm1s2.sd       %f26,%f27,%f28
-  80:  9a a1 d8 4a     mrm1s2.dd       %f20,%f22,%f24
-  84:  1b 98 95 4a     mm12ttsm.ss     %f19,%f20,%f21
-  88:  9b e8 df 4b     mm12ttsm.sd     %f29,%f30,%f31
-  8c:  9b b1 1a 4b     mm12ttsm.dd     %f22,%f24,%f26
-  90:  1c a0 b6 4a     mimt1s2.ss      %f20,%f21,%f22
-  94:  9c 00 22 48     mimt1s2.sd      %f0,%f1,%f2
-  98:  9c c1 5c 4b     mimt1s2.dd      %f24,%f26,%f28
-  9c:  1d a8 d7 4a     mm12tsm.ss      %f21,%f22,%f23
-  a0:  9d 18 85 48     mm12tsm.sd      %f3,%f4,%f5
-  a4:  9d f1 02 48     mm12tsm.dd      %f30,%f0,%f2
-  a8:  1e b0 f8 4a     mim1s2.ss       %f22,%f23,%f24
-  ac:  9e 30 e8 48     mim1s2.sd       %f6,%f7,%f8
-  b0:  9e 21 c8 48     mim1s2.dd       %f4,%f6,%f8
-  b4:  1f bc 19 4b     m12tsa.ss       %f23,%f24,%f25
-  b8:  9f 4c 4b 49     m12tsa.sd       %f9,%f10,%f11
-  bc:  9f 35 0a 49     m12tsa.dd       %f6,%f8,%f10
-  c0:  10 02 22 48     d.mr2s1.ss      %f0,%f1,%f2
-  c4:  00 00 00 a0     shl     %r0,%r0,%r0
-  c8:  90 1a 85 48     d.mr2s1.sd      %f3,%f4,%f5
-  cc:  00 00 00 a0     shl     %r0,%r0,%r0
-  d0:  90 03 44 48     d.mr2s1.dd      %f0,%f2,%f4
-  d4:  00 00 00 a0     shl     %r0,%r0,%r0
-  d8:  11 0a 43 48     d.mr2st.ss      %f1,%f2,%f3
-  dc:  00 00 00 a0     shl     %r0,%r0,%r0
-  e0:  91 22 a6 48     d.mr2st.sd      %f4,%f5,%f6
-  e4:  00 00 00 a0     shl     %r0,%r0,%r0
-  e8:  91 13 86 48     d.mr2st.dd      %f2,%f4,%f6
-  ec:  00 00 00 a0     shl     %r0,%r0,%r0
-  f0:  12 12 64 48     d.mr2ms1.ss     %f2,%f3,%f4
-  f4:  00 00 00 a0     shl     %r0,%r0,%r0
-  f8:  92 32 e8 48     d.mr2ms1.sd     %f6,%f7,%f8
-  fc:  00 00 00 a0     shl     %r0,%r0,%r0
- 100:  92 23 c8 48     d.mr2ms1.dd     %f4,%f6,%f8
- 104:  00 00 00 a0     shl     %r0,%r0,%r0
- 108:  13 1a 85 48     d.mr2mst.ss     %f3,%f4,%f5
- 10c:  00 00 00 a0     shl     %r0,%r0,%r0
- 110:  93 3a 09 49     d.mr2mst.sd     %f7,%f8,%f9
- 114:  00 00 00 a0     shl     %r0,%r0,%r0
- 118:  93 33 0a 49     d.mr2mst.dd     %f6,%f8,%f10
- 11c:  00 00 00 a0     shl     %r0,%r0,%r0
- 120:  14 22 a6 48     d.mi2s1.ss      %f4,%f5,%f6
- 124:  00 00 00 a0     shl     %r0,%r0,%r0
- 128:  94 42 2a 49     d.mi2s1.sd      %f8,%f9,%f10
- 12c:  00 00 00 a0     shl     %r0,%r0,%r0
- 130:  94 63 d0 49     d.mi2s1.dd      %f12,%f14,%f16
- 134:  00 00 00 a0     shl     %r0,%r0,%r0
- 138:  15 3a 09 49     d.mi2st.ss      %f7,%f8,%f9
- 13c:  00 00 00 a0     shl     %r0,%r0,%r0
- 140:  95 5a 8d 49     d.mi2st.sd      %f11,%f12,%f13
- 144:  00 00 00 a0     shl     %r0,%r0,%r0
- 148:  95 73 12 4a     d.mi2st.dd      %f14,%f16,%f18
- 14c:  00 00 00 a0     shl     %r0,%r0,%r0
- 150:  16 52 6c 49     d.mi2ms1.ss     %f10,%f11,%f12
- 154:  00 00 00 a0     shl     %r0,%r0,%r0
- 158:  96 72 f0 49     d.mi2ms1.sd     %f14,%f15,%f16
- 15c:  00 00 00 a0     shl     %r0,%r0,%r0
- 160:  96 83 54 4a     d.mi2ms1.dd     %f16,%f18,%f20
- 164:  00 00 00 a0     shl     %r0,%r0,%r0
- 168:  17 6a cf 49     d.mi2mst.ss     %f13,%f14,%f15
- 16c:  00 00 00 a0     shl     %r0,%r0,%r0
- 170:  97 8a 53 4a     d.mi2mst.sd     %f17,%f18,%f19
- 174:  00 00 00 a0     shl     %r0,%r0,%r0
- 178:  97 93 96 4a     d.mi2mst.dd     %f18,%f20,%f22
- 17c:  00 00 00 a0     shl     %r0,%r0,%r0
- 180:  18 72 f0 49     d.mrmt1s2.ss    %f14,%f15,%f16
- 184:  00 00 00 a0     shl     %r0,%r0,%r0
- 188:  98 a2 b6 4a     d.mrmt1s2.sd    %f20,%f21,%f22
- 18c:  00 00 00 a0     shl     %r0,%r0,%r0
- 190:  98 a3 d8 4a     d.mrmt1s2.dd    %f20,%f22,%f24
- 194:  00 00 00 a0     shl     %r0,%r0,%r0
- 198:  19 7a 11 4a     d.mm12msm.ss    %f15,%f16,%f17
- 19c:  00 00 00 a0     shl     %r0,%r0,%r0
- 1a0:  99 ba 19 4b     d.mm12msm.sd    %f23,%f24,%f25
- 1a4:  00 00 00 a0     shl     %r0,%r0,%r0
- 1a8:  99 b3 1a 4b     d.mm12msm.dd    %f22,%f24,%f26
- 1ac:  00 00 00 a0     shl     %r0,%r0,%r0
- 1b0:  1a 92 74 4a     d.mrm1s2.ss     %f18,%f19,%f20
- 1b4:  00 00 00 a0     shl     %r0,%r0,%r0
- 1b8:  9a d2 7c 4b     d.mrm1s2.sd     %f26,%f27,%f28
- 1bc:  00 00 00 a0     shl     %r0,%r0,%r0
- 1c0:  9a a3 d8 4a     d.mrm1s2.dd     %f20,%f22,%f24
- 1c4:  00 00 00 a0     shl     %r0,%r0,%r0
- 1c8:  1b 9a 95 4a     d.mm12ttsm.ss   %f19,%f20,%f21
- 1cc:  00 00 00 a0     shl     %r0,%r0,%r0
- 1d0:  9b ea df 4b     d.mm12ttsm.sd   %f29,%f30,%f31
- 1d4:  00 00 00 a0     shl     %r0,%r0,%r0
- 1d8:  9b b3 1a 4b     d.mm12ttsm.dd   %f22,%f24,%f26
- 1dc:  00 00 00 a0     shl     %r0,%r0,%r0
- 1e0:  1c a2 b6 4a     d.mimt1s2.ss    %f20,%f21,%f22
- 1e4:  00 00 00 a0     shl     %r0,%r0,%r0
- 1e8:  9c 02 22 48     d.mimt1s2.sd    %f0,%f1,%f2
- 1ec:  00 00 00 a0     shl     %r0,%r0,%r0
- 1f0:  9c c3 5c 4b     d.mimt1s2.dd    %f24,%f26,%f28
- 1f4:  00 00 00 a0     shl     %r0,%r0,%r0
- 1f8:  1d aa d7 4a     d.mm12tsm.ss    %f21,%f22,%f23
- 1fc:  00 00 00 a0     shl     %r0,%r0,%r0
- 200:  9d 1a 85 48     d.mm12tsm.sd    %f3,%f4,%f5
- 204:  00 00 00 a0     shl     %r0,%r0,%r0
- 208:  9d f3 02 48     d.mm12tsm.dd    %f30,%f0,%f2
- 20c:  00 00 00 a0     shl     %r0,%r0,%r0
- 210:  1e b2 f8 4a     d.mim1s2.ss     %f22,%f23,%f24
- 214:  00 00 00 a0     shl     %r0,%r0,%r0
- 218:  9e 32 e8 48     d.mim1s2.sd     %f6,%f7,%f8
- 21c:  00 00 00 a0     shl     %r0,%r0,%r0
- 220:  9e 23 c8 48     d.mim1s2.dd     %f4,%f6,%f8
- 224:  00 00 00 a0     shl     %r0,%r0,%r0
- 228:  1f be 19 4b     d.m12tsa.ss     %f23,%f24,%f25
- 22c:  00 00 00 a0     shl     %r0,%r0,%r0
- 230:  9f 4e 4b 49     d.m12tsa.sd     %f9,%f10,%f11
- 234:  00 00 00 a0     shl     %r0,%r0,%r0
- 238:  9f 37 0a 49     d.m12tsa.dd     %f6,%f8,%f10
- 23c:  00 00 00 a0     shl     %r0,%r0,%r0
diff --git a/gas/testsuite/gas/i860/pfmsm.s b/gas/testsuite/gas/i860/pfmsm.s
deleted file mode 100644 (file)
index 26c9166..0000000
+++ /dev/null
@@ -1,182 +0,0 @@
-# pfmsm.p family (p={ss,sd,dd})
-
-       .text
-
-       # pfmsm without dual bit
-       mr2s1.ss        %f0,%f1,%f2
-       mr2s1.sd        %f3,%f4,%f5
-       mr2s1.dd        %f0,%f2,%f4
-
-       mr2st.ss        %f1,%f2,%f3
-       mr2st.sd        %f4,%f5,%f6
-       mr2st.dd        %f2,%f4,%f6
-
-       mr2ms1.ss       %f2,%f3,%f4
-       mr2ms1.sd       %f6,%f7,%f8
-       mr2ms1.dd       %f4,%f6,%f8
-
-       mr2mst.ss       %f3,%f4,%f5
-       mr2mst.sd       %f7,%f8,%f9
-       mr2mst.dd       %f6,%f8,%f10
-
-       mi2s1.ss        %f4,%f5,%f6
-       mi2s1.sd        %f8,%f9,%f10
-       mi2s1.dd        %f12,%f14,%f16
-
-       mi2st.ss        %f7,%f8,%f9
-       mi2st.sd        %f11,%f12,%f13
-       mi2st.dd        %f14,%f16,%f18
-
-       mi2ms1.ss       %f10,%f11,%f12
-       mi2ms1.sd       %f14,%f15,%f16
-       mi2ms1.dd       %f16,%f18,%f20
-
-       mi2mst.ss       %f13,%f14,%f15
-       mi2mst.sd       %f17,%f18,%f19
-       mi2mst.dd       %f18,%f20,%f22
-
-       mrmt1s2.ss      %f14,%f15,%f16
-       mrmt1s2.sd      %f20,%f21,%f22
-       mrmt1s2.dd      %f20,%f22,%f24
-
-       mm12msm.ss      %f15,%f16,%f17
-       mm12msm.sd      %f23,%f24,%f25
-       mm12msm.dd      %f22,%f24,%f26
-
-       mrm1s2.ss       %f18,%f19,%f20
-       mrm1s2.sd       %f26,%f27,%f28
-       mrm1s2.dd       %f20,%f22,%f24
-
-       mm12ttsm.ss     %f19,%f20,%f21
-       mm12ttsm.sd     %f29,%f30,%f31
-       mm12ttsm.dd     %f22,%f24,%f26
-
-       mimt1s2.ss      %f20,%f21,%f22
-       mimt1s2.sd      %f0,%f1,%f2
-       mimt1s2.dd      %f24,%f26,%f28
-
-       mm12tsm.ss      %f21,%f22,%f23
-       mm12tsm.sd      %f3,%f4,%f5
-       mm12tsm.dd      %f30,%f0,%f2
-
-       mim1s2.ss       %f22,%f23,%f24
-       mim1s2.sd       %f6,%f7,%f8
-       mim1s2.dd       %f4,%f6,%f8
-
-       m12tsa.ss       %f23,%f24,%f25
-       m12tsa.sd       %f9,%f10,%f11
-       m12tsa.dd       %f6,%f8,%f10
-
-       # pfmsm with dual bit
-       d.mr2s1.ss      %f0,%f1,%f2
-       nop
-       d.mr2s1.sd      %f3,%f4,%f5
-       nop
-       d.mr2s1.dd      %f0,%f2,%f4
-       nop
-
-       d.mr2st.ss      %f1,%f2,%f3
-       nop
-       d.mr2st.sd      %f4,%f5,%f6
-       nop
-       d.mr2st.dd      %f2,%f4,%f6
-       nop
-
-       d.mr2ms1.ss     %f2,%f3,%f4
-       nop
-       d.mr2ms1.sd     %f6,%f7,%f8
-       nop
-       d.mr2ms1.dd     %f4,%f6,%f8
-       nop
-
-       d.mr2mst.ss     %f3,%f4,%f5
-       nop
-       d.mr2mst.sd     %f7,%f8,%f9
-       nop
-       d.mr2mst.dd     %f6,%f8,%f10
-       nop
-
-       d.mi2s1.ss      %f4,%f5,%f6
-       nop
-       d.mi2s1.sd      %f8,%f9,%f10
-       nop
-       d.mi2s1.dd      %f12,%f14,%f16
-       nop
-
-       d.mi2st.ss      %f7,%f8,%f9
-       nop
-       d.mi2st.sd      %f11,%f12,%f13
-       nop
-       d.mi2st.dd      %f14,%f16,%f18
-       nop
-
-       d.mi2ms1.ss     %f10,%f11,%f12
-       nop
-       d.mi2ms1.sd     %f14,%f15,%f16
-       nop
-       d.mi2ms1.dd     %f16,%f18,%f20
-       nop
-
-       d.mi2mst.ss     %f13,%f14,%f15
-       nop
-       d.mi2mst.sd     %f17,%f18,%f19
-       nop
-       d.mi2mst.dd     %f18,%f20,%f22
-       nop
-
-       d.mrmt1s2.ss    %f14,%f15,%f16
-       nop
-       d.mrmt1s2.sd    %f20,%f21,%f22
-       nop
-       d.mrmt1s2.dd    %f20,%f22,%f24
-       nop
-
-       d.mm12msm.ss    %f15,%f16,%f17
-       nop
-       d.mm12msm.sd    %f23,%f24,%f25
-       nop
-       d.mm12msm.dd    %f22,%f24,%f26
-       nop
-
-       d.mrm1s2.ss     %f18,%f19,%f20
-       nop
-       d.mrm1s2.sd     %f26,%f27,%f28
-       nop
-       d.mrm1s2.dd     %f20,%f22,%f24
-       nop
-
-       d.mm12ttsm.ss   %f19,%f20,%f21
-       nop
-       d.mm12ttsm.sd   %f29,%f30,%f31
-       nop
-       d.mm12ttsm.dd   %f22,%f24,%f26
-       nop
-
-       d.mimt1s2.ss    %f20,%f21,%f22
-       nop
-       d.mimt1s2.sd    %f0,%f1,%f2
-       nop
-       d.mimt1s2.dd    %f24,%f26,%f28
-       nop
-
-       d.mm12tsm.ss    %f21,%f22,%f23
-       nop
-       d.mm12tsm.sd    %f3,%f4,%f5
-       nop
-       d.mm12tsm.dd    %f30,%f0,%f2
-       nop
-
-       d.mim1s2.ss     %f22,%f23,%f24
-       nop
-       d.mim1s2.sd     %f6,%f7,%f8
-       nop
-       d.mim1s2.dd     %f4,%f6,%f8
-       nop
-
-       d.m12tsa.ss     %f23,%f24,%f25
-       nop
-       d.m12tsa.sd     %f9,%f10,%f11
-       nop
-       d.m12tsa.dd     %f6,%f8,%f10
-       nop
-
diff --git a/gas/testsuite/gas/i860/pfsm.d b/gas/testsuite/gas/i860/pfsm.d
deleted file mode 100644 (file)
index a3655cb..0000000
+++ /dev/null
@@ -1,153 +0,0 @@
-#as:
-#objdump: -dr
-#name: i860 pfsm
-
-.*: +file format .*
-
-Disassembly of section \.text:
-
-00000000 <\.text>:
-   0:  10 04 22 48     r2s1.ss %f0,%f1,%f2
-   4:  90 1c 85 48     r2s1.sd %f3,%f4,%f5
-   8:  90 05 44 48     r2s1.dd %f0,%f2,%f4
-   c:  11 0c 43 48     r2st.ss %f1,%f2,%f3
-  10:  91 24 a6 48     r2st.sd %f4,%f5,%f6
-  14:  91 15 86 48     r2st.dd %f2,%f4,%f6
-  18:  12 14 64 48     r2as1.ss        %f2,%f3,%f4
-  1c:  92 34 e8 48     r2as1.sd        %f6,%f7,%f8
-  20:  92 25 c8 48     r2as1.dd        %f4,%f6,%f8
-  24:  13 1c 85 48     r2ast.ss        %f3,%f4,%f5
-  28:  93 3c 09 49     r2ast.sd        %f7,%f8,%f9
-  2c:  93 35 0a 49     r2ast.dd        %f6,%f8,%f10
-  30:  14 24 a6 48     i2s1.ss %f4,%f5,%f6
-  34:  94 44 2a 49     i2s1.sd %f8,%f9,%f10
-  38:  94 65 d0 49     i2s1.dd %f12,%f14,%f16
-  3c:  15 3c 09 49     i2st.ss %f7,%f8,%f9
-  40:  95 5c 8d 49     i2st.sd %f11,%f12,%f13
-  44:  95 75 12 4a     i2st.dd %f14,%f16,%f18
-  48:  16 54 6c 49     i2as1.ss        %f10,%f11,%f12
-  4c:  96 74 f0 49     i2as1.sd        %f14,%f15,%f16
-  50:  96 85 54 4a     i2as1.dd        %f16,%f18,%f20
-  54:  17 6c cf 49     i2ast.ss        %f13,%f14,%f15
-  58:  97 8c 53 4a     i2ast.sd        %f17,%f18,%f19
-  5c:  97 95 96 4a     i2ast.dd        %f18,%f20,%f22
-  60:  18 74 f0 49     rat1s2.ss       %f14,%f15,%f16
-  64:  98 a4 b6 4a     rat1s2.sd       %f20,%f21,%f22
-  68:  98 a5 d8 4a     rat1s2.dd       %f20,%f22,%f24
-  6c:  19 7c 11 4a     m12asm.ss       %f15,%f16,%f17
-  70:  99 bc 19 4b     m12asm.sd       %f23,%f24,%f25
-  74:  99 b5 1a 4b     m12asm.dd       %f22,%f24,%f26
-  78:  1a 94 74 4a     ra1s2.ss        %f18,%f19,%f20
-  7c:  9a d4 7c 4b     ra1s2.sd        %f26,%f27,%f28
-  80:  9a a5 d8 4a     ra1s2.dd        %f20,%f22,%f24
-  84:  1b 9c 95 4a     m12ttsa.ss      %f19,%f20,%f21
-  88:  9b ec df 4b     m12ttsa.sd      %f29,%f30,%f31
-  8c:  9b b5 1a 4b     m12ttsa.dd      %f22,%f24,%f26
-  90:  1c a4 b6 4a     iat1s2.ss       %f20,%f21,%f22
-  94:  9c 04 22 48     iat1s2.sd       %f0,%f1,%f2
-  98:  9c c5 5c 4b     iat1s2.dd       %f24,%f26,%f28
-  9c:  1d ac d7 4a     m12tsm.ss       %f21,%f22,%f23
-  a0:  9d 1c 85 48     m12tsm.sd       %f3,%f4,%f5
-  a4:  9d f5 02 48     m12tsm.dd       %f30,%f0,%f2
-  a8:  1e b4 f8 4a     ia1s2.ss        %f22,%f23,%f24
-  ac:  9e 34 e8 48     ia1s2.sd        %f6,%f7,%f8
-  b0:  9e 25 c8 48     ia1s2.dd        %f4,%f6,%f8
-  b4:  1f bc 19 4b     m12tsa.ss       %f23,%f24,%f25
-  b8:  9f 4c 4b 49     m12tsa.sd       %f9,%f10,%f11
-  bc:  9f 35 0a 49     m12tsa.dd       %f6,%f8,%f10
-  c0:  10 06 22 48     d.r2s1.ss       %f0,%f1,%f2
-  c4:  00 00 00 a0     shl     %r0,%r0,%r0
-  c8:  90 1e 85 48     d.r2s1.sd       %f3,%f4,%f5
-  cc:  00 00 00 a0     shl     %r0,%r0,%r0
-  d0:  90 07 44 48     d.r2s1.dd       %f0,%f2,%f4
-  d4:  00 00 00 a0     shl     %r0,%r0,%r0
-  d8:  11 0e 43 48     d.r2st.ss       %f1,%f2,%f3
-  dc:  00 00 00 a0     shl     %r0,%r0,%r0
-  e0:  91 26 a6 48     d.r2st.sd       %f4,%f5,%f6
-  e4:  00 00 00 a0     shl     %r0,%r0,%r0
-  e8:  91 17 86 48     d.r2st.dd       %f2,%f4,%f6
-  ec:  00 00 00 a0     shl     %r0,%r0,%r0
-  f0:  12 16 64 48     d.r2as1.ss      %f2,%f3,%f4
-  f4:  00 00 00 a0     shl     %r0,%r0,%r0
-  f8:  92 36 e8 48     d.r2as1.sd      %f6,%f7,%f8
-  fc:  00 00 00 a0     shl     %r0,%r0,%r0
- 100:  92 27 c8 48     d.r2as1.dd      %f4,%f6,%f8
- 104:  00 00 00 a0     shl     %r0,%r0,%r0
- 108:  13 1e 85 48     d.r2ast.ss      %f3,%f4,%f5
- 10c:  00 00 00 a0     shl     %r0,%r0,%r0
- 110:  93 3e 09 49     d.r2ast.sd      %f7,%f8,%f9
- 114:  00 00 00 a0     shl     %r0,%r0,%r0
- 118:  93 37 0a 49     d.r2ast.dd      %f6,%f8,%f10
- 11c:  00 00 00 a0     shl     %r0,%r0,%r0
- 120:  14 26 a6 48     d.i2s1.ss       %f4,%f5,%f6
- 124:  00 00 00 a0     shl     %r0,%r0,%r0
- 128:  94 46 2a 49     d.i2s1.sd       %f8,%f9,%f10
- 12c:  00 00 00 a0     shl     %r0,%r0,%r0
- 130:  94 67 d0 49     d.i2s1.dd       %f12,%f14,%f16
- 134:  00 00 00 a0     shl     %r0,%r0,%r0
- 138:  15 3e 09 49     d.i2st.ss       %f7,%f8,%f9
- 13c:  00 00 00 a0     shl     %r0,%r0,%r0
- 140:  95 5e 8d 49     d.i2st.sd       %f11,%f12,%f13
- 144:  00 00 00 a0     shl     %r0,%r0,%r0
- 148:  95 77 12 4a     d.i2st.dd       %f14,%f16,%f18
- 14c:  00 00 00 a0     shl     %r0,%r0,%r0
- 150:  16 56 6c 49     d.i2as1.ss      %f10,%f11,%f12
- 154:  00 00 00 a0     shl     %r0,%r0,%r0
- 158:  96 76 f0 49     d.i2as1.sd      %f14,%f15,%f16
- 15c:  00 00 00 a0     shl     %r0,%r0,%r0
- 160:  96 87 54 4a     d.i2as1.dd      %f16,%f18,%f20
- 164:  00 00 00 a0     shl     %r0,%r0,%r0
- 168:  17 6e cf 49     d.i2ast.ss      %f13,%f14,%f15
- 16c:  00 00 00 a0     shl     %r0,%r0,%r0
- 170:  97 8e 53 4a     d.i2ast.sd      %f17,%f18,%f19
- 174:  00 00 00 a0     shl     %r0,%r0,%r0
- 178:  97 97 96 4a     d.i2ast.dd      %f18,%f20,%f22
- 17c:  00 00 00 a0     shl     %r0,%r0,%r0
- 180:  18 76 f0 49     d.rat1s2.ss     %f14,%f15,%f16
- 184:  00 00 00 a0     shl     %r0,%r0,%r0
- 188:  98 a6 b6 4a     d.rat1s2.sd     %f20,%f21,%f22
- 18c:  00 00 00 a0     shl     %r0,%r0,%r0
- 190:  98 a7 d8 4a     d.rat1s2.dd     %f20,%f22,%f24
- 194:  00 00 00 a0     shl     %r0,%r0,%r0
- 198:  19 7e 11 4a     d.m12asm.ss     %f15,%f16,%f17
- 19c:  00 00 00 a0     shl     %r0,%r0,%r0
- 1a0:  99 be 19 4b     d.m12asm.sd     %f23,%f24,%f25
- 1a4:  00 00 00 a0     shl     %r0,%r0,%r0
- 1a8:  99 b7 1a 4b     d.m12asm.dd     %f22,%f24,%f26
- 1ac:  00 00 00 a0     shl     %r0,%r0,%r0
- 1b0:  1a 96 74 4a     d.ra1s2.ss      %f18,%f19,%f20
- 1b4:  00 00 00 a0     shl     %r0,%r0,%r0
- 1b8:  9a d6 7c 4b     d.ra1s2.sd      %f26,%f27,%f28
- 1bc:  00 00 00 a0     shl     %r0,%r0,%r0
- 1c0:  9a a7 d8 4a     d.ra1s2.dd      %f20,%f22,%f24
- 1c4:  00 00 00 a0     shl     %r0,%r0,%r0
- 1c8:  1b 9e 95 4a     d.m12ttsa.ss    %f19,%f20,%f21
- 1cc:  00 00 00 a0     shl     %r0,%r0,%r0
- 1d0:  9b ee df 4b     d.m12ttsa.sd    %f29,%f30,%f31
- 1d4:  00 00 00 a0     shl     %r0,%r0,%r0
- 1d8:  9b b7 1a 4b     d.m12ttsa.dd    %f22,%f24,%f26
- 1dc:  00 00 00 a0     shl     %r0,%r0,%r0
- 1e0:  1c a6 b6 4a     d.iat1s2.ss     %f20,%f21,%f22
- 1e4:  00 00 00 a0     shl     %r0,%r0,%r0
- 1e8:  9c 06 22 48     d.iat1s2.sd     %f0,%f1,%f2
- 1ec:  00 00 00 a0     shl     %r0,%r0,%r0
- 1f0:  9c c7 5c 4b     d.iat1s2.dd     %f24,%f26,%f28
- 1f4:  00 00 00 a0     shl     %r0,%r0,%r0
- 1f8:  1d ae d7 4a     d.m12tsm.ss     %f21,%f22,%f23
- 1fc:  00 00 00 a0     shl     %r0,%r0,%r0
- 200:  9d 1e 85 48     d.m12tsm.sd     %f3,%f4,%f5
- 204:  00 00 00 a0     shl     %r0,%r0,%r0
- 208:  9d f7 02 48     d.m12tsm.dd     %f30,%f0,%f2
- 20c:  00 00 00 a0     shl     %r0,%r0,%r0
- 210:  1e b6 f8 4a     d.ia1s2.ss      %f22,%f23,%f24
- 214:  00 00 00 a0     shl     %r0,%r0,%r0
- 218:  9e 36 e8 48     d.ia1s2.sd      %f6,%f7,%f8
- 21c:  00 00 00 a0     shl     %r0,%r0,%r0
- 220:  9e 27 c8 48     d.ia1s2.dd      %f4,%f6,%f8
- 224:  00 00 00 a0     shl     %r0,%r0,%r0
- 228:  1f be 19 4b     d.m12tsa.ss     %f23,%f24,%f25
- 22c:  00 00 00 a0     shl     %r0,%r0,%r0
- 230:  9f 4e 4b 49     d.m12tsa.sd     %f9,%f10,%f11
- 234:  00 00 00 a0     shl     %r0,%r0,%r0
- 238:  9f 37 0a 49     d.m12tsa.dd     %f6,%f8,%f10
- 23c:  00 00 00 a0     shl     %r0,%r0,%r0
diff --git a/gas/testsuite/gas/i860/pfsm.s b/gas/testsuite/gas/i860/pfsm.s
deleted file mode 100644 (file)
index 16ecd97..0000000
+++ /dev/null
@@ -1,182 +0,0 @@
-# pfsm.p family (p={ss,sd,dd})
-
-       .text
-
-       # pfsm without dual bit
-       r2s1.ss %f0,%f1,%f2
-       r2s1.sd %f3,%f4,%f5
-       r2s1.dd %f0,%f2,%f4
-
-       r2st.ss %f1,%f2,%f3
-       r2st.sd %f4,%f5,%f6
-       r2st.dd %f2,%f4,%f6
-
-       r2as1.ss        %f2,%f3,%f4
-       r2as1.sd        %f6,%f7,%f8
-       r2as1.dd        %f4,%f6,%f8
-
-       r2ast.ss        %f3,%f4,%f5
-       r2ast.sd        %f7,%f8,%f9
-       r2ast.dd        %f6,%f8,%f10
-
-       i2s1.ss %f4,%f5,%f6
-       i2s1.sd %f8,%f9,%f10
-       i2s1.dd %f12,%f14,%f16
-
-       i2st.ss %f7,%f8,%f9
-       i2st.sd %f11,%f12,%f13
-       i2st.dd %f14,%f16,%f18
-
-       i2as1.ss        %f10,%f11,%f12
-       i2as1.sd        %f14,%f15,%f16
-       i2as1.dd        %f16,%f18,%f20
-
-       i2ast.ss        %f13,%f14,%f15
-       i2ast.sd        %f17,%f18,%f19
-       i2ast.dd        %f18,%f20,%f22
-
-       rat1s2.ss       %f14,%f15,%f16
-       rat1s2.sd       %f20,%f21,%f22
-       rat1s2.dd       %f20,%f22,%f24
-
-       m12asm.ss       %f15,%f16,%f17
-       m12asm.sd       %f23,%f24,%f25
-       m12asm.dd       %f22,%f24,%f26
-
-       ra1s2.ss        %f18,%f19,%f20
-       ra1s2.sd        %f26,%f27,%f28
-       ra1s2.dd        %f20,%f22,%f24
-
-       m12ttsa.ss      %f19,%f20,%f21
-       m12ttsa.sd      %f29,%f30,%f31
-       m12ttsa.dd      %f22,%f24,%f26
-
-       iat1s2.ss       %f20,%f21,%f22
-       iat1s2.sd       %f0,%f1,%f2
-       iat1s2.dd       %f24,%f26,%f28
-
-       m12tsm.ss       %f21,%f22,%f23
-       m12tsm.sd       %f3,%f4,%f5
-       m12tsm.dd       %f30,%f0,%f2
-
-       ia1s2.ss        %f22,%f23,%f24
-       ia1s2.sd        %f6,%f7,%f8
-       ia1s2.dd        %f4,%f6,%f8
-
-       m12tsa.ss       %f23,%f24,%f25
-       m12tsa.sd       %f9,%f10,%f11
-       m12tsa.dd       %f6,%f8,%f10
-
-       # pfsm with dual bit
-       d.r2s1.ss       %f0,%f1,%f2
-       nop
-       d.r2s1.sd       %f3,%f4,%f5
-       nop
-       d.r2s1.dd       %f0,%f2,%f4
-       nop
-
-       d.r2st.ss       %f1,%f2,%f3
-       nop
-       d.r2st.sd       %f4,%f5,%f6
-       nop
-       d.r2st.dd       %f2,%f4,%f6
-       nop
-
-       d.r2as1.ss      %f2,%f3,%f4
-       nop
-       d.r2as1.sd      %f6,%f7,%f8
-       nop
-       d.r2as1.dd      %f4,%f6,%f8
-       nop
-
-       d.r2ast.ss      %f3,%f4,%f5
-       nop
-       d.r2ast.sd      %f7,%f8,%f9
-       nop
-       d.r2ast.dd      %f6,%f8,%f10
-       nop
-
-       d.i2s1.ss       %f4,%f5,%f6
-       nop
-       d.i2s1.sd       %f8,%f9,%f10
-       nop
-       d.i2s1.dd       %f12,%f14,%f16
-       nop
-
-       d.i2st.ss       %f7,%f8,%f9
-       nop
-       d.i2st.sd       %f11,%f12,%f13
-       nop
-       d.i2st.dd       %f14,%f16,%f18
-       nop
-
-       d.i2as1.ss      %f10,%f11,%f12
-       nop
-       d.i2as1.sd      %f14,%f15,%f16
-       nop
-       d.i2as1.dd      %f16,%f18,%f20
-       nop
-
-       d.i2ast.ss      %f13,%f14,%f15
-       nop
-       d.i2ast.sd      %f17,%f18,%f19
-       nop
-       d.i2ast.dd      %f18,%f20,%f22
-       nop
-
-       d.rat1s2.ss     %f14,%f15,%f16
-       nop
-       d.rat1s2.sd     %f20,%f21,%f22
-       nop
-       d.rat1s2.dd     %f20,%f22,%f24
-       nop
-
-       d.m12asm.ss     %f15,%f16,%f17
-       nop
-       d.m12asm.sd     %f23,%f24,%f25
-       nop
-       d.m12asm.dd     %f22,%f24,%f26
-       nop
-
-       d.ra1s2.ss      %f18,%f19,%f20
-       nop
-       d.ra1s2.sd      %f26,%f27,%f28
-       nop
-       d.ra1s2.dd      %f20,%f22,%f24
-       nop
-
-       d.m12ttsa.ss    %f19,%f20,%f21
-       nop
-       d.m12ttsa.sd    %f29,%f30,%f31
-       nop
-       d.m12ttsa.dd    %f22,%f24,%f26
-       nop
-
-       d.iat1s2.ss     %f20,%f21,%f22
-       nop
-       d.iat1s2.sd     %f0,%f1,%f2
-       nop
-       d.iat1s2.dd     %f24,%f26,%f28
-       nop
-
-       d.m12tsm.ss     %f21,%f22,%f23
-       nop
-       d.m12tsm.sd     %f3,%f4,%f5
-       nop
-       d.m12tsm.dd     %f30,%f0,%f2
-       nop
-
-       d.ia1s2.ss      %f22,%f23,%f24
-       nop
-       d.ia1s2.sd      %f6,%f7,%f8
-       nop
-       d.ia1s2.dd      %f4,%f6,%f8
-       nop
-
-       d.m12tsa.ss     %f23,%f24,%f25
-       nop
-       d.m12tsa.sd     %f9,%f10,%f11
-       nop
-       d.m12tsa.dd     %f6,%f8,%f10
-       nop
-
diff --git a/gas/testsuite/gas/i860/pseudo-ops01.d b/gas/testsuite/gas/i860/pseudo-ops01.d
deleted file mode 100644 (file)
index 3131e2e..0000000
+++ /dev/null
@@ -1,14 +0,0 @@
-#as:
-#objdump: -d
-#name: i860 pseudo-ops01
-
-.*: +file format .*
-
-Disassembly of section \.text:
-
-00000000 <\.text>:
-   0:  49 28 06 48     fiadd\.ss       %f5,%f0,%f6
-   4:  c9 41 0a 48     fiadd\.dd       %f8,%f0,%f10
-   8:  b3 18 14 48     famov\.sd       %f3,%f20
-   c:  33 c1 09 48     famov\.ds       %f24,%f9
-  10:  33 e5 03 48     pfamov\.ds      %f28,%f3
diff --git a/gas/testsuite/gas/i860/pseudo-ops01.s b/gas/testsuite/gas/i860/pseudo-ops01.s
deleted file mode 100644 (file)
index 4b88925..0000000
+++ /dev/null
@@ -1,10 +0,0 @@
-# Test some assembler pseudo-operations:
-# Floating point moves.
-
-       .text
-       fmov.ss         %f5,%f6
-       fmov.dd         %f8,%f10
-       fmov.sd         %f3,%f20
-       fmov.ds         %f24,%f9
-       pfmov.ds        %f28,%f3
-
diff --git a/gas/testsuite/gas/i860/regress01.d b/gas/testsuite/gas/i860/regress01.d
deleted file mode 100644 (file)
index 1ddfa4b..0000000
+++ /dev/null
@@ -1,21 +0,0 @@
-#as:
-#objdump: -dr
-#name: i860 regress01
-
-.*: +file format .*
-
-Disassembly of section \.text:
-
-00000000 <\.text>:
-   0:  f2 ff 50 2c     fst.l   %f16,-16\(%sp\)
-   4:  f2 ff 54 2c     fst.l   %f20,-16\(%sp\)
-   8:  f2 ff 58 2c     fst.l   %f24,-16\(%sp\)
-   c:  f3 ff 50 2c     fst.l   %f16,-16\(%sp\)\+\+
-  10:  f3 ff 54 2c     fst.l   %f20,-16\(%sp\)\+\+
-  14:  f3 ff 58 2c     fst.l   %f24,-16\(%sp\)\+\+
-  18:  f4 ff 50 2c     fst.q   %f16,-16\(%sp\)
-  1c:  f4 ff 54 2c     fst.q   %f20,-16\(%sp\)
-  20:  f4 ff 58 2c     fst.q   %f24,-16\(%sp\)
-  24:  f5 ff 50 2c     fst.q   %f16,-16\(%sp\)\+\+
-  28:  f5 ff 54 2c     fst.q   %f20,-16\(%sp\)\+\+
-  2c:  f5 ff 58 2c     fst.q   %f24,-16\(%sp\)\+\+
diff --git a/gas/testsuite/gas/i860/regress01.s b/gas/testsuite/gas/i860/regress01.s
deleted file mode 100644 (file)
index 002c3bd..0000000
+++ /dev/null
@@ -1,19 +0,0 @@
-# Test fst.* with and without auto-increment.
-
-       .text
-
-        fst.l   %f16,-16(%sp)
-        fst.l   %f20,-16(%sp)
-        fst.l   %f24,-16(%sp)
-
-        fst.l   %f16,-16(%sp)++
-        fst.l   %f20,-16(%sp)++
-        fst.l   %f24,-16(%sp)++
-
-        fst.q   %f16,-16(%sp)
-        fst.q   %f20,-16(%sp)
-        fst.q   %f24,-16(%sp)
-
-        fst.q   %f16,-16(%sp)++
-        fst.q   %f20,-16(%sp)++
-        fst.q   %f24,-16(%sp)++
diff --git a/gas/testsuite/gas/i860/shift.d b/gas/testsuite/gas/i860/shift.d
deleted file mode 100644 (file)
index e48ba16..0000000
+++ /dev/null
@@ -1,86 +0,0 @@
-#as:
-#objdump: -dr
-#name: i860 shift
-
-.*: +file format .*
-
-Disassembly of section \.text:
-
-00000000 <\.text>:
-   0:  00 00 22 a0     shl     %r0,%r1,%sp
-   4:  00 18 85 a0     shl     %fp,%r4,%r5
-   8:  00 30 e8 a0     shl     %r6,%r7,%r8
-   c:  00 48 4b a1     shl     %r9,%r10,%r11
-  10:  00 f8 ae a1     shl     %r31,%r13,%r14
-  14:  00 78 11 a2     shl     %r15,%r16,%r17
-  18:  00 90 74 a2     shl     %r18,%r19,%r20
-  1c:  00 a8 d7 a2     shl     %r21,%r22,%r23
-  20:  00 c0 3f a3     shl     %r24,%r25,%r31
-  24:  00 d8 9d a3     shl     %r27,%r28,%r29
-  28:  00 f0 e0 a3     shl     %r30,%r31,%r0
-  2c:  00 00 22 a8     shr     %r0,%r1,%sp
-  30:  00 18 85 a8     shr     %fp,%r4,%r5
-  34:  00 30 e8 a8     shr     %r6,%r7,%r8
-  38:  00 48 4b a9     shr     %r9,%r10,%r11
-  3c:  00 f8 ae a9     shr     %r31,%r13,%r14
-  40:  00 78 11 aa     shr     %r15,%r16,%r17
-  44:  00 90 74 aa     shr     %r18,%r19,%r20
-  48:  00 a8 d7 aa     shr     %r21,%r22,%r23
-  4c:  00 c0 3f ab     shr     %r24,%r25,%r31
-  50:  00 d8 9d ab     shr     %r27,%r28,%r29
-  54:  00 f0 e0 ab     shr     %r30,%r31,%r0
-  58:  00 00 22 b8     shra    %r0,%r1,%sp
-  5c:  00 18 85 b8     shra    %fp,%r4,%r5
-  60:  00 30 e8 b8     shra    %r6,%r7,%r8
-  64:  00 48 4b b9     shra    %r9,%r10,%r11
-  68:  00 f8 ae b9     shra    %r31,%r13,%r14
-  6c:  00 78 11 ba     shra    %r15,%r16,%r17
-  70:  00 90 74 ba     shra    %r18,%r19,%r20
-  74:  00 a8 d7 ba     shra    %r21,%r22,%r23
-  78:  00 c0 3f bb     shra    %r24,%r25,%r31
-  7c:  00 d8 9d bb     shra    %r27,%r28,%r29
-  80:  00 f0 e0 bb     shra    %r30,%r31,%r0
-  84:  00 00 22 b0     shrd    %r0,%r1,%sp
-  88:  00 18 85 b0     shrd    %fp,%r4,%r5
-  8c:  00 30 e8 b0     shrd    %r6,%r7,%r8
-  90:  00 48 4b b1     shrd    %r9,%r10,%r11
-  94:  00 f8 ae b1     shrd    %r31,%r13,%r14
-  98:  00 78 11 b2     shrd    %r15,%r16,%r17
-  9c:  00 90 74 b2     shrd    %r18,%r19,%r20
-  a0:  00 a8 d7 b2     shrd    %r21,%r22,%r23
-  a4:  00 c0 3f b3     shrd    %r24,%r25,%r31
-  a8:  00 d8 9d b3     shrd    %r27,%r28,%r29
-  ac:  00 f0 e0 b3     shrd    %r30,%r31,%r0
-  b0:  00 00 22 a4     shl     0,%r1,%sp
-  b4:  00 20 85 a4     shl     8192,%r4,%r5
-  b8:  f5 13 e8 a4     shl     5109,%r7,%r8
-  bc:  ff 7f 4b a5     shl     32767,%r10,%r11
-  c0:  00 80 ae a5     shl     -32768,%r13,%r14
-  c4:  00 e0 11 a6     shl     -8192,%r16,%r17
-  c8:  ff ff 74 a6     shl     -1,%r19,%r20
-  cc:  cd ab d7 a6     shl     -21555,%r22,%r23
-  d0:  34 12 3a a7     shl     4660,%r25,%r26
-  d4:  00 00 9d a7     shl     0,%r28,%r29
-  d8:  03 00 e0 a7     shl     3,%r31,%r0
-  dc:  00 00 22 ac     shr     0,%r1,%sp
-  e0:  00 20 85 ac     shr     8192,%r4,%r5
-  e4:  f5 13 e8 ac     shr     5109,%r7,%r8
-  e8:  ff 7f 4b ad     shr     32767,%r10,%r11
-  ec:  00 80 ae ad     shr     -32768,%r13,%r14
-  f0:  00 e0 11 ae     shr     -8192,%r16,%r17
-  f4:  ff ff 74 ae     shr     -1,%r19,%r20
-  f8:  cd ab d7 ae     shr     -21555,%r22,%r23
-  fc:  34 12 3a af     shr     4660,%r25,%r26
- 100:  00 00 9d af     shr     0,%r28,%r29
- 104:  03 00 e0 af     shr     3,%r31,%r0
- 108:  01 00 22 bc     shra    1,%r1,%sp
- 10c:  01 20 85 bc     shra    8193,%r4,%r5
- 110:  f6 13 e8 bc     shra    5110,%r7,%r8
- 114:  ff 7f 4b bd     shra    32767,%r10,%r11
- 118:  00 80 ae bd     shra    -32768,%r13,%r14
- 11c:  00 e0 11 be     shra    -8192,%r16,%r17
- 120:  ff ff 74 be     shra    -1,%r19,%r20
- 124:  cd ab d7 be     shra    -21555,%r22,%r23
- 128:  34 12 3a bf     shra    4660,%r25,%r26
- 12c:  00 00 9d bf     shra    0,%r28,%r29
- 130:  03 00 e0 bf     shra    3,%r31,%r0
diff --git a/gas/testsuite/gas/i860/shift.s b/gas/testsuite/gas/i860/shift.s
deleted file mode 100644 (file)
index 0d0d189..0000000
+++ /dev/null
@@ -1,90 +0,0 @@
-# shl, shr, shra, shrd 
-
-       .text
-
-       # Register forms (all)
-       shl     %r0,%r1,%r2
-       shl     %r3,%r4,%r5
-       shl     %r6,%r7,%r8
-       shl     %r9,%r10,%r11
-       shl     %r31,%r13,%r14
-       shl     %r15,%r16,%r17
-       shl     %r18,%r19,%r20
-       shl     %r21,%r22,%r23
-       shl     %r24,%r25,%r31
-       shl     %r27,%r28,%r29
-       shl     %r30,%r31,%r0
-
-       shr     %r0,%r1,%r2
-       shr     %r3,%r4,%r5
-       shr     %r6,%r7,%r8
-       shr     %r9,%r10,%r11
-       shr     %r31,%r13,%r14
-       shr     %r15,%r16,%r17
-       shr     %r18,%r19,%r20
-       shr     %r21,%r22,%r23
-       shr     %r24,%r25,%r31
-       shr     %r27,%r28,%r29
-       shr     %r30,%r31,%r0
-
-       shra    %r0,%r1,%r2
-       shra    %r3,%r4,%r5
-       shra    %r6,%r7,%r8
-       shra    %r9,%r10,%r11
-       shra    %r31,%r13,%r14
-       shra    %r15,%r16,%r17
-       shra    %r18,%r19,%r20
-       shra    %r21,%r22,%r23
-       shra    %r24,%r25,%r31
-       shra    %r27,%r28,%r29
-       shra    %r30,%r31,%r0
-
-       shrd    %r0,%r1,%r2
-       shrd    %r3,%r4,%r5
-       shrd    %r6,%r7,%r8
-       shrd    %r9,%r10,%r11
-       shrd    %r31,%r13,%r14
-       shrd    %r15,%r16,%r17
-       shrd    %r18,%r19,%r20
-       shrd    %r21,%r22,%r23
-       shrd    %r24,%r25,%r31
-       shrd    %r27,%r28,%r29
-       shrd    %r30,%r31,%r0
-
-       # Immediate forms (shrd does not have an immediate form)
-       shl     0,%r1,%r2
-       shl     8192,%r4,%r5
-       shl     5109,%r7,%r8
-       shl     32767,%r10,%r11
-       shl     -32768,%r13,%r14
-       shl     -8192,%r16,%r17
-       shl     -1,%r19,%r20
-       shl     -21555,%r22,%r23
-       shl     0x1234,%r25,%r26
-       shl     0x0,%r28,%r29
-       shl     0x3,%r31,%r0
-
-       shr     0,%r1,%r2
-       shr     8192,%r4,%r5
-       shr     5109,%r7,%r8
-       shr     32767,%r10,%r11
-       shr     -32768,%r13,%r14
-       shr     -8192,%r16,%r17
-       shr     -1,%r19,%r20
-       shr     -21555,%r22,%r23
-       shr     0x1234,%r25,%r26
-       shr     0x0,%r28,%r29
-       shr     0x3,%r31,%r0
-
-       shra    1,%r1,%r2
-       shra    8193,%r4,%r5
-       shra    5110,%r7,%r8
-       shra    32767,%r10,%r11
-       shra    -32768,%r13,%r14
-       shra    -8192,%r16,%r17
-       shra    -1,%r19,%r20
-       shra    -21555,%r22,%r23
-       shra    0x1234,%r25,%r26
-       shra    0x0,%r28,%r29
-       shra    0x3,%r31,%r0
-
diff --git a/gas/testsuite/gas/i860/simd.d b/gas/testsuite/gas/i860/simd.d
deleted file mode 100644 (file)
index 2885196..0000000
+++ /dev/null
@@ -1,105 +0,0 @@
-#as:
-#objdump: -dr
-#name: i860 simd
-
-.*: +file format .*
-
-Disassembly of section \.text:
-
-00000000 <\.text>:
-   0:  d7 05 48 48     pfzchkl %f0,%f2,%f8
-   4:  d7 15 90 48     pfzchkl %f2,%f4,%f16
-   8:  d7 25 cd 48     pfzchkl %f4,%f6,%f13
-   c:  d7 45 52 49     pfzchkl %f8,%f10,%f18
-  10:  df 65 de 49     pfzchks %f12,%f14,%f30
-  14:  df 85 54 4a     pfzchks %f16,%f18,%f20
-  18:  df a5 dc 4a     pfzchks %f20,%f22,%f28
-  1c:  df c5 5e 4b     pfzchks %f24,%f26,%f30
-  20:  d0 05 48 48     pfaddp  %f0,%f2,%f8
-  24:  d0 15 90 48     pfaddp  %f2,%f4,%f16
-  28:  d0 25 cd 48     pfaddp  %f4,%f6,%f13
-  2c:  d0 45 52 49     pfaddp  %f8,%f10,%f18
-  30:  d1 65 de 49     pfaddz  %f12,%f14,%f30
-  34:  d1 85 54 4a     pfaddz  %f16,%f18,%f20
-  38:  d1 a5 dc 4a     pfaddz  %f20,%f22,%f28
-  3c:  d1 c5 5e 4b     pfaddz  %f24,%f26,%f30
-  40:  d7 61 44 48     fzchkl  %f12,%f2,%f4
-  44:  d7 b1 82 48     fzchkl  %f22,%f4,%f2
-  48:  d7 21 d2 48     fzchkl  %f4,%f6,%f18
-  4c:  d7 41 5c 49     fzchkl  %f8,%f10,%f28
-  50:  df 61 c6 49     fzchks  %f12,%f14,%f6
-  54:  df 81 54 4a     fzchks  %f16,%f18,%f20
-  58:  df a1 dc 4a     fzchks  %f20,%f22,%f28
-  5c:  df c1 5e 4b     fzchks  %f24,%f26,%f30
-  60:  d0 61 44 48     faddp   %f12,%f2,%f4
-  64:  d0 b1 82 48     faddp   %f22,%f4,%f2
-  68:  d0 21 d2 48     faddp   %f4,%f6,%f18
-  6c:  d0 41 5c 49     faddp   %f8,%f10,%f28
-  70:  d1 61 c6 49     faddz   %f12,%f14,%f6
-  74:  d1 81 54 4a     faddz   %f16,%f18,%f20
-  78:  d1 a1 dc 4a     faddz   %f20,%f22,%f28
-  7c:  d1 c1 5e 4b     faddz   %f24,%f26,%f30
-  80:  d7 07 52 48     d.pfzchkl       %f0,%f2,%f18
-  84:  00 00 00 a0     shl     %r0,%r0,%r0
-  88:  d7 17 8c 48     d.pfzchkl       %f2,%f4,%f12
-  8c:  00 00 00 a0     shl     %r0,%r0,%r0
-  90:  d7 27 de 48     d.pfzchkl       %f4,%f6,%f30
-  94:  00 00 00 a0     shl     %r0,%r0,%r0
-  98:  d7 47 44 49     d.pfzchkl       %f8,%f10,%f4
-  9c:  00 00 00 a0     shl     %r0,%r0,%r0
-  a0:  df 67 ce 49     d.pfzchks       %f12,%f14,%f14
-  a4:  00 00 00 a0     shl     %r0,%r0,%r0
-  a8:  df 87 46 4a     d.pfzchks       %f16,%f18,%f6
-  ac:  00 00 00 a0     shl     %r0,%r0,%r0
-  b0:  df a7 ca 4a     d.pfzchks       %f20,%f22,%f10
-  b4:  00 00 00 a0     shl     %r0,%r0,%r0
-  b8:  df c7 48 4b     d.pfzchks       %f24,%f26,%f8
-  bc:  00 00 00 a0     shl     %r0,%r0,%r0
-  c0:  d0 07 52 48     d.pfaddp        %f0,%f2,%f18
-  c4:  00 00 00 a0     shl     %r0,%r0,%r0
-  c8:  d0 17 80 48     d.pfaddp        %f2,%f4,%f0
-  cc:  00 00 00 a0     shl     %r0,%r0,%r0
-  d0:  d0 27 de 48     d.pfaddp        %f4,%f6,%f30
-  d4:  00 00 00 a0     shl     %r0,%r0,%r0
-  d8:  d0 47 44 49     d.pfaddp        %f8,%f10,%f4
-  dc:  00 00 00 a0     shl     %r0,%r0,%r0
-  e0:  d1 67 ce 49     d.pfaddz        %f12,%f14,%f14
-  e4:  00 00 00 a0     shl     %r0,%r0,%r0
-  e8:  d1 87 46 4a     d.pfaddz        %f16,%f18,%f6
-  ec:  00 00 00 a0     shl     %r0,%r0,%r0
-  f0:  d1 a7 ca 4a     d.pfaddz        %f20,%f22,%f10
-  f4:  00 00 00 a0     shl     %r0,%r0,%r0
-  f8:  d1 c7 48 4b     d.pfaddz        %f24,%f26,%f8
-  fc:  00 00 00 a0     shl     %r0,%r0,%r0
- 100:  d7 03 4a 48     d.fzchkl        %f0,%f2,%f10
- 104:  00 00 00 a0     shl     %r0,%r0,%r0
- 108:  d7 13 92 48     d.fzchkl        %f2,%f4,%f18
- 10c:  00 00 00 a0     shl     %r0,%r0,%r0
- 110:  d7 23 cc 48     d.fzchkl        %f4,%f6,%f12
- 114:  00 00 00 a0     shl     %r0,%r0,%r0
- 118:  d7 43 4e 49     d.fzchkl        %f8,%f10,%f14
- 11c:  00 00 00 a0     shl     %r0,%r0,%r0
- 120:  df 63 d0 49     d.fzchks        %f12,%f14,%f16
- 124:  00 00 00 a0     shl     %r0,%r0,%r0
- 128:  df 83 4c 4a     d.fzchks        %f16,%f18,%f12
- 12c:  00 00 00 a0     shl     %r0,%r0,%r0
- 130:  df a3 d0 4a     d.fzchks        %f20,%f22,%f16
- 134:  00 00 00 a0     shl     %r0,%r0,%r0
- 138:  df c3 5e 4b     d.fzchks        %f24,%f26,%f30
- 13c:  00 00 00 a0     shl     %r0,%r0,%r0
- 140:  d0 03 4a 48     d.faddp %f0,%f2,%f10
- 144:  00 00 00 a0     shl     %r0,%r0,%r0
- 148:  d0 13 92 48     d.faddp %f2,%f4,%f18
- 14c:  00 00 00 a0     shl     %r0,%r0,%r0
- 150:  d0 23 cc 48     d.faddp %f4,%f6,%f12
- 154:  00 00 00 a0     shl     %r0,%r0,%r0
- 158:  d0 43 4e 49     d.faddp %f8,%f10,%f14
- 15c:  00 00 00 a0     shl     %r0,%r0,%r0
- 160:  d1 63 d0 49     d.faddz %f12,%f14,%f16
- 164:  00 00 00 a0     shl     %r0,%r0,%r0
- 168:  d1 83 4c 4a     d.faddz %f16,%f18,%f12
- 16c:  00 00 00 a0     shl     %r0,%r0,%r0
- 170:  d1 a3 d0 4a     d.faddz %f20,%f22,%f16
- 174:  00 00 00 a0     shl     %r0,%r0,%r0
- 178:  d1 c3 5e 4b     d.faddz %f24,%f26,%f30
- 17c:  00 00 00 a0     shl     %r0,%r0,%r0
diff --git a/gas/testsuite/gas/i860/simd.s b/gas/testsuite/gas/i860/simd.s
deleted file mode 100644 (file)
index 4f252dd..0000000
+++ /dev/null
@@ -1,119 +0,0 @@
-# fzchkl, fzchks, faddp, faddz
-
-       .text
-
-       # Pipelined, without dual bit
-       pfzchkl %f0,%f2,%f8
-       pfzchkl %f2,%f4,%f16
-       pfzchkl %f4,%f6,%f13
-       pfzchkl %f8,%f10,%f18
-
-       pfzchks %f12,%f14,%f30
-       pfzchks %f16,%f18,%f20
-       pfzchks %f20,%f22,%f28
-       pfzchks %f24,%f26,%f30
-
-       pfaddp  %f0,%f2,%f8
-       pfaddp  %f2,%f4,%f16
-       pfaddp  %f4,%f6,%f13
-       pfaddp  %f8,%f10,%f18
-
-       pfaddz  %f12,%f14,%f30
-       pfaddz  %f16,%f18,%f20
-       pfaddz  %f20,%f22,%f28
-       pfaddz  %f24,%f26,%f30
-
-       # Non-pipelined, without dual bit
-       fzchkl  %f12,%f2,%f4
-       fzchkl  %f22,%f4,%f2
-       fzchkl  %f4,%f6,%f18
-       fzchkl  %f8,%f10,%f28
-
-       fzchks  %f12,%f14,%f6
-       fzchks  %f16,%f18,%f20
-       fzchks  %f20,%f22,%f28
-       fzchks  %f24,%f26,%f30
-
-       faddp   %f12,%f2,%f4
-       faddp   %f22,%f4,%f2
-       faddp   %f4,%f6,%f18
-       faddp   %f8,%f10,%f28
-
-       faddz   %f12,%f14,%f6
-       faddz   %f16,%f18,%f20
-       faddz   %f20,%f22,%f28
-       faddz   %f24,%f26,%f30
-
-       # Pipelined, with dual bit
-       d.pfzchkl       %f0,%f2,%f18
-       nop
-       d.pfzchkl       %f2,%f4,%f12
-       nop
-       d.pfzchkl       %f4,%f6,%f30
-       nop
-       d.pfzchkl       %f8,%f10,%f4
-       nop
-
-       d.pfzchks       %f12,%f14,%f14
-       nop
-       d.pfzchks       %f16,%f18,%f6
-       nop
-       d.pfzchks       %f20,%f22,%f10
-       nop
-       d.pfzchks       %f24,%f26,%f8
-       nop
-
-       d.pfaddp        %f0,%f2,%f18
-       nop
-       d.pfaddp        %f2,%f4,%f0
-       nop
-       d.pfaddp        %f4,%f6,%f30
-       nop
-       d.pfaddp        %f8,%f10,%f4
-       nop
-
-       d.pfaddz        %f12,%f14,%f14
-       nop
-       d.pfaddz        %f16,%f18,%f6
-       nop
-       d.pfaddz        %f20,%f22,%f10
-       nop
-       d.pfaddz        %f24,%f26,%f8
-       nop
-
-       # Non-pipelined, with dual bit
-       d.fzchkl        %f0,%f2,%f10
-       nop
-       d.fzchkl        %f2,%f4,%f18
-       nop
-       d.fzchkl        %f4,%f6,%f12
-       nop
-       d.fzchkl        %f8,%f10,%f14
-       nop
-
-       d.fzchks        %f12,%f14,%f16
-       nop
-       d.fzchks        %f16,%f18,%f12
-       nop
-       d.fzchks        %f20,%f22,%f16
-       nop
-       d.fzchks        %f24,%f26,%f30
-       nop
-
-       d.faddp %f0,%f2,%f10
-       nop
-       d.faddp %f2,%f4,%f18
-       nop
-       d.faddp %f4,%f6,%f12
-       nop
-       d.faddp %f8,%f10,%f14
-       nop
-
-       d.faddz %f12,%f14,%f16
-       nop
-       d.faddz %f16,%f18,%f12
-       nop
-       d.faddz %f20,%f22,%f16
-       nop
-       d.faddz %f24,%f26,%f30
-       nop
diff --git a/gas/testsuite/gas/i860/system.d b/gas/testsuite/gas/i860/system.d
deleted file mode 100644 (file)
index a797961..0000000
+++ /dev/null
@@ -1,72 +0,0 @@
-#as:
-#objdump: -dr
-#name: i860 system
-
-.*: +file format .*
-
-Disassembly of section \.text:
-
-00000000 <\.text>:
-   0:  01 00 00 4c     lock    
-   4:  07 00 00 4c     unlock  
-   8:  04 00 00 4c     intovr  
-   c:  00 00 00 44     trap    %r0,%r0,%r0
-  10:  00 f8 ff 47     trap    %r31,%r31,%r31
-  14:  00 08 b2 44     trap    %r1,%r5,%r18
-  18:  00 f8 86 46     trap    %r31,%r20,%r6
-  1c:  00 00 01 30     ld.c    %fir,%r1
-  20:  00 00 1f 30     ld.c    %fir,%r31
-  24:  00 00 25 30     ld.c    %psr,%r5
-  28:  00 00 3e 30     ld.c    %psr,%r30
-  2c:  00 00 4a 30     ld.c    %dirbase,%r10
-  30:  00 00 42 30     ld.c    %dirbase,%sp
-  34:  00 00 75 30     ld.c    %db,%r21
-  38:  00 00 60 30     ld.c    %db,%r0
-  3c:  00 00 9c 30     ld.c    %fsr,%r28
-  40:  00 00 8c 30     ld.c    %fsr,%r12
-  44:  00 00 bf 30     ld.c    %epsr,%r31
-  48:  00 00 a6 30     ld.c    %epsr,%r6
-  4c:  00 00 00 38     st.c    %r0,%fir
-  50:  00 f0 00 38     st.c    %r30,%fir
-  54:  00 38 20 38     st.c    %r7,%psr
-  58:  00 f8 20 38     st.c    %r31,%psr
-  5c:  00 58 40 38     st.c    %r11,%dirbase
-  60:  00 18 40 38     st.c    %fp,%dirbase
-  64:  00 b0 60 38     st.c    %r22,%db
-  68:  00 78 60 38     st.c    %r15,%db
-  6c:  00 e8 80 38     st.c    %r29,%fsr
-  70:  00 68 80 38     st.c    %r13,%fsr
-  74:  00 20 a0 38     st.c    %r4,%epsr
-  78:  00 30 a0 38     st.c    %r6,%epsr
-  7c:  04 00 00 34     flush   0\(%r0\)
-  80:  84 00 20 34     flush   128\(%r1\)
-  84:  04 01 40 34     flush   256\(%sp\)
-  88:  04 02 60 34     flush   512\(%fp\)
-  8c:  04 04 80 34     flush   1024\(%r4\)
-  90:  04 10 a0 34     flush   4096\(%r5\)
-  94:  04 20 c0 34     flush   8192\(%r6\)
-  98:  04 40 e0 34     flush   16384\(%r7\)
-  9c:  04 c0 00 35     flush   -16384\(%r8\)
-  a0:  04 e0 20 35     flush   -8192\(%r9\)
-  a4:  04 f0 40 35     flush   -4096\(%r10\)
-  a8:  04 fc 60 35     flush   -1024\(%r11\)
-  ac:  04 fe 80 35     flush   -512\(%r12\)
-  b0:  0c ff a0 35     flush   -248\(%r13\)
-  b4:  e4 ff c0 35     flush   -32\(%r14\)
-  b8:  f4 ff c0 35     flush   -16\(%r14\)
-  bc:  05 00 00 34     flush   0\(%r0\)\+\+
-  c0:  85 00 20 34     flush   128\(%r1\)\+\+
-  c4:  05 01 40 34     flush   256\(%sp\)\+\+
-  c8:  05 02 60 34     flush   512\(%fp\)\+\+
-  cc:  05 04 80 34     flush   1024\(%r4\)\+\+
-  d0:  05 10 c0 36     flush   4096\(%r22\)\+\+
-  d4:  05 20 e0 36     flush   8192\(%r23\)\+\+
-  d8:  05 40 00 37     flush   16384\(%r24\)\+\+
-  dc:  05 c0 20 37     flush   -16384\(%r25\)\+\+
-  e0:  05 e0 40 37     flush   -8192\(%r26\)\+\+
-  e4:  05 f0 60 37     flush   -4096\(%r27\)\+\+
-  e8:  05 fc 80 37     flush   -1024\(%r28\)\+\+
-  ec:  05 fe a0 37     flush   -512\(%r29\)\+\+
-  f0:  0d ff c0 37     flush   -248\(%r30\)\+\+
-  f4:  25 00 e0 37     flush   32\(%r31\)\+\+
-  f8:  15 00 e0 37     flush   16\(%r31\)\+\+
diff --git a/gas/testsuite/gas/i860/system.s b/gas/testsuite/gas/i860/system.s
deleted file mode 100644 (file)
index 62bcbfc..0000000
+++ /dev/null
@@ -1,76 +0,0 @@
-# System and privileged instructions
-# ld.c, st.c, flush, lock, unlock, intovr, trap
-
-       .text
-
-       lock
-       unlock
-       intovr
-
-       trap    %r0,%r0,%r0
-       trap    %r31,%r31,%r31
-       trap    %r1,%r5,%r18
-       trap    %r31,%r20,%r6
-
-       ld.c    %fir,%r1
-       ld.c    %fir,%r31
-       ld.c    %psr,%r5
-       ld.c    %psr,%r30
-       ld.c    %dirbase,%r10
-       ld.c    %dirbase,%r2
-       ld.c    %db,%r21
-       ld.c    %db,%r0
-       ld.c    %fsr,%r28
-       ld.c    %fsr,%r12
-       ld.c    %epsr,%r31
-       ld.c    %epsr,%r6
-
-       st.c    %r0,%fir
-       st.c    %r30,%fir
-       st.c    %r7,%psr
-       st.c    %r31,%psr
-       st.c    %r11,%dirbase
-       st.c    %r3,%dirbase
-       st.c    %r22,%db
-       st.c    %r15,%db
-       st.c    %r29,%fsr
-       st.c    %r13,%fsr
-       st.c    %r4,%epsr
-       st.c    %r6,%epsr
-
-       # Flush, no auto-increment.
-       flush   0(%r0)
-       flush   128(%r1)
-       flush   256(%r2)
-       flush   512(%r3)
-       flush   1024(%r4)
-       flush   4096(%r5)
-       flush   8192(%r6)
-       flush   16384(%r7)
-       flush   -16384(%r8)
-       flush   -8192(%r9)
-       flush   -4096(%r10)
-       flush   -1024(%r11)
-       flush   -512(%r12)
-       flush   -248(%r13)
-       flush   -32(%r14)
-       flush   -16(%r14)
-
-       # Flush, auto-increment.        
-       flush   0(%r0)++
-       flush   128(%r1)++
-       flush   256(%r2)++
-       flush   512(%r3)++
-       flush   1024(%r4)++
-       flush   4096(%r22)++
-       flush   8192(%r23)++
-       flush   16384(%r24)++
-       flush   -16384(%r25)++
-       flush   -8192(%r26)++
-       flush   -4096(%r27)++
-       flush   -1024(%r28)++
-       flush   -512(%r29)++
-       flush   -248(%r30)++
-       flush   32(%r31)++
-       flush   16(%r31)++
-
diff --git a/gas/testsuite/gas/i860/xp.d b/gas/testsuite/gas/i860/xp.d
deleted file mode 100644 (file)
index 6dad997..0000000
+++ /dev/null
@@ -1,241 +0,0 @@
-#as: -mxp
-#objdump: -dr
-#name: i860 xp (XP-only instructions)
-
-.*: +file format .*
-
-Disassembly of section \.text:
-
-00000000 <\.text>:
-   0:  00 00 df 30     ld.c    %bear,%r31
-   4:  00 00 c0 30     ld.c    %bear,%r0
-   8:  00 00 e5 30     ld.c    %ccr,%r5
-   c:  00 00 fe 30     ld.c    %ccr,%r30
-  10:  00 00 0a 31     ld.c    %p0,%r10
-  14:  00 00 02 31     ld.c    %p0,%sp
-  18:  00 00 35 31     ld.c    %p1,%r21
-  1c:  00 00 20 31     ld.c    %p1,%r0
-  20:  00 00 5c 31     ld.c    %p2,%r28
-  24:  00 00 4c 31     ld.c    %p2,%r12
-  28:  00 00 7f 31     ld.c    %p3,%r31
-  2c:  00 00 66 31     ld.c    %p3,%r6
-  30:  00 00 c0 38     st.c    %r0,%bear
-  34:  00 f0 c0 38     st.c    %r30,%bear
-  38:  00 38 e0 38     st.c    %r7,%ccr
-  3c:  00 f8 e0 38     st.c    %r31,%ccr
-  40:  00 58 00 39     st.c    %r11,%p0
-  44:  00 18 00 39     st.c    %fp,%p0
-  48:  00 b0 20 39     st.c    %r22,%p1
-  4c:  00 78 20 39     st.c    %r15,%p1
-  50:  00 e8 40 39     st.c    %r29,%p2
-  54:  00 68 40 39     st.c    %r13,%p2
-  58:  00 20 60 39     st.c    %r4,%p3
-  5c:  00 30 60 39     st.c    %r6,%p3
-  60:  0a 04 05 4c     ldint.l %r0,%r5
-  64:  0a 04 df 4c     ldint.l %r6,%r31
-  68:  0a 04 fe 4c     ldint.l %r7,%r30
-  6c:  0a 04 1d 4d     ldint.l %r8,%r29
-  70:  0a 04 3c 4d     ldint.l %r9,%r28
-  74:  0a 04 1b 4c     ldint.l %r0,%r27
-  78:  0a 04 3a 4c     ldint.l %r1,%r26
-  7c:  0a 04 99 4d     ldint.l %r12,%r25
-  80:  0a 04 b8 4d     ldint.l %r13,%r24
-  84:  0a 04 d7 4d     ldint.l %r14,%r23
-  88:  0a 04 f6 4d     ldint.l %r15,%r22
-  8c:  0a 04 15 4e     ldint.l %r16,%r21
-  90:  0a 04 34 4e     ldint.l %r17,%r20
-  94:  0a 04 93 4f     ldint.l %r28,%r19
-  98:  0a 04 f2 4f     ldint.l %r31,%r18
-  9c:  0a 02 05 4c     ldint.s %r0,%r5
-  a0:  0a 02 df 4c     ldint.s %r6,%r31
-  a4:  0a 02 fe 4c     ldint.s %r7,%r30
-  a8:  0a 02 1d 4d     ldint.s %r8,%r29
-  ac:  0a 02 3c 4d     ldint.s %r9,%r28
-  b0:  0a 02 1b 4c     ldint.s %r0,%r27
-  b4:  0a 02 3a 4c     ldint.s %r1,%r26
-  b8:  0a 02 99 4d     ldint.s %r12,%r25
-  bc:  0a 02 b8 4d     ldint.s %r13,%r24
-  c0:  0a 02 d7 4d     ldint.s %r14,%r23
-  c4:  0a 02 f6 4d     ldint.s %r15,%r22
-  c8:  0a 02 15 4e     ldint.s %r16,%r21
-  cc:  0a 02 34 4e     ldint.s %r17,%r20
-  d0:  0a 02 93 4f     ldint.s %r28,%r19
-  d4:  0a 02 f2 4f     ldint.s %r31,%r18
-  d8:  0a 00 05 4c     ldint.b %r0,%r5
-  dc:  0a 00 df 4c     ldint.b %r6,%r31
-  e0:  0a 00 fe 4c     ldint.b %r7,%r30
-  e4:  0a 00 1d 4d     ldint.b %r8,%r29
-  e8:  0a 00 3c 4d     ldint.b %r9,%r28
-  ec:  0a 00 1b 4c     ldint.b %r0,%r27
-  f0:  0a 00 3a 4c     ldint.b %r1,%r26
-  f4:  0a 00 99 4d     ldint.b %r12,%r25
-  f8:  0a 00 b8 4d     ldint.b %r13,%r24
-  fc:  0a 00 d7 4d     ldint.b %r14,%r23
- 100:  0a 00 f6 4d     ldint.b %r15,%r22
- 104:  0a 00 15 4e     ldint.b %r16,%r21
- 108:  0a 00 34 4e     ldint.b %r17,%r20
- 10c:  0a 00 93 4f     ldint.b %r28,%r19
- 110:  0a 00 f2 4f     ldint.b %r31,%r18
- 114:  08 04 05 4c     ldio.l  %r0,%r5
- 118:  08 04 df 4c     ldio.l  %r6,%r31
- 11c:  08 04 fe 4c     ldio.l  %r7,%r30
- 120:  08 04 1d 4d     ldio.l  %r8,%r29
- 124:  08 04 3c 4d     ldio.l  %r9,%r28
- 128:  08 04 1b 4c     ldio.l  %r0,%r27
- 12c:  08 04 3a 4c     ldio.l  %r1,%r26
- 130:  08 04 99 4d     ldio.l  %r12,%r25
- 134:  08 04 b8 4d     ldio.l  %r13,%r24
- 138:  08 04 d7 4d     ldio.l  %r14,%r23
- 13c:  08 04 f6 4d     ldio.l  %r15,%r22
- 140:  08 04 15 4e     ldio.l  %r16,%r21
- 144:  08 04 34 4e     ldio.l  %r17,%r20
- 148:  08 04 93 4f     ldio.l  %r28,%r19
- 14c:  08 04 f2 4f     ldio.l  %r31,%r18
- 150:  08 02 05 4c     ldio.s  %r0,%r5
- 154:  08 02 df 4c     ldio.s  %r6,%r31
- 158:  08 02 fe 4c     ldio.s  %r7,%r30
- 15c:  08 02 1d 4d     ldio.s  %r8,%r29
- 160:  08 02 3c 4d     ldio.s  %r9,%r28
- 164:  08 02 1b 4c     ldio.s  %r0,%r27
- 168:  08 02 3a 4c     ldio.s  %r1,%r26
- 16c:  08 02 99 4d     ldio.s  %r12,%r25
- 170:  08 02 b8 4d     ldio.s  %r13,%r24
- 174:  08 02 d7 4d     ldio.s  %r14,%r23
- 178:  08 02 f6 4d     ldio.s  %r15,%r22
- 17c:  08 02 15 4e     ldio.s  %r16,%r21
- 180:  08 02 34 4e     ldio.s  %r17,%r20
- 184:  08 02 93 4f     ldio.s  %r28,%r19
- 188:  08 02 f2 4f     ldio.s  %r31,%r18
- 18c:  08 00 05 4c     ldio.b  %r0,%r5
- 190:  08 00 df 4c     ldio.b  %r6,%r31
- 194:  08 00 fe 4c     ldio.b  %r7,%r30
- 198:  08 00 1d 4d     ldio.b  %r8,%r29
- 19c:  08 00 3c 4d     ldio.b  %r9,%r28
- 1a0:  08 00 1b 4c     ldio.b  %r0,%r27
- 1a4:  08 00 3a 4c     ldio.b  %r1,%r26
- 1a8:  08 00 99 4d     ldio.b  %r12,%r25
- 1ac:  08 00 b8 4d     ldio.b  %r13,%r24
- 1b0:  08 00 d7 4d     ldio.b  %r14,%r23
- 1b4:  08 00 f6 4d     ldio.b  %r15,%r22
- 1b8:  08 00 15 4e     ldio.b  %r16,%r21
- 1bc:  08 00 34 4e     ldio.b  %r17,%r20
- 1c0:  08 00 93 4f     ldio.b  %r28,%r19
- 1c4:  08 00 f2 4f     ldio.b  %r31,%r18
- 1c8:  09 04 a0 4c     stio.l  %r0,%r5
- 1cc:  09 34 e0 4f     stio.l  %r6,%r31
- 1d0:  09 3c c0 4f     stio.l  %r7,%r30
- 1d4:  09 44 a0 4f     stio.l  %r8,%r29
- 1d8:  09 4c 80 4f     stio.l  %r9,%r28
- 1dc:  09 04 60 4f     stio.l  %r0,%r27
- 1e0:  09 0c 40 4f     stio.l  %r1,%r26
- 1e4:  09 64 20 4f     stio.l  %r12,%r25
- 1e8:  09 6c 00 4f     stio.l  %r13,%r24
- 1ec:  09 74 e0 4e     stio.l  %r14,%r23
- 1f0:  09 7c c0 4e     stio.l  %r15,%r22
- 1f4:  09 84 a0 4e     stio.l  %r16,%r21
- 1f8:  09 8c 80 4e     stio.l  %r17,%r20
- 1fc:  09 e4 60 4e     stio.l  %r28,%r19
- 200:  09 fc 40 4e     stio.l  %r31,%r18
- 204:  09 02 a0 4c     stio.s  %r0,%r5
- 208:  09 32 e0 4f     stio.s  %r6,%r31
- 20c:  09 3a c0 4f     stio.s  %r7,%r30
- 210:  09 42 a0 4f     stio.s  %r8,%r29
- 214:  09 4a 80 4f     stio.s  %r9,%r28
- 218:  09 02 60 4f     stio.s  %r0,%r27
- 21c:  09 0a 40 4f     stio.s  %r1,%r26
- 220:  09 62 20 4f     stio.s  %r12,%r25
- 224:  09 6a 00 4f     stio.s  %r13,%r24
- 228:  09 72 e0 4e     stio.s  %r14,%r23
- 22c:  09 7a c0 4e     stio.s  %r15,%r22
- 230:  09 82 a0 4e     stio.s  %r16,%r21
- 234:  09 8a 80 4e     stio.s  %r17,%r20
- 238:  09 e2 60 4e     stio.s  %r28,%r19
- 23c:  09 fa 40 4e     stio.s  %r31,%r18
- 240:  09 00 a0 4c     stio.b  %r0,%r5
- 244:  09 30 e0 4f     stio.b  %r6,%r31
- 248:  09 38 c0 4f     stio.b  %r7,%r30
- 24c:  09 40 a0 4f     stio.b  %r8,%r29
- 250:  09 48 80 4f     stio.b  %r9,%r28
- 254:  09 00 60 4f     stio.b  %r0,%r27
- 258:  09 08 40 4f     stio.b  %r1,%r26
- 25c:  09 60 20 4f     stio.b  %r12,%r25
- 260:  09 68 00 4f     stio.b  %r13,%r24
- 264:  09 70 e0 4e     stio.b  %r14,%r23
- 268:  09 78 c0 4e     stio.b  %r15,%r22
- 26c:  09 80 a0 4e     stio.b  %r16,%r21
- 270:  09 88 80 4e     stio.b  %r17,%r20
- 274:  09 e0 60 4e     stio.b  %r28,%r19
- 278:  09 f8 40 4e     stio.b  %r31,%r18
- 27c:  0b 00 00 4c     scyc.b  %r0
- 280:  0b 00 a0 4c     scyc.b  %r5
- 284:  0b 00 c0 4c     scyc.b  %r6
- 288:  0b 00 a0 4d     scyc.b  %r13
- 28c:  0b 00 c0 4d     scyc.b  %r14
- 290:  0b 00 80 4f     scyc.b  %r28
- 294:  0b 00 a0 4f     scyc.b  %r29
- 298:  0b 00 c0 4f     scyc.b  %r30
- 29c:  0b 00 e0 4f     scyc.b  %r31
- 2a0:  04 00 00 64     pfld.q  0\(%r0\),%f0
- 2a4:  84 00 3c 64     pfld.q  128\(%r1\),%f28
- 2a8:  04 01 58 64     pfld.q  256\(%sp\),%f24
- 2ac:  04 02 74 64     pfld.q  512\(%fp\),%f20
- 2b0:  04 04 90 64     pfld.q  1024\(%r4\),%f16
- 2b4:  04 10 ac 64     pfld.q  4096\(%r5\),%f12
- 2b8:  04 20 c8 64     pfld.q  8192\(%r6\),%f8
- 2bc:  04 40 e4 64     pfld.q  16384\(%r7\),%f4
- 2c0:  fc 7f e0 64     pfld.q  32760\(%r7\),%f0
- 2c4:  04 80 fc 64     pfld.q  -32768\(%r7\),%f28
- 2c8:  04 c0 18 65     pfld.q  -16384\(%r8\),%f24
- 2cc:  04 e0 34 65     pfld.q  -8192\(%r9\),%f20
- 2d0:  04 f0 50 65     pfld.q  -4096\(%r10\),%f16
- 2d4:  04 fc 6c 65     pfld.q  -1024\(%r11\),%f12
- 2d8:  04 fe 88 65     pfld.q  -512\(%r12\),%f8
- 2dc:  0c ff a4 65     pfld.q  -248\(%r13\),%f4
- 2e0:  fc ff c0 65     pfld.q  -8\(%r14\),%f0
- 2e4:  05 00 00 64     pfld.q  0\(%r0\)\+\+,%f0
- 2e8:  85 00 24 64     pfld.q  128\(%r1\)\+\+,%f4
- 2ec:  05 01 48 64     pfld.q  256\(%sp\)\+\+,%f8
- 2f0:  05 02 6c 64     pfld.q  512\(%fp\)\+\+,%f12
- 2f4:  05 04 90 64     pfld.q  1024\(%r4\)\+\+,%f16
- 2f8:  05 10 b4 64     pfld.q  4096\(%r5\)\+\+,%f20
- 2fc:  05 20 d8 64     pfld.q  8192\(%r6\)\+\+,%f24
- 300:  05 40 fc 64     pfld.q  16384\(%r7\)\+\+,%f28
- 304:  fd 7f e0 64     pfld.q  32760\(%r7\)\+\+,%f0
- 308:  05 80 e4 64     pfld.q  -32768\(%r7\)\+\+,%f4
- 30c:  05 c0 08 65     pfld.q  -16384\(%r8\)\+\+,%f8
- 310:  05 e0 2c 65     pfld.q  -8192\(%r9\)\+\+,%f12
- 314:  05 f0 50 65     pfld.q  -4096\(%r10\)\+\+,%f16
- 318:  05 fc 74 65     pfld.q  -1024\(%r11\)\+\+,%f20
- 31c:  05 fe 98 65     pfld.q  -512\(%r12\)\+\+,%f24
- 320:  0d ff bc 65     pfld.q  -248\(%r13\)\+\+,%f28
- 324:  fd ff d0 65     pfld.q  -8\(%r14\)\+\+,%f16
- 328:  04 28 1c 60     pfld.q  %r5\(%r0\),%f28
- 32c:  04 30 38 60     pfld.q  %r6\(%r1\),%f24
- 330:  04 38 54 60     pfld.q  %r7\(%sp\),%f20
- 334:  04 40 70 60     pfld.q  %r8\(%fp\),%f16
- 338:  04 48 8c 60     pfld.q  %r9\(%r4\),%f12
- 33c:  04 00 a8 60     pfld.q  %r0\(%r5\),%f8
- 340:  04 08 c4 60     pfld.q  %r1\(%r6\),%f4
- 344:  04 60 e0 60     pfld.q  %r12\(%r7\),%f0
- 348:  04 68 1c 61     pfld.q  %r13\(%r8\),%f28
- 34c:  04 70 38 61     pfld.q  %r14\(%r9\),%f24
- 350:  04 78 54 61     pfld.q  %r15\(%r10\),%f20
- 354:  04 80 70 61     pfld.q  %r16\(%r11\),%f16
- 358:  04 88 8c 61     pfld.q  %r17\(%r12\),%f12
- 35c:  04 e0 a8 61     pfld.q  %r28\(%r13\),%f8
- 360:  04 f8 c4 61     pfld.q  %r31\(%r14\),%f4
- 364:  05 28 00 60     pfld.q  %r5\(%r0\)\+\+,%f0
- 368:  05 30 24 60     pfld.q  %r6\(%r1\)\+\+,%f4
- 36c:  05 38 48 60     pfld.q  %r7\(%sp\)\+\+,%f8
- 370:  05 40 6c 60     pfld.q  %r8\(%fp\)\+\+,%f12
- 374:  05 48 90 60     pfld.q  %r9\(%r4\)\+\+,%f16
- 378:  05 00 b4 60     pfld.q  %r0\(%r5\)\+\+,%f20
- 37c:  05 08 d8 60     pfld.q  %r1\(%r6\)\+\+,%f24
- 380:  05 60 fc 60     pfld.q  %r12\(%r7\)\+\+,%f28
- 384:  05 68 00 61     pfld.q  %r13\(%r8\)\+\+,%f0
- 388:  05 70 24 61     pfld.q  %r14\(%r9\)\+\+,%f4
- 38c:  05 78 48 61     pfld.q  %r15\(%r10\)\+\+,%f8
- 390:  05 80 6c 61     pfld.q  %r16\(%r11\)\+\+,%f12
- 394:  05 88 90 61     pfld.q  %r17\(%r12\)\+\+,%f16
- 398:  05 e0 b4 61     pfld.q  %r28\(%r13\)\+\+,%f20
- 39c:  05 f8 d8 61     pfld.q  %r31\(%r14\)\+\+,%f24
diff --git a/gas/testsuite/gas/i860/xp.s b/gas/testsuite/gas/i860/xp.s
deleted file mode 100644 (file)
index 406c8f0..0000000
+++ /dev/null
@@ -1,266 +0,0 @@
-# This tests the XP-only instructions:
-#  ldint.x, ldio.x, stio.x, scyc.b, pfld.q
-# And control registers:
-#  %bear, %ccr, %p0, %p1, %p2, %p3
-
-       .text
-
-       # XP-only control registers
-       ld.c    %bear,%r31
-       ld.c    %bear,%r0
-       ld.c    %ccr,%r5
-       ld.c    %ccr,%r30
-       ld.c    %p0,%r10
-       ld.c    %p0,%r2
-       ld.c    %p1,%r21
-       ld.c    %p1,%r0
-       ld.c    %p2,%r28
-       ld.c    %p2,%r12
-       ld.c    %p3,%r31
-       ld.c    %p3,%r6
-
-       st.c    %r0,%bear
-       st.c    %r30,%bear
-       st.c    %r7,%ccr
-       st.c    %r31,%ccr
-       st.c    %r11,%p0
-       st.c    %r3,%p0
-       st.c    %r22,%p1
-       st.c    %r15,%p1
-       st.c    %r29,%p2
-       st.c    %r13,%p2
-       st.c    %r4,%p3
-       st.c    %r6,%p3
-
-       # ldint.{s,b,l}
-       ldint.l %r0,%r5
-       ldint.l %r6,%r31
-       ldint.l %r7,%r30
-       ldint.l %r8,%r29
-       ldint.l %r9,%r28
-       ldint.l %r0,%r27
-       ldint.l %r1,%r26
-       ldint.l %r12,%r25
-       ldint.l %r13,%r24
-       ldint.l %r14,%r23
-       ldint.l %r15,%r22
-       ldint.l %r16,%r21
-       ldint.l %r17,%r20
-       ldint.l %r28,%r19
-       ldint.l %r31,%r18
-
-       ldint.s %r0,%r5
-       ldint.s %r6,%r31
-       ldint.s %r7,%r30
-       ldint.s %r8,%r29
-       ldint.s %r9,%r28
-       ldint.s %r0,%r27
-       ldint.s %r1,%r26
-       ldint.s %r12,%r25
-       ldint.s %r13,%r24
-       ldint.s %r14,%r23
-       ldint.s %r15,%r22
-       ldint.s %r16,%r21
-       ldint.s %r17,%r20
-       ldint.s %r28,%r19
-       ldint.s %r31,%r18
-
-       ldint.b %r0,%r5
-       ldint.b %r6,%r31
-       ldint.b %r7,%r30
-       ldint.b %r8,%r29
-       ldint.b %r9,%r28
-       ldint.b %r0,%r27
-       ldint.b %r1,%r26
-       ldint.b %r12,%r25
-       ldint.b %r13,%r24
-       ldint.b %r14,%r23
-       ldint.b %r15,%r22
-       ldint.b %r16,%r21
-       ldint.b %r17,%r20
-       ldint.b %r28,%r19
-       ldint.b %r31,%r18
-
-       # ldio.{s,b,l}
-       ldio.l  %r0,%r5
-       ldio.l  %r6,%r31
-       ldio.l  %r7,%r30
-       ldio.l  %r8,%r29
-       ldio.l  %r9,%r28
-       ldio.l  %r0,%r27
-       ldio.l  %r1,%r26
-       ldio.l  %r12,%r25
-       ldio.l  %r13,%r24
-       ldio.l  %r14,%r23
-       ldio.l  %r15,%r22
-       ldio.l  %r16,%r21
-       ldio.l  %r17,%r20
-       ldio.l  %r28,%r19
-       ldio.l  %r31,%r18
-
-       ldio.s  %r0,%r5
-       ldio.s  %r6,%r31
-       ldio.s  %r7,%r30
-       ldio.s  %r8,%r29
-       ldio.s  %r9,%r28
-       ldio.s  %r0,%r27
-       ldio.s  %r1,%r26
-       ldio.s  %r12,%r25
-       ldio.s  %r13,%r24
-       ldio.s  %r14,%r23
-       ldio.s  %r15,%r22
-       ldio.s  %r16,%r21
-       ldio.s  %r17,%r20
-       ldio.s  %r28,%r19
-       ldio.s  %r31,%r18
-
-       ldio.b  %r0,%r5
-       ldio.b  %r6,%r31
-       ldio.b  %r7,%r30
-       ldio.b  %r8,%r29
-       ldio.b  %r9,%r28
-       ldio.b  %r0,%r27
-       ldio.b  %r1,%r26
-       ldio.b  %r12,%r25
-       ldio.b  %r13,%r24
-       ldio.b  %r14,%r23
-       ldio.b  %r15,%r22
-       ldio.b  %r16,%r21
-       ldio.b  %r17,%r20
-       ldio.b  %r28,%r19
-       ldio.b  %r31,%r18
-
-       # stio.{s,b,l}
-       stio.l  %r0,%r5
-       stio.l  %r6,%r31
-       stio.l  %r7,%r30
-       stio.l  %r8,%r29
-       stio.l  %r9,%r28
-       stio.l  %r0,%r27
-       stio.l  %r1,%r26
-       stio.l  %r12,%r25
-       stio.l  %r13,%r24
-       stio.l  %r14,%r23
-       stio.l  %r15,%r22
-       stio.l  %r16,%r21
-       stio.l  %r17,%r20
-       stio.l  %r28,%r19
-       stio.l  %r31,%r18
-
-       stio.s  %r0,%r5
-       stio.s  %r6,%r31
-       stio.s  %r7,%r30
-       stio.s  %r8,%r29
-       stio.s  %r9,%r28
-       stio.s  %r0,%r27
-       stio.s  %r1,%r26
-       stio.s  %r12,%r25
-       stio.s  %r13,%r24
-       stio.s  %r14,%r23
-       stio.s  %r15,%r22
-       stio.s  %r16,%r21
-       stio.s  %r17,%r20
-       stio.s  %r28,%r19
-       stio.s  %r31,%r18
-
-       stio.b  %r0,%r5
-       stio.b  %r6,%r31
-       stio.b  %r7,%r30
-       stio.b  %r8,%r29
-       stio.b  %r9,%r28
-       stio.b  %r0,%r27
-       stio.b  %r1,%r26
-       stio.b  %r12,%r25
-       stio.b  %r13,%r24
-       stio.b  %r14,%r23
-       stio.b  %r15,%r22
-       stio.b  %r16,%r21
-       stio.b  %r17,%r20
-       stio.b  %r28,%r19
-       stio.b  %r31,%r18
-
-       # scyc.b
-       scyc.b  %r0
-       scyc.b  %r5
-       scyc.b  %r6
-       scyc.b  %r13
-       scyc.b  %r14
-       scyc.b  %r28
-       scyc.b  %r29
-       scyc.b  %r30
-       scyc.b  %r31
-
-       # pfld.q
-       # Immediate form, no auto-increment.
-       pfld.q  0(%r0),%f0
-       pfld.q  128(%r1),%f28
-       pfld.q  256(%r2),%f24
-       pfld.q  512(%r3),%f20
-       pfld.q  1024(%r4),%f16
-       pfld.q  4096(%r5),%f12
-       pfld.q  8192(%r6),%f8
-       pfld.q  16384(%r7),%f4
-       pfld.q  32760(%r7),%f0
-       pfld.q  -32768(%r7),%f28
-       pfld.q  -16384(%r8),%f24
-       pfld.q  -8192(%r9),%f20
-       pfld.q  -4096(%r10),%f16
-       pfld.q  -1024(%r11),%f12
-       pfld.q  -512(%r12),%f8
-       pfld.q  -248(%r13),%f4
-       pfld.q  -8(%r14),%f0
-
-       # Immediate form, with auto-increment.
-       pfld.q  0(%r0)++,%f0
-       pfld.q  128(%r1)++,%f4
-       pfld.q  256(%r2)++,%f8
-       pfld.q  512(%r3)++,%f12
-       pfld.q  1024(%r4)++,%f16
-       pfld.q  4096(%r5)++,%f20
-       pfld.q  8192(%r6)++,%f24
-       pfld.q  16384(%r7)++,%f28
-       pfld.q  32760(%r7)++,%f0
-       pfld.q  -32768(%r7)++,%f4
-       pfld.q  -16384(%r8)++,%f8
-       pfld.q  -8192(%r9)++,%f12
-       pfld.q  -4096(%r10)++,%f16
-       pfld.q  -1024(%r11)++,%f20
-       pfld.q  -512(%r12)++,%f24
-       pfld.q  -248(%r13)++,%f28
-       pfld.q  -8(%r14)++,%f16
-
-       # Index form, no auto-increment.
-       pfld.q  %r5(%r0),%f28
-       pfld.q  %r6(%r1),%f24
-       pfld.q  %r7(%r2),%f20
-       pfld.q  %r8(%r3),%f16
-       pfld.q  %r9(%r4),%f12
-       pfld.q  %r0(%r5),%f8
-       pfld.q  %r1(%r6),%f4
-       pfld.q  %r12(%r7),%f0
-       pfld.q  %r13(%r8),%f28
-       pfld.q  %r14(%r9),%f24
-       pfld.q  %r15(%r10),%f20
-       pfld.q  %r16(%r11),%f16
-       pfld.q  %r17(%r12),%f12
-       pfld.q  %r28(%r13),%f8
-       pfld.q  %r31(%r14),%f4
-
-       # Index form, with auto-increment.
-       pfld.q  %r5(%r0)++,%f0
-       pfld.q  %r6(%r1)++,%f4
-       pfld.q  %r7(%r2)++,%f8
-       pfld.q  %r8(%r3)++,%f12
-       pfld.q  %r9(%r4)++,%f16
-       pfld.q  %r0(%r5)++,%f20
-       pfld.q  %r1(%r6)++,%f24
-       pfld.q  %r12(%r7)++,%f28
-       pfld.q  %r13(%r8)++,%f0
-       pfld.q  %r14(%r9)++,%f4
-       pfld.q  %r15(%r10)++,%f8
-       pfld.q  %r16(%r11)++,%f12
-       pfld.q  %r17(%r12)++,%f16
-       pfld.q  %r28(%r13)++,%f20
-       pfld.q  %r31(%r14)++,%f24
-
-
index 5ccf120b5815ea9e5a3c24549260c47b357f325c..dcf593c4fe9785725f22ef9c60c76672588c11cb 100644 (file)
@@ -26,7 +26,6 @@ run_dump_test "lns-duplicate"
 # defined a macro...
 if {
         ![istarget i370-*-*]
 # defined a macro...
 if {
         ![istarget i370-*-*]
-     && ![istarget i960-*-*]
      && ![istarget s390*-*-*]
 } {
     # Use alternate file for targets using DW_LNS_fixed_advance_pc opcodes.
      && ![istarget s390*-*-*]
 } {
     # Use alternate file for targets using DW_LNS_fixed_advance_pc opcodes.
index 87e3cc85d01065a44171579fa6e79a4a9562fb33..c40fc9a6283f4626b4a6914dc9dd0b45eb58e828 100644 (file)
@@ -46,11 +46,6 @@ if { [is_elf_format] } then {
       return
     }
 
       return
     }
 
-    # not yet supported by i960
-    if {[istarget "i960-*-*"]} {
-      return
-    }
-
     run_dump_test "symver0" 
     run_dump_test "symver1" 
     run_error_test "symver2" ""
     run_dump_test "symver0" 
     run_dump_test "symver1" 
     run_error_test "symver2" ""
index 4c8e42b4b498376f858c43bab4a5119b10252c29..2d0bbe4601d3599339d6fee5c0ebad1cd79a5193 100644 (file)
@@ -926,9 +926,7 @@ fixup_segment (fixS *fixP, segT this_segment)
   /* If the linker is doing the relaxing, we must not do any fixups.
 
      Well, strictly speaking that's not true -- we could do any that
   /* If the linker is doing the relaxing, we must not do any fixups.
 
      Well, strictly speaking that's not true -- we could do any that
-     are PC-relative and don't cross regions that could change size.
-     And for the i960 we might be able to turn callx/callj into bal
-     anyways in cases where we know the maximum displacement.  */
+     are PC-relative and don't cross regions that could change size.  */
   if (linkrelax && TC_LINKRELAX_FIXUP (this_segment))
     {
       for (; fixP; fixP = fixP->fx_next)
   if (linkrelax && TC_LINKRELAX_FIXUP (this_segment))
     {
       for (; fixP; fixP = fixP->fx_next)
index 3c6f2597481cec616f4849d05d8f62343c63e74d..4f510d6d5a5b83f53aa9011df64ef1eea876e6a2 100644 (file)
@@ -106,10 +106,6 @@ struct fix
   struct fix *fx_next;
 
   /* If NULL, no bitfix's to do.  */
   struct fix *fx_next;
 
   /* If NULL, no bitfix's to do.  */
-  /* Only i960-coff and ns32k use this, and i960-coff stores an
-     integer.  This can probably be folded into tc_fix_data, below.
-     @@ Alpha also uses it, but only to disable certain relocation
-     processing.  */
   bit_fixS *fx_bit_fixP;
 
   bfd_reloc_code_real_type fx_r_type;
   bit_fixS *fx_bit_fixP;
 
   bfd_reloc_code_real_type fx_r_type;
index 74e6a5336917094e34a4d4b246cc569994b5390d..41d785a31dd1c28c68c0e4bd645531cfbef490ed 100644 (file)
@@ -1,3 +1,18 @@
+2018-04-11  Alan Modra  <amodra@gmail.com>
+
+       * aout/adobe.h: Delete.
+       * aout/reloc.h: Delete.
+       * coff/i860.h: Delete.
+       * coff/i960.h: Delete.
+       * elf/i860.h: Delete.
+       * elf/i960.h: Delete.
+       * opcode/i860.h: Delete.
+       * opcode/i960.h: Delete.
+       * aout/aout64.h (enum reloc_type): Trim off 29k and other unused values.
+       * aout/ar.h (ARMAGB): Remove.
+       * coff/internal.h (struct internal_aouthdr, struct internal_scnhdr,
+       union internal_auxent): Remove i960 support.
+
 2018-04-09  Alan Modra  <amodra@gmail.com>
 
        * elf/ppc.h (R_PPC_PLTSEQ, R_PPC_PLTCALL): Define.
 2018-04-09  Alan Modra  <amodra@gmail.com>
 
        * elf/ppc.h (R_PPC_PLTSEQ, R_PPC_PLTCALL): Define.
diff --git a/include/aout/adobe.h b/include/aout/adobe.h
deleted file mode 100644 (file)
index 33770f9..0000000
+++ /dev/null
@@ -1,319 +0,0 @@
-/* `a.out.adobe' differences from standard a.out files
-
-   Copyright (C) 2001-2018 Free Software Foundation, Inc.
-
-   This program 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 3 of the License, or
-   (at your option) any later version.
-
-   This program 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 this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston,
-   MA 02110-1301, USA.  */
-
-#ifndef __A_OUT_ADOBE_H__
-#define __A_OUT_ADOBE_H__
-
-#define        BYTES_IN_WORD   4
-
-/* Struct external_exec is the same.  */
-
-/* This is the layout on disk of the 32-bit or 64-bit exec header.  */
-
-struct external_exec 
-{
-  bfd_byte e_info[4];              /* Magic number and stuff.  */
-  bfd_byte e_text[BYTES_IN_WORD];   /* Length of text section in bytes.  */
-  bfd_byte e_data[BYTES_IN_WORD];   /* Length of data section in bytes.  */
-  bfd_byte e_bss[BYTES_IN_WORD];    /* Length of bss area in bytes.  */
-  bfd_byte e_syms[BYTES_IN_WORD];   /* Length of symbol table in bytes.  */
-  bfd_byte e_entry[BYTES_IN_WORD];  /* Start address.  */
-  bfd_byte e_trsize[BYTES_IN_WORD]; /* Length of text relocation info.  */
-  bfd_byte e_drsize[BYTES_IN_WORD]; /* Length of data relocation info.  */
-};
-
-#define        EXEC_BYTES_SIZE (4 + BYTES_IN_WORD * 7)
-
-/* Magic numbers for a.out files.  */
-
-#undef ZMAGIC
-#define        ZMAGIC  0xAD0BE         /* Cute, eh?  */
-#undef OMAGIC
-#undef NMAGIC
-
-#define N_BADMAG(x)      ((x)->a_info != ZMAGIC)
-
-/* By default, segment size is constant.  But some machines override this
-   to be a function of the a.out header (e.g. machine type).  */
-#ifndef        N_SEGSIZE
-#define        N_SEGSIZE(x)    SEGMENT_SIZE
-#endif
-#undef N_SEGSIZE   /* FIXMEXXXX */
-
-/* Segment information for the a.out.Adobe format is specified after the
-   file header.  It contains N segment descriptors, followed by one with
-   a type of zero.  
-
-   The actual text of the segments starts at N_TXTOFF in the file,
-   regardless of how many or how few segment headers there are.  */
-
-struct external_segdesc
-{
-  unsigned char e_type[1];
-  unsigned char e_size[3];
-  unsigned char e_virtbase[4];
-  unsigned char e_filebase[4];
-};
-
-struct internal_segdesc
-{
-  unsigned int a_type:8;       /* Segment type N_TEXT, N_DATA, 0.  */
-  unsigned int         a_size:24;      /* Segment size.  */
-  bfd_vma      a_virtbase;     /* Virtual address.  */
-  unsigned int a_filebase;     /* Base address in object file.  */
-};
-
-#define N_TXTADDR(x) is_this_really_unused?
-
-/* This is documented to be at 1024, but appears to really be at 2048.
-   FIXME?!  */
-#define N_TXTOFF(x)    2048
-
-#define        N_TXTSIZE(x) ((x)->a_text)
-
-#define N_DATADDR(x) is_this_really_unused?
-
-#define N_BSSADDR(x) is_this_really_unused?
-
-/* Offsets of the various portions of the file after the text segment.  */
-
-#define N_DATOFF(x)    ( N_TXTOFF(x) + N_TXTSIZE(x) )
-#define N_TRELOFF(x)   ( N_DATOFF(x) + (x)->a_data )
-#define N_DRELOFF(x)   ( N_TRELOFF(x) + (x)->a_trsize )
-#define N_SYMOFF(x)    ( N_DRELOFF(x) + (x)->a_drsize )
-#define N_STROFF(x)    ( N_SYMOFF(x) + (x)->a_syms )
-\f
-/* Symbols.  */
-struct external_nlist
-{
-  bfd_byte e_strx[BYTES_IN_WORD];      /* Index into string table of name.  */
-  bfd_byte e_type[1];                  /* Type of symbol.  */
-  bfd_byte e_other[1];                 /* Misc info (usually empty).  */
-  bfd_byte e_desc[2];                  /* Description field.  */
-  bfd_byte e_value[BYTES_IN_WORD];     /* Value of symbol.  */
-};
-
-#define EXTERNAL_NLIST_SIZE (BYTES_IN_WORD+4+BYTES_IN_WORD)
-
-struct internal_nlist
-{
-  unsigned long n_strx;                        /* Index into string table of name.  */
-  unsigned char n_type;                        /* Type of symbol.  */
-  unsigned char n_other;               /* Misc info (usually empty).  */
-  unsigned short n_desc;               /* Description field.  */
-  bfd_vma n_value;                     /* Value of symbol.  */
-};
-
-/* The n_type field is the symbol type, containing:  */
-
-#define N_UNDF 0       /* Undefined symbol.  */
-#define N_ABS  2       /* Absolute symbol -- defined at particular addr.  */
-#define N_TEXT         4       /* Text sym -- defined at offset in text seg.  */
-#define N_DATA         6       /* Data sym -- defined at offset in data seg.  */
-#define N_BSS  8       /* BSS  sym -- defined at offset in zero'd seg.  */
-#define        N_COMM  0x12    /* Common symbol (visible after shared lib dynlink).  */
-#define N_FN   0x1f    /* File name of .o file.  */
-#define        N_FN_SEQ 0x0C   /* N_FN from Sequent compilers (sigh).  */
-/* Note: N_EXT can only be usefully OR-ed with N_UNDF, N_ABS, N_TEXT,
-   N_DATA, or N_BSS.  When the low-order bit of other types is set,
-   (e.g. N_WARNING versus N_FN), they are two different types.  */
-#define N_EXT  1       /* External symbol (as opposed to local-to-this-file).  */
-#define N_TYPE  0x1e
-#define N_STAB         0xe0    /* If any of these bits are on, it's a debug symbol.  */
-
-#define N_INDR 0x0a
-
-/* The following symbols refer to set elements.
-   All the N_SET[ATDB] symbols with the same name form one set.
-   Space is allocated for the set in the text section, and each set
-   elements value is stored into one word of the space.
-   The first word of the space is the length of the set (number of elements).
-
-   The address of the set is made into an N_SETV symbol
-   whose name is the same as the name of the set.
-   This symbol acts like a N_DATA global symbol
-   in that it can satisfy undefined external references.  */
-
-/* These appear as input to LD, in a .o file.  */
-#define        N_SETA  0x14            /* Absolute set element symbol.  */
-#define        N_SETT  0x16            /* Text set element symbol.  */
-#define        N_SETD  0x18            /* Data set element symbol.  */
-#define        N_SETB  0x1A            /* Bss set element symbol.  */
-
-/* This is output from LD.  */
-#define N_SETV 0x1C            /* Pointer to set vector in data area.  */
-
-/* Warning symbol. The text gives a warning message, the next symbol
-   in the table will be undefined. When the symbol is referenced, the
-   message is printed.  */
-
-#define        N_WARNING 0x1e
-
-/* Relocations 
-
-  There        are two types of relocation flavours for a.out systems,
-  standard and extended. The standard form is used on systems where the
-  instruction has room for all the bits of an offset to the operand, whilst
-  the extended form is used when an address operand has to be split over n
-  instructions. Eg, on the 68k, each move instruction can reference
-  the target with a displacement of 16 or 32 bits. On the sparc, move
-  instructions use an offset of 14 bits, so the offset is stored in
-  the reloc field, and the data in the section is ignored.  */
-
-/* This structure describes a single relocation to be performed.
-   The text-relocation section of the file is a vector of these structures,
-   all of which apply to the text section.
-   Likewise, the data-relocation section applies to the data section.  */
-
-struct reloc_std_external
-{
-  bfd_byte r_address[BYTES_IN_WORD];   /* Offset of data to relocate.  */
-  bfd_byte r_index[3];                 /* Symbol table index of symbol.  */
-  bfd_byte r_type[1];                  /* Relocation type.  */
-};
-
-#define        RELOC_STD_BITS_PCREL_BIG        0x80
-#define        RELOC_STD_BITS_PCREL_LITTLE     0x01
-
-#define        RELOC_STD_BITS_LENGTH_BIG       0x60
-#define        RELOC_STD_BITS_LENGTH_SH_BIG    5       /* To shift to units place.  */
-#define        RELOC_STD_BITS_LENGTH_LITTLE    0x06
-#define        RELOC_STD_BITS_LENGTH_SH_LITTLE 1
-
-#define        RELOC_STD_BITS_EXTERN_BIG       0x10
-#define        RELOC_STD_BITS_EXTERN_LITTLE    0x08
-
-#define        RELOC_STD_BITS_BASEREL_BIG      0x08
-#define        RELOC_STD_BITS_BASEREL_LITTLE   0x08
-
-#define        RELOC_STD_BITS_JMPTABLE_BIG     0x04
-#define        RELOC_STD_BITS_JMPTABLE_LITTLE  0x04
-
-#define        RELOC_STD_BITS_RELATIVE_BIG     0x02
-#define        RELOC_STD_BITS_RELATIVE_LITTLE  0x02
-
-#define        RELOC_STD_SIZE  (BYTES_IN_WORD + 3 + 1)         /* Bytes per relocation entry.  */
-
-struct reloc_std_internal
-{
-  bfd_vma r_address;           /* Address (within segment) to be relocated.  */
-  /* The meaning of r_symbolnum depends on r_extern.  */
-  unsigned int r_symbolnum:24;
-  /* Nonzero means value is a pc-relative offset
-     and it should be relocated for changes in its own address
-     as well as for changes in the symbol or section specified.  */
-  unsigned int r_pcrel:1;
-  /* Length (as exponent of 2) of the field to be relocated.
-     Thus, a value of 2 indicates 1<<2 bytes.  */
-  unsigned int r_length:2;
-  /* 1 => relocate with value of symbol.
-     r_symbolnum is the index of the symbol
-     in files the symbol table.
-     0 => relocate with the address of a segment.
-     r_symbolnum is N_TEXT, N_DATA, N_BSS or N_ABS
-     (the N_EXT bit may be set also, but signifies nothing).  */
-  unsigned int r_extern:1;
-  /* The next three bits are for SunOS shared libraries, and seem to
-     be undocumented.  */
-  unsigned int r_baserel:1;    /* Linkage table relative.  */
-  unsigned int r_jmptable:1;   /* pc-relative to jump table.  */
-  unsigned int r_relative:1;   /* "relative relocation".  */
-  /* unused */
-  unsigned int r_pad:1;                /* Padding -- set to zero.  */
-};
-
-
-/* EXTENDED RELOCS  */
-
-struct reloc_ext_external
-{
-  bfd_byte r_address[BYTES_IN_WORD];   /* Offset of data to relocate.  */
-  bfd_byte r_index[3];                 /* Symbol table index of symbol.  */
-  bfd_byte r_type[1];                  /* Relocation type.  */
-  bfd_byte r_addend[BYTES_IN_WORD];    /* Datum addend.  */
-};
-
-#define        RELOC_EXT_BITS_EXTERN_BIG       0x80
-#define        RELOC_EXT_BITS_EXTERN_LITTLE    0x01
-
-#define        RELOC_EXT_BITS_TYPE_BIG         0x1F
-#define        RELOC_EXT_BITS_TYPE_SH_BIG      0
-#define        RELOC_EXT_BITS_TYPE_LITTLE      0xF8
-#define        RELOC_EXT_BITS_TYPE_SH_LITTLE   3
-
-/* Bytes per relocation entry */
-#define        RELOC_EXT_SIZE  (BYTES_IN_WORD + 3 + 1 + BYTES_IN_WORD)
-
-enum reloc_type
-{
-  /* Simple relocations.  */
-  RELOC_8,                     /* data[0:7] = addend + sv              */
-  RELOC_16,                    /* data[0:15] = addend + sv             */
-  RELOC_32,                    /* data[0:31] = addend + sv             */
-  /* PC-rel displacement.  */
-  RELOC_DISP8,                 /* data[0:7] = addend - pc + sv         */
-  RELOC_DISP16,                        /* data[0:15] = addend - pc + sv        */
-  RELOC_DISP32,                        /* data[0:31] = addend - pc + sv        */
-  /* Special.  */
-  RELOC_WDISP30,               /* data[0:29] = (addend + sv - pc)>>2   */
-  RELOC_WDISP22,               /* data[0:21] = (addend + sv - pc)>>2   */
-  RELOC_HI22,                  /* data[0:21] = (addend + sv)>>10       */
-  RELOC_22,                    /* data[0:21] = (addend + sv)           */
-  RELOC_13,                    /* data[0:12] = (addend + sv)           */
-  RELOC_LO10,                  /* data[0:9] = (addend + sv)            */
-  RELOC_SFA_BASE,              
-  RELOC_SFA_OFF13,
-  /* P.I.C. (base-relative).  */
-  RELOC_BASE10,                /* Not sure - maybe we can do this the  */
-  RELOC_BASE13,                        /* right way now.  */
-  RELOC_BASE22,
-  /* For some sort of pc-rel P.I.C. (?)  */
-  RELOC_PC10,
-  RELOC_PC22,
-  /* P.I.C. jump table.  */
-  RELOC_JMP_TBL,
-  /* Reputedly for shared libraries somehow.  */
-  RELOC_SEGOFF16,
-  RELOC_GLOB_DAT,
-  RELOC_JMP_SLOT,
-  RELOC_RELATIVE,
-
-  RELOC_11,    
-  RELOC_WDISP2_14,
-  RELOC_WDISP19,
-  RELOC_HHI22,                 /* data[0:21] = (addend + sv) >> 42     */
-  RELOC_HLO10,                 /* data[0:9] = (addend + sv) >> 32      */
-  
-  /* 29K relocation types */
-  RELOC_JUMPTARG,
-  RELOC_CONST,
-  RELOC_CONSTH,
-  
-  NO_RELOC
-};
-
-struct reloc_internal
-{
-  bfd_vma r_address;           /* Offset of data to relocate.  */
-  long r_index;                /* Symbol table index of symbol.  */
-  enum reloc_type r_type;      /* Relocation type.  */
-  bfd_vma r_addend;            /* Datum addend.  */
-};
-
-#endif /* __A_OUT_ADOBE_H__ */
index 0e7ced7c74a22fffa312a1889440f34d48284d0a..a0827d50ec8c2e1ce203ab7a20f99752afc9c89f 100644 (file)
@@ -476,25 +476,7 @@ enum reloc_type
   RELOC_11,    
   RELOC_WDISP2_14,
   RELOC_WDISP19,
   RELOC_11,    
   RELOC_WDISP2_14,
   RELOC_WDISP19,
-  RELOC_HHI22,                 /* data[0:21] = (addend + sv) >> 42     */
-  RELOC_HLO10,                 /* data[0:9] = (addend + sv) >> 32      */
-  
-  /* 29K relocation types.  */
-  RELOC_JUMPTARG,
-  RELOC_CONST,
-  RELOC_CONSTH,
-  
-  /* All the new ones I can think of, for sparc v9.  */
-  RELOC_64,                    /* data[0:63] = addend + sv             */
-  RELOC_DISP64,                        /* data[0:63] = addend - pc + sv        */
-  RELOC_WDISP21,               /* data[0:20] = (addend + sv - pc)>>2   */
-  RELOC_DISP21,                        /* data[0:20] = addend - pc + sv        */
-  RELOC_DISP14,                        /* data[0:13] = addend - pc + sv        */
-  /* Q .
-     What are the other ones,
-     Since this is a clean slate, can we throw away the ones we dont
-     understand ? Should we sort the values ? What about using a
-     microcode format like the 68k ?  */
+
   NO_RELOC
   };
 
   NO_RELOC
   };
 
index d9e3bc6a18dd162f02a2ef1f63a660c47e83d245..905fcbcc4c84ac037089541d7bcee0cf89e59e42 100644 (file)
@@ -28,7 +28,6 @@
    compatible with existing BSDish archives. */
 
 #define ARMAG  "!<arch>\012"   /* For COFF and a.out archives.  */
    compatible with existing BSDish archives. */
 
 #define ARMAG  "!<arch>\012"   /* For COFF and a.out archives.  */
-#define ARMAGB "!<bout>\012"   /* For b.out archives.  */
 #define ARMAGT "!<thin>\012"   /* For thin archives.  */
 #define SARMAG 8
 #define ARFMAG "`\012"
 #define ARMAGT "!<thin>\012"   /* For thin archives.  */
 #define SARMAG 8
 #define ARFMAG "`\012"
diff --git a/include/aout/reloc.h b/include/aout/reloc.h
deleted file mode 100644 (file)
index 2249107..0000000
+++ /dev/null
@@ -1,67 +0,0 @@
-/* reloc.h -- Header file for relocation information.
-   Copyright (C) 1989-2018 Free Software Foundation, Inc.
-
-   This program 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 3 of the License, or
-   (at your option) any later version.
-
-   This program 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 this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston,
-   MA 02110-1301, USA.  */
-
-/* Relocation types for a.out files using reloc_info_extended
-   (SPARC and AMD 29000). */
-
-#ifndef _RELOC_H_READ_
-#define _RELOC_H_READ_ 1
-
-enum reloc_type
-  {
-    RELOC_8,        RELOC_16,        RELOC_32, /* simple relocations */
-    RELOC_DISP8,    RELOC_DISP16,    RELOC_DISP32, /* pc-rel displacement */
-    RELOC_WDISP30,  RELOC_WDISP22,
-    RELOC_HI22,     RELOC_22,
-    RELOC_13,       RELOC_LO10,
-    RELOC_SFA_BASE, RELOC_SFA_OFF13,
-    RELOC_BASE10,   RELOC_BASE13,    RELOC_BASE22, /* P.I.C. (base-relative) */
-    RELOC_PC10,     RELOC_PC22,        /* for some sort of pc-rel P.I.C. (?) */
-    RELOC_JMP_TBL,             /* P.I.C. jump table */
-    RELOC_SEGOFF16,            /* reputedly for shared libraries somehow */
-    RELOC_GLOB_DAT,  RELOC_JMP_SLOT, RELOC_RELATIVE,
-    RELOC_11,
-    RELOC_WDISP2_14,
-    RELOC_WDISP19,
-    RELOC_HHI22,
-    RELOC_HLO10,
-    
-    /* 29K relocation types */
-    RELOC_JUMPTARG, RELOC_CONST,     RELOC_CONSTH,
-    
-    RELOC_WDISP14, RELOC_WDISP21,
-    
-    NO_RELOC
-    };
-
-#define        RELOC_TYPE_NAMES \
-"8",           "16",           "32",           "DISP8",        \
-"DISP16",      "DISP32",       "WDISP30",      "WDISP22",      \
-"HI22",                "22",           "13",           "LO10",         \
-"SFA_BASE",    "SFAOFF13",     "BASE10",       "BASE13",       \
-"BASE22",      "PC10",         "PC22",         "JMP_TBL",      \
-"SEGOFF16",    "GLOB_DAT",     "JMP_SLOT",     "RELATIVE",     \
-"11",          "WDISP2_14",    "WDISP19",      "HHI22",        \
-"HLO10",                                                       \
-"JUMPTARG",    "CONST",        "CONSTH",       "WDISP14",      \
-"WDISP21",     \
-"NO_RELOC"
-
-#endif /* _RELOC_H_READ_ */
-
-/* end of reloc.h */
diff --git a/include/coff/i860.h b/include/coff/i860.h
deleted file mode 100644 (file)
index 3afa38f..0000000
+++ /dev/null
@@ -1,87 +0,0 @@
-/* COFF information for the Intel i860.
-   
-   Copyright (C) 2001-2018 Free Software Foundation, Inc.
-
-   This program 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 3 of the License, or
-   (at your option) any later version.
-   
-   This program 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 this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston,
-   MA 02110-1301, USA.  */
-
-/* This file was hacked from i386.h   [dolan@ssd.intel.com] */
-
-#define L_LNNO_SIZE 2
-#include "coff/external.h"
-
-/* Bits for f_flags:
-       F_RELFLG        relocation info stripped from file
-       F_EXEC          file is executable (no unresolved external references)
-       F_LNNO          line numbers stripped from file
-       F_LSYMS         local symbols stripped from file
-       F_AR32WR        file has byte ordering of an AR32WR machine (e.g. vax).  */
-
-#define F_RELFLG       (0x0001)
-#define F_EXEC         (0x0002)
-#define F_LNNO         (0x0004)
-#define F_LSYMS                (0x0008)
-
-#define        I860MAGIC       0x14d
-
-#define I860BADMAG(x)   ((x).f_magic != I860MAGIC)
-
-#undef AOUTSZ
-#define AOUTSZ 36
-
-/* FIXME: What are the a.out magic numbers?  */
-
-#define _ETEXT "etext"
-
-/********************** RELOCATION DIRECTIVES **********************/
-
-struct external_reloc
-{
-  char r_vaddr[4];
-  char r_symndx[4];
-  char r_type[2];
-};
-
-#define RELOC struct external_reloc
-#define RELSZ 10
-
-/* The relocation directory entry types.
-     PAIR   : The low half that follows relates to the preceding HIGH[ADJ].
-     HIGH   : The high half of a 32-bit constant.
-     LOWn   : The low half, insn bits 15..(n-1), 2^n-byte aligned. 
-     SPLITn : The low half, insn bits 20..16 and 10..(n-1), 2^n-byte aligned. 
-     HIGHADJ: Similar to HIGH, but with adjustment.
-     BRADDR : 26-bit branch displacement.
-
-   Note: The Intel assembler manual lists LOW4 as one of the
-   relocation types, but it appears to be useless for the i860.
-   We will recognize it anyway, just in case it actually appears in
-   any object files.  */
-
-enum {
-  COFF860_R_PAIR       = 0x1c,
-  COFF860_R_HIGH       = 0x1e,
-  COFF860_R_LOW0       = 0x1f,
-  COFF860_R_LOW1       = 0x20,
-  COFF860_R_LOW2       = 0x21,
-  COFF860_R_LOW3       = 0x22,
-  COFF860_R_LOW4       = 0x23,
-  COFF860_R_SPLIT0     = 0x24,
-  COFF860_R_SPLIT1     = 0x25,
-  COFF860_R_SPLIT2     = 0x26,
-  COFF860_R_HIGHADJ    = 0x27,
-  COFF860_R_BRADDR     = 0x28
-};
-
diff --git a/include/coff/i960.h b/include/coff/i960.h
deleted file mode 100644 (file)
index 19d35f9..0000000
+++ /dev/null
@@ -1,320 +0,0 @@
-/* coff information for 80960.  Origins: Intel corp, natch.
-   
-   Copyright (C) 2001-2018 Free Software Foundation, Inc.
-
-   This program 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 3 of the License, or
-   (at your option) any later version.
-   
-   This program 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 this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston,
-   MA 02110-1301, USA.  */
-
-/* NOTE: Tagentries (cf TAGBITS) are no longer used by the 960 */
-
-/********************** FILE HEADER **********************/
-
-struct external_filehdr
-{
-  char f_magic[2];     /* magic number                 */
-  char f_nscns[2];     /* number of sections           */
-  char f_timdat[4];    /* time & date stamp            */
-  char f_symptr[4];    /* file pointer to symtab       */
-  char f_nsyms[4];     /* number of symtab entries     */
-  char f_opthdr[2];    /* sizeof(optional hdr)         */
-  char f_flags[2];     /* flags                        */
-};
-
-#define OMAGIC      (0407)     /* old impure format. data immediately
-                                   follows text. both sections are rw. */
-#define NMAGIC      (0410)     /* split i&d, read-only text */
-
-/*
-*      Intel 80960 (I960) processor flags.
-*      F_I960TYPE == mask for processor type field. 
-*/
-
-#define        F_I960TYPE      (0xf000)
-#define        F_I960CORE      (0x1000)
-#define        F_I960KB        (0x2000)
-#define        F_I960SB        (0x2000)
-#define        F_I960MC        (0x3000)
-#define        F_I960XA        (0x4000)
-#define        F_I960CA        (0x5000)
-#define        F_I960KA        (0x6000)
-#define        F_I960SA        (0x6000)
-#define F_I960JX       (0x7000)
-#define F_I960HX       (0x8000)
-
-
-/** i80960 Magic Numbers
-*/
-
-#define I960ROMAGIC    (0x160) /* read-only text segments */
-#define I960RWMAGIC    (0x161) /* read-write text segments */
-
-#define I960BADMAG(x) (((x).f_magic!=I960ROMAGIC) && ((x).f_magic!=I960RWMAGIC))
-
-#define        FILHDR  struct external_filehdr
-#define        FILHSZ  20
-
-/********************** AOUT "OPTIONAL HEADER" **********************/
-
-typedef struct
-{
-  unsigned long        phys_addr;
-  unsigned long        bitarray;
-} TAGBITS;
-
-typedef struct 
-{
-  char         magic[2];               /* type of file                         */
-  char vstamp[2];              /* version stamp                        */
-  char tsize[4];               /* text size in bytes, padded to FW bdry*/
-  char dsize[4];               /* initialized data "  "                */
-  char bsize[4];               /* uninitialized data "   "             */
-  char entry[4];               /* entry pt.                            */
-  char         text_start[4];          /* base of text used for this file */
-  char         data_start[4];          /* base of data used for this file */
-  char tagentries[4];          /* number of tag entries to follow */
-}
-AOUTHDR;
-
-/* return a pointer to the tag bits array */
-
-#define TAGPTR(aout) ((TAGBITS *) (&(aout.tagentries)+1))
-
-/* compute size of a header */
-
-/*#define AOUTSZ(aout) (sizeof(AOUTHDR)+(aout.tagentries*sizeof(TAGBITS)))*/
-#define AOUTSZ 32
-#define AOUTHDRSZ 32
-
-
-/********************** SECTION HEADER **********************/
-
-struct external_scnhdr
-{
-  char         s_name[8];      /* section name                 */
-  char         s_paddr[4];     /* physical address, aliased s_nlib */
-  char         s_vaddr[4];     /* virtual address              */
-  char         s_size[4];      /* section size                 */
-  char         s_scnptr[4];    /* file ptr to raw data for section */
-  char         s_relptr[4];    /* file ptr to relocation       */
-  char         s_lnnoptr[4];   /* file ptr to line numbers     */
-  char         s_nreloc[2];    /* number of relocation entries */
-  char         s_nlnno[2];     /* number of line number entries*/
-  char         s_flags[4];     /* flags                        */
-  char                 s_align[4];     /* section alignment            */
-};
-
-
-#define        SCNHDR  struct external_scnhdr
-#define        SCNHSZ  44
-
-/*
- * names of "special" sections
- */
-#define _TEXT   ".text"
-#define _DATA   ".data"
-#define _BSS    ".bss"
-
-/********************** LINE NUMBERS **********************/
-
-/* 1 line number entry for every "breakpointable" source line in a section.
- * Line numbers are grouped on a per function basis; first entry in a function
- * grouping will have l_lnno = 0 and in place of physical address will be the
- * symbol table index of the function name.
- */
-struct external_lineno
-{
-  union
-  {
-    char l_symndx[4];  /* function name symbol index, iff l_lnno == 0*/
-    char l_paddr[4];   /* (physical) address of line number    */
-  } l_addr;
-
-  char l_lnno[2];              /* line number          */
-  char padding[2];     /* force alignment      */
-};
-
-
-#define        LINENO  struct external_lineno
-#define        LINESZ  8
-
-/********************** SYMBOLS **********************/
-
-#define E_SYMNMLEN     8       /* # characters in a symbol name        */
-#define E_FILNMLEN     14      /* # characters in a file name          */
-#define E_DIMNUM       4       /* # array dimensions in auxiliary entry */
-
-struct external_syment 
-{
-  union
-  {
-    char e_name[E_SYMNMLEN];
-
-    struct
-    {
-      char e_zeroes[4];
-      char e_offset[4];
-    } e;
-  } e;
-
-  char e_value[4];
-  char e_scnum[2];
-  char e_flags[2];
-  char e_type[4];
-  char e_sclass[1];
-  char e_numaux[1];
-  char pad2[2];
-};
-
-#define N_BTMASK       (0x1f)
-#define N_TMASK                (0x60)
-#define N_BTSHFT       (5)
-#define N_TSHIFT       (2)
-  
-union external_auxent
-{
-  struct
-  {
-    char x_tagndx[4];  /* str, un, or enum tag indx */
-
-    union
-    {
-      struct
-      {
-       char  x_lnno[2]; /* declaration line number */
-       char  x_size[2]; /* str/union/array size */
-      } x_lnsz;
-
-      char x_fsize[4]; /* size of function */
-
-    } x_misc;
-
-    union
-    {
-      struct           /* if ISFCN, tag, or .bb */
-      {
-       char x_lnnoptr[4];      /* ptr to fcn line # */
-       char x_endndx[4];       /* entry ndx past block end */
-      } x_fcn;
-
-      struct           /* if ISARY, up to 4 dimen. */
-      {
-       char x_dimen[E_DIMNUM][2];
-      } x_ary;
-
-    } x_fcnary;
-
-    char x_tvndx[2];           /* tv index */
-
-  } x_sym;
-
-  union
-  {
-    char x_fname[E_FILNMLEN];
-
-    struct
-    {
-      char x_zeroes[4];
-      char x_offset[4];
-    } x_n;
-
-  } x_file;
-
-  struct
-  {
-    char x_scnlen[4];                  /* section length */
-    char x_nreloc[2];  /* # relocation entries */
-    char x_nlinno[2];  /* # line numbers */
-
-  } x_scn;
-
-  struct
-  {
-    char x_tvfill[4];  /* tv fill value */
-    char x_tvlen[2];   /* length of .tv */
-    char x_tvran[2][2];        /* tv range */
-
-  } x_tv;              /* info about .tv section (in auxent of symbol .tv)) */
-
-  /******************************************
-   *  I960-specific *2nd* aux. entry formats
-   ******************************************/
-  struct
-  {
-    /* This is a very old typo that keeps getting propagated. */
-#define x_stdindx x_stindx
-    char x_stindx[4];  /* sys. table entry */
-  } x_sc;      /* system call entry */
-
-  struct
-  {
-    char x_balntry[4]; /* BAL entry point */
-  } x_bal; /* BAL-callable function */
-
-  struct
-  {
-    char x_timestamp[4];               /* time stamp */
-    char       x_idstring[20];         /* producer identity string */
-
-  } x_ident;                           /* Producer ident info */
-};
-
-#define        SYMENT  struct external_syment
-#define        SYMESZ  24
-#define        AUXENT  union external_auxent
-#define        AUXESZ  24
-
-#      define _ETEXT   "_etext"
-
-/********************** RELOCATION DIRECTIVES **********************/
-
-struct external_reloc
-{
-  char r_vaddr[4];
-  char r_symndx[4];
-  char r_type[2];
-  char pad[2];
-};
-
-/* r_type values for the i960.  */
-
-/* The i960 uses R_RELLONG, which is defined in internal.h as 0x11.
-   It is an absolute 32 bit relocation.  */
-
-#define R_IPRMED       (0x19)  /* 24-bit ip-relative relocation */
-#define R_OPTCALL      (0x1b)  /* 32-bit optimizable call (leafproc/sysproc) */
-#define R_OPTCALLX     (0x1c)  /* 64-bit optimizable call (leafproc/sysproc) */
-
-/* The following relocation types are defined use by relaxing linkers,
-   which convert 32 bit calls (which require a 64 bit instruction)
-   into 24 bit calls (which require a 32 bit instruction) when
-   possible.  It will be possible whenever the target of the call is
-   within a 24 bit range of the call instruction.
-
-   It is always safe to ignore these relocations.  They only serve to
-   mark points which the relaxing linker will have to consider.  The
-   assembler must ensure that the correct code is generated even if
-   the relocations are ignored.  In particular, this means that the
-   R_IPR13 relocation may not appear with an external symbol.  */
-
-#define R_IPR13                (0x1d)  /* 13 bit ip-relative branch */
-#define R_ALIGN                (0x1e)  /* alignment marker.  This has no
-                                  associated symbol.  Instead, the
-                                  r_symndx field indicates the
-                                  require alignment at this point in
-                                  the file.  It must be a power of 2.  */
-
-#define RELOC struct external_reloc
-#define RELSZ 12
-
index 81a84c8e6e1c0d3b1dbe71be51d70a617e129546..2b7737d0fc1b21e5a9f76f0f12790d8ebab38d8a 100644 (file)
@@ -257,9 +257,6 @@ struct internal_aouthdr
   bfd_vma text_start;          /* base of text used for this file */
   bfd_vma data_start;          /* base of data used for this file */
 
   bfd_vma text_start;          /* base of text used for this file */
   bfd_vma data_start;          /* base of data used for this file */
 
-  /* i960 stuff */
-  unsigned long tagentries;    /* number of tag entries to follow */
-
   /* RS/6000 stuff */
   bfd_vma o_toc;               /* address of TOC                       */
   short o_snentry;             /* section number for entry point */
   /* RS/6000 stuff */
   bfd_vma o_toc;               /* address of TOC                       */
   short o_snentry;             /* section number for entry point */
@@ -416,7 +413,6 @@ struct internal_scnhdr
   unsigned long s_nreloc;      /* number of relocation entries */
   unsigned long s_nlnno;       /* number of line number entries*/
   long s_flags;                        /* flags                        */
   unsigned long s_nreloc;      /* number of relocation entries */
   unsigned long s_nlnno;       /* number of line number entries*/
   long s_flags;                        /* flags                        */
-  long s_align;                        /* used on I960                 */
   unsigned char s_page;         /* TI COFF load page            */
 };
 
   unsigned char s_page;         /* TI COFF load page            */
 };
 
@@ -668,28 +664,6 @@ union internal_auxent
 /*             14      ??? */
 #define        XMC_TC0 15              /* Read-write TOC anchor */
 #define XMC_TD 16              /* Read-write data in TOC */
 /*             14      ??? */
 #define        XMC_TC0 15              /* Read-write TOC anchor */
 #define XMC_TD 16              /* Read-write data in TOC */
-
-  /******************************************
-   *  I960-specific *2nd* aux. entry formats
-   ******************************************/
-  struct
-  {
-    /* This is a very old typo that keeps getting propagated. */
-#define x_stdindx x_stindx
-    long x_stindx;             /* sys. table entry */
-  }      x_sc;                 /* system call entry */
-
-  struct
-  {
-    unsigned long x_balntry;   /* BAL entry point */
-  }      x_bal;                        /* BAL-callable function */
-
-  struct
-  {
-    unsigned long x_timestamp; /* time stamp */
-    char x_idstring[20];       /* producer identity string */
-  }      x_ident;              /* Producer ident info */
-
 };
 
 /********************** RELOCATION DIRECTIVES **********************/
 };
 
 /********************** RELOCATION DIRECTIVES **********************/
diff --git a/include/elf/i860.h b/include/elf/i860.h
deleted file mode 100644 (file)
index 7762c1d..0000000
+++ /dev/null
@@ -1,66 +0,0 @@
-/* i860 ELF support for BFD.
-   Copyright (C) 2000-2018 Free Software Foundation, Inc.
-
-   Contributed by Jason Eckhardt <jle@cygnus.com>.
-
-   This file is part of BFD, the Binary File Descriptor library.
-
-   This program 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 3 of the License, or
-   (at your option) any later version.
-
-   This program 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 this program; if not, write to the Free Software Foundation,
-   Inc., 51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA.  */
-
-#ifndef _ELF_I860_H
-#define _ELF_I860_H
-
-/* Note: i860 ELF is defined to use only RELA relocations.  */
-
-#include "elf/reloc-macros.h"
-
-START_RELOC_NUMBERS (elf_i860_reloc_type)
-     RELOC_NUMBER (R_860_NONE,      0x00)      /* No reloc */
-     RELOC_NUMBER (R_860_32,        0x01)      /* S+A  */
-     RELOC_NUMBER (R_860_COPY,     0x02)       /* No calculation */
-     RELOC_NUMBER (R_860_GLOB_DAT,  0x03)      /* S, Create GOT entry */
-     RELOC_NUMBER (R_860_JUMP_SLOT, 0x04)      /* S+A, Create PLT entry */
-     RELOC_NUMBER (R_860_RELATIVE,  0x05)      /* B+A, Adj by program base */
-     RELOC_NUMBER (R_860_PC26,      0x30)      /* (S+A-P) >> 2 */ 
-     RELOC_NUMBER (R_860_PLT26,            0x31)       /* (L+A-P) >> 2 */
-     RELOC_NUMBER (R_860_PC16,      0x32)      /* (S+A-P) >> 2 */
-     RELOC_NUMBER (R_860_LOW0,      0x40)      /* S+A */
-     RELOC_NUMBER (R_860_SPLIT0,    0x42)      /* S+A */       
-     RELOC_NUMBER (R_860_LOW1,      0x44)      /* S+A */
-     RELOC_NUMBER (R_860_SPLIT1,    0x46)      /* S+A */
-     RELOC_NUMBER (R_860_LOW2,      0x48)      /* S+A */
-     RELOC_NUMBER (R_860_SPLIT2,    0x4A)      /* S+A */
-     RELOC_NUMBER (R_860_LOW3,      0x4C)      /* S+A */
-     RELOC_NUMBER (R_860_LOGOT0,    0x50)      /* G */
-     RELOC_NUMBER (R_860_SPGOT0,    0x52)      /* G */
-     RELOC_NUMBER (R_860_LOGOT1,    0x54)      /* G */
-     RELOC_NUMBER (R_860_SPGOT1,    0x56)      /* G */
-     RELOC_NUMBER (R_860_LOGOTOFF0, 0x60)      /* O */
-     RELOC_NUMBER (R_860_SPGOTOFF0, 0x62)      /* O */
-     RELOC_NUMBER (R_860_LOGOTOFF1, 0x64)      /* O */
-     RELOC_NUMBER (R_860_SPGOTOFF1, 0x66)      /* O */
-     RELOC_NUMBER (R_860_LOGOTOFF2, 0x68)      /* O */
-     RELOC_NUMBER (R_860_LOGOTOFF3, 0x6C)      /* O */
-     RELOC_NUMBER (R_860_LOPC,      0x70)      /* (S+A-P) >> 2 */
-     RELOC_NUMBER (R_860_HIGHADJ,   0x80)      /* hiadj(S+A) */
-     RELOC_NUMBER (R_860_HAGOT,     0x90)      /* hiadj(G) */
-     RELOC_NUMBER (R_860_HAGOTOFF,  0xA0)      /* hiadj(O) */
-     RELOC_NUMBER (R_860_HAPC,      0xB0)      /* hiadj((S+A-P) >> 2) */
-     RELOC_NUMBER (R_860_HIGH,      0xC0)      /* (S+A) >> 16 */
-     RELOC_NUMBER (R_860_HIGOT,     0xD0)      /* G >> 16 */
-     RELOC_NUMBER (R_860_HIGOTOFF,  0xE0)      /* O */
-END_RELOC_NUMBERS (R_860_max)
-
-#endif
diff --git a/include/elf/i960.h b/include/elf/i960.h
deleted file mode 100644 (file)
index 1b9a587..0000000
+++ /dev/null
@@ -1,37 +0,0 @@
-/* Intel 960 ELF support for BFD.
-   Copyright (C) 1999-2018 Free Software Foundation, Inc.
-
-   This file is part of BFD, the Binary File Descriptor library.
-
-   This program 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 3 of the License, or
-   (at your option) any later version.
-
-   This program 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 this program; if not, write to the Free Software Foundation,
-   Inc., 51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA.  */
-
-#ifndef _ELF_I960_H
-#define _ELF_I960_H
-
-#include "elf/reloc-macros.h"
-
-
-START_RELOC_NUMBERS (elf_i960_reloc_type)
-     RELOC_NUMBER (R_960_NONE,     0)
-     RELOC_NUMBER (R_960_12,       1)
-     RELOC_NUMBER (R_960_32,       2)
-     RELOC_NUMBER (R_960_IP24,     3)
-     RELOC_NUMBER (R_960_SUB,      4)
-     RELOC_NUMBER (R_960_OPTCALL,   5)
-     RELOC_NUMBER (R_960_OPTCALLX,  6)
-     RELOC_NUMBER (R_960_OPTCALLXA, 7)
-END_RELOC_NUMBERS (R_960_max)
-
-#endif /* _ELF_I960_H */
diff --git a/include/opcode/i860.h b/include/opcode/i860.h
deleted file mode 100644 (file)
index 3a0e57f..0000000
+++ /dev/null
@@ -1,506 +0,0 @@
-/* Table of opcodes for the i860.
-   Copyright (C) 1989-2018 Free Software Foundation, Inc.
-
-   This file is part of the GNU opcodes library.
-
-   GAS/GDB 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 3, or (at your option)
-   any later version.
-
-   GAS/GDB 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 or GDB; see the file COPYING3.  If not, write to
-   the Free Software Foundation, 51 Franklin Street - Fifth Floor,
-   Boston, MA 02110-1301, USA.  */
-
-/* Structure of an opcode table entry.  */
-struct i860_opcode
-{
-    /* The opcode name.  */
-    const char *name;
-
-    /* Bits that must be set.  */
-    unsigned long match;
-
-    /* Bits that must not be set.  */
-    unsigned long lose;
-
-    const char *args;
-
-    /* Nonzero if this is a possible expand-instruction.  */
-    char expand;
-};
-
-
-enum expand_type
-{
-    E_MOV = 1, E_ADDR, E_U32, E_AND, E_S32, E_DELAY, XP_ONLY
-};
-
-
-/* All i860 opcodes are 32 bits, except for the pseudo-instructions
-   and the operations utilizing a 32-bit address expression, an
-   unsigned 32-bit constant, or a signed 32-bit constant.
-   These opcodes are expanded into a two-instruction sequence for
-   any situation where the immediate operand does not fit in 32 bits.
-   In the case of the add and subtract operations the expansion is
-   to a three-instruction sequence (ex: orh, or, adds).  In cases
-   where the address is to be relocated, the instruction is
-   expanded to handle the worse case, this could be optimized at
-   the final link if the actual address were known.
-
-   The pseudoinstructions are:  mov, fmov, pmov, nop, and fnop.
-   These instructions are implemented as a one or two instruction
-   sequence of other operations.
-
-   The match component is a mask saying which bits must match a
-   particular opcode in order for an instruction to be an instance
-   of that opcode.
-
-   The args component is a string containing one character
-   for each operand of the instruction.
-
-Kinds of operands:
-   #    Number used by optimizer.  It is ignored.
-   1    src1 integer register.
-   2    src2 integer register.
-   d    dest register.
-   c   ctrlreg control register.
-   i    16 bit immediate.
-   I    16 bit immediate, aligned 2^0. (ld.b)
-   J    16 bit immediate, aligned 2^1. (ld.s)
-   K    16 bit immediate, aligned 2^2. (ld.l, {p}fld.l, fst.l)
-   L    16 bit immediate, aligned 2^3. ({p}fld.d, fst.d)
-   M    16 bit immediate, aligned 2^4. ({p}fld.q, fst.q)
-   5    5 bit immediate.
-   l    lbroff 26 bit PC relative immediate.
-   r    sbroff 16 bit PC relative immediate.
-   s   split 16 bit immediate.
-   S   split 16 bit immediate, aligned 2^0. (st.b)
-   T   split 16 bit immediate, aligned 2^1. (st.s)
-   U   split 16 bit immediate, aligned 2^2. (st.l)
-   e    src1 floating point register.
-   f    src2 floating point register.
-   g    dest floating point register.  */
-
-
-/* The order of the opcodes in this table is significant. The assembler
-   requires that all instances of the same mnemonic must be consecutive.
-   If they aren't, the assembler will not function properly.
-   The order of opcodes does not affect the disassembler.  */
-
-static const struct i860_opcode i860_opcodes[] =
-{
-/* REG-Format Instructions.  */
-{ "ld.c",      0x30000000, 0xcc000000, "c,d", 0 },     /* ld.c csrc2,idest */
-{ "ld.b",      0x00000000, 0xfc000000, "1(2),d", 0 },  /* ld.b isrc1(isrc2),idest */
-{ "ld.b",      0x04000000, 0xf8000000, "I(2),d", E_ADDR },     /* ld.b #const(isrc2),idest */
-{ "ld.s",      0x10000000, 0xec000001, "1(2),d", 0 },  /* ld.s isrc1(isrc2),idest */
-{ "ld.s",      0x14000000, 0xe8000001, "J(2),d", E_ADDR },     /* ld.s #const(isrc2),idest */
-{ "ld.l",      0x10000001, 0xec000000, "1(2),d", 0 },  /* ld.l isrc1(isrc2),idest */
-{ "ld.l",      0x14000001, 0xe8000000, "K(2),d", E_ADDR },     /* ld.l #const(isrc2),idest */
-
-{ "st.c",      0x38000000, 0xc4000000, "1,c", 0 },     /* st.c isrc1ni,csrc2 */
-{ "st.b",      0x0c000000, 0xf0000000, "1,S(2)", E_ADDR },     /* st.b isrc1ni,#const(isrc2) */
-{ "st.s",      0x1c000000, 0xe0000001, "1,T(2)", E_ADDR },     /* st.s isrc1ni,#const(isrc2) */
-{ "st.l",      0x1c000001, 0xe0000000, "1,U(2)", E_ADDR },     /* st.l isrc1ni,#const(isrc2) */
-
-{ "ixfr",      0x08000000, 0xf4000000, "1,g", 0 },     /* ixfr isrc1ni,fdest */
-
-{ "fld.l",     0x20000002, 0xdc000001, "1(2),g", 0 },  /* fld.l isrc1(isrc2),fdest */
-{ "fld.l",     0x24000002, 0xd8000001, "K(2),g", E_ADDR },     /* fld.l #const(isrc2),fdest */
-{ "fld.l",     0x20000003, 0xdc000000, "1(2)++,g", 0 },        /* fld.l isrc1(isrc2)++,fdest */
-{ "fld.l",     0x24000003, 0xd8000000, "K(2)++,g", E_ADDR },   /* fld.l #const(isrc2)++,fdest */
-{ "fld.d",     0x20000000, 0xdc000007, "1(2),g", 0 },  /* fld.d isrc1(isrc2),fdest */
-{ "fld.d",     0x24000000, 0xd8000007, "L(2),g", E_ADDR },     /* fld.d #const(isrc2),fdest */
-{ "fld.d",     0x20000001, 0xdc000006, "1(2)++,g", 0 },        /* fld.d isrc1(isrc2)++,fdest */
-{ "fld.d",     0x24000001, 0xd8000006, "L(2)++,g", E_ADDR },   /* fld.d #const(isrc2)++,fdest */
-{ "fld.q",     0x20000004, 0xdc000003, "1(2),g", 0 },  /* fld.q isrc1(isrc2),fdest */
-{ "fld.q",     0x24000004, 0xd8000003, "M(2),g", E_ADDR },     /* fld.q #const(isrc2),fdest */
-{ "fld.q",     0x20000005, 0xdc000002, "1(2)++,g", 0 },        /* fld.q isrc1(isrc2)++,fdest */
-{ "fld.q",     0x24000005, 0xd8000002, "M(2)++,g", E_ADDR },   /* fld.q #const(isrc2)++,fdest */
-
-{ "pfld.l",    0x60000002, 0x9c000001, "1(2),g", 0 },  /* pfld.l isrc1(isrc2),fdest */
-{ "pfld.l",    0x64000002, 0x98000001, "K(2),g", E_ADDR },     /* pfld.l #const(isrc2),fdest */
-{ "pfld.l",    0x60000003, 0x9c000000, "1(2)++,g", 0 },        /* pfld.l isrc1(isrc2)++,fdest */
-{ "pfld.l",    0x64000003, 0x98000000, "K(2)++,g", E_ADDR },   /* pfld.l #const(isrc2)++,fdest */
-{ "pfld.d",    0x60000000, 0x9c000007, "1(2),g", 0 },  /* pfld.d isrc1(isrc2),fdest */
-{ "pfld.d",    0x64000000, 0x98000007, "L(2),g", E_ADDR },     /* pfld.d #const(isrc2),fdest */
-{ "pfld.d",    0x60000001, 0x9c000006, "1(2)++,g", 0 },        /* pfld.d isrc1(isrc2)++,fdest */
-{ "pfld.d",    0x64000001, 0x98000006, "L(2)++,g", E_ADDR },   /* pfld.d #const(isrc2)++,fdest */
-{ "pfld.q",    0x60000004, 0x9c000003, "1(2),g", XP_ONLY },    /* pfld.q isrc1(isrc2),fdest */
-{ "pfld.q",    0x64000004, 0x98000003, "L(2),g", XP_ONLY },    /* pfld.q #const(isrc2),fdest */
-{ "pfld.q",    0x60000005, 0x9c000002, "1(2)++,g", XP_ONLY },  /* pfld.q isrc1(isrc2)++,fdest */
-{ "pfld.q",    0x64000005, 0x98000002, "L(2)++,g", XP_ONLY },  /* pfld.q #const(isrc2)++,fdest */
-
-{ "fst.l",     0x28000002, 0xd4000001, "g,1(2)", 0 },  /* fst.l fdest,isrc1(isrc2) */
-{ "fst.l",     0x2c000002, 0xd0000001, "g,K(2)", E_ADDR },     /* fst.l fdest,#const(isrc2) */
-{ "fst.l",     0x28000003, 0xd4000000, "g,1(2)++", 0 },        /* fst.l fdest,isrc1(isrc2)++ */
-{ "fst.l",     0x2c000003, 0xd0000000, "g,K(2)++", E_ADDR },   /* fst.l fdest,#const(isrc2)++ */
-{ "fst.d",     0x28000000, 0xd4000007, "g,1(2)", 0 },  /* fst.d fdest,isrc1(isrc2) */
-{ "fst.d",     0x2c000000, 0xd0000007, "g,L(2)", E_ADDR },     /* fst.d fdest,#const(isrc2) */
-{ "fst.d",     0x28000001, 0xd4000006, "g,1(2)++", 0 },        /* fst.d fdest,isrc1(isrc2)++ */
-{ "fst.d",     0x2c000001, 0xd0000006, "g,L(2)++", E_ADDR },   /* fst.d fdest,#const(isrc2)++ */
-{ "fst.q",     0x28000004, 0xd4000003, "g,1(2)", 0 },  /* fst.d fdest,isrc1(isrc2) */
-{ "fst.q",     0x2c000004, 0xd0000003, "g,M(2)", E_ADDR },     /* fst.d fdest,#const(isrc2) */
-{ "fst.q",     0x28000005, 0xd4000002, "g,1(2)++", 0 },        /* fst.d fdest,isrc1(isrc2)++ */
-{ "fst.q",     0x2c000005, 0xd0000002, "g,M(2)++", E_ADDR },   /* fst.d fdest,#const(isrc2)++ */
-
-{ "pst.d",     0x3c000000, 0xc0000007, "g,L(2)", E_ADDR },     /* pst.d fdest,#const(isrc2) */
-{ "pst.d",     0x3c000001, 0xc0000006, "g,L(2)++", E_ADDR },   /* pst.d fdest,#const(isrc2)++ */
-
-{ "addu",      0x80000000, 0x7c000000, "1,2,d", 0 },   /* addu isrc1,isrc2,idest */
-{ "addu",      0x84000000, 0x78000000, "i,2,d", E_S32 },       /* addu #const,isrc2,idest */
-{ "adds",      0x90000000, 0x6c000000, "1,2,d", 0 },   /* adds isrc1,isrc2,idest */
-{ "adds",      0x94000000, 0x68000000, "i,2,d", E_S32 },       /* adds #const,isrc2,idest */
-{ "subu",      0x88000000, 0x74000000, "1,2,d", 0 },   /* subu isrc1,isrc2,idest */
-{ "subu",      0x8c000000, 0x70000000, "i,2,d", E_S32 },       /* subu #const,isrc2,idest */
-{ "subs",      0x98000000, 0x64000000, "1,2,d", 0 },   /* subs isrc1,isrc2,idest */
-{ "subs",      0x9c000000, 0x60000000, "i,2,d", E_S32 },       /* subs #const,isrc2,idest */
-
-{ "shl",       0xa0000000, 0x5c000000, "1,2,d", 0 },   /* shl isrc1,isrc2,idest */
-{ "shl",       0xa4000000, 0x58000000, "i,2,d", 0 },   /* shl #const,isrc2,idest */
-{ "shr",       0xa8000000, 0x54000000, "1,2,d", 0 },   /* shr isrc1,isrc2,idest */
-{ "shr",       0xac000000, 0x50000000, "i,2,d", 0 },   /* shr #const,isrc2,idest */
-{ "shrd",      0xb0000000, 0x4c000000, "1,2,d", 0 },   /* shrd isrc1,isrc2,idest */
-{ "shra",      0xb8000000, 0x44000000, "1,2,d", 0 },   /* shra isrc1,isrc2,idest */
-{ "shra",      0xbc000000, 0x40000000, "i,2,d", 0 },   /* shra #const,isrc2,idest */
-
-{ "mov",       0xa0000000, 0x5c00f800, "2,d", 0 },     /* shl r0,isrc2,idest */
-{ "mov",       0x94000000, 0x69e00000, "i,d", E_MOV }, /* adds #const,r0,idest */
-{ "nop",       0xa0000000, 0x5ffff800, "", 0 },        /* shl r0,r0,r0 */
-{ "fnop",      0xb0000000, 0x4ffff800, "", 0 },        /* shrd r0,r0,r0 */
-
-{ "trap",      0x44000000, 0xb8000000, "1,2,d", 0 },   /* trap isrc1ni,isrc2,idest */
-
-{ "flush",     0x34000004, 0xc81f0003, "L(2)", E_ADDR },       /* flush #const(isrc2) */
-{ "flush",     0x34000005, 0xc81f0002, "L(2)++", E_ADDR },     /* flush #const(isrc2)++ */
-
-{ "and",       0xc0000000, 0x3c000000, "1,2,d", 0 },   /* and isrc1,isrc2,idest */
-{ "and",       0xc4000000, 0x38000000, "i,2,d", E_AND },       /* and #const,isrc2,idest */
-{ "andh",      0xcc000000, 0x30000000, "i,2,d", 0 },   /* andh #const,isrc2,idest */
-{ "andnot",    0xd0000000, 0x2c000000, "1,2,d", 0 },   /* andnot isrc1,isrc2,idest */
-{ "andnot",    0xd4000000, 0x28000000, "i,2,d", E_U32 },       /* andnot #const,isrc2,idest */
-{ "andnoth",   0xdc000000, 0x20000000, "i,2,d", 0 },   /* andnoth #const,isrc2,idest */
-{ "or",                0xe0000000, 0x1c000000, "1,2,d", 0 },   /* or isrc1,isrc2,idest */
-{ "or",                0xe4000000, 0x18000000, "i,2,d", E_U32 },       /* or #const,isrc2,idest */
-{ "orh",       0xec000000, 0x10000000, "i,2,d", 0 },   /* orh #const,isrc2,idest */
-{ "xor",       0xf0000000, 0x0c000000, "1,2,d", 0 },   /* xor isrc1,isrc2,idest */
-{ "xor",       0xf4000000, 0x08000000, "i,2,d", E_U32 },       /* xor #const,isrc2,idest */
-{ "xorh",      0xfc000000, 0x00000000, "i,2,d", 0 },   /* xorh #const,isrc2,idest */
-
-{ "bte",       0x58000000, 0xa4000000, "1,2,r", 0 },   /* bte isrc1s,isrc2,sbroff */
-{ "bte",       0x5c000000, 0xa0000000, "5,2,r", 0 },   /* bte #const5,isrc2,sbroff */
-{ "btne",      0x50000000, 0xac000000, "1,2,r", 0 },   /* btne isrc1s,isrc2,sbroff */
-{ "btne",      0x54000000, 0xa8000000, "5,2,r", 0 },   /* btne #const5,isrc2,sbroff */
-{ "bla",       0xb4000000, 0x48000000, "1,2,r", E_DELAY },     /* bla isrc1s,isrc2,sbroff */
-{ "bri",       0x40000000, 0xbc000000, "1", E_DELAY }, /* bri isrc1ni */
-
-/* Core Escape Instruction Format */
-{ "lock",      0x4c000001, 0xb000001e, "", 0 },        /* lock set BL in dirbase */
-{ "calli",     0x4c000002, 0xb000001d, "1", E_DELAY }, /* calli isrc1ni */
-{ "intovr",    0x4c000004, 0xb000001b, "", 0 },        /* intovr trap on integer overflow */
-{ "unlock",    0x4c000007, 0xb0000018, "", 0 },        /* unlock clear BL in dirbase */
-{ "ldio.l",    0x4c000408, 0xb00003f7, "2,d", XP_ONLY },       /* ldio.l isrc2,idest */
-{ "ldio.s",    0x4c000208, 0xb00005f7, "2,d", XP_ONLY },       /* ldio.s isrc2,idest */
-{ "ldio.b",    0x4c000008, 0xb00007f7, "2,d", XP_ONLY },       /* ldio.b isrc2,idest */
-{ "stio.l",    0x4c000409, 0xb00003f6, "1,2", XP_ONLY },       /* stio.l isrc1ni,isrc2 */
-{ "stio.s",    0x4c000209, 0xb00005f6, "1,2", XP_ONLY },       /* stio.s isrc1ni,isrc2 */
-{ "stio.b",    0x4c000009, 0xb00007f6, "1,2", XP_ONLY },       /* stio.b isrc1ni,isrc2 */
-{ "ldint.l",   0x4c00040a, 0xb00003f5, "2,d", XP_ONLY },       /* ldint.l isrc2,idest */
-{ "ldint.s",   0x4c00020a, 0xb00005f5, "2,d", XP_ONLY },       /* ldint.s isrc2,idest */
-{ "ldint.b",   0x4c00000a, 0xb00007f5, "2,d", XP_ONLY },       /* ldint.b isrc2,idest */
-{ "scyc.b",    0x4c00000b, 0xb00007f4, "2", XP_ONLY },         /* scyc.b isrc2 */
-
-/* CTRL-Format Instructions */
-{ "br",                0x68000000, 0x94000000, "l", E_DELAY }, /* br lbroff */
-{ "call",      0x6c000000, 0x90000000, "l", E_DELAY }, /* call lbroff */
-{ "bc",                0x70000000, 0x8c000000, "l", 0 },       /* bc lbroff */
-{ "bc.t",      0x74000000, 0x88000000, "l", E_DELAY }, /* bc.t lbroff */
-{ "bnc",       0x78000000, 0x84000000, "l", 0 },       /* bnc lbroff */
-{ "bnc.t",     0x7c000000, 0x80000000, "l", E_DELAY }, /* bnc.t lbroff */
-
-/* Floating Point Escape Instruction Format - pfam.p fsrc1,fsrc2,fdest.  */
-{ "r2p1.ss",   0x48000400, 0xb40001ff, "e,f,g", 0 },
-{ "r2p1.sd",   0x48000480, 0xb400017f, "e,f,g", 0 },
-{ "r2p1.dd",   0x48000580, 0xb400007f, "e,f,g", 0 },
-{ "r2pt.ss",   0x48000401, 0xb40001fe, "e,f,g", 0 },
-{ "r2pt.sd",   0x48000481, 0xb400017e, "e,f,g", 0 },
-{ "r2pt.dd",   0x48000581, 0xb400007e, "e,f,g", 0 },
-{ "r2ap1.ss",  0x48000402, 0xb40001fd, "e,f,g", 0 },
-{ "r2ap1.sd",  0x48000482, 0xb400017d, "e,f,g", 0 },
-{ "r2ap1.dd",  0x48000582, 0xb400007d, "e,f,g", 0 },
-{ "r2apt.ss",  0x48000403, 0xb40001fc, "e,f,g", 0 },
-{ "r2apt.sd",  0x48000483, 0xb400017c, "e,f,g", 0 },
-{ "r2apt.dd",  0x48000583, 0xb400007c, "e,f,g", 0 },
-{ "i2p1.ss",   0x48000404, 0xb40001fb, "e,f,g", 0 },
-{ "i2p1.sd",   0x48000484, 0xb400017b, "e,f,g", 0 },
-{ "i2p1.dd",   0x48000584, 0xb400007b, "e,f,g", 0 },
-{ "i2pt.ss",   0x48000405, 0xb40001fa, "e,f,g", 0 },
-{ "i2pt.sd",   0x48000485, 0xb400017a, "e,f,g", 0 },
-{ "i2pt.dd",   0x48000585, 0xb400007a, "e,f,g", 0 },
-{ "i2ap1.ss",  0x48000406, 0xb40001f9, "e,f,g", 0 },
-{ "i2ap1.sd",  0x48000486, 0xb4000179, "e,f,g", 0 },
-{ "i2ap1.dd",  0x48000586, 0xb4000079, "e,f,g", 0 },
-{ "i2apt.ss",  0x48000407, 0xb40001f8, "e,f,g", 0 },
-{ "i2apt.sd",  0x48000487, 0xb4000178, "e,f,g", 0 },
-{ "i2apt.dd",  0x48000587, 0xb4000078, "e,f,g", 0 },
-{ "rat1p2.ss", 0x48000408, 0xb40001f7, "e,f,g", 0 },
-{ "rat1p2.sd", 0x48000488, 0xb4000177, "e,f,g", 0 },
-{ "rat1p2.dd", 0x48000588, 0xb4000077, "e,f,g", 0 },
-{ "m12apm.ss", 0x48000409, 0xb40001f6, "e,f,g", 0 },
-{ "m12apm.sd", 0x48000489, 0xb4000176, "e,f,g", 0 },
-{ "m12apm.dd", 0x48000589, 0xb4000076, "e,f,g", 0 },
-{ "ra1p2.ss",  0x4800040a, 0xb40001f5, "e,f,g", 0 },
-{ "ra1p2.sd",  0x4800048a, 0xb4000175, "e,f,g", 0 },
-{ "ra1p2.dd",  0x4800058a, 0xb4000075, "e,f,g", 0 },
-{ "m12ttpa.ss",        0x4800040b, 0xb40001f4, "e,f,g", 0 },
-{ "m12ttpa.sd",        0x4800048b, 0xb4000174, "e,f,g", 0 },
-{ "m12ttpa.dd",        0x4800058b, 0xb4000074, "e,f,g", 0 },
-{ "iat1p2.ss", 0x4800040c, 0xb40001f3, "e,f,g", 0 },
-{ "iat1p2.sd", 0x4800048c, 0xb4000173, "e,f,g", 0 },
-{ "iat1p2.dd", 0x4800058c, 0xb4000073, "e,f,g", 0 },
-{ "m12tpm.ss", 0x4800040d, 0xb40001f2, "e,f,g", 0 },
-{ "m12tpm.sd", 0x4800048d, 0xb4000172, "e,f,g", 0 },
-{ "m12tpm.dd", 0x4800058d, 0xb4000072, "e,f,g", 0 },
-{ "ia1p2.ss",  0x4800040e, 0xb40001f1, "e,f,g", 0 },
-{ "ia1p2.sd",  0x4800048e, 0xb4000171, "e,f,g", 0 },
-{ "ia1p2.dd",  0x4800058e, 0xb4000071, "e,f,g", 0 },
-{ "m12tpa.ss", 0x4800040f, 0xb40001f0, "e,f,g", 0 },
-{ "m12tpa.sd", 0x4800048f, 0xb4000170, "e,f,g", 0 },
-{ "m12tpa.dd", 0x4800058f, 0xb4000070, "e,f,g", 0 },
-
-/* Floating Point Escape Instruction Format - pfsm.p fsrc1,fsrc2,fdest.  */
-{ "r2s1.ss",   0x48000410, 0xb40001ef, "e,f,g", 0 },
-{ "r2s1.sd",   0x48000490, 0xb400016f, "e,f,g", 0 },
-{ "r2s1.dd",   0x48000590, 0xb400006f, "e,f,g", 0 },
-{ "r2st.ss",   0x48000411, 0xb40001ee, "e,f,g", 0 },
-{ "r2st.sd",   0x48000491, 0xb400016e, "e,f,g", 0 },
-{ "r2st.dd",   0x48000591, 0xb400006e, "e,f,g", 0 },
-{ "r2as1.ss",  0x48000412, 0xb40001ed, "e,f,g", 0 },
-{ "r2as1.sd",  0x48000492, 0xb400016d, "e,f,g", 0 },
-{ "r2as1.dd",  0x48000592, 0xb400006d, "e,f,g", 0 },
-{ "r2ast.ss",  0x48000413, 0xb40001ec, "e,f,g", 0 },
-{ "r2ast.sd",  0x48000493, 0xb400016c, "e,f,g", 0 },
-{ "r2ast.dd",  0x48000593, 0xb400006c, "e,f,g", 0 },
-{ "i2s1.ss",   0x48000414, 0xb40001eb, "e,f,g", 0 },
-{ "i2s1.sd",   0x48000494, 0xb400016b, "e,f,g", 0 },
-{ "i2s1.dd",   0x48000594, 0xb400006b, "e,f,g", 0 },
-{ "i2st.ss",   0x48000415, 0xb40001ea, "e,f,g", 0 },
-{ "i2st.sd",   0x48000495, 0xb400016a, "e,f,g", 0 },
-{ "i2st.dd",   0x48000595, 0xb400006a, "e,f,g", 0 },
-{ "i2as1.ss",  0x48000416, 0xb40001e9, "e,f,g", 0 },
-{ "i2as1.sd",  0x48000496, 0xb4000169, "e,f,g", 0 },
-{ "i2as1.dd",  0x48000596, 0xb4000069, "e,f,g", 0 },
-{ "i2ast.ss",  0x48000417, 0xb40001e8, "e,f,g", 0 },
-{ "i2ast.sd",  0x48000497, 0xb4000168, "e,f,g", 0 },
-{ "i2ast.dd",  0x48000597, 0xb4000068, "e,f,g", 0 },
-{ "rat1s2.ss", 0x48000418, 0xb40001e7, "e,f,g", 0 },
-{ "rat1s2.sd", 0x48000498, 0xb4000167, "e,f,g", 0 },
-{ "rat1s2.dd", 0x48000598, 0xb4000067, "e,f,g", 0 },
-{ "m12asm.ss", 0x48000419, 0xb40001e6, "e,f,g", 0 },
-{ "m12asm.sd", 0x48000499, 0xb4000166, "e,f,g", 0 },
-{ "m12asm.dd", 0x48000599, 0xb4000066, "e,f,g", 0 },
-{ "ra1s2.ss",  0x4800041a, 0xb40001e5, "e,f,g", 0 },
-{ "ra1s2.sd",  0x4800049a, 0xb4000165, "e,f,g", 0 },
-{ "ra1s2.dd",  0x4800059a, 0xb4000065, "e,f,g", 0 },
-{ "m12ttsa.ss",        0x4800041b, 0xb40001e4, "e,f,g", 0 },
-{ "m12ttsa.sd",        0x4800049b, 0xb4000164, "e,f,g", 0 },
-{ "m12ttsa.dd",        0x4800059b, 0xb4000064, "e,f,g", 0 },
-{ "iat1s2.ss", 0x4800041c, 0xb40001e3, "e,f,g", 0 },
-{ "iat1s2.sd", 0x4800049c, 0xb4000163, "e,f,g", 0 },
-{ "iat1s2.dd", 0x4800059c, 0xb4000063, "e,f,g", 0 },
-{ "m12tsm.ss", 0x4800041d, 0xb40001e2, "e,f,g", 0 },
-{ "m12tsm.sd", 0x4800049d, 0xb4000162, "e,f,g", 0 },
-{ "m12tsm.dd", 0x4800059d, 0xb4000062, "e,f,g", 0 },
-{ "ia1s2.ss",  0x4800041e, 0xb40001e1, "e,f,g", 0 },
-{ "ia1s2.sd",  0x4800049e, 0xb4000161, "e,f,g", 0 },
-{ "ia1s2.dd",  0x4800059e, 0xb4000061, "e,f,g", 0 },
-{ "m12tsa.ss", 0x4800041f, 0xb40001e0, "e,f,g", 0 },
-{ "m12tsa.sd", 0x4800049f, 0xb4000160, "e,f,g", 0 },
-{ "m12tsa.dd", 0x4800059f, 0xb4000060, "e,f,g", 0 },
-
-/* Floating Point Escape Instruction Format - pfmam.p fsrc1,fsrc2,fdest.  */
-{ "mr2p1.ss",  0x48000000, 0xb40005ff, "e,f,g", 0 },
-{ "mr2p1.sd",  0x48000080, 0xb400057f, "e,f,g", 0 },
-{ "mr2p1.dd",  0x48000180, 0xb400047f, "e,f,g", 0 },
-{ "mr2pt.ss",  0x48000001, 0xb40005fe, "e,f,g", 0 },
-{ "mr2pt.sd",  0x48000081, 0xb400057e, "e,f,g", 0 },
-{ "mr2pt.dd",  0x48000181, 0xb400047e, "e,f,g", 0 },
-{ "mr2mp1.ss", 0x48000002, 0xb40005fd, "e,f,g", 0 },
-{ "mr2mp1.sd", 0x48000082, 0xb400057d, "e,f,g", 0 },
-{ "mr2mp1.dd", 0x48000182, 0xb400047d, "e,f,g", 0 },
-{ "mr2mpt.ss", 0x48000003, 0xb40005fc, "e,f,g", 0 },
-{ "mr2mpt.sd", 0x48000083, 0xb400057c, "e,f,g", 0 },
-{ "mr2mpt.dd", 0x48000183, 0xb400047c, "e,f,g", 0 },
-{ "mi2p1.ss",  0x48000004, 0xb40005fb, "e,f,g", 0 },
-{ "mi2p1.sd",  0x48000084, 0xb400057b, "e,f,g", 0 },
-{ "mi2p1.dd",  0x48000184, 0xb400047b, "e,f,g", 0 },
-{ "mi2pt.ss",  0x48000005, 0xb40005fa, "e,f,g", 0 },
-{ "mi2pt.sd",  0x48000085, 0xb400057a, "e,f,g", 0 },
-{ "mi2pt.dd",  0x48000185, 0xb400047a, "e,f,g", 0 },
-{ "mi2mp1.ss", 0x48000006, 0xb40005f9, "e,f,g", 0 },
-{ "mi2mp1.sd", 0x48000086, 0xb4000579, "e,f,g", 0 },
-{ "mi2mp1.dd", 0x48000186, 0xb4000479, "e,f,g", 0 },
-{ "mi2mpt.ss", 0x48000007, 0xb40005f8, "e,f,g", 0 },
-{ "mi2mpt.sd", 0x48000087, 0xb4000578, "e,f,g", 0 },
-{ "mi2mpt.dd", 0x48000187, 0xb4000478, "e,f,g", 0 },
-{ "mrmt1p2.ss",        0x48000008, 0xb40005f7, "e,f,g", 0 },
-{ "mrmt1p2.sd",        0x48000088, 0xb4000577, "e,f,g", 0 },
-{ "mrmt1p2.dd",        0x48000188, 0xb4000477, "e,f,g", 0 },
-{ "mm12mpm.ss",        0x48000009, 0xb40005f6, "e,f,g", 0 },
-{ "mm12mpm.sd",        0x48000089, 0xb4000576, "e,f,g", 0 },
-{ "mm12mpm.dd",        0x48000189, 0xb4000476, "e,f,g", 0 },
-{ "mrm1p2.ss", 0x4800000a, 0xb40005f5, "e,f,g", 0 },
-{ "mrm1p2.sd", 0x4800008a, 0xb4000575, "e,f,g", 0 },
-{ "mrm1p2.dd", 0x4800018a, 0xb4000475, "e,f,g", 0 },
-{ "mm12ttpm.ss",0x4800000b, 0xb40005f4, "e,f,g", 0 },
-{ "mm12ttpm.sd",0x4800008b, 0xb4000574, "e,f,g", 0 },
-{ "mm12ttpm.dd",0x4800018b, 0xb4000474, "e,f,g", 0 },
-{ "mimt1p2.ss",        0x4800000c, 0xb40005f3, "e,f,g", 0 },
-{ "mimt1p2.sd",        0x4800008c, 0xb4000573, "e,f,g", 0 },
-{ "mimt1p2.dd",        0x4800018c, 0xb4000473, "e,f,g", 0 },
-{ "mm12tpm.ss",        0x4800000d, 0xb40005f2, "e,f,g", 0 },
-{ "mm12tpm.sd",        0x4800008d, 0xb4000572, "e,f,g", 0 },
-{ "mm12tpm.dd",        0x4800018d, 0xb4000472, "e,f,g", 0 },
-{ "mim1p2.ss", 0x4800000e, 0xb40005f1, "e,f,g", 0 },
-{ "mim1p2.sd", 0x4800008e, 0xb4000571, "e,f,g", 0 },
-{ "mim1p2.dd", 0x4800018e, 0xb4000471, "e,f,g", 0 },
-
-/* Floating Point Escape Instruction Format - pfmsm.p fsrc1,fsrc2,fdest.  */
-{ "mr2s1.ss",  0x48000010, 0xb40005ef, "e,f,g", 0 },
-{ "mr2s1.sd",  0x48000090, 0xb400056f, "e,f,g", 0 },
-{ "mr2s1.dd",  0x48000190, 0xb400046f, "e,f,g", 0 },
-{ "mr2st.ss",  0x48000011, 0xb40005ee, "e,f,g", 0 },
-{ "mr2st.sd",  0x48000091, 0xb400056e, "e,f,g", 0 },
-{ "mr2st.dd",  0x48000191, 0xb400046e, "e,f,g", 0 },
-{ "mr2ms1.ss", 0x48000012, 0xb40005ed, "e,f,g", 0 },
-{ "mr2ms1.sd", 0x48000092, 0xb400056d, "e,f,g", 0 },
-{ "mr2ms1.dd", 0x48000192, 0xb400046d, "e,f,g", 0 },
-{ "mr2mst.ss", 0x48000013, 0xb40005ec, "e,f,g", 0 },
-{ "mr2mst.sd", 0x48000093, 0xb400056c, "e,f,g", 0 },
-{ "mr2mst.dd", 0x48000193, 0xb400046c, "e,f,g", 0 },
-{ "mi2s1.ss",  0x48000014, 0xb40005eb, "e,f,g", 0 },
-{ "mi2s1.sd",  0x48000094, 0xb400056b, "e,f,g", 0 },
-{ "mi2s1.dd",  0x48000194, 0xb400046b, "e,f,g", 0 },
-{ "mi2st.ss",  0x48000015, 0xb40005ea, "e,f,g", 0 },
-{ "mi2st.sd",  0x48000095, 0xb400056a, "e,f,g", 0 },
-{ "mi2st.dd",  0x48000195, 0xb400046a, "e,f,g", 0 },
-{ "mi2ms1.ss", 0x48000016, 0xb40005e9, "e,f,g", 0 },
-{ "mi2ms1.sd", 0x48000096, 0xb4000569, "e,f,g", 0 },
-{ "mi2ms1.dd", 0x48000196, 0xb4000469, "e,f,g", 0 },
-{ "mi2mst.ss", 0x48000017, 0xb40005e8, "e,f,g", 0 },
-{ "mi2mst.sd", 0x48000097, 0xb4000568, "e,f,g", 0 },
-{ "mi2mst.dd", 0x48000197, 0xb4000468, "e,f,g", 0 },
-{ "mrmt1s2.ss",        0x48000018, 0xb40005e7, "e,f,g", 0 },
-{ "mrmt1s2.sd",        0x48000098, 0xb4000567, "e,f,g", 0 },
-{ "mrmt1s2.dd",        0x48000198, 0xb4000467, "e,f,g", 0 },
-{ "mm12msm.ss",        0x48000019, 0xb40005e6, "e,f,g", 0 },
-{ "mm12msm.sd",        0x48000099, 0xb4000566, "e,f,g", 0 },
-{ "mm12msm.dd",        0x48000199, 0xb4000466, "e,f,g", 0 },
-{ "mrm1s2.ss", 0x4800001a, 0xb40005e5, "e,f,g", 0 },
-{ "mrm1s2.sd", 0x4800009a, 0xb4000565, "e,f,g", 0 },
-{ "mrm1s2.dd", 0x4800019a, 0xb4000465, "e,f,g", 0 },
-{ "mm12ttsm.ss",0x4800001b, 0xb40005e4, "e,f,g", 0 },
-{ "mm12ttsm.sd",0x4800009b, 0xb4000564, "e,f,g", 0 },
-{ "mm12ttsm.dd",0x4800019b, 0xb4000464, "e,f,g", 0 },
-{ "mimt1s2.ss",        0x4800001c, 0xb40005e3, "e,f,g", 0 },
-{ "mimt1s2.sd",        0x4800009c, 0xb4000563, "e,f,g", 0 },
-{ "mimt1s2.dd",        0x4800019c, 0xb4000463, "e,f,g", 0 },
-{ "mm12tsm.ss",        0x4800001d, 0xb40005e2, "e,f,g", 0 },
-{ "mm12tsm.sd",        0x4800009d, 0xb4000562, "e,f,g", 0 },
-{ "mm12tsm.dd",        0x4800019d, 0xb4000462, "e,f,g", 0 },
-{ "mim1s2.ss", 0x4800001e, 0xb40005e1, "e,f,g", 0 },
-{ "mim1s2.sd", 0x4800009e, 0xb4000561, "e,f,g", 0 },
-{ "mim1s2.dd", 0x4800019e, 0xb4000461, "e,f,g", 0 },
-
-{ "fmul.ss",   0x48000020, 0xb40005df, "e,f,g", 0 },   /* fmul.p fsrc1,fsrc2,fdest */
-{ "fmul.sd",   0x480000a0, 0xb400055f, "e,f,g", 0 },   /* fmul.p fsrc1,fsrc2,fdest */
-{ "fmul.dd",   0x480001a0, 0xb400045f, "e,f,g", 0 },   /* fmul.p fsrc1,fsrc2,fdest */
-{ "pfmul.ss",  0x48000420, 0xb40001df, "e,f,g", 0 },   /* pfmul.p fsrc1,fsrc2,fdest */
-{ "pfmul.sd",  0x480004a0, 0xb400015f, "e,f,g", 0 },   /* pfmul.p fsrc1,fsrc2,fdest */
-{ "pfmul.dd",  0x480005a0, 0xb400005f, "e,f,g", 0 },   /* pfmul.p fsrc1,fsrc2,fdest */
-{ "pfmul3.dd", 0x480005a4, 0xb400005b, "e,f,g", 0 },   /* pfmul3.p fsrc1,fsrc2,fdest */
-{ "fmlow.dd",  0x480001a1, 0xb400045e, "e,f,g", 0 },   /* fmlow.dd fsrc1,fsrc2,fdest */
-{ "frcp.ss",   0x48000022, 0xb40005dd, "f,g", 0 },     /* frcp.p fsrc2,fdest */
-{ "frcp.sd",   0x480000a2, 0xb400055d, "f,g", 0 },     /* frcp.p fsrc2,fdest */
-{ "frcp.dd",   0x480001a2, 0xb400045d, "f,g", 0 },     /* frcp.p fsrc2,fdest */
-{ "frsqr.ss",  0x48000023, 0xb40005dc, "f,g", 0 },     /* frsqr.p fsrc2,fdest */
-{ "frsqr.sd",  0x480000a3, 0xb400055c, "f,g", 0 },     /* frsqr.p fsrc2,fdest */
-{ "frsqr.dd",  0x480001a3, 0xb400045c, "f,g", 0 },     /* frsqr.p fsrc2,fdest */
-{ "fadd.ss",   0x48000030, 0xb40005cf, "e,f,g", 0 },   /* fadd.p fsrc1,fsrc2,fdest */
-{ "fadd.sd",   0x480000b0, 0xb400054f, "e,f,g", 0 },   /* fadd.p fsrc1,fsrc2,fdest */
-{ "fadd.dd",   0x480001b0, 0xb400044f, "e,f,g", 0 },   /* fadd.p fsrc1,fsrc2,fdest */
-{ "pfadd.ss",  0x48000430, 0xb40001cf, "e,f,g", 0 },   /* pfadd.p fsrc1,fsrc2,fdest */
-{ "pfadd.sd",  0x480004b0, 0xb400014f, "e,f,g", 0 },   /* pfadd.p fsrc1,fsrc2,fdest */
-{ "pfadd.dd",  0x480005b0, 0xb400004f, "e,f,g", 0 },   /* pfadd.p fsrc1,fsrc2,fdest */
-{ "fsub.ss",   0x48000031, 0xb40005ce, "e,f,g", 0 },   /* fsub.p fsrc1,fsrc2,fdest */
-{ "fsub.sd",   0x480000b1, 0xb400054e, "e,f,g", 0 },   /* fsub.p fsrc1,fsrc2,fdest */
-{ "fsub.dd",   0x480001b1, 0xb400044e, "e,f,g", 0 },   /* fsub.p fsrc1,fsrc2,fdest */
-{ "pfsub.ss",  0x48000431, 0xb40001ce, "e,f,g", 0 },   /* pfsub.p fsrc1,fsrc2,fdest */
-{ "pfsub.sd",  0x480004b1, 0xb400014e, "e,f,g", 0 },   /* pfsub.p fsrc1,fsrc2,fdest */
-{ "pfsub.dd",  0x480005b1, 0xb400004e, "e,f,g", 0 },   /* pfsub.p fsrc1,fsrc2,fdest */
-{ "fix.sd",    0x480000b2, 0xb400054d, "e,g", 0 },     /* fix.p fsrc1,fdest */
-{ "fix.dd",    0x480001b2, 0xb400044d, "e,g", 0 },     /* fix.p fsrc1,fdest */
-{ "pfix.sd",   0x480004b2, 0xb400014d, "e,g", 0 },     /* pfix.p fsrc1,fdest */
-{ "pfix.dd",   0x480005b2, 0xb400004d, "e,g", 0 },     /* pfix.p fsrc1,fdest */
-{ "famov.ss",  0x48000033, 0xb40005cc, "e,g", 0 },     /* famov.p fsrc1,fdest */
-{ "famov.ds",  0x48000133, 0xb40004cc, "e,g", 0 },     /* famov.p fsrc1,fdest */
-{ "famov.sd",  0x480000b3, 0xb400054c, "e,g", 0 },     /* famov.p fsrc1,fdest */
-{ "famov.dd",  0x480001b3, 0xb400044c, "e,g", 0 },     /* famov.p fsrc1,fdest */
-{ "pfamov.ss", 0x48000433, 0xb40001cc, "e,g", 0 },     /* pfamov.p fsrc1,fdest */
-{ "pfamov.ds", 0x48000533, 0xb40000cc, "e,g", 0 },     /* pfamov.p fsrc1,fdest */
-{ "pfamov.sd", 0x480004b3, 0xb400014c, "e,g", 0 },     /* pfamov.p fsrc1,fdest */
-{ "pfamov.dd", 0x480005b3, 0xb400004c, "e,g", 0 },     /* pfamov.p fsrc1,fdest */
-/* Opcode pfgt has R bit cleared; pfle has R bit set.  */
-{ "pfgt.ss",   0x48000434, 0xb40001cb, "e,f,g", 0 },   /* pfgt.p fsrc1,fsrc2,fdest */
-{ "pfgt.dd",   0x48000534, 0xb40000cb, "e,f,g", 0 },   /* pfgt.p fsrc1,fsrc2,fdest */
-/* Opcode pfgt has R bit cleared; pfle has R bit set.  */
-{ "pfle.ss",   0x480004b4, 0xb400014b, "e,f,g", 0 },   /* pfle.p fsrc1,fsrc2,fdest */
-{ "pfle.dd",   0x480005b4, 0xb400004b, "e,f,g", 0 },   /* pfle.p fsrc1,fsrc2,fdest */
-{ "pfeq.ss",   0x48000435, 0xb40001ca, "e,f,g", 0 },   /* pfeq.p fsrc1,fsrc2,fdest */
-{ "pfeq.dd",   0x48000535, 0xb40000ca, "e,f,g", 0 },   /* pfeq.p fsrc1,fsrc2,fdest */
-{ "ftrunc.sd", 0x480000ba, 0xb4000545, "e,g", 0 },     /* ftrunc.p fsrc1,fdest */
-{ "ftrunc.dd", 0x480001ba, 0xb4000445, "e,g", 0 },     /* ftrunc.p fsrc1,fdest */
-{ "pftrunc.sd",        0x480004ba, 0xb4000145, "e,g", 0 },     /* pftrunc.p fsrc1,fdest */
-{ "pftrunc.dd",        0x480005ba, 0xb4000045, "e,g", 0 },     /* pftrunc.p fsrc1,fdest */
-{ "fxfr",      0x48000040, 0xb40005bf, "e,d", 0 },     /* fxfr fsrc1,idest */
-{ "fiadd.ss",  0x48000049, 0xb40005b6, "e,f,g", 0 },   /* fiadd.w fsrc1,fsrc2,fdest */
-{ "fiadd.dd",  0x480001c9, 0xb4000436, "e,f,g", 0 },   /* fiadd.w fsrc1,fsrc2,fdest */
-{ "pfiadd.ss", 0x48000449, 0xb40001b6, "e,f,g", 0 },   /* pfiadd.w fsrc1,fsrc2,fdest */
-{ "pfiadd.dd", 0x480005c9, 0xb4000036, "e,f,g", 0 },   /* pfiadd.w fsrc1,fsrc2,fdest */
-{ "fisub.ss",  0x4800004d, 0xb40005b2, "e,f,g", 0 },   /* fisub.w fsrc1,fsrc2,fdest */
-{ "fisub.dd",  0x480001cd, 0xb4000432, "e,f,g", 0 },   /* fisub.w fsrc1,fsrc2,fdest */
-{ "pfisub.ss", 0x4800044d, 0xb40001b2, "e,f,g", 0 },   /* pfisub.w fsrc1,fsrc2,fdest */
-{ "pfisub.dd", 0x480005cd, 0xb4000032, "e,f,g", 0 },   /* pfisub.w fsrc1,fsrc2,fdest */
-{ "fzchkl",    0x480001d7, 0xb4000428, "e,f,g", 0 },   /* fzchkl fsrc1,fsrc2,fdest */
-{ "pfzchkl",   0x480005d7, 0xb4000028, "e,f,g", 0 },   /* pfzchkl fsrc1,fsrc2,fdest */
-{ "fzchks",    0x480001df, 0xb4000420, "e,f,g", 0 },   /* fzchks fsrc1,fsrc2,fdest */
-{ "pfzchks",   0x480005df, 0xb4000020, "e,f,g", 0 },   /* pfzchks fsrc1,fsrc2,fdest */
-{ "faddp",     0x480001d0, 0xb400042f, "e,f,g", 0 },   /* faddp fsrc1,fsrc2,fdest */
-{ "pfaddp",    0x480005d0, 0xb400002f, "e,f,g", 0 },   /* pfaddp fsrc1,fsrc2,fdest */
-{ "faddz",     0x480001d1, 0xb400042e, "e,f,g", 0 },   /* faddz fsrc1,fsrc2,fdest */
-{ "pfaddz",    0x480005d1, 0xb400002e, "e,f,g", 0 },   /* pfaddz fsrc1,fsrc2,fdest */
-{ "form",      0x480001da, 0xb4000425, "e,g", 0 },     /* form fsrc1,fdest */
-{ "pform",     0x480005da, 0xb4000025, "e,g", 0 },     /* pform fsrc1,fdest */
-
-/* Floating point pseudo-instructions.  */
-{ "fmov.ss",   0x48000049, 0xb7e005b6, "e,g", 0 },     /* fiadd.ss fsrc1,f0,fdest */
-{ "fmov.dd",   0x480001c9, 0xb7e00436, "e,g", 0 },     /* fiadd.dd fsrc1,f0,fdest */
-{ "fmov.sd",   0x480000b3, 0xb400054c, "e,g", 0 },     /* famov.sd fsrc1,fdest */
-{ "fmov.ds",   0x48000133, 0xb40004cc, "e,g", 0 },     /* famov.ds fsrc1,fdest */
-{ "pfmov.ds",  0x48000533, 0xb40000cc, "e,g", 0 },     /* pfamov.ds fsrc1,fdest */
-{ "pfmov.dd",  0x480005c9, 0xb7e00036, "e,g", 0 },     /* pfiadd.dd fsrc1,f0,fdest */
-{ 0, 0, 0, 0, 0 },
-
-};
-
-#define NUMOPCODES ((sizeof i860_opcodes)/(sizeof i860_opcodes[0]))
-
-
diff --git a/include/opcode/i960.h b/include/opcode/i960.h
deleted file mode 100644 (file)
index 2c7193c..0000000
+++ /dev/null
@@ -1,525 +0,0 @@
-/* Basic 80960 instruction formats.
-
-   Copyright (C) 2001-2018 Free Software Foundation, Inc.
-   
-   This program 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 3, or (at your option)
-   any later version.
-
-   This program 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 this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin Street - Fifth Floor,
-   Boston, MA 02110-1301, USA.  */
-/* The 'COJ' instructions are actually COBR instructions with the 'b' in
-   the mnemonic replaced by a 'j';  they are ALWAYS "de-optimized" if
-   necessary: if the displacement will not fit in 13 bits, the assembler will
-   replace them with the corresponding compare and branch instructions.
-   All of the 'MEMn' instructions are the same format; the 'n' in the name
-   indicates the default index scale factor (the size of the datum operated on).
-   The FBRA formats are not actually an instruction format.  They are the
-   "convenience directives" for branching on floating-point comparisons,
-   each of which generates 2 instructions (a 'bno' and one other branch).
-   The CALLJ format is not actually an instruction format.  It indicates that
-   the instruction generated (a CTRL-format 'call') should have its relocation
-   specially flagged for link-time replacement with a 'bal' or 'calls' if
-   appropriate.  */ 
-
-#define CTRL   0
-#define COBR   1
-#define COJ    2
-#define REG    3
-#define MEM1   4
-#define MEM2   5
-#define MEM4   6
-#define MEM8   7
-#define MEM12  8
-#define MEM16  9
-#define FBRA   10
-#define CALLJ  11
-
-/* Masks for the mode bits in REG format instructions */
-#define M1             0x0800
-#define M2             0x1000
-#define M3             0x2000
-
-/* Generate the 12-bit opcode for a REG format instruction by placing the 
- * high 8 bits in instruction bits 24-31, the low 4 bits in instruction bits
- * 7-10.
- */
-
-#define REG_OPC(opc)   ((opc & 0xff0) << 20) | ((opc & 0xf) << 7)
-
-/* Generate a template for a REG format instruction:  place the opcode bits
- * in the appropriate fields and OR in mode bits for the operands that will not
- * be used.  I.e.,
- *             set m1=1, if src1 will not be used
- *             set m2=1, if src2 will not be used
- *             set m3=1, if dst  will not be used
- *
- * Setting the "unused" mode bits to 1 speeds up instruction execution(!).
- * The information is also useful to us because some 1-operand REG instructions
- * use the src1 field, others the dst field; and some 2-operand REG instructions
- * use src1/src2, others src1/dst.  The set mode bits enable us to distinguish.
- */
-#define R_0(opc)       ( REG_OPC(opc) | M1 | M2 | M3 ) /* No operands      */
-#define R_1(opc)       ( REG_OPC(opc) | M2 | M3 )      /* 1 operand: src1  */
-#define R_1D(opc)      ( REG_OPC(opc) | M1 | M2 )      /* 1 operand: dst   */
-#define R_2(opc)       ( REG_OPC(opc) | M3 )           /* 2 ops: src1/src2 */
-#define R_2D(opc)      ( REG_OPC(opc) | M2 )           /* 2 ops: src1/dst  */
-#define R_3(opc)       ( REG_OPC(opc) )                /* 3 operands       */
-
-/* DESCRIPTOR BYTES FOR REGISTER OPERANDS
- *
- * Interpret names as follows:
- *     R:   global or local register only
- *     RS:  global, local, or (if target allows) special-function register only
- *     RL:  global or local register, or integer literal
- *     RSL: global, local, or (if target allows) special-function register;
- *             or integer literal
- *     F:   global, local, or floating-point register
- *     FL:  global, local, or floating-point register; or literal (including
- *             floating point)
- *
- * A number appended to a name indicates that registers must be aligned,
- * as follows:
- *     2: register number must be multiple of 2
- *     4: register number must be multiple of 4
- */
-
-#define SFR    0x10            /* Mask for the "sfr-OK" bit */
-#define LIT    0x08            /* Mask for the "literal-OK" bit */
-#define FP     0x04            /* Mask for "floating-point-OK" bit */
-
-/* This macro ors the bits together.  Note that 'align' is a mask
- * for the low 0, 1, or 2 bits of the register number, as appropriate.
- */
-#define OP(align,lit,fp,sfr)   ( align | lit | fp | sfr )
-
-#define R      OP( 0, 0,   0,  0   )
-#define RS     OP( 0, 0,   0,  SFR )
-#define RL     OP( 0, LIT, 0,  0   )
-#define RSL    OP( 0, LIT, 0,  SFR )
-#define F      OP( 0, 0,   FP, 0   )
-#define FL     OP( 0, LIT, FP, 0   )
-#define R2     OP( 1, 0,   0,  0   )
-#define RL2    OP( 1, LIT, 0,  0   )
-#define F2     OP( 1, 0,   FP, 0   )
-#define FL2    OP( 1, LIT, FP, 0   )
-#define R4     OP( 3, 0,   0,  0   )
-#define RL4    OP( 3, LIT, 0,  0   )
-#define F4     OP( 3, 0,   FP, 0   )
-#define FL4    OP( 3, LIT, FP, 0   )
-
-#define M      0x7f    /* Memory operand (MEMA & MEMB format instructions) */
-
-/* Macros to extract info from the register operand descriptor byte 'od'.
- */
-#define SFR_OK(od)     (od & SFR)      /* TRUE if sfr operand allowed */
-#define LIT_OK(od)     (od & LIT)      /* TRUE if literal operand allowed */
-#define FP_OK(od)      (od & FP)       /* TRUE if floating-point op allowed */
-#define REG_ALIGN(od,n)        ((od & 0x3 & n) == 0)
-                                       /* TRUE if reg #n is properly aligned */
-#define MEMOP(od)      (od == M)       /* TRUE if operand is a memory operand*/
-
-/* Description of a single i80960 instruction */
-struct i960_opcode {
-       long opcode;    /* 32 bits, constant fields filled in, rest zeroed */
-       const char *name;       /* Assembler mnemonic                              */
-       short iclass;   /* Class: see #defines below                       */
-       char format;    /* REG, COBR, CTRL, MEMn, COJ, FBRA, or CALLJ      */
-       char num_ops;   /* Number of operands                              */
-       char operand[3];/* Operand descriptors; same order as assembler instr */
-};
-
-/* Classes of 960 instructions:
- *     - each instruction falls into one class.
- *     - each target architecture supports one or more classes.
- *
- * EACH CONSTANT MUST CONTAIN 1 AND ONLY 1 SET BIT!:  see targ_has_iclass().
- */
-#define I_BASE 0x01    /* 80960 base instruction set   */
-#define I_CX   0x02    /* 80960Cx instruction          */
-#define I_DEC  0x04    /* Decimal instruction          */
-#define I_FP   0x08    /* Floating point instruction   */
-#define I_KX   0x10    /* 80960Kx instruction          */
-#define I_MIL  0x20    /* Military instruction         */
-#define I_CASIM        0x40    /* CA simulator instruction     */
-#define I_CX2  0x80    /* Cx/Jx/Hx instructions        */
-#define I_JX   0x100   /* Jx/Hx instruction            */
-#define I_HX   0x200   /* Hx instructions              */
-
-/******************************************************************************
- *
- *             TABLE OF i960 INSTRUCTION DESCRIPTIONS
- *
- ******************************************************************************/
-
-const struct i960_opcode i960_opcodes[] = {
-
-       /* if a CTRL instruction has an operand, it's always a displacement */
-
-       /* callj default=='call' */
-       { 0x09000000,   "callj",        I_BASE, CALLJ,  1, { 0, 0, 0 } },
-       { 0x08000000,   "b",            I_BASE, CTRL,   1, { 0, 0, 0 } },
-       { 0x09000000,   "call",         I_BASE, CTRL,   1, { 0, 0, 0 } },
-       { 0x0a000000,   "ret",          I_BASE, CTRL,   0, { 0, 0, 0 } },
-       { 0x0b000000,   "bal",          I_BASE, CTRL,   1, { 0, 0, 0 } },
-       { 0x10000000,   "bno",          I_BASE, CTRL,   1, { 0, 0, 0 } },
-       /* bf same as bno */
-       { 0x10000000,   "bf",           I_BASE, CTRL,   1, { 0, 0, 0 } },
-       /* bru same as bno */
-       { 0x10000000,   "bru",          I_BASE, CTRL,   1, { 0, 0, 0 } },
-       { 0x11000000,   "bg",           I_BASE, CTRL,   1, { 0, 0, 0 } },
-       /* brg same as bg */
-       { 0x11000000,   "brg",          I_BASE, CTRL,   1, { 0, 0, 0 } },
-       { 0x12000000,   "be",           I_BASE, CTRL,   1, { 0, 0, 0 } },
-       /* bre same as be */
-       { 0x12000000,   "bre",          I_BASE, CTRL,   1, { 0, 0, 0 } },
-       { 0x13000000,   "bge",          I_BASE, CTRL,   1, { 0, 0, 0 } },
-       /* brge same as bge */
-       { 0x13000000,   "brge",         I_BASE, CTRL,   1, { 0, 0, 0 } },
-       { 0x14000000,   "bl",           I_BASE, CTRL,   1, { 0, 0, 0 } },
-       /* brl same as bl */
-       { 0x14000000,   "brl",          I_BASE, CTRL,   1, { 0, 0, 0 } },
-       { 0x15000000,   "bne",          I_BASE, CTRL,   1, { 0, 0, 0 } },
-       /* brlg same as bne */
-       { 0x15000000,   "brlg",         I_BASE, CTRL,   1, { 0, 0, 0 } },
-       { 0x16000000,   "ble",          I_BASE, CTRL,   1, { 0, 0, 0 } },
-       /* brle same as ble */
-       { 0x16000000,   "brle",         I_BASE, CTRL,   1, { 0, 0, 0 } },
-       { 0x17000000,   "bo",           I_BASE, CTRL,   1, { 0, 0, 0 } },
-       /* bt same as bo */
-       { 0x17000000,   "bt",           I_BASE, CTRL,   1, { 0, 0, 0 } },
-       /* bro same as bo */
-       { 0x17000000,   "bro",          I_BASE, CTRL,   1, { 0, 0, 0 } },
-       { 0x18000000,   "faultno",      I_BASE, CTRL,   0, { 0, 0, 0 } },
-       /* faultf same as faultno */
-       { 0x18000000,   "faultf",       I_BASE, CTRL,   0, { 0, 0, 0 } },
-       { 0x19000000,   "faultg",       I_BASE, CTRL,   0, { 0, 0, 0 } },
-       { 0x1a000000,   "faulte",       I_BASE, CTRL,   0, { 0, 0, 0 } },
-       { 0x1b000000,   "faultge",      I_BASE, CTRL,   0, { 0, 0, 0 } },
-       { 0x1c000000,   "faultl",       I_BASE, CTRL,   0, { 0, 0, 0 } },
-       { 0x1d000000,   "faultne",      I_BASE, CTRL,   0, { 0, 0, 0 } },
-       { 0x1e000000,   "faultle",      I_BASE, CTRL,   0, { 0, 0, 0 } },
-       { 0x1f000000,   "faulto",       I_BASE, CTRL,   0, { 0, 0, 0 } },
-       /* faultt syn for faulto */
-       { 0x1f000000,   "faultt",       I_BASE, CTRL,   0, { 0, 0, 0 } },
-
-       { 0x01000000,   "syscall",      I_CASIM,CTRL,   0, { 0, 0, 0 } },
-
-       /* If a COBR (or COJ) has 3 operands, the last one is always a
-        * displacement and does not appear explicitly in the table.
-        */
-
-       { 0x20000000,   "testno",       I_BASE, COBR,   1, { R, 0, 0 }  },
-       { 0x21000000,   "testg",        I_BASE, COBR,   1, { R, 0, 0 }  },
-       { 0x22000000,   "teste",        I_BASE, COBR,   1, { R, 0, 0 }  },
-       { 0x23000000,   "testge",       I_BASE, COBR,   1, { R, 0, 0 }  },
-       { 0x24000000,   "testl",        I_BASE, COBR,   1, { R, 0, 0 }  },
-       { 0x25000000,   "testne",       I_BASE, COBR,   1, { R, 0, 0 }  },
-       { 0x26000000,   "testle",       I_BASE, COBR,   1, { R, 0, 0 }  },
-       { 0x27000000,   "testo",        I_BASE, COBR,   1, { R, 0, 0 }  },
-       { 0x30000000,   "bbc",          I_BASE, COBR,   3, { RL, RS, 0 } },
-       { 0x31000000,   "cmpobg",       I_BASE, COBR,   3, { RL, RS, 0 } },
-       { 0x32000000,   "cmpobe",       I_BASE, COBR,   3, { RL, RS, 0 } },
-       { 0x33000000,   "cmpobge",      I_BASE, COBR,   3, { RL, RS, 0 } },
-       { 0x34000000,   "cmpobl",       I_BASE, COBR,   3, { RL, RS, 0 } },
-       { 0x35000000,   "cmpobne",      I_BASE, COBR,   3, { RL, RS, 0 } },
-       { 0x36000000,   "cmpoble",      I_BASE, COBR,   3, { RL, RS, 0 } },
-       { 0x37000000,   "bbs",          I_BASE, COBR,   3, { RL, RS, 0 } },
-       { 0x38000000,   "cmpibno",      I_BASE, COBR,   3, { RL, RS, 0 } },
-       { 0x39000000,   "cmpibg",       I_BASE, COBR,   3, { RL, RS, 0 } },
-       { 0x3a000000,   "cmpibe",       I_BASE, COBR,   3, { RL, RS, 0 } },
-       { 0x3b000000,   "cmpibge",      I_BASE, COBR,   3, { RL, RS, 0 } },
-       { 0x3c000000,   "cmpibl",       I_BASE, COBR,   3, { RL, RS, 0 } },
-       { 0x3d000000,   "cmpibne",      I_BASE, COBR,   3, { RL, RS, 0 } },
-       { 0x3e000000,   "cmpible",      I_BASE, COBR,   3, { RL, RS, 0 } },
-       { 0x3f000000,   "cmpibo",       I_BASE, COBR,   3, { RL, RS, 0 } },
-       { 0x31000000,   "cmpojg",       I_BASE, COJ,    3, { RL, RS, 0 } },
-       { 0x32000000,   "cmpoje",       I_BASE, COJ,    3, { RL, RS, 0 } },
-       { 0x33000000,   "cmpojge",      I_BASE, COJ,    3, { RL, RS, 0 } },
-       { 0x34000000,   "cmpojl",       I_BASE, COJ,    3, { RL, RS, 0 } },
-       { 0x35000000,   "cmpojne",      I_BASE, COJ,    3, { RL, RS, 0 } },
-       { 0x36000000,   "cmpojle",      I_BASE, COJ,    3, { RL, RS, 0 } },
-       { 0x38000000,   "cmpijno",      I_BASE, COJ,    3, { RL, RS, 0 } },
-       { 0x39000000,   "cmpijg",       I_BASE, COJ,    3, { RL, RS, 0 } },
-       { 0x3a000000,   "cmpije",       I_BASE, COJ,    3, { RL, RS, 0 } },
-       { 0x3b000000,   "cmpijge",      I_BASE, COJ,    3, { RL, RS, 0 } },
-       { 0x3c000000,   "cmpijl",       I_BASE, COJ,    3, { RL, RS, 0 } },
-       { 0x3d000000,   "cmpijne",      I_BASE, COJ,    3, { RL, RS, 0 } },
-       { 0x3e000000,   "cmpijle",      I_BASE, COJ,    3, { RL, RS, 0 } },
-       { 0x3f000000,   "cmpijo",       I_BASE, COJ,    3, { RL, RS, 0 } },
-
-       { 0x80000000,   "ldob",         I_BASE, MEM1,   2, { M,  R,  0 } },
-       { 0x82000000,   "stob",         I_BASE, MEM1,   2, { R,  M,  0 } },
-       { 0x84000000,   "bx",           I_BASE, MEM1,   1, { M,  0,  0 } },
-       { 0x85000000,   "balx",         I_BASE, MEM1,   2, { M,  R,  0 } },
-       { 0x86000000,   "callx",        I_BASE, MEM1,   1, { M,  0,  0 } },
-       { 0x88000000,   "ldos",         I_BASE, MEM2,   2, { M,  R,  0 } },
-       { 0x8a000000,   "stos",         I_BASE, MEM2,   2, { R,  M,  0 } },
-       { 0x8c000000,   "lda",          I_BASE, MEM1,   2, { M,  R,  0 } },
-       { 0x90000000,   "ld",           I_BASE, MEM4,   2, { M,  R,  0 } },
-       { 0x92000000,   "st",           I_BASE, MEM4,   2, { R,  M,  0 } },
-       { 0x98000000,   "ldl",          I_BASE, MEM8,   2, { M,  R2, 0 } },
-       { 0x9a000000,   "stl",          I_BASE, MEM8,   2, { R2, M,  0 } },
-       { 0xa0000000,   "ldt",          I_BASE, MEM12,  2, { M,  R4, 0 } },
-       { 0xa2000000,   "stt",          I_BASE, MEM12,  2, { R4, M,  0 } },
-       { 0xb0000000,   "ldq",          I_BASE, MEM16,  2, { M,  R4, 0 } },
-       { 0xb2000000,   "stq",          I_BASE, MEM16,  2, { R4, M,  0 } },
-       { 0xc0000000,   "ldib",         I_BASE, MEM1,   2, { M,  R,  0 } },
-       { 0xc2000000,   "stib",         I_BASE, MEM1,   2, { R,  M,  0 } },
-       { 0xc8000000,   "ldis",         I_BASE, MEM2,   2, { M,  R,  0 } },
-       { 0xca000000,   "stis",         I_BASE, MEM2,   2, { R,  M,  0 } },
-
-       { R_3(0x580),   "notbit",       I_BASE, REG,    3, { RSL,RSL,RS } },
-       { R_3(0x581),   "and",          I_BASE, REG,    3, { RSL,RSL,RS } },
-       { R_3(0x582),   "andnot",       I_BASE, REG,    3, { RSL,RSL,RS } },
-       { R_3(0x583),   "setbit",       I_BASE, REG,    3, { RSL,RSL,RS } },
-       { R_3(0x584),   "notand",       I_BASE, REG,    3, { RSL,RSL,RS } },
-       { R_3(0x586),   "xor",          I_BASE, REG,    3, { RSL,RSL,RS } },
-       { R_3(0x587),   "or",           I_BASE, REG,    3, { RSL,RSL,RS } },
-       { R_3(0x588),   "nor",          I_BASE, REG,    3, { RSL,RSL,RS } },
-       { R_3(0x589),   "xnor",         I_BASE, REG,    3, { RSL,RSL,RS } },
-       { R_2D(0x58a),  "not",          I_BASE, REG,    2, { RSL,RS, 0 } },
-       { R_3(0x58b),   "ornot",        I_BASE, REG,    3, { RSL,RSL,RS } },
-       { R_3(0x58c),   "clrbit",       I_BASE, REG,    3, { RSL,RSL,RS } },
-       { R_3(0x58d),   "notor",        I_BASE, REG,    3, { RSL,RSL,RS } },
-       { R_3(0x58e),   "nand",         I_BASE, REG,    3, { RSL,RSL,RS } },
-       { R_3(0x58f),   "alterbit",     I_BASE, REG,    3, { RSL,RSL,RS } },
-       { R_3(0x590),   "addo",         I_BASE, REG,    3, { RSL,RSL,RS } },
-       { R_3(0x591),   "addi",         I_BASE, REG,    3, { RSL,RSL,RS } },
-       { R_3(0x592),   "subo",         I_BASE, REG,    3, { RSL,RSL,RS } },
-       { R_3(0x593),   "subi",         I_BASE, REG,    3, { RSL,RSL,RS } },
-       { R_3(0x598),   "shro",         I_BASE, REG,    3, { RSL,RSL,RS } },
-       { R_3(0x59a),   "shrdi",        I_BASE, REG,    3, { RSL,RSL,RS } },
-       { R_3(0x59b),   "shri",         I_BASE, REG,    3, { RSL,RSL,RS } },
-       { R_3(0x59c),   "shlo",         I_BASE, REG,    3, { RSL,RSL,RS } },
-       { R_3(0x59d),   "rotate",       I_BASE, REG,    3, { RSL,RSL,RS } },
-       { R_3(0x59e),   "shli",         I_BASE, REG,    3, { RSL,RSL,RS } },
-       { R_2(0x5a0),   "cmpo",         I_BASE, REG,    2, { RSL,RSL, 0 } },
-       { R_2(0x5a1),   "cmpi",         I_BASE, REG,    2, { RSL,RSL, 0 } },
-       { R_2(0x5a2),   "concmpo",      I_BASE, REG,    2, { RSL,RSL, 0 } },
-       { R_2(0x5a3),   "concmpi",      I_BASE, REG,    2, { RSL,RSL, 0 } },
-       { R_3(0x5a4),   "cmpinco",      I_BASE, REG,    3, { RSL,RSL,RS } },
-       { R_3(0x5a5),   "cmpinci",      I_BASE, REG,    3, { RSL,RSL,RS } },
-       { R_3(0x5a6),   "cmpdeco",      I_BASE, REG,    3, { RSL,RSL,RS } },
-       { R_3(0x5a7),   "cmpdeci",      I_BASE, REG,    3, { RSL,RSL,RS } },
-       { R_2(0x5ac),   "scanbyte",     I_BASE, REG,    2, { RSL,RSL, 0 } },
-       { R_2(0x5ae),   "chkbit",       I_BASE, REG,    2, { RSL,RSL, 0 } },
-       { R_3(0x5b0),   "addc",         I_BASE, REG,    3, { RSL,RSL,RS } },
-       { R_3(0x5b2),   "subc",         I_BASE, REG,    3, { RSL,RSL,RS } },
-       { R_2D(0x5cc),  "mov",          I_BASE, REG,    2, { RSL,RS, 0 } },
-       { R_2D(0x5dc),  "movl",         I_BASE, REG,    2, { RL2,R2, 0 } },
-       { R_2D(0x5ec),  "movt",         I_BASE, REG,    2, { RL4,R4, 0 } },
-       { R_2D(0x5fc),  "movq",         I_BASE, REG,    2, { RL4,R4, 0 } },
-       { R_3(0x610),   "atmod",        I_BASE, REG,    3, { RS, RSL,R } },
-       { R_3(0x612),   "atadd",        I_BASE, REG,    3, { RS, RSL,RS } },
-       { R_2D(0x640),  "spanbit",      I_BASE, REG,    2, { RSL,RS, 0 } },
-       { R_2D(0x641),  "scanbit",      I_BASE, REG,    2, { RSL,RS, 0 } },
-       { R_3(0x645),   "modac",        I_BASE, REG,    3, { RSL,RSL,RS } },
-       { R_3(0x650),   "modify",       I_BASE, REG,    3, { RSL,RSL,R } },
-       { R_3(0x651),   "extract",      I_BASE, REG,    3, { RSL,RSL,R } },
-       { R_3(0x654),   "modtc",        I_BASE, REG,    3, { RSL,RSL,RS } },
-       { R_3(0x655),   "modpc",        I_BASE, REG,    3, { RSL,RSL,R } },
-       { R_1(0x660),   "calls",        I_BASE, REG,    1, { RSL, 0, 0 } },
-       { R_0(0x66b),   "mark",         I_BASE, REG,    0, { 0, 0, 0 }  },
-       { R_0(0x66c),   "fmark",        I_BASE, REG,    0, { 0, 0, 0 }  },
-       { R_0(0x66d),   "flushreg",     I_BASE, REG,    0, { 0, 0, 0 }  },
-       { R_0(0x66f),   "syncf",        I_BASE, REG,    0, { 0, 0, 0 }  },
-       { R_3(0x670),   "emul",         I_BASE, REG,    3, { RSL,RSL,R2 } },
-       { R_3(0x671),   "ediv",         I_BASE, REG,    3, { RSL,RL2,RS } },
-       { R_2D(0x672),  "cvtadr",       I_CASIM,REG,    2, { RL, R2, 0 } },
-       { R_3(0x701),   "mulo",         I_BASE, REG,    3, { RSL,RSL,RS } },
-       { R_3(0x708),   "remo",         I_BASE, REG,    3, { RSL,RSL,RS } },
-       { R_3(0x70b),   "divo",         I_BASE, REG,    3, { RSL,RSL,RS } },
-       { R_3(0x741),   "muli",         I_BASE, REG,    3, { RSL,RSL,RS } },
-       { R_3(0x748),   "remi",         I_BASE, REG,    3, { RSL,RSL,RS } },
-       { R_3(0x749),   "modi",         I_BASE, REG,    3, { RSL,RSL,RS } },
-       { R_3(0x74b),   "divi",         I_BASE, REG,    3, { RSL,RSL,RS } },
-
-       /* Floating-point instructions */
-
-       { R_2D(0x674),  "cvtir",        I_FP,   REG,    2, { RL, F, 0 } },
-       { R_2D(0x675),  "cvtilr",       I_FP,   REG,    2, { RL, F, 0 } },
-       { R_3(0x676),   "scalerl",      I_FP,   REG,    3, { RL, FL2,F2 } },
-       { R_3(0x677),   "scaler",       I_FP,   REG,    3, { RL, FL, F } },
-       { R_3(0x680),   "atanr",        I_FP,   REG,    3, { FL, FL, F } },
-       { R_3(0x681),   "logepr",       I_FP,   REG,    3, { FL, FL, F } },
-       { R_3(0x682),   "logr",         I_FP,   REG,    3, { FL, FL, F } },
-       { R_3(0x683),   "remr",         I_FP,   REG,    3, { FL, FL, F } },
-       { R_2(0x684),   "cmpor",        I_FP,   REG,    2, { FL, FL, 0 } },
-       { R_2(0x685),   "cmpr",         I_FP,   REG,    2, { FL, FL, 0 } },
-       { R_2D(0x688),  "sqrtr",        I_FP,   REG,    2, { FL, F, 0 } },
-       { R_2D(0x689),  "expr",         I_FP,   REG,    2, { FL, F, 0 } },
-       { R_2D(0x68a),  "logbnr",       I_FP,   REG,    2, { FL, F, 0 } },
-       { R_2D(0x68b),  "roundr",       I_FP,   REG,    2, { FL, F, 0 } },
-       { R_2D(0x68c),  "sinr",         I_FP,   REG,    2, { FL, F, 0 } },
-       { R_2D(0x68d),  "cosr",         I_FP,   REG,    2, { FL, F, 0 } },
-       { R_2D(0x68e),  "tanr",         I_FP,   REG,    2, { FL, F, 0 } },
-       { R_1(0x68f),   "classr",       I_FP,   REG,    1, { FL, 0, 0 } },
-       { R_3(0x690),   "atanrl",       I_FP,   REG,    3, { FL2,FL2,F2 } },
-       { R_3(0x691),   "logeprl",      I_FP,   REG,    3, { FL2,FL2,F2 } },
-       { R_3(0x692),   "logrl",        I_FP,   REG,    3, { FL2,FL2,F2 } },
-       { R_3(0x693),   "remrl",        I_FP,   REG,    3, { FL2,FL2,F2 } },
-       { R_2(0x694),   "cmporl",       I_FP,   REG,    2, { FL2,FL2, 0 } },
-       { R_2(0x695),   "cmprl",        I_FP,   REG,    2, { FL2,FL2, 0 } },
-       { R_2D(0x698),  "sqrtrl",       I_FP,   REG,    2, { FL2,F2, 0 } },
-       { R_2D(0x699),  "exprl",        I_FP,   REG,    2, { FL2,F2, 0 } },
-       { R_2D(0x69a),  "logbnrl",      I_FP,   REG,    2, { FL2,F2, 0 } },
-       { R_2D(0x69b),  "roundrl",      I_FP,   REG,    2, { FL2,F2, 0 } },
-       { R_2D(0x69c),  "sinrl",        I_FP,   REG,    2, { FL2,F2, 0 } },
-       { R_2D(0x69d),  "cosrl",        I_FP,   REG,    2, { FL2,F2, 0 } },
-       { R_2D(0x69e),  "tanrl",        I_FP,   REG,    2, { FL2,F2, 0 } },
-       { R_1(0x69f),   "classrl",      I_FP,   REG,    1, { FL2, 0, 0 } },
-       { R_2D(0x6c0),  "cvtri",        I_FP,   REG,    2, { FL, R, 0 } },
-       { R_2D(0x6c1),  "cvtril",       I_FP,   REG,    2, { FL, R2, 0 } },
-       { R_2D(0x6c2),  "cvtzri",       I_FP,   REG,    2, { FL, R, 0 } },
-       { R_2D(0x6c3),  "cvtzril",      I_FP,   REG,    2, { FL, R2, 0 } },
-       { R_2D(0x6c9),  "movr",         I_FP,   REG,    2, { FL, F, 0 } },
-       { R_2D(0x6d9),  "movrl",        I_FP,   REG,    2, { FL2,F2, 0 } },
-       { R_2D(0x6e1),  "movre",        I_FP,   REG,    2, { FL4,F4, 0 } },
-       { R_3(0x6e2),   "cpysre",       I_FP,   REG,    3, { FL4,FL4,F4 } },
-       { R_3(0x6e3),   "cpyrsre",      I_FP,   REG,    3, { FL4,FL4,F4 } },
-       { R_3(0x78b),   "divr",         I_FP,   REG,    3, { FL, FL, F } },
-       { R_3(0x78c),   "mulr",         I_FP,   REG,    3, { FL, FL, F } },
-       { R_3(0x78d),   "subr",         I_FP,   REG,    3, { FL, FL, F } },
-       { R_3(0x78f),   "addr",         I_FP,   REG,    3, { FL, FL, F } },
-       { R_3(0x79b),   "divrl",        I_FP,   REG,    3, { FL2,FL2,F2 } },
-       { R_3(0x79c),   "mulrl",        I_FP,   REG,    3, { FL2,FL2,F2 } },
-       { R_3(0x79d),   "subrl",        I_FP,   REG,    3, { FL2,FL2,F2 } },
-       { R_3(0x79f),   "addrl",        I_FP,   REG,    3, { FL2,FL2,F2 } },
-
-       /* These are the floating point branch instructions.  Each actually
-        * generates 2 branch instructions:  the first a CTRL instruction with
-        * the indicated opcode, and the second a 'bno'.
-        */
-
-       { 0x12000000,   "brue",         I_FP,   FBRA,   1, { 0, 0, 0 }  },
-       { 0x11000000,   "brug",         I_FP,   FBRA,   1, { 0, 0, 0 }  },
-       { 0x13000000,   "bruge",        I_FP,   FBRA,   1, { 0, 0, 0 }  },
-       { 0x14000000,   "brul",         I_FP,   FBRA,   1, { 0, 0, 0 }  },
-       { 0x16000000,   "brule",        I_FP,   FBRA,   1, { 0, 0, 0 }  },
-       { 0x15000000,   "brulg",        I_FP,   FBRA,   1, { 0, 0, 0 }  },
-
-
-       /* Decimal instructions */
-
-       { R_3(0x642),   "daddc",        I_DEC,  REG,    3, { RSL,RSL,RS } },
-       { R_3(0x643),   "dsubc",        I_DEC,  REG,    3, { RSL,RSL,RS } },
-       { R_2D(0x644),  "dmovt",        I_DEC,  REG,    2, { RSL,RS, 0 } },
-
-
-       /* KX extensions */
-
-       { R_2(0x600),   "synmov",       I_KX,   REG,    2, { R,  R, 0 } },
-       { R_2(0x601),   "synmovl",      I_KX,   REG,    2, { R,  R, 0 } },
-       { R_2(0x602),   "synmovq",      I_KX,   REG,    2, { R,  R, 0 } },
-       { R_2D(0x615),  "synld",        I_KX,   REG,    2, { R,  R, 0 } },
-
-
-       /* MC extensions */
-
-       { R_3(0x603),   "cmpstr",       I_MIL,  REG,    3, { R,  R,  RL } },
-       { R_3(0x604),   "movqstr",      I_MIL,  REG,    3, { R,  R,  RL } },
-       { R_3(0x605),   "movstr",       I_MIL,  REG,    3, { R,  R,  RL } },
-       { R_2D(0x613),  "inspacc",      I_MIL,  REG,    2, { R,  R, 0 } },
-       { R_2D(0x614),  "ldphy",        I_MIL,  REG,    2, { R,  R, 0 } },
-       { R_3(0x617),   "fill",         I_MIL,  REG,    3, { R,  RL, RL } },
-       { R_2D(0x646),  "condrec",      I_MIL,  REG,    2, { R,  R, 0 } },
-       { R_2D(0x656),  "receive",      I_MIL,  REG,    2, { R,  R, 0 } },
-       { R_3(0x662),   "send",         I_MIL,  REG,    3, { R,  RL, R } },
-       { R_1(0x663),   "sendserv",     I_MIL,  REG,    1, { R, 0, 0 }  },
-       { R_1(0x664),   "resumprcs",    I_MIL,  REG,    1, { R, 0, 0 }  },
-       { R_1(0x665),   "schedprcs",    I_MIL,  REG,    1, { R, 0, 0 }  },
-       { R_0(0x666),   "saveprcs",     I_MIL,  REG,    0, { 0, 0, 0 }  },
-       { R_1(0x668),   "condwait",     I_MIL,  REG,    1, { R, 0, 0 }  },
-       { R_1(0x669),   "wait",         I_MIL,  REG,    1, { R, 0, 0 }  },
-       { R_1(0x66a),   "signal",       I_MIL,  REG,    1, { R, 0, 0 }  },
-       { R_1D(0x673),  "ldtime",       I_MIL,  REG,    1, { R2, 0, 0 } },
-
-
-       /* CX extensions */
-
-       { R_3(0x5d8),   "eshro",        I_CX2,  REG,    3, { RSL,RSL,RS } },
-       { R_3(0x630),   "sdma",         I_CX,   REG,    3, { RSL,RSL,RL } },
-       { R_3(0x631),   "udma",         I_CX,   REG,    0, { 0, 0, 0 }  },
-       { R_3(0x659),   "sysctl",       I_CX2,  REG,    3, { RSL,RSL,RL } },
-
-
-       /* Jx extensions.  */
-       { R_3(0x780),   "addono",       I_JX,   REG,    3, { RSL,RSL,RS } },
-       { R_3(0x790),   "addog",        I_JX,   REG,    3, { RSL,RSL,RS } },
-       { R_3(0x7a0),   "addoe",        I_JX,   REG,    3, { RSL,RSL,RS } },
-       { R_3(0x7b0),   "addoge",       I_JX,   REG,    3, { RSL,RSL,RS } },
-       { R_3(0x7c0),   "addol",        I_JX,   REG,    3, { RSL,RSL,RS } },
-       { R_3(0x7d0),   "addone",       I_JX,   REG,    3, { RSL,RSL,RS } },
-       { R_3(0x7e0),   "addole",       I_JX,   REG,    3, { RSL,RSL,RS } },
-       { R_3(0x7f0),   "addoo",        I_JX,   REG,    3, { RSL,RSL,RS } },
-       { R_3(0x781),   "addino",       I_JX,   REG,    3, { RSL,RSL,RS } },
-       { R_3(0x791),   "addig",        I_JX,   REG,    3, { RSL,RSL,RS } },
-       { R_3(0x7a1),   "addie",        I_JX,   REG,    3, { RSL,RSL,RS } },
-       { R_3(0x7b1),   "addige",       I_JX,   REG,    3, { RSL,RSL,RS } },
-       { R_3(0x7c1),   "addil",        I_JX,   REG,    3, { RSL,RSL,RS } },
-       { R_3(0x7d1),   "addine",       I_JX,   REG,    3, { RSL,RSL,RS } },
-       { R_3(0x7e1),   "addile",       I_JX,   REG,    3, { RSL,RSL,RS } },
-       { R_3(0x7f1),   "addio",        I_JX,   REG,    3, { RSL,RSL,RS } },
-
-       { R_2D(0x5ad),  "bswap",        I_JX,   REG,    2, { RSL, RS, 0 } },
-
-       { R_2(0x594),   "cmpob",        I_JX,   REG,    2, { RSL,RSL, 0 } },
-       { R_2(0x595),   "cmpib",        I_JX,   REG,    2, { RSL,RSL, 0 } },
-       { R_2(0x596),   "cmpos",        I_JX,   REG,    2, { RSL,RSL, 0 } },
-       { R_2(0x597),   "cmpis",        I_JX,   REG,    2, { RSL,RSL, 0 } },
-
-       { R_3(0x784),   "selno",        I_JX,   REG,    3, { RSL,RSL,RS } },
-       { R_3(0x794),   "selg",         I_JX,   REG,    3, { RSL,RSL,RS } },
-       { R_3(0x7a4),   "sele",         I_JX,   REG,    3, { RSL,RSL,RS } },
-       { R_3(0x7b4),   "selge",        I_JX,   REG,    3, { RSL,RSL,RS } },
-       { R_3(0x7c4),   "sell",         I_JX,   REG,    3, { RSL,RSL,RS } },
-       { R_3(0x7d4),   "selne",        I_JX,   REG,    3, { RSL,RSL,RS } },
-       { R_3(0x7e4),   "selle",        I_JX,   REG,    3, { RSL,RSL,RS } },
-       { R_3(0x7f4),   "selo",         I_JX,   REG,    3, { RSL,RSL,RS } },
-
-       { R_3(0x782),   "subono",       I_JX,   REG,    3, { RSL,RSL,RS } },
-       { R_3(0x792),   "subog",        I_JX,   REG,    3, { RSL,RSL,RS } },
-       { R_3(0x7a2),   "suboe",        I_JX,   REG,    3, { RSL,RSL,RS } },
-       { R_3(0x7b2),   "suboge",       I_JX,   REG,    3, { RSL,RSL,RS } },
-       { R_3(0x7c2),   "subol",        I_JX,   REG,    3, { RSL,RSL,RS } },
-       { R_3(0x7d2),   "subone",       I_JX,   REG,    3, { RSL,RSL,RS } },
-       { R_3(0x7e2),   "subole",       I_JX,   REG,    3, { RSL,RSL,RS } },
-       { R_3(0x7f2),   "suboo",        I_JX,   REG,    3, { RSL,RSL,RS } },
-       { R_3(0x783),   "subino",       I_JX,   REG,    3, { RSL,RSL,RS } },
-       { R_3(0x793),   "subig",        I_JX,   REG,    3, { RSL,RSL,RS } },
-       { R_3(0x7a3),   "subie",        I_JX,   REG,    3, { RSL,RSL,RS } },
-       { R_3(0x7b3),   "subige",       I_JX,   REG,    3, { RSL,RSL,RS } },
-       { R_3(0x7c3),   "subil",        I_JX,   REG,    3, { RSL,RSL,RS } },
-       { R_3(0x7d3),   "subine",       I_JX,   REG,    3, { RSL,RSL,RS } },
-       { R_3(0x7e3),   "subile",       I_JX,   REG,    3, { RSL,RSL,RS } },
-       { R_3(0x7f3),   "subio",        I_JX,   REG,    3, { RSL,RSL,RS } },
-
-       { R_3(0x65c),   "dcctl",        I_JX,   REG,    3, { RSL,RSL,RL } },
-       { R_3(0x65b),   "icctl",        I_JX,   REG,    3, { RSL,RSL,RS } },
-       { R_2D(0x658),  "intctl",       I_JX,   REG,    2, { RSL, RS, 0 } },
-       { R_0(0x5b4),   "intdis",       I_JX,   REG,    0, {   0,  0, 0 } },
-       { R_0(0x5b5),   "inten",        I_JX,   REG,    0, {   0,  0, 0 } },
-       { R_0(0x65d),   "halt",         I_JX,   REG,    1, { RSL,  0, 0 } },
-
-       /* Hx extensions.  */
-       { 0xac000000,   "dcinva",       I_HX,   MEM1,   1, {   M,  0, 0 } },
-
-       /* END OF TABLE */
-
-       { 0,            NULL,           0,      0,      0, { 0, 0, 0 }  }
-};
-
- /* end of i960-opcode.h */
index 08c4d0d776f0626b4096e8ae4eddb6c990401ebe..f8260c01b07b7a71c6be9dfd2259b2bb58b87ba1 100644 (file)
@@ -1,3 +1,74 @@
+2018-04-11  Alan Modra  <amodra@gmail.com>
+
+       * emulparams/coff_i860.sh: Delete.
+       * emulparams/elf32_i860.sh: Delete.
+       * emulparams/elf32_i960.sh: Delete.
+       * emulparams/gld960.sh: Delete.
+       * emulparams/gld960coff.sh: Delete.
+       * emulparams/lnk960.sh: Delete.
+       * emultempl/gld960.em: Delete.
+       * emultempl/gld960c.em: Delete.
+       * emultempl/lnk960.em: Delete.
+       * scripttempl/i860coff.sc: Delete.
+       * scripttempl/i960.sc: Delete.
+       * ld.texinfo: Remove i960 support.
+       * Makefile.am: Remove i860 and i960 support.
+       * configure.tgt: Likewise.
+       * testsuite/ld-discard/extern.d: Likewise.
+       * testsuite/ld-discard/start.d: Likewise.
+       * testsuite/ld-discard/static.d: Likewise.
+       * testsuite/ld-elf/compressed1d.d: Likewise.
+       * testsuite/ld-elf/group1.d: Likewise.
+       * testsuite/ld-elf/group3b.d: Likewise.
+       * testsuite/ld-elf/group8a.d: Likewise.
+       * testsuite/ld-elf/group8b.d: Likewise.
+       * testsuite/ld-elf/group9a.d: Likewise.
+       * testsuite/ld-elf/group9b.d: Likewise.
+       * testsuite/ld-elf/linkonce2.d: Likewise.
+       * testsuite/ld-elf/merge.d: Likewise.
+       * testsuite/ld-elf/merge2.d: Likewise.
+       * testsuite/ld-elf/merge3.d: Likewise.
+       * testsuite/ld-elf/orphan-10.d: Likewise.
+       * testsuite/ld-elf/orphan-11.d: Likewise.
+       * testsuite/ld-elf/orphan-12.d: Likewise.
+       * testsuite/ld-elf/orphan-9.d: Likewise.
+       * testsuite/ld-elf/orphan-region.d: Likewise.
+       * testsuite/ld-elf/orphan.d: Likewise.
+       * testsuite/ld-elf/orphan3.d: Likewise.
+       * testsuite/ld-elf/pr12851.d: Likewise.
+       * testsuite/ld-elf/pr12975.d: Likewise.
+       * testsuite/ld-elf/pr13177.d: Likewise.
+       * testsuite/ld-elf/pr13195.d: Likewise.
+       * testsuite/ld-elf/pr17550a.d: Likewise.
+       * testsuite/ld-elf/pr17550b.d: Likewise.
+       * testsuite/ld-elf/pr17550c.d: Likewise.
+       * testsuite/ld-elf/pr17550d.d: Likewise.
+       * testsuite/ld-elf/pr17615.d: Likewise.
+       * testsuite/ld-elf/pr20528a.d: Likewise.
+       * testsuite/ld-elf/pr20528b.d: Likewise.
+       * testsuite/ld-elf/pr21562a.d: Likewise.
+       * testsuite/ld-elf/pr21562b.d: Likewise.
+       * testsuite/ld-elf/pr21562c.d: Likewise.
+       * testsuite/ld-elf/pr21562d.d: Likewise.
+       * testsuite/ld-elf/pr21562i.d: Likewise.
+       * testsuite/ld-elf/pr21562j.d: Likewise.
+       * testsuite/ld-elf/pr21562k.d: Likewise.
+       * testsuite/ld-elf/pr21562l.d: Likewise.
+       * testsuite/ld-elf/pr21562m.d: Likewise.
+       * testsuite/ld-elf/pr21562n.d: Likewise.
+       * testsuite/ld-elf/pr22677.d: Likewise.
+       * testsuite/ld-elf/pr22836-1a.d: Likewise.
+       * testsuite/ld-elf/pr22836-1b.d: Likewise.
+       * testsuite/ld-elf/pr349.d: Likewise.
+       * testsuite/ld-elf/sec-to-seg.exp: Likewise.
+       * testsuite/ld-elf/sec64k.exp: Likewise.
+       * testsuite/ld-elf/warn1.d: Likewise.
+       * testsuite/ld-elf/warn2.d: Likewise.
+       * testsuite/ld-elf/warn3.d: Likewise.
+       * testsuite/lib/ld-lib.exp: Likewise.
+       * Makefile.in: Regenerate.
+       * po/BLD-POTFILES.in: Regenerate.
+
 2018-04-11  Alan Modra  <amodra@gmail.com>
 
        * testsuite/ld-elf/shared.exp (AFLAGS_PIC): Add -mpic for nds32.
 2018-04-11  Alan Modra  <amodra@gmail.com>
 
        * testsuite/ld-elf/shared.exp (AFLAGS_PIC): Add -mpic for nds32.
index d94fce7fa56172953c52e1fe793601d3657305a1..aa1c69d106cdb034897273e6a83bacff7c893de4 100644 (file)
@@ -209,7 +209,6 @@ ALL_EMULATION_SOURCES = \
        eavrxmega6.c \
        eavrxmega7.c \
        eavrtiny.c   \
        eavrxmega6.c \
        eavrxmega7.c \
        eavrtiny.c   \
-       ecoff_i860.c \
        ecoff_sparc.c \
        ecrisaout.c \
        ecriself.c \
        ecoff_sparc.c \
        ecrisaout.c \
        ecriself.c \
@@ -220,8 +219,6 @@ ALL_EMULATION_SOURCES = \
        ed30velf.c \
        edelta68.c \
        eelf32_dlx.c \
        ed30velf.c \
        edelta68.c \
        eelf32_dlx.c \
-       eelf32_i860.c \
-       eelf32_i960.c \
        eelf32_sparc.c \
        eelf32_sparc_sol2.c \
        eelf32_sparc_vxworks.c \
        eelf32_sparc.c \
        eelf32_sparc_sol2.c \
        eelf32_sparc_vxworks.c \
@@ -297,8 +294,6 @@ ALL_EMULATION_SOURCES = \
        eelf_i386_vxworks.c \
        eelf_iamcu.c \
        eelf_s390.c \
        eelf_i386_vxworks.c \
        eelf_iamcu.c \
        eelf_s390.c \
-       egld960.c \
-       egld960coff.c \
        eh8300.c \
        eh8300elf.c \
        eh8300elf_linux.c \
        eh8300.c \
        eh8300elf.c \
        eh8300elf_linux.c \
@@ -343,7 +338,6 @@ ALL_EMULATION_SOURCES = \
        ei386nw.c \
        ei386pe.c \
        ei386pe_posix.c \
        ei386nw.c \
        ei386pe.c \
        ei386pe_posix.c \
-       elnk960.c \
        em32relf.c \
        em32relf_linux.c \
        em32rlelf.c \
        em32relf.c \
        em32relf_linux.c \
        em32rlelf.c \
@@ -927,9 +921,6 @@ eavrtiny.c: $(srcdir)/emulparams/avrtiny.sh \
   $(srcdir)/emultempl/avrelf.em $(ELF_DEPS) $(srcdir)/scripttempl/avr.sc \
   ${GEN_DEPENDS}
 
   $(srcdir)/emultempl/avrelf.em $(ELF_DEPS) $(srcdir)/scripttempl/avr.sc \
   ${GEN_DEPENDS}
 
-ecoff_i860.c: $(srcdir)/emulparams/coff_i860.sh \
-  $(srcdir)/emultempl/generic.em $(srcdir)/scripttempl/i860coff.sc ${GEN_DEPENDS}
-
 ecoff_sparc.c: $(srcdir)/emulparams/coff_sparc.sh \
   $(srcdir)/emultempl/generic.em $(srcdir)/scripttempl/sparccoff.sc ${GEN_DEPENDS}
 
 ecoff_sparc.c: $(srcdir)/emulparams/coff_sparc.sh \
   $(srcdir)/emultempl/generic.em $(srcdir)/scripttempl/sparccoff.sc ${GEN_DEPENDS}
 
@@ -960,12 +951,6 @@ edelta68.c: $(srcdir)/emulparams/delta68.sh \
 eelf32_dlx.c: $(srcdir)/emulparams/elf32_dlx.sh \
   $(ELF_GEN_DEPS) $(srcdir)/scripttempl/dlx.sc ${GEN_DEPENDS}
 
 eelf32_dlx.c: $(srcdir)/emulparams/elf32_dlx.sh \
   $(ELF_GEN_DEPS) $(srcdir)/scripttempl/dlx.sc ${GEN_DEPENDS}
 
-eelf32_i860.c: $(srcdir)/emulparams/elf32_i860.sh \
-  $(ELF_GEN_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
-
-eelf32_i960.c: $(srcdir)/emulparams/elf32_i960.sh \
-  $(ELF_GEN_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
-
 eelf32_sparc.c: $(srcdir)/emulparams/elf32_sparc.sh \
   $(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
 
 eelf32_sparc.c: $(srcdir)/emulparams/elf32_sparc.sh \
   $(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
 
@@ -1378,12 +1363,6 @@ eelf_iamcu.c: $(srcdir)/emulparams/elf_iamcu.sh \
 eelf_s390.c: $(srcdir)/emulparams/elf_s390.sh \
   $(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
 
 eelf_s390.c: $(srcdir)/emulparams/elf_s390.sh \
   $(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
 
-egld960.c: $(srcdir)/emulparams/gld960.sh \
-  $(srcdir)/emultempl/gld960.em $(srcdir)/scripttempl/i960.sc ${GEN_DEPENDS}
-
-egld960coff.c: $(srcdir)/emulparams/gld960coff.sh \
-  $(srcdir)/emultempl/gld960c.em $(srcdir)/scripttempl/i960.sc ${GEN_DEPENDS}
-
 eh8300.c: $(srcdir)/emulparams/h8300.sh \
   $(srcdir)/emultempl/generic.em $(srcdir)/scripttempl/h8300.sc ${GEN_DEPENDS}
 
 eh8300.c: $(srcdir)/emulparams/h8300.sh \
   $(srcdir)/emultempl/generic.em $(srcdir)/scripttempl/h8300.sc ${GEN_DEPENDS}
 
@@ -1533,9 +1512,6 @@ ei386pe_posix.c: $(srcdir)/emulparams/i386pe_posix.sh \
 ei386pep.c: $(srcdir)/emulparams/i386pep.sh \
   $(srcdir)/emultempl/pep.em $(srcdir)/scripttempl/pep.sc ${GEN_DEPENDS}
 
 ei386pep.c: $(srcdir)/emulparams/i386pep.sh \
   $(srcdir)/emultempl/pep.em $(srcdir)/scripttempl/pep.sc ${GEN_DEPENDS}
 
-elnk960.c: $(srcdir)/emulparams/lnk960.sh \
-  $(srcdir)/emultempl/lnk960.em $(srcdir)/scripttempl/i960.sc ${GEN_DEPENDS}
-
 em32relf.c: $(srcdir)/emulparams/m32relf.sh \
   $(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
 
 em32relf.c: $(srcdir)/emulparams/m32relf.sh \
   $(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
 
index 704694b2ca496f134eb2863e06306ece099e4abe..2cd05357f84bbdd144f620dd0e9e3b6a62c70f14 100644 (file)
@@ -578,7 +578,6 @@ ALL_EMULATION_SOURCES = \
        eavrxmega6.c \
        eavrxmega7.c \
        eavrtiny.c   \
        eavrxmega6.c \
        eavrxmega7.c \
        eavrtiny.c   \
-       ecoff_i860.c \
        ecoff_sparc.c \
        ecrisaout.c \
        ecriself.c \
        ecoff_sparc.c \
        ecrisaout.c \
        ecriself.c \
@@ -589,8 +588,6 @@ ALL_EMULATION_SOURCES = \
        ed30velf.c \
        edelta68.c \
        eelf32_dlx.c \
        ed30velf.c \
        edelta68.c \
        eelf32_dlx.c \
-       eelf32_i860.c \
-       eelf32_i960.c \
        eelf32_sparc.c \
        eelf32_sparc_sol2.c \
        eelf32_sparc_vxworks.c \
        eelf32_sparc.c \
        eelf32_sparc_sol2.c \
        eelf32_sparc_vxworks.c \
@@ -666,8 +663,6 @@ ALL_EMULATION_SOURCES = \
        eelf_i386_vxworks.c \
        eelf_iamcu.c \
        eelf_s390.c \
        eelf_i386_vxworks.c \
        eelf_iamcu.c \
        eelf_s390.c \
-       egld960.c \
-       egld960coff.c \
        eh8300.c \
        eh8300elf.c \
        eh8300elf_linux.c \
        eh8300.c \
        eh8300elf.c \
        eh8300elf_linux.c \
@@ -712,7 +707,6 @@ ALL_EMULATION_SOURCES = \
        ei386nw.c \
        ei386pe.c \
        ei386pe_posix.c \
        ei386nw.c \
        ei386pe.c \
        ei386pe_posix.c \
-       elnk960.c \
        em32relf.c \
        em32relf_linux.c \
        em32rlelf.c \
        em32relf.c \
        em32relf_linux.c \
        em32rlelf.c \
@@ -1188,7 +1182,6 @@ distclean-compile:
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eavrxmega5.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eavrxmega6.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eavrxmega7.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eavrxmega5.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eavrxmega6.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eavrxmega7.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ecoff_i860.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ecoff_sparc.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ecrisaout.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ecriself.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ecoff_sparc.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ecrisaout.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ecriself.Po@am__quote@
@@ -1199,8 +1192,6 @@ distclean-compile:
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ed30velf.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/edelta68.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eelf32_dlx.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ed30velf.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/edelta68.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eelf32_dlx.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eelf32_i860.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eelf32_i960.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eelf32_sparc.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eelf32_sparc_sol2.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eelf32_sparc_vxworks.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eelf32_sparc.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eelf32_sparc_sol2.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eelf32_sparc_vxworks.Po@am__quote@
@@ -1333,8 +1324,6 @@ distclean-compile:
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eelf_x86_64_fbsd.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eelf_x86_64_nacl.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eelf_x86_64_sol2.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eelf_x86_64_fbsd.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eelf_x86_64_nacl.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eelf_x86_64_sol2.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/egld960.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/egld960coff.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eh8300.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eh8300elf.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eh8300elf_linux.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eh8300.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eh8300elf.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eh8300elf_linux.Po@am__quote@
@@ -1381,7 +1370,6 @@ distclean-compile:
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ei386pe.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ei386pe_posix.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ei386pep.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ei386pe.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ei386pe_posix.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ei386pep.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/elnk960.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/em32relf.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/em32relf_linux.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/em32rlelf.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/em32relf.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/em32relf_linux.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/em32rlelf.Po@am__quote@
@@ -2491,9 +2479,6 @@ eavrtiny.c: $(srcdir)/emulparams/avrtiny.sh \
   $(srcdir)/emultempl/avrelf.em $(ELF_DEPS) $(srcdir)/scripttempl/avr.sc \
   ${GEN_DEPENDS}
 
   $(srcdir)/emultempl/avrelf.em $(ELF_DEPS) $(srcdir)/scripttempl/avr.sc \
   ${GEN_DEPENDS}
 
-ecoff_i860.c: $(srcdir)/emulparams/coff_i860.sh \
-  $(srcdir)/emultempl/generic.em $(srcdir)/scripttempl/i860coff.sc ${GEN_DEPENDS}
-
 ecoff_sparc.c: $(srcdir)/emulparams/coff_sparc.sh \
   $(srcdir)/emultempl/generic.em $(srcdir)/scripttempl/sparccoff.sc ${GEN_DEPENDS}
 
 ecoff_sparc.c: $(srcdir)/emulparams/coff_sparc.sh \
   $(srcdir)/emultempl/generic.em $(srcdir)/scripttempl/sparccoff.sc ${GEN_DEPENDS}
 
@@ -2524,12 +2509,6 @@ edelta68.c: $(srcdir)/emulparams/delta68.sh \
 eelf32_dlx.c: $(srcdir)/emulparams/elf32_dlx.sh \
   $(ELF_GEN_DEPS) $(srcdir)/scripttempl/dlx.sc ${GEN_DEPENDS}
 
 eelf32_dlx.c: $(srcdir)/emulparams/elf32_dlx.sh \
   $(ELF_GEN_DEPS) $(srcdir)/scripttempl/dlx.sc ${GEN_DEPENDS}
 
-eelf32_i860.c: $(srcdir)/emulparams/elf32_i860.sh \
-  $(ELF_GEN_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
-
-eelf32_i960.c: $(srcdir)/emulparams/elf32_i960.sh \
-  $(ELF_GEN_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
-
 eelf32_sparc.c: $(srcdir)/emulparams/elf32_sparc.sh \
   $(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
 
 eelf32_sparc.c: $(srcdir)/emulparams/elf32_sparc.sh \
   $(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
 
@@ -2942,12 +2921,6 @@ eelf_iamcu.c: $(srcdir)/emulparams/elf_iamcu.sh \
 eelf_s390.c: $(srcdir)/emulparams/elf_s390.sh \
   $(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
 
 eelf_s390.c: $(srcdir)/emulparams/elf_s390.sh \
   $(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
 
-egld960.c: $(srcdir)/emulparams/gld960.sh \
-  $(srcdir)/emultempl/gld960.em $(srcdir)/scripttempl/i960.sc ${GEN_DEPENDS}
-
-egld960coff.c: $(srcdir)/emulparams/gld960coff.sh \
-  $(srcdir)/emultempl/gld960c.em $(srcdir)/scripttempl/i960.sc ${GEN_DEPENDS}
-
 eh8300.c: $(srcdir)/emulparams/h8300.sh \
   $(srcdir)/emultempl/generic.em $(srcdir)/scripttempl/h8300.sc ${GEN_DEPENDS}
 
 eh8300.c: $(srcdir)/emulparams/h8300.sh \
   $(srcdir)/emultempl/generic.em $(srcdir)/scripttempl/h8300.sc ${GEN_DEPENDS}
 
@@ -3097,9 +3070,6 @@ ei386pe_posix.c: $(srcdir)/emulparams/i386pe_posix.sh \
 ei386pep.c: $(srcdir)/emulparams/i386pep.sh \
   $(srcdir)/emultempl/pep.em $(srcdir)/scripttempl/pep.sc ${GEN_DEPENDS}
 
 ei386pep.c: $(srcdir)/emulparams/i386pep.sh \
   $(srcdir)/emultempl/pep.em $(srcdir)/scripttempl/pep.sc ${GEN_DEPENDS}
 
-elnk960.c: $(srcdir)/emulparams/lnk960.sh \
-  $(srcdir)/emultempl/lnk960.em $(srcdir)/scripttempl/i960.sc ${GEN_DEPENDS}
-
 em32relf.c: $(srcdir)/emulparams/m32relf.sh \
   $(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
 
 em32relf.c: $(srcdir)/emulparams/m32relf.sh \
   $(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
 
index 7897448e6438bada02eb88244dfb1336621511b0..f06ae05c941797d9d2e40c533b6c456107aa5e02 100644 (file)
@@ -404,17 +404,6 @@ x86_64-*-nacl*)            targ_emul=elf32_x86_64_nacl
                        targ_extra_libpath=$targ_extra_emuls
                        tdir_elf_i386_nacl=`echo ${targ_alias} | sed -e 's/x86_64/i386/'`
                        ;;
                        targ_extra_libpath=$targ_extra_emuls
                        tdir_elf_i386_nacl=`echo ${targ_alias} | sed -e 's/x86_64/i386/'`
                        ;;
-i860-*-coff)           targ_emul=coff_i860 ;;
-i860-stardent-sysv4* | i860-stardent-elf*)
-                       targ_emul=elf32_i860
-                       ;;
-i960-wrs-vxworks5.0*)  targ_emul=gld960 ;;
-i960-wrs-vxworks5*)    targ_emul=gld960coff ;;
-i960-wrs-vxworks*)     targ_emul=gld960 ;;
-i960-*-coff)           targ_emul=gld960coff ;;
-i960-intel-nindy)      targ_emul=gld960 ;;
-i960-*-elf*)           targ_emul=elf32_i960
-                       ;;
 ia16-*-elf*)           targ_emul=elf_i386 targ_extra_emuls=i386msdos ;;
 ia64-*-elf*)           targ_emul=elf64_ia64 ;;
 ia64-*-freebsd* | ia64-*-kfreebsd*-gnu)
 ia16-*-elf*)           targ_emul=elf_i386 targ_extra_emuls=i386msdos ;;
 ia64-*-elf*)           targ_emul=elf64_ia64 ;;
 ia64-*-freebsd* | ia64-*-kfreebsd*-gnu)
diff --git a/ld/emulparams/coff_i860.sh b/ld/emulparams/coff_i860.sh
deleted file mode 100644 (file)
index 03b6493..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-SCRIPT_NAME=i860coff
-OUTPUT_FORMAT="coff-i860"
-PAGE_SIZE=0x1000
-MAXPAGESIZE=0x1000
-ARCH=i860
diff --git a/ld/emulparams/elf32_i860.sh b/ld/emulparams/elf32_i860.sh
deleted file mode 100644 (file)
index 482e3d1..0000000
+++ /dev/null
@@ -1,12 +0,0 @@
-# A work in progress...
-SCRIPT_NAME=elf
-TEMPLATE_NAME=generic
-EXTRA_EM_FILE=genelf
-OUTPUT_FORMAT="elf32-i860-little"
-BIG_OUTPUT_FORMAT="elf32-i860"
-LITTLE_OUTPUT_FORMAT="elf32-i860-little"
-NO_REL_RELOCS=yes
-TEXT_START_ADDR=0
-PAGE_SIZE=0x1000
-MAXPAGESIZE="CONSTANT (MAXPAGESIZE)"
-ARCH=i860
diff --git a/ld/emulparams/elf32_i960.sh b/ld/emulparams/elf32_i960.sh
deleted file mode 100644 (file)
index dd05a8f..0000000
+++ /dev/null
@@ -1,10 +0,0 @@
-SCRIPT_NAME=elf
-TEMPLATE_NAME=generic
-EXTRA_EM_FILE=genelf
-OUTPUT_FORMAT="elf32-i960"
-NO_RELA_RELOCS=yes
-ARCH=i960
-MACHINE=
-TEXT_START_ADDR=0
-EMBEDDED=yes
-MAXPAGESIZE="CONSTANT (MAXPAGESIZE)"
diff --git a/ld/emulparams/gld960.sh b/ld/emulparams/gld960.sh
deleted file mode 100644 (file)
index 1e03965..0000000
+++ /dev/null
@@ -1,7 +0,0 @@
-SCRIPT_NAME=i960
-OUTPUT_FORMAT=""
-TEXT_START_ADDR=0
-TARGET_PAGE_SIZE=128
-ARCH=i960
-TEMPLATE_NAME=gld960
-GLD_STYLE=1
diff --git a/ld/emulparams/gld960coff.sh b/ld/emulparams/gld960coff.sh
deleted file mode 100644 (file)
index 65b0dca..0000000
+++ /dev/null
@@ -1,19 +0,0 @@
-SCRIPT_NAME=i960
-OUTPUT_FORMAT=""
-TEXT_START_ADDR=0
-TARGET_PAGE_SIZE=128
-ARCH=i960
-TEMPLATE_NAME=gld960c
-GLD_STYLE=1
-COFF_CTORS='
-       ___CTOR_LIST__ = .;
-       LONG((___CTOR_END__ - ___CTOR_LIST__) / 4 - 2)
-       *(.ctors)
-       LONG(0)
-       ___CTOR_END__ = .;
-       ___DTOR_LIST__ = .;
-       LONG((___DTOR_END__ - ___DTOR_LIST__) / 4 - 2)
-       *(.dtors)
-       LONG(0)
-       ___DTOR_END__ = .;
-'
diff --git a/ld/emulparams/lnk960.sh b/ld/emulparams/lnk960.sh
deleted file mode 100644 (file)
index 4a650f7..0000000
+++ /dev/null
@@ -1,6 +0,0 @@
-SCRIPT_NAME=i960
-OUTPUT_FORMAT=""
-TEXT_START_ADDR=0
-TARGET_PAGE_SIZE=128
-ARCH=i960
-TEMPLATE_NAME=lnk960
diff --git a/ld/emultempl/gld960.em b/ld/emultempl/gld960.em
deleted file mode 100644 (file)
index f0f7b04..0000000
+++ /dev/null
@@ -1,155 +0,0 @@
-# This shell script emits a C file. -*- C -*-
-# It does some substitutions.
-fragment <<EOF
-/* Copyright (C) 1991-2018 Free Software Foundation, Inc.
-
-   This file is part of the GNU Binutils.
-
-   This program 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 3 of the License, or
-   (at your option) any later version.
-
-   This program 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 this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston,
-   MA 02110-1301, USA.  */
-
-
-/* Emulate the Intel's port of  gld.  */
-
-#include "sysdep.h"
-#include "bfd.h"
-#include "libiberty.h"
-#include "bfdlink.h"
-
-#include "ld.h"
-#include "ldmisc.h"
-#include "ldmain.h"
-
-#include "ldexp.h"
-#include "ldlang.h"
-#include "ldfile.h"
-#include "ldemul.h"
-
-static void gld960_before_parse (void)
-{
-  char *env ;
-  env =  getenv("G960LIB");
-  if (env) {
-    ldfile_add_library_path(env, FALSE);
-  }
-  env = getenv("G960BASE");
-  if (env)
-    ldfile_add_library_path (concat (env, "/lib", (const char *) NULL), FALSE);
-  ldfile_output_architecture = bfd_arch_i960;
-}
-
-static void
-gld960_set_output_arch (void)
-{
-  bfd_set_arch_mach (link_info.output_bfd,
-                    ldfile_output_architecture, bfd_mach_i960_core);
-}
-
-static char *
-gld960_choose_target (int argc ATTRIBUTE_UNUSED, char **argv ATTRIBUTE_UNUSED)
-{
-  char *from_outside = getenv(TARGET_ENVIRON);
-  output_filename = "b.out";
-
-  if (from_outside != (char *)NULL)
-    return from_outside;
-
-  return "b.out.little";
-}
-
-static char *
-gld960_get_script (int *isfile)
-EOF
-
-if test x"$COMPILE_IN" = xyes
-then
-# Scripts compiled in.
-
-# sed commands to quote an ld script as a C string.
-sc="-f stringify.sed"
-
-fragment <<EOF
-{
-  *isfile = 0;
-
-  if (bfd_link_relocatable (&link_info) && config.build_constructors)
-    return
-EOF
-sed $sc ldscripts/${EMULATION_NAME}.xu                 >> e${EMULATION_NAME}.c
-echo '  ; else if (bfd_link_relocatable (&link_info)) return' >> e${EMULATION_NAME}.c
-sed $sc ldscripts/${EMULATION_NAME}.xr                 >> e${EMULATION_NAME}.c
-echo '  ; else if (!config.text_read_only) return'     >> e${EMULATION_NAME}.c
-sed $sc ldscripts/${EMULATION_NAME}.xbn                >> e${EMULATION_NAME}.c
-echo '  ; else if (!config.magic_demand_paged) return' >> e${EMULATION_NAME}.c
-sed $sc ldscripts/${EMULATION_NAME}.xn                 >> e${EMULATION_NAME}.c
-echo '  ; else return'                                 >> e${EMULATION_NAME}.c
-sed $sc ldscripts/${EMULATION_NAME}.x                  >> e${EMULATION_NAME}.c
-echo '; }'                                             >> e${EMULATION_NAME}.c
-
-else
-# Scripts read from the filesystem.
-
-fragment <<EOF
-{
-  *isfile = 1;
-
-  if (bfd_link_relocatable (&link_info) && config.build_constructors)
-    return "ldscripts/${EMULATION_NAME}.xu";
-  else if (bfd_link_relocatable (&link_info))
-    return "ldscripts/${EMULATION_NAME}.xr";
-  else if (!config.text_read_only)
-    return "ldscripts/${EMULATION_NAME}.xbn";
-  else if (!config.magic_demand_paged)
-    return "ldscripts/${EMULATION_NAME}.xn";
-  else
-    return "ldscripts/${EMULATION_NAME}.x";
-}
-EOF
-
-fi
-
-fragment <<EOF
-
-struct ld_emulation_xfer_struct ld_gld960_emulation =
-{
-  gld960_before_parse,
-  syslib_default,
-  hll_default,
-  after_parse_default,
-  after_open_default,
-  after_check_relocs_default,
-  after_allocation_default,
-  gld960_set_output_arch,
-  gld960_choose_target,
-  before_allocation_default,
-  gld960_get_script,
-  "960",
-  "",
-  finish_default,
-  NULL,        /* create output section statements */
-  NULL,        /* open dynamic archive */
-  NULL,        /* place orphan */
-  NULL,        /* set symbols */
-  NULL,        /* parse args */
-  NULL,        /* add_options */
-  NULL,        /* handle_option */
-  NULL,        /* unrecognized file */
-  NULL,        /* list options */
-  NULL,        /* recognized file */
-  NULL,        /* find_potential_libraries */
-  NULL,        /* new_vers_pattern */
-  NULL /* extra_map_file_text */
-};
-EOF
diff --git a/ld/emultempl/gld960c.em b/ld/emultempl/gld960c.em
deleted file mode 100644 (file)
index 5507e10..0000000
+++ /dev/null
@@ -1,168 +0,0 @@
-# This shell script emits a C file. -*- C -*-
-# It does some substitutions.
-fragment <<EOF
-/* Copyright (C) 1991-2018 Free Software Foundation, Inc.
-
-   This file is part of the GNU Binutils.
-
-   This program 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 3 of the License, or
-   (at your option) any later version.
-
-   This program 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 this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston,
-   MA 02110-1301, USA.  */
-
-
-/* Emulate the Intel's port of gld.  */
-
-#include "sysdep.h"
-#include "bfd.h"
-#include "libiberty.h"
-#include "safe-ctype.h"
-#include "bfdlink.h"
-
-#include "ld.h"
-#include "ldmisc.h"
-#include "ldmain.h"
-
-#include "ldexp.h"
-#include "ldlang.h"
-#include "ldfile.h"
-#include "ldemul.h"
-
-static void gld960_before_parse (void)
-{
-  char *env ;
-  env =  getenv("G960LIB");
-  if (env) {
-    ldfile_add_library_path(env, FALSE);
-  }
-  env = getenv("G960BASE");
-  if (env)
-    ldfile_add_library_path (concat (env, "/lib", (const char *) NULL),
-                            FALSE);
-  ldfile_output_architecture = bfd_arch_i960;
-}
-
-static void
-gld960_set_output_arch (void)
-{
-  if (ldfile_output_machine_name != NULL
-      && *ldfile_output_machine_name != '\0')
-    {
-      char *s, *s1;
-
-      s = concat ("i960:", ldfile_output_machine_name, (char *) NULL);
-      for (s1 = s; *s1 != '\0'; s1++)
-       *s1 = TOLOWER (*s1);
-      ldfile_set_output_arch (s, bfd_arch_unknown);
-      free (s);
-    }
-
-  set_output_arch_default ();
-}
-
-static char *
-gld960_choose_target (int argc ATTRIBUTE_UNUSED, char **argv ATTRIBUTE_UNUSED)
-{
-  char *from_outside = getenv(TARGET_ENVIRON);
-  output_filename = "b.out";
-
-  if (from_outside != (char *)NULL)
-    return from_outside;
-
-  return "coff-Intel-little";
-}
-
-static char *
-gld960_get_script (int *isfile)
-EOF
-
-if test x"$COMPILE_IN" = xyes
-then
-# Scripts compiled in.
-
-# sed commands to quote an ld script as a C string.
-sc="-f stringify.sed"
-
-fragment <<EOF
-{
-  *isfile = 0;
-
-  if (bfd_link_relocatable (&link_info) && config.build_constructors)
-    return
-EOF
-sed $sc ldscripts/${EMULATION_NAME}.xu                 >> e${EMULATION_NAME}.c
-echo '  ; else if (bfd_link_relocatable (&link_info)) return' >> e${EMULATION_NAME}.c
-sed $sc ldscripts/${EMULATION_NAME}.xr                 >> e${EMULATION_NAME}.c
-echo '  ; else if (!config.text_read_only) return'     >> e${EMULATION_NAME}.c
-sed $sc ldscripts/${EMULATION_NAME}.xbn                >> e${EMULATION_NAME}.c
-echo '  ; else if (!config.magic_demand_paged) return' >> e${EMULATION_NAME}.c
-sed $sc ldscripts/${EMULATION_NAME}.xn                 >> e${EMULATION_NAME}.c
-echo '  ; else return'                                 >> e${EMULATION_NAME}.c
-sed $sc ldscripts/${EMULATION_NAME}.x                  >> e${EMULATION_NAME}.c
-echo '; }'                                             >> e${EMULATION_NAME}.c
-
-else
-# Scripts read from the filesystem.
-
-fragment <<EOF
-{
-  *isfile = 1;
-
-  if (bfd_link_relocatable (&link_info) && config.build_constructors)
-    return "ldscripts/${EMULATION_NAME}.xu";
-  else if (bfd_link_relocatable (&link_info))
-    return "ldscripts/${EMULATION_NAME}.xr";
-  else if (!config.text_read_only)
-    return "ldscripts/${EMULATION_NAME}.xbn";
-  else if (!config.magic_demand_paged)
-    return "ldscripts/${EMULATION_NAME}.xn";
-  else
-    return "ldscripts/${EMULATION_NAME}.x";
-}
-EOF
-
-fi
-
-fragment <<EOF
-
-struct ld_emulation_xfer_struct ld_gld960coff_emulation =
-{
-  gld960_before_parse,
-  syslib_default,
-  hll_default,
-  after_parse_default,
-  after_open_default,
-  after_check_relocs_default,
-  after_allocation_default,
-  gld960_set_output_arch,
-  gld960_choose_target,
-  before_allocation_default,
-  gld960_get_script,
-  "960coff",
-  "",
-  finish_default,
-  NULL,        /* create output section statements */
-  NULL,        /* open dynamic archive */
-  NULL,        /* place orphan */
-  NULL,        /* set symbols */
-  NULL,        /* parse args */
-  NULL,        /* add_options */
-  NULL,        /* handle_option */
-  NULL,        /* unrecognized file */
-  NULL,        /* list options */
-  NULL,        /* recognized file */
-  NULL,        /* find_potential_libraries */
-  NULL,        /* new_vers_pattern */
-  NULL /* extra_map_file_text */
-};
-EOF
diff --git a/ld/emultempl/lnk960.em b/ld/emultempl/lnk960.em
deleted file mode 100644 (file)
index b9ba51d..0000000
+++ /dev/null
@@ -1,349 +0,0 @@
-# This shell script emits a C file. -*- C -*-
-# It does some substitutions.
-fragment <<EOF
-/* intel coff loader emulation specific stuff
-   Copyright (C) 1991-2018 Free Software Foundation, Inc.
-   Written by Steve Chamberlain steve@cygnus.com
-
-   This file is part of the GNU Binutils.
-
-   This program 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 3 of the License, or
-   (at your option) any later version.
-
-   This program 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 this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston,
-   MA 02110-1301, USA.  */
-
-#include "sysdep.h"
-#include "libiberty.h"
-#include "bfd.h"
-#include "bfdlink.h"
-
-/*#include "archures.h"*/
-#include "ld.h"
-#include "ldmain.h"
-#include "ldmisc.h"
-#include "ldexp.h"
-#include "ldlang.h"
-#include "ldfile.h"
-#include "ldemul.h"
-
-typedef struct lib_list {
-  char *name;
-  struct lib_list *next;
-} lib_list_type;
-
-static lib_list_type *hll_list;
-static lib_list_type **hll_list_tail = &hll_list;
-
-static lib_list_type *syslib_list;
-static lib_list_type **syslib_list_tail = &syslib_list;
-
-
-static void
-append (lib_list_type ***list, char *name)
-{
-  lib_list_type *element = (lib_list_type *) xmalloc (sizeof (lib_list_type));
-
-  element->name = name;
-  element->next = (lib_list_type *) NULL;
-  **list = element;
-  *list = &element->next;
-
-}
-
-static bfd_boolean had_hll = FALSE;
-static bfd_boolean had_hll_name = FALSE;
-
-static void
-lnk960_hll (char *name)
-{
-  had_hll = TRUE;
-  if (name != (char *) NULL)
-    {
-      had_hll_name = TRUE;
-      append (&hll_list_tail, name);
-    }
-}
-
-static void
-lnk960_syslib (char *name)
-{
-  append (&syslib_list_tail, name);
-}
-
-
-static void
-lnk960_before_parse (void)
-{
-  char *name = getenv ("I960BASE");
-
-  if (name == (char *) NULL)
-    {
-      name = getenv("G960BASE");
-      if (name == (char *) NULL)
-       einfo (_("%F%P: I960BASE and G960BASE not set\n"));
-    }
-
-  ldfile_add_library_path (concat (name, "/lib", (const char *) NULL), FALSE);
-  ldfile_output_architecture = bfd_arch_i960;
-  ldfile_output_machine = bfd_mach_i960_core;
-}
-
-static void
-add_on (lib_list_type *list, lang_input_file_enum_type search)
-{
-  while (list)
-    {
-      lang_add_input_file (list->name, search, (char *) NULL);
-      list = list->next;
-    }
-}
-
-static void
-lnk960_after_parse (void)
-{
-  /* If there has been no arch, default to -KB */
-  if (ldfile_output_machine_name[0] == 0)
-    ldfile_add_arch ("KB");
-
-  /* if there has been no hll list then add our own */
-
-  if (had_hll && !had_hll_name)
-    {
-      append (&hll_list_tail, "cg");
-      if (ldfile_output_machine == bfd_mach_i960_ka_sa
-         || ldfile_output_machine == bfd_mach_i960_ca)
-       append (&hll_list_tail, "fpg");
-    }
-
-  add_on (hll_list, lang_input_file_is_l_enum);
-  add_on (syslib_list, lang_input_file_is_search_file_enum);
-}
-
-/* Create a symbol with the given name with the value of the
-   address of first byte of the section named.
-
-   If the symbol already exists, then do nothing.  */
-
-static void
-symbol_at_beginning_of (const char *secname, const char *name)
-{
-  struct bfd_link_hash_entry *h;
-
-  h = bfd_link_hash_lookup (link_info.hash, name, TRUE, TRUE, TRUE);
-  if (h == NULL)
-    einfo (_("%F%P: bfd_link_hash_lookup failed: %E\n"));
-
-  if (h->type == bfd_link_hash_new
-      || h->type == bfd_link_hash_undefined)
-    {
-      asection *sec;
-
-      h->type = bfd_link_hash_defined;
-
-      sec = bfd_get_section_by_name (link_info.output_bfd, secname);
-      if (sec == NULL)
-       sec = bfd_abs_section_ptr;
-      h->u.def.value = 0;
-      h->u.def.section = sec;
-    }
-}
-
-/* Create a symbol with the given name with the value of the
-   address of the first byte after the end of the section named.
-
-   If the symbol already exists, then do nothing.  */
-
-static void
-symbol_at_end_of (const char *secname, const char *name)
-{
-  struct bfd_link_hash_entry *h;
-
-  h = bfd_link_hash_lookup (link_info.hash, name, TRUE, TRUE, TRUE);
-  if (h == NULL)
-    einfo (_("%F%P: bfd_link_hash_lookup failed: %E\n"));
-
-  if (h->type == bfd_link_hash_new
-      || h->type == bfd_link_hash_undefined)
-    {
-      asection *sec;
-
-      h->type = bfd_link_hash_defined;
-
-      sec = bfd_get_section_by_name (link_info.output_bfd, secname);
-      if (sec == NULL)
-       sec = bfd_abs_section_ptr;
-      h->u.def.value = sec->size;
-      h->u.def.section = sec;
-    }
-}
-
-static void
-lnk960_after_allocation (void)
-{
-  if (!bfd_link_relocatable (&link_info))
-    {
-      symbol_at_end_of (".text", "_etext");
-      symbol_at_end_of (".data", "_edata");
-      symbol_at_beginning_of (".bss", "_bss_start");
-      symbol_at_end_of (".bss", "_end");
-    }
-}
-
-
-static struct
- {
-   unsigned  long number;
-   char *name;
- }
-machine_table[] =
-{
-  { bfd_mach_i960_core ,"CORE" },
-  { bfd_mach_i960_kb_sb        ,"KB" },
-  { bfd_mach_i960_kb_sb        ,"SB" },
-  { bfd_mach_i960_mc   ,"MC" },
-  { bfd_mach_i960_xa   ,"XA" },
-  { bfd_mach_i960_ca   ,"CA" },
-  { bfd_mach_i960_ka_sa        ,"KA" },
-  { bfd_mach_i960_ka_sa        ,"SA" },
-  { bfd_mach_i960_jx   ,"JX" },
-  { bfd_mach_i960_hx   ,"HX" },
-
-  { bfd_mach_i960_core ,"core" },
-  { bfd_mach_i960_kb_sb        ,"kb" },
-  { bfd_mach_i960_kb_sb        ,"sb" },
-  { bfd_mach_i960_mc   ,"mc" },
-  { bfd_mach_i960_xa   ,"xa" },
-  { bfd_mach_i960_ca   ,"ca" },
-  { bfd_mach_i960_ka_sa        ,"ka" },
-  { bfd_mach_i960_ka_sa        ,"sa" },
-  { bfd_mach_i960_jx   ,"jx" },
-  { bfd_mach_i960_hx   ,"hx" },
-
-  { 0, (char *) NULL }
-};
-
-static void
-lnk960_set_output_arch (void)
-{
-  /* Set the output architecture and machine if possible */
-  unsigned int i;
-  ldfile_output_machine = bfd_mach_i960_core;
-  for (i= 0; machine_table[i].name != (char*) NULL; i++)
-    {
-      if (strcmp (ldfile_output_machine_name, machine_table[i].name) == 0)
-       {
-         ldfile_output_machine = machine_table[i].number;
-         break;
-       }
-    }
-  bfd_set_arch_mach (link_info.output_bfd, ldfile_output_architecture,
-                    ldfile_output_machine);
-}
-
-static char *
-lnk960_choose_target (int argc ATTRIBUTE_UNUSED, char **argv ATTRIBUTE_UNUSED)
-{
-  char *from_outside = getenv (TARGET_ENVIRON);
-  if (from_outside != (char *) NULL)
-    return from_outside;
-#ifdef LNK960_LITTLE
-  return "coff-Intel-little";
-#else
-  return "coff-Intel-big";
-#endif
-}
-
-static char *
-lnk960_get_script (int *isfile)
-EOF
-
-if test x"$COMPILE_IN" = xyes
-then
-# Scripts compiled in.
-
-# sed commands to quote an ld script as a C string.
-sc="-f stringify.sed"
-
-fragment <<EOF
-{
-  *isfile = 0;
-
-  if (bfd_link_relocatable (&link_info) && config.build_constructors)
-    return
-EOF
-sed $sc ldscripts/${EMULATION_NAME}.xu                 >> e${EMULATION_NAME}.c
-echo '  ; else if (bfd_link_relocatable (&link_info)) return' >> e${EMULATION_NAME}.c
-sed $sc ldscripts/${EMULATION_NAME}.xr                 >> e${EMULATION_NAME}.c
-echo '  ; else if (!config.text_read_only) return'     >> e${EMULATION_NAME}.c
-sed $sc ldscripts/${EMULATION_NAME}.xbn                >> e${EMULATION_NAME}.c
-echo '  ; else if (!config.magic_demand_paged) return' >> e${EMULATION_NAME}.c
-sed $sc ldscripts/${EMULATION_NAME}.xn                 >> e${EMULATION_NAME}.c
-echo '  ; else return'                                 >> e${EMULATION_NAME}.c
-sed $sc ldscripts/${EMULATION_NAME}.x                  >> e${EMULATION_NAME}.c
-echo '; }'                                             >> e${EMULATION_NAME}.c
-
-else
-# Scripts read from the filesystem.
-
-fragment <<EOF
-{
-  *isfile = 1;
-
-  if (bfd_link_relocatable (&link_info) && config.build_constructors)
-    return "ldscripts/${EMULATION_NAME}.xu";
-  else if (bfd_link_relocatable (&link_info))
-    return "ldscripts/${EMULATION_NAME}.xr";
-  else if (!config.text_read_only)
-    return "ldscripts/${EMULATION_NAME}.xbn";
-  else if (!config.magic_demand_paged)
-    return "ldscripts/${EMULATION_NAME}.xn";
-  else
-    return "ldscripts/${EMULATION_NAME}.x";
-}
-EOF
-
-fi
-
-fragment <<EOF
-
-struct ld_emulation_xfer_struct ld_lnk960_emulation =
-{
-  lnk960_before_parse,
-  lnk960_syslib,
-  lnk960_hll,
-  lnk960_after_parse,
-  after_open_default,
-  after_check_relocs_default,
-  lnk960_after_allocation,
-  lnk960_set_output_arch,
-  lnk960_choose_target,
-  before_allocation_default,
-  lnk960_get_script,
-  "lnk960",
-  "",
-  finish_default,
-  NULL,        /* create output section statements */
-  NULL,        /* open dynamic archive */
-  NULL,        /* place orphan */
-  NULL,        /* set symbols */
-  NULL,        /* parse args */
-  NULL,        /* add_options */
-  NULL,        /* handle_option */
-  NULL,        /* unrecognized file */
-  NULL,        /* list options */
-  NULL,        /* recognized file */
-  NULL,        /* find_potential_libraries */
-  NULL,        /* new_vers_pattern */
-  NULL /* extra_map_file_text */
-};
-EOF
index 9425c658434afa6d6080d3da2b357f75959c84f3..cd7aa6d88510104cc56e0fa7482aafd572830c64 100644 (file)
@@ -23,7 +23,6 @@
 @set C6X
 @set H8300
 @set HPPA
 @set C6X
 @set H8300
 @set HPPA
-@set I960
 @set M68HC11
 @set M68K
 @set MIPS
 @set M68HC11
 @set M68K
 @set MIPS
@@ -135,9 +134,6 @@ in the section entitled ``GNU Free Documentation License''.
 @ifset Renesas
 * Renesas::                     ld and other Renesas micros
 @end ifset
 @ifset Renesas
 * Renesas::                     ld and other Renesas micros
 @end ifset
-@ifset I960
-* i960::                        ld and the Intel 960 family
-@end ifset
 @ifset ARM
 * ARM::                                ld and the ARM family
 @end ifset
 @ifset ARM
 * ARM::                                ld and the ARM family
 @end ifset
@@ -381,23 +377,6 @@ it will add a corresponding @code{DT_DEPAUDIT} entry in the output file.
 This option is only meaningful on ELF platforms supporting the rtld-audit
 interface.
 
 This option is only meaningful on ELF platforms supporting the rtld-audit
 interface.
 
-@ifset I960
-@cindex architectures
-@kindex -A @var{arch}
-@item -A @var{architecture}
-@kindex --architecture=@var{arch}
-@itemx --architecture=@var{architecture}
-In the current release of @command{ld}, this option is useful only for the
-Intel 960 family of architectures.  In that @command{ld} configuration, the
-@var{architecture} argument identifies the particular architecture in
-the 960 family, enabling some safeguards and modifying the
-archive-library search path.  @xref{i960,,@command{ld} and the Intel 960
-family}, for details.
-
-Future releases of @command{ld} may support similar functionality for
-other architecture families.
-@end ifset
-
 @ifclear SingleFormat
 @cindex binary input format
 @kindex -b @var{format}
 @ifclear SingleFormat
 @cindex binary input format
 @kindex -b @var{format}
@@ -1860,9 +1839,6 @@ This option is only supported on a few targets.
 @ifset H8300
 @xref{H8/300,,@command{ld} and the H8/300}.
 @end ifset
 @ifset H8300
 @xref{H8/300,,@command{ld} and the H8/300}.
 @end ifset
-@ifset I960
-@xref{i960,, @command{ld} and the Intel 960 family}.
-@end ifset
 @ifset XTENSA
 @xref{Xtensa,, @command{ld} and Xtensa Processors}.
 @end ifset
 @ifset XTENSA
 @xref{Xtensa,, @command{ld} and Xtensa Processors}.
 @end ifset
@@ -6562,9 +6538,6 @@ functionality are not listed.
 @ifset H8300
 * H8/300::                      @command{ld} and the H8/300
 @end ifset
 @ifset H8300
 * H8/300::                      @command{ld} and the H8/300
 @end ifset
-@ifset I960
-* i960::                        @command{ld} and the Intel 960 family
-@end ifset
 @ifset M68HC11
 * M68HC11/68HC12::             @code{ld} and the Motorola 68HC11 and 68HC12 families
 @end ifset
 @ifset M68HC11
 * M68HC11/68HC12::             @code{ld} and the Motorola 68HC11 and 68HC12 families
 @end ifset
@@ -6690,63 +6663,6 @@ options are required for these chips.
 @end ifset
 @end ifclear
 
 @end ifset
 @end ifclear
 
-@ifset I960
-@ifclear GENERIC
-@raisesections
-@end ifclear
-
-@node i960
-@section @command{ld} and the Intel 960 Family
-
-@cindex i960 support
-
-You can use the @samp{-A@var{architecture}} command line option to
-specify one of the two-letter names identifying members of the 960
-family; the option specifies the desired output target, and warns of any
-incompatible instructions in the input files.  It also modifies the
-linker's search strategy for archive libraries, to support the use of
-libraries specific to each particular architecture, by including in the
-search loop names suffixed with the string identifying the architecture.
-
-For example, if your @command{ld} command line included @w{@samp{-ACA}} as
-well as @w{@samp{-ltry}}, the linker would look (in its built-in search
-paths, and in any paths you specify with @samp{-L}) for a library with
-the names
-
-@smallexample
-@group
-try
-libtry.a
-tryca
-libtryca.a
-@end group
-@end smallexample
-
-@noindent
-The first two possibilities would be considered in any event; the last
-two are due to the use of @w{@samp{-ACA}}.
-
-You can meaningfully use @samp{-A} more than once on a command line, since
-the 960 architecture family allows combination of target architectures; each
-use will add another pair of name variants to search for when @w{@samp{-l}}
-specifies a library.
-
-@cindex @option{--relax} on i960
-@cindex relaxing on i960
-@command{ld} supports the @samp{--relax} option for the i960 family.  If
-you specify @samp{--relax}, @command{ld} finds all @code{balx} and
-@code{calx} instructions whose targets are within 24 bits, and turns
-them into 24-bit program-counter relative @code{bal} and @code{cal}
-instructions, respectively.  @command{ld} also turns @code{cal}
-instructions into @code{bal} instructions when it determines that the
-target subroutine is a leaf routine (that is, the target subroutine does
-not itself call any subroutines).
-
-@ifclear GENERIC
-@lowersections
-@end ifclear
-@end ifset
-
 @ifset ARM
 @ifclear GENERIC
 @raisesections
 @ifset ARM
 @ifclear GENERIC
 @raisesections
index 050e3cad50324481a80fdd5a25cbd6e50d921bb2..33280c480c512cef9e45a5ea4867565b07437379 100644 (file)
@@ -66,7 +66,6 @@ eavrxmega4.c
 eavrxmega5.c
 eavrxmega6.c
 eavrxmega7.c
 eavrxmega5.c
 eavrxmega6.c
 eavrxmega7.c
-ecoff_i860.c
 ecoff_sparc.c
 ecrisaout.c
 ecriself.c
 ecoff_sparc.c
 ecrisaout.c
 ecriself.c
@@ -77,8 +76,6 @@ ed30v_o.c
 ed30velf.c
 edelta68.c
 eelf32_dlx.c
 ed30velf.c
 edelta68.c
 eelf32_dlx.c
-eelf32_i860.c
-eelf32_i960.c
 eelf32_sparc.c
 eelf32_sparc_sol2.c
 eelf32_sparc_vxworks.c
 eelf32_sparc.c
 eelf32_sparc_sol2.c
 eelf32_sparc_vxworks.c
@@ -211,8 +208,6 @@ eelf_x86_64_cloudabi.c
 eelf_x86_64_fbsd.c
 eelf_x86_64_nacl.c
 eelf_x86_64_sol2.c
 eelf_x86_64_fbsd.c
 eelf_x86_64_nacl.c
 eelf_x86_64_sol2.c
-egld960.c
-egld960coff.c
 eh8300.c
 eh8300elf.c
 eh8300elf_linux.c
 eh8300.c
 eh8300elf.c
 eh8300elf_linux.c
@@ -259,7 +254,6 @@ ei386nw.c
 ei386pe.c
 ei386pe_posix.c
 ei386pep.c
 ei386pe.c
 ei386pe_posix.c
 ei386pep.c
-elnk960.c
 em32relf.c
 em32relf_linux.c
 em32rlelf.c
 em32relf.c
 em32relf_linux.c
 em32rlelf.c
diff --git a/ld/scripttempl/i860coff.sc b/ld/scripttempl/i860coff.sc
deleted file mode 100644 (file)
index f809426..0000000
+++ /dev/null
@@ -1,54 +0,0 @@
-# Copyright (C) 2014-2018 Free Software Foundation, Inc.
-#
-# Copying and distribution of this file, with or without modification,
-# are permitted in any medium without royalty provided the copyright
-# notice and this notice are preserved.
-
-cat <<EOF
-/* Copyright (C) 2014-2018 Free Software Foundation, Inc.
-
-   Copying and distribution of this script, with or without modification,
-   are permitted in any medium without royalty provided the copyright
-   notice and this notice are preserved.  */
-
-OUTPUT_FORMAT("${OUTPUT_FORMAT}")
-${LIB_SEARCH_DIRS}
-PROVIDE (__stack = 0);
-SECTIONS
-{
-  .text ${RELOCATING+ 0x1000000} : {
-    *(.text)
-    ${CONSTRUCTING+ . = ALIGN(4);}
-    ${RELOCATING+ etext  =  .;}
-    ${CONSTRUCTING+ __CTOR_LIST__ = .;}
-    ${CONSTRUCTING+ LONG((__CTOR_END__ - __CTOR_LIST__) / 4 - 2)}
-    ${CONSTRUCTING+ *(.ctors)}
-    ${CONSTRUCTING+ LONG(0)}
-    ${CONSTRUCTING+ __CTOR_END__ = .;}
-    ${CONSTRUCTING+ __DTOR_LIST__ = .;}
-    ${CONSTRUCTING+ LONG((__DTOR_END__ - __DTOR_LIST__) / 4 - 2)}
-    ${CONSTRUCTING+ *(.dtors)}
-    ${CONSTRUCTING+ LONG(0)}
-    ${CONSTRUCTING+ __DTOR_END__ = .;}
-  }
-  .data : {
-    *(.data)
-    ${RELOCATING+ edata  =  .};
-  }
-  .bss : {
-    ${RELOCATING+ __bss_start = .};
-    *(.bss)
-    *(COMMON)
-     ${RELOCATING+ end = ALIGN(0x8)};
-     ${RELOCATING+ _end = ALIGN(0x8)};
-  }
-  .stab  0 ${RELOCATING+(NOLOAD)} :
-  {
-    [ .stab ]
-  }
-  .stabstr  0 ${RELOCATING+(NOLOAD)} :
-  {
-    [ .stabstr ]
-  }
-}
-EOF
diff --git a/ld/scripttempl/i960.sc b/ld/scripttempl/i960.sc
deleted file mode 100644 (file)
index 647ae86..0000000
+++ /dev/null
@@ -1,37 +0,0 @@
-# Copyright (C) 2014-2018 Free Software Foundation, Inc.
-#
-# Copying and distribution of this file, with or without modification,
-# are permitted in any medium without royalty provided the copyright
-# notice and this notice are preserved.
-
-cat <<EOF
-/* Copyright (C) 2014-2018 Free Software Foundation, Inc.
-
-   Copying and distribution of this script, with or without modification,
-   are permitted in any medium without royalty provided the copyright
-   notice and this notice are preserved.  */
-
-SECTIONS
-{
-    .text :
-    {
-       ${GLD_STYLE+ CREATE_OBJECT_SYMBOLS}
-       *(.text)
-       ${RELOCATING+ _etext = .};
-       ${CONSTRUCTING+${COFF_CTORS}}
-    }
-    .data :
-    {
-       *(.data)
-       ${CONSTRUCTING+CONSTRUCTORS}
-       ${RELOCATING+ _edata = .};
-    }
-    .bss :
-    {
-       ${RELOCATING+ _bss_start = .};
-       *(.bss)
-       *(COMMON)
-       ${RELOCATING+ _end = .};
-    }
-}
-EOF
index 9932ebca440386e6545dffcb9d1f96fbe4552eea..50112e45e72f8fd8786763d7a4183033e0fff06a 100644 (file)
@@ -2,7 +2,7 @@
 #ld: -T discard.ld
 #error: .*data.* referenced in section `\.text' of tmpdir/extern.o: defined in discarded section `\.data\.exit' of tmpdir/extern.o
 #objdump: -p
 #ld: -T discard.ld
 #error: .*data.* referenced in section `\.text' of tmpdir/extern.o: defined in discarded section `\.data\.exit' of tmpdir/extern.o
 #objdump: -p
-#xfail: d30v-*-* dlx-*-* i960-*-* pj*-*-*
+#xfail: d30v-*-* dlx-*-* pj*-*-*
 #xfail: m68hc12-*-* m6812-*-*
 #pass
 # The expected warning used to start with "`data' referenced..." but
 #xfail: m68hc12-*-* m6812-*-*
 #pass
 # The expected warning used to start with "`data' referenced..." but
index d846bc736ae29727e25f738f93626e744697660b..e8ce59d62c8c67e0ac8e018ecf127dc8ece2f149 100644 (file)
@@ -3,6 +3,6 @@
 #ld: -T discard.ld
 #error: `data' referenced in section `\.text' of tmpdir/start.o: defined in discarded section `\.data\.exit' of tmpdir/exit.o
 #objdump: -p
 #ld: -T discard.ld
 #error: `data' referenced in section `\.text' of tmpdir/start.o: defined in discarded section `\.data\.exit' of tmpdir/exit.o
 #objdump: -p
-#xfail: d30v-*-* dlx-*-* i960-*-* pj*-*-*
+#xfail: d30v-*-* dlx-*-* pj*-*-*
 #xfail: m68hc12-*-* m6812-*-*
 #pass
 #xfail: m68hc12-*-* m6812-*-*
 #pass
index 3f61bb36f4a80cc54c1d75f3c5b799220f654df8..7a299cc9c095a1533f85af8dd246ddffa266a5cb 100644 (file)
@@ -2,6 +2,6 @@
 #ld: -T discard.ld
 #error: `(\.data\.exit|data)' referenced in section `\.text' of tmpdir/static.o: defined in discarded section `\.data\.exit' of tmpdir/static.o
 #objdump: -p
 #ld: -T discard.ld
 #error: `(\.data\.exit|data)' referenced in section `\.text' of tmpdir/static.o: defined in discarded section `\.data\.exit' of tmpdir/static.o
 #objdump: -p
-#xfail: d30v-*-* dlx-*-* i960-*-* pj*-*-*
+#xfail: d30v-*-* dlx-*-* pj*-*-*
 #xfail: m68hc12-*-* m6812-*-*
 #pass
 #xfail: m68hc12-*-* m6812-*-*
 #pass
index 5c5592df50c6c190c222929be39357143dd1560b..f3211dec8d5d5cbc0022a165cb4656b9431dc709 100644 (file)
@@ -2,7 +2,7 @@
 #as: --compress-debug-sections=none
 #ld: -r --compress-debug-sections=zlib-gnu
 #readelf: -SW
 #as: --compress-debug-sections=none
 #ld: -r --compress-debug-sections=zlib-gnu
 #readelf: -SW
-#notarget: d30v-*-* dlx-*-* fr30-*-* frv-*-* ft32-*-* i370-*-* i860-*-* iq2000-*-* mn10200-*-* moxie-*-* msp430-*-* mt-*-* or1k-*-* pj-*-* riscv*-*-*
+#notarget: d30v-*-* dlx-*-* fr30-*-* frv-*-* ft32-*-* i370-*-* iq2000-*-* mn10200-*-* moxie-*-* msp430-*-* mt-*-* or1k-*-* pj-*-* riscv*-*-*
 # Not all ELF targets use the elf.em emulation...
 # RISC-V has linker relaxations that delete code, so text label subtractions
 # do not get resolved at assembly time, which results in a compressed section.
 # Not all ELF targets use the elf.em emulation...
 # RISC-V has linker relaxations that delete code, so text label subtractions
 # do not get resolved at assembly time, which results in a compressed section.
index e355cd87188ed7fcd2db489ad6b848a145832323..c2d67b9585fb2a8a1158bbd087cb3edbc7fc10a4 100644 (file)
@@ -2,7 +2,7 @@
 #source: group1b.s
 #ld: -T group.ld
 #readelf: -s
 #source: group1b.s
 #ld: -T group.ld
 #readelf: -s
-#xfail: d30v-*-* dlx-*-* i960-*-* pj*-*-* *-*-solaris*
+#xfail: d30v-*-* dlx-*-* pj*-*-* *-*-solaris*
 # generic linker targets don't comply with all symbol merging rules
 
 Symbol table '.symtab' contains .* entries:
 # generic linker targets don't comply with all symbol merging rules
 
 Symbol table '.symtab' contains .* entries:
index a242c401ac4372e4c516fa9592e1ba93538b6965..bb8813f4f3c6221438b7af2cb793614d7707bbbd 100644 (file)
@@ -2,7 +2,7 @@
 #source: group3a.s
 #ld: -T group.ld
 #readelf: -s
 #source: group3a.s
 #ld: -T group.ld
 #readelf: -s
-#xfail: d30v-*-* dlx-*-* i960-*-* pj*-*-*
+#xfail: d30v-*-* dlx-*-* pj*-*-*
 # generic linker targets don't comply with all symbol merging rules
 
 Symbol table '.symtab' contains .* entries:
 # generic linker targets don't comply with all symbol merging rules
 
 Symbol table '.symtab' contains .* entries:
index 52112e9208572e113f828d227a0ff6b5eeb19d46..835ca563a6c8993d38d7aad200211ccfa90ed97a 100644 (file)
@@ -1,8 +1,8 @@
 #source: group8.s
 #ld: -r --gc-sections --entry foo
 #readelf: -g --wide
 #source: group8.s
 #ld: -r --gc-sections --entry foo
 #readelf: -g --wide
-#notarget: d30v-*-* dlx-*-* i960-*-* pj*-*-* pru-*-*
-#notarget: hppa64-*-* i370-*-* i860-*-* ia64-*-* mep-*-* mn10200-*-*
+#notarget: d30v-*-* dlx-*-* pj*-*-* pru-*-*
+#notarget: hppa64-*-* i370-*-* ia64-*-* mep-*-* mn10200-*-*
 #xfail: cr16-*-* crx-*-*
 # generic linker targets don't support --gc-sections, nor do a bunch of others
 # cr16 and crx use non-standard scripts with memory regions, which don't play
 #xfail: cr16-*-* crx-*-*
 # generic linker targets don't support --gc-sections, nor do a bunch of others
 # cr16 and crx use non-standard scripts with memory regions, which don't play
index 15714a7485de9a785e1afe5f6619724732b0d708..6a17e875c988a5e8209efc9dde5ed141f83b4081 100644 (file)
@@ -1,8 +1,8 @@
 #source: group8.s
 #ld: -r --gc-sections --entry bar
 #readelf: -g --wide
 #source: group8.s
 #ld: -r --gc-sections --entry bar
 #readelf: -g --wide
-#xfail: d30v-*-* dlx-*-* i960-*-* pj*-*-* pru-*-*
-#xfail: hppa64-*-* i370-*-* i860-*-* mep-*-* mn10200-*-*
+#xfail: d30v-*-* dlx-*-* pj*-*-* pru-*-*
+#xfail: hppa64-*-* i370-*-* mep-*-* mn10200-*-*
 #xfail: cr16-*-* crx-*-*
 # generic linker targets don't support --gc-sections, nor do a bunch of others
 # cr16 and crx use non-standard scripts with memory regions, which don't play
 #xfail: cr16-*-* crx-*-*
 # generic linker targets don't support --gc-sections, nor do a bunch of others
 # cr16 and crx use non-standard scripts with memory regions, which don't play
index 291164f99320389a331d71cc343fb48d453e1870..ac887d4deeaf953a55cff9cec323c3f848001039 100644 (file)
@@ -1,8 +1,8 @@
 #source: group9.s
 #ld: -r --gc-sections --entry foo
 #readelf: -g --wide
 #source: group9.s
 #ld: -r --gc-sections --entry foo
 #readelf: -g --wide
-#xfail: d30v-*-* dlx-*-* i960-*-* pj*-*-* pru-*-*
-#xfail: hppa64-*-* i370-*-* i860-*-* mep-*-* mn10200-*-*
+#xfail: d30v-*-* dlx-*-* pj*-*-* pru-*-*
+#xfail: hppa64-*-* i370-*-* mep-*-* mn10200-*-*
 #xfail: cr16-*-* crx-*-*
 # generic linker targets don't support --gc-sections, nor do a bunch of others
 # cr16 and crx use non-standard scripts with memory regions, which don't play
 #xfail: cr16-*-* crx-*-*
 # generic linker targets don't support --gc-sections, nor do a bunch of others
 # cr16 and crx use non-standard scripts with memory regions, which don't play
index 54b0d7a4d92c7f27b7be047b74293326cf026710..d6c980f361e7ec0b395751db938a628d70476e31 100644 (file)
@@ -1,8 +1,8 @@
 #source: group9.s
 #ld: -r --gc-sections --entry bar
 #readelf: -g --wide
 #source: group9.s
 #ld: -r --gc-sections --entry bar
 #readelf: -g --wide
-#xfail: d30v-*-* dlx-*-* i960-*-* pj*-*-* pru-*-*
-#xfail: hppa64-*-* i370-*-* i860-*-* mep-*-* mn10200-*-*
+#xfail: d30v-*-* dlx-*-* pj*-*-* pru-*-*
+#xfail: hppa64-*-* i370-*-* mep-*-* mn10200-*-*
 #xfail: cr16-*-* crx-*-*
 # generic linker targets don't support --gc-sections, nor do a bunch of others
 # cr16 and crx use non-standard scripts with memory regions, which don't play
 #xfail: cr16-*-* crx-*-*
 # generic linker targets don't support --gc-sections, nor do a bunch of others
 # cr16 and crx use non-standard scripts with memory regions, which don't play
index 7668b32880342e98fa144c6d0e789a0e5964fe59..ea16ce103c6f7e0114a1cc50b0cdcc194f45c636 100644 (file)
@@ -2,7 +2,7 @@
 #source: linkonce1b.s
 #ld: -emit-relocs
 #objdump: -r
 #source: linkonce1b.s
 #ld: -emit-relocs
 #objdump: -r
-#notarget: arc*-*-* d30v-*-* dlx-*-* i960-*-* pj*-*-*
+#notarget: arc*-*-* d30v-*-* dlx-*-* pj*-*-*
 # generic elf targets don't emit relocs
 
 .*:     file format .*
 # generic elf targets don't emit relocs
 
 .*:     file format .*
index 5cd075f32e77d3deeccc61ba78bbd7336126b0ea..b4574451eaca70a46b3f15ade02d72124d7307e7 100644 (file)
@@ -3,7 +3,7 @@
 #objdump: -s
 #xfail: "bfin-*-*" "cr16-*-*" "cris*-*-*" "crx-*-*" "d10v-*-*" "d30v-*-*"
 #xfail: "dlx-*-*" "fr30-*-*" "frv-*-*" "hppa*64*-*-*" "h8300-*-*" "score-*-*"
 #objdump: -s
 #xfail: "bfin-*-*" "cr16-*-*" "cris*-*-*" "crx-*-*" "d10v-*-*" "d30v-*-*"
 #xfail: "dlx-*-*" "fr30-*-*" "frv-*-*" "hppa*64*-*-*" "h8300-*-*" "score-*-*"
-#xfail: "i370-*-*" "i860-*-*" "i960-*-*" "ip2k-*-*" "iq2000-*-*" "lm32-*-*"
+#xfail: "i370-*-*" "ip2k-*-*" "iq2000-*-*" "lm32-*-*"
 #xfail: "mcore-*-*" "mn102*-*-*" "ms1-*-*" "mep-*-*" "m68hc11-*-*" "nios2-*-*"
 #xfail: "or32-*-*" "pj-*-*" "tic6x-*-*" "vax-*-*" "xstormy16-*-*"
 #xfail: "xtensa*-*-*" "metag-*-*" "ft32-*-*" "pru-*-*"
 #xfail: "mcore-*-*" "mn102*-*-*" "ms1-*-*" "mep-*-*" "m68hc11-*-*" "nios2-*-*"
 #xfail: "or32-*-*" "pj-*-*" "tic6x-*-*" "vax-*-*" "xstormy16-*-*"
 #xfail: "xtensa*-*-*" "metag-*-*" "ft32-*-*" "pru-*-*"
index e5f887d741b42649bf97d567c63dea3ea37f1aa5..8ac1648ab49394967277559050534303b85f5ca1 100644 (file)
@@ -2,7 +2,7 @@
 #ld: -T merge.ld
 #objdump: -s
 #xfail: "d30v-*-*" "dlx-*-*" "hppa64-*-*"
 #ld: -T merge.ld
 #objdump: -s
 #xfail: "d30v-*-*" "dlx-*-*" "hppa64-*-*"
-#xfail: "i960-*-*" "ip2k-*-*" "pj-*-*"
+#xfail: "ip2k-*-*" "pj-*-*"
 
 .*:     file format .*elf.*
 
 
 .*:     file format .*elf.*
 
index a14ee2511c96633f29a3762e6c92e7461aa82a27..b9ae79c1b9f97385cf1693bba1deaa01ba227804 100644 (file)
@@ -2,7 +2,7 @@
 #ld: -T merge.ld
 #objdump: -s
 #xfail: "d30v-*-*" "dlx-*-*" "hppa64-*-*"
 #ld: -T merge.ld
 #objdump: -s
 #xfail: "d30v-*-*" "dlx-*-*" "hppa64-*-*"
-#xfail: "i960-*-*" "ip2k-*-*" "pj-*-*"
+#xfail: "ip2k-*-*" "pj-*-*"
 
 .*:     file format .*elf.*
 
 
 .*:     file format .*elf.*
 
index 1dbec42e636434295926bf5daf134d0e2b6ec232..a5cf6d9eb0175487c2fa8ba2c3d186e3835d9401 100644 (file)
@@ -1,7 +1,7 @@
 #source: orphan-10.s
 #ld: -N -T orphan-9.ld
 #objdump: -h
 #source: orphan-10.s
 #ld: -N -T orphan-9.ld
 #objdump: -h
-#notarget: d30v-* dlx-* fr30-* frv-* ft32-* i860-* i960-* iq2000-* mn10200-* moxie-* ms1-* msp430-* mt-* pj-*
+#notarget: d30v-* dlx-* fr30-* frv-* ft32-* iq2000-* mn10200-* moxie-* ms1-* msp430-* mt-* pj-*
 
 #...
   . \.text         0+(08|10)  [0-9a-f]+  0+200 .*
 
 #...
   . \.text         0+(08|10)  [0-9a-f]+  0+200 .*
index 3daefba5d42a09cf8cfc6bc493dea4ca8a200e44..15eb5fb66439710511dd3e7906b0ae8278cf10ef 100644 (file)
@@ -1,7 +1,7 @@
 #source: orphan-11.s
 #ld: -T orphan-11.ld --orphan-handling=error
 #objdump: -wh
 #source: orphan-11.s
 #ld: -T orphan-11.ld --orphan-handling=error
 #objdump: -wh
-#notarget: d30v-* dlx-* fr30-* frv-* ft32-* i860-* i960-* iq2000-* mn10200-* moxie-* ms1-* msp430-* mt-* pj-*
+#notarget: d30v-* dlx-* fr30-* frv-* ft32-* iq2000-* mn10200-* moxie-* ms1-* msp430-* mt-* pj-*
 
 #...
   . \.text .*
 
 #...
   . \.text .*
index 71a8c93e618901c52c6d1bcfdbd06a6a4fb4a945..ff753452bae5bf812db5f498f1f80ff977b5673d 100644 (file)
@@ -1,7 +1,7 @@
 #source: orphan-12.s
 #ld: -T orphan-11.ld --strip-debug --orphan-handling=error
 #objdump: -wh
 #source: orphan-12.s
 #ld: -T orphan-11.ld --strip-debug --orphan-handling=error
 #objdump: -wh
-#notarget: d30v-* dlx-* fr30-* frv-* ft32-* i860-* i960-* iq2000-* mn10200-* moxie-* ms1-* msp430-* mt-* pj-*
+#notarget: d30v-* dlx-* fr30-* frv-* ft32-* iq2000-* mn10200-* moxie-* ms1-* msp430-* mt-* pj-*
 
 #...
   . \.text .*
 
 #...
   . \.text .*
index 790cff1a74c94ed555962ec555e4c483ebdf48a8..637e8c5d374f2911c9fb06110334ece45f99df1f 100644 (file)
@@ -1,7 +1,7 @@
 #source: orphan-9.s
 #ld: -N -T orphan-9.ld
 #objdump: -h
 #source: orphan-9.s
 #ld: -N -T orphan-9.ld
 #objdump: -h
-#notarget: d30v-* dlx-* fr30-* frv-* ft32-* i860-* i960-* iq2000-* mn10200-* moxie-* ms1-* msp430-* mt-* pj-*
+#notarget: d30v-* dlx-* fr30-* frv-* ft32-* iq2000-* mn10200-* moxie-* ms1-* msp430-* mt-* pj-*
 
 #...
   . \.text         0+(08|10)  [0-9a-f]+  0+200 .*
 
 #...
   . \.text         0+(08|10)  [0-9a-f]+  0+200 .*
index a74caf7b68fa3c09ad68a54c2107cc2c7ad06807..7af263a8d7aee30bf1da09bd029cce9e64414e38 100644 (file)
@@ -1,7 +1,7 @@
 #source: orphan-region.s
 #ld: -T orphan-region.ld -N -z stack-size=0
 #readelf: -S -l --wide
 #source: orphan-region.s
 #ld: -T orphan-region.ld -N -z stack-size=0
 #readelf: -S -l --wide
-#xfail: d30v-*-* dlx-*-* fr30-*-* frv-*-elf ft32-*-* i860-*-* i960-*-*
+#xfail: d30v-*-* dlx-*-* fr30-*-* frv-*-elf ft32-*-*
 #xfail: iq*-*-* mn10200-*-* moxie-*-* msp*-*-* mt-*-* pj*-*-*
 #xfail: spu-*-* hppa*64*-*-* *-*-nacl*
 # if not using elf32.em, you don't get fancy orphan handling
 #xfail: iq*-*-* mn10200-*-* moxie-*-* msp*-*-* mt-*-* pj*-*-*
 #xfail: spu-*-* hppa*64*-*-* *-*-nacl*
 # if not using elf32.em, you don't get fancy orphan handling
index d03281e854747eb07cbc3a1e779f66528d501d64..2d10e27125fe1e6e6101b259fefed77bf077fc1c 100644 (file)
@@ -1,7 +1,7 @@
 #source: orphan.s
 #ld: -T orphan.ld
 #readelf: -S --wide
 #source: orphan.s
 #ld: -T orphan.ld
 #readelf: -S --wide
-#xfail: d30v-*-* dlx-*-* fr30-*-* frv-*-elf ft32-*-* i860-*-* i960-*-*
+#xfail: d30v-*-* dlx-*-* fr30-*-* frv-*-elf ft32-*-*
 #xfail: iq*-*-* mn10200-*-* moxie-*-* msp*-*-* mt-*-* pj*-*-*
 # if not using elf32.em, you don't get fancy orphan handling
 
 #xfail: iq*-*-* mn10200-*-* moxie-*-* msp*-*-* mt-*-* pj*-*-*
 # if not using elf32.em, you don't get fancy orphan handling
 
index 3331e3f3863f7366a0b6cde132af014ca660d1a4..2c96f64f743ff642e6b3713d73d51e423d88b67a 100644 (file)
@@ -7,7 +7,7 @@
 #ld:
 #readelf: -S --wide
 #xfail: "d30v-*-*" "dlx-*-*" "fr30-*-*" "frv-*-elf" "ft32-*-*"
 #ld:
 #readelf: -S --wide
 #xfail: "d30v-*-*" "dlx-*-*" "fr30-*-*" "frv-*-elf" "ft32-*-*"
-#xfail: "i860-*-*" "i960-*-*" "iq2000-*-*" "mn10200-*-*" "msp430-*-*" "mt-*-*"
+#xfail: "iq2000-*-*" "mn10200-*-*" "msp430-*-*" "mt-*-*"
 #xfail: "pj-*-*"
 #xfail: "xstormy16-*-*"
 
 #xfail: "pj-*-*"
 #xfail: "xstormy16-*-*"
 
index 7126e6811520c8d5651a4862fbecd25c70afa4ec..67e4b4dd48ee02ed40a5d3c260f22bce5250e5ab 100644 (file)
@@ -2,8 +2,8 @@
 #source: start.s
 #ld: --gc-sections
 #readelf: -s --wide
 #source: start.s
 #ld: --gc-sections
 #readelf: -s --wide
-#xfail: d30v-*-* dlx-*-* i960-*-* pj*-*-* pru-*-*
-#xfail: hppa64-*-* i370-*-* i860-*-* mep-*-* mn10200-*-*
+#xfail: d30v-*-* dlx-*-* pj*-*-* pru-*-*
+#xfail: hppa64-*-* i370-*-* mep-*-* mn10200-*-*
 # generic linker targets don't support --gc-sections, nor do a bunch of others
 
 #...
 # generic linker targets don't support --gc-sections, nor do a bunch of others
 
 #...
index 9cdc767670bf50ef213d900f3ecb07d65929f5af..f1eba6628d110285499de83c2a4f1011a96378cb 100644 (file)
@@ -1,8 +1,8 @@
 #ld: --gc-sections -shared -version-script pr12975.t
 #readelf: -s --wide
 #target: *-*-linux* *-*-gnu*
 #ld: --gc-sections -shared -version-script pr12975.t
 #readelf: -s --wide
 #target: *-*-linux* *-*-gnu*
-#xfail: d30v-*-* dlx-*-* i960-*-* pj*-*-*
-#xfail: hppa64-*-* i370-*-* i860-*-* mep-*-* mn10200-*-*
+#xfail: d30v-*-* dlx-*-* pj*-*-*
+#xfail: hppa64-*-* i370-*-* mep-*-* mn10200-*-*
 # generic linker targets don't support --gc-sections, nor do a bunch of others
 
 #failif
 # generic linker targets don't support --gc-sections, nor do a bunch of others
 
 #failif
index 29bd37432e3b245b74ad5efe5dbe2e0512277ff2..f0d7c538756c0ca45bbf16a53f786644aa593a94 100644 (file)
@@ -2,8 +2,8 @@
 #ld: --gc-sections -shared
 #readelf: -s -D --wide
 #target: *-*-linux* *-*-gnu*
 #ld: --gc-sections -shared
 #readelf: -s -D --wide
 #target: *-*-linux* *-*-gnu*
-#xfail: d30v-*-* dlx-*-* i960-*-* pj*-*-*
-#xfail: hppa64-*-* i370-*-* i860-*-* mep-*-* mn10200-*-*
+#xfail: d30v-*-* dlx-*-* pj*-*-*
+#xfail: hppa64-*-* i370-*-* mep-*-* mn10200-*-*
 # generic linker targets don't support --gc-sections, nor do a bunch of others
 
 #failif
 # generic linker targets don't support --gc-sections, nor do a bunch of others
 
 #failif
index 53e41a9ed6c03d25c3fa6f1246e893159fd337a1..09068250c71dcd0090d669a177bd3dc8d01b69bc 100644 (file)
@@ -1,8 +1,8 @@
 #ld: --gc-sections -shared -version-script pr13195.t
 #readelf: -s --wide -D
 #target: *-*-linux* *-*-gnu*
 #ld: --gc-sections -shared -version-script pr13195.t
 #readelf: -s --wide -D
 #target: *-*-linux* *-*-gnu*
-#xfail: d30v-*-* dlx-*-* i960-*-* pj*-*-*
-#xfail: hppa64-*-* i370-*-* i860-*-* mep-*-* mn10200-*-*
+#xfail: d30v-*-* dlx-*-* pj*-*-*
+#xfail: hppa64-*-* i370-*-* mep-*-* mn10200-*-*
 # generic linker targets don't support --gc-sections, nor do a bunch of others
 
 #...
 # generic linker targets don't support --gc-sections, nor do a bunch of others
 
 #...
index c8f0424badca8789513cbcd4fc1e61e0e100b788..47caa8a143552df77dc2242f530b2277705c4230 100644 (file)
@@ -2,7 +2,7 @@
 #source: pr17550-2.s
 #ld: -r
 #readelf: -s --wide
 #source: pr17550-2.s
 #ld: -r
 #readelf: -s --wide
-#notarget: alpha-*-* cr16-*-* crx-*-* d30v-*-* dlx-*-* i960-*-* pj*-*-*
+#notarget: alpha-*-* cr16-*-* crx-*-* d30v-*-* dlx-*-* pj*-*-*
 # Disabled on alpha because alpha has a different .set directive.
 # cr16 and crx use non-standard scripts with memory regions, which don't
 # play well with comdat group sections under ld -r.  Generic linker
 # Disabled on alpha because alpha has a different .set directive.
 # cr16 and crx use non-standard scripts with memory regions, which don't
 # play well with comdat group sections under ld -r.  Generic linker
index d189747383aaf5f939bee50f451fbcfefb1a8801..9fa488107d3d4a9ff5d214dacffbc787fd700104 100644 (file)
@@ -2,7 +2,7 @@
 #source: pr17550-1.s
 #ld: -r
 #readelf: -s --wide
 #source: pr17550-1.s
 #ld: -r
 #readelf: -s --wide
-#notarget: alpha-*-* cr16-*-* crx-*-* d30v-*-* dlx-*-* i960-*-* pj*-*-*
+#notarget: alpha-*-* cr16-*-* crx-*-* d30v-*-* dlx-*-* pj*-*-*
 # Disabled on alpha because alpha has a different .set directive.
 # cr16 and crx use non-standard scripts with memory regions, which don't
 # play well with comdat group sections under ld -r.  Generic linker
 # Disabled on alpha because alpha has a different .set directive.
 # cr16 and crx use non-standard scripts with memory regions, which don't
 # play well with comdat group sections under ld -r.  Generic linker
index 23a83f14fce7ce7033c95b55419368d30fb49c17..bf18e208d7ad1b4c308839ece441f4fc8c400cee 100644 (file)
@@ -2,7 +2,7 @@
 #source: pr17550-3.s
 #ld: -r
 #error: .*: defined in discarded section `\.data\[foo_group\]'
 #source: pr17550-3.s
 #ld: -r
 #error: .*: defined in discarded section `\.data\[foo_group\]'
-#notarget: alpha-*-* cr16-*-* crx-*-* d30v-*-* dlx-*-* i960-*-* pj*-*-*
+#notarget: alpha-*-* cr16-*-* crx-*-* d30v-*-* dlx-*-* pj*-*-*
 # Disabled on alpha because alpha has a different .set directive.
 # cr16 and crx use non-standard scripts with memory regions, which don't
 # play well with comdat group sections under ld -r.  Generic linker
 # Disabled on alpha because alpha has a different .set directive.
 # cr16 and crx use non-standard scripts with memory regions, which don't
 # play well with comdat group sections under ld -r.  Generic linker
index e8fad96507179c46a06de2f6d5a8cd776755b25b..70c112f2d7a7457f7a239bb6cb80a7c7f45ca9df 100644 (file)
@@ -2,7 +2,7 @@
 #source: pr17550-4.s
 #ld: -r
 #readelf: -s --wide
 #source: pr17550-4.s
 #ld: -r
 #readelf: -s --wide
-#notarget: alpha-*-* cr16-*-* crx-*-* d30v-*-* dlx-*-* i960-*-* pj*-*-*
+#notarget: alpha-*-* cr16-*-* crx-*-* d30v-*-* dlx-*-* pj*-*-*
 # Disabled on alpha because alpha has a different .set directive.
 # cr16 and crx use non-standard scripts with memory regions, which don't
 # play well with comdat group sections under ld -r.  Generic linker
 # Disabled on alpha because alpha has a different .set directive.
 # cr16 and crx use non-standard scripts with memory regions, which don't
 # play well with comdat group sections under ld -r.  Generic linker
index dbacbf07757e1042f80da2dc29411415a4641942..fb7779cbd0021785e47aea88bf978b03e7d67fd0 100644 (file)
@@ -1,8 +1,8 @@
 #ld: --gc-sections -shared
 #readelf: -S --wide --dyn-syms
 #target: *-*-linux* *-*-gnu*
 #ld: --gc-sections -shared
 #readelf: -S --wide --dyn-syms
 #target: *-*-linux* *-*-gnu*
-#xfail: d30v-*-* dlx-*-* i960-*-* pj*-*-*
-#xfail: hppa64-*-* i370-*-* i860-*-* mep-*-* mn10200-*-*
+#xfail: d30v-*-* dlx-*-* pj*-*-*
+#xfail: hppa64-*-* i370-*-* mep-*-* mn10200-*-*
 # generic linker targets don't support --gc-sections, nor do a bunch of others
 
 #...
 # generic linker targets don't support --gc-sections, nor do a bunch of others
 
 #...
index 8ffb81694d661ab55f884807c651a429607d5130..8b56e1128f891547ab1f563d8655d272e85f1f2b 100644 (file)
@@ -2,7 +2,7 @@
 #source: pr20528b.s
 #ld: -r
 #readelf: -S --wide
 #source: pr20528b.s
 #ld: -r
 #readelf: -S --wide
-#xfail: d30v-*-* dlx-*-* fr30-*-* frv-*-elf ft32-*-* i860-*-* i960-*-*
+#xfail: d30v-*-* dlx-*-* fr30-*-* frv-*-elf ft32-*-*
 #xfail: iq*-*-* mn10200-*-* moxie-*-* msp*-*-* mt-*-* pj*-*-*
 
 #...
 #xfail: iq*-*-* mn10200-*-* moxie-*-* msp*-*-* mt-*-* pj*-*-*
 
 #...
index 80f0aa50ad409d21f87288373d7f819fbfffc111..34fd9fb622c31eb1e741de071efbd7674cbc48f6 100644 (file)
@@ -2,7 +2,7 @@
 #source: pr20528a.s
 #ld: -r
 #readelf: -S --wide
 #source: pr20528a.s
 #ld: -r
 #readelf: -S --wide
-#xfail: d30v-*-* dlx-*-* fr30-*-* frv-*-elf ft32-*-* i860-*-* i960-*-*
+#xfail: d30v-*-* dlx-*-* fr30-*-* frv-*-elf ft32-*-*
 #xfail: iq*-*-* mn10200-*-* moxie-*-* msp*-*-* mt-*-* pj*-*-*
 
 #...
 #xfail: iq*-*-* mn10200-*-* moxie-*-* msp*-*-* mt-*-* pj*-*-*
 
 #...
index 9fe6daa9af2e9620ef25566c3cce7c62f2bd1e93..d742756a1415e1b7fc3fb83dd43f48f8edffa652 100644 (file)
@@ -1,8 +1,8 @@
 #ld: -shared -z defs --gc-sections
 #readelf: -s -S --wide
 #target: *-*-linux* *-*-gnu*
 #ld: -shared -z defs --gc-sections
 #readelf: -s -S --wide
 #target: *-*-linux* *-*-gnu*
-#xfail: d30v-*-* dlx-*-* i960-*-* pj*-*-*
-#xfail: hppa64-*-* i370-*-* i860-*-* mep-*-* mn10200-*-*
+#xfail: d30v-*-* dlx-*-* pj*-*-*
+#xfail: hppa64-*-* i370-*-* mep-*-* mn10200-*-*
 # generic linker targets don't support --gc-sections, nor do a bunch of others
 
 #...
 # generic linker targets don't support --gc-sections, nor do a bunch of others
 
 #...
index 72d464498331fb1803f20a6d957cedfd52affe6a..5312fc719321d62739b1a905845fc8c23a7a61cf 100644 (file)
@@ -1,8 +1,8 @@
 #ld: -shared -z defs --gc-sections
 #readelf: -s -S --wide
 #target: *-*-linux* *-*-gnu*
 #ld: -shared -z defs --gc-sections
 #readelf: -s -S --wide
 #target: *-*-linux* *-*-gnu*
-#xfail: d30v-*-* dlx-*-* i960-*-* pj*-*-*
-#xfail: hppa64-*-* i370-*-* i860-*-* mep-*-* mn10200-*-*
+#xfail: d30v-*-* dlx-*-* pj*-*-*
+#xfail: hppa64-*-* i370-*-* mep-*-* mn10200-*-*
 # generic linker targets don't support --gc-sections, nor do a bunch of others
 
 #...
 # generic linker targets don't support --gc-sections, nor do a bunch of others
 
 #...
index 2ef8378139d52e1b7469ce664257db58467a9fa9..eb2063a43b915770b8fb2130965d0b2cdbd88b84 100644 (file)
@@ -2,8 +2,8 @@
 #ld: -shared -z defs --gc-sections -T pr21562a.t
 #readelf: -s -S --wide
 #target: *-*-linux* *-*-gnu*
 #ld: -shared -z defs --gc-sections -T pr21562a.t
 #readelf: -s -S --wide
 #target: *-*-linux* *-*-gnu*
-#xfail: d30v-*-* dlx-*-* i960-*-* pj*-*-*
-#xfail: hppa64-*-* i370-*-* i860-*-* mep-*-* mn10200-*-*
+#xfail: d30v-*-* dlx-*-* pj*-*-*
+#xfail: hppa64-*-* i370-*-* mep-*-* mn10200-*-*
 # generic linker targets don't support --gc-sections, nor do a bunch of others
 
 #...
 # generic linker targets don't support --gc-sections, nor do a bunch of others
 
 #...
index 47a8fce9d8ab6e54f7fbf8e7d8db87df0952e887..ab59d8f6a3de2cdc9a304b0e05fc2e8ec39ab928 100644 (file)
@@ -2,8 +2,8 @@
 #ld: -shared -z defs --gc-sections -T pr21562a.t
 #readelf: -s -S --wide
 #target: *-*-linux* *-*-gnu*
 #ld: -shared -z defs --gc-sections -T pr21562a.t
 #readelf: -s -S --wide
 #target: *-*-linux* *-*-gnu*
-#xfail: d30v-*-* dlx-*-* i960-*-* pj*-*-*
-#xfail: hppa64-*-* i370-*-* i860-*-* mep-*-* mn10200-*-*
+#xfail: d30v-*-* dlx-*-* pj*-*-*
+#xfail: hppa64-*-* i370-*-* mep-*-* mn10200-*-*
 # generic linker targets don't support --gc-sections, nor do a bunch of others
 
 #...
 # generic linker targets don't support --gc-sections, nor do a bunch of others
 
 #...
index 3ce3bf1c62d582a6d5d12177ff85d81b33f2ddbf..16974b2570fdc88130b64b88a4346aaf8416c44d 100644 (file)
@@ -2,8 +2,8 @@
 #ld: -shared -z defs --gc-sections -T pr21562b.t
 #readelf: -s -S --wide
 #target: *-*-linux* *-*-gnu*
 #ld: -shared -z defs --gc-sections -T pr21562b.t
 #readelf: -s -S --wide
 #target: *-*-linux* *-*-gnu*
-#xfail: d30v-*-* dlx-*-* i960-*-* pj*-*-*
-#xfail: hppa64-*-* i370-*-* i860-*-* mep-*-* mn10200-*-*
+#xfail: d30v-*-* dlx-*-* pj*-*-*
+#xfail: hppa64-*-* i370-*-* mep-*-* mn10200-*-*
 # generic linker targets don't support --gc-sections, nor do a bunch of others
 
 #...
 # generic linker targets don't support --gc-sections, nor do a bunch of others
 
 #...
index 415c84586064cf87a295bcee71f8da984234c936..88f655afab7e3e989d548aec66269927c6ea6a06 100644 (file)
@@ -2,8 +2,8 @@
 #ld: -shared -z defs --gc-sections -T pr21562b.t
 #readelf: -s -S --wide
 #target: *-*-linux* *-*-gnu*
 #ld: -shared -z defs --gc-sections -T pr21562b.t
 #readelf: -s -S --wide
 #target: *-*-linux* *-*-gnu*
-#xfail: d30v-*-* dlx-*-* i960-*-* pj*-*-*
-#xfail: hppa64-*-* i370-*-* i860-*-* mep-*-* mn10200-*-*
+#xfail: d30v-*-* dlx-*-* pj*-*-*
+#xfail: hppa64-*-* i370-*-* mep-*-* mn10200-*-*
 # generic linker targets don't support --gc-sections, nor do a bunch of others
 
 #...
 # generic linker targets don't support --gc-sections, nor do a bunch of others
 
 #...
index 68e6e3c0929732c32f3616639223996336fb05bd..e2316ea37330491ea02ba5ff9dc47b2aaac236c6 100644 (file)
@@ -2,8 +2,8 @@
 #ld: -shared -z defs --gc-sections -T pr21562c.t
 #readelf: -s -S --wide
 #target: *-*-linux* *-*-gnu*
 #ld: -shared -z defs --gc-sections -T pr21562c.t
 #readelf: -s -S --wide
 #target: *-*-linux* *-*-gnu*
-#xfail: d30v-*-* dlx-*-* i960-*-* pj*-*-*
-#xfail: hppa64-*-* i370-*-* i860-*-* mep-*-* mn10200-*-*
+#xfail: d30v-*-* dlx-*-* pj*-*-*
+#xfail: hppa64-*-* i370-*-* mep-*-* mn10200-*-*
 # generic linker targets don't support --gc-sections, nor do a bunch of others
 
 #...
 # generic linker targets don't support --gc-sections, nor do a bunch of others
 
 #...
index 4c408a2c9ecd90b7a50e69f432cf5424e7dc4c65..82791e6dd2f8d707428966f4ef955c2ed15c4c8a 100644 (file)
@@ -2,8 +2,8 @@
 #ld: -shared -z defs --gc-sections -T pr21562c.t
 #readelf: -s -S --wide
 #target: *-*-linux* *-*-gnu*
 #ld: -shared -z defs --gc-sections -T pr21562c.t
 #readelf: -s -S --wide
 #target: *-*-linux* *-*-gnu*
-#xfail: d30v-*-* dlx-*-* i960-*-* pj*-*-*
-#xfail: hppa64-*-* i370-*-* i860-*-* mep-*-* mn10200-*-*
+#xfail: d30v-*-* dlx-*-* pj*-*-*
+#xfail: hppa64-*-* i370-*-* mep-*-* mn10200-*-*
 # generic linker targets don't support --gc-sections, nor do a bunch of others
 
 #...
 # generic linker targets don't support --gc-sections, nor do a bunch of others
 
 #...
index 4d1b3903f9b9f2b414d9dfeebaaa3b4bd4e132b6..b401d98c9d2ad104b192996488c7fed96c0b6c9e 100644 (file)
@@ -2,8 +2,8 @@
 #ld: -shared -z defs --gc-sections -T pr21562d.t
 #readelf: -s -S --wide
 #target: *-*-linux* *-*-gnu*
 #ld: -shared -z defs --gc-sections -T pr21562d.t
 #readelf: -s -S --wide
 #target: *-*-linux* *-*-gnu*
-#xfail: d30v-*-* dlx-*-* i960-*-* pj*-*-*
-#xfail: hppa64-*-* i370-*-* i860-*-* mep-*-* mn10200-*-*
+#xfail: d30v-*-* dlx-*-* pj*-*-*
+#xfail: hppa64-*-* i370-*-* mep-*-* mn10200-*-*
 # generic linker targets don't support --gc-sections, nor do a bunch of others
 
 #...
 # generic linker targets don't support --gc-sections, nor do a bunch of others
 
 #...
index d31e1f329660d3c0fd8afbdffe4db86549221c72..74d97445972ba22421a92a0f19293f3785b9b449 100644 (file)
@@ -2,8 +2,8 @@
 #ld: -shared -z defs --gc-sections -T pr21562d.t
 #readelf: -s -S --wide
 #target: *-*-linux* *-*-gnu*
 #ld: -shared -z defs --gc-sections -T pr21562d.t
 #readelf: -s -S --wide
 #target: *-*-linux* *-*-gnu*
-#xfail: d30v-*-* dlx-*-* i960-*-* pj*-*-*
-#xfail: hppa64-*-* i370-*-* i860-*-* mep-*-* mn10200-*-*
+#xfail: d30v-*-* dlx-*-* pj*-*-*
+#xfail: hppa64-*-* i370-*-* mep-*-* mn10200-*-*
 # generic linker targets don't support --gc-sections, nor do a bunch of others
 
 #...
 # generic linker targets don't support --gc-sections, nor do a bunch of others
 
 #...
index c477deeac9a71e5164b9cb12679ab428bea51994..4558ec71ef1cbfc10e8123ae872dafe46e8d5fee 100644 (file)
@@ -1,7 +1,7 @@
 #ld: -r  --gc-sections -u foo
 #readelf: -S --wide
 #ld: -r  --gc-sections -u foo
 #readelf: -S --wide
-#xfail: d30v-*-* dlx-*-* i960-*-* pj*-*-* pru-*-*
-#xfail: hppa64-*-* i370-*-* i860-*-* mep-*-* mn10200-*-*
+#xfail: d30v-*-* dlx-*-* pj*-*-* pru-*-*
+#xfail: hppa64-*-* i370-*-* mep-*-* mn10200-*-*
 #xfail: cr16-*-* crx-*-* msp430-*-*
 # msp430 puts the init_array and fini_array inside the .rodata section.
 # generic linker targets don't support --gc-sections, nor do a bunch of
 #xfail: cr16-*-* crx-*-* msp430-*-*
 # msp430 puts the init_array and fini_array inside the .rodata section.
 # generic linker targets don't support --gc-sections, nor do a bunch of
index 4acf45d4219499c3edb84924e230dfa742b9cc13..bd2d0f45a7e4b0e80b9c835cc5fd41afdaada49c 100644 (file)
@@ -1,7 +1,7 @@
 #source: pr22836-1.s
 #ld: -r -s
 #readelf: -g --wide
 #source: pr22836-1.s
 #ld: -r -s
 #readelf: -g --wide
-#xfail: d30v-*-* dlx-*-* i960-*-* pj-*-*
+#xfail: d30v-*-* dlx-*-* pj-*-*
 # Targets using the generic linker don't properly support comdat group sections
 
 There are no section groups in this file\.
 # Targets using the generic linker don't properly support comdat group sections
 
 There are no section groups in this file\.
index 30d6fa3f675548904b76dd079f95cde99718cd9f..2a332bcfbdb2499ef1edede59c47bcd07f9653e5 100644 (file)
@@ -1,7 +1,7 @@
 #source: pr22836-1.s
 #ld: -r -S
 #readelf: -g --wide
 #source: pr22836-1.s
 #ld: -r -S
 #readelf: -g --wide
-#xfail: d30v-*-* dlx-*-* i960-*-* pj-*-*
+#xfail: d30v-*-* dlx-*-* pj-*-*
 # Targets using the generic linker don't properly support comdat group sections
 
 There are no section groups in this file\.
 # Targets using the generic linker don't properly support comdat group sections
 
 There are no section groups in this file\.
index 565e38775282b7cd95e5bae4c6b958c44a9ddda1..b56683d19ca1ad6a88cc2ce8912c7b22f152090b 100644 (file)
@@ -2,7 +2,7 @@
 #source: pr349-2.s
 #ld: -r
 #readelf: -S
 #source: pr349-2.s
 #ld: -r
 #readelf: -S
-#xfail: d30v-*-* dlx-*-* fr30-*-* frv-*-elf ft32-*-* i860-*-* i960-*-*
+#xfail: d30v-*-* dlx-*-* fr30-*-* frv-*-elf ft32-*-*
 #xfail: iq*-*-* mn10200-*-* moxie-*-* msp*-*-* mt-*-* pj*-*-*
 # if not using elf32.em, you don't get fancy section handling
 
 #xfail: iq*-*-* mn10200-*-* moxie-*-* msp*-*-* mt-*-* pj*-*-*
 # if not using elf32.em, you don't get fancy section handling
 
index 1b887bb7ad7d24121dc70cec396972ca962b2bb1..becad1bfebbba26c4bc13326e738a169a2d6af53 100644 (file)
@@ -80,7 +80,6 @@ if {    [istarget avr-*-*]
      || [istarget dlx-*-*]
      || [istarget ft32-*-*]
      || [istarget h8300-*-*]
      || [istarget dlx-*-*]
      || [istarget ft32-*-*]
      || [istarget h8300-*-*]
-     || [istarget i960-*-*]
      || [istarget ip2k-*-*]
      || [istarget m32r-*-*]
      || [istarget m88k-*-*]
      || [istarget ip2k-*-*]
      || [istarget m32r-*-*]
      || [istarget m88k-*-*]
index b99473f1a64a7c08ff5d9960fb4e8bf3a392b746..2495cb85f524f7f4976869c07fac58b39df23f6a 100644 (file)
@@ -31,7 +31,6 @@ if ![is_elf_format] {
 # before local symbols, so don't bother testing them.
 if { [istarget "d30v-*-*"]
      || [istarget "dlx-*-*"]
 # before local symbols, so don't bother testing them.
 if { [istarget "d30v-*-*"]
      || [istarget "dlx-*-*"]
-     || [istarget "i960-*-*"]
      || [istarget "pj*-*-*"] } {
     return
 }
      || [istarget "pj*-*-*"] } {
     return
 }
index 1ee4a5de6d8ece9ac232907008ba1242622250f1..9c5ab86aef1e0bd7e153b590b9b5228ca79a4a97 100644 (file)
@@ -5,7 +5,7 @@
 #warning: ^[^\n]*\): warning: witty one-liner$
 #readelf: -s
 #notarget: "sparc64-*-solaris2*" "sparcv9-*-solaris2*"
 #warning: ^[^\n]*\): warning: witty one-liner$
 #readelf: -s
 #notarget: "sparc64-*-solaris2*" "sparcv9-*-solaris2*"
-#xfail: "d30v-*-*" "dlx-*-*" "i960-*-*" "pj-*-*"
+#xfail: "d30v-*-*" "dlx-*-*" "pj-*-*"
 
 # Check that warnings are generated for the .gnu.warning.SYMBOL
 # construct and that the symbol still appears as expected.
 
 # Check that warnings are generated for the .gnu.warning.SYMBOL
 # construct and that the symbol still appears as expected.
index 4e723dd3fb1be036bf2df9dd887731fe1f70e48f..cee842ae475749099ba645939535f1388c5ca8e7 100644 (file)
@@ -5,7 +5,7 @@
 #warning: ^[^\n]*\.[obj]+: warning: function 'Foo' used$
 #readelf: -s
 #notarget: "sparc64-*-solaris2*" "sparcv9-*-solaris2*"
 #warning: ^[^\n]*\.[obj]+: warning: function 'Foo' used$
 #readelf: -s
 #notarget: "sparc64-*-solaris2*" "sparcv9-*-solaris2*"
-#xfail: d30v-*-* dlx-*-* fr30-*-* frv-*-elf ft32-*-* i860-*-* i960-*-*
+#xfail: d30v-*-* dlx-*-* fr30-*-* frv-*-elf ft32-*-*
 #xfail: iq*-*-* mn10200-*-* moxie-*-* msp*-*-* mt-*-* pj*-*-*
 # if not using elf32.em, you don't get fancy section handling
 
 #xfail: iq*-*-* mn10200-*-* moxie-*-* msp*-*-* mt-*-* pj*-*-*
 # if not using elf32.em, you don't get fancy section handling
 
index 358dca6971bb11ed23b4f9eebf2ed07ee28063d0..a0acd4b0f2211b60ff02ad9e1ede31b2fdb29729 100644 (file)
@@ -2,7 +2,7 @@
 #ld: tmpdir/symbol3w.o tmpdir/symbol3.a 
 #warning: .*: warning: badsym warning$
 #readelf: -s
 #ld: tmpdir/symbol3w.o tmpdir/symbol3.a 
 #warning: .*: warning: badsym warning$
 #readelf: -s
-#xfail: d30v-*-* dlx-*-* i960-*-* pj*-*-*
+#xfail: d30v-*-* dlx-*-* pj*-*-*
 # generic linker targets don't support .gnu.warning sections.
 
 # Check that warnings are generated for the symbols in .gnu.warning
 # generic linker targets don't support .gnu.warning sections.
 
 # Check that warnings are generated for the symbols in .gnu.warning
index 3d645baccaafdb15840b0bbc3121932f6c4e1307..7b1862bff81d31974b88dbdab317ce06c8b47d4c 100644 (file)
@@ -1775,13 +1775,11 @@ proc check_gc_sections_available { } {
        # advertised by ld's options.
        if {   [istarget d30v-*-*]
            || [istarget dlx-*-*]
        # advertised by ld's options.
        if {   [istarget d30v-*-*]
            || [istarget dlx-*-*]
-           || [istarget i960-*-*]
            || [istarget pj*-*-*]
            || [istarget pru*-*-*]
            || [istarget alpha-*-*]
            || [istarget hppa*64-*-*]
            || [istarget i370-*-*]
            || [istarget pj*-*-*]
            || [istarget pru*-*-*]
            || [istarget alpha-*-*]
            || [istarget hppa*64-*-*]
            || [istarget i370-*-*]
-           || [istarget i860-*-*]
            || [istarget ia64-*-*]
            || [istarget mep-*-*]
            || [istarget mn10200-*-*] } {
            || [istarget ia64-*-*]
            || [istarget mep-*-*]
            || [istarget mn10200-*-*] } {
@@ -1834,8 +1832,6 @@ proc is_generic_elf { } {
         || [istarget "fr30-*-*"]
         || ([istarget "frv-*-*"] && ![istarget "frv-*-linux*"])
         || [istarget "ft32-*-*"]
         || [istarget "fr30-*-*"]
         || ([istarget "frv-*-*"] && ![istarget "frv-*-linux*"])
         || [istarget "ft32-*-*"]
-        || [istarget "i860-*-*"]
-        || [istarget "i960-*-*"]
         || [istarget "iq2000-*-*"]
         || [istarget "mn10200-*-*"]
         || [istarget "moxie-*-*"]
         || [istarget "iq2000-*-*"]
         || [istarget "mn10200-*-*"]
         || [istarget "moxie-*-*"]
index 3add69b8d1a4cd8ff0a22c2bd752210a9ee150a2..105ebb95fe5766503ab73eab28e12f0bca6252fe 100644 (file)
@@ -1,3 +1,15 @@
+2018-04-11  Alan Modra  <amodra@gmail.com>
+
+       * opcodes/i860-dis.c: Delete.
+       * opcodes/i960-dis.c: Delete.
+       * Makefile.am: Remove i860 and i960 support.
+       * configure.ac: Likewise.
+       * disassemble.c: Likewise.
+       * disassemble.h: Likewise.
+       * Makefile.in: Regenerate.
+       * configure: Regenerate.
+       * po/POTFILES.in: Regenerate.
+
 2018-04-04  H.J. Lu  <hongjiu.lu@intel.com>
 
        PR binutils/23025
 2018-04-04  H.J. Lu  <hongjiu.lu@intel.com>
 
        PR binutils/23025
index 1b269a8cfa48014bd54dd3b925ac50e03a2b51ef..f7c3813f3b807a18313135bb0d0f88697b07ccd0 100644 (file)
@@ -144,8 +144,6 @@ TARGET_LIBOPCODES_CFILES = \
        i370-opc.c \
        i386-dis.c \
        i386-opc.c \
        i370-opc.c \
        i386-dis.c \
        i386-opc.c \
-       i860-dis.c \
-       i960-dis.c \
        ia64-dis.c \
        ia64-opc.c \
        ip2k-asm.c \
        ia64-dis.c \
        ia64-opc.c \
        ip2k-asm.c \
index baa07b92222c1c1f4a04de969ec67f72e2c02776..22f8029a9e7696dcd6235bbafdc935e46edfd3f5 100644 (file)
@@ -446,8 +446,6 @@ TARGET_LIBOPCODES_CFILES = \
        i370-opc.c \
        i386-dis.c \
        i386-opc.c \
        i370-opc.c \
        i386-dis.c \
        i386-opc.c \
-       i860-dis.c \
-       i960-dis.c \
        ia64-dis.c \
        ia64-opc.c \
        ip2k-asm.c \
        ia64-dis.c \
        ia64-opc.c \
        ip2k-asm.c \
@@ -855,8 +853,6 @@ distclean-compile:
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/i370-opc.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/i386-dis.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/i386-opc.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/i370-opc.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/i386-dis.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/i386-opc.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/i860-dis.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/i960-dis.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ia64-dis.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ia64-opc.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ip2k-asm.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ia64-dis.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ia64-opc.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ip2k-asm.Plo@am__quote@
index 37b0eb04966b616a4d20ba6c246de592279e58e4..b0f1840a3502470ea9fec8ea35f7e821ae5209e1 100755 (executable)
@@ -12650,8 +12650,6 @@ if test x${all_targets} = xfalse ; then
        bfd_i370_arch)          ta="$ta i370-dis.lo i370-opc.lo" ;;
        bfd_i386_arch|bfd_iamcu_arch|bfd_l1om_arch|bfd_k1om_arch)
                                ta="$ta i386-dis.lo i386-opc.lo" ;;
        bfd_i370_arch)          ta="$ta i370-dis.lo i370-opc.lo" ;;
        bfd_i386_arch|bfd_iamcu_arch|bfd_l1om_arch|bfd_k1om_arch)
                                ta="$ta i386-dis.lo i386-opc.lo" ;;
-       bfd_i860_arch)          ta="$ta i860-dis.lo" ;;
-       bfd_i960_arch)          ta="$ta i960-dis.lo" ;;
        bfd_ia64_arch)          ta="$ta ia64-dis.lo ia64-opc.lo" ;;
        bfd_ip2k_arch)          ta="$ta ip2k-asm.lo ip2k-desc.lo ip2k-dis.lo ip2k-ibld.lo ip2k-opc.lo" using_cgen=yes ;;
        bfd_epiphany_arch)      ta="$ta epiphany-asm.lo epiphany-desc.lo epiphany-dis.lo epiphany-ibld.lo epiphany-opc.lo" using_cgen=yes ;;
        bfd_ia64_arch)          ta="$ta ia64-dis.lo ia64-opc.lo" ;;
        bfd_ip2k_arch)          ta="$ta ip2k-asm.lo ip2k-desc.lo ip2k-dis.lo ip2k-ibld.lo ip2k-opc.lo" using_cgen=yes ;;
        bfd_epiphany_arch)      ta="$ta epiphany-asm.lo epiphany-desc.lo epiphany-dis.lo epiphany-ibld.lo epiphany-opc.lo" using_cgen=yes ;;
index 481d72d63d867d60ec9720a998bbcceb0a2731b0..19fbd107aeb0b43bf009e0a9bbadb5ee9ccdb6e5 100644 (file)
@@ -274,8 +274,6 @@ if test x${all_targets} = xfalse ; then
        bfd_i370_arch)          ta="$ta i370-dis.lo i370-opc.lo" ;;
        bfd_i386_arch|bfd_iamcu_arch|bfd_l1om_arch|bfd_k1om_arch)
                                ta="$ta i386-dis.lo i386-opc.lo" ;;
        bfd_i370_arch)          ta="$ta i370-dis.lo i370-opc.lo" ;;
        bfd_i386_arch|bfd_iamcu_arch|bfd_l1om_arch|bfd_k1om_arch)
                                ta="$ta i386-dis.lo i386-opc.lo" ;;
-       bfd_i860_arch)          ta="$ta i860-dis.lo" ;;
-       bfd_i960_arch)          ta="$ta i960-dis.lo" ;;
        bfd_ia64_arch)          ta="$ta ia64-dis.lo ia64-opc.lo" ;;
        bfd_ip2k_arch)          ta="$ta ip2k-asm.lo ip2k-desc.lo ip2k-dis.lo ip2k-ibld.lo ip2k-opc.lo" using_cgen=yes ;;
        bfd_epiphany_arch)      ta="$ta epiphany-asm.lo epiphany-desc.lo epiphany-dis.lo epiphany-ibld.lo epiphany-opc.lo" using_cgen=yes ;;
        bfd_ia64_arch)          ta="$ta ia64-dis.lo ia64-opc.lo" ;;
        bfd_ip2k_arch)          ta="$ta ip2k-asm.lo ip2k-desc.lo ip2k-dis.lo ip2k-ibld.lo ip2k-opc.lo" using_cgen=yes ;;
        bfd_epiphany_arch)      ta="$ta epiphany-asm.lo epiphany-desc.lo epiphany-dis.lo epiphany-ibld.lo epiphany-opc.lo" using_cgen=yes ;;
index 9fbf6032371c96d266142f4691f42a2c17c254a4..29912939e14f0ec1690668dbe8eebd01e0d8198a 100644 (file)
@@ -45,8 +45,6 @@
 #define ARCH_hppa
 #define ARCH_i370
 #define ARCH_i386
 #define ARCH_hppa
 #define ARCH_i370
 #define ARCH_i386
-#define ARCH_i860
-#define ARCH_i960
 #define ARCH_ia64
 #define ARCH_ip2k
 #define ARCH_iq2000
 #define ARCH_ia64
 #define ARCH_ip2k
 #define ARCH_iq2000
@@ -222,16 +220,6 @@ disassembler (enum bfd_architecture a,
       disassemble = print_insn_i386;
       break;
 #endif
       disassemble = print_insn_i386;
       break;
 #endif
-#ifdef ARCH_i860
-    case bfd_arch_i860:
-      disassemble = print_insn_i860;
-      break;
-#endif
-#ifdef ARCH_i960
-    case bfd_arch_i960:
-      disassemble = print_insn_i960;
-      break;
-#endif
 #ifdef ARCH_ia64
     case bfd_arch_ia64:
       disassemble = print_insn_ia64;
 #ifdef ARCH_ia64
     case bfd_arch_ia64:
       disassemble = print_insn_ia64;
index ee7a9c84987d77dccdc63aa9bdd802cbf9bf4997..7d84cbc4a3d6572c0c18ad78d5f86cfde68a1a3a 100644 (file)
@@ -48,8 +48,6 @@ extern int print_insn_i370            (bfd_vma, disassemble_info *);
 extern int print_insn_i386             (bfd_vma, disassemble_info *);
 extern int print_insn_i386_att         (bfd_vma, disassemble_info *);
 extern int print_insn_i386_intel       (bfd_vma, disassemble_info *);
 extern int print_insn_i386             (bfd_vma, disassemble_info *);
 extern int print_insn_i386_att         (bfd_vma, disassemble_info *);
 extern int print_insn_i386_intel       (bfd_vma, disassemble_info *);
-extern int print_insn_i860             (bfd_vma, disassemble_info *);
-extern int print_insn_i960             (bfd_vma, disassemble_info *);
 extern int print_insn_ia64             (bfd_vma, disassemble_info *);
 extern int print_insn_ip2k             (bfd_vma, disassemble_info *);
 extern int print_insn_iq2000           (bfd_vma, disassemble_info *);
 extern int print_insn_ia64             (bfd_vma, disassemble_info *);
 extern int print_insn_ip2k             (bfd_vma, disassemble_info *);
 extern int print_insn_iq2000           (bfd_vma, disassemble_info *);
diff --git a/opcodes/i860-dis.c b/opcodes/i860-dis.c
deleted file mode 100644 (file)
index 5211dcd..0000000
+++ /dev/null
@@ -1,286 +0,0 @@
-/* Disassembler for the i860.
-   Copyright (C) 2000-2018 Free Software Foundation, Inc.
-
-   Contributed by Jason Eckhardt <jle@cygnus.com>.
-
-   This file is part of the GNU opcodes library.
-
-   This library 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 3, or (at your option)
-   any later version.
-
-   It 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 this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston,
-   MA 02110-1301, USA.  */
-
-#include "sysdep.h"
-#include "disassemble.h"
-#include "opcode/i860.h"
-
-/* Later we should probably choose the prefix based on which OS flavor.  */
-#define I860_REG_PREFIX "%"
-
-/* Integer register names (encoded as 0..31 in the instruction).  */
-static const char *const grnames[] =
- {"r0",  "r1",  "sp",  "fp",  "r4",  "r5",  "r6",  "r7",
-  "r8",  "r9",  "r10", "r11", "r12", "r13", "r14", "r15",
-  "r16", "r17", "r18", "r19", "r20", "r21", "r22", "r23",
-  "r24", "r25", "r26", "r27", "r28", "r29", "r30", "r31"};
-
-/* FP register names (encoded as 0..31 in the instruction).  */
-static const char *const frnames[] =
- {"f0",  "f1",  "f2",  "f3",  "f4",  "f5",  "f6",  "f7",
-  "f8",  "f9",  "f10", "f11", "f12", "f13", "f14", "f15",
-  "f16", "f17", "f18", "f19", "f20", "f21", "f22", "f23",
-  "f24", "f25", "f26", "f27", "f28", "f29", "f30", "f31"};
-
-/* Control/status register names (encoded as 0..11 in the instruction).
-   Registers bear, ccr, p0, p1, p2 and p3 are XP only.  */
-static const char *const crnames[] =
- {"fir", "psr", "dirbase", "db", "fsr", "epsr", "bear", "ccr",
-  "p0", "p1", "p2", "p3", "--", "--", "--", "--" };
-
-
-
-/* True if opcode is xor, xorh, and, andh, or, orh, andnot, andnoth.  */
-#define BITWISE_OP(op)  ((op) == 0x30 || (op) == 0x31          \
-                        || (op) == 0x34 || (op) == 0x35        \
-                        || (op) == 0x38 || (op) == 0x39        \
-                        || (op) == 0x3c || (op) == 0x3d        \
-                        || (op) == 0x33 || (op) == 0x37        \
-                        || (op) == 0x3b || (op) == 0x3f)
-
-
-/* Sign extend N-bit number.  */
-static int
-sign_ext (unsigned int x, int n)
-{
-  int t;
-  t = x >> (n - 1);
-  t = ((-t) << n) | x;
-  return t;
-}
-
-
-/* Print a PC-relative branch offset.  VAL is the sign extended value
-   from the branch instruction.  */
-static void
-print_br_address (disassemble_info *info, bfd_vma memaddr, long val)
-{
-
-  long adj = (long)memaddr + 4 + (val << 2);
-
-  (*info->fprintf_func) (info->stream, "0x%08lx", adj);
-
-  /* Attempt to obtain a symbol for the target address.  */
-
-  if (info->print_address_func && adj != 0)
-    {
-      (*info->fprintf_func) (info->stream, "\t// ");
-      (*info->print_address_func) (adj, info);
-    }
-}
-
-
-/* Print one instruction.  */
-int
-print_insn_i860 (bfd_vma memaddr, disassemble_info *info)
-{
-  bfd_byte buff[4];
-  unsigned int insn, i;
-  int status;
-  const struct i860_opcode *opcode = 0;
-
-  status = (*info->read_memory_func) (memaddr, buff, sizeof (buff), info);
-  if (status != 0)
-    {
-      (*info->memory_error_func) (status, memaddr, info);
-      return -1;
-    }
-
-  /* Note that i860 instructions are always accessed as little endian
-     data, regardless of the endian mode of the i860.  */
-  insn = bfd_getl32 (buff);
-
-  status = 0;
-  i = 0;
-  while (i860_opcodes[i].name != NULL)
-    {
-      opcode = &i860_opcodes[i];
-      if ((insn & opcode->match) == opcode->match
-         && (insn & opcode->lose) == 0)
-       {
-         status = 1;
-         break;
-       }
-      ++i;
-    }
-
-  if (status == 0)
-    {
-      /* Instruction not in opcode table.  */
-      (*info->fprintf_func) (info->stream, ".long %#08x", insn);
-    }
-  else
-    {
-      const char *s;
-      int val;
-
-      /* If this a flop (or a shrd) and its dual bit is set,
-         prefix with 'd.'.  */
-      if (((insn & 0xfc000000) == 0x48000000
-           || (insn & 0xfc000000) == 0xb0000000)
-          && (insn & 0x200))
-       (*info->fprintf_func) (info->stream, "d.%s\t", opcode->name);
-      else
-       (*info->fprintf_func) (info->stream, "%s\t", opcode->name);
-
-      for (s = opcode->args; *s; s++)
-       {
-         switch (*s)
-           {
-           /* Integer register (src1).  */
-           case '1':
-             (*info->fprintf_func) (info->stream, "%s%s", I860_REG_PREFIX,
-                                    grnames[(insn >> 11) & 0x1f]);
-             break;
-
-           /* Integer register (src2).  */
-           case '2':
-             (*info->fprintf_func) (info->stream, "%s%s", I860_REG_PREFIX,
-                                    grnames[(insn >> 21) & 0x1f]);
-             break;
-
-           /* Integer destination register.  */
-           case 'd':
-             (*info->fprintf_func) (info->stream, "%s%s", I860_REG_PREFIX,
-                                    grnames[(insn >> 16) & 0x1f]);
-             break;
-
-           /* Floating-point register (src1).  */
-           case 'e':
-             (*info->fprintf_func) (info->stream, "%s%s", I860_REG_PREFIX,
-                                    frnames[(insn >> 11) & 0x1f]);
-             break;
-
-           /* Floating-point register (src2).  */
-           case 'f':
-             (*info->fprintf_func) (info->stream, "%s%s", I860_REG_PREFIX,
-                                    frnames[(insn >> 21) & 0x1f]);
-             break;
-
-           /* Floating-point destination register.  */
-           case 'g':
-             (*info->fprintf_func) (info->stream, "%s%s", I860_REG_PREFIX,
-                                    frnames[(insn >> 16) & 0x1f]);
-             break;
-
-           /* Control register.  */
-           case 'c':
-             (*info->fprintf_func) (info->stream, "%s%s", I860_REG_PREFIX,
-                                    crnames[(insn >> 21) & 0xf]);
-             break;
-
-           /* 16-bit immediate (sign extend, except for bitwise ops).  */
-           case 'i':
-             if (BITWISE_OP ((insn & 0xfc000000) >> 26))
-               (*info->fprintf_func) (info->stream, "0x%04x",
-                                      (unsigned int) (insn & 0xffff));
-             else
-               (*info->fprintf_func) (info->stream, "%d",
-                                      sign_ext ((insn & 0xffff), 16));
-             break;
-
-           /* 16-bit immediate, aligned (2^0, ld.b).  */
-           case 'I':
-             (*info->fprintf_func) (info->stream, "%d",
-                                    sign_ext ((insn & 0xffff), 16));
-             break;
-
-           /* 16-bit immediate, aligned (2^1, ld.s).  */
-           case 'J':
-             (*info->fprintf_func) (info->stream, "%d",
-                                    sign_ext ((insn & 0xfffe), 16));
-             break;
-
-           /* 16-bit immediate, aligned (2^2, ld.l, {p}fld.l, fst.l).  */
-           case 'K':
-             (*info->fprintf_func) (info->stream, "%d",
-                                    sign_ext ((insn & 0xfffc), 16));
-             break;
-
-           /* 16-bit immediate, aligned (2^3, {p}fld.d, fst.d).  */
-           case 'L':
-             (*info->fprintf_func) (info->stream, "%d",
-                                    sign_ext ((insn & 0xfff8), 16));
-             break;
-
-           /* 16-bit immediate, aligned (2^4, {p}fld.q, fst.q).  */
-           case 'M':
-             (*info->fprintf_func) (info->stream, "%d",
-                                    sign_ext ((insn & 0xfff0), 16));
-             break;
-
-           /* 5-bit immediate (zero extend).  */
-           case '5':
-             (*info->fprintf_func) (info->stream, "%d",
-                                    ((insn >> 11) & 0x1f));
-             break;
-
-           /* Split 16 bit immediate (20..16:10..0).  */
-           case 's':
-             val = ((insn >> 5) & 0xf800) | (insn & 0x07ff);
-             (*info->fprintf_func) (info->stream, "%d",
-                                    sign_ext (val, 16));
-             break;
-
-           /* Split 16 bit immediate, aligned. (2^0, st.b).  */
-           case 'S':
-             val = ((insn >> 5) & 0xf800) | (insn & 0x07ff);
-             (*info->fprintf_func) (info->stream, "%d",
-                                    sign_ext (val, 16));
-             break;
-
-           /* Split 16 bit immediate, aligned. (2^1, st.s).  */
-           case 'T':
-             val = ((insn >> 5) & 0xf800) | (insn & 0x07fe);
-             (*info->fprintf_func) (info->stream, "%d",
-                                    sign_ext (val, 16));
-             break;
-
-           /* Split 16 bit immediate, aligned. (2^2, st.l).  */
-           case 'U':
-             val = ((insn >> 5) & 0xf800) | (insn & 0x07fc);
-             (*info->fprintf_func) (info->stream, "%d",
-                                    sign_ext (val, 16));
-             break;
-
-           /* 26-bit PC relative immediate (lbroff).  */
-           case 'l':
-             val = sign_ext ((insn & 0x03ffffff), 26);
-             print_br_address (info, memaddr, val);
-             break;
-
-           /* 16-bit PC relative immediate (sbroff).  */
-           case 'r':
-             val = sign_ext ((((insn >> 5) & 0xf800) | (insn & 0x07ff)), 16);
-             print_br_address (info, memaddr, val);
-             break;
-
-           default:
-             (*info->fprintf_func) (info->stream, "%c", *s);
-             break;
-           }
-       }
-    }
-
-  return sizeof (insn);
-}
-
diff --git a/opcodes/i960-dis.c b/opcodes/i960-dis.c
deleted file mode 100644 (file)
index 6cb3485..0000000
+++ /dev/null
@@ -1,932 +0,0 @@
-/* Disassemble i80960 instructions.
-   Copyright (C) 1990-2018 Free Software Foundation, Inc.
-
-   This file is part of the GNU opcodes library.
-
-   This library 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 3, or (at your option)
-   any later version.
-
-   It 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 this program; see the file COPYING.  If not, write to the
-   Free Software Foundation, 51 Franklin Street - Fifth Floor, Boston, MA
-   02110-1301, USA.  */
-
-#include "sysdep.h"
-#include "disassemble.h"
-
-static const char *const reg_names[] = {
-/*  0 */       "pfp", "sp",  "rip", "r3",  "r4",  "r5",  "r6",  "r7",
-/*  8 */       "r8",  "r9",  "r10", "r11", "r12", "r13", "r14", "r15",
-/* 16 */       "g0",  "g1",  "g2",  "g3",  "g4",  "g5",  "g6",  "g7",
-/* 24 */       "g8",  "g9",  "g10", "g11", "g12", "g13", "g14", "fp",
-/* 32 */       "pc",  "ac",  "ip",  "tc",  "fp0", "fp1", "fp2", "fp3"
-};
-
-
-static FILE *stream;           /* Output goes here */
-static struct disassemble_info *info;
-static void print_addr (bfd_vma);
-static void ctrl (bfd_vma, unsigned long, unsigned long);
-static void cobr (bfd_vma, unsigned long, unsigned long);
-static void reg (unsigned long);
-static int mem (bfd_vma, unsigned long, unsigned long, int);
-static void ea (bfd_vma, int, const char *, const char *, int, unsigned int);
-static void dstop (int, int, int);
-static void regop (int, int, int, int);
-static void invalid (int);
-static int pinsn (bfd_vma, unsigned long, unsigned long);
-static void put_abs (unsigned long, unsigned long);
-
-
-/* Print the i960 instruction at address 'memaddr' in debugged memory,
-   on INFO->STREAM.  Returns length of the instruction, in bytes.  */
-
-int
-print_insn_i960 (bfd_vma memaddr, struct disassemble_info *info_arg)
-{
-  unsigned int word1, word2 = 0xdeadbeef;
-  bfd_byte buffer[8];
-  int status;
-
-  info = info_arg;
-  stream = info->stream;
-
-  /* Read word1.  Only read word2 if the instruction
-     needs it, to prevent reading past the end of a section.  */
-
-  status = (*info->read_memory_func) (memaddr, (bfd_byte *) buffer, 4, info);
-  if (status != 0)
-    {
-      (*info->memory_error_func) (status, memaddr, info);
-      return -1;
-    }
-
-  word1 = bfd_getl32 (buffer);
-
-  /* Divide instruction set into classes based on high 4 bits of opcode.  */
-  switch ( (word1 >> 28) & 0xf )
-    {
-    default:
-      break;
-    case 0x8:
-    case 0x9:
-    case 0xa:
-    case 0xb:
-    case 0xc:
-      /* Read word2.  */
-      status = (*info->read_memory_func)
-       (memaddr + 4, (bfd_byte *) (buffer + 4), 4, info);
-      if (status != 0)
-       {
-         (*info->memory_error_func) (status, memaddr, info);
-         return -1;
-       }
-      word2 = bfd_getl32 (buffer + 4);
-      break;
-    }
-
-  return pinsn( memaddr, word1, word2 );
-}
-\f
-#define IN_GDB
-
-/*****************************************************************************
- *     All code below this point should be identical with that of
- *     the disassembler in gdmp960.
-
- A noble sentiment, but at least in cosmetic ways (info->fprintf_func), it
- just ain't so. -kingdon, 31 Mar 93
- *****************************************************************************/
-
-struct tabent {
-  char *name;
-  short numops;
-};
-
-struct sparse_tabent {
-  int opcode;
-  char *name;
-  short numops;
-};
-
-static int
-pinsn (bfd_vma memaddr, unsigned long word1, unsigned long word2)
-{
-  int instr_len;
-
-  instr_len = 4;
-  put_abs (word1, word2);
-
-  /* Divide instruction set into classes based on high 4 bits of opcode.  */
-  switch ((word1 >> 28) & 0xf)
-    {
-    case 0x0:
-    case 0x1:
-      ctrl (memaddr, word1, word2);
-      break;
-    case 0x2:
-    case 0x3:
-      cobr (memaddr, word1, word2);
-      break;
-    case 0x5:
-    case 0x6:
-    case 0x7:
-      reg (word1);
-      break;
-    case 0x8:
-    case 0x9:
-    case 0xa:
-    case 0xb:
-    case 0xc:
-      instr_len = mem (memaddr, word1, word2, 0);
-      break;
-    default:
-      /* Invalid instruction, print as data word.  */
-      invalid (word1);
-      break;
-    }
-  return instr_len;
-}
-
-/* CTRL format.. */
-
-static void
-ctrl (bfd_vma memaddr, unsigned long word1, unsigned long word2 ATTRIBUTE_UNUSED)
-{
-  int i;
-  static const struct tabent ctrl_tab[] = {
-    { NULL,            0, },   /* 0x00 */
-    { NULL,            0, },   /* 0x01 */
-    { NULL,            0, },   /* 0x02 */
-    { NULL,            0, },   /* 0x03 */
-    { NULL,            0, },   /* 0x04 */
-    { NULL,            0, },   /* 0x05 */
-    { NULL,            0, },   /* 0x06 */
-    { NULL,            0, },   /* 0x07 */
-    { "b",             1, },   /* 0x08 */
-    { "call",          1, },   /* 0x09 */
-    { "ret",           0, },   /* 0x0a */
-    { "bal",           1, },   /* 0x0b */
-    { NULL,            0, },   /* 0x0c */
-    { NULL,            0, },   /* 0x0d */
-    { NULL,            0, },   /* 0x0e */
-    { NULL,            0, },   /* 0x0f */
-    { "bno",           1, },   /* 0x10 */
-    { "bg",            1, },   /* 0x11 */
-    { "be",            1, },   /* 0x12 */
-    { "bge",           1, },   /* 0x13 */
-    { "bl",            1, },   /* 0x14 */
-    { "bne",           1, },   /* 0x15 */
-    { "ble",           1, },   /* 0x16 */
-    { "bo",            1, },   /* 0x17 */
-    { "faultno",       0, },   /* 0x18 */
-    { "faultg",                0, },   /* 0x19 */
-    { "faulte",                0, },   /* 0x1a */
-    { "faultge",       0, },   /* 0x1b */
-    { "faultl",                0, },   /* 0x1c */
-    { "faultne",       0, },   /* 0x1d */
-    { "faultle",       0, },   /* 0x1e */
-    { "faulto",                0, },   /* 0x1f */
-  };
-
-  i = (word1 >> 24) & 0xff;
-  if ((ctrl_tab[i].name == NULL) || ((word1 & 1) != 0))
-    {
-      invalid (word1);
-      return;
-    }
-
-  (*info->fprintf_func) (stream, "%s", ctrl_tab[i].name);
-  if (word1 & 2)
-    /* Predicts branch not taken.  */
-    (*info->fprintf_func) (stream, ".f");
-
-  if (ctrl_tab[i].numops == 1)
-    {
-      /* Extract displacement and convert to address.  */
-      word1 &= 0x00ffffff;
-
-      if (word1 & 0x00800000)
-       {
-         /* Sign bit is set.  */
-         word1 |= (-1 & ~0xffffff);    /* Sign extend.  */
-       }
-
-      (*info->fprintf_func) (stream, "\t");
-      print_addr (word1 + memaddr);
-    }
-}
-
-/* COBR format.  */
-
-static void
-cobr (bfd_vma memaddr, unsigned long word1, unsigned long word2 ATTRIBUTE_UNUSED)
-{
-  int src1;
-  int src2;
-  int i;
-
-  static const struct tabent cobr_tab[] = {
-    { "testno",        1, },   /* 0x20 */
-    { "testg", 1, },   /* 0x21 */
-    { "teste", 1, },   /* 0x22 */
-    { "testge",        1, },   /* 0x23 */
-    { "testl", 1, },   /* 0x24 */
-    { "testne",        1, },   /* 0x25 */
-    { "testle",        1, },   /* 0x26 */
-    { "testo", 1, },   /* 0x27 */
-    { NULL,    0, },   /* 0x28 */
-    { NULL,    0, },   /* 0x29 */
-    { NULL,    0, },   /* 0x2a */
-    { NULL,    0, },   /* 0x2b */
-    { NULL,    0, },   /* 0x2c */
-    { NULL,    0, },   /* 0x2d */
-    { NULL,    0, },   /* 0x2e */
-    { NULL,    0, },   /* 0x2f */
-    { "bbc",   3, },   /* 0x30 */
-    { "cmpobg",        3, },   /* 0x31 */
-    { "cmpobe",        3, },   /* 0x32 */
-    { "cmpobge",3, },  /* 0x33 */
-    { "cmpobl",        3, },   /* 0x34 */
-    { "cmpobne",3, },  /* 0x35 */
-    { "cmpoble",3, },  /* 0x36 */
-    { "bbs",   3, },   /* 0x37 */
-    { "cmpibno",3, },  /* 0x38 */
-    { "cmpibg",        3, },   /* 0x39 */
-    { "cmpibe",        3, },   /* 0x3a */
-    { "cmpibge",3, },  /* 0x3b */
-    { "cmpibl",        3, },   /* 0x3c */
-    { "cmpibne",3, },  /* 0x3d */
-    { "cmpible",3, },  /* 0x3e */
-    { "cmpibo",        3, },   /* 0x3f */
-  };
-
-  i = ((word1 >> 24) & 0xff) - 0x20;
-  if (cobr_tab[i].name == NULL)
-    {
-      invalid (word1);
-      return;
-    }
-
-  (*info->fprintf_func) (stream, "%s", cobr_tab[i].name);
-
-  /* Predicts branch not taken.  */
-  if (word1 & 2)
-    (*info->fprintf_func) (stream, ".f");
-
-  (*info->fprintf_func) (stream, "\t");
-
-  src1 = (word1 >> 19) & 0x1f;
-  src2 = (word1 >> 14) & 0x1f;
-
-  if (word1 & 0x02000)
-    /* M1 is 1 */
-    (*info->fprintf_func) (stream, "%d", src1);
-  else
-    (*info->fprintf_func) (stream, "%s", reg_names[src1]);
-
-  if (cobr_tab[i].numops > 1)
-    {
-      if (word1 & 1)
-       /* S2 is 1.  */
-       (*info->fprintf_func) (stream, ",sf%d,", src2);
-      else
-       /* S1 is 0.  */
-       (*info->fprintf_func) (stream, ",%s,", reg_names[src2]);
-
-      /* Extract displacement and convert to address.  */
-      word1 &= 0x00001ffc;
-      if (word1 & 0x00001000)
-       /* Negative displacement.  */
-       word1 |= (-1 & ~0x1fff);        /* Sign extend.  */
-
-      print_addr (memaddr + word1);
-    }
-}
-
-/* MEM format.  */
-/* Returns instruction length: 4 or 8.  */
-
-static int
-mem (bfd_vma memaddr, unsigned long word1, unsigned long word2, int noprint)
-{
-  int i, j;
-  int len;
-  int mode;
-  int offset;
-  const char *reg1, *reg2, *reg3;
-
-  /* This lookup table is too sparse to make it worth typing in, but not
-     so large as to make a sparse array necessary.  We create the table
-     at runtime.  */
-
-  /* NOTE: In this table, the meaning of 'numops' is:
-      1: single operand
-      2: 2 operands, load instruction
-     -2: 2 operands, store instruction.  */
-  static struct tabent *mem_tab;
-  /* Opcodes of 0x8X, 9X, aX, bX, and cX must be in the table.  */
-#define MEM_MIN        0x80
-#define MEM_MAX        0xcf
-#define MEM_SIZ        ( * sizeof(struct tabent))
-
-  static const struct sparse_tabent mem_init[] = {
-    { 0x80,    "ldob",  2 },
-    { 0x82,    "stob", -2 },
-    { 0x84,    "bx",    1 },
-    { 0x85,    "balx",  2 },
-    { 0x86,    "callx", 1 },
-    { 0x88,    "ldos",  2 },
-    { 0x8a,    "stos", -2 },
-    { 0x8c,    "lda",   2 },
-    { 0x90,    "ld",    2 },
-    { 0x92,    "st",   -2 },
-    { 0x98,    "ldl",   2 },
-    { 0x9a,    "stl",  -2 },
-    { 0xa0,    "ldt",   2 },
-    { 0xa2,    "stt",  -2 },
-    { 0xac,    "dcinva", 1 },
-    { 0xb0,    "ldq",   2 },
-    { 0xb2,    "stq",  -2 },
-    { 0xc0,    "ldib",  2 },
-    { 0xc2,    "stib", -2 },
-    { 0xc8,    "ldis",  2 },
-    { 0xca,    "stis", -2 },
-    { 0,       NULL,   0 }
-  };
-  static struct tabent mem_tab_buf[MEM_MAX - MEM_MIN + 1];
-
-  if (mem_tab == NULL)
-    {
-      mem_tab = mem_tab_buf;
-
-      for (i = 0; mem_init[i].opcode != 0; i++)
-       {
-         j = mem_init[i].opcode - MEM_MIN;
-         mem_tab[j].name = mem_init[i].name;
-         mem_tab[j].numops = mem_init[i].numops;
-       }
-    }
-
-  i = ((word1 >> 24) & 0xff) - MEM_MIN;
-  mode = (word1 >> 10) & 0xf;
-
-  if ((mem_tab[i].name != NULL)                /* Valid instruction */
-      && ((mode == 5) || (mode >= 12)))
-    /* With 32-bit displacement.  */
-    len = 8;
-  else
-    len = 4;
-
-  if (noprint)
-    return len;
-
-  if ((mem_tab[i].name == NULL) || (mode == 6))
-    {
-      invalid (word1);
-      return len;
-    }
-
-  (*info->fprintf_func) (stream, "%s\t", mem_tab[i].name);
-
-  reg1 = reg_names[ (word1 >> 19) & 0x1f ];    /* MEMB only */
-  reg2 = reg_names[ (word1 >> 14) & 0x1f ];
-  reg3 = reg_names[ word1 & 0x1f ];            /* MEMB only */
-  offset = word1 & 0xfff;                              /* MEMA only  */
-
-  switch (mem_tab[i].numops)
-    {
-    case 2: /* LOAD INSTRUCTION */
-      if (mode & 4)
-       {                       /* MEMB FORMAT */
-         ea (memaddr, mode, reg2, reg3, word1, word2);
-         (*info->fprintf_func) (stream, ",%s", reg1);
-       }
-      else
-       {                               /* MEMA FORMAT */
-         (*info->fprintf_func) (stream, "0x%x", (unsigned) offset);
-
-         if (mode & 8)
-           (*info->fprintf_func) (stream, "(%s)", reg2);
-
-         (*info->fprintf_func)(stream, ",%s", reg1);
-       }
-      break;
-
-    case -2: /* STORE INSTRUCTION */
-      if (mode & 4)
-       {
-         /* MEMB FORMAT */
-         (*info->fprintf_func) (stream, "%s,", reg1);
-         ea (memaddr, mode, reg2, reg3, word1, word2);
-       }
-      else
-       {
-         /* MEMA FORMAT */
-         (*info->fprintf_func) (stream, "%s,0x%x", reg1, (unsigned) offset);
-
-         if (mode & 8)
-           (*info->fprintf_func) (stream, "(%s)", reg2);
-       }
-      break;
-
-    case 1: /* BX/CALLX INSTRUCTION */
-      if (mode & 4)
-       {
-         /* MEMB FORMAT */
-         ea (memaddr, mode, reg2, reg3, word1, word2);
-       }
-      else
-       {
-         /* MEMA FORMAT */
-         (*info->fprintf_func) (stream, "0x%x", (unsigned) offset);
-         if (mode & 8)
-           (*info->fprintf_func) (stream, "(%s)", reg2);
-       }
-      break;
-    }
-
-  return len;
-}
-
-/* REG format.  */
-
-static void
-reg (unsigned long word1)
-{
-  int i, j;
-  int opcode;
-  int fp;
-  int m1, m2, m3;
-  int s1, s2;
-  int src, src2, dst;
-  char *mnemp;
-
-  /* This lookup table is too sparse to make it worth typing in, but not
-     so large as to make a sparse array necessary.  We create the table
-     at runtime.  */
-
-  /* NOTE: In this table, the meaning of 'numops' is:
-        1: single operand, which is NOT a destination.
-       -1: single operand, which IS a destination.
-        2: 2 operands, the 2nd of which is NOT a destination.
-       -2: 2 operands, the 2nd of which IS a destination.
-        3: 3 operands
-
-       If an opcode mnemonic begins with "F", it is a floating-point
-       opcode (the "F" is not printed).  */
-
-  static struct tabent *reg_tab;
-  static const struct sparse_tabent reg_init[] =
-  {
-#define REG_MIN        0x580
-    { 0x580,   "notbit",       3 },
-    { 0x581,   "and",          3 },
-    { 0x582,   "andnot",       3 },
-    { 0x583,   "setbit",       3 },
-    { 0x584,   "notand",       3 },
-    { 0x586,   "xor",          3 },
-    { 0x587,   "or",           3 },
-    { 0x588,   "nor",          3 },
-    { 0x589,   "xnor",         3 },
-    { 0x58a,   "not",          -2 },
-    { 0x58b,   "ornot",        3 },
-    { 0x58c,   "clrbit",       3 },
-    { 0x58d,   "notor",        3 },
-    { 0x58e,   "nand",         3 },
-    { 0x58f,   "alterbit",     3 },
-    { 0x590,   "addo",         3 },
-    { 0x591,   "addi",         3 },
-    { 0x592,   "subo",         3 },
-    { 0x593,   "subi",         3 },
-    { 0x594,   "cmpob",        2 },
-    { 0x595,   "cmpib",        2 },
-    { 0x596,   "cmpos",        2 },
-    { 0x597,   "cmpis",        2 },
-    { 0x598,   "shro",         3 },
-    { 0x59a,   "shrdi",        3 },
-    { 0x59b,   "shri",         3 },
-    { 0x59c,   "shlo",         3 },
-    { 0x59d,   "rotate",       3 },
-    { 0x59e,   "shli",         3 },
-    { 0x5a0,   "cmpo",         2 },
-    { 0x5a1,   "cmpi",         2 },
-    { 0x5a2,   "concmpo",      2 },
-    { 0x5a3,   "concmpi",      2 },
-    { 0x5a4,   "cmpinco",      3 },
-    { 0x5a5,   "cmpinci",      3 },
-    { 0x5a6,   "cmpdeco",      3 },
-    { 0x5a7,   "cmpdeci",      3 },
-    { 0x5ac,   "scanbyte",     2 },
-    { 0x5ad,   "bswap",        -2 },
-    { 0x5ae,   "chkbit",       2 },
-    { 0x5b0,   "addc",         3 },
-    { 0x5b2,   "subc",         3 },
-    { 0x5b4,   "intdis",       0 },
-    { 0x5b5,   "inten",        0 },
-    { 0x5cc,   "mov",          -2 },
-    { 0x5d8,   "eshro",        3 },
-    { 0x5dc,   "movl",         -2 },
-    { 0x5ec,   "movt",         -2 },
-    { 0x5fc,   "movq",         -2 },
-    { 0x600,   "synmov",       2 },
-    { 0x601,   "synmovl",      2 },
-    { 0x602,   "synmovq",      2 },
-    { 0x603,   "cmpstr",       3 },
-    { 0x604,   "movqstr",      3 },
-    { 0x605,   "movstr",       3 },
-    { 0x610,   "atmod",        3 },
-    { 0x612,   "atadd",        3 },
-    { 0x613,   "inspacc",      -2 },
-    { 0x614,   "ldphy",        -2 },
-    { 0x615,   "synld",        -2 },
-    { 0x617,   "fill",         3 },
-    { 0x630,   "sdma",         3 },
-    { 0x631,   "udma",         0 },
-    { 0x640,   "spanbit",      -2 },
-    { 0x641,   "scanbit",      -2 },
-    { 0x642,   "daddc",        3 },
-    { 0x643,   "dsubc",        3 },
-    { 0x644,   "dmovt",        -2 },
-    { 0x645,   "modac",        3 },
-    { 0x646,   "condrec",      -2 },
-    { 0x650,   "modify",       3 },
-    { 0x651,   "extract",      3 },
-    { 0x654,   "modtc",        3 },
-    { 0x655,   "modpc",        3 },
-    { 0x656,   "receive",      -2 },
-    { 0x658,   "intctl",       -2 },
-    { 0x659,   "sysctl",       3 },
-    { 0x65b,   "icctl",        3 },
-    { 0x65c,   "dcctl",        3 },
-    { 0x65d,   "halt",         0 },
-    { 0x660,   "calls",        1 },
-    { 0x662,   "send",         3 },
-    { 0x663,   "sendserv",     1 },
-    { 0x664,   "resumprcs",    1 },
-    { 0x665,   "schedprcs",    1 },
-    { 0x666,   "saveprcs",     0 },
-    { 0x668,   "condwait",     1 },
-    { 0x669,   "wait",         1 },
-    { 0x66a,   "signal",       1 },
-    { 0x66b,   "mark",         0 },
-    { 0x66c,   "fmark",        0 },
-    { 0x66d,   "flushreg",     0 },
-    { 0x66f,   "syncf",        0 },
-    { 0x670,   "emul",         3 },
-    { 0x671,   "ediv",         3 },
-    { 0x673,   "ldtime",       -1 },
-    { 0x674,   "Fcvtir",       -2 },
-    { 0x675,   "Fcvtilr",      -2 },
-    { 0x676,   "Fscalerl",     3 },
-    { 0x677,   "Fscaler",      3 },
-    { 0x680,   "Fatanr",       3 },
-    { 0x681,   "Flogepr",      3 },
-    { 0x682,   "Flogr",        3 },
-    { 0x683,   "Fremr",        3 },
-    { 0x684,   "Fcmpor",       2 },
-    { 0x685,   "Fcmpr",        2 },
-    { 0x688,   "Fsqrtr",       -2 },
-    { 0x689,   "Fexpr",        -2 },
-    { 0x68a,   "Flogbnr",      -2 },
-    { 0x68b,   "Froundr",      -2 },
-    { 0x68c,   "Fsinr",        -2 },
-    { 0x68d,   "Fcosr",        -2 },
-    { 0x68e,   "Ftanr",        -2 },
-    { 0x68f,   "Fclassr",      1 },
-    { 0x690,   "Fatanrl",      3 },
-    { 0x691,   "Flogeprl",     3 },
-    { 0x692,   "Flogrl",       3 },
-    { 0x693,   "Fremrl",       3 },
-    { 0x694,   "Fcmporl",      2 },
-    { 0x695,   "Fcmprl",       2 },
-    { 0x698,   "Fsqrtrl",      -2 },
-    { 0x699,   "Fexprl",       -2 },
-    { 0x69a,   "Flogbnrl",     -2 },
-    { 0x69b,   "Froundrl",     -2 },
-    { 0x69c,   "Fsinrl",       -2 },
-    { 0x69d,   "Fcosrl",       -2 },
-    { 0x69e,   "Ftanrl",       -2 },
-    { 0x69f,   "Fclassrl",     1 },
-    { 0x6c0,   "Fcvtri",       -2 },
-    { 0x6c1,   "Fcvtril",      -2 },
-    { 0x6c2,   "Fcvtzri",      -2 },
-    { 0x6c3,   "Fcvtzril",     -2 },
-    { 0x6c9,   "Fmovr",        -2 },
-    { 0x6d9,   "Fmovrl",       -2 },
-    { 0x6e1,   "Fmovre",       -2 },
-    { 0x6e2,   "Fcpysre",      3 },
-    { 0x6e3,   "Fcpyrsre",     3 },
-    { 0x701,   "mulo",         3 },
-    { 0x708,   "remo",         3 },
-    { 0x70b,   "divo",         3 },
-    { 0x741,   "muli",         3 },
-    { 0x748,   "remi",         3 },
-    { 0x749,   "modi",         3 },
-    { 0x74b,   "divi",         3 },
-    { 0x780,   "addono",       3 },
-    { 0x781,   "addino",       3 },
-    { 0x782,   "subono",       3 },
-    { 0x783,   "subino",       3 },
-    { 0x784,   "selno",        3 },
-    { 0x78b,   "Fdivr",        3 },
-    { 0x78c,   "Fmulr",        3 },
-    { 0x78d,   "Fsubr",        3 },
-    { 0x78f,   "Faddr",        3 },
-    { 0x790,   "addog",        3 },
-    { 0x791,   "addig",        3 },
-    { 0x792,   "subog",        3 },
-    { 0x793,   "subig",        3 },
-    { 0x794,   "selg",         3 },
-    { 0x79b,   "Fdivrl",       3 },
-    { 0x79c,   "Fmulrl",       3 },
-    { 0x79d,   "Fsubrl",       3 },
-    { 0x79f,   "Faddrl",       3 },
-    { 0x7a0,   "addoe",        3 },
-    { 0x7a1,   "addie",        3 },
-    { 0x7a2,   "suboe",        3 },
-    { 0x7a3,   "subie",        3 },
-    { 0x7a4,   "sele",         3 },
-    { 0x7b0,   "addoge",       3 },
-    { 0x7b1,   "addige",       3 },
-    { 0x7b2,   "suboge",       3 },
-    { 0x7b3,   "subige",       3 },
-    { 0x7b4,   "selge",        3 },
-    { 0x7c0,   "addol",        3 },
-    { 0x7c1,   "addil",        3 },
-    { 0x7c2,   "subol",        3 },
-    { 0x7c3,   "subil",        3 },
-    { 0x7c4,   "sell",         3 },
-    { 0x7d0,   "addone",       3 },
-    { 0x7d1,   "addine",       3 },
-    { 0x7d2,   "subone",       3 },
-    { 0x7d3,   "subine",       3 },
-    { 0x7d4,   "selne",        3 },
-    { 0x7e0,   "addole",       3 },
-    { 0x7e1,   "addile",       3 },
-    { 0x7e2,   "subole",       3 },
-    { 0x7e3,   "subile",       3 },
-    { 0x7e4,   "selle",        3 },
-    { 0x7f0,   "addoo",        3 },
-    { 0x7f1,   "addio",        3 },
-    { 0x7f2,   "suboo",        3 },
-    { 0x7f3,   "subio",        3 },
-    { 0x7f4,   "selo",         3 },
-#define REG_MAX 0x7f4
-    { 0,       NULL,           0 }
-  };
-  static struct tabent reg_tab_buf[REG_MAX - REG_MIN + 1];
-
-  if (reg_tab == NULL)
-    {
-      reg_tab = reg_tab_buf;
-
-      for (i = 0; reg_init[i].opcode != 0; i++)
-       {
-         j = reg_init[i].opcode - REG_MIN;
-         reg_tab[j].name = reg_init[i].name;
-         reg_tab[j].numops = reg_init[i].numops;
-       }
-    }
-
-  opcode = ((word1 >> 20) & 0xff0) | ((word1 >> 7) & 0xf);
-  i = opcode - REG_MIN;
-
-  if ((opcode<REG_MIN) || (opcode>REG_MAX) || (reg_tab[i].name==NULL))
-    {
-      invalid (word1);
-      return;
-    }
-
-  mnemp = reg_tab[i].name;
-  if (*mnemp == 'F')
-    {
-      fp = 1;
-      mnemp++;
-    }
-  else
-    {
-      fp = 0;
-    }
-
-  (*info->fprintf_func) (stream, "%s", mnemp);
-
-  s1   = (word1 >> 5)  & 1;
-  s2   = (word1 >> 6)  & 1;
-  m1   = (word1 >> 11) & 1;
-  m2   = (word1 >> 12) & 1;
-  m3   = (word1 >> 13) & 1;
-  src  =  word1        & 0x1f;
-  src2 = (word1 >> 14) & 0x1f;
-  dst  = (word1 >> 19) & 0x1f;
-
-  if  (reg_tab[i].numops != 0)
-    {
-      (*info->fprintf_func) (stream, "\t");
-
-    switch (reg_tab[i].numops)
-      {
-      case 1:
-       regop (m1, s1, src, fp);
-       break;
-      case -1:
-       dstop (m3, dst, fp);
-       break;
-      case 2:
-       regop (m1, s1, src, fp);
-       (*info->fprintf_func) (stream, ",");
-       regop (m2, s2, src2, fp);
-       break;
-      case -2:
-       regop (m1, s1, src, fp);
-       (*info->fprintf_func) (stream, ",");
-       dstop (m3, dst, fp);
-       break;
-      case 3:
-       regop (m1, s1, src, fp);
-       (*info->fprintf_func) (stream, ",");
-       regop (m2, s2, src2, fp);
-       (*info->fprintf_func) (stream, ",");
-       dstop (m3, dst, fp);
-       break;
-      }
-    }
-}
-
-/* Print out effective address for memb instructions.  */
-
-static void
-ea (bfd_vma memaddr, int mode, const char *reg2, const char *reg3, int word1,
-    unsigned int word2)
-{
-  int scale;
-  static const int scale_tab[] = { 1, 2, 4, 8, 16 };
-
-  scale = (word1 >> 7) & 0x07;
-
-  if ((scale > 4) || (((word1 >> 5) & 0x03) != 0))
-    {
-      invalid (word1);
-      return;
-    }
-  scale = scale_tab[scale];
-
-  switch (mode)
-    {
-    case 4:                                            /* (reg) */
-      (*info->fprintf_func)( stream, "(%s)", reg2 );
-      break;
-    case 5:                                            /* displ+8(ip) */
-      print_addr (word2 + 8 + memaddr);
-      break;
-    case 7:                                            /* (reg)[index*scale] */
-      if (scale == 1)
-       (*info->fprintf_func) (stream, "(%s)[%s]", reg2, reg3);
-      else
-       (*info->fprintf_func) (stream, "(%s)[%s*%d]", reg2, reg3, scale);
-      break;
-    case 12:                                   /* displacement */
-      print_addr ((bfd_vma) word2);
-      break;
-    case 13:                                   /* displ(reg) */
-      print_addr ((bfd_vma) word2);
-      (*info->fprintf_func) (stream, "(%s)", reg2);
-      break;
-    case 14:                                   /* displ[index*scale] */
-      print_addr ((bfd_vma) word2);
-      if (scale == 1)
-       (*info->fprintf_func) (stream, "[%s]", reg3);
-      else
-       (*info->fprintf_func) (stream, "[%s*%d]", reg3, scale);
-      break;
-    case 15:                           /* displ(reg)[index*scale] */
-      print_addr ((bfd_vma) word2);
-      if (scale == 1)
-       (*info->fprintf_func) (stream, "(%s)[%s]", reg2, reg3);
-      else
-       (*info->fprintf_func) (stream, "(%s)[%s*%d]", reg2, reg3, scale);
-      break;
-    default:
-      invalid (word1);
-      return;
-    }
-}
-
-
-/* Register Instruction Operand.  */
-
-static void
-regop (int mode, int spec, int fp_reg, int fp)
-{
-  if (fp)
-    {
-      /* Floating point instruction.  */
-      if (mode == 1)
-       {
-         /* FP operand.  */
-         switch (fp_reg)
-           {
-           case 0:  (*info->fprintf_func) (stream, "fp0");
-             break;
-           case 1:  (*info->fprintf_func) (stream, "fp1");
-             break;
-           case 2:  (*info->fprintf_func) (stream, "fp2");
-             break;
-           case 3:  (*info->fprintf_func) (stream, "fp3");
-             break;
-           case 16: (*info->fprintf_func) (stream, "0f0.0");
-             break;
-           case 22: (*info->fprintf_func) (stream, "0f1.0");
-             break;
-           default: (*info->fprintf_func) (stream, "?");
-             break;
-           }
-       }
-      else
-       {
-         /* Non-FP register.  */
-         (*info->fprintf_func) (stream, "%s", reg_names[fp_reg]);
-       }
-    }
-  else
-    {
-      /* Not floating point.  */
-      if (mode == 1)
-       {
-         /* Literal.  */
-         (*info->fprintf_func) (stream, "%d", fp_reg);
-       }
-      else
-       {
-         /* Register.  */
-         if (spec == 0)
-           (*info->fprintf_func) (stream, "%s", reg_names[fp_reg]);
-         else
-           (*info->fprintf_func) (stream, "sf%d", fp_reg);
-       }
-    }
-}
-
-/* Register Instruction Destination Operand.  */
-
-static void
-dstop (int mode, int dest_reg, int fp)
-{
-  /* 'dst' operand can't be a literal. On non-FP instructions,  register
-     mode is assumed and "m3" acts as if were "s3";  on FP-instructions,
-     sf registers are not allowed so m3 acts normally.  */
-  if (fp)
-    regop (mode, 0, dest_reg, fp);
-  else
-    regop (0, mode, dest_reg, fp);
-}
-
-static void
-invalid (int word1)
-{
-  (*info->fprintf_func) (stream, ".word\t0x%08x", (unsigned) word1);
-}
-
-static void
-print_addr (bfd_vma a)
-{
-  (*info->print_address_func) (a, info);
-}
-
-static void
-put_abs (unsigned long word1 ATTRIBUTE_UNUSED,
-        unsigned long word2 ATTRIBUTE_UNUSED)
-{
-#ifdef IN_GDB
-  return;
-#else
-  int len;
-
-  switch ((word1 >> 28) & 0xf)
-    {
-    case 0x8:
-    case 0x9:
-    case 0xa:
-    case 0xb:
-    case 0xc:
-      /* MEM format instruction.  */
-      len = mem (0, word1, word2, 1);
-      break;
-    default:
-      len = 4;
-      break;
-    }
-
-  if (len == 8)
-    (*info->fprintf_func) (stream, "%08x %08x\t", word1, word2);
-  else
-    (*info->fprintf_func) (stream, "%08x         \t", word1);
-#endif
-}
index cb1b5131e20bf3bc28f26cf92956881b296a0f1b..3a1fbd8001959efc403d19ecfc5aac6fce827541 100644 (file)
@@ -70,8 +70,6 @@ i386-init.h
 i386-opc.c
 i386-opc.h
 i386-tbl.h
 i386-opc.c
 i386-opc.h
 i386-tbl.h
-i860-dis.c
-i960-dis.c
 ia64-asmtab.c
 ia64-asmtab.h
 ia64-dis.c
 ia64-asmtab.c
 ia64-asmtab.h
 ia64-dis.c
This page took 0.320053 seconds and 4 git commands to generate.