Przeglądaj źródła

fix building on 64bit hosts

Mike Frysinger 18 lat temu
rodzic
commit
2a623a604c
1 zmienionych plików z 7 dodań i 0 usunięć
  1. 7 0
      libc/sysdeps/linux/common/posix_fadvise.c

+ 7 - 0
libc/sysdeps/linux/common/posix_fadvise.c

@@ -8,15 +8,22 @@
  * Licensed under the LGPL v2.1, see the file COPYING.LIB in this tarball.
  * 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_fadvise64_64 doesnt exist */
+#define posix_fadvise64 __hideposix_fadvise64
+
 #include "syscalls.h"
 #include "syscalls.h"
 #include <fcntl.h>
 #include <fcntl.h>
 
 
+#undef posix_fadvise64
+
 #ifdef __NR_fadvise64
 #ifdef __NR_fadvise64
 #define __NR_posix_fadvise __NR_fadvise64
 #define __NR_posix_fadvise __NR_fadvise64
 _syscall4(int, posix_fadvise, int, fd, off_t, offset,
 _syscall4(int, posix_fadvise, int, fd, off_t, offset,
           off_t, len, int, advice);
           off_t, len, int, advice);
 
 
 #if defined __UCLIBC_HAS_LFS__ && (!defined __NR_fadvise64_64 || !defined _syscall6)
 #if defined __UCLIBC_HAS_LFS__ && (!defined __NR_fadvise64_64 || !defined _syscall6)
+extern __typeof(posix_fadvise) posix_fadvise64;
 strong_alias(posix_fadvise,posix_fadvise64)
 strong_alias(posix_fadvise,posix_fadvise64)
 #endif
 #endif