diff options
Diffstat (limited to 'sysdeps/unix/sysv/linux/mmap64.c')
-rw-r--r-- | sysdeps/unix/sysv/linux/mmap64.c | 13 |
1 files changed, 5 insertions, 8 deletions
diff --git a/sysdeps/unix/sysv/linux/mmap64.c b/sysdeps/unix/sysv/linux/mmap64.c index a8da641d2b..4af0dfde3a 100644 --- a/sysdeps/unix/sysv/linux/mmap64.c +++ b/sysdeps/unix/sysv/linux/mmap64.c @@ -1,4 +1,4 @@ -/* Copyright (C) 1999-2015 Free Software Foundation, Inc. +/* Copyright (C) 1999-2016 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Jakub Jelinek <jakub@redhat.com>, 1999. @@ -25,12 +25,12 @@ #include <sys/syscall.h> /* This is always 12, even on architectures where PAGE_SHIFT != 12. */ +#ifndef MMAP2_PAGE_SHIFT +# define MMAP2_PAGE_SHIFT 12 +#endif #if MMAP2_PAGE_SHIFT == -1 static int page_shift; #else -# ifndef MMAP2_PAGE_SHIFT -# define MMAP2_PAGE_SHIFT 12 -# endif #define page_shift MMAP2_PAGE_SHIFT #endif @@ -46,10 +46,7 @@ __mmap64 (void *addr, size_t len, int prot, int flags, int fd, off64_t offset) } #endif if (offset & ((1 << page_shift) - 1)) - { - __set_errno (EINVAL); - return MAP_FAILED; - } + return (void *) INLINE_SYSCALL_ERROR_RETURN_VALUE (EINVAL); void *result; result = (void *) INLINE_SYSCALL (mmap2, 6, addr, |