From 77ba2a67960d05991a3e3641049cac649ca04c96 Mon Sep 17 00:00:00 2001 From: Markus Metzger Date: Mon, 24 Aug 2015 11:37:53 +0200 Subject: [PATCH] btrace, testsuite: fix spurious gdb.btrace/tsx.exp fails If the atomic section in x86-tsx.S is aborted, the tsx.exp test will fail even if the traced output is actually correct. Consider abort scenarios in the test. testsuite/ * gdb.btrace/tsx.exp: Consider multiple correct outputs in the record instruction-history test. --- gdb/testsuite/ChangeLog | 5 +++++ gdb/testsuite/gdb.btrace/tsx.exp | 39 ++++++++++++++++++++++++++++++++------- 2 files changed, 37 insertions(+), 7 deletions(-) diff --git a/gdb/testsuite/ChangeLog b/gdb/testsuite/ChangeLog index 344e633..d530c25 100644 --- a/gdb/testsuite/ChangeLog +++ b/gdb/testsuite/ChangeLog @@ -1,3 +1,8 @@ +2015-09-30 Markus Metzger + + * gdb.btrace/tsx.exp: Consider multiple correct outputs in the record + instruction-history test. + 2015-09-28 Doug Evans * gdb.base/gcore.c (array_func): Add reference to static_array. diff --git a/gdb/testsuite/gdb.btrace/tsx.exp b/gdb/testsuite/gdb.btrace/tsx.exp index 525d4d2..284f89c 100644 --- a/gdb/testsuite/gdb.btrace/tsx.exp +++ b/gdb/testsuite/gdb.btrace/tsx.exp @@ -32,10 +32,35 @@ gdb_test_no_output "record btrace pt" gdb_test "next" # look at the instruction trace -gdb_test "record instruction-history" [multi_line \ - ".*" \ - "\[0-9\]*\t\\? 0x\[0-9a-f\]+ :\txbegin\[^\\\r\\\n\]*" \ - "\[0-9\]*\t\\? 0x\[0-9a-f\]+ :\tmov\[^\\\r\\\n\]*" \ - "\[0-9\]*\t 0x\[0-9a-f\]+ :\txend\[^\\\r\\\n\]*" \ - ".*" \ - ] +set begin_to_end [multi_line \ + ".*" \ + "\[0-9\]*\t\\? 0x\[0-9a-f\]+ :\txbegin\[^\\\r\\\n\]*" \ + "\[0-9\]*\t\\? 0x\[0-9a-f\]+ :\tmov\[^\\\r\\\n\]*" \ + "\[0-9\]*\t 0x\[0-9a-f\]+ :\txend\[^\\\r\\\n\]*" \ + ] +set abort_1 [multi_line \ + ".*" \ + "\[0-9\]*\t\\? 0x\[0-9a-f\]+ :\txbegin\[^\\\r\\\n\]*" \ + "\[0-9\]*\t 0x\[0-9a-f\]+ :\tmov\[^\\\r\\\n\]*" \ + "\[0-9\]*\t 0x\[0-9a-f\]+ :\tret\[^\\\r\\\n\]*" \ + ] +set abort_2 [multi_line \ + ".*" \ + "\[0-9\]*\t\\? 0x\[0-9a-f\]+ :\txbegin\[^\\\r\\\n\]*" \ + "\[0-9\]*\t\\? 0x\[0-9a-f\]+ :\tmov\[^\\\r\\\n\]*" \ + "\[0-9\]*\t 0x\[0-9a-f\]+ :\tmov\[^\\\r\\\n\]*" \ + "\[0-9\]*\t 0x\[0-9a-f\]+ :\tret\[^\\\r\\\n\]*" \ + ] + +set test "speculation indication" +gdb_test_multiple "record instruction-history" $test { + -re "$abort_1.*$gdb_prompt $" { + pass $test + } + -re "$abort_2.*$gdb_prompt $" { + pass $test + } + -re "$begin_to_end.*$gdb_prompt $" { + pass $test + } +} -- 2.7.4