diff options
author | Ilya Leoshkevich <iii@linux.ibm.com> | 2020-08-13 11:56:41 +0200 |
---|---|---|
committer | Hans Kristian Rosbach <hk-github@circlestorm.org> | 2020-08-21 21:54:12 +0200 |
commit | 4e506d24b032b1e132df1bb102209b720c6a4fbe (patch) | |
tree | 85bef8cb0980a25078b1f24ac649f798b2d2ca36 | |
parent | 6bc0dd5ae7cccae5211968c498ac44def6d88e0c (diff) |
Fix building DFLTCC with clang
-rw-r--r-- | arch/s390/dfltcc_common.c | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/arch/s390/dfltcc_common.c b/arch/s390/dfltcc_common.c index bae40a2..b8ccfd8 100644 --- a/arch/s390/dfltcc_common.c +++ b/arch/s390/dfltcc_common.c @@ -22,10 +22,15 @@ static inline int is_dfltcc_enabled(void) { * compiling with -m31, gcc defaults to ESA mode, however, since the kernel * is 64-bit, it's always z/Architecture mode at runtime. */ - __asm__ volatile(".machinemode push\n" + __asm__ volatile( +#ifndef __clang__ + ".machinemode push\n" ".machinemode zarch\n" +#endif "stfle %[facilities]\n" +#ifndef __clang__ ".machinemode pop\n" +#endif : [facilities] "=Q" (facilities), [r0] "+r" (r0) :: "cc"); return is_bit_set((const char *)facilities, DFLTCC_FACILITY); } |