[gdb/testsuite] Clean up stale exec in gdb_compile_pascal
Commit Message
Hi,
When running a pascal test with the stabs target board:
...
$ test=gdb.pascal/case-insensitive-symbols.exp
$ cd build/gdb/testsuite
$ make check RUNTESTFLAGS="$test --target_board=stabs"
...
we get:
...
nr of untested testcases 1
nr of unsupported tests 1
...
due to:
...
Error: Illegal parameter: -gstabs+^M
Error: /usr/bin/ppcx64 returned an error exitcode^M
...
OTOH, when running the same pascal test without the stabs target board:
...
$ make check RUNTESTFLAGS="$test"
...
we get:
...
nr of expected passes 20
...
But when subsequently again running with the stabs target board:
...
$ make check RUNTESTFLAGS="$test --target_board=stabs"
...
we now get:
...
nr of expected passes 20
...
The problem is that gdb_compile_pascal determines success based on existence
of the exec after compilation:
...
if ![file exists $destfile] {
unsupported "Pascal compilation failed: $result"
return "Pascal compilation failed."
}
...
without removing the exec before compilation, which allows a stale exec to
make it seem as if compilation has succeeded.
Fix this by removing the stale exec before compilation.
OK for trunk?
Thanks,
- Tom
[gdb/testsuite] Clean up stale exec in gdb_compile_pascal
gdb/testsuite/ChangeLog:
2019-08-16 Tom de Vries <tdevries@suse.de>
* lib/pascal.exp (gdb_compile_pascal): Remove $destfile before
compilation.
---
gdb/testsuite/lib/pascal.exp | 2 ++
1 file changed, 2 insertions(+)
Comments
>>>>> "Tom" == Tom de Vries <tdevries@suse.de> writes:
Tom> 2019-08-16 Tom de Vries <tdevries@suse.de>
Tom> * lib/pascal.exp (gdb_compile_pascal): Remove $destfile before
Tom> compilation.
This code is already a little weird, because gpc_compile uses
"remote_exec host", but then the code checks for file existence on the
machine where dejagnu is being run.
However, your patch doesn't make this any worse, so it is ok.
Thanks.
Tom
@@ -153,6 +153,8 @@ proc gdb_compile_pascal {source destfile type options} {
pascal_init
}
+ file delete $destfile
+
if { $pascal_compiler_is_fpc == 1 } {
set result [fpc_compile $source $destfile $type $options]
} elseif { $pascal_compiler_is_gpc == 1 } {