Mesa (master): auxiliary/os: get the mmap/ munmap wrappers working with android
Emil Velikov
evelikov at kemper.freedesktop.org
Thu Oct 23 14:29:44 UTC 2014
Module: Mesa
Branch: master
Commit: c63eb5dd5eccf8ecfcb9d83d680e17d2d6a12e7b
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=c63eb5dd5eccf8ecfcb9d83d680e17d2d6a12e7b
Author: Emil Velikov <emil.l.velikov at gmail.com>
Date: Sun Oct 19 16:16:51 2014 +0100
auxiliary/os: get the mmap/munmap wrappers working with android
- Use macro for munmap under Android - the STATIC_ASSERT uses
a off_t which is not used under Android for mmap. As loff_t size
does not vary as does off_t just ignore the assert.
- Wrap the long lines to improve readability.
Signed-off-by: Emil Velikov <emil.l.velikov at gmail.com>
---
src/gallium/auxiliary/os/os_mman.h | 17 ++++++++++++-----
1 file changed, 12 insertions(+), 5 deletions(-)
diff --git a/src/gallium/auxiliary/os/os_mman.h b/src/gallium/auxiliary/os/os_mman.h
index 19478d2..19c9a5b 100644
--- a/src/gallium/auxiliary/os/os_mman.h
+++ b/src/gallium/auxiliary/os/os_mman.h
@@ -58,7 +58,8 @@ extern "C" {
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)
+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)) {
@@ -69,20 +70,26 @@ static INLINE void *os_mmap(void *addr, size_t length, int prot, int flags, int
return __mmap2(addr, length, prot, flags, fd, (size_t) (offset >> 12));
}
+# define drm_munmap(addr, length) \
+ munmap(addr, length)
+
#else
/* assume large file support exists */
-# define os_mmap(addr, length, prot, flags, fd, offset) mmap(addr, length, prot, flags, fd, offset)
-#endif
+# define os_mmap(addr, length, prot, flags, fd, offset) \
+ mmap(addr, length, prot, flags, fd, offset)
static INLINE int os_munmap(void *addr, size_t length)
{
/* Copied from configure code generated by AC_SYS_LARGEFILE */
-#define LARGE_OFF_T ((((off_t) 1 << 31) << 31) - 1 + (((off_t) 1 << 31) << 31))
- STATIC_ASSERT(LARGE_OFF_T % 2147483629 == 721 && LARGE_OFF_T % 2147483647 == 1);
+#define LARGE_OFF_T ((((off_t) 1 << 31) << 31) - 1 + \
+ (((off_t) 1 << 31) << 31))
+ STATIC_ASSERT(LARGE_OFF_T % 2147483629 == 721 &&
+ LARGE_OFF_T % 2147483647 == 1);
#undef LARGE_OFF_T
return munmap(addr, length);
}
+#endif
#ifdef __cplusplus
More information about the mesa-commit
mailing list