diff --git a/binutils/testsuite/ChangeLog b/binutils/testsuite/ChangeLog
index 41b6533da92..1b0c9a2f332 100644
--- a/binutils/testsuite/ChangeLog
+++ b/binutils/testsuite/ChangeLog
@@ -1,3 +1,7 @@
+2001-03-30  H.J. Lu  <hjl@gnu.org>
+
+	* binutils-all/readelf.exp: Run on more ELF targets.
+
 2001-02-11  H.J. Lu  <hjl@gnu.org>
 
 	* config/default.exp: Set up gcc_gas_flag.
diff --git a/binutils/testsuite/binutils-all/readelf.exp b/binutils/testsuite/binutils-all/readelf.exp
index 1123df4cb45..bd00da02c7d 100644
--- a/binutils/testsuite/binutils-all/readelf.exp
+++ b/binutils/testsuite/binutils-all/readelf.exp
@@ -218,7 +218,20 @@ proc readelf_test { options binary_file regexp_file xfails } {
 # For now be paranoid and assume that if ELF is not mentioned
 # in the target string, then the target is not an ELF based port.
 
-if ![istarget "*-*elf"] then {
+if { ![istarget *-*-elf*] \
+     && ![istarget *-*-linux*] \
+     && ![istarget i?86-*-sysv4*] \
+     && ![istarget i?86-*-unixware] \
+     && ![istarget mips*-*-irix5*] \
+     && ![istarget mips*-*-irix6*] \
+     && ![istarget powerpc-*-sysv4*] \
+     && ![istarget sparc*-*-solaris2*] } {
+    verbose "$READELF is only intended for ELF targets" 2
+    return
+}
+
+if { [istarget *-*-linuxoldld*] \
+     || [istarget *-*-linuxaout*] } {
     verbose "$READELF is only intended for ELF targets" 2
     return
 }
@@ -270,4 +283,4 @@ if [is_remote host] {
 # The xfail targets here do not default to DWARF2 format debug information
 # The symptom is that the output of 'readelf -wi' is empty.
 
-readelf_test -wi $tempfile readelf.wi {v850*-*-* cris-*-*}
+readelf_test -wi $tempfile readelf.wi {v850*-*-* cris-*-* *-*-linux*}