http://lists.nongnu.org/archive/html/acl-devel/2012-12/msg00000.html
https://bugs.gentoo.org/460702

--- a/libattr/syscalls.c
+++ b/libattr/syscalls.c
@@ -23,172 +23,10 @@
 
 #include <errno.h>
 #include <unistd.h>
+#include <sys/syscall.h>
 
-#if defined (__i386__)
+#if defined (__NR_setxattr)
 # define HAVE_XATTR_SYSCALLS 1
-# define __NR_setxattr		226
-# define __NR_lsetxattr		227
-# define __NR_fsetxattr		228
-# define __NR_getxattr		229
-# define __NR_lgetxattr		230
-# define __NR_fgetxattr		231
-# define __NR_listxattr		232
-# define __NR_llistxattr	233
-# define __NR_flistxattr	234
-# define __NR_removexattr	235
-# define __NR_lremovexattr	236
-# define __NR_fremovexattr	237
-#elif defined (__sparc__)
-# define HAVE_XATTR_SYSCALLS 1
-# define __NR_setxattr		169
-# define __NR_lsetxattr		170
-# define __NR_fsetxattr		171
-# define __NR_getxattr		172
-# define __NR_lgetxattr		173
-# define __NR_fgetxattr		177
-# define __NR_listxattr		178
-# define __NR_llistxattr	179
-# define __NR_flistxattr	180
-# define __NR_removexattr	181
-# define __NR_lremovexattr	182
-# define __NR_fremovexattr	186
-#elif defined (__ia64__)
-# define HAVE_XATTR_SYSCALLS 1
-# define __NR_setxattr		1217
-# define __NR_lsetxattr		1218
-# define __NR_fsetxattr		1219
-# define __NR_getxattr		1220
-# define __NR_lgetxattr		1221
-# define __NR_fgetxattr		1222
-# define __NR_listxattr		1223
-# define __NR_llistxattr	1224
-# define __NR_flistxattr	1225
-# define __NR_removexattr	1226
-# define __NR_lremovexattr	1227
-# define __NR_fremovexattr	1228
-#elif defined (__powerpc__)
-# define HAVE_XATTR_SYSCALLS 1
-# define __NR_setxattr		209
-# define __NR_lsetxattr		210
-# define __NR_fsetxattr		211
-# define __NR_getxattr		212
-# define __NR_lgetxattr		213
-# define __NR_fgetxattr		214
-# define __NR_listxattr		215
-# define __NR_llistxattr	216
-# define __NR_flistxattr	217
-# define __NR_removexattr	218
-# define __NR_lremovexattr	219
-# define __NR_fremovexattr	220
-#elif defined (__x86_64__)
-# define HAVE_XATTR_SYSCALLS 1
-# define __NR_setxattr		188
-# define __NR_lsetxattr		189
-# define __NR_fsetxattr		190
-# define __NR_getxattr		191
-# define __NR_lgetxattr		192
-# define __NR_fgetxattr		193
-# define __NR_listxattr		194
-# define __NR_llistxattr	195
-# define __NR_flistxattr	196
-# define __NR_removexattr	197
-# define __NR_lremovexattr	198
-# define __NR_fremovexattr	199
-#elif defined (__s390__)
-# define HAVE_XATTR_SYSCALLS 1
-# define __NR_setxattr		224
-# define __NR_lsetxattr		225
-# define __NR_fsetxattr		226
-# define __NR_getxattr		227
-# define __NR_lgetxattr		228
-# define __NR_fgetxattr		229
-# define __NR_listxattr		230
-# define __NR_llistxattr	231
-# define __NR_flistxattr	232
-# define __NR_removexattr	233
-# define __NR_lremovexattr	234
-# define __NR_fremovexattr	235
-#elif defined (__arm__)
-# define HAVE_XATTR_SYSCALLS 1
-# if defined(__ARM_EABI__) || defined(__thumb__)
-#  define __NR_SYSCALL_BASE 0
-# else
-#  define __NR_SYSCALL_BASE 0x900000
-# endif
-# define __NR_setxattr		(__NR_SYSCALL_BASE+226)
-# define __NR_lsetxattr		(__NR_SYSCALL_BASE+227)
-# define __NR_fsetxattr		(__NR_SYSCALL_BASE+228)
-# define __NR_getxattr		(__NR_SYSCALL_BASE+229)
-# define __NR_lgetxattr		(__NR_SYSCALL_BASE+230)
-# define __NR_fgetxattr		(__NR_SYSCALL_BASE+231)
-# define __NR_listxattr		(__NR_SYSCALL_BASE+232)
-# define __NR_llistxattr	(__NR_SYSCALL_BASE+233)
-# define __NR_flistxattr	(__NR_SYSCALL_BASE+234)
-# define __NR_removexattr	(__NR_SYSCALL_BASE+235)
-# define __NR_lremovexattr	(__NR_SYSCALL_BASE+236)
-# define __NR_fremovexattr	(__NR_SYSCALL_BASE+237)
-#elif defined (__mips64)
-# define HAVE_XATTR_SYSCALLS 1
-# ifdef __LP64__ /* mips64 using n64 ABI */
-#  define __NR_Linux 5000
-# else /* mips64 using n32 ABI */
-#  define __NR_Linux 6000
-# endif
-# define __NR_setxattr		(__NR_Linux + 180)
-# define __NR_lsetxattr		(__NR_Linux + 181)
-# define __NR_fsetxattr		(__NR_Linux + 182)
-# define __NR_getxattr		(__NR_Linux + 183)
-# define __NR_lgetxattr		(__NR_Linux + 184)
-# define __NR_fgetxattr		(__NR_Linux + 185)
-# define __NR_listxattr		(__NR_Linux + 186)
-# define __NR_llistxattr	(__NR_Linux + 187)
-# define __NR_flistxattr	(__NR_Linux + 188)
-# define __NR_removexattr	(__NR_Linux + 189)
-# define __NR_lremovexattr	(__NR_Linux + 190)
-# define __NR_fremovexattr	(__NR_Linux + 191)
-#elif defined (__mips__) /* mips32, or mips64 using o32 ABI */
-# define HAVE_XATTR_SYSCALLS 1
-# define __NR_Linux 4000
-# define __NR_setxattr		(__NR_Linux + 224)
-# define __NR_lsetxattr		(__NR_Linux + 225)
-# define __NR_fsetxattr		(__NR_Linux + 226)
-# define __NR_getxattr		(__NR_Linux + 227)
-# define __NR_lgetxattr		(__NR_Linux + 228)
-# define __NR_fgetxattr		(__NR_Linux + 229)
-# define __NR_listxattr		(__NR_Linux + 230)
-# define __NR_llistxattr	(__NR_Linux + 231)
-# define __NR_flistxattr	(__NR_Linux + 232)
-# define __NR_removexattr	(__NR_Linux + 233)
-# define __NR_lremovexattr	(__NR_Linux + 234)
-# define __NR_fremovexattr	(__NR_Linux + 235)
-#elif defined (__alpha__)
-# define HAVE_XATTR_SYSCALLS 1
-# define __NR_setxattr		382
-# define __NR_lsetxattr		383
-# define __NR_fsetxattr		384
-# define __NR_getxattr		385
-# define __NR_lgetxattr		386
-# define __NR_fgetxattr		387
-# define __NR_listxattr		388
-# define __NR_llistxattr	389
-# define __NR_flistxattr	390
-# define __NR_removexattr	391
-# define __NR_lremovexattr	392
-# define __NR_fremovexattr	393
-#elif defined (__mc68000__)
-# define HAVE_XATTR_SYSCALLS 1
-# define __NR_setxattr		223
-# define __NR_lsetxattr		224
-# define __NR_fsetxattr		225
-# define __NR_getxattr		226
-# define __NR_lgetxattr		227
-# define __NR_fgetxattr		228
-# define __NR_listxattr		229
-# define __NR_llistxattr	230
-# define __NR_flistxattr	231
-# define __NR_removexattr	232
-# define __NR_lremovexattr	233
-# define __NR_fremovexattr	234
 #else
 # warning "Extended attribute syscalls undefined for this architecture"
 # define HAVE_XATTR_SYSCALLS 0
