Currently we get:
Running .../src/gdb/testsuite/gdb.base/auxv.exp ...
WARNING: can't generate a core file - core tests suppressed - check ulimit -c
After this commit we get all the same PASSes as when native testing.
The problem is that the testcase wants to create a core dump in a
temporary directory and it is using the "cd" command to start the
inferior with that directory as current directory, but that command
only affects the inferior's cwd when native debugging. Fix it by
using using the new "set cwd" command instead, which works with
gdbserver as well.
This still won't work with stub-like targets, because with those when
we connect the inferior is already running. It'd be possible to make
it work by making the inferior itself change dirs, but we'll need to
make the native-gdbserver board no longer set is_remote first.
gdb/testsuite/ChangeLog:
2017-10-12 Pedro Alves <palves@redhat.com>
* gdb.base/auvx.exp (coredir): Update comment.
(top level) <core_works>: Use "set cwd" command instead of "cd"
command.
+2017-10-12 Pedro Alves <palves@redhat.com>
+
+ * gdb.base/auvx.exp (coredir): Update comment.
+ (top level) <core_works>: Use "set cwd" command instead of "cd"
+ command.
+
2017-10-12 Pedro Alves <palves@redhat.com>
Simon Marchi <simon.marchi@polymtl.ca>
}
# Use a fresh directory to confine the native core dumps.
-# Make it the working directory for gdb and its child.
+# Make it the working directory for the inferior.
set coredir [standard_output_file coredir.[getpid]]
file mkdir $coredir
set core_works [expr [isnative] && ! [is_remote target]]
gdb_test_no_output "set width 0"
if {$core_works} {
- if {[gdb_test "cd $coredir" ".*Working directory .*" \
- "cd to temporary directory for core dumps"]} {
+ if {[gdb_test_no_output "set cwd $coredir" \
+ "set cwd to temporary directory for core dumps"]} {
set core_works 0
}
}