openat is not an implemented syscall on linux-2.4, so make it only available for...
[openwrt/svn-archive/archive.git] / toolchain / uClibc / patches / 160-add_openat_and_friends.patch
index 74dff7bbf36077176a7df813b5fdba11b967a184..e8adbb8fda0b1c937db14f40e8eb8bedd3feeaa5 100644 (file)
@@ -2,7 +2,7 @@ Index: uClibc-0.9.29/libc/sysdeps/linux/common/openat.c
 ===================================================================
 --- /dev/null  1970-01-01 00:00:00.000000000 +0000
 +++ uClibc-0.9.29/libc/sysdeps/linux/common/openat.c   2008-10-27 12:59:25.000000000 +0100
 ===================================================================
 --- /dev/null  1970-01-01 00:00:00.000000000 +0000
 +++ uClibc-0.9.29/libc/sysdeps/linux/common/openat.c   2008-10-27 12:59:25.000000000 +0100
-@@ -0,0 +1,41 @@
+@@ -0,0 +1,44 @@
 +/* vi: set sw=4 ts=4: */
 +/*
 + * openat() for uClibc
 +/* vi: set sw=4 ts=4: */
 +/*
 + * openat() for uClibc
@@ -18,9 +18,11 @@ Index: uClibc-0.9.29/libc/sysdeps/linux/common/openat.c
 +#include <fcntl.h>
 +#include <string.h>
 +#include <sys/param.h>
 +#include <fcntl.h>
 +#include <string.h>
 +#include <sys/param.h>
++#include <linux/version.h>
 +
 +extern __typeof(openat) __libc_openat;
 +
 +
 +extern __typeof(openat) __libc_openat;
 +
++#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,5,52)
 +#define __NR___syscall_openat __NR_openat
 +static inline _syscall4(int, __syscall_openat, int, fd, const char *, file,
 +              int, flags, __kernel_mode_t, mode);
 +#define __NR___syscall_openat __NR_openat
 +static inline _syscall4(int, __syscall_openat, int, fd, const char *, file,
 +              int, flags, __kernel_mode_t, mode);
@@ -44,6 +46,7 @@ Index: uClibc-0.9.29/libc/sysdeps/linux/common/openat.c
 +libc_hidden_proto(openat)
 +weak_alias(__libc_openat,openat)
 +libc_hidden_weak(openat)
 +libc_hidden_proto(openat)
 +weak_alias(__libc_openat,openat)
 +libc_hidden_weak(openat)
++#endif
 Index: uClibc-0.9.29/include/fcntl.h
 ===================================================================
 --- uClibc-0.9.29.orig/include/fcntl.h 2008-10-27 12:52:04.000000000 +0100
 Index: uClibc-0.9.29/include/fcntl.h
 ===================================================================
 --- uClibc-0.9.29.orig/include/fcntl.h 2008-10-27 12:52:04.000000000 +0100