diff --git a/compile b/compile
deleted file mode 100755
index 1b1d232..0000000
--- a/compile
+++ /dev/null
@@ -1,142 +0,0 @@
-#! /bin/sh
-# Wrapper for compilers which do not understand `-c -o'.
-
-scriptversion=2005-05-14.22
-
-# Copyright (C) 1999, 2000, 2003, 2004, 2005 Free Software Foundation, Inc.
-# Written by Tom Tromey <tromey@cygnus.com>.
-#
-# 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 2, 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.
-
-# As a special exception to the GNU General Public License, if you
-# distribute this file as part of a program that contains a
-# configuration script generated by Autoconf, you may include it under
-# the same distribution terms that you use for the rest of that program.
-
-# This file is maintained in Automake, please report
-# bugs to <bug-automake@gnu.org> or send patches to
-# <automake-patches@gnu.org>.
-
-case $1 in
-  '')
-     echo "$0: No command.  Try \`$0 --help' for more information." 1>&2
-     exit 1;
-     ;;
-  -h | --h*)
-    cat <<\EOF
-Usage: compile [--help] [--version] PROGRAM [ARGS]
-
-Wrapper for compilers which do not understand `-c -o'.
-Remove `-o dest.o' from ARGS, run PROGRAM with the remaining
-arguments, and rename the output as expected.
-
-If you are trying to build a whole package this is not the
-right script to run: please start by reading the file `INSTALL'.
-
-Report bugs to <bug-automake@gnu.org>.
-EOF
-    exit $?
-    ;;
-  -v | --v*)
-    echo "compile $scriptversion"
-    exit $?
-    ;;
-esac
-
-ofile=
-cfile=
-eat=
-
-for arg
-do
-  if test -n "$eat"; then
-    eat=
-  else
-    case $1 in
-      -o)
-	# configure might choose to run compile as `compile cc -o foo foo.c'.
-	# So we strip `-o arg' only if arg is an object.
-	eat=1
-	case $2 in
-	  *.o | *.obj)
-	    ofile=$2
-	    ;;
-	  *)
-	    set x "$@" -o "$2"
-	    shift
-	    ;;
-	esac
-	;;
-      *.c)
-	cfile=$1
-	set x "$@" "$1"
-	shift
-	;;
-      *)
-	set x "$@" "$1"
-	shift
-	;;
-    esac
-  fi
-  shift
-done
-
-if test -z "$ofile" || test -z "$cfile"; then
-  # If no `-o' option was seen then we might have been invoked from a
-  # pattern rule where we don't need one.  That is ok -- this is a
-  # normal compilation that the losing compiler can handle.  If no
-  # `.c' file was seen then we are probably linking.  That is also
-  # ok.
-  exec "$@"
-fi
-
-# Name of file we expect compiler to create.
-cofile=`echo "$cfile" | sed -e 's|^.*/||' -e 's/\.c$/.o/'`
-
-# Create the lock directory.
-# Note: use `[/.-]' here to ensure that we don't use the same name
-# that we are using for the .o file.  Also, base the name on the expected
-# object file name, since that is what matters with a parallel build.
-lockdir=`echo "$cofile" | sed -e 's|[/.-]|_|g'`.d
-while true; do
-  if mkdir "$lockdir" >/dev/null 2>&1; then
-    break
-  fi
-  sleep 1
-done
-# FIXME: race condition here if user kills between mkdir and trap.
-trap "rmdir '$lockdir'; exit 1" 1 2 15
-
-# Run the compile.
-"$@"
-ret=$?
-
-if test -f "$cofile"; then
-  mv "$cofile" "$ofile"
-elif test -f "${cofile}bj"; then
-  mv "${cofile}bj" "$ofile"
-fi
-
-rmdir "$lockdir"
-exit $ret
-
-# Local Variables:
-# mode: shell-script
-# sh-indentation: 2
-# eval: (add-hook 'write-file-hooks 'time-stamp)
-# time-stamp-start: "scriptversion="
-# time-stamp-format: "%:y-%02m-%02d.%02H"
-# time-stamp-end: "$"
-# End:
diff --git a/djunpack.bat b/djunpack.bat
deleted file mode 100755
index f09f5ed..0000000
--- a/djunpack.bat
+++ /dev/null
@@ -1,52 +0,0 @@
-@echo off
-Rem
-Rem WARNING WARNING WARNING: This file needs to have DOS CRLF end-of-line
-Rem format, or else stock DOS/Windows shells will refuse to run it.
-Rem
-Rem This batch file unpacks the GDB distribution while simultaneously
-Rem renaming some of the files whose names are invalid on DOS or conflict
-Rem with other file names after truncation to DOS 8+3 namespace.
-Rem
-Rem Invoke like this:
-Rem
-Rem     djunpack gdb-XYZ.tar
-Rem
-Rem where XYZ is the version number.  If the argument includes leading
-Rem directories, it MUST use backslashes, not forward slashes.
-Rem
-Rem The following 2 lines need to be changed with each new GDB release, to
-Rem be identical to the name of the top-level directory where the GDB
-Rem distribution unpacks itself.
-set GDBVER=gdb-5.0
-if "%GDBVER%"=="gdb-5.0" GoTo EnvOk
-Rem If their environment space is too small, re-exec with a larger one
-command.com /e:4096 /c %0 %1
-GoTo End
-:EnvOk
-if not exist %1 GoTo NoArchive
-djtar -x -p -o %GDBVER%/gdb/config/djgpp/fnchange.lst %1 > fnchange.tmp
-Rem The following uses a feature of COPY whereby it does not copy
-Rem empty files.  We need that because the previous line will create
-Rem an empty fnchange.tmp even if the command failed for some reason.
-copy fnchange.tmp junk.tmp > nul
-if not exist junk.tmp GoTo NoDjTar
-del junk.tmp
-sed -e 's,@V@,%GDBVER%,g' < fnchange.tmp > fnchange.lst
-Rem See the comment above about the reason for using COPY.
-copy fnchange.lst junk.tmp > nul
-if not exist junk.tmp GoTo NoSed
-del junk.tmp
-djtar -x -n fnchange.lst %1
-GoTo End
-:NoSed
-echo FAIL: Sed is not available.
-GoTo End
-:NoDjTar
-echo FAIL: DJTAR is not available or no fnchange.lst file in %1.
-GoTo End
-:NoArchive
-echo FAIL: the file %1 does not seem to exist.
-echo Remember that %1 cannot use forward slashes, only backslashes.
-GoTo End
-:End
-set GDBVER=
diff --git a/gas/testsuite/gas/mips/vxworks1.s b/gas/testsuite/gas/mips/vxworks1.s
deleted file mode 100644
index 4d670a3..0000000
--- a/gas/testsuite/gas/mips/vxworks1.s
+++ /dev/null
@@ -1,16 +0,0 @@
-	la	$4,local
-	la	$4,global
-	lw	$4,local
-	lw	$4,global
-	sw	$4,local
-	sw	$4,global
-	ulw	$4,local
-	ulw	$4,global
-	usw	$4,local
-	usw	$4,global
-	.space	16
-
-	.data
-	.global global
-local:	.word	4
-global:	.word	8
diff --git a/gas/testsuite/gas/sparc/vxworks-pic.d b/gas/testsuite/gas/sparc/vxworks-pic.d
deleted file mode 100644
index 7e238fb..0000000
--- a/gas/testsuite/gas/sparc/vxworks-pic.d
+++ /dev/null
@@ -1,27 +0,0 @@
-#as: -KPIC
-#objdump: -dr
-#name: VxWorks PIC
-
-.*:     file format .*
-
-Disassembly of section \.text:
-
-00000000 <\.text>:
-   0:	2f 00 00 00 	sethi  %hi\(0\), %l7
-			0: R_SPARC_HI22	__GOTT_BASE__
-   4:	ee 05 e0 00 	ld  \[ %l7 \], %l7
-			4: R_SPARC_LO10	__GOTT_BASE__
-   8:	ee 05 e0 00 	ld  \[ %l7 \], %l7
-			8: R_SPARC_LO10	__GOTT_INDEX__
-   c:	03 00 00 00 	sethi  %hi\(0\), %g1
-			c: R_SPARC_HI22	__GOTT_BASE__
-  10:	82 10 60 00 	mov  %g1, %g1	! 0x0
-			10: R_SPARC_LO10	__GOTT_BASE__
-  14:	03 00 00 00 	sethi  %hi\(0\), %g1
-			14: R_SPARC_HI22	__GOTT_INDEX__
-  18:	82 10 60 00 	mov  %g1, %g1	! 0x0
-			18: R_SPARC_LO10	__GOTT_INDEX__
-  1c:	03 00 00 00 	sethi  %hi\(0\), %g1
-			1c: R_SPARC_GOT22	__GOT_BASE__
-  20:	82 10 60 00 	mov  %g1, %g1	! 0x0
-			20: R_SPARC_GOT10	__GOT_BASE__
diff --git a/gas/testsuite/gas/sparc/vxworks-pic.s b/gas/testsuite/gas/sparc/vxworks-pic.s
deleted file mode 100644
index 9d49e00..0000000
--- a/gas/testsuite/gas/sparc/vxworks-pic.s
+++ /dev/null
@@ -1,11 +0,0 @@
-	sethi	%hi(__GOTT_BASE__), %l7
-	ld	[%l7+%lo(__GOTT_BASE__)],%l7
-	ld	[%l7+%lo(__GOTT_INDEX__)],%l7
-
-	sethi	%hi(__GOTT_BASE__), %g1
-	or	%g1, %lo(__GOTT_BASE__), %g1
-	sethi	%hi(__GOTT_INDEX__), %g1
-	or	%g1, %lo(__GOTT_INDEX__), %g1
-
-	sethi	%hi(__GOT_BASE__), %g1
-	or	%g1, %lo(__GOT_BASE__), %g1
diff --git a/ld/elf-hints-local.h b/ld/elf-hints-local.h
deleted file mode 100644
index 6940818..0000000
--- a/ld/elf-hints-local.h
+++ /dev/null
@@ -1,44 +0,0 @@
-/* Copyright (c) 1997 John D. Polstra.
-   All rights reserved.
- 
-   Redistribution and use in source and binary forms, with or without
-   modification, are permitted provided that the following conditions
-   are met:
-   1. Redistributions of source code must retain the above copyright
-      notice, this list of conditions and the following disclaimer.
-   2. Redistributions in binary form must reproduce the above copyright
-      notice, this list of conditions and the following disclaimer in the
-      documentation and/or other materials provided with the distribution.
- 
-   THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
-   ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
-   IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
-   ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
-   FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
-   DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
-   OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
-   HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
-   LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
-   OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-   SUCH DAMAGE.  */
-
-#ifndef	_ELF_HINTS_H_
-#define	_ELF_HINTS_H_
-
-/* Hints file produced by ldconfig.  */
-struct elfhints_hdr
-{
-  u_int32_t magic;		/* Magic number.  */
-  u_int32_t version;		/* File version (1).  */
-  u_int32_t strtab;		/* Offset of string table in file.  */
-  u_int32_t strsize;		/* Size of string table.  */
-  u_int32_t dirlist;		/* Offset of directory list in string table.  */
-  u_int32_t dirlistlen;		/* strlen(dirlist).  */
-  u_int32_t spare[26];		/* Room for expansion.  */
-};
-
-#define ELFHINTS_MAGIC	0x746e6845
-
-#define _PATH_ELF_HINTS	"/var/run/ld-elf.so.hints"
-
-#endif /* !_ELF_HINTS_H_ */
diff --git a/ld/emulparams/elf32_sparc_vxworks.sh b/ld/emulparams/elf32_sparc_vxworks.sh
deleted file mode 100644
index 12a9b38..0000000
--- a/ld/emulparams/elf32_sparc_vxworks.sh
+++ /dev/null
@@ -1,4 +0,0 @@
-. ${srcdir}/emulparams/elf32_sparc.sh
-OUTPUT_FORMAT="elf32-sparc-vxworks"
-unset DATA_PLT
-. ${srcdir}/emulparams/vxworks.sh
diff --git a/ld/emulparams/elf32ebmipvxworks.sh b/ld/emulparams/elf32ebmipvxworks.sh
deleted file mode 100644
index 4145488..0000000
--- a/ld/emulparams/elf32ebmipvxworks.sh
+++ /dev/null
@@ -1,11 +0,0 @@
-. ${srcdir}/emulparams/elf32bmip.sh
-
-OUTPUT_FORMAT="elf32-bigmips-vxworks"
-BIG_OUTPUT_FORMAT="elf32-bigmips-vxworks"
-LITTLE_OUTPUT_FORMAT="elf32-littlemips-vxworks"
-unset OTHER_GOT_SYMBOLS
-SHLIB_TEXT_START_ADDR=0
-unset TEXT_DYNAMIC
-unset DATA_ADDR
-
-. ${srcdir}/emulparams/vxworks.sh
diff --git a/ld/emulparams/elf32elmipvxworks.sh b/ld/emulparams/elf32elmipvxworks.sh
deleted file mode 100644
index c123944..0000000
--- a/ld/emulparams/elf32elmipvxworks.sh
+++ /dev/null
@@ -1,11 +0,0 @@
-. ${srcdir}/emulparams/elf32bmip.sh
-
-OUTPUT_FORMAT="elf32-littlemips-vxworks"
-BIG_OUTPUT_FORMAT="elf32-bigmips-vxworks"
-LITTLE_OUTPUT_FORMAT="elf32-littlemips-vxworks"
-unset OTHER_GOT_SYMBOLS
-SHLIB_TEXT_START_ADDR=0
-unset TEXT_DYNAMIC
-unset DATA_ADDR
-
-. ${srcdir}/emulparams/vxworks.sh
diff --git a/ld/testsuite/ld-mips-elf/tls-hidden3.d b/ld/testsuite/ld-mips-elf/tls-hidden3.d
deleted file mode 100644
index 6d58686..0000000
--- a/ld/testsuite/ld-mips-elf/tls-hidden3.d
+++ /dev/null
@@ -1,24 +0,0 @@
-
-.*:     file format .*
-
-Disassembly of section \.text:
-
-#
-# The TLS entries are ordered as follows:
-#
-#	foo0	(-0x7ff0 + 0x20)
-#	foo2	(-0x7ff0 + 0x24)
-#	foo3	(-0x7ff0 + 0x28)
-#	foo1	(-0x7ff0 + 0x2c)
-#
-# Any order would be acceptable, but it must match the .got dump.
-#
-00080c00 <\.text>:
-   80c00:	8f848030 	lw	a0,-32720\(gp\)
-   80c04:	8f84803c 	lw	a0,-32708\(gp\)
-   80c08:	8f848034 	lw	a0,-32716\(gp\)
-   80c0c:	8f848038 	lw	a0,-32712\(gp\)
-   80c10:	8f848030 	lw	a0,-32720\(gp\)
-   80c14:	8f84803c 	lw	a0,-32708\(gp\)
-   80c18:	8f848034 	lw	a0,-32716\(gp\)
-   80c1c:	8f848038 	lw	a0,-32712\(gp\)
diff --git a/ld/testsuite/ld-mips-elf/tls-hidden3.got b/ld/testsuite/ld-mips-elf/tls-hidden3.got
deleted file mode 100644
index 8b9c87f..0000000
--- a/ld/testsuite/ld-mips-elf/tls-hidden3.got
+++ /dev/null
@@ -1,24 +0,0 @@
-
-.*:     file format .*
-
-#
-# The GOT layout is:
-#
-#	- 2 reserved entries
-#	- 5 local page entries
-#	- 1 global entry for "undef"
-#	- 4 TLS entries
-#
-# The order of the TLS entries is:
-#
-#	foo0	(offset 0x20)
-#	foo2	(offset 0x24)
-#	foo3	(offset 0x28)
-#	foo1	(offset 0x2c)
-#
-# Any order would be acceptable, but it must match the .d dump.
-#
-Contents of section \.got:
- 90000 00000000 80000000 00000000 00000000  .*
- 90010 00000000 00000000 00000000 00000000  .*
- 90020 0000abc0 0000abc8 0000abcc 0000abc4  .*
diff --git a/ld/testsuite/ld-mips-elf/tls-hidden3.ld b/ld/testsuite/ld-mips-elf/tls-hidden3.ld
deleted file mode 100644
index b3d0584..0000000
--- a/ld/testsuite/ld-mips-elf/tls-hidden3.ld
+++ /dev/null
@@ -1,31 +0,0 @@
-SECTIONS
-{
-  . = 0x80000;
-  .interp : { *(.interp) }
-  .hash : { *(.hash) }
-  .dynsym : { *(.dynsym) }
-  .dynstr : { *(.dynstr) }
-
-  . = ALIGN (0x400);
-  .rel.dyn : { *(.rel.dyn) }
-
-  . = ALIGN (0x400);
-  .MIPS.stubs : { *(.MIPS.stubs) }
-
-  . = ALIGN (0x400);
-  .text : { *(.text) }
-
-  . = ALIGN (0x10000);
-  _gp = . + 0x7ff0;
-  .got : { *(.got) }
-
-  . = ALIGN (0x400);
-  .tdata : { *(.tdata) }
-
-  /DISCARD/ : { *(.reginfo) }
-}
-
-VERSION
-{
-  { local: *; };
-}
diff --git a/ld/testsuite/ld-mips-elf/tls-hidden3.r b/ld/testsuite/ld-mips-elf/tls-hidden3.r
deleted file mode 100644
index 500e7b1..0000000
--- a/ld/testsuite/ld-mips-elf/tls-hidden3.r
+++ /dev/null
@@ -1,13 +0,0 @@
-
-Relocation section '\.rel\.dyn' at offset .* contains 6 entries:
- Offset     Info    Type            Sym\.Value  Sym\. Name
-00000000  00000000 R_MIPS_NONE      
-#
-# The order of the next four entries doesn't matter.  The important thing
-# is that there is exactly one entry per GOT TLS slot.
-#
-00090020  0000002f R_MIPS_TLS_TPREL3
-0009002c  0000002f R_MIPS_TLS_TPREL3
-00090024  0000002f R_MIPS_TLS_TPREL3
-00090028  0000002f R_MIPS_TLS_TPREL3
-00090030  .*03 R_MIPS_REL32      00000000   undef
diff --git a/ld/testsuite/ld-mips-elf/tls-hidden3a.s b/ld/testsuite/ld-mips-elf/tls-hidden3a.s
deleted file mode 100644
index d1e6d64..0000000
--- a/ld/testsuite/ld-mips-elf/tls-hidden3a.s
+++ /dev/null
@@ -1,10 +0,0 @@
-	.macro	load
-	lw	$4,%gottprel(foo\@)($gp)
-	.endm
-
-	.rept	4
-	load
-	.endr
-
-	.section .tdata,"awT",@progbits
-	.fill	0xabc0
diff --git a/ld/testsuite/ld-mips-elf/tls-hidden3b.s b/ld/testsuite/ld-mips-elf/tls-hidden3b.s
deleted file mode 100644
index 0744b07..0000000
--- a/ld/testsuite/ld-mips-elf/tls-hidden3b.s
+++ /dev/null
@@ -1,18 +0,0 @@
-	.macro	load
-	.text
-	lw	$4,%gottprel(foo\@)($gp)
-
-	.global foo\@
-	.type   foo\@,@object
-	.size   foo\@,4
-	.section .tdata,"awT",@progbits
-foo\@:
-	.word   \@
-	.endm
-
-	.rept	4
-	load
-	.endr
-
-	.data
-	.word	undef
diff --git a/ld/testsuite/ld-mips-elf/tls-hidden4.got b/ld/testsuite/ld-mips-elf/tls-hidden4.got
deleted file mode 100644
index 84120c0..0000000
--- a/ld/testsuite/ld-mips-elf/tls-hidden4.got
+++ /dev/null
@@ -1,28 +0,0 @@
-
-.*:     file format .*
-
-Contents of section \.got:
-#
-# The order of the TLS entries in this GOT is:
-#
-#     foo2
-#     foo3
-#     foo0
-#     foo1
-#
-# The order and address don't matter; the important thing is that the
-# addresses match the relocs in the .r dump and that there is a separate
-# entry for each symbol.
-#
-#...
- 1c4080 0000abc8 0000abcc 0000abc0 0000abc4  .*
-#
-# Likewise, but the order of the entries in this GOT is:
-#
-#     foo3
-#     foo2
-#     foo0
-#     foo1
-#...
- 1d00c0 00000000 00000000 00000000 0000abcc  .*
- 1d00d0 0000abc8 0000abc0 0000abc4           .*
diff --git a/ld/testsuite/ld-mips-elf/tls-hidden4.r b/ld/testsuite/ld-mips-elf/tls-hidden4.r
deleted file mode 100644
index f6809b5..0000000
--- a/ld/testsuite/ld-mips-elf/tls-hidden4.r
+++ /dev/null
@@ -1,19 +0,0 @@
-
-Relocation section '\.rel\.dyn' at offset .* contains .* entries:
- Offset     Info    Type            Sym\.Value  Sym\. Name
-00000000  00000000 R_MIPS_NONE      
-#
-# The order and addresses of the next eight entries don't matter.  The
-# important thing is that there is exactly one entry per GOT TLS slot
-# and that the addresses match those in the .got dump.
-#
-001d00d4  0000002f R_MIPS_TLS_TPREL3
-001d00d8  0000002f R_MIPS_TLS_TPREL3
-001d00d0  0000002f R_MIPS_TLS_TPREL3
-001d00cc  0000002f R_MIPS_TLS_TPREL3
-001c4088  0000002f R_MIPS_TLS_TPREL3
-001c408c  0000002f R_MIPS_TLS_TPREL3
-001c4080  0000002f R_MIPS_TLS_TPREL3
-001c4084  0000002f R_MIPS_TLS_TPREL3
-.* R_MIPS_REL32 .*
-#pass
diff --git a/ld/testsuite/ld-mips-elf/tls-hidden4a.s b/ld/testsuite/ld-mips-elf/tls-hidden4a.s
deleted file mode 100644
index 02a0d35..0000000
--- a/ld/testsuite/ld-mips-elf/tls-hidden4a.s
+++ /dev/null
@@ -1,18 +0,0 @@
-	.macro	load
-	lw	$4,%gottprel(foo\@)($gp)
-	.endm
-
-	.rept	4
-	load
-	.endr
-
-	.macro	load2
-	lw	$4,%got(undefa\@)($gp)
-	.endm
-
-	.rept	0x3000
-	load2
-	.endr
-
-	.section .tdata,"awT",@progbits
-	.fill	0xabc0
diff --git a/ld/testsuite/ld-mips-elf/tls-hidden4b.s b/ld/testsuite/ld-mips-elf/tls-hidden4b.s
deleted file mode 100644
index d6deb00..0000000
--- a/ld/testsuite/ld-mips-elf/tls-hidden4b.s
+++ /dev/null
@@ -1,27 +0,0 @@
-	.macro	load
-	.text
-	lw	$4,%gottprel(foo\@)($gp)
-
-	.global foo\@
-	.type   foo\@,@object
-	.size   foo\@,4
-	.section .tdata,"awT",@progbits
-foo\@:
-	.word   \@
-	.endm
-
-	.rept	4
-	load
-	.endr
-
-	.text
-	.macro	load2
-	lw	$4,%got(undefb\@)($gp)
-	.endm
-
-	.rept	0x3000
-	load2
-	.endr
-
-	.data
-	.word	undef
diff --git a/ld/testsuite/ld-mips-elf/vxworks1-lib.dd b/ld/testsuite/ld-mips-elf/vxworks1-lib.dd
deleted file mode 100644
index ab060d9..0000000
--- a/ld/testsuite/ld-mips-elf/vxworks1-lib.dd
+++ /dev/null
@@ -1,50 +0,0 @@
-
-.*:     file format .*
-
-Disassembly of section \.plt:
-
-00080800 <_PROCEDURE_LINKAGE_TABLE_>:
-   80800:	8f990008 	lw	t9,8\(gp\)
-   80804:	00000000 	nop
-   80808:	03200008 	jr	t9
-   8080c:	00000000 	nop
-	\.\.\.
-   80818:	1000fff9 	b	80800 <_PROCEDURE_LINKAGE_TABLE_>
-   8081c:	24180000 	li	t8,0
-   80820:	1000fff7 	b	80800 <_PROCEDURE_LINKAGE_TABLE_>
-   80824:	24180001 	li	t8,1
-Disassembly of section \.text:
-
-00080c00 <foo>:
-   80c00:	27bdffe0 	addiu	sp,sp,-32
-   80c04:	afbf0000 	sw	ra,0\(sp\)
-   80c08:	afbc0004 	sw	gp,4\(sp\)
-   80c0c:	3c1c0000 	lui	gp,0x0
-   80c10:	8f9c0000 	lw	gp,0\(gp\)
-   80c14:	8f9c0000 	lw	gp,0\(gp\)
-   80c18:	8f820014 	lw	v0,20\(gp\)
-   80c1c:	8c430000 	lw	v1,0\(v0\)
-   80c20:	24630001 	addiu	v1,v1,1
-   80c24:	ac430000 	sw	v1,0\(v0\)
-   80c28:	8f99000c 	lw	t9,12\(gp\)
-   80c2c:	0320f809 	jalr	t9
-   80c30:	00000000 	nop
-   80c34:	8f99fff4 	lw	t9,-12\(gp\)
-   80c38:	0320f809 	jalr	t9
-   80c3c:	00000000 	nop
-   80c40:	8f99fff0 	lw	t9,-16\(gp\)
-   80c44:	0320f809 	jalr	t9
-   80c48:	00000000 	nop
-   80c4c:	8fbf0000 	lw	ra,0\(sp\)
-   80c50:	8fbc0004 	lw	gp,4\(sp\)
-   80c54:	03e00008 	jr	ra
-   80c58:	27bd0020 	addiu	sp,sp,32
-
-00080c5c <slocal>:
-   80c5c:	03e00008 	jr	ra
-   80c60:	00000000 	nop
-
-00080c64 <sglobal>:
-   80c64:	03e00008 	jr	ra
-   80c68:	00000000 	nop
-#pass
diff --git a/ld/testsuite/ld-mips-elf/vxworks1-lib.nd b/ld/testsuite/ld-mips-elf/vxworks1-lib.nd
deleted file mode 100644
index adbf7d7..0000000
--- a/ld/testsuite/ld-mips-elf/vxworks1-lib.nd
+++ /dev/null
@@ -1,9 +0,0 @@
-#...
-Symbol table '\.dynsym' .*:
-#...
-.*: 00081410 * 0 * OBJECT * GLOBAL * DEFAULT * [0-9]+ _GLOBAL_OFFSET_TABLE_
-#...
-Symbol table '\.symtab' .*:
-#...
-.*: 00081410 * 0 * OBJECT * GLOBAL * DEFAULT * [0-9]+ _GLOBAL_OFFSET_TABLE_
-#pass
diff --git a/ld/testsuite/ld-mips-elf/vxworks1-lib.rd b/ld/testsuite/ld-mips-elf/vxworks1-lib.rd
deleted file mode 100644
index 9a8b35e..0000000
--- a/ld/testsuite/ld-mips-elf/vxworks1-lib.rd
+++ /dev/null
@@ -1,18 +0,0 @@
-
-Relocation section '\.rela\.dyn' at offset .* contains .* entries:
- Offset     Info    Type            Sym\.Value  Sym\. Name \+ Addend
-00080c0c  .*05 R_MIPS_HI16       00000000   __GOTT_BASE__ \+ 0
-00080c10  .*06 R_MIPS_LO16       00000000   __GOTT_BASE__ \+ 0
-00080c14  .*01 R_MIPS_16         00000000   __GOTT_INDEX__ \+ 0
-0008141c  .*02 R_MIPS_32         00080c00   \.text \+ 5c
-00081c00  00000002 R_MIPS_32                                    00080c5c
-00081c04  00000002 R_MIPS_32                                    00081c00
-00081c08  .*02 R_MIPS_32         00081c08   dglobal \+ 0
-00081c0c  .*02 R_MIPS_32         00000000   dexternal \+ 0
-00081424  .*02 R_MIPS_32         00081800   x \+ 0
-00000000  00000000 R_MIPS_NONE                                  00000000
-#...
-Relocation section '\.rela\.plt' at offset .* contains 2 entries:
- Offset     Info    Type            Sym\.Value  Sym\. Name \+ Addend
-00081400  .*7f R_MIPS_JUMP_SLOT  00000000   sexternal \+ 0
-00081404  .*7f R_MIPS_JUMP_SLOT  00080c64   sglobal \+ 0
diff --git a/ld/testsuite/ld-mips-elf/vxworks1-lib.s b/ld/testsuite/ld-mips-elf/vxworks1-lib.s
deleted file mode 100644
index 827332c..0000000
--- a/ld/testsuite/ld-mips-elf/vxworks1-lib.s
+++ /dev/null
@@ -1,52 +0,0 @@
-	.text
-	.globl	foo
-	.type	foo, @function
-foo:
-	addiu	$sp,$sp,-32
-	sw	$31,($sp)
-	sw	$28,4($sp)
-	lui	$28,%hi(__GOTT_BASE__)
-	lw	$28,%lo(__GOTT_BASE__)($28)
-	lw	$28,%half(__GOTT_INDEX__)($28)
-	lw	$2,%got(x)($28)
-	lw	$3,($2)
-	addiu	$3,$3,1
-	sw	$3,($2)
-	lw	$25,%got(slocal)($gp)
-	jalr	$25
-	lw	$25,%call16(sglobal)($gp)
-	jalr	$25
-	lw	$25,%call16(sexternal)($gp)
-	jalr	$25
-	lw	$31,($sp)
-	lw	$28,4($sp)
-	addiu	$sp,$sp,32
-	jr	$31
-	.size	foo, .-foo
-
-	.type	slocal, @function
-slocal:
-	jr	$31
-	.size	slocal, .-slocal
-
-	.globl	sglobal
-	.type	sglobal, @function
-sglobal:
-	jr	$31
-	.size	sglobal, .-sglobal
-
-	.comm	x,4,4
-
-	.data
-	.type	dlocal, @object
-dlocal:
-	.word	slocal
-	.word	dlocal
-	.size	dlocal, .-dlocal
-
-	.globl	dglobal
-	.type	dglobal, @object
-dglobal:
-	.word	dglobal
-	.word	dexternal
-	.size	dglobal, .-dglobal
diff --git a/ld/testsuite/ld-mips-elf/vxworks1-static.d b/ld/testsuite/ld-mips-elf/vxworks1-static.d
deleted file mode 100644
index 88c0baf..0000000
--- a/ld/testsuite/ld-mips-elf/vxworks1-static.d
+++ /dev/null
@@ -1,4 +0,0 @@
-#name: VxWorks executable test 1 (static)
-#source: vxworks1.s
-#ld: tmpdir/libvxworks1.so -Tvxworks1.ld
-#error: Dynamic sections created in non-dynamic link
diff --git a/ld/testsuite/ld-mips-elf/vxworks1.dd b/ld/testsuite/ld-mips-elf/vxworks1.dd
deleted file mode 100644
index af9e354..0000000
--- a/ld/testsuite/ld-mips-elf/vxworks1.dd
+++ /dev/null
@@ -1,51 +0,0 @@
-
-.*:     file format .*
-
-Disassembly of section \.plt:
-
-00080800 <_PROCEDURE_LINKAGE_TABLE_>:
-   80800:	3c190008 	lui	t9,0x8
-			80800: R_MIPS_HI16	_GLOBAL_OFFSET_TABLE_
-   80804:	27391410 	addiu	t9,t9,5136
-			80804: R_MIPS_LO16	_GLOBAL_OFFSET_TABLE_
-   80808:	8f390008 	lw	t9,8\(t9\)
-   8080c:	00000000 	nop
-   80810:	03200008 	jr	t9
-   80814:	00000000 	nop
-   80818:	1000fff9 	b	80800 <_PROCEDURE_LINKAGE_TABLE_>
-   8081c:	24180000 	li	t8,0
-   80820:	3c190008 	lui	t9,0x8
-			80820: R_MIPS_HI16	_GLOBAL_OFFSET_TABLE_\+0xfffffff0
-   80824:	27391400 	addiu	t9,t9,5120
-			80824: R_MIPS_LO16	_GLOBAL_OFFSET_TABLE_\+0xfffffff0
-   80828:	8f390000 	lw	t9,0\(t9\)
-   8082c:	00000000 	nop
-   80830:	03200008 	jr	t9
-   80834:	00000000 	nop
-   80838:	1000fff1 	b	80800 <_PROCEDURE_LINKAGE_TABLE_>
-   8083c:	24180001 	li	t8,1
-   80840:	3c190008 	lui	t9,0x8
-			80840: R_MIPS_HI16	_GLOBAL_OFFSET_TABLE_\+0xfffffff4
-   80844:	27391404 	addiu	t9,t9,5124
-			80844: R_MIPS_LO16	_GLOBAL_OFFSET_TABLE_\+0xfffffff4
-   80848:	8f390000 	lw	t9,0\(t9\)
-   8084c:	00000000 	nop
-   80850:	03200008 	jr	t9
-   80854:	00000000 	nop
-Disassembly of section \.text:
-
-00080c00 <_start>:
-   80c00:	0c020210 	jal	80840 <_PROCEDURE_LINKAGE_TABLE_\+0x40>
-			80c00: R_MIPS_26	\.plt\+0x40
-   80c04:	00000000 	nop
-   80c08:	0c020306 	jal	80c18 <sexternal>
-			80c08: R_MIPS_26	sexternal
-   80c0c:	00000000 	nop
-   80c10:	08020208 	j	80820 <_PROCEDURE_LINKAGE_TABLE_\+0x20>
-			80c10: R_MIPS_26	\.plt\+0x20
-   80c14:	00000000 	nop
-
-00080c18 <sexternal>:
-   80c18:	03e00008 	jr	ra
-   80c1c:	00000000 	nop
-#pass
diff --git a/ld/testsuite/ld-mips-elf/vxworks1.ld b/ld/testsuite/ld-mips-elf/vxworks1.ld
deleted file mode 100644
index 74e2c26..0000000
--- a/ld/testsuite/ld-mips-elf/vxworks1.ld
+++ /dev/null
@@ -1,32 +0,0 @@
-SECTIONS
-{
-  . = 0x80000;
-  .interp : { *(.interp) }
-  .hash : { *(.hash) }
-  .dynsym : { *(.dynsym) }
-  .dynstr : { *(.dynstr) }
-
-  . = ALIGN (0x400);
-  .rela.dyn : { *(.rela.dyn) }
-  .rela.plt : { *(.rela.plt) }
-
-  . = ALIGN (0x400);
-  .plt : { *(.plt) }
-
-  . = ALIGN (0x400);
-  .text : { *(.text) }
-
-  . = ALIGN (0x1000);
-  .dynamic : { *(.dynamic) }
-
-  . = ALIGN (0x400);
-  .got : { *(.got.plt) *(.got) }
-
-  . = ALIGN (0x400);
-  .bss : { *(.bss) *(.dynbss) }
-
-  . = ALIGN (0x400);
-  .data : { *(.data) }
-
-  /DISCARD/ : { *(.reginfo) }
-}
diff --git a/ld/testsuite/ld-mips-elf/vxworks1.rd b/ld/testsuite/ld-mips-elf/vxworks1.rd
deleted file mode 100644
index f4793a2..0000000
--- a/ld/testsuite/ld-mips-elf/vxworks1.rd
+++ /dev/null
@@ -1,32 +0,0 @@
-
-Relocation section '\.rela\.dyn' at offset .* contains 1 entries:
- Offset     Info    Type            Sym.Value  Sym. Name \+ Addend
-00081800  .*7e R_MIPS_COPY       00081800   dglobal \+ 0
-
-Relocation section '\.rela\.plt' at offset .* contains 2 entries:
- Offset     Info    Type            Sym\.Value  Sym\. Name \+ Addend
-00081400  .*7f R_MIPS_JUMP_SLOT  00080820   sglobal \+ 0
-00081404  .*7f R_MIPS_JUMP_SLOT  00080840   foo \+ 0
-
-Relocation section '\.rela\.text' at offset .* contains 3 entries:
- Offset     Info    Type            Sym\.Value  Sym\. Name \+ Addend
-00080c00  .*04 R_MIPS_26         00080800   \.plt \+ 40
-00080c08  .*04 R_MIPS_26         00080c18   sexternal \+ 0
-00080c10  .*04 R_MIPS_26         00080800   \.plt \+ 20
-
-Relocation section '\.rela\.data' at offset .* contains 3 entries:
- Offset     Info    Type            Sym.Value  Sym. Name \+ Addend
-00081c00  .*02 R_MIPS_32         00081c00   .data \+ 0
-00081c04  .*02 R_MIPS_32         00081800   .bss \+ 0
-00081c08  .*02 R_MIPS_32         00081c04   dexternal \+ 0
-
-Relocation section '\.rela\.plt\.unloaded' at offset .* contains 8 entries:
- Offset     Info    Type            Sym\.Value  Sym\. Name \+ Addend
-00080800  .*05 R_MIPS_HI16       00081410   _GLOBAL_OFFSET_TABLE_ \+ 0
-00080804  .*06 R_MIPS_LO16       00081410   _GLOBAL_OFFSET_TABLE_ \+ 0
-00081400  .*02 R_MIPS_32         00080800   _PROCEDURE_LINKAGE_TAB.* \+ 18
-00080820  .*05 R_MIPS_HI16       00081410   _GLOBAL_OFFSET_TABLE_ \+ fffffff0
-00080824  .*06 R_MIPS_LO16       00081410   _GLOBAL_OFFSET_TABLE_ \+ fffffff0
-00081404  .*02 R_MIPS_32         00080800   _PROCEDURE_LINKAGE_TAB.* \+ 38
-00080840  .*05 R_MIPS_HI16       00081410   _GLOBAL_OFFSET_TABLE_ \+ fffffff4
-00080844  .*06 R_MIPS_LO16       00081410   _GLOBAL_OFFSET_TABLE_ \+ fffffff4
diff --git a/ld/testsuite/ld-mips-elf/vxworks1.s b/ld/testsuite/ld-mips-elf/vxworks1.s
deleted file mode 100644
index 33a247f..0000000
--- a/ld/testsuite/ld-mips-elf/vxworks1.s
+++ /dev/null
@@ -1,27 +0,0 @@
-	.text
-	.globl	_start
-	.type	_start, @function
-_start:
-	jal	foo
-	jal	sexternal
-	j	sglobal
-	.size	_start, .-_start
-
-	.globl	sexternal
-	.type	sexternal, @function
-sexternal:
-	jr	$31
-	.size	sexternal, .-sexternal
-
-	.data
-	.type	dlocal, @object
-dlocal:
-	.word	dlocal
-	.size	dlocal, .-dlocal
-
-	.globl	dexternal
-	.type	dexternal, @object
-dexternal:
-	.word	dglobal
-	.word	dexternal
-	.size	dexternal, .-dexternal
diff --git a/ld/testsuite/ld-mips-elf/vxworks2-static.sd b/ld/testsuite/ld-mips-elf/vxworks2-static.sd
deleted file mode 100644
index 912755b..0000000
--- a/ld/testsuite/ld-mips-elf/vxworks2-static.sd
+++ /dev/null
@@ -1,9 +0,0 @@
-#...
-Elf file type is EXEC \(Executable file\)
-Entry point 0x80000
-#...
-Program Headers:
-  Type .*
-  LOAD .* 0x00080000 0x00080000 .* R E 0x1000
-
-#...
diff --git a/ld/testsuite/ld-mips-elf/vxworks2.s b/ld/testsuite/ld-mips-elf/vxworks2.s
deleted file mode 100644
index 25f078e..0000000
--- a/ld/testsuite/ld-mips-elf/vxworks2.s
+++ /dev/null
@@ -1,5 +0,0 @@
-	.globl	_start
-	.type	_start, @function
-_start:
-	jr	$31
-	.size	_start, .-_start
diff --git a/ld/testsuite/ld-mips-elf/vxworks2.sd b/ld/testsuite/ld-mips-elf/vxworks2.sd
deleted file mode 100644
index 5ff87d3..0000000
--- a/ld/testsuite/ld-mips-elf/vxworks2.sd
+++ /dev/null
@@ -1,13 +0,0 @@
-#...
-Elf file type is EXEC \(Executable file\)
-Entry point 0x80400
-#...
-Program Headers:
-  Type .*
-  PHDR .*
-#...
-  LOAD .* 0x00080000 0x00080000 .* R E 0x1000
-  LOAD .* 0x00081000 0x00081000 .* RW  0x1000
-  DYNAMIC .*
-
-#...
diff --git a/ld/testsuite/ld-sparc/vxworks1-lib.dd b/ld/testsuite/ld-sparc/vxworks1-lib.dd
deleted file mode 100644
index 49dab7b..0000000
--- a/ld/testsuite/ld-sparc/vxworks1-lib.dd
+++ /dev/null
@@ -1,45 +0,0 @@
-
-.*:     file format .*
-
-Disassembly of section \.plt:
-
-00080800 <_PROCEDURE_LINKAGE_TABLE_>:
-   80800:	c4 05 e0 08 	ld  \[ %l7 \+ 8 \], %g2
-   80804:	81 c0 80 00 	jmp  %g2
-   80808:	01 00 00 00 	nop 
-   8080c:	03 00 00 00 	sethi  %hi\(0\), %g1
-   80810:	82 10 60 0c 	or  %g1, 0xc, %g1	! c <_PROCEDURE_LINKAGE_TABLE_-0x807f4>
-   80814:	c2 05 c0 01 	ld  \[ %l7 \+ %g1 \], %g1
-   80818:	81 c0 40 00 	jmp  %g1
-   8081c:	01 00 00 00 	nop 
-   80820:	03 00 00 00 	sethi  %hi\(0\), %g1
-   80824:	10 bf ff f7 	b  80800 <_PROCEDURE_LINKAGE_TABLE_>
-   80828:	82 10 60 00 	mov  %g1, %g1	! 0 <_PROCEDURE_LINKAGE_TABLE_-0x80800>
-Disassembly of section \.text:
-
-00080c00 <foo>:
-   80c00:	9d e3 bf 98 	save  %sp, -104, %sp
-   80c04:	2f 00 00 00 	sethi  %hi\(0\), %l7
-   80c08:	ee 05 e0 00 	ld  \[ %l7 \], %l7
-   80c0c:	ee 05 e0 00 	ld  \[ %l7 \], %l7
-   80c10:	03 00 00 00 	sethi  %hi\(0\), %g1
-   80c14:	82 10 60 10 	or  %g1, 0x10, %g1	! 10 <_PROCEDURE_LINKAGE_TABLE_-0x807f0>
-   80c18:	c2 05 c0 01 	ld  \[ %l7 \+ %g1 \], %g1
-   80c1c:	c4 00 40 00 	ld  \[ %g1 \], %g2
-   80c20:	84 00 a0 01 	inc  %g2
-   80c24:	40 00 00 08 	call  80c44 <slocal>
-   80c28:	c4 20 40 00 	st  %g2, \[ %g1 \]
-   80c2c:	7f ff fe f8 	call  8080c <_PROCEDURE_LINKAGE_TABLE_\+0xc>
-   80c30:	01 00 00 00 	nop 
-   80c34:	7f ff fe f6 	call  8080c <_PROCEDURE_LINKAGE_TABLE_\+0xc>
-   80c38:	01 00 00 00 	nop 
-   80c3c:	81 c7 e0 08 	ret 
-   80c40:	81 e8 00 00 	restore 
-
-00080c44 <slocal>:
-   80c44:	81 c3 e0 08 	retl 
-   80c48:	01 00 00 00 	nop 
-
-00080c4c <sglobal>:
-   80c4c:	81 c3 e0 08 	retl 
-   80c50:	01 00 00 00 	nop 
diff --git a/ld/testsuite/ld-sparc/vxworks1-lib.nd b/ld/testsuite/ld-sparc/vxworks1-lib.nd
deleted file mode 100644
index cbc1c8c..0000000
--- a/ld/testsuite/ld-sparc/vxworks1-lib.nd
+++ /dev/null
@@ -1,9 +0,0 @@
-#...
-Symbol table '\.dynsym' .*:
-#...
-.*: 00090400 * 0 * OBJECT * GLOBAL * DEFAULT * [0-9]+ _GLOBAL_OFFSET_TABLE_
-#...
-Symbol table '\.symtab' .*:
-#...
-.*: 00090400 * 0 * OBJECT * GLOBAL * DEFAULT * [0-9]+ _GLOBAL_OFFSET_TABLE_
-#pass
diff --git a/ld/testsuite/ld-sparc/vxworks1-lib.rd b/ld/testsuite/ld-sparc/vxworks1-lib.rd
deleted file mode 100644
index 1390e78..0000000
--- a/ld/testsuite/ld-sparc/vxworks1-lib.rd
+++ /dev/null
@@ -1,12 +0,0 @@
-
-Relocation section '\.rela\.plt' at offset .* contains 1 entries:
- Offset     Info    Type            Sym\.Value  Sym\. Name \+ Addend
-0009040c  .*15 R_SPARC_JMP_SLOT  00000000   sexternal \+ 0
-
-Relocation section '\.rela\.dyn' at offset .* contains 5 entries:
- Offset     Info    Type            Sym\.Value  Sym\. Name \+ Addend
-00090c00  00000016 R_SPARC_RELATIVE                             00080c44
-00080c04  .*09 R_SPARC_HI22      00000000   __GOTT_BASE__ \+ 0
-00080c08  .*0c R_SPARC_LO10      00000000   __GOTT_BASE__ \+ 0
-00080c0c  .*0c R_SPARC_LO10      00000000   __GOTT_INDEX__ \+ 0
-00090410  .*14 R_SPARC_GLOB_DAT  00090800   x \+ 0
diff --git a/ld/testsuite/ld-sparc/vxworks1-lib.s b/ld/testsuite/ld-sparc/vxworks1-lib.s
deleted file mode 100644
index e1221a2..0000000
--- a/ld/testsuite/ld-sparc/vxworks1-lib.s
+++ /dev/null
@@ -1,44 +0,0 @@
-	.text
-	.globl	foo
-	.type	foo, %function
-foo:
-	save	%sp, -104, %sp
-	sethi	%hi(__GOTT_BASE__), %l7
-	ld	[%l7+%lo(__GOTT_BASE__)],%l7
-	ld	[%l7+%lo(__GOTT_INDEX__)],%l7
-	sethi	%hi(x), %g1
-	or	%g1, %lo(x), %g1
-	ld	[%l7+%g1], %g1
-	ld	[%g1], %g2
-	add	%g2, 1, %g2
-
-	call	slocal, 0
-	st	%g2, [%g1]
-
-	call	sexternal, 0
-	nop
-
-	call	sexternal, 0
-	nop
-
-	ret
-	restore
-	.size	foo, .-foo
-
-	.type	slocal, %function
-slocal:
-	retl
-	nop
-	.size	slocal, .-slocal
-
-	.globl	sglobal
-	.type	sglobal, %function
-sglobal:
-	retl
-	nop
-	.size	sglobal, .-sglobal
-
-	.data
-	.4byte	slocal
-
-	.comm	x,4,4
diff --git a/ld/testsuite/ld-sparc/vxworks1-static.d b/ld/testsuite/ld-sparc/vxworks1-static.d
deleted file mode 100644
index 88c0baf..0000000
--- a/ld/testsuite/ld-sparc/vxworks1-static.d
+++ /dev/null
@@ -1,4 +0,0 @@
-#name: VxWorks executable test 1 (static)
-#source: vxworks1.s
-#ld: tmpdir/libvxworks1.so -Tvxworks1.ld
-#error: Dynamic sections created in non-dynamic link
diff --git a/ld/testsuite/ld-sparc/vxworks1.dd b/ld/testsuite/ld-sparc/vxworks1.dd
deleted file mode 100644
index 16e72fd..0000000
--- a/ld/testsuite/ld-sparc/vxworks1.dd
+++ /dev/null
@@ -1,52 +0,0 @@
-
-.*:     file format .*
-
-Disassembly of section \.plt:
-
-00080800 <_PROCEDURE_LINKAGE_TABLE_>:
-   80800:	05 00 02 41 	sethi  %hi\(0x90400\), %g2
-			80800: R_SPARC_HI22	_GLOBAL_OFFSET_TABLE_\+0x8
-   80804:	84 10 a0 08 	or  %g2, 8, %g2	! 90408 <_GLOBAL_OFFSET_TABLE_\+0x8>
-			80804: R_SPARC_LO10	_GLOBAL_OFFSET_TABLE_\+0x8
-   80808:	c4 00 80 00 	ld  \[ %g2 \], %g2
-   8080c:	81 c0 80 00 	jmp  %g2
-   80810:	01 00 00 00 	nop 
-   80814:	03 00 02 41 	sethi  %hi\(0x90400\), %g1
-			80814: R_SPARC_HI22	_GLOBAL_OFFSET_TABLE_\+0xc
-   80818:	82 10 60 0c 	or  %g1, 0xc, %g1	! 9040c <sglobal@plt>
-			80818: R_SPARC_LO10	_GLOBAL_OFFSET_TABLE_\+0xc
-   8081c:	c2 00 40 00 	ld  \[ %g1 \], %g1
-   80820:	81 c0 40 00 	jmp  %g1
-   80824:	01 00 00 00 	nop 
-   80828:	03 00 00 00 	sethi  %hi\(0\), %g1
-   8082c:	10 bf ff f5 	b  80800 <_PROCEDURE_LINKAGE_TABLE_>
-   80830:	82 10 60 00 	mov  %g1, %g1	! 0 <_PROCEDURE_LINKAGE_TABLE_-0x80800>
-   80834:	03 00 02 41 	sethi  %hi\(0x90400\), %g1
-			80834: R_SPARC_HI22	_GLOBAL_OFFSET_TABLE_\+0x10
-   80838:	82 10 60 10 	or  %g1, 0x10, %g1	! 90410 <foo@plt>
-			80838: R_SPARC_LO10	_GLOBAL_OFFSET_TABLE_\+0x10
-   8083c:	c2 00 40 00 	ld  \[ %g1 \], %g1
-   80840:	81 c0 40 00 	jmp  %g1
-   80844:	01 00 00 00 	nop 
-   80848:	03 00 00 00 	sethi  %hi\(0\), %g1
-   8084c:	10 bf ff ed 	b  80800 <_PROCEDURE_LINKAGE_TABLE_>
-   80850:	82 10 60 01 	or  %g1, 1, %g1	! 1 <_PROCEDURE_LINKAGE_TABLE_-0x807ff>
-Disassembly of section \.text:
-
-00080c00 <_start>:
-   80c00:	9d e3 bf 98 	save  %sp, -104, %sp
-   80c04:	7f ff ff 0c 	call  80834 <_PROCEDURE_LINKAGE_TABLE_\+0x34>
-			80c04: R_SPARC_WDISP30	\.plt\+0x34
-   80c08:	01 00 00 00 	nop 
-   80c0c:	40 00 00 06 	call  80c24 <sexternal>
-			80c0c: R_SPARC_WDISP30	sexternal
-   80c10:	01 00 00 00 	nop 
-   80c14:	7f ff ff 00 	call  80814 <_PROCEDURE_LINKAGE_TABLE_\+0x14>
-			80c14: R_SPARC_WDISP30	\.plt\+0x14
-   80c18:	01 00 00 00 	nop 
-   80c1c:	81 c7 e0 08 	ret 
-   80c20:	81 e8 00 00 	restore 
-
-00080c24 <sexternal>:
-   80c24:	81 c3 e0 08 	retl 
-   80c28:	01 00 00 00 	nop 
diff --git a/ld/testsuite/ld-sparc/vxworks1.ld b/ld/testsuite/ld-sparc/vxworks1.ld
deleted file mode 100644
index 979d773..0000000
--- a/ld/testsuite/ld-sparc/vxworks1.ld
+++ /dev/null
@@ -1,30 +0,0 @@
-SECTIONS
-{
-  . = 0x80000;
-  .interp : { *(.interp) }
-  .hash : { *(.hash) }
-  .dynsym : { *(.dynsym) }
-  .dynstr : { *(.dynstr) }
-
-  . = ALIGN (0x400);
-  .rela.dyn : { *(.rela.dyn) }
-  .rela.plt : { *(.rela.plt) }
-
-  . = ALIGN (0x400);
-  .plt : { *(.plt) }
-
-  . = ALIGN (0x400);
-  .text : { *(.text) }
-
-  . = ALIGN (0x10000);
-  .dynamic : { *(.dynamic) }
-
-  . = ALIGN (0x400);
-  .got : { *(.got.plt) *(.got) }
-
-  . = ALIGN (0x400);
-  .bss : { *(.bss) }
-
-  . = ALIGN (0x400);
-  .data : { *(.data) }
-}
diff --git a/ld/testsuite/ld-sparc/vxworks1.rd b/ld/testsuite/ld-sparc/vxworks1.rd
deleted file mode 100644
index e02146b..0000000
--- a/ld/testsuite/ld-sparc/vxworks1.rd
+++ /dev/null
@@ -1,22 +0,0 @@
-
-Relocation section '\.rela\.plt' at offset .* contains 2 entries:
- Offset     Info    Type            Sym\.Value  Sym\. Name \+ Addend
-0009040c  .*15 R_SPARC_JMP_SLOT  00080814   sglobal \+ 0
-00090410  .*15 R_SPARC_JMP_SLOT  00080834   foo \+ 0
-
-Relocation section '\.rela\.text' at offset .* contains 3 entries:
- Offset     Info    Type            Sym\.Value  Sym\. Name \+ Addend
-00080c04  .*07 R_SPARC_WDISP30   00080800   \.plt \+ 34
-00080c0c  .*07 R_SPARC_WDISP30   00080c24   sexternal \+ 0
-00080c14  .*07 R_SPARC_WDISP30   00080800   \.plt \+ 14
-
-Relocation section '\.rela\.plt\.unloaded' at offset .* contains 8 entries:
- Offset     Info    Type            Sym\.Value  Sym\. Name \+ Addend
-00080800  .*09 R_SPARC_HI22      00090400   _GLOBAL_OFFSET_TABLE_ \+ 8
-00080804  .*0c R_SPARC_LO10      00090400   _GLOBAL_OFFSET_TABLE_ \+ 8
-00080814  .*09 R_SPARC_HI22      00090400   _GLOBAL_OFFSET_TABLE_ \+ c
-00080818  .*0c R_SPARC_LO10      00090400   _GLOBAL_OFFSET_TABLE_ \+ c
-0009040c  .*03 R_SPARC_32        00080800   _PROCEDURE_LINKAGE_TAB.* \+ 28
-00080834  .*09 R_SPARC_HI22      00090400   _GLOBAL_OFFSET_TABLE_ \+ 10
-00080838  .*0c R_SPARC_LO10      00090400   _GLOBAL_OFFSET_TABLE_ \+ 10
-00090410  .*03 R_SPARC_32        00080800   _PROCEDURE_LINKAGE_TAB.* \+ 48
diff --git a/ld/testsuite/ld-sparc/vxworks1.s b/ld/testsuite/ld-sparc/vxworks1.s
deleted file mode 100644
index 82106c8..0000000
--- a/ld/testsuite/ld-sparc/vxworks1.s
+++ /dev/null
@@ -1,25 +0,0 @@
-	.text
-	.globl	_start
-	.type	_start, %function
-_start:
-	save	%sp, -104, %sp
-
-	call	foo, 0
-	nop
-
-	call	sexternal, 0
-	nop
-
-	call	sglobal, 0
-	nop
-
-	ret
-	restore
-	.size	_start, .-_start
-
-	.globl	sexternal
-	.type	sexternal, %function
-sexternal:
-	retl
-	nop
-	.size	sexternal, .-sexternal
diff --git a/ld/testsuite/ld-sparc/vxworks2-static.sd b/ld/testsuite/ld-sparc/vxworks2-static.sd
deleted file mode 100644
index 55fc529..0000000
--- a/ld/testsuite/ld-sparc/vxworks2-static.sd
+++ /dev/null
@@ -1,9 +0,0 @@
-#...
-Elf file type is EXEC \(Executable file\)
-Entry point 0x80000
-#...
-Program Headers:
-  Type .*
-  LOAD .* 0x00080000 0x00080000 .* R E 0x10000
-
-#...
diff --git a/ld/testsuite/ld-sparc/vxworks2.s b/ld/testsuite/ld-sparc/vxworks2.s
deleted file mode 100644
index 0a883a9..0000000
--- a/ld/testsuite/ld-sparc/vxworks2.s
+++ /dev/null
@@ -1,6 +0,0 @@
-	.globl	_start
-	.type	_start, %function
-_start:
-	retl
-	nop
-	.end	_start
diff --git a/ld/testsuite/ld-sparc/vxworks2.sd b/ld/testsuite/ld-sparc/vxworks2.sd
deleted file mode 100644
index 0876568..0000000
--- a/ld/testsuite/ld-sparc/vxworks2.sd
+++ /dev/null
@@ -1,13 +0,0 @@
-#...
-Elf file type is EXEC \(Executable file\)
-Entry point 0x80400
-#...
-Program Headers:
-  Type .*
-  PHDR .*
-#...
-  LOAD .* 0x00080000 0x00080000 .* R E 0x10000
-  LOAD .* 0x00090000 0x00090000 .* RW  0x10000
-  DYNAMIC .*
-
-#...
