S390: Use soft float in s390-tdbregs test case
authorAndreas Arnez <arnez@linux.vnet.ibm.com>
Thu, 18 Jan 2018 18:41:16 +0000 (19:41 +0100)
committerAndreas Arnez <arnez@linux.vnet.ibm.com>
Thu, 18 Jan 2018 18:41:16 +0000 (19:41 +0100)
The GDB test case s390-tdbregs.exp verifies GDB's handling of the
"transaction diagnostic block".  For simplicity, the test case uses the
"transaction begin" (TBEGIN) instruction with the "allow floating-point
operation" flag set to zero.  But some GCC versions may indeed emit
floating point or vector instructions for this test case.  If this happens
in the transaction, it aborts, and an endless loop results.

This change tells the compiler to produce a soft-float binary, so no
floating-point or vector registers are touched.

gdb/testsuite/ChangeLog:

* gdb.arch/s390-tdbregs.exp: Add the compile option -msoft-float.

gdb/testsuite/ChangeLog
gdb/testsuite/gdb.arch/s390-tdbregs.exp

index 210c07839c3f0ec3c5b4837a69903fba2e389320..c3fc9c3efec15b50d38601fee55e86debec772c6 100644 (file)
@@ -1,3 +1,7 @@
+2018-01-18  Andreas Arnez  <arnez@linux.vnet.ibm.com>
+
+       * gdb.arch/s390-tdbregs.exp: Add the compile option -msoft-float.
+
 2018-01-17  Mike Gulick  <mgulick@mathworks.com>
 
        PR gdb/16577
index 53d6c50a25fe32fcbcefaed750eb830081bba362..47d9d380cac13fc33723835fd2a100344a504a37 100644 (file)
@@ -26,7 +26,10 @@ if { ![istarget s390-*-*] && ![istarget s390x-*-* ] } {
 
 standard_testfile .c
 
-if { [prepare_for_testing "failed to prepare" $testfile $srcfile] } {
+# Use soft float, so the compiler doesn't use floating-point or vector
+# instructions.
+if { [prepare_for_testing "failed to prepare" $testfile $srcfile \
+         [list "debug" "additional_flags=-msoft-float"]] } {
     return -1
 }