[PATCH 3/6] libdrm: fix the Android 64bit build
Emil Velikov
emil.l.velikov at gmail.com
Thu Jan 29 11:22:12 PST 2015
On 29/01/15 19:00, Stéphane Marchesin wrote:
> On Thu, Jan 29, 2015 at 10:47 AM, Emil Velikov <emil.l.velikov at 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 at android-x86.org>
>> Signed-off-by: Emil Velikov <emil.l.velikov at 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/+/38fcbbb35a40c46e96b4df10d670d1c132910854%5E2%5E!/
More information about the dri-devel
mailing list