[gdb/testsuite] Be quiet about missing prelink in solib-overlap.exp
authorTom de Vries <tdevries@suse.de>
Wed, 19 Feb 2020 07:24:44 +0000 (08:24 +0100)
committerTom de Vries <tdevries@suse.de>
Wed, 19 Feb 2020 07:24:44 +0000 (08:24 +0100)
When running gdb.base/solib-overlap.exp, I get:
...
Running src/gdb/testsuite/gdb.base/solib-overlap.exp ...
sh: prelink: command not found

                === gdb Summary ===

nr of untested testcases         1
...

The verbose output on stdout/stderr is due to using system to execute
prelink, which also means that the output is not captured in gdb.log and
gdb.sum.

Fix this by using exec instead of system.

Tested on x86_64-linux, with:
- no prelink installed, and
- a fake prelink installed, using "cp /usr/bin/echo ~/bin/prelink".

gdb/testsuite/ChangeLog:

2020-02-19  Tom de Vries  <tdevries@suse.de>

* gdb.base/solib-overlap.exp: Use exec instead of system to execute
prelink.

gdb/testsuite/ChangeLog
gdb/testsuite/gdb.base/solib-overlap.exp

index 897861766d2041714269d3cfd0fb251a27c2e96f..49b0affaafc81883783b7b3a9997977eecb96960 100644 (file)
@@ -1,3 +1,8 @@
+2020-02-19  Tom de Vries  <tdevries@suse.de>
+
+       * gdb.base/solib-overlap.exp: Use exec instead of system to execute
+       prelink.
+
 2020-02-19  Tom de Vries  <tdevries@suse.de>
 
        * lib/cache.exp (ignore_pass, gdb_do_cache_wrap): New proc.
index 661d6cfa7377c9ede199b27f340bfdc3d033eddf..a7064a13169a05a394c9964a193796d5fb5d30ee 100644 (file)
@@ -74,9 +74,10 @@ foreach prelink_lib1 {0x40000000 0x50000000} { with_test_prefix "$prelink_lib1"
        return -1
     }
 
-    if {[catch "system \"prelink -N -r ${prelink_lib1} ${binfile_lib1}\""] != 0
-       || [catch "system \"prelink -N -r ${prelink_lib2} ${binfile_lib2}\""] != 0} {
+    if {[catch "exec prelink -N -r ${prelink_lib1} ${binfile_lib1}" output] != 0
+       || [catch "exec prelink -N -r ${prelink_lib2} ${binfile_lib2}" output] != 0} {
        # Maybe we don't have prelink.
+       verbose -log "prelink failed: $output"
        untested "could not prelink ${binfile_lib1_test_msg} or ${binfile_lib2_test_msg}."
        return -1
     }