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 210c078..c3fc9c3 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 53d6c50..47d9d38 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
 }