OSDN Git Service

remove cruft for supposedly-buggy clang from or1k & microblaze syscall_arch
authorRich Felker <dalias@aerifal.cx>
Wed, 10 Apr 2019 22:07:51 +0000 (18:07 -0400)
committerRich Felker <dalias@aerifal.cx>
Wed, 10 Apr 2019 22:07:51 +0000 (18:07 -0400)
it was never demonstrated to me that this workaround was needed, and
seems likely that, if there ever was any clang version for which it
was needed, it's old enough to be unusably buggy in other ways. if it
turns out some compilers actually can't do the register allocation
right, we'll need to replace this with inline shuffling code, since
the external __syscall dependency is being removed.

arch/microblaze/syscall_arch.h
arch/or1k/syscall_arch.h

index 6cf631a..942aaa2 100644 (file)
@@ -3,8 +3,6 @@
 ((union { long long ll; long l[2]; }){ .ll = x }).l[1]
 #define __SYSCALL_LL_O(x) 0, __SYSCALL_LL_E((x))
 
-#ifndef __clang__
-
 static __inline long __syscall0(long n)
 {
        register unsigned long r12 __asm__("r12") = n;
@@ -96,11 +94,4 @@ static inline long __syscall6(long n, long a, long b, long c, long d, long e, lo
        return r3;
 }
 
-#else
-
-#undef SYSCALL_NO_INLINE
-#define SYSCALL_NO_INLINE
-
-#endif
-
 #define SYSCALL_IPC_BROKEN_MODE
index caff7ec..5a9b074 100644 (file)
@@ -5,8 +5,6 @@
 
 #define SYSCALL_MMAP2_UNIT 8192ULL
 
-#ifndef __clang__
-
 static __inline long __syscall0(long n)
 {
        register unsigned long r11 __asm__("r11") = n;
@@ -113,10 +111,3 @@ static inline long __syscall6(long n, long a, long b, long c, long d, long e, lo
                                "r23", "r25", "r27", "r29", "r31");
        return r11;
 }
-
-#else
-
-#undef SYSCALL_NO_INLINE
-#define SYSCALL_NO_INLINE
-
-#endif