Browse Source

Solve sendfile64 conflict if __NR_sendfile64 does not exist

Peter S. Mazinger 18 years ago
parent
commit
5b3c9900ea
1 changed files with 6 additions and 4 deletions
  1. 6 4
      libc/sysdeps/linux/common/sendfile.c

+ 6 - 4
libc/sysdeps/linux/common/sendfile.c

@@ -7,17 +7,19 @@
  * Licensed under the LGPL v2.1, see the file COPYING.LIB in this tarball.
  */
 
+/* need to hide the 64bit prototype or the strong_alias()
+ * will fail when __NR_sendfile64 doesnt exist */
+#define sendfile64 __hidesendfile64
+
 #include "syscalls.h"
 #include <unistd.h>
 #include <sys/sendfile.h>
 
+#undef sendfile64
+
 _syscall4(ssize_t, sendfile, int, out_fd, int, in_fd, __off_t *, offset,
 		  size_t, count);
 
 #if ! defined __NR_sendfile64 && defined __UCLIBC_HAS_LFS__
-#undef sendfile64
-extern __typeof(sendfile) sendfile64;
-libc_hidden_proto(sendfile64)
 strong_alias(sendfile,sendfile64)
-libc_hidden_def(sendfile64)
 #endif