Unify all the common syscall defines in syscalls-common.h and scrub all
the duplicated code from relevant ports.  This should also make converting
existing ports to INLINE_SYSCALL() much easier as they don't have to get
lost in all the unrelated noise, as well as creating new ports.

Signed-off-by: Mike Frysinger <vap...@gentoo.org>
---
can people give this an eye over to make sure i didnt screw up your port ?
i'm doing build tests for most arches, but a quick look over by other peeps
would be good.

 include/sys/syscall.h                            |    1 +
 libc/sysdeps/linux/arm/bits/syscalls.h           |   71 -----------
 libc/sysdeps/linux/avr32/bits/syscalls.h         |   89 -------------
 libc/sysdeps/linux/bfin/bits/syscalls.h          |  145 ----------------------
 libc/sysdeps/linux/common/bits/syscalls-common.h |   81 ++++++++++++
 libc/sysdeps/linux/common/bits/syscalls.h        |    3 +-
 libc/sysdeps/linux/i386/bits/syscalls.h          |   66 ----------
 libc/sysdeps/linux/ia64/bits/syscalls.h          |   55 --------
 libc/sysdeps/linux/mips/bits/syscalls.h          |   67 ----------
 libc/sysdeps/linux/powerpc/bits/syscalls.h       |   54 --------
 libc/sysdeps/linux/sh/bits/syscalls.h            |  134 --------------------
 libc/sysdeps/linux/x86_64/bits/syscalls.h        |   78 ------------
 libc/sysdeps/linux/xtensa/bits/syscalls.h        |   52 --------
 13 files changed, 84 insertions(+), 812 deletions(-)
 create mode 100644 libc/sysdeps/linux/common/bits/syscalls-common.h

diff --git a/include/sys/syscall.h b/include/sys/syscall.h
index 4c8ede8..db8364b 100644
--- a/include/sys/syscall.h
+++ b/include/sys/syscall.h
@@ -32,6 +32,7 @@
 #include <bits/sysnum.h>
 #if defined _LIBC && (defined IS_IN_libc || defined NOT_IN_libc)
 # include <bits/syscalls.h>
+# include <bits/syscalls-common.h>
 #endif
 
 #endif
diff --git a/libc/sysdeps/linux/arm/bits/syscalls.h 
b/libc/sysdeps/linux/arm/bits/syscalls.h
index 2d2e0f0..2ad7255 100644
--- a/libc/sysdeps/linux/arm/bits/syscalls.h
+++ b/libc/sysdeps/linux/arm/bits/syscalls.h
@@ -9,8 +9,6 @@
    glibc-2.3.2/sysdeps/unix/sysv/linux/arm/sysdep.h
 */
 
-#define SYS_ify(syscall_name)  (__NR_##syscall_name)
-
 #ifdef __ASSEMBLER__
 
 /* Call a given syscall, with arguments loaded.  For EABI, we must
@@ -32,67 +30,6 @@
 
 #include <errno.h>
 
-#undef _syscall0
-#define _syscall0(type,name) \
-type name(void) \
-{ \
-return (type) (INLINE_SYSCALL(name, 0)); \
-}
-
-#undef _syscall1
-#define _syscall1(type,name,type1,arg1) \
-type name(type1 arg1) \
-{ \
-return (type) (INLINE_SYSCALL(name, 1, arg1)); \
-}
-
-#undef _syscall2
-#define _syscall2(type,name,type1,arg1,type2,arg2) \
-type name(type1 arg1,type2 arg2) \
-{ \
-return (type) (INLINE_SYSCALL(name, 2, arg1, arg2)); \
-}
-
-#undef _syscall3
-#define _syscall3(type,name,type1,arg1,type2,arg2,type3,arg3) \
-type name(type1 arg1,type2 arg2,type3 arg3) \
-{ \
-return (type) (INLINE_SYSCALL(name, 3, arg1, arg2, arg3)); \
-}
-
-#undef _syscall4
-#define _syscall4(type,name,type1,arg1,type2,arg2,type3,arg3,type4,arg4) \
-type name (type1 arg1, type2 arg2, type3 arg3, type4 arg4) \
-{ \
-return (type) (INLINE_SYSCALL(name, 4, arg1, arg2, arg3, arg4)); \
-}
-
-#undef _syscall5
-#define _syscall5(type,name,type1,arg1,type2,arg2,type3,arg3,type4,arg4, \
-         type5,arg5) \
-type name (type1 arg1,type2 arg2,type3 arg3,type4 arg4,type5 arg5) \
-{ \
-return (type) (INLINE_SYSCALL(name, 5, arg1, arg2, arg3, arg4, arg5)); \
-}
-
-#undef _syscall6
-#define _syscall6(type,name,type1,arg1,type2,arg2,type3,arg3,type4,arg4, \
-         type5,arg5,type6,arg6) \
-type name (type1 arg1,type2 arg2,type3 arg3,type4 arg4,type5 arg5, type6 arg6) 
\
-{ \
-return (type) (INLINE_SYSCALL(name, 6, arg1, arg2, arg3, arg4, arg5, arg6)); \
-}
-
-#undef _syscall7
-#define _syscall7(type,name,type1,arg1,type2,arg2,type3,arg3,type4,arg4, \
-         type5,arg5,type6,arg6,type7,arg7) \
-type name (type1 arg1,type2 arg2,type3 arg3,type4 arg4,type5 arg5, type6 
arg6,type7 arg7) \
-{ \
-return (type) (INLINE_SYSCALL(name, 7, arg1, arg2, arg3, arg4, arg5, arg6, 
arg7)); \
-}
-
-
-#undef INLINE_SYSCALL
 #define INLINE_SYSCALL(name, nr, args...)                              \
   ({ unsigned int _inline_sys_result = INTERNAL_SYSCALL (name, , nr, args);    
\
      if (__builtin_expect (INTERNAL_SYSCALL_ERROR_P (_inline_sys_result, ), 
0))        \
@@ -102,10 +39,6 @@ return (type) (INLINE_SYSCALL(name, 7, arg1, arg2, arg3, 
arg4, arg5, arg6, arg7)
        }                                                               \
      (int) _inline_sys_result; })
 
-#undef INTERNAL_SYSCALL_DECL
-#define INTERNAL_SYSCALL_DECL(err) do { } while (0)
-
-#undef INTERNAL_SYSCALL
 #if !defined(__thumb__)
 #if defined(__ARM_EABI__)
 #define INTERNAL_SYSCALL(name, err, nr, args...)                       \
@@ -160,13 +93,9 @@ return (type) (INLINE_SYSCALL(name, 7, arg1, arg2, arg3, 
arg4, arg5, arg6, arg7)
     (int) __sys_result; })
 #endif /*!defined(__thumb__)*/
 
-#undef INTERNAL_SYSCALL_ERROR_P
 #define INTERNAL_SYSCALL_ERROR_P(val, err) \
   ((unsigned int) (val) >= 0xfffff001u)
 
-#undef INTERNAL_SYSCALL_ERRNO
-#define INTERNAL_SYSCALL_ERRNO(val, err)       (-(val))
-
 #define LOAD_ARGS_0()
 #define ASM_ARGS_0
 #define LOAD_ARGS_1(a1)                                \
diff --git a/libc/sysdeps/linux/avr32/bits/syscalls.h 
b/libc/sysdeps/linux/avr32/bits/syscalls.h
index ff5d1a7..e473b10 100644
--- a/libc/sysdeps/linux/avr32/bits/syscalls.h
+++ b/libc/sysdeps/linux/avr32/bits/syscalls.h
@@ -4,95 +4,10 @@
 # error "Never use <bits/syscalls.h> directly; include <sys/syscall.h> 
instead."
 #endif
 
-/*
- * This includes the `__NR_<name>' syscall numbers taken from the
- * Linux kernel header files. It also defines the traditional
- * `SYS_<name>' macros for older programs.
- */
-#include <bits/sysnum.h>
-
 #ifndef __ASSEMBLER__
 
 #include <errno.h>
 
-#define SYS_ify(syscall_name) (__NR_##syscall_name)
-
-#undef _syscall0
-#define _syscall0(type,name)                           \
-       type name(void)                                 \
-       {                                               \
-               return (type)(INLINE_SYSCALL(name, 0)); \
-       }
-
-#undef _syscall1
-#define _syscall1(type,name,type1,arg1)                                \
-       type name(type1 arg1)                                   \
-       {                                                       \
-               return (type)(INLINE_SYSCALL(name, 1, arg1));   \
-       }
-
-#undef _syscall2
-#define _syscall2(type,name,type1,arg1,type2,arg2)                     \
-       type name(type1 arg1, type2 arg2)                               \
-       {                                                               \
-               return (type)(INLINE_SYSCALL(name, 2, arg1, arg2));     \
-       }
-
-#undef _syscall3
-#define _syscall3(type,name,type1,arg1,type2,arg2,type3,arg3)          \
-       type name(type1 arg1, type2 arg2, type3 arg3)                   \
-       {                                                               \
-               return (type)(INLINE_SYSCALL(name, 3, arg1,             \
-                                            arg2, arg3));              \
-       }
-
-#undef _syscall4
-#define _syscall4(type,name,type1,arg1,type2,arg2,type3,arg3,          \
-                 type4,arg4)                                           \
-       type name(type1 arg1, type2 arg2, type3 arg3, type4 arg4)       \
-       {                                                               \
-               return (type)(INLINE_SYSCALL(name, 4, arg1, arg2,       \
-                                            arg3, arg4));              \
-       }
-
-#undef _syscall5
-#define _syscall5(type,name,type1,arg1,type2,arg2,type3,arg3,          \
-                 type4,arg4,type5,arg5)                                \
-       type name(type1 arg1, type2 arg2, type3 arg3, type4 arg4,       \
-                 type5 arg5)                                           \
-       {                                                               \
-               return (type)(INLINE_SYSCALL(name, 5, arg1, arg2,       \
-                                            arg3, arg4, arg5));        \
-       }
-
-#undef _syscall6
-#define _syscall6(type,name,type1,arg1,type2,arg2,type3,arg3,          \
-                 type4,arg4,type5,arg5,type6,arg6)                     \
-       type name(type1 arg1, type2 arg2, type3 arg3, type4 arg4,       \
-                 type5 arg5, type6 arg6)                               \
-       {                                                               \
-               return (type)(INLINE_SYSCALL(name, 6, arg1, arg2, arg3, \
-                                            arg4, arg5, arg6));        \
-       }
-
-#undef unlikely
-#define unlikely(x) __builtin_expect((x), 0)
-
-#undef INLINE_SYSCALL
-#define INLINE_SYSCALL(name, nr, args...)                              \
-       ({                                                              \
-               unsigned _sys_result = INTERNAL_SYSCALL(name, , nr, args); \
-               if (unlikely(INTERNAL_SYSCALL_ERROR_P(_sys_result, ))) { \
-                       __set_errno(INTERNAL_SYSCALL_ERRNO(_sys_result, )); \
-                       _sys_result = (unsigned int) -1;                \
-               }                                                       \
-               (int) _sys_result;                                      \
-       })
-
-#undef INTERNAL_SYSCALL_DECL
-#define INTERNAL_SYSCALL_DECL(err) do { } while(0)
-
-#undef INTERNAL_SYSCALL
 #define INTERNAL_SYSCALL(name, err, nr, args...)                       \
        ({                                                              \
                register int _a1 __asm__("r12");                        \
@@ -105,13 +20,9 @@
                _a1;                                                    \
        })
 
-#undef INTERNAL_SYSCALL_ERROR_P
 #define INTERNAL_SYSCALL_ERROR_P(val, err)             \
        ((unsigned int)(val) >= 0xfffff001U)
 
-#undef INTERNAL_SYSCALL_ERRNO
-#define INTERNAL_SYSCALL_ERRNO(val, errr) (-(val))
-
 #define LOAD_ARGS_0() do { } while(0)
 #define ASM_ARGS_0
 #define LOAD_ARGS_1(a1)                                        \
diff --git a/libc/sysdeps/linux/bfin/bits/syscalls.h 
b/libc/sysdeps/linux/bfin/bits/syscalls.h
index 37e564d..478ea2d 100644
--- a/libc/sysdeps/linux/bfin/bits/syscalls.h
+++ b/libc/sysdeps/linux/bfin/bits/syscalls.h
@@ -6,151 +6,6 @@
 
 #ifndef __ASSEMBLER__
 
-#include <errno.h>
-
-#define SYS_ify(syscall_name)  (__NR_##syscall_name)
-
-/* user-visible error numbers are in the range -1 - -4095: see 
<asm-frv/errno.h> */
-#if defined _LIBC && !defined __set_errno
-# define __syscall_return(type, res) \
-do { \
-        unsigned long __sr2 = (res);                                       \
-       if (__builtin_expect ((unsigned long)(__sr2)                        \
-                             >= (unsigned long)(-4095), 0)) {              \
-               extern int __syscall_error (int);                           \
-               return (type) __syscall_error (__sr2);                      \
-       }                                                                   \
-       return (type) (__sr2);                                              \
-} while (0)
-#else
-# define __syscall_return(type, res) \
-do { \
-        unsigned long __sr2 = (res);                                       \
-       if (__builtin_expect ((unsigned long)(__sr2)                        \
-                             >= (unsigned long)(-4095), 0)) {              \
-               __set_errno (-__sr2);                                       \
-               __sr2 = -1;                                                 \
-       }                                                                   \
-       return (type) (__sr2);                                              \
-} while (0)
-#endif
-
-#define _syscall0(type,name)                                           \
-type name(void) {                                                      \
-       long __res;                                                     \
-       __asm__ __volatile__ (                                          \
-               "excpt 0;\n\t"                                          \
-               : "=q0" (__res)                                         \
-               : "qA" (__NR_##name)                                    \
-               : "memory","CC");                                       \
-       __syscall_return(type,__res);                                   \
-}
-
-#define _syscall1(type,name,type1,arg1)                                        
\
-type name(type1 arg1) {                                                        
\
-       long __res;                                                     \
-       __asm__ __volatile__ (                                          \
-               "excpt 0;\n\t"                                          \
-               : "=q0" (__res)                                         \
-               : "qA" (__NR_##name),                                   \
-                 "q0" ((long)(arg1))                                   \
-               : "memory","CC");                                       \
-       __syscall_return(type,__res);                                   \
-}
-
-#define _syscall2(type,name,type1,arg1,type2,arg2)                     \
-type name(type1 arg1,type2 arg2) {                                     \
-       long __res;                                                     \
-       __asm__ __volatile__ (                                          \
-               "excpt 0;\n\t"                                          \
-               "%0=r0;\n\t"                                            \
-               : "=q0" (__res)                                         \
-               : "qA" (__NR_##name),                                   \
-                 "q0" ((long)(arg1)),                                  \
-                 "q1" ((long)(arg2))                                   \
-               : "memory","CC");                                       \
-       __syscall_return(type,__res);                                   \
-}
-
-#define _syscall3(type,name,type1,arg1,type2,arg2,type3,arg3)          \
-type name(type1 arg1,type2 arg2,type3 arg3) {                          \
-       long __res;                                                     \
-       __asm__ __volatile__ (                                          \
-               "excpt 0;\n\t"                                          \
-               : "=q0" (__res)                                         \
-               : "qA"   (__NR_##name),                                 \
-                 "q0"   ((long)(arg1)),                                \
-                 "q1"   ((long)(arg2)),                                \
-                 "q2"   ((long)(arg3))                                 \
-               : "memory","CC");                                       \
-       __syscall_return(type,__res);                                   \
-}
-
-#define _syscall4(type,name,type1,arg1,type2,arg2,type3,arg3,type4,arg4)\
-type name(type1 arg1, type2 arg2, type3 arg3, type4 arg4) {            \
-       long __res;                                                     \
-       __asm__ __volatile__ (                                          \
-               "excpt 0;\n\t"                                          \
-               : "=q0" (__res)                                         \
-               : "qA"  (__NR_##name),                                  \
-                 "q0"  ((long)(arg1)),                                 \
-                 "q1"  ((long)(arg2)),                                 \
-                 "q2"  ((long)(arg3)),                                 \
-                 "q3"  ((long)(arg4))                                  \
-               : "memory","CC");                                       \
-       __syscall_return(type,__res);                                   \
-}
-
-#define 
_syscall5(type,name,type1,arg1,type2,arg2,type3,arg3,type4,arg4,type5,arg5)    \
-type name(type1 arg1, type2 arg2, type3 arg3, type4 arg4, type5 arg5) {        
\
-       long __res;                                                     \
-       __asm__ __volatile__ (                                          \
-               "excpt 0;\n\t"                                          \
-               : "=q0" (__res)                                         \
-               : "qA"  (__NR_##name),                                  \
-                 "q0"  ((long)(arg1)),                                 \
-                 "q1"  ((long)(arg2)),                                 \
-                 "q2"  ((long)(arg3)),                                 \
-                 "q3"  ((long)(arg4)),                                 \
-                 "q4"  ((long)(arg5))                                  \
-               : "memory","CC");                                       \
-       __syscall_return(type,__res);                                   \
-}
-
-#define 
_syscall6(type,name,type1,arg1,type2,arg2,type3,arg3,type4,arg4,type5,arg5,type6,arg6)
 \
-type name(type1 arg1, type2 arg2, type3 arg3, type4 arg4, type5 arg5, type6 
arg6) { \
-       long __res;                                                     \
-       __asm__ __volatile__ (                                          \
-               "excpt 0;\n\t"                                          \
-               : "=q0" (__res)                                         \
-               : "qA"  (__NR_##name),                                  \
-                 "q0"  ((long)(arg1)),                                 \
-                 "q1"  ((long)(arg2)),                                 \
-                 "q2"  ((long)(arg3)),                                 \
-                 "q3"  ((long)(arg4)),                                 \
-                 "q4"  ((long)(arg5)),                                 \
-                 "q5"  ((long)(arg6))                                  \
-               : "memory","CC");                                       \
-       __syscall_return(type,__res);                                   \
-}
-
-
-/* Define a macro which expands into the inline wrapper code for a system call 
*/
-#define INLINE_SYSCALL(name, nr, args...)                              \
-({                                                                     \
-       INTERNAL_SYSCALL_DECL(err);                                     \
-       long result_var = INTERNAL_SYSCALL(name, err, nr, args);        \
-       if (INTERNAL_SYSCALL_ERROR_P(result_var, err)) {                \
-               __set_errno(INTERNAL_SYSCALL_ERRNO(result_var, err));   \
-               result_var = -1L;                                       \
-       }                                                               \
-       result_var;                                                     \
-})
-
-#define INTERNAL_SYSCALL_DECL(err)         do { } while (0)
-#define INTERNAL_SYSCALL_ERROR_P(val, err) ((unsigned long)val >= (unsigned 
long)(-4095))
-#define INTERNAL_SYSCALL_ERRNO(val, err)   (-(val))
-
 #define INTERNAL_SYSCALL(name, err, nr, args...)       \
 ({                                                     \
        long __res;                                     \
diff --git a/libc/sysdeps/linux/common/bits/syscalls-common.h 
b/libc/sysdeps/linux/common/bits/syscalls-common.h
new file mode 100644
index 0000000..4fc21fa
--- /dev/null
+++ b/libc/sysdeps/linux/common/bits/syscalls-common.h
@@ -0,0 +1,81 @@
+/*
+ * Common syscall type defines
+ *
+ * Licensed under the LGPL v2.1, see the file COPYING.LIB in this tarball.
+ */
+
+#ifndef _SYSCALLS_COMMON_H
+#define _SYSCALLS_COMMON_H     1
+
+#ifndef _SYSCALL_H
+# error "Never use <bits/syscalls-common.h> directly; include <sys/syscall.h> 
instead."
+#endif
+
+#ifndef SYS_ify
+# define SYS_ify(syscall_name) (__NR_##syscall_name)
+#endif
+
+#ifndef __ASSEMBLER__
+
+#include <errno.h>
+
+#ifndef INTERNAL_SYSCALL_DECL
+# define INTERNAL_SYSCALL_DECL(err)         do { } while (0)
+#endif
+#ifndef INTERNAL_SYSCALL_ERROR_P
+# define INTERNAL_SYSCALL_ERROR_P(val, err) ((unsigned long)val >= (unsigned 
long)(-4095))
+#endif
+#ifndef INTERNAL_SYSCALL_ERRNO
+# define INTERNAL_SYSCALL_ERRNO(val, err)   (-(val))
+#endif
+
+/* Define a macro which expands into the inline wrapper code for a system call 
*/
+#ifndef INLINE_SYSCALL
+# define INLINE_SYSCALL(name, nr, args...)                             \
+({                                                                     \
+       INTERNAL_SYSCALL_DECL(err);                                     \
+       long res = INTERNAL_SYSCALL(name, err, nr, args);               \
+       if (unlikely(INTERNAL_SYSCALL_ERROR_P(res, err))) {             \
+               __set_errno(INTERNAL_SYSCALL_ERRNO(res, err));          \
+               res = -1L;                                              \
+       }                                                               \
+       res;                                                            \
+})
+#endif
+
+#ifndef _syscall0
+
+#define _syscall0(args...)             SYSCALL_FUNC (0, args)
+#define _syscall1(args...)             SYSCALL_FUNC (1, args)
+#define _syscall2(args...)             SYSCALL_FUNC (2, args)
+#define _syscall3(args...)             SYSCALL_FUNC (3, args)
+#define _syscall4(args...)             SYSCALL_FUNC (4, args)
+#define _syscall5(args...)             SYSCALL_FUNC (5, args)
+#define _syscall6(args...)             SYSCALL_FUNC (6, args)
+
+#define C_DECL_ARGS_0()                        void
+#define C_DECL_ARGS_1(t, v)            t v
+#define C_DECL_ARGS_2(t, v, args...)   t v, C_DECL_ARGS_1(args)
+#define C_DECL_ARGS_3(t, v, args...)   t v, C_DECL_ARGS_2(args)
+#define C_DECL_ARGS_4(t, v, args...)   t v, C_DECL_ARGS_3(args)
+#define C_DECL_ARGS_5(t, v, args...)   t v, C_DECL_ARGS_4(args)
+#define C_DECL_ARGS_6(t, v, args...)   t v, C_DECL_ARGS_5(args)
+
+#define C_ARGS_0()
+#define C_ARGS_1(t, v)                 v
+#define C_ARGS_2(t, v, args...)                v, C_ARGS_1 (args)
+#define C_ARGS_3(t, v, args...)                v, C_ARGS_2 (args)
+#define C_ARGS_4(t, v, args...)                v, C_ARGS_3 (args)
+#define C_ARGS_5(t, v, args...)                v, C_ARGS_4 (args)
+#define C_ARGS_6(t, v, args...)                v, C_ARGS_5 (args)
+
+#define SYSCALL_FUNC(nargs, type, name, args...)                             \
+type name (C_DECL_ARGS_##nargs (args)) {                                     \
+       return (type) INLINE_SYSCALL (name, nargs, C_ARGS_##nargs (args));    \
+}
+
+#endif /* _syscall0 */
+
+#endif /* __ASSEMBLER__ */
+
+#endif
diff --git a/libc/sysdeps/linux/common/bits/syscalls.h 
b/libc/sysdeps/linux/common/bits/syscalls.h
index ceba568..e7c6b03 100644
--- a/libc/sysdeps/linux/common/bits/syscalls.h
+++ b/libc/sysdeps/linux/common/bits/syscalls.h
@@ -5,4 +5,5 @@
  * forbidden.  Don't do it.  It is bad for you.
  */
 
-#error You have not provided architecture specific _syscall[0-6] macros
+#error You have not provided architecture specific bits/syscalls.h
+#error You should need to define only INTERNAL_SYSCALL
diff --git a/libc/sysdeps/linux/i386/bits/syscalls.h 
b/libc/sysdeps/linux/i386/bits/syscalls.h
index 014539c..343b096 100644
--- a/libc/sysdeps/linux/i386/bits/syscalls.h
+++ b/libc/sysdeps/linux/i386/bits/syscalls.h
@@ -13,15 +13,9 @@
 
 #include <errno.h>
 
-#define SYS_ify(syscall_name)  (__NR_##syscall_name)
-
-#define INTERNAL_SYSCALL_DECL(err) do { } while (0)
-
 #define INTERNAL_SYSCALL_ERROR_P(val, err) \
   ((unsigned int) (val) >= 0xfffff001u)
 
-#define INTERNAL_SYSCALL_ERRNO(val, err)        (-(val))
-
 /* We need some help from the assembler to generate optimal code.  We
    define some macros here which later will be used.  */
 
@@ -102,66 +96,6 @@ __asm__ (".L__X'%ebx = 1\n\t"
      ".endm\n\t");
 #endif
 
-#undef _syscall0
-#define _syscall0(type,name) \
-type name(void) \
-{ \
-return (type) (INLINE_SYSCALL(name, 0)); \
-}
-
-#undef _syscall1
-#define _syscall1(type,name,type1,arg1) \
-type name(type1 arg1) \
-{ \
-return (type) (INLINE_SYSCALL(name, 1, arg1)); \
-}
-
-#undef _syscall2
-#define _syscall2(type,name,type1,arg1,type2,arg2) \
-type name(type1 arg1,type2 arg2) \
-{ \
-return (type) (INLINE_SYSCALL(name, 2, arg1, arg2)); \
-}
-
-#undef _syscall3
-#define _syscall3(type,name,type1,arg1,type2,arg2,type3,arg3) \
-type name(type1 arg1,type2 arg2,type3 arg3) \
-{ \
-return (type) (INLINE_SYSCALL(name, 3, arg1, arg2, arg3)); \
-}
-
-#undef _syscall4
-#define _syscall4(type,name,type1,arg1,type2,arg2,type3,arg3,type4,arg4) \
-type name (type1 arg1, type2 arg2, type3 arg3, type4 arg4) \
-{ \
-return (type) (INLINE_SYSCALL(name, 4, arg1, arg2, arg3, arg4)); \
-}
-
-#undef _syscall5
-#define _syscall5(type,name,type1,arg1,type2,arg2,type3,arg3,type4,arg4, \
-         type5,arg5) \
-type name (type1 arg1,type2 arg2,type3 arg3,type4 arg4,type5 arg5) \
-{ \
-return (type) (INLINE_SYSCALL(name, 5, arg1, arg2, arg3, arg4, arg5)); \
-}
-
-#undef _syscall6
-#define _syscall6(type,name,type1,arg1,type2,arg2,type3,arg3,type4,arg4, \
-         type5,arg5,type6,arg6) \
-type name (type1 arg1,type2 arg2,type3 arg3,type4 arg4,type5 arg5, type6 arg6) 
\
-{ \
-return (type) (INLINE_SYSCALL(name, 6, arg1, arg2, arg3, arg4, arg5, arg6)); \
-}
- #define INLINE_SYSCALL(name, nr, args...) \
-  ({                                                                          \
-    unsigned int _resultvar = INTERNAL_SYSCALL (name, , nr, args);            \
-    if (__builtin_expect (INTERNAL_SYSCALL_ERROR_P (_resultvar, ), 0))        \
-      {                                                                       \
-        __set_errno (INTERNAL_SYSCALL_ERRNO (_resultvar, ));                  \
-        _resultvar = 0xffffffff;                                              \
-      }                                                                       \
-    (int) _resultvar; })
-
 #define INTERNAL_SYSCALL(name, err, nr, args...) \
   ({                                                                          \
     register unsigned int resultvar;                                          \
diff --git a/libc/sysdeps/linux/ia64/bits/syscalls.h 
b/libc/sysdeps/linux/ia64/bits/syscalls.h
index 6722da9..81b2cf4 100644
--- a/libc/sysdeps/linux/ia64/bits/syscalls.h
+++ b/libc/sysdeps/linux/ia64/bits/syscalls.h
@@ -32,56 +32,6 @@
 
 #undef IA64_USE_NEW_STUB
 
-#undef _syscall0
-#define _syscall0(type,name) \
-       type name(void) \
-{ \
-return (type) (INLINE_SYSCALL(name, 0)); \
-}
-
-#undef _syscall1
-#define _syscall1(type,name,type1,arg1) \
-       type name(type1 arg1) \
-{ \
-return (type) (INLINE_SYSCALL(name, 1, arg1)); \
-}
-
-#undef _syscall2
-#define _syscall2(type,name,type1,arg1,type2,arg2) \
-       type name(type1 arg1,type2 arg2) \
-{ \
-return (type) (INLINE_SYSCALL(name, 2, arg1, arg2)); \
-}
-
-#undef _syscall3
-#define _syscall3(type,name,type1,arg1,type2,arg2,type3,arg3) \
-       type name(type1 arg1,type2 arg2,type3 arg3) \
-{ \
-return (type) (INLINE_SYSCALL(name, 3, arg1, arg2, arg3)); \
-}
-#undef _syscall4
-#define _syscall4(type,name,type1,arg1,type2,arg2,type3,arg3,type4,arg4) \
-       type name (type1 arg1, type2 arg2, type3 arg3, type4 arg4) \
-{ \
-return (type) (INLINE_SYSCALL(name, 4, arg1, arg2, arg3, arg4)); \
-}
-
-#undef _syscall5
-#define _syscall5(type,name,type1,arg1,type2,arg2,type3,arg3,type4,arg4, \
-                         type5,arg5) \
-type name (type1 arg1,type2 arg2,type3 arg3,type4 arg4,type5 arg5) \
-{ \
-return (type) (INLINE_SYSCALL(name, 5, arg1, arg2, arg3, arg4, arg5)); \
-}
-
-#undef _syscall6
-#define _syscall6(type,name,type1,arg1,type2,arg2,type3,arg3,type4,arg4, \
-                         type5,arg5,type6,arg6) \
-type name (type1 arg1,type2 arg2,type3 arg3,type4 arg4,type5 arg5,type6 arg6) \
-{ \
-return (type) (INLINE_SYSCALL(name, 6, arg1, arg2, arg3, arg4, arg5, arg6)); \
-}
-
 #define __IA64_BREAK_SYSCALL   0x100000
 
 /* mostly taken from glibc sysdeps/unix/sysv/linux/ia64/sysdep.h */
@@ -114,7 +64,6 @@ return (type) (INLINE_SYSCALL(name, 6, arg1, arg2, arg3, 
arg4, arg5, arg6)); \
 #define DO_INLINE_SYSCALL(name, nr, args...)   \
   DO_INLINE_SYSCALL_NCS (__NR_##name, nr, ##args)
 
-#undef INLINE_SYSCALL
 #define INLINE_SYSCALL(name, nr, args...)              \
   ({                                                   \
     DO_INLINE_SYSCALL_NCS (__NR_##name, nr, args)      \
@@ -125,10 +74,8 @@ return (type) (INLINE_SYSCALL(name, 6, arg1, arg2, arg3, 
arg4, arg5, arg6)); \
       }                                                        \
     _retval; })
 
-#undef INTERNAL_SYSCALL_DECL
 #define INTERNAL_SYSCALL_DECL(err) long int err
 
-#undef INTERNAL_SYSCALL
 #define INTERNAL_SYSCALL_NCS(name, err, nr, args...)   \
   ({                                                   \
     DO_INLINE_SYSCALL_NCS (name, nr, args)             \
@@ -137,10 +84,8 @@ return (type) (INLINE_SYSCALL(name, 6, arg1, arg2, arg3, 
arg4, arg5, arg6)); \
 #define INTERNAL_SYSCALL(name, err, nr, args...)       \
   INTERNAL_SYSCALL_NCS (__NR_##name, err, nr, ##args)
 
-#undef INTERNAL_SYSCALL_ERROR_P
 #define INTERNAL_SYSCALL_ERROR_P(val, err)     (err == -1)
 
-#undef INTERNAL_SYSCALL_ERRNO
 #define INTERNAL_SYSCALL_ERRNO(val, err)       (val)
 
 #define LOAD_ARGS_0()
diff --git a/libc/sysdeps/linux/mips/bits/syscalls.h 
b/libc/sysdeps/linux/mips/bits/syscalls.h
index fa8b876..07e0fe4 100644
--- a/libc/sysdeps/linux/mips/bits/syscalls.h
+++ b/libc/sysdeps/linux/mips/bits/syscalls.h
@@ -10,67 +10,6 @@
 
 #include <errno.h>
 
-#define SYS_ify(syscall_name)  (__NR_##syscall_name)
-
-#undef _syscall0
-#define _syscall0(type,name) \
-type name(void) \
-{ \
-return (type) (INLINE_SYSCALL(name, 0)); \
-}
-
-#undef _syscall1
-#define _syscall1(type,name,type1,arg1) \
-type name(type1 arg1) \
-{ \
-return (type) (INLINE_SYSCALL(name, 1, arg1)); \
-}
-
-#undef _syscall2
-#define _syscall2(type,name,type1,arg1,type2,arg2) \
-type name(type1 arg1,type2 arg2) \
-{ \
-return (type) (INLINE_SYSCALL(name, 2, arg1, arg2)); \
-}
-
-#undef _syscall3
-#define _syscall3(type,name,type1,arg1,type2,arg2,type3,arg3) \
-type name(type1 arg1,type2 arg2,type3 arg3) \
-{ \
-return (type) (INLINE_SYSCALL(name, 3, arg1, arg2, arg3)); \
-}
-
-#undef _syscall4
-#define _syscall4(type,name,type1,arg1,type2,arg2,type3,arg3,type4,arg4) \
-type name (type1 arg1, type2 arg2, type3 arg3, type4 arg4) \
-{ \
-return (type) (INLINE_SYSCALL(name, 4, arg1, arg2, arg3, arg4)); \
-}
-
-#undef _syscall5
-#define _syscall5(type,name,type1,arg1,type2,arg2,type3,arg3,type4,arg4, \
-         type5,arg5) \
-type name (type1 arg1,type2 arg2,type3 arg3,type4 arg4,type5 arg5) \
-{ \
-return (type) (INLINE_SYSCALL(name, 5, arg1, arg2, arg3, arg4, arg5)); \
-}
-
-#undef _syscall6
-#define _syscall6(type,name,type1,arg1,type2,arg2,type3,arg3,type4,arg4, \
-         type5,arg5,type6,arg6) \
-type name (type1 arg1,type2 arg2,type3 arg3,type4 arg4,type5 arg5, type6 arg6) 
\
-{ \
-return (type) (INLINE_SYSCALL(name, 6, arg1, arg2, arg3, arg4, arg5, arg6)); \
-}
-
-#undef _syscall7
-#define _syscall7(type,name,type1,arg1,type2,arg2,type3,arg3,type4,arg4, \
-         type5,arg5,type6,arg6,type7,arg7) \
-type name (type1 arg1,type2 arg2,type3 arg3,type4 arg4,type5 arg5, type6 
arg6,type7 arg7) \
-{ \
-return (type) (INLINE_SYSCALL(name, 7, arg1, arg2, arg3, arg4, arg5, arg6, 
arg7)); \
-}
-
 /*
  * Import from:
  *     glibc-ports/sysdeps/unix/sysv/linux/mips/mips32/sysdep.h
@@ -80,7 +19,6 @@ return (type) (INLINE_SYSCALL(name, 7, arg1, arg2, arg3, 
arg4, arg5, arg6, arg7)
 
 /* Define a macro which expands into the inline wrapper code for a system
    call.  */
-#undef INLINE_SYSCALL
 #define INLINE_SYSCALL(name, nr, args...)                               \
   ({ INTERNAL_SYSCALL_DECL(err);                                       \
      long result_var = INTERNAL_SYSCALL (name, err, nr, args);         \
@@ -91,21 +29,16 @@ return (type) (INLINE_SYSCALL(name, 7, arg1, arg2, arg3, 
arg4, arg5, arg6, arg7)
        }                                                               \
      result_var; })
 
-#undef INTERNAL_SYSCALL_DECL
 #define INTERNAL_SYSCALL_DECL(err) long err
 
-#undef INTERNAL_SYSCALL_ERROR_P
 #define INTERNAL_SYSCALL_ERROR_P(val, err)   ((long) (err))
 
-#undef INTERNAL_SYSCALL_ERRNO
 #define INTERNAL_SYSCALL_ERRNO(val, err)     (val)
 
-#undef INTERNAL_SYSCALL
 #define INTERNAL_SYSCALL(name, err, nr, args...) \
        internal_syscall##nr (, "li\t$2, %2\t\t\t# " #name "\n\t",      \
                              "i" (SYS_ify (name)), err, args)
 
-#undef INTERNAL_SYSCALL_NCS
 #define INTERNAL_SYSCALL_NCS(number, err, nr, args...) \
        internal_syscall##nr (= number, , "r" (__v0), err, args)
 
diff --git a/libc/sysdeps/linux/powerpc/bits/syscalls.h 
b/libc/sysdeps/linux/powerpc/bits/syscalls.h
index 96894d0..e11c362 100644
--- a/libc/sysdeps/linux/powerpc/bits/syscalls.h
+++ b/libc/sysdeps/linux/powerpc/bits/syscalls.h
@@ -22,12 +22,6 @@
 #ifndef _SYSCALL_H
 # error "Never use <bits/syscalls.h> directly; include <sys/syscall.h> 
instead."
 #endif
-/* For Linux we can use the system call table in the header file
-       /usr/include/asm/unistd.h
-   of the kernel.  But these symbols do not follow the SYS_* syntax
-   so we have to redefine the `SYS_ify' macro here.  */
-#undef SYS_ify
-#define SYS_ify(syscall_name)  __NR_##syscall_name
 
 #ifndef __ASSEMBLER__
 
@@ -136,7 +130,6 @@
     (int) r3;                                                                \
   })
 
-# undef INLINE_SYSCALL
 # define INLINE_SYSCALL(name, nr, args...)                             \
   ({                                                                   \
     INTERNAL_SYSCALL_DECL (sc_err);                                    \
@@ -157,10 +150,8 @@
    "sc; bnslr+" sequence) and CR (where only CR0.SO is clobbered to signal
    an error return status).  */
 
-# undef INTERNAL_SYSCALL_DECL
 # define INTERNAL_SYSCALL_DECL(err) long int err
 
-# undef INTERNAL_SYSCALL
 # define INTERNAL_SYSCALL_NCS(name, err, nr, args...)                  \
   ({                                                                   \
     register long int r0  __asm__ ("r0");                              \
@@ -189,11 +180,9 @@
 # define INTERNAL_SYSCALL(name, err, nr, args...) \
   INTERNAL_SYSCALL_NCS (__NR_##name, err, nr, ##args)
 
-# undef INTERNAL_SYSCALL_ERROR_P
 # define INTERNAL_SYSCALL_ERROR_P(val, err) \
   ((void) (val), __builtin_expect ((err) & (1 << 28), 0))
 
-# undef INTERNAL_SYSCALL_ERRNO
 # define INTERNAL_SYSCALL_ERRNO(val, err)     (val)
 
 extern void __illegally_sized_syscall_arg1(void);
@@ -250,49 +239,6 @@ extern void __illegally_sized_syscall_arg6(void);
 # define ASM_INPUT_5 ASM_INPUT_4, "5" (r7)
 # define ASM_INPUT_6 ASM_INPUT_5, "6" (r8)
 
-
-#undef _syscall0
-#define _syscall0(type,name) \
-type name(void) { \
-  return (type) INLINE_SYSCALL(name, 0); \
-}
-
-#undef _syscall1
-#define _syscall1(type,name,type1,arg1) \
-type name(type1 arg1) { \
-  return (type) INLINE_SYSCALL(name, 1, arg1); \
-}
-
-#undef _syscall2
-#define _syscall2(type,name,type1,arg1,type2,arg2) \
-type name(type1 arg1, type2 arg2) { \
-  return (type) INLINE_SYSCALL(name, 2, arg1, arg2); \
-}
-
-#undef _syscall3
-#define _syscall3(type,name,type1,arg1,type2,arg2,type3,arg3) \
-type name(type1 arg1, type2 arg2, type3 arg3) { \
-  return (type) INLINE_SYSCALL(name, 3, arg1, arg2, arg3); \
-}
-
-#undef _syscall4
-#define _syscall4(type,name,type1,arg1,type2,arg2,type3,arg3,type4,arg4) \
-type name(type1 arg1, type2 arg2, type3 arg3, type4 arg4) { \
-  return (type) INLINE_SYSCALL(name, 4, arg1, arg2, arg3, arg4); \
-}
-
-#undef _syscall5
-#define 
_syscall5(type,name,type1,arg1,type2,arg2,type3,arg3,type4,arg4,type5,arg5) \
-type name(type1 arg1, type2 arg2, type3 arg3, type4 arg4, type5 arg5) { \
-  return (type) INLINE_SYSCALL(name, 5, arg1, arg2, arg3, arg4, arg5); \
-}
-
-#undef _syscall6
-#define 
_syscall6(type,name,type1,arg1,type2,arg2,type3,arg3,type4,arg4,type5,arg5,type6,arg6)
 \
-type name(type1 arg1, type2 arg2, type3 arg3, type4 arg4, type5 arg5, type6 
arg6) { \
-  return (type) INLINE_SYSCALL(name, 6, arg1, arg2, arg3, arg4, arg5, arg6); \
-}
-
 #endif /* __ASSEMBLER__ */
 
 
diff --git a/libc/sysdeps/linux/sh/bits/syscalls.h 
b/libc/sysdeps/linux/sh/bits/syscalls.h
index 8b0fb35..6e7ddbb 100644
--- a/libc/sysdeps/linux/sh/bits/syscalls.h
+++ b/libc/sysdeps/linux/sh/bits/syscalls.h
@@ -15,131 +15,6 @@
 
 #include <errno.h>
 
-#define SYS_ify(syscall_name)  (__NR_##syscall_name)
-
-/* user-visible error numbers are in the range -1 - -125: see <asm-sh/errno.h> 
*/
-#define __syscall_return(type, res) \
-do { \
-       if ((unsigned long)(res) >= (unsigned long)(-125)) { \
-       /* Avoid using "res" which is declared to be in register r0; \
-          errno might expand to a function call and clobber it.  */ \
-               int __err = -(res); \
-               __set_errno(__err); \
-               res = -1; \
-       } \
-       return (type) (res); \
-} while (0)
-
-/* XXX - _foo needs to be __foo, while __NR_bar could be _NR_bar. */
-#define _syscall0(type,name) \
-type name(void) \
-{ \
-register long __sc0 __asm__ ("r3") = __NR_##name; \
-__asm__ __volatile__ ("trapa   %1" \
-       : "=z" (__sc0) \
-       : "i" (__SH_SYSCALL_TRAP_BASE), "0" (__sc0) \
-       : "memory" ); \
-__syscall_return(type,__sc0); \
-}
-
-#define _syscall1(type,name,type1,arg1) \
-type name(type1 arg1) \
-{ \
-register long __sc0 __asm__ ("r3") = __NR_##name; \
-register long __sc4 __asm__ ("r4") = (long) arg1; \
-__asm__ __volatile__ ("trapa   %1" \
-       : "=z" (__sc0) \
-       : "i" (__SH_SYSCALL_TRAP_BASE + 1), "0" (__sc0), "r" (__sc4) \
-       : "memory"); \
-__syscall_return(type,__sc0); \
-}
-
-#define _syscall2(type,name,type1,arg1,type2,arg2) \
-type name(type1 arg1,type2 arg2) \
-{ \
-register long __sc0 __asm__ ("r3") = __NR_##name; \
-register long __sc4 __asm__ ("r4") = (long) arg1; \
-register long __sc5 __asm__ ("r5") = (long) arg2; \
-__asm__ __volatile__ ("trapa   %1" \
-       : "=z" (__sc0) \
-       : "i" (__SH_SYSCALL_TRAP_BASE + 2), "0" (__sc0), "r" (__sc4), \
-          "r" (__sc5) \
-       : "memory"); \
-__syscall_return(type,__sc0); \
-}
-
-#define _syscall3(type,name,type1,arg1,type2,arg2,type3,arg3) \
-type name(type1 arg1,type2 arg2,type3 arg3) \
-{ \
-register long __sc0 __asm__ ("r3") = __NR_##name; \
-register long __sc4 __asm__ ("r4") = (long) arg1; \
-register long __sc5 __asm__ ("r5") = (long) arg2; \
-register long __sc6 __asm__ ("r6") = (long) arg3; \
-__asm__ __volatile__ ("trapa   %1" \
-       : "=z" (__sc0) \
-       : "i" (__SH_SYSCALL_TRAP_BASE + 3), "0" (__sc0), "r" (__sc4), \
-          "r" (__sc5), "r" (__sc6) \
-       : "memory"); \
-__syscall_return(type,__sc0); \
-}
-
-#define _syscall4(type,name,type1,arg1,type2,arg2,type3,arg3,type4,arg4) \
-type name (type1 arg1, type2 arg2, type3 arg3, type4 arg4) \
-{ \
-register long __sc0 __asm__ ("r3") = __NR_##name; \
-register long __sc4 __asm__ ("r4") = (long) arg1; \
-register long __sc5 __asm__ ("r5") = (long) arg2; \
-register long __sc6 __asm__ ("r6") = (long) arg3; \
-register long __sc7 __asm__ ("r7") = (long) arg4; \
-__asm__ __volatile__ ("trapa   %1" \
-       : "=z" (__sc0) \
-       : "i" (__SH_SYSCALL_TRAP_BASE + 4), "0" (__sc0), "r" (__sc4), \
-          "r" (__sc5), "r" (__sc6),  \
-         "r" (__sc7) \
-       : "memory" ); \
-__syscall_return(type,__sc0); \
-}
-
-#define 
_syscall5(type,name,type1,arg1,type2,arg2,type3,arg3,type4,arg4,type5,arg5) \
-type name (type1 arg1, type2 arg2, type3 arg3, type4 arg4, type5 arg5) \
-{ \
-register long __sc3 __asm__ ("r3") = __NR_##name; \
-register long __sc4 __asm__ ("r4") = (long) arg1; \
-register long __sc5 __asm__ ("r5") = (long) arg2; \
-register long __sc6 __asm__ ("r6") = (long) arg3; \
-register long __sc7 __asm__ ("r7") = (long) arg4; \
-register long __sc0 __asm__ ("r0") = (long) arg5; \
-__asm__ __volatile__ ("trapa   %1" \
-       : "=z" (__sc0) \
-       : "i" (__SH_SYSCALL_TRAP_BASE + 5), "0" (__sc0), "r" (__sc4), \
-          "r" (__sc5), "r" (__sc6), "r" (__sc7), "r" (__sc3) \
-       : "memory" ); \
-__syscall_return(type,__sc0); \
-}
-
-#ifndef __SH_SYSCALL6_TRAPA
-#define __SH_SYSCALL6_TRAPA __SH_SYSCALL_TRAP_BASE + 6
-#endif
-
-/* Add in _syscall6 which is not in the kernel header */
-#define 
_syscall6(type,name,type1,arg1,type2,arg2,type3,arg3,type4,arg4,type5,arg5,type6,arg6)
 \
-type name (type1 arg1, type2 arg2, type3 arg3, type4 arg4, type5 arg5, type6 
arg6) \
-{ \
-register long __sc3 __asm__ ("r3") = __NR_##name; \
-register long __sc4 __asm__ ("r4") = (long) arg1; \
-register long __sc5 __asm__ ("r5") = (long) arg2; \
-register long __sc6 __asm__ ("r6") = (long) arg3; \
-register long __sc7 __asm__ ("r7") = (long) arg4; \
-register long __sc0 __asm__ ("r0") = (long) arg5; \
-register long __sc1 __asm__ ("r1") = (long) arg6; \
-__asm__ __volatile__ ("trapa   %1" \
-       : "=z" (__sc0) \
-       : "i" (__SH_SYSCALL6_TRAPA), "0" (__sc0), "r" (__sc4), \
-          "r" (__sc5), "r" (__sc6), "r" (__sc7), "r" (__sc3), "r" (__sc1) \
-       : "memory" ); \
-__syscall_return(type,__sc0); \
-}
-
 #define SYSCALL_INST_STR(x)    "trapa #"__stringify(__SH_SYSCALL_TRAP_BASE + 
x)"\n\t"
 #define SYSCALL_INST_STR0      SYSCALL_INST_STR(0)
 #define SYSCALL_INST_STR1      SYSCALL_INST_STR(1)
@@ -237,7 +112,6 @@ __syscall_return(type,__sc0); \
        register long int r1 __asm__ ("%r1") = (long int) (_arg6);              
      \
        register long int r2 __asm__ ("%r2") = (long int) (_arg7)
 
-#undef INLINE_SYSCALL
 #define INLINE_SYSCALL(name, nr, args...) \
   ({                                                                          \
     unsigned int __resultvar = INTERNAL_SYSCALL (name, , nr, args);            
 \
@@ -248,7 +122,6 @@ __syscall_return(type,__sc0); \
       }                                                                       \
     (int) __resultvar; })
 
-#undef INTERNAL_SYSCALL
 #define INTERNAL_SYSCALL(name, err, nr, args...) \
   ({                                                                         \
     unsigned long int resultvar;                                             \
@@ -276,16 +149,9 @@ __syscall_return(type,__sc0); \
                                                                              \
     (int) resultvar; })
 
-#undef INTERNAL_SYSCALL_DECL
-#define INTERNAL_SYSCALL_DECL(err) do { } while (0)
-
-#undef INTERNAL_SYSCALL_ERROR_P
 #define INTERNAL_SYSCALL_ERROR_P(val, err) \
   ((unsigned int) (val) >= 0xfffff001u)
 
-#undef INTERNAL_SYSCALL_ERRNO
-#define INTERNAL_SYSCALL_ERRNO(val, err)        (-(val))
-
 #endif /* __ASSEMBLER__ */
 #endif /* _BITS_SYSCALLS_H */
 
diff --git a/libc/sysdeps/linux/x86_64/bits/syscalls.h 
b/libc/sysdeps/linux/x86_64/bits/syscalls.h
index 80f4259..3aabe67 100644
--- a/libc/sysdeps/linux/x86_64/bits/syscalls.h
+++ b/libc/sysdeps/linux/x86_64/bits/syscalls.h
@@ -13,59 +13,6 @@
 
 #include <errno.h>
 
-#define SYS_ify(syscall_name)  (__NR_##syscall_name)
-
-#undef _syscall0
-#define _syscall0(type,name) \
-type name(void) \
-{ \
-return (type) (INLINE_SYSCALL(name, 0)); \
-}
-
-#undef _syscall1
-#define _syscall1(type,name,type1,arg1) \
-type name(type1 arg1) \
-{ \
-return (type) (INLINE_SYSCALL(name, 1, arg1)); \
-}
-
-#undef _syscall2
-#define _syscall2(type,name,type1,arg1,type2,arg2) \
-type name(type1 arg1,type2 arg2) \
-{ \
-return (type) (INLINE_SYSCALL(name, 2, arg1, arg2)); \
-}
-
-#undef _syscall3
-#define _syscall3(type,name,type1,arg1,type2,arg2,type3,arg3) \
-type name(type1 arg1,type2 arg2,type3 arg3) \
-{ \
-return (type) (INLINE_SYSCALL(name, 3, arg1, arg2, arg3)); \
-}
-
-#undef _syscall4
-#define _syscall4(type,name,type1,arg1,type2,arg2,type3,arg3,type4,arg4) \
-type name (type1 arg1, type2 arg2, type3 arg3, type4 arg4) \
-{ \
-return (type) (INLINE_SYSCALL(name, 4, arg1, arg2, arg3, arg4)); \
-}
-
-#undef _syscall5
-#define _syscall5(type,name,type1,arg1,type2,arg2,type3,arg3,type4,arg4, \
-         type5,arg5) \
-type name (type1 arg1,type2 arg2,type3 arg3,type4 arg4,type5 arg5) \
-{ \
-return (type) (INLINE_SYSCALL(name, 5, arg1, arg2, arg3, arg4, arg5)); \
-}
-
-#undef _syscall6
-#define _syscall6(type,name,type1,arg1,type2,arg2,type3,arg3,type4,arg4, \
-         type5,arg5,type6,arg6) \
-type name (type1 arg1,type2 arg2,type3 arg3,type4 arg4,type5 arg5,type6 arg6) \
-{ \
-return (type) (INLINE_SYSCALL(name, 6, arg1, arg2, arg3, arg4, arg5, arg6)); \
-}
-
 /* The Linux/x86-64 kernel expects the system call parameters in
    registers according to the following table:
 
@@ -103,9 +50,6 @@ return (type) (INLINE_SYSCALL(name, 6, arg1, arg2, arg3, 
arg4, arg5, arg6)); \
 
     Syscalls of more than 6 arguments are not supported.  */
 
-#undef SYS_ify
-#define SYS_ify(syscall_name)  __NR_##syscall_name
-
 #undef DO_CALL
 #define DO_CALL(syscall_name, args)            \
     DOARGS_##args                              \
@@ -122,20 +66,6 @@ return (type) (INLINE_SYSCALL(name, 6, arg1, arg2, arg3, 
arg4, arg5, arg6)); \
 
 /* Define a macro which expands inline into the wrapper code for a system
    call.  */
-#undef INLINE_SYSCALL
-#define INLINE_SYSCALL(name, nr, args...) \
-  ({                                                                         \
-    unsigned long _resultvar = INTERNAL_SYSCALL (name, , nr, args);          \
-    if (__builtin_expect (INTERNAL_SYSCALL_ERROR_P (_resultvar, ), 0))       \
-      {                                                                        
      \
-       __set_errno (INTERNAL_SYSCALL_ERRNO (_resultvar, ));                  \
-       _resultvar = (unsigned long) -1;                                        
      \
-      }                                                                        
      \
-    (long) _resultvar; })
-
-#undef INTERNAL_SYSCALL_DECL
-#define INTERNAL_SYSCALL_DECL(err) do { } while (0)
-
 #define INTERNAL_SYSCALL_NCS(name, err, nr, args...) \
   ({                                                                         \
     unsigned long resultvar;                                                 \
@@ -146,17 +76,9 @@ return (type) (INLINE_SYSCALL(name, 6, arg1, arg2, arg3, 
arg4, arg5, arg6)); \
     : "=a" (resultvar)                                                       \
     : "0" (name) ASM_ARGS_##nr : "memory", "cc", "r11", "cx");               \
     (long) resultvar; })
-#undef INTERNAL_SYSCALL
 #define INTERNAL_SYSCALL(name, err, nr, args...) \
   INTERNAL_SYSCALL_NCS (__NR_##name, err, nr, ##args)
 
-#undef INTERNAL_SYSCALL_ERROR_P
-#define INTERNAL_SYSCALL_ERROR_P(val, err) \
-  ((unsigned long) (val) >= -4095L)
-
-#undef INTERNAL_SYSCALL_ERRNO
-#define INTERNAL_SYSCALL_ERRNO(val, err)       (-(val))
-
 #define LOAD_ARGS_0()
 #define LOAD_REGS_0
 #define ASM_ARGS_0
diff --git a/libc/sysdeps/linux/xtensa/bits/syscalls.h 
b/libc/sysdeps/linux/xtensa/bits/syscalls.h
index a59a805..6b87ace 100644
--- a/libc/sysdeps/linux/xtensa/bits/syscalls.h
+++ b/libc/sysdeps/linux/xtensa/bits/syscalls.h
@@ -9,8 +9,6 @@
    glibc .../sysdeps/unix/sysv/linux/xtensa/sysdep.h
 */
 
-#define SYS_ify(syscall_name)  __NR_##syscall_name
-
 #ifdef __ASSEMBLER__
 
 /* The register layout upon entering the function is:
@@ -74,19 +72,6 @@
 /* Define a macro which expands into the inline wrapper code for a system
    call.  */
 
-#undef INLINE_SYSCALL
-#define INLINE_SYSCALL(name, nr, args...)                                    \
-  ({ unsigned long resultvar = INTERNAL_SYSCALL (name, , nr, args);          \
-     if (__builtin_expect (INTERNAL_SYSCALL_ERROR_P (resultvar, ), 0))       \
-       {                                                                     \
-         __set_errno (INTERNAL_SYSCALL_ERRNO (resultvar, ));                 \
-        resultvar = (unsigned long) -1;                                        
      \
-       }                                                                     \
-   (long) resultvar; })
-
-#undef INTERNAL_SYSCALL_DECL
-#define INTERNAL_SYSCALL_DECL(err) do { } while (0)
-
 #define INTERNAL_SYSCALL_NCS(name, err, nr, args...)                         \
   ({ LD_ARG(2, name);                                                        \
      LD_ARGS_##nr(args);                                                     \
@@ -96,45 +81,8 @@
                   : "memory");                                               \
      (long) _a2; })
 
-#undef INTERNAL_SYSCALL
 #define INTERNAL_SYSCALL(name, err, nr, args...)                             \
   INTERNAL_SYSCALL_NCS (__NR_##name, err, nr, ##args)
 
-#undef INTERNAL_SYSCALL_ERROR_P
-#define INTERNAL_SYSCALL_ERROR_P(val, err)                                   \
-  ((unsigned long) (val) >= -4095L)
-
-#undef INTERNAL_SYSCALL_ERRNO
-#define INTERNAL_SYSCALL_ERRNO(val, err)       (-(val))
-
-#define _syscall0(args...)             SYSCALL_FUNC (0, args)
-#define _syscall1(args...)             SYSCALL_FUNC (1, args)
-#define _syscall2(args...)             SYSCALL_FUNC (2, args)
-#define _syscall3(args...)             SYSCALL_FUNC (3, args)
-#define _syscall4(args...)             SYSCALL_FUNC (4, args)
-#define _syscall5(args...)             SYSCALL_FUNC (5, args)
-#define _syscall6(args...)             SYSCALL_FUNC (6, args)
-
-#define C_DECL_ARGS_0()                        void
-#define C_DECL_ARGS_1(t, v)            t v
-#define C_DECL_ARGS_2(t, v, args...)   t v, C_DECL_ARGS_1(args)
-#define C_DECL_ARGS_3(t, v, args...)   t v, C_DECL_ARGS_2(args)
-#define C_DECL_ARGS_4(t, v, args...)   t v, C_DECL_ARGS_3(args)
-#define C_DECL_ARGS_5(t, v, args...)   t v, C_DECL_ARGS_4(args)
-#define C_DECL_ARGS_6(t, v, args...)   t v, C_DECL_ARGS_5(args)
-
-#define C_ARGS_0()
-#define C_ARGS_1(t, v)                 v
-#define C_ARGS_2(t, v, args...)                v, C_ARGS_1 (args)
-#define C_ARGS_3(t, v, args...)                v, C_ARGS_2 (args)
-#define C_ARGS_4(t, v, args...)                v, C_ARGS_3 (args)
-#define C_ARGS_5(t, v, args...)                v, C_ARGS_4 (args)
-#define C_ARGS_6(t, v, args...)                v, C_ARGS_5 (args)
-
-#define SYSCALL_FUNC(nargs, type, name, args...)                             \
-type name (C_DECL_ARGS_##nargs (args)) {                                     \
-       return (type) INLINE_SYSCALL (name, nargs, C_ARGS_##nargs (args));    \
-}
-
 #endif /* not __ASSEMBLER__ */
 #endif /* _BITS_SYSCALLS_H */
-- 
1.6.3.3

_______________________________________________
uClibc mailing list
uClibc@uclibc.org
http://lists.busybox.net/mailman/listinfo/uclibc

Reply via email to