Fix more bugs in gdb testglue wrapper handling
authorSandra Loosemore <sandra@codesourcery.com>
Thu, 23 Jul 2020 03:42:20 +0000 (20:42 -0700)
committerSandra Loosemore <sandra@codesourcery.com>
Thu, 23 Jul 2020 03:42:20 +0000 (20:42 -0700)
commit25dfed247b09f2e5c9672a8737c8208ff90928bf
tree6a9ac26c92d0c436b19dd150ae328ee7f3033427
parent25322a133a8e97ff66fcd1c9da55836766f14fe9
Fix more bugs in gdb testglue wrapper handling

In commit 24ac169ac5a918cd82b7485935f0c40a094c625e, this patch:

2020-02-21  Shahab Vahedi  <shahab@synopsys.com>

* lib/gdb.exp (gdb_wrapper_init): Reset
"gdb_wrapper_initialized" to 0 if "wrapper_file" does
not exist.

attempted to fix problems finding the gdb test wrapper gdb_tg.o in
some tests that cd to some non-default directory by rebuilding also
the test wrapper in that directory.  This had the side-effect of
leaving these .o files in various places in the GDB source directory
tree.

Furthermore, while the tests that cd to some non-default directory
cannot run on remote host, the code that was added to probe for the
presence of the wrapper file was also specific to host == build.

This patch reverts the problematic parts of that commit and replaces
it with forcing use of an absolute (rather than relative) pathname to
the .o file for linking when host == build.

While debugging this patch, I also observed that use of the construct
"[info exists gdb_wrapper_file]" was not reliable for detecting when
that variable had been initialized by gdb_wrapper_init.  I rewrote
that so that the variable is always initialized and has a value of an
empty string when no wrapper file is needed.

2020-07-22  Sandra Loosemore  <sandra@codesourcery.com>

gdb/testsuite/
* lib/gdb.exp (gdb_wrapper_file, gdb_wrapper_flags):
Initialize to empty string at top level.
(gdb_wrapper_init): Revert check for file existence on build.
Build the wrapper in its default place, not a build-specific
location.  When host == build, make the pathname absolute.
(gdb_compile): Delete leftover declaration of
gdb_wrapper_initialized.  Check gdb_wrapper_file being an empty
string instead of uninitialized.
gdb/testsuite/ChangeLog
gdb/testsuite/lib/gdb.exp