diff --git a/gdb/testsuite/gdb.arch/i386-mpx.c b/gdb/testsuite/gdb.arch/i386-mpx.c index b62a2725269..87c753c399b 100644 --- a/gdb/testsuite/gdb.arch/i386-mpx.c +++ b/gdb/testsuite/gdb.arch/i386-mpx.c @@ -46,6 +46,7 @@ have_mpx (void) else return 0; } + return 0; } int diff --git a/gdb/testsuite/gdb.arch/i386-mpx.exp b/gdb/testsuite/gdb.arch/i386-mpx.exp index 8b50aed3b2b..6835b244301 100644 --- a/gdb/testsuite/gdb.arch/i386-mpx.exp +++ b/gdb/testsuite/gdb.arch/i386-mpx.exp @@ -22,6 +22,11 @@ if { ![istarget i?86-*-*] && ![istarget x86_64-*-* ] } { standard_testfile +if { ![istarget i?86-*-*] && ![istarget x86_64-*-* ] } { + verbose "Skipping x86 MPX tests." + return +} + set comp_flags "-fmpx -I${srcdir}/../nat/" if { [prepare_for_testing ${testfile}.exp ${testfile} ${srcfile} \ @@ -34,23 +39,23 @@ if ![runto_main] { return -1 } -send_gdb "print have_mpx ()\r" -gdb_expect { - -re ".. = 1\r\n$gdb_prompt " { - pass "check whether processor supports MPX" +set supports_mpx 0 +set test "probe MPX support" +gdb_test_multiple "print have_mpx()" $test { + -re ".. = 1\r\n$gdb_prompt $" { + pass $test + set supports_mpx 1 } - -re ".. = 0\r\n$gdb_prompt " { - verbose "processor does not support MPX; skipping MPX tests" - return - } - -re ".*$gdb_prompt $" { - fail "check whether processor supports MPX" - } - timeout { - fail "check whether processor supports MPX (timeout)" + -re ".. = 0\r\n$gdb_prompt $" { + pass $test } } +if { !$supports_mpx } { + unsupported "processor does not support MPX" + return +} + # Test bndcfg register and bndstatus at startup set test_string "\\\{raw = 0x\[0-9a-f\]+, config = \\\{base = \[0-9\]+,\ reserved = \[0-9\]+, preserved = \[0-9\]+, enabled = \[0-9\]+\\\}\\\}"