[pushed] S390: Use soft float in s390-tdbregs test case

Pedro Alves palves@redhat.com
Thu Jan 18 20:09:00 GMT 2018


On 01/18/2018 06:46 PM, Andreas Arnez wrote:
> 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.

I found the rationale above quite instructive.  How about
putting it in the exp file directly?

>  
> -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

I mean, the comment here alone as is doesn't explain why we'd rather
the compiler not use float-point/vector insns, which I think is a
question people reading the testcase will tend to ask themselves,
and the answer isn't obvious.  At least to me.

Thanks,
Pedro Alves



More information about the Gdb-patches mailing list