[gdb/testsuite] Fix gdb.btrace/tsx.exp on system with tsx disabled in microcode

Recently I started to see this fail with trunk:
...
(gdb) record instruction-history^M
1          0x00000000004004ab <main+4>: call   0x4004b7 <test>^M
2          0x00000000004004c6 <test+15>:        mov    $0x1,%eax^M
3          0x00000000004004cb <test+20>:        ret    ^M
(gdb) FAIL: gdb.btrace/tsx.exp: speculation indication
...

This is due to an intel microcode update (1) that disables Intel TSX by default.

Fix this by updating the pattern.

Tested on x86_64-linux, with both gcc 7.5.0 and clang 12.0.1.

[1] https://www.intel.com/content/www/us/en/support/articles/000059422/processors.html

gdb/testsuite/ChangeLog:

2021-07-12  Tom de Vries  <tdevries@suse.de>

	PR testsuite/28057
	* gdb.btrace/tsx.exp: Add pattern for system with tsx disabled in
	microcode.
This commit is contained in:
Tom de Vries
2021-07-12 17:24:59 +02:00
parent 0200b0feb8
commit 16e7bd3b25

View File

@ -59,6 +59,11 @@ set abort_2 [multi_line \
"\[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_3 \
[multi_line \
"$decimal\t $hex <main\\+$decimal>:\t\[^\\\r\\\n\]*" \
"$decimal\t $hex <test\\+$decimal>:\tmov\[^\\\r\\\n\]*" \
"$decimal\t $hex <test\\+$decimal>:\tret\[^\\\r\\\n\]*"]
set test "speculation indication"
gdb_test_multiple "record instruction-history" $test {
@ -68,6 +73,9 @@ gdb_test_multiple "record instruction-history" $test {
-re "$abort_2.*$gdb_prompt $" {
pass $test
}
-re -wrap "$abort_3.*" {
pass $gdb_test_name
}
-re "$begin_to_end.*$gdb_prompt $" {
pass $test
}