]> git.ipfire.org Git - thirdparty/glibc.git/commitdiff
S390: Fix _FPU_SETCW/GETCW when compiling with Clang [BZ #30130]
authorAndreas Arnez <arnez@linux.ibm.com>
Tue, 28 Feb 2023 12:48:06 +0000 (13:48 +0100)
committerStefan Liebler <stli@linux.ibm.com>
Tue, 28 Feb 2023 13:01:28 +0000 (14:01 +0100)
The _FPU_SETCW and _FPU_GETCW macros are defined with inline assemblies.
They use the sfpc and efpc instructions, respectively.  But both contain
a spurious second operand that leads to a compile error with Clang.
Removing this operand works both with gcc/gas (since binutils 2.18) as
well as with clang/llvm.

sysdeps/s390/fpu/fpu_control.h

index e00d7775f4503104aca87066c44cd3a690367fe2..567b180034d18f0a46c7392e80cf5e2b2ef36cdb 100644 (file)
@@ -32,8 +32,8 @@
 typedef unsigned int fpu_control_t;
 
 /* Macros for accessing the hardware control word.  */
-#define _FPU_GETCW(cw)  __asm__ __volatile__ ("efpc %0,0" : "=d" (cw))
-#define _FPU_SETCW(cw)  __asm__ __volatile__ ("sfpc  %0,0" : : "d" (cw))
+#define _FPU_GETCW(cw)  __asm__ __volatile__ ("efpc %0" : "=d" (cw))
+#define _FPU_SETCW(cw)  __asm__ __volatile__ ("sfpc %0" : : "d" (cw))
 
 /* Default control word set at startup.  */
 extern fpu_control_t __fpu_control;