|
@@ -241,9 +241,6 @@
|
|
/* User programs sometimes end up including this header file
|
|
/* User programs sometimes end up including this header file
|
|
(indirectly, via uClibc header files), so I'm a bit nervous just
|
|
(indirectly, via uClibc header files), so I'm a bit nervous just
|
|
including <linux/compiler.h>. */
|
|
including <linux/compiler.h>. */
|
|
-#if !defined(__builtin_expect) && __GNUC__ == 2 && __GNUC_MINOR__ < 96
|
|
|
|
-#define __builtin_expect(x, expected_value) (x)
|
|
|
|
-#endif
|
|
|
|
|
|
|
|
#define __syscall_return(type, res) \
|
|
#define __syscall_return(type, res) \
|
|
do { \
|
|
do { \
|
|
@@ -346,20 +343,6 @@ type name (atype a, btype b, ctype c, dtype d, etype e) \
|
|
__syscall_return (type, __ret); \
|
|
__syscall_return (type, __ret); \
|
|
}
|
|
}
|
|
|
|
|
|
-#if __GNUC__ < 3
|
|
|
|
-/* In older versions of gcc, `asm' statements with more than 10
|
|
|
|
- input/output arguments produce a fatal error. To work around this
|
|
|
|
- problem, we use two versions, one for gcc-3.x and one for earlier
|
|
|
|
- versions of gcc (the `earlier gcc' version doesn't work with gcc-3.x
|
|
|
|
- because gcc-3.x doesn't allow clobbers to also be input arguments). */
|
|
|
|
-#define __SYSCALL6_TRAP(syscall, ret, a, b, c, d, e, f) \
|
|
|
|
- __asm__ __volatile__ ("trap " SYSCALL_LONG_TRAP \
|
|
|
|
- : "=r" (ret), "=r" (syscall) \
|
|
|
|
- : "1" (syscall), \
|
|
|
|
- "r" (a), "r" (b), "r" (c), "r" (d), \
|
|
|
|
- "r" (e), "r" (f) \
|
|
|
|
- : SYSCALL_CLOBBERS, SYSCALL_ARG4, SYSCALL_ARG5);
|
|
|
|
-#else /* __GNUC__ >= 3 */
|
|
|
|
#define __SYSCALL6_TRAP(syscall, ret, a, b, c, d, e, f) \
|
|
#define __SYSCALL6_TRAP(syscall, ret, a, b, c, d, e, f) \
|
|
__asm__ __volatile__ ("trap " SYSCALL_LONG_TRAP \
|
|
__asm__ __volatile__ ("trap " SYSCALL_LONG_TRAP \
|
|
: "=r" (ret), "=r" (syscall), \
|
|
: "=r" (ret), "=r" (syscall), \
|
|
@@ -368,7 +351,6 @@ type name (atype a, btype b, ctype c, dtype d, etype e) \
|
|
"r" (a), "r" (b), "r" (c), "r" (d), \
|
|
"r" (a), "r" (b), "r" (c), "r" (d), \
|
|
"2" (e), "3" (f) \
|
|
"2" (e), "3" (f) \
|
|
: SYSCALL_CLOBBERS);
|
|
: SYSCALL_CLOBBERS);
|
|
-#endif
|
|
|
|
|
|
|
|
#define _syscall6(type, name, atype, a, btype, b, ctype, c, dtype, d, etype, e, ftype, f) \
|
|
#define _syscall6(type, name, atype, a, btype, b, ctype, c, dtype, d, etype, e, ftype, f) \
|
|
type name (atype a, btype b, ctype c, dtype d, etype e, ftype f) \
|
|
type name (atype a, btype b, ctype c, dtype d, etype e, ftype f) \
|