aboutsummaryrefslogtreecommitdiff
path: root/gdb/testsuite/lib
diff options
context:
space:
mode:
authorSimon Marchi <simon.marchi@ericsson.com>2016-04-27 18:07:44 -0400
committerSimon Marchi <simon.marchi@ericsson.com>2016-04-27 18:09:14 -0400
commitfca4cfd9ec8f28d0883cb8bbd55b82aa3418576b (patch)
tree9308e2744e86286fb206d263c763d78fe7d1f55a /gdb/testsuite/lib
parent57809e5e5a506664eb54433ded81ab0785168a83 (diff)
downloadgdb-fca4cfd9ec8f28d0883cb8bbd55b82aa3418576b.zip
gdb-fca4cfd9ec8f28d0883cb8bbd55b82aa3418576b.tar.gz
gdb-fca4cfd9ec8f28d0883cb8bbd55b82aa3418576b.tar.bz2
Make gdb_load_shlibs return the destination path of the library
This patch makes gdb_load_shlibs return the destination path of the copied library. To make the procedure implementation and interface more straightforward, it also changes it so that it accepts a single shared library path at the time. Therefore, calls that are passed multiple libraries: gdb_load_shlibs $lib1 $lib2 must be changed to separate calls: gdb_load_shlibs $lib1 gdb_load_shlibs $lib2 A subtle impact is the solib-search-path handling. In the former version, solib-search-path is set using the directory of the first passed lib (further calls overwrite the value). In the later version, the directory of the library passed to the last call to gdb_load_shlibs remnains. I don't think that's a problem in practice, since if we had tests that needed multiple different paths in solib-search-path, they wouldn't work in the first place. Changed in v2: * Split behavioural and rename changes in two separate patches. gdb/testsuite/ChangeLog: * lib/gdb.exp (gdb_load_shlibs): Accept a single argument. Return result of gdb_remote_download. * gdb.base/ctxobj.exp: Split gdb_load_shlibs call. * gdb.base/dso2dso.exp: Likewise. * gdb.base/global-var-nested-by-dso.exp: Likewise. * gdb.base/print-file-var.exp: Likewise. * gdb.base/shlib-call.exp: Likewise. * gdb.base/shreloc.exp: Likewise. * gdb.base/solib-overlap.exp: Likewise. * gdb.base/solib-weak.exp (do_test): Likewise. * gdb.base/unload.exp: Likewise.
Diffstat (limited to 'gdb/testsuite/lib')
-rw-r--r--gdb/testsuite/lib/gdb.exp12
1 files changed, 6 insertions, 6 deletions
diff --git a/gdb/testsuite/lib/gdb.exp b/gdb/testsuite/lib/gdb.exp
index 8b0241d..441107b 100644
--- a/gdb/testsuite/lib/gdb.exp
+++ b/gdb/testsuite/lib/gdb.exp
@@ -4231,12 +4231,10 @@ proc gdb_remote_download {dest fromfile {tofile {}}} {
# gdb_load_shlibs LIB...
#
-# Copy the listed libraries to the target.
+# Copy the listed library to the target.
-proc gdb_load_shlibs { args } {
- foreach file $args {
- gdb_remote_download target [shlib_target_file $file]
- }
+proc gdb_load_shlibs { 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
@@ -4245,8 +4243,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 $file]" "" ""
}
+
+ return $dest
}
#