diff --git a/gdb/testsuite/ChangeLog b/gdb/testsuite/ChangeLog
index 5a837eeb966..eaf99193367 100644
--- a/gdb/testsuite/ChangeLog
+++ b/gdb/testsuite/ChangeLog
@@ -1,3 +1,16 @@
+Wed Aug 11 19:47:27 1993  John Gilmore  (gnu@rtl.cygnus.com)
+
+	* lib/gdb.exp (gdb_exit):  Move the best version of gdb_exit
+	to here.
+	* config/{mips-gdb.exp, nind-gdb.exp, udi-gdb.exp, vx-gdb.exp}:
+	Remove various versions of gdb_exit.
+	* config/vx-gdb.exp:  Remove quit_vxgdb, change a caller to call
+	gdb_exit.
+	* config/unix-gdb.exp:  gdb_exit remains here, and should override
+	the generic version, since it's doing a lot of wierd stuff that
+	the other versions aren't.  FIXME, fold it in, or abandon this
+	version.
+
 Wed Aug 11 12:09:32 1993  Jim Kingdon  (kingdon@lioth.cygnus.com)
 
 	* gdb.t24/demangle.exp: Add tests for PR 3220.
diff --git a/gdb/testsuite/config/mips-gdb.exp b/gdb/testsuite/config/mips-gdb.exp
index c77fb22c349..c15dfb2514e 100644
--- a/gdb/testsuite/config/mips-gdb.exp
+++ b/gdb/testsuite/config/mips-gdb.exp
@@ -106,39 +106,6 @@ proc gdb_load { arg } {
     return 0
 }
 
-#
-# gdb_exit -- exit the GDB
-#
-proc gdb_exit {} {
-    global GDB
-    global GDBFLAGS
-    global verbose
-
-    set timeout 5
-    send "quit\n"
-    expect {
-	eof { 
-	    if $verbose>1 then {
-		send_user "Got EOF from $GDB\n"
-	    }
-	}
-	timeout { 
-	    if $verbose>1 then {
-		send_user "Got TIMEOUT from $GDB\n"
-	    }
-	}
-	-re "The program is running.  Quit anyway.*? (y or n) $" {
-	    send "y\n"
-	    if $verbose>1 then {
-		send_user "\t\tKilling program being debugged\n"
-	    }
-	}
-    }
-    if $verbose>1 then {
-	send_user "Quitting $GDB $GDBFLAGS\n"
-    }
-}
-
 #
 # gdb_start -- start GDB running.
 #
diff --git a/gdb/testsuite/config/nind-gdb.exp b/gdb/testsuite/config/nind-gdb.exp
index 3f561ab0b42..a418dcfc755 100644
--- a/gdb/testsuite/config/nind-gdb.exp
+++ b/gdb/testsuite/config/nind-gdb.exp
@@ -52,37 +52,6 @@ proc gdb_load { arg } {
     send_user "Not implememted yet\n" ; return -1
 }
 
-#
-# gdb_exit -- exit the debugger
-#
-proc gdb_exit {} {
-    global GDB
-    global GDBFLAGS
-    global verbose
-    send "quit\n"
-    expect {
-	eof                 { 
-	    if $verbose>1 then {
-		send_user "Got EOF from $GDB\n"
-	    }
-	}
-	timeout             { 
-	    if $verbose>1 then {
-		send_user "Got TIMEOUT from $GDB\n"
-	    }
-	}
-	-re "The program is running.  Quit anyway.*? (y or n) $"\
-	    { send "y\n"
-		if $verbose>1 then {
-		    send_user "\t\tKilling program being debugged\n"
-		}
-	    }
-    }
-    if $verbose>1 then {
-	send_user "Quitting $GDB $GDBFLAGS\n"
-    }
-}
-
 #
 # gdb_start -- start GDB running
 #
diff --git a/gdb/testsuite/config/udi-gdb.exp b/gdb/testsuite/config/udi-gdb.exp
index c12c3aac05a..a59ff43cc23 100644
--- a/gdb/testsuite/config/udi-gdb.exp
+++ b/gdb/testsuite/config/udi-gdb.exp
@@ -1,6 +1,6 @@
-# Test Framework Driver
-#   Copyright (C) 1988, 1990, 1991, 1992 Free Software Foundation, Inc.
-
+# Test Framework Driver for GDB driving Universal Debug Interface on 29K
+#   Copyright 1988, 1990, 1991, 1992, 1993 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 2 of the License, or
@@ -86,39 +86,6 @@ proc gdb_load { arg } {
     return 0
 }
 
-#
-# gdb_exit -- exit the GDB
-#
-proc gdb_exit {} {
-    global GDB
-    global GDBFLAGS
-    global verbose
-
-    set timeout 5
-    send "quit\n"
-    expect {
-	eof                 { 
-	    if $verbose>1 then {
-		send_user "Got EOF from $GDB\n"
-	    }
-	}
-	timeout             { 
-	    if $verbose>1 then {
-		send_user "Got TIMEOUT from $GDB\n"
-	    }
-	}
-	-re "The program is running.  Quit anyway.*? (y or n) $"\
-	    { send "y\n"
-		if $verbose>1 then {
-		    send_user "\t\tKilling program being debugged\n"
-		}
-	    }
-    }
-    if $verbose>1 then {
-	send_user "Quitting $GDB $GDBFLAGS\n"
-    }
-}
-
 #
 # gdb_target_udi
 # Set gdb to the desired UDI target
diff --git a/gdb/testsuite/config/vx-gdb.exp b/gdb/testsuite/config/vx-gdb.exp
index 7dec9f8c78e..0a7155a0b80 100644
--- a/gdb/testsuite/config/vx-gdb.exp
+++ b/gdb/testsuite/config/vx-gdb.exp
@@ -56,7 +56,7 @@ proc gdb_load { arg } {
     global base_dir
     global prompt
     global GDB
-    quit_vxgdb
+    gdb_exit
     spawn_vxgdb
     set loadfile [file tail $arg]
     set loadpath [file dirname $arg]
@@ -111,38 +111,6 @@ proc gdb_load { arg } {
     set timeout 10
 }
 
-#
-# 
-#
-proc gdb_exit {} {
-    global shell_id
-
-#    exit_remote_shell $shell_id
-    catch quit_vxgdb
-}
-
-proc quit_vxgdb { } {
-    global GDB
-    global GDBFLAGS
-    global verbose
-
-    set timeout 1
-    send "quit\n"
-    expect {
-	eof                 { 
-	    verbose "Got EOF from $GDB" 2
-	    }
-	timeout             { 
-	    verbose "Got TIMEOUT from $GDB" 2
-	}
-	-re "The program is running.  Quit anyway.*(y or n) $" {
-	    send "y\n"
-	    verbose "Killing program being debugged" 1
-	    }
-    }
-    verbose "Quitting $GDB $GDBFLAGS" 1
-}
-
 #
 # gdb_start -- start gdb running and 
 #