summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRiku Voipio <riku.voipio@linaro.org>2013-03-20 07:51:18 -0700
committerBrandon Philips <brandon@ifup.co>2013-03-20 08:04:53 -0700
commita357679a1e33a6567f64452cf2b5041f411568c0 (patch)
treef3753eff5c9167aef8823494a8614bd4ce3e8053
parent5d8dc006a20ec11ffd54eb388433aa89bf345ec6 (diff)
downloadattr-riku-syscall-fix.tar.gz
libattr: syscalls: use syscalls.hriku-syscall-fix
Include syscalls.h and check for __NR_setxattr being set. This fixes the build on new and odd archs but may break on really really old machines with out of date syscalls.h.
-rw-r--r--libattr/syscalls.c166
1 files changed, 2 insertions, 164 deletions
diff --git a/libattr/syscalls.c b/libattr/syscalls.c
index cbfec57..51fe98c 100644
--- 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