summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/gallium/auxiliary/os/os_mman.h21
1 files changed, 3 insertions, 18 deletions
diff --git a/src/gallium/auxiliary/os/os_mman.h b/src/gallium/auxiliary/os/os_mman.h
index 2ae0027c1c2..c7ef9d02170 100644
--- a/src/gallium/auxiliary/os/os_mman.h
+++ b/src/gallium/auxiliary/os/os_mman.h
@@ -45,30 +45,15 @@
# error Unsupported OS
#endif
-#if defined(PIPE_OS_ANDROID)
-# include <errno.h> /* for EINVAL */
-#endif
-
#ifdef __cplusplus
extern "C" {
#endif
#if defined(PIPE_OS_ANDROID) && !defined(__LP64__)
-
-extern void *__mmap2(void *, size_t, int, int, int, size_t);
-
-static inline void *os_mmap(void *addr, size_t length, int prot, int flags,
- int fd, loff_t offset)
-{
- /* offset must be aligned to 4096 (not necessarily the page size) */
- if (unlikely(offset & 4095)) {
- errno = EINVAL;
- return MAP_FAILED;
- }
-
- return __mmap2(addr, length, prot, flags, fd, (size_t) (offset >> 12));
-}
+/* 32-bit needs mmap64 for 64-bit offsets */
+# define os_mmap(addr, length, prot, flags, fd, offset) \
+ mmap64(addr, length, prot, flags, fd, offset)
# define os_munmap(addr, length) \
munmap(addr, length)