aboutsummaryrefslogtreecommitdiff
path: root/gdb/testsuite/gdb.reverse/until-precsave.exp
diff options
context:
space:
mode:
authorTom de Vries <tdevries@suse.de>2019-10-13 02:40:57 +0200
committerTom de Vries <tdevries@suse.de>2019-10-13 02:40:57 +0200
commitd6e763135663f01349ed4126b80090ea2f37fcf2 (patch)
treeca6ef3f8952a3fc8cfe649de6d91d8e1949ae9ad /gdb/testsuite/gdb.reverse/until-precsave.exp
parentd5082b3251877ecded4cd3766503e51ecb8ef5c8 (diff)
downloadfsf-binutils-gdb-d6e763135663f01349ed4126b80090ea2f37fcf2.zip
fsf-binutils-gdb-d6e763135663f01349ed4126b80090ea2f37fcf2.tar.gz
fsf-binutils-gdb-d6e763135663f01349ed4126b80090ea2f37fcf2.tar.bz2
[gdb/testsuite] Add KFAIL for missing support of reverse-debugging xsave
Normally the gdb.reverse/*.exp test-cases pass on my system (apart from the record/23188 KFAIL for gdb.reverse/step-precsave.exp). But when specifying GLIBC_TUNABLES=glibc.tune.hwcaps=-XSAVEC_Usable to force glibc to use _dl_runtime_resolve_xsave instead of _dl_runtime_resolve_xsavec, we run into 1054 FAILs like this: ... (gdb) PASS: gdb.reverse/sigall-reverse.exp: b gen_HUP continue^M Continuing.^M Process record does not support instruction 0xfae64 at address \ 0x7ffff7ded958.^M Process record: failed to record execution log.^M ^M Program stopped.^M 0x00007ffff7ded958 in _dl_runtime_resolve_xsave () from \ /lib64/ld-linux-x86-64.so.2^M (gdb) FAIL: gdb.reverse/sigall-reverse.exp: get signal ABRT ... The problem is that the xsave instruction is not supported in reverse-debugging (PR record/25038). Add KFAILs for this PR. Tested on x86_64-linux. gdb/testsuite/ChangeLog: 2019-10-13 Tom de Vries <tdevries@suse.de> PR record/25038 * gdb.reverse/sigall-precsave.exp: Add PR record/25038 KFAIL. * gdb.reverse/sigall-reverse.exp: Same. * gdb.reverse/solib-precsave.exp: Same. * gdb.reverse/solib-reverse.exp: Same. * gdb.reverse/step-precsave.exp: Same. * gdb.reverse/until-precsave.exp: Same. * gdb.reverse/until-reverse.exp: Same. * lib/gdb.exp (gdb_continue_to_breakpoint): Same.
Diffstat (limited to 'gdb/testsuite/gdb.reverse/until-precsave.exp')
-rw-r--r--gdb/testsuite/gdb.reverse/until-precsave.exp13
1 files changed, 12 insertions, 1 deletions
diff --git a/gdb/testsuite/gdb.reverse/until-precsave.exp b/gdb/testsuite/gdb.reverse/until-precsave.exp
index baf21ab..1f09df1 100644
--- a/gdb/testsuite/gdb.reverse/until-precsave.exp
+++ b/gdb/testsuite/gdb.reverse/until-precsave.exp
@@ -50,7 +50,18 @@ gdb_test "break $end_of_main" \
# This can take awhile.
with_timeout_factor 20 {
- gdb_test "continue" "Breakpoint .* set breakpoint 10a here .*" "run to end of main"
+ set test "run to end of main"
+ set pass_pattern "Breakpoint .* set breakpoint 10a here .*"
+ set kfail_pattern "Process record does not support instruction 0xfae64 at.*"
+ gdb_test_multiple "continue" $test {
+ -re "\[\r\n\]*(?:$pass_pattern)\[\r\n\]+$gdb_prompt $" {
+ pass $test
+ }
+ -re "\[\r\n\]*(?:$kfail_pattern)\[\r\n\]+$gdb_prompt $" {
+ kfail "gdb/25038" $test
+ return -1
+ }
+ }
}
# So can this, against gdbserver, for example.