Make gdb_load_shlibs return the destination path of the library
authorSimon Marchi <simon.marchi@ericsson.com>
Wed, 27 Apr 2016 22:07:44 +0000 (18:07 -0400)
committerSimon Marchi <simon.marchi@ericsson.com>
Wed, 27 Apr 2016 22:09:14 +0000 (18:09 -0400)
commitfca4cfd9ec8f28d0883cb8bbd55b82aa3418576b
tree9308e2744e86286fb206d263c763d78fe7d1f55a
parent57809e5e5a506664eb54433ded81ab0785168a83
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.
gdb/testsuite/ChangeLog
gdb/testsuite/gdb.base/ctxobj.exp
gdb/testsuite/gdb.base/dso2dso.exp
gdb/testsuite/gdb.base/global-var-nested-by-dso.exp
gdb/testsuite/gdb.base/print-file-var.exp
gdb/testsuite/gdb.base/shlib-call.exp
gdb/testsuite/gdb.base/shreloc.exp
gdb/testsuite/gdb.base/solib-overlap.exp
gdb/testsuite/gdb.base/solib-weak.exp
gdb/testsuite/gdb.base/unload.exp
gdb/testsuite/lib/gdb.exp