diff --git a/gdb/testsuite/gdb.arch/ftrace-insn-reloc.exp b/gdb/testsuite/gdb.arch/ftrace-insn-reloc.exp
index b7f7653..22ec90f 100644
--- a/gdb/testsuite/gdb.arch/ftrace-insn-reloc.exp
+++ b/gdb/testsuite/gdb.arch/ftrace-insn-reloc.exp
@@ -38,7 +38,7 @@ if ![gdb_target_supports_trace] {
 }
 
 set libipa [get_in_proc_agent]
-gdb_load_shlibs $libipa
+gdb_load_shlib $libipa
 
 # Can't use prepare_for_testing, because that splits compiling into
 # building objects and then linking, and we'd fail with "linker input
diff --git a/gdb/testsuite/gdb.base/catch-load.exp b/gdb/testsuite/gdb.base/catch-load.exp
index 69a9407..5908e32 100644
--- a/gdb/testsuite/gdb.base/catch-load.exp
+++ b/gdb/testsuite/gdb.base/catch-load.exp
@@ -51,7 +51,7 @@ proc one_catch_load_test {scenario kind match sostop} {
 	global decimal gdb_prompt
 
 	clean_restart $testfile
-	gdb_load_shlibs $binfile2
+	gdb_load_shlib $binfile2
 
 	if {![runto_main]} {
 	    fail "can't run to main"
diff --git a/gdb/testsuite/gdb.base/ctxobj.exp b/gdb/testsuite/gdb.base/ctxobj.exp
index a4f5f37..9229ad6 100644
--- a/gdb/testsuite/gdb.base/ctxobj.exp
+++ b/gdb/testsuite/gdb.base/ctxobj.exp
@@ -55,7 +55,8 @@ if { [gdb_compile "${srcdir}/${subdir}/${executable}.c" \
 }
 
 clean_restart $executable
-gdb_load_shlibs $libobj1 $libobj2
+gdb_load_shlib $libobj1
+gdb_load_shlib $libobj2
 
 if ![runto_main] {
     untested "could not run to main"
diff --git a/gdb/testsuite/gdb.base/dprintf-pending.exp b/gdb/testsuite/gdb.base/dprintf-pending.exp
index ed7f5e8..5758c1b 100644
--- a/gdb/testsuite/gdb.base/dprintf-pending.exp
+++ b/gdb/testsuite/gdb.base/dprintf-pending.exp
@@ -63,7 +63,7 @@ with_test_prefix "without symbols" {
 	"single pending dprintf info"
 
     gdb_load ${binfile}
-    gdb_load_shlibs $lib_sl
+    gdb_load_shlib $lib_sl
 
     gdb_run_cmd
 
@@ -71,7 +71,7 @@ with_test_prefix "without symbols" {
 }
 
 clean_restart ${binfile}
-gdb_load_shlibs $lib_sl
+gdb_load_shlib $lib_sl
 
 #
 # Test setting, querying, and modifying pending breakpoints
diff --git a/gdb/testsuite/gdb.base/dso2dso.exp b/gdb/testsuite/gdb.base/dso2dso.exp
index 919eda4..336d46a 100644
--- a/gdb/testsuite/gdb.base/dso2dso.exp
+++ b/gdb/testsuite/gdb.base/dso2dso.exp
@@ -57,7 +57,8 @@ if { [gdb_compile $srcdir/$subdir/$srcfile $binfile executable \
 }
 
 clean_restart $binfile
-gdb_load_shlibs $binfile_libdso2 $binfile_libdso1
+gdb_load_shlib $binfile_libdso2
+gdb_load_shlib $binfile_libdso1
 
 if { ![runto_main] } {
   return -1
diff --git a/gdb/testsuite/gdb.base/fixsection.exp b/gdb/testsuite/gdb.base/fixsection.exp
index 66f585f..07b7bb5 100644
--- a/gdb/testsuite/gdb.base/fixsection.exp
+++ b/gdb/testsuite/gdb.base/fixsection.exp
@@ -44,7 +44,7 @@ gdb_exit
 gdb_start
 gdb_reinitialize_dir $srcdir/$subdir
 gdb_load ${binfile}
-gdb_load_shlibs ${lib_sl}
+gdb_load_shlib ${lib_sl}
 
 if ![runto_main] then {
     fail "Can't run to main"
diff --git a/gdb/testsuite/gdb.base/gcore-relro.exp b/gdb/testsuite/gdb.base/gcore-relro.exp
index 888300f..0467c90 100644
--- a/gdb/testsuite/gdb.base/gcore-relro.exp
+++ b/gdb/testsuite/gdb.base/gcore-relro.exp
@@ -36,7 +36,7 @@ set objfile [standard_output_file ${testfile}.o]
  }
 
 clean_restart ${binfile}
-gdb_load_shlibs ${binfile_lib}
+gdb_load_shlib ${binfile_lib}
 
 if ![runto lib] {
     return -1
@@ -49,7 +49,7 @@ if {![gdb_gcore_cmd $gcorefile "save a corefile"]} {
 # Now restart gdb and load the corefile.
 
 clean_restart ${binfile}
-gdb_load_shlibs ${binfile_lib}
+gdb_load_shlib ${binfile_lib}
 
 gdb_test "core ${gcorefile}" "Core was generated by .*" "re-load generated corefile"
 
diff --git a/gdb/testsuite/gdb.base/gdb1555.exp b/gdb/testsuite/gdb.base/gdb1555.exp
index 2c6fcc6..5d11195 100644
--- a/gdb/testsuite/gdb.base/gdb1555.exp
+++ b/gdb/testsuite/gdb.base/gdb1555.exp
@@ -42,7 +42,7 @@ if { [gdb_compile_shlib $libsrc $libobj {debug}] != ""
 }
 
 clean_restart ${binfile}
-gdb_load_shlibs $libobj
+gdb_load_shlib $libobj
 
 if ![runto_main] then {
     fail "Can't run to main"
diff --git a/gdb/testsuite/gdb.base/global-var-nested-by-dso.exp b/gdb/testsuite/gdb.base/global-var-nested-by-dso.exp
index cf70bb1..c8bdd2b 100644
--- a/gdb/testsuite/gdb.base/global-var-nested-by-dso.exp
+++ b/gdb/testsuite/gdb.base/global-var-nested-by-dso.exp
@@ -45,7 +45,8 @@ if { [gdb_compile $srcdir/$subdir/$srcfile $binfile executable \
 }
 
 clean_restart $binfile
-gdb_load_shlibs $binfile_lib1 $binfile_lib2
+gdb_load_shlib $binfile_lib1
+gdb_load_shlib $binfile_lib2
 
 if { ![runto_main] } {
   return -1
diff --git a/gdb/testsuite/gdb.base/gnu-ifunc.exp b/gdb/testsuite/gdb.base/gnu-ifunc.exp
index 3d4ea37..097e48a9 100644
--- a/gdb/testsuite/gdb.base/gnu-ifunc.exp
+++ b/gdb/testsuite/gdb.base/gnu-ifunc.exp
@@ -59,7 +59,7 @@ if { [gdb_compile_shlib ${srcdir}/${subdir}/$libsrc $lib_so $lib_opts] != ""
 # Start with a fresh gdb.
 
 clean_restart $executable
-gdb_load_shlibs ${lib_so}
+gdb_load_shlib ${lib_so}
 
 if ![runto_main] then {
     fail "Can't run to main"
diff --git a/gdb/testsuite/gdb.base/hbreak-in-shr-unsupported.exp b/gdb/testsuite/gdb.base/hbreak-in-shr-unsupported.exp
index cc3c1fc..03a6b74 100644
--- a/gdb/testsuite/gdb.base/hbreak-in-shr-unsupported.exp
+++ b/gdb/testsuite/gdb.base/hbreak-in-shr-unsupported.exp
@@ -41,7 +41,7 @@ if { [gdb_compile_shlib ${srcdir}/${subdir}/${lib_src} ${lib_so} $lib_opts] != "
 }
 
 clean_restart $binfile
-gdb_load_shlibs $lib_so
+gdb_load_shlib $lib_so
 
 if ![runto_main] then {
     fail "Can't run to main"
diff --git a/gdb/testsuite/gdb.base/jit-so.exp b/gdb/testsuite/gdb.base/jit-so.exp
index 0135473..0db3259 100644
--- a/gdb/testsuite/gdb.base/jit-so.exp
+++ b/gdb/testsuite/gdb.base/jit-so.exp
@@ -68,7 +68,7 @@ proc one_jit_test {count match_str} {
 	global verbose testfile srcfile2 binfile2 binfile2_dlopen solib_binfile_target solib_binfile_test_msg
 
 	clean_restart $testfile
-	gdb_load_shlibs $binfile2
+	gdb_load_shlib $binfile2
 
 	# This is just to help debugging when things fail
 	if {$verbose > 0} {
diff --git a/gdb/testsuite/gdb.base/pending.exp b/gdb/testsuite/gdb.base/pending.exp
index 9685266..935fa14 100644
--- a/gdb/testsuite/gdb.base/pending.exp
+++ b/gdb/testsuite/gdb.base/pending.exp
@@ -62,7 +62,7 @@ gdb_test "info break" \
 "single pending breakpoint info (without symbols)"
 
 gdb_load ${binfile}
-gdb_load_shlibs $lib_sl
+gdb_load_shlib $lib_sl
 
 set pendfunc1_loc [gdb_get_line_number "y = x + 4" ${libfile}.c]
 
@@ -79,7 +79,7 @@ gdb_start
 gdb_reinitialize_dir $srcdir/$subdir
 
 gdb_load ${binfile}
-gdb_load_shlibs $lib_sl
+gdb_load_shlib $lib_sl
 
 #
 # Test setting, querying, and modifying pending breakpoints
diff --git a/gdb/testsuite/gdb.base/print-file-var.exp b/gdb/testsuite/gdb.base/print-file-var.exp
index 112585a..ec28828 100644
--- a/gdb/testsuite/gdb.base/print-file-var.exp
+++ b/gdb/testsuite/gdb.base/print-file-var.exp
@@ -46,7 +46,8 @@ if { [gdb_compile "${srcdir}/${subdir}/${executable}.c" \
 }
 
 clean_restart $executable
-gdb_load_shlibs $libobj1 $libobj2
+gdb_load_shlib $libobj1
+gdb_load_shlib $libobj2
 
 if ![runto_main] {
     untested "could not run to main"
diff --git a/gdb/testsuite/gdb.base/print-symbol-loading.exp b/gdb/testsuite/gdb.base/print-symbol-loading.exp
index 2d0e22a..ac7d67a 100644
--- a/gdb/testsuite/gdb.base/print-symbol-loading.exp
+++ b/gdb/testsuite/gdb.base/print-symbol-loading.exp
@@ -38,7 +38,7 @@ if { [gdb_compile ${objfile} ${binfile} executable $opts] != "" } {
 }
 
 clean_restart ${binfile}
-gdb_load_shlibs ${binfile_lib}
+gdb_load_shlib ${binfile_lib}
 
 if ![runto lib] {
     return -1
diff --git a/gdb/testsuite/gdb.base/shlib-call.exp b/gdb/testsuite/gdb.base/shlib-call.exp
index 81d2e03..80491b7 100644
--- a/gdb/testsuite/gdb.base/shlib-call.exp
+++ b/gdb/testsuite/gdb.base/shlib-call.exp
@@ -57,7 +57,8 @@ if { [gdb_compile_shlib ${lib1src} ${lib1} $lib_opts] != ""
 # Start with a fresh gdb.
 
 clean_restart ${binfile}
-gdb_load_shlibs $lib1 $lib2
+gdb_load_shlib $lib1
+gdb_load_shlib $lib2
 
 gdb_test_no_output "set print sevenbit-strings"
 gdb_test_no_output "set print address off"
diff --git a/gdb/testsuite/gdb.base/shreloc.exp b/gdb/testsuite/gdb.base/shreloc.exp
index 3b1ec24..548568e 100644
--- a/gdb/testsuite/gdb.base/shreloc.exp
+++ b/gdb/testsuite/gdb.base/shreloc.exp
@@ -72,7 +72,8 @@ if { [gdb_compile_shlib $lib1src $lib1_sl $lib_opts] != ""} {
 # Start with a fresh gdb.
 
 clean_restart $binfile
-gdb_load_shlibs $lib1_sl $lib2_sl
+gdb_load_shlib $lib1_sl
+gdb_load_shlib $lib2_sl
 
 # Load up the shared objects
 if ![runto_main] then {
diff --git a/gdb/testsuite/gdb.base/so-impl-ld.exp b/gdb/testsuite/gdb.base/so-impl-ld.exp
index 67d2804..4223d4c 100644
--- a/gdb/testsuite/gdb.base/so-impl-ld.exp
+++ b/gdb/testsuite/gdb.base/so-impl-ld.exp
@@ -40,7 +40,7 @@ if { [gdb_compile_shlib $libsrc $lib_sl $lib_opts] != ""
 # Start with a fresh gdb
 
 clean_restart ${binfile}
-gdb_load_shlibs $lib_sl
+gdb_load_shlib $lib_sl
 
 # This program implicitly loads SOM shared libraries.
 #
diff --git a/gdb/testsuite/gdb.base/solib-disc.exp b/gdb/testsuite/gdb.base/solib-disc.exp
index 2d3e6f4..66cf960 100644
--- a/gdb/testsuite/gdb.base/solib-disc.exp
+++ b/gdb/testsuite/gdb.base/solib-disc.exp
@@ -53,7 +53,7 @@ gdb_exit
 gdb_start
 gdb_reinitialize_dir $srcdir/$subdir
 gdb_load ${binfile}
-gdb_load_shlibs $libobj
+gdb_load_shlib $libobj
 
 if ![runto_main] then {
     fail "Can't run to main"
diff --git a/gdb/testsuite/gdb.base/solib-nodir.exp b/gdb/testsuite/gdb.base/solib-nodir.exp
index 5391ac7..e4f15d0 100644
--- a/gdb/testsuite/gdb.base/solib-nodir.exp
+++ b/gdb/testsuite/gdb.base/solib-nodir.exp
@@ -41,7 +41,7 @@ if { [get_compiler_info]
 }
 
 clean_restart $executable
-gdb_load_shlibs ${binlibfile}
+gdb_load_shlib ${binlibfile}
 
 gdb_test_no_output "set env LD_LIBRARY_PATH=:"
 gdb_test "cd ${binlibfiledir}" "Working directory [string_to_regexp ${binlibfiledir}]\\." "cd OBJDIR/${subdir}"
diff --git a/gdb/testsuite/gdb.base/solib-overlap.exp b/gdb/testsuite/gdb.base/solib-overlap.exp
index e7e084c..40fdd09 100644
--- a/gdb/testsuite/gdb.base/solib-overlap.exp
+++ b/gdb/testsuite/gdb.base/solib-overlap.exp
@@ -99,7 +99,8 @@ foreach prelink_lib1 {0x40000000 0x50000000} { with_test_prefix "$prelink_lib1"
 
     clean_restart ${binfile_base}
     # This testcase currently does not support remote targets.
-    # gdb_load_shlibs ${binfile_lib1} ${binfile_lib2}
+    # gdb_load_shlib ${binfile_lib1}
+    # gdb_load_shlib ${binfile_lib2}
 
     # Here we should get:
     # warning: .dynamic section for ".../solib-overlap-lib1.so" is not at the expected address (wrong library or version mismatch?)
diff --git a/gdb/testsuite/gdb.base/solib-symbol.exp b/gdb/testsuite/gdb.base/solib-symbol.exp
index eabd24c..1ff4b3d 100644
--- a/gdb/testsuite/gdb.base/solib-symbol.exp
+++ b/gdb/testsuite/gdb.base/solib-symbol.exp
@@ -44,7 +44,7 @@ gdb_exit
 gdb_start
 gdb_reinitialize_dir $srcdir/$subdir
 gdb_load ${binfile}
-gdb_load_shlibs $binfile_lib
+gdb_load_shlib $binfile_lib
 
 # Set a breakpoint in the binary.
 gdb_test "br foo2" \
diff --git a/gdb/testsuite/gdb.base/solib-weak.exp b/gdb/testsuite/gdb.base/solib-weak.exp
index 74bc1f3..939df3f 100644
--- a/gdb/testsuite/gdb.base/solib-weak.exp
+++ b/gdb/testsuite/gdb.base/solib-weak.exp
@@ -94,7 +94,8 @@ proc do_test { lib1opts lib2opts lib1first } {
     gdb_start
     gdb_reinitialize_dir $srcdir/$subdir
     gdb_load ${binfile}
-    gdb_load_shlibs $lib1 $lib2
+    gdb_load_shlib $lib1
+    gdb_load_shlib $lib2
 
     runto_main
 
diff --git a/gdb/testsuite/gdb.base/sym-file.exp b/gdb/testsuite/gdb.base/sym-file.exp
index e95eafe..6febac3 100644
--- a/gdb/testsuite/gdb.base/sym-file.exp
+++ b/gdb/testsuite/gdb.base/sym-file.exp
@@ -73,7 +73,7 @@ if {[prepare_for_testing $testfile  $binfile "$srcfile $srcfile2" $exec_opts]} {
     return
 }
 
-gdb_load_shlibs ${lib_so}
+gdb_load_shlib ${lib_so}
 
 if ![runto_main] then {
     fail "Can't run to main"
diff --git a/gdb/testsuite/gdb.base/symtab-search-order.exp b/gdb/testsuite/gdb.base/symtab-search-order.exp
index c60aa35..f8f9036 100644
--- a/gdb/testsuite/gdb.base/symtab-search-order.exp
+++ b/gdb/testsuite/gdb.base/symtab-search-order.exp
@@ -40,7 +40,7 @@ if { [gdb_compile_shlib $lib1src $lib1 $lib_opts] != ""
 # Start with a fresh gdb.
 
 clean_restart $binfile
-gdb_load_shlibs $lib1
+gdb_load_shlib $lib1
 
 if ![runto_main] {
     fail "Can't run to main"
diff --git a/gdb/testsuite/gdb.base/type-opaque.exp b/gdb/testsuite/gdb.base/type-opaque.exp
index 6f42e8f..2b12752 100644
--- a/gdb/testsuite/gdb.base/type-opaque.exp
+++ b/gdb/testsuite/gdb.base/type-opaque.exp
@@ -40,7 +40,7 @@ if { [gdb_compile_shlib $libsrc $libobj {debug}] != ""
 }
 
 clean_restart ${binfile}
-gdb_load_shlibs ${libobj}
+gdb_load_shlib ${libobj}
 
 if ![runto_main] then {
     fail "Can't run to main"
diff --git a/gdb/testsuite/gdb.base/unload.exp b/gdb/testsuite/gdb.base/unload.exp
index 6d4133d..c058d3a 100644
--- a/gdb/testsuite/gdb.base/unload.exp
+++ b/gdb/testsuite/gdb.base/unload.exp
@@ -62,7 +62,8 @@ gdb_exit
 gdb_start
 gdb_reinitialize_dir $srcdir/$subdir
 gdb_load ${binfile}
-gdb_load_shlibs $lib_sl $lib_sl2
+gdb_load_shlib $lib_sl
+gdb_load_shlib $lib_sl2
 
 #
 # Test setting a breakpoint in a dynamically loaded library which is
diff --git a/gdb/testsuite/gdb.base/watchpoint-solib.exp b/gdb/testsuite/gdb.base/watchpoint-solib.exp
index 04faebe..bd50064 100644
--- a/gdb/testsuite/gdb.base/watchpoint-solib.exp
+++ b/gdb/testsuite/gdb.base/watchpoint-solib.exp
@@ -52,7 +52,7 @@ gdb_exit
 gdb_start
 gdb_reinitialize_dir $srcdir/$subdir
 gdb_load ${binfile}
-gdb_load_shlibs $lib_sl
+gdb_load_shlib $lib_sl
 
 runto_main
 
diff --git a/gdb/testsuite/gdb.compile/compile.exp b/gdb/testsuite/gdb.compile/compile.exp
index a8bfc24..f3c1cb9 100644
--- a/gdb/testsuite/gdb.compile/compile.exp
+++ b/gdb/testsuite/gdb.compile/compile.exp
@@ -371,7 +371,7 @@ if { [gdb_compile_shlib ${srcdir}/${subdir}/${srcfile2} $libbin {debug}] != ""
 }
 
 clean_restart $binfile
-gdb_load_shlibs $libbin
+gdb_load_shlib $libbin
 
 if ![runto_main] {
     return -1
diff --git a/gdb/testsuite/gdb.cp/gdb2384.exp b/gdb/testsuite/gdb.cp/gdb2384.exp
index e945e1b..66c6cb1 100644
--- a/gdb/testsuite/gdb.cp/gdb2384.exp
+++ b/gdb/testsuite/gdb.cp/gdb2384.exp
@@ -41,7 +41,7 @@ if { [gdb_compile_shlib $srcdir/$subdir/$srcfile2 $sofile {debug c++}] != ""
 }
 
 clean_restart ${binfile}
-gdb_load_shlibs ${sofile}
+gdb_load_shlib ${sofile}
 
 
 if ![runto_main] then {
diff --git a/gdb/testsuite/gdb.cp/infcall-dlopen.exp b/gdb/testsuite/gdb.cp/infcall-dlopen.exp
index 9ac6131..25ead40 100644
--- a/gdb/testsuite/gdb.cp/infcall-dlopen.exp
+++ b/gdb/testsuite/gdb.cp/infcall-dlopen.exp
@@ -31,7 +31,7 @@ if { [gdb_compile_shlib ${srcdir}/${subdir}/${srcfile2} ${libfile} {debug c++}]
     return -1
 }
 
-gdb_load_shlibs $libfile
+gdb_load_shlib $libfile
 
 if { ![runto_main] } {
     return -1
diff --git a/gdb/testsuite/gdb.cp/re-set-overloaded.exp b/gdb/testsuite/gdb.cp/re-set-overloaded.exp
index 18cb2f3..3d5d607 100644
--- a/gdb/testsuite/gdb.cp/re-set-overloaded.exp
+++ b/gdb/testsuite/gdb.cp/re-set-overloaded.exp
@@ -33,7 +33,7 @@ if { [gdb_compile_shlib $srcdir/$subdir/$srcfile2 $sofile {debug c++}] != ""
 }
 
 clean_restart $testfile
-gdb_load_shlibs ${sofile}
+gdb_load_shlib ${sofile}
 
 gdb_test_no_output "set breakpoint pending yes"
 gdb_test "break C::C" {Breakpoint [0-9]+ \(C::C\) pending\.} "break C::C"
diff --git a/gdb/testsuite/gdb.fortran/library-module.exp b/gdb/testsuite/gdb.fortran/library-module.exp
index ded844a..8a913ed 100644
--- a/gdb/testsuite/gdb.fortran/library-module.exp
+++ b/gdb/testsuite/gdb.fortran/library-module.exp
@@ -39,7 +39,7 @@ if  { [gdb_compile $srcdir/$subdir/$srcfile $binfile executable [list debug f90
 
 clean_restart $testfile
 
-gdb_load_shlibs $libfile
+gdb_load_shlib $libfile
 
 if ![runto MAIN__] then {
     perror "couldn't run to breakpoint MAIN__"
diff --git a/gdb/testsuite/gdb.opt/solib-intra-step.exp b/gdb/testsuite/gdb.opt/solib-intra-step.exp
index 3e0ec85..c8c156f 100644
--- a/gdb/testsuite/gdb.opt/solib-intra-step.exp
+++ b/gdb/testsuite/gdb.opt/solib-intra-step.exp
@@ -41,7 +41,7 @@ if { [gdb_compile_shlib ${srcfile_lib} ${binfile_lib} $lib_flags] != ""
 }
 
 clean_restart ${binfile}
-gdb_load_shlibs $binfile_lib
+gdb_load_shlib $binfile_lib
 
 if ![runto_main] then {
   return 0
diff --git a/gdb/testsuite/gdb.python/py-finish-breakpoint.exp b/gdb/testsuite/gdb.python/py-finish-breakpoint.exp
index 5b4160b..81c7bbd 100644
--- a/gdb/testsuite/gdb.python/py-finish-breakpoint.exp
+++ b/gdb/testsuite/gdb.python/py-finish-breakpoint.exp
@@ -61,7 +61,7 @@ if { [skip_python_tests] } { continue }
 #
 
 clean_restart ${testfile}
-gdb_load_shlibs ${lib_sl}
+gdb_load_shlib ${lib_sl}
 
 if ![runto_main] then {
     fail "Cannot run to main."
@@ -108,7 +108,7 @@ gdb_test "python MyFinishBreakpoint (None, gdb.selected_frame ())" \
 #
 
 clean_restart ${testfile}
-gdb_load_shlibs ${lib_sl}
+gdb_load_shlib ${lib_sl}
 
 gdb_test "source $python_file" "Python script imported.*" \
          "import python scripts"
@@ -135,7 +135,7 @@ gdb_test "python print (finishBP.return_value)" "None" "check return value witho
 #
 
 clean_restart ${testfile}
-gdb_load_shlibs ${lib_sl}
+gdb_load_shlib ${lib_sl}
 
 gdb_test "source $python_file" "Python script imported.*" \
          "import python scripts"
@@ -161,7 +161,7 @@ gdb_test "python print (finishbp.is_valid())" "False.*"\
 #
 
 clean_restart ${testfile}
-gdb_load_shlibs ${lib_sl}
+gdb_load_shlib ${lib_sl}
 
 gdb_test "source $python_file" "Python script imported.*" \
          "import python scripts"
@@ -187,7 +187,7 @@ gdb_test "print i" "8" "check stopped location"
 #
 
 clean_restart ${testfile}
-gdb_load_shlibs ${lib_sl}
+gdb_load_shlib ${lib_sl}
 
 gdb_test "source $python_file" "Python script imported.*" \
          "import python scripts"
@@ -214,7 +214,7 @@ gdb_test "print i" "8" "check stopped location"
 #
 
 clean_restart ${testfile}
-gdb_load_shlibs ${lib_sl}
+gdb_load_shlib ${lib_sl}
 
 gdb_test "source $python_file" "Python script imported.*" \
          "import python scripts"
diff --git a/gdb/testsuite/gdb.python/py-shared.exp b/gdb/testsuite/gdb.python/py-shared.exp
index 16375ed..8673e54 100644
--- a/gdb/testsuite/gdb.python/py-shared.exp
+++ b/gdb/testsuite/gdb.python/py-shared.exp
@@ -41,7 +41,7 @@ if { [gdb_compile ${srcdir}/${subdir}/${srcfile} ${binfile} executable $exec_opt
 
 # Start with a fresh gdb.
 clean_restart $testfile
-gdb_load_shlibs ${library}
+gdb_load_shlib ${library}
 
 # Skip all tests if Python scripting is not enabled.
 if { [skip_python_tests] } { continue }
diff --git a/gdb/testsuite/gdb.reverse/solib-precsave.exp b/gdb/testsuite/gdb.reverse/solib-precsave.exp
index e862818..6ce26eb 100644
--- a/gdb/testsuite/gdb.reverse/solib-precsave.exp
+++ b/gdb/testsuite/gdb.reverse/solib-precsave.exp
@@ -76,8 +76,8 @@ gdb_start
 
 gdb_reinitialize_dir $srcdir/$subdir
 gdb_load ${binfile}
-gdb_load_shlibs $library1
-gdb_load_shlibs $library2
+gdb_load_shlib $library1
+gdb_load_shlib $library2
 
 runto main
 
diff --git a/gdb/testsuite/gdb.reverse/solib-reverse.exp b/gdb/testsuite/gdb.reverse/solib-reverse.exp
index d9a9c7e..a370e94 100644
--- a/gdb/testsuite/gdb.reverse/solib-reverse.exp
+++ b/gdb/testsuite/gdb.reverse/solib-reverse.exp
@@ -68,8 +68,8 @@ gdb_start
 
 gdb_reinitialize_dir $srcdir/$subdir
 gdb_load ${binfile}
-gdb_load_shlibs $library1
-gdb_load_shlibs $library2
+gdb_load_shlib $library1
+gdb_load_shlib $library2
 
 runto main
 
diff --git a/gdb/testsuite/gdb.server/solib-list.exp b/gdb/testsuite/gdb.server/solib-list.exp
index f60dcb8..5347f18 100644
--- a/gdb/testsuite/gdb.server/solib-list.exp
+++ b/gdb/testsuite/gdb.server/solib-list.exp
@@ -48,7 +48,7 @@ foreach nonstop { 0 1 } { with_test_prefix "non-stop $nonstop" {
     gdb_exit
     gdb_start
     gdb_reinitialize_dir $srcdir/$subdir
-    gdb_load_shlibs ${binlibfile}
+    gdb_load_shlib ${binlibfile}
 
     set remote_binfile [gdb_remote_download target $binfile]
 
diff --git a/gdb/testsuite/gdb.threads/dlopen-libpthread.exp b/gdb/testsuite/gdb.threads/dlopen-libpthread.exp
index 206b16a..8ad9acd 100644
--- a/gdb/testsuite/gdb.threads/dlopen-libpthread.exp
+++ b/gdb/testsuite/gdb.threads/dlopen-libpthread.exp
@@ -34,7 +34,7 @@ if {$relink_args == "" || ![prelink_no $relink_args]
     || [prepare_for_testing ${testfile}.exp ${executable} ${srcmainfile} {debug shlib_load}] } {
     return -1
 }
-gdb_load_shlibs $binfile_lib
+gdb_load_shlib $binfile_lib
 
 if { ![runto_main] } {
     return -1
diff --git a/gdb/testsuite/gdb.threads/tls-shared.exp b/gdb/testsuite/gdb.threads/tls-shared.exp
index 6d52ac6..804e28a 100644
--- a/gdb/testsuite/gdb.threads/tls-shared.exp
+++ b/gdb/testsuite/gdb.threads/tls-shared.exp
@@ -36,7 +36,7 @@ if { [gdb_compile_shlib_pthreads ${srcdir}/${subdir}/${srcfile_lib} ${binfile_li
 
 
 clean_restart ${binfile}
-gdb_load_shlibs ${binfile_lib}
+gdb_load_shlib ${binfile_lib}
 
 if ![runto_main] then {
     fail "Can't run to main"
diff --git a/gdb/testsuite/gdb.threads/tls-so_extern.exp b/gdb/testsuite/gdb.threads/tls-so_extern.exp
index 189897a..dde7bcd 100644
--- a/gdb/testsuite/gdb.threads/tls-so_extern.exp
+++ b/gdb/testsuite/gdb.threads/tls-so_extern.exp
@@ -35,7 +35,7 @@ if { [gdb_compile_shlib_pthreads ${srcdir}/${subdir}/${srcfile_lib} ${binfile_li
 
 
 clean_restart ${binfile}
-gdb_load_shlibs ${binfile_lib}
+gdb_load_shlib ${binfile_lib}
 
 if ![runto_main] then {
     fail "Can't run to main"
diff --git a/gdb/testsuite/gdb.trace/change-loc.exp b/gdb/testsuite/gdb.trace/change-loc.exp
index c4e0b4b..9fef3f0 100644
--- a/gdb/testsuite/gdb.trace/change-loc.exp
+++ b/gdb/testsuite/gdb.trace/change-loc.exp
@@ -45,8 +45,8 @@ if { [gdb_compile_shlib $libsrc1 $lib_sl1 $lib_opts] != ""
 
 clean_restart $executable
 
-gdb_load_shlibs $lib_sl1
-gdb_load_shlibs $lib_sl2
+gdb_load_shlib $lib_sl1
+gdb_load_shlib $lib_sl2
 
 if ![runto_main] {
     fail "Can't run to main to check for trace support"
@@ -354,7 +354,7 @@ tracepoint_install_in_trace_disabled "trace"
 
 # Re-compile test case with IPA.
 set libipa [get_in_proc_agent]
-gdb_load_shlibs $libipa
+gdb_load_shlib $libipa
 
 if { [gdb_compile "$srcdir/$subdir/$srcfile" $binfile executable \
 	  [list debug nowarnings shlib=$libipa shlib=$lib_sl1 shlib_load] ] != "" } {
diff --git a/gdb/testsuite/gdb.trace/ftrace-lock.exp b/gdb/testsuite/gdb.trace/ftrace-lock.exp
index 077a261..dc0174b 100644
--- a/gdb/testsuite/gdb.trace/ftrace-lock.exp
+++ b/gdb/testsuite/gdb.trace/ftrace-lock.exp
@@ -48,7 +48,7 @@ if ![gdb_target_supports_trace] {
 
 # Compile the test case with the in-process agent library.
 set libipa [get_in_proc_agent]
-gdb_load_shlibs $libipa
+gdb_load_shlib $libipa
 
 lappend options shlib=$libipa
 
diff --git a/gdb/testsuite/gdb.trace/ftrace.exp b/gdb/testsuite/gdb.trace/ftrace.exp
index 23e7d1e..da1d87c 100644
--- a/gdb/testsuite/gdb.trace/ftrace.exp
+++ b/gdb/testsuite/gdb.trace/ftrace.exp
@@ -38,7 +38,7 @@ if ![gdb_target_supports_trace] {
 }
 
 set libipa [get_in_proc_agent]
-gdb_load_shlibs $libipa
+gdb_load_shlib $libipa
 
 # Can't use prepare_for_testing, because that splits compiling into
 # building objects and then linking, and we'd fail with "linker input
diff --git a/gdb/testsuite/gdb.trace/mi-tracepoint-changed.exp b/gdb/testsuite/gdb.trace/mi-tracepoint-changed.exp
index d27b2c4..a0e49af 100644
--- a/gdb/testsuite/gdb.trace/mi-tracepoint-changed.exp
+++ b/gdb/testsuite/gdb.trace/mi-tracepoint-changed.exp
@@ -63,8 +63,8 @@ proc test_reconnect { } {
 	}
 
 	clean_restart $executable
-	gdb_load_shlibs $lib_sl1
-	gdb_load_shlibs $lib_sl2
+	gdb_load_shlib $lib_sl1
+	gdb_load_shlib $lib_sl2
 	if ![runto_main] then {
 	    fail "Can't run to main"
 	    return 0
@@ -243,8 +243,8 @@ proc test_pending_resolved { } {
 
 clean_restart $executable
 
-gdb_load_shlibs $lib_sl1
-gdb_load_shlibs $lib_sl2
+gdb_load_shlib $lib_sl1
+gdb_load_shlib $lib_sl2
 
 if ![runto_main] {
     fail "Can't run to main to check for trace support"
diff --git a/gdb/testsuite/gdb.trace/pending.exp b/gdb/testsuite/gdb.trace/pending.exp
index 43f4c60..f7905fb 100644
--- a/gdb/testsuite/gdb.trace/pending.exp
+++ b/gdb/testsuite/gdb.trace/pending.exp
@@ -43,8 +43,8 @@ if { [gdb_compile $srcdir/$subdir/$srcfile $binfile executable $exec_opts] != ""
 
 clean_restart $executable
 
-gdb_load_shlibs $lib_sl1
-gdb_load_shlibs $lib_sl2
+gdb_load_shlib $lib_sl1
+gdb_load_shlib $lib_sl2
 
 if ![runto_main] {
     fail "Can't run to main to check for trace support"
@@ -503,7 +503,7 @@ pending_tracepoint_installed_during_trace "trace"
 
 # Re-compile test case with IPA.
 set libipa [get_in_proc_agent]
-gdb_load_shlibs $libipa
+gdb_load_shlib $libipa
 
 lappend exec_opts "shlib=$libipa"
 
diff --git a/gdb/testsuite/gdb.trace/range-stepping.exp b/gdb/testsuite/gdb.trace/range-stepping.exp
index e166c03..b135963 100644
--- a/gdb/testsuite/gdb.trace/range-stepping.exp
+++ b/gdb/testsuite/gdb.trace/range-stepping.exp
@@ -67,7 +67,7 @@ proc range_stepping_with_tracepoint { type } {
 range_stepping_with_tracepoint "trace"
 
 set libipa [get_in_proc_agent]
-gdb_load_shlibs $libipa
+gdb_load_shlib $libipa
 
 if { [gdb_compile "$srcdir/$subdir/$srcfile" $binfile \
 	  executable [list debug nowarnings shlib=$libipa] ] != "" } {
diff --git a/gdb/testsuite/gdb.trace/strace.exp b/gdb/testsuite/gdb.trace/strace.exp
index 06b79a3..6394926 100644
--- a/gdb/testsuite/gdb.trace/strace.exp
+++ b/gdb/testsuite/gdb.trace/strace.exp
@@ -49,7 +49,7 @@ proc strace_remove_socket { action } {
 
     # Restart with a fresh gdb.
     clean_restart $executable
-    gdb_load_shlibs $libipa
+    gdb_load_shlib $libipa
     if ![runto_main] {
 	fail "Can't run to main"
 	return -1
@@ -134,7 +134,7 @@ proc strace_info_marker { } {
 
 	# Restart with a fresh gdb.
 	clean_restart $executable
-	gdb_load_shlibs $libipa
+	gdb_load_shlib $libipa
 	if ![runto_main] {
 	    fail "Can't run to main"
 	    return -1
@@ -171,7 +171,7 @@ proc strace_probe_marker { } {
 
 	# Restart with a fresh gdb.
 	clean_restart $executable
-	gdb_load_shlibs $libipa
+	gdb_load_shlib $libipa
 	if ![runto_main] {
 	    fail "Can't run to main"
 	    return -1
@@ -211,7 +211,7 @@ proc strace_trace_on_same_addr { type } {
 
 	# Restart with a fresh gdb.
 	clean_restart $executable
-	gdb_load_shlibs $libipa
+	gdb_load_shlib $libipa
 	if ![runto_main] {
 	    fail "Can't run to main"
 	    return -1
@@ -315,7 +315,7 @@ proc strace_trace_on_diff_addr { } {
 
 	# Restart with a fresh gdb.
 	clean_restart $executable
-	gdb_load_shlibs $libipa
+	gdb_load_shlib $libipa
 	if ![runto_main] {
 	    fail "Can't run to main"
 	    return -1
@@ -375,7 +375,7 @@ if { [istarget "x86_64-*-linux*"] || [istarget "i\[34567\]86-*-linux*"] } {
 }
 
 clean_restart $executable
-gdb_load_shlibs $libipa
+gdb_load_shlib $libipa
 if ![runto_main] {
     fail "Can't run to main to check for trace support"
     return -1
diff --git a/gdb/testsuite/gdb.trace/trace-break.exp b/gdb/testsuite/gdb.trace/trace-break.exp
index a264822..afa8430 100644
--- a/gdb/testsuite/gdb.trace/trace-break.exp
+++ b/gdb/testsuite/gdb.trace/trace-break.exp
@@ -349,7 +349,7 @@ break_trace_same_addr_6 "trace" "enable" "trace" "disable"
 break_trace_same_addr_6 "trace" "disable" "trace" "enable"
 
 set libipa [get_in_proc_agent]
-gdb_load_shlibs $libipa
+gdb_load_shlib $libipa
 
 # Can't use prepare_for_testing, because that splits compiling into
 # building objects and then linking, and we'd fail with "linker input
diff --git a/gdb/testsuite/gdb.trace/trace-condition.exp b/gdb/testsuite/gdb.trace/trace-condition.exp
index 2c47028..3d55766 100644
--- a/gdb/testsuite/gdb.trace/trace-condition.exp
+++ b/gdb/testsuite/gdb.trace/trace-condition.exp
@@ -38,7 +38,7 @@ if ![gdb_target_supports_trace] {
 }
 
 set libipa [get_in_proc_agent]
-gdb_load_shlibs $libipa
+gdb_load_shlib $libipa
 
 # Can't use prepare_for_testing, because that splits compiling into
 # building objects and then linking, and we'd fail with "linker input
diff --git a/gdb/testsuite/gdb.trace/trace-mt.exp b/gdb/testsuite/gdb.trace/trace-mt.exp
index af4bdfb..634bd85 100644
--- a/gdb/testsuite/gdb.trace/trace-mt.exp
+++ b/gdb/testsuite/gdb.trace/trace-mt.exp
@@ -107,7 +107,7 @@ foreach break_always_inserted { "on" "off" } {
 step_over_tracepoint "trace"
 
 set libipa [get_in_proc_agent]
-gdb_load_shlibs $libipa
+gdb_load_shlib $libipa
 
 # Compile test case again with IPA.
 if { [gdb_compile_pthreads "$srcdir/$subdir/$srcfile" $binfile \
diff --git a/gdb/testsuite/lib/gdb.exp b/gdb/testsuite/lib/gdb.exp
index 1ef6a96..b66bd6e 100644
--- a/gdb/testsuite/lib/gdb.exp
+++ b/gdb/testsuite/lib/gdb.exp
@@ -4221,14 +4221,12 @@ proc gdb_remote_download {dest fromfile {tofile {}}} {
     }
 }
 
-# gdb_load_shlibs LIB...
+# gdb_load_shlib LIB...
 #
 # Copy the listed libraries to the target.
 
-proc gdb_load_shlibs { args } {
-    foreach file $args {
-	gdb_remote_download target [shlib_target_file $file]
-    }
+proc gdb_load_shlib { file } {
+    set dest [gdb_remote_download target [shlib_target_file $file]]
 
     if {[is_remote target]} {
 	# If the target is remote, we need to tell gdb where to find the
@@ -4237,8 +4235,10 @@ proc gdb_load_shlibs { args } {
 	# We could set this even when not testing remotely, but a user
 	# generally won't set it unless necessary.  In order to make the tests
 	# more like the real-life scenarios, we don't set it for local testing.
-	gdb_test "set solib-search-path [file dirname [lindex $args 0]]" "" ""
+	gdb_test "set solib-search-path [file dirname [lindex $file 0]]" "" ""
     }
+
+    return $dest
 }
 
 #
