On 29/01/15 19:00, Stéphane Marchesin wrote:
On Thu, Jan 29, 2015 at 10:47 AM, Emil Velikov emil.l.velikov@gmail.com wrote:
With 64bit bionic mmap now handles 64bit offset, thus we no longer need the __mmap2 trick.
Fix from Chih-Wei Huang, over at the google forums.
Cc: Chih-Wei Huang cwhuang@android-x86.org Signed-off-by: Emil Velikov emil.l.velikov@gmail.com
libdrm.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/libdrm.h b/libdrm.h index acfada5..6c3cd59 100644 --- a/libdrm.h +++ b/libdrm.h @@ -45,7 +45,7 @@
#include <sys/mman.h>
-#if defined(ANDROID) +#if defined(ANDROID) && !defined(__LP64__) #include <errno.h> /* for EINVAL */
extern void *__mmap2(void *, size_t, int, int, int, size_t);
It seems like you're be better off just using mmap64 instead of __mpap2?
I was thinking about that but decided against it due to:
- For 64bit platforms - mmap64 maps directly to mmap [1].
- For other platforms (kitkat at least) mmap64 does a costly (according to the man page) syscall (don't recall the name).
- Some systems may be lacking mmap64.
Quite a noobie on the topic so I might be completely wrong :)
Thanks Emil
[1] https://android.googlesource.com/platform/bionic.git/+/38fcbbb35a40c46e96b4d...