diff options
author | Lachlan McIlroy <lachlan@sgi.com> | 2006-12-09 02:55:09 +0000 |
---|---|---|
committer | Lachlan McIlroy <lachlan@sgi.com> | 2006-12-09 02:55:09 +0000 |
commit | a89797925d6c78a4ad1b5a42b52255cc5e9193a6 (patch) | |
tree | cb45ac0681d55bdd1322b6fe5234a303c2ded579 /libattr | |
parent | 384e0051a8f1ca7769bbc7ef05cf8239ce8fa5f8 (diff) | |
download | attr-a89797925d6c78a4ad1b5a42b52255cc5e9193a6.tar.gz |
Remove system call stubs from libattr, we always defer to
the libc interfaces in this day and age. Removes a SIGILL
delivery from the ARM EABI, reported by Lennert Buytenhek.
Also updates Debian packaging.
Merge of master-melb:xfs-cmds:27677a by kenmcd.
Diffstat (limited to 'libattr')
-rw-r--r-- | libattr/Makefile | 6 | ||||
-rw-r--r-- | libattr/syscalls.c | 259 |
2 files changed, 0 insertions, 265 deletions
diff --git a/libattr/Makefile b/libattr/Makefile index 697040c..ac39885 100644 --- a/libattr/Makefile +++ b/libattr/Makefile @@ -15,12 +15,6 @@ LT_AGE = 1 CFILES = libattr.c attr_copy_fd.c attr_copy_file.c attr_copy_check.c HFILES = libattr.h -ifeq ($(PKG_PLATFORM),linux) -CFILES += syscalls.c -else -LSRCFILES = syscalls.c -endif - LCFLAGS = -include libattr.h default: $(LTLIBRARY) diff --git a/libattr/syscalls.c b/libattr/syscalls.c index 544fed0..e69de29 100644 --- a/libattr/syscalls.c +++ b/libattr/syscalls.c @@ -1,259 +0,0 @@ -/* - * Copyright (c) 2001-2002 Silicon Graphics, Inc. - * All Rights Reserved. - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU General Public License as - * published by the Free Software Foundation. - * - * This program is distributed in the hope that it would be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write the Free Software Foundation, - * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - */ - -/* - * The use of the syscall() function is an additional level of - * indirection. This avoids the dependency on kernel sources. - */ - -#include <errno.h> -#include <unistd.h> - -#if defined (__i386__) -# 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 -# define __NR_SYSCALL_BASE 0x900000 -# 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 -# define __NR_Linux 5000 -# define __NR_setxattr (__NR_Linux + 217) -# define __NR_lsetxattr (__NR_Linux + 218) -# define __NR_fsetxattr (__NR_Linux + 219) -# define __NR_getxattr (__NR_Linux + 220) -# define __NR_lgetxattr (__NR_Linux + 221) -# define __NR_fgetxattr (__NR_Linux + 222) -# define __NR_listxattr (__NR_Linux + 223) -# define __NR_llistxattr (__NR_Linux + 224) -# define __NR_flistxattr (__NR_Linux + 225) -# define __NR_removexattr (__NR_Linux + 226) -# define __NR_lremovexattr (__NR_Linux + 227) -# define __NR_fremovexattr (__NR_Linux + 228) -#elif defined (__mips__) -# 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 -#endif - -#if HAVE_XATTR_SYSCALLS -# define SYSCALL(args...) syscall(args) -#else -# define SYSCALL(args...) ( errno = ENOSYS, -1 ) -#endif - -int setxattr (const char *path, const char *name, - void *value, size_t size, int flags) -{ - return SYSCALL(__NR_setxattr, path, name, value, size, flags); -} - -int lsetxattr (const char *path, const char *name, - void *value, size_t size, int flags) -{ - return SYSCALL(__NR_lsetxattr, path, name, value, size, flags); -} - -int fsetxattr (int filedes, const char *name, - void *value, size_t size, int flags) -{ - return SYSCALL(__NR_fsetxattr, filedes, name, value, size, flags); -} - -ssize_t getxattr (const char *path, const char *name, - void *value, size_t size) -{ - return SYSCALL(__NR_getxattr, path, name, value, size); -} - -ssize_t lgetxattr (const char *path, const char *name, - void *value, size_t size) -{ - return SYSCALL(__NR_lgetxattr, path, name, value, size); -} - -ssize_t fgetxattr (int filedes, const char *name, - void *value, size_t size) -{ - return SYSCALL(__NR_fgetxattr, filedes, name, value, size); -} - -ssize_t listxattr (const char *path, char *list, size_t size) -{ - return SYSCALL(__NR_listxattr, path, list, size); -} - -ssize_t llistxattr (const char *path, char *list, size_t size) -{ - return SYSCALL(__NR_llistxattr, path, list, size); -} - -ssize_t flistxattr (int filedes, char *list, size_t size) -{ - return SYSCALL(__NR_flistxattr, filedes, list, size); -} - -int removexattr (const char *path, const char *name) -{ - return SYSCALL(__NR_removexattr, path, name); -} - -int lremovexattr (const char *path, const char *name) -{ - return SYSCALL(__NR_lremovexattr, path, name); -} - -int fremovexattr (int filedes, const char *name) -{ - return SYSCALL(__NR_fremovexattr, filedes, name); -} |