[uClibc-cvs] CVS uClibc/libc/sysdeps/linux/common

CVS User pkj pkj at codepoet.org
Wed Jan 19 07:48:00 UTC 2005


Update of /var/cvs/uClibc/libc/sysdeps/linux/common
In directory nail:/tmp/cvs-serv24132

Modified Files:
	posix_fadvise.c posix_fadvise64.c 
Log Message:
Make it compile for architectures which have __UCLIBC_HAS_LFS__ defined,
but neither __NR_fadvise64 nor __NR_fadvise64_64.


--- /var/cvs/uClibc/libc/sysdeps/linux/common/posix_fadvise.c	2005/01/17 23:18:56	1.1
+++ /var/cvs/uClibc/libc/sysdeps/linux/common/posix_fadvise.c	2005/01/19 07:48:00	1.2
@@ -1,5 +1,5 @@
 /* vi: set sw=4 ts=4: */
-/* 
+/*
  * posix_fadvise() for uClibc
  * http://www.opengroup.org/onlinepubs/009695399/functions/posix_fadvise.html
  *
@@ -13,7 +13,7 @@
 
 #ifdef __NR_fadvise64
 #define __NR___syscall_fadvise64 __NR_fadvise64
-_syscall4(int, __syscall_fadvise64, int, fd, off_t, offset, 
+_syscall4(int, __syscall_fadvise64, int, fd, off_t, offset,
           off_t, len, int, advice);
 int __libc_posix_fadvise(int fd, off_t offset, off_t len, int advice)
 {
@@ -21,14 +21,14 @@
 }
 weak_alias(__libc_posix_fadvise, posix_fadvise);
 
+#if defined __UCLIBC_HAS_LFS__ && !defined __NR_fadvise64_64
+weak_alias(__libc_posix_fadvise, posix_fadvise64);
+#endif
+
 #else
 int posix_fadvise(int fd, off_t offset, off_t len, int advice)
 {
-    __set_errno(ENOSYS);
-    return -1;
+	__set_errno(ENOSYS);
+	return -1;
 }
 #endif
-
-#if ! defined __NR_fadvise64_64 && defined __UCLIBC_HAS_LFS__
-weak_alias(__libc_posix_fadvise, posix_fadvise64);
-#endif
--- /var/cvs/uClibc/libc/sysdeps/linux/common/posix_fadvise64.c	2005/01/17 23:18:56	1.1
+++ /var/cvs/uClibc/libc/sysdeps/linux/common/posix_fadvise64.c	2005/01/19 07:48:00	1.2
@@ -1,5 +1,5 @@
 /* vi: set sw=4 ts=4: */
-/* 
+/*
  * posix_fadvise64() for uClibc
  * http://www.opengroup.org/onlinepubs/009695399/functions/posix_fadvise.html
  *
@@ -17,12 +17,13 @@
 #include <sys/syscall.h>
 #include <fcntl.h>
 
-#if defined __UCLIBC_HAS_LFS__ && defined __NR_fadvise64_64
+#ifdef __UCLIBC_HAS_LFS__
+#ifdef __NR_fadvise64_64
 #define __NR___syscall_fadvise64_64 __NR_fadvise64_64
 
 /* 64 bit implementation is cake ... or more like pie ... */
 #if __WORDSIZE == 64
-_syscall4(int, __syscall_fadvise64_64, int, fd, __off64_t, offset, 
+_syscall4(int, __syscall_fadvise64_64, int, fd, __off64_t, offset,
           __off64_t, len, int, advice);
 int __libc_posix_fadvise64(int fd, __off64_t offset, __off64_t len, int advice)
 {
@@ -34,9 +35,9 @@
 #elif __WORDSIZE == 32
 
 #ifdef _syscall6 /* workaround until everyone has _syscall6() */
-_syscall6(int, __syscall_fadvise64_64, int, fd, 
-          unsigned long, high_offset, unsigned long, low_offset, 
-          unsigned long, high_len, unsigned long, low_len, 
+_syscall6(int, __syscall_fadvise64_64, int, fd,
+          unsigned long, high_offset, unsigned long, low_offset,
+          unsigned long, high_len, unsigned long, low_len,
           int, advice);
 int __libc_posix_fadvise64(int fd, __off64_t offset, __off64_t len, int advice)
 {
@@ -54,4 +55,14 @@
 #error your machine is neither 32 bit or 64 bit ... it must be magical
 #endif
 
-#endif
+#elif !defined __NR_fadvise64
+/* This is declared as a weak alias in posix_fadvice.c if __NR_fadvise64
+ * is defined.
+ */
+int posix_fadvise64(int fd, __off64_t offset, __off64_t len, int advice)
+{
+	__set_errno(ENOSYS);
+	return -1;
+}
+#endif /* __NR_fadvise64_64 */
+#endif /* __UCLIBC_HAS_LFS__ */



More information about the uClibc-cvs mailing list