btrace, testsuite: fix spurious gdb.btrace/tsx.exp fails
[external/binutils.git] / gdb / testsuite / gdb.btrace / tsx.exp
index 525d4d2..284f89c 100644 (file)
@@ -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\]+ <test\\+\[0-9\]+>:\txbegin\[^\\\r\\\n\]*" \
-  "\[0-9\]*\t\\?  0x\[0-9a-f\]+ <test\\+\[0-9\]+>:\tmov\[^\\\r\\\n\]*" \
-  "\[0-9\]*\t   0x\[0-9a-f\]+ <test\\+\[0-9\]+>:\txend\[^\\\r\\\n\]*" \
-  ".*" \
-  ]
+set begin_to_end [multi_line \
+    ".*" \
+    "\[0-9\]*\t\\?  0x\[0-9a-f\]+ <test\\+\[0-9\]+>:\txbegin\[^\\\r\\\n\]*" \
+    "\[0-9\]*\t\\?  0x\[0-9a-f\]+ <test\\+\[0-9\]+>:\tmov\[^\\\r\\\n\]*" \
+    "\[0-9\]*\t   0x\[0-9a-f\]+ <test\\+\[0-9\]+>:\txend\[^\\\r\\\n\]*" \
+    ]
+set abort_1 [multi_line \
+    ".*" \
+    "\[0-9\]*\t\\?  0x\[0-9a-f\]+ <test\\+\[0-9\]+>:\txbegin\[^\\\r\\\n\]*" \
+    "\[0-9\]*\t   0x\[0-9a-f\]+ <test\\+\[0-9\]+>:\tmov\[^\\\r\\\n\]*" \
+    "\[0-9\]*\t   0x\[0-9a-f\]+ <test\\+\[0-9\]+>:\tret\[^\\\r\\\n\]*" \
+    ]
+set abort_2 [multi_line \
+    ".*" \
+    "\[0-9\]*\t\\?  0x\[0-9a-f\]+ <test\\+\[0-9\]+>:\txbegin\[^\\\r\\\n\]*" \
+    "\[0-9\]*\t\\?  0x\[0-9a-f\]+ <test\\+\[0-9\]+>:\tmov\[^\\\r\\\n\]*" \
+    "\[0-9\]*\t   0x\[0-9a-f\]+ <test\\+\[0-9\]+>:\tmov\[^\\\r\\\n\]*" \
+    "\[0-9\]*\t   0x\[0-9a-f\]+ <test\\+\[0-9\]+>:\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
+    }
+}