Blob Blame Raw
From 182a48b83c0319ec4bad60aecf1b688288bf0f9d Mon Sep 17 00:00:00 2001
From: Riku Voipio <riku.voipio@linaro.org>
Date: Wed, 20 Mar 2013 07:51:18 -0700
Subject: [PATCH] libattr: syscalls: use syscalls.h

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.

[upstream commit db54b565deace6d27eaa158508087ce54fe959c4]

Signed-off-by: Kamil Dudka <kdudka@redhat.com>
---
 libattr/syscalls.c |  166 +---------------------------------------------------
 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
-- 
1.7.1