On 02/08/13 16:36, Peter Bergner wrote: > On Fri, 2013-08-02 at 16:26 +0200, Andreas Krebbel wrote: >> On 02/08/13 16:23, Peter Bergner wrote: >> As long as libitm does not use FPRs itself this should be safe without >> having tbegin clobbering FPRs. > > Is it a given that s390 doesn't use FPRs without explicit use of > floating point types? I ask, because on POWER, we can and do > generate floating point code without explicit use of double, > float, etc. Maybe s390 is safe in that respect.
S/390 used to be on the safe side regarding this but with mainline we started using FPRs as GPR save slots. As Richard suggested we should build libitm with -msoft-float in order to prevent this within libitm. Unfortunately I forgot about this in my S/390 libitm patch. So I'll commit the following: Index: libitm/configure.tgt =================================================================== *** libitm/configure.tgt.orig 2013-07-30 07:42:29.000000000 +0000 --- libitm/configure.tgt 2013-08-02 14:43:18.641206151 +0000 *************** case "${target_cpu}" in *** 109,115 **** ARCH=x86 ;; s390|s390x) ! XCFLAGS="${XCFLAGS} -mzarch -mhtm" ARCH=s390 ;; --- 109,115 ---- ARCH=x86 ;; s390|s390x) ! XCFLAGS="${XCFLAGS} -mzarch -mhtm -msoft-float" ARCH=s390 ;;