diff options
-rw-r--r-- | ChangeLog | 14 | ||||
-rw-r--r-- | sysdeps/unix/sysv/linux/mips/mips32/mmap.c | 1 | ||||
-rw-r--r-- | sysdeps/unix/sysv/linux/mips/mips64/n32/mmap.c | 35 | ||||
-rw-r--r-- | sysdeps/unix/sysv/linux/mips/mips64/n32/syscalls.list | 2 | ||||
-rw-r--r-- | sysdeps/unix/sysv/linux/mips/mips64/n64/mmap64.c (renamed from sysdeps/unix/sysv/linux/mips/mips64/mmap64.c) | 0 | ||||
-rw-r--r-- | sysdeps/unix/sysv/linux/mips/mips64/n64/syscalls.list | 2 | ||||
-rw-r--r-- | sysdeps/unix/sysv/linux/mips/mips64/syscalls.list | 2 |
7 files changed, 54 insertions, 2 deletions
diff --git a/ChangeLog b/ChangeLog index a0fd225cc6..b1e619148e 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,17 @@ +2016-02-01 Joseph Myers <joseph@codesourcery.com> + + [BZ #19550] + * sysdeps/unix/sysv/linux/mips/mips32/mmap.c: New file. + * sysdeps/unix/sysv/linux/mips/mips64/mmap64.c: Move to .... + * sysdeps/unix/sysv/linux/mips/mips64/n64/mmap64.c: ... here. + * sysdeps/unix/sysv/linux/mips/mips64/n32/mmap.c: New file. + * sysdeps/unix/sysv/linux/mips/mips64/n32/syscalls.list (mmap64): + New syscall entry. + * sysdeps/unix/sysv/linux/mips/mips64/n64/syscalls.list (mmap): + New syscall entry. + * sysdeps/unix/sysv/linux/mips/mips64/syscalls.list (mmap): Remove + syscall entry. + 2016-01-27 Paul Eggert <eggert@cs.ucla.edu> [BZ #18240] diff --git a/sysdeps/unix/sysv/linux/mips/mips32/mmap.c b/sysdeps/unix/sysv/linux/mips/mips32/mmap.c new file mode 100644 index 0000000000..f30b1da58e --- /dev/null +++ b/sysdeps/unix/sysv/linux/mips/mips32/mmap.c @@ -0,0 +1 @@ +#include <sysdeps/unix/sysv/linux/generic/wordsize-32/mmap.c> diff --git a/sysdeps/unix/sysv/linux/mips/mips64/n32/mmap.c b/sysdeps/unix/sysv/linux/mips/mips64/n32/mmap.c new file mode 100644 index 0000000000..7afe776c7d --- /dev/null +++ b/sysdeps/unix/sysv/linux/mips/mips64/n32/mmap.c @@ -0,0 +1,35 @@ +/* mmap for MIPS n32. + Copyright (C) 2016 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library. If not, see + <http://www.gnu.org/licenses/>. */ + +#include <sys/types.h> +#include <sys/mman.h> +#include <errno.h> +#include <stdint.h> +#include <sysdep.h> + +__ptr_t +__mmap (__ptr_t addr, size_t len, int prot, int flags, int fd, off_t offset) +{ + /* To handle negative offsets consistently with other architectures, + the offset must be zero-extended to 64-bit. */ + uint64_t offset_adj = (uint64_t) (uint32_t) offset; + return (__ptr_t) INLINE_SYSCALL (mmap, 6, addr, len, prot, flags, fd, + offset_adj); +} + +weak_alias (__mmap, mmap) diff --git a/sysdeps/unix/sysv/linux/mips/mips64/n32/syscalls.list b/sysdeps/unix/sysv/linux/mips/mips64/n32/syscalls.list index 584ad1fcba..f55a94ac89 100644 --- a/sysdeps/unix/sysv/linux/mips/mips64/n32/syscalls.list +++ b/sysdeps/unix/sysv/linux/mips/mips64/n32/syscalls.list @@ -1,5 +1,7 @@ # File name Caller Syscall name # args Strong name Weak names +mmap64 - mmap b:aniiii __mmap64 mmap64 + readahead - readahead i:iii __readahead readahead sync_file_range - sync_file_range Ci:iiii sync_file_range diff --git a/sysdeps/unix/sysv/linux/mips/mips64/mmap64.c b/sysdeps/unix/sysv/linux/mips/mips64/n64/mmap64.c index 0dbd384a6a..0dbd384a6a 100644 --- a/sysdeps/unix/sysv/linux/mips/mips64/mmap64.c +++ b/sysdeps/unix/sysv/linux/mips/mips64/n64/mmap64.c diff --git a/sysdeps/unix/sysv/linux/mips/mips64/n64/syscalls.list b/sysdeps/unix/sysv/linux/mips/mips64/n64/syscalls.list index b23a2a1d1c..890a74494a 100644 --- a/sysdeps/unix/sysv/linux/mips/mips64/n64/syscalls.list +++ b/sysdeps/unix/sysv/linux/mips/mips64/n64/syscalls.list @@ -1,5 +1,7 @@ # File name Caller Syscall name # args Strong name Weak names +mmap - mmap b:aniiii __mmap mmap __mmap64 mmap64 + sync_file_range - sync_file_range Ci:iiii sync_file_range prlimit EXTRA prlimit64 i:iipp prlimit prlimit64 diff --git a/sysdeps/unix/sysv/linux/mips/mips64/syscalls.list b/sysdeps/unix/sysv/linux/mips/mips64/syscalls.list index 6c80e27f75..66cc687abb 100644 --- a/sysdeps/unix/sysv/linux/mips/mips64/syscalls.list +++ b/sysdeps/unix/sysv/linux/mips/mips64/syscalls.list @@ -2,8 +2,6 @@ lseek - lseek i:iii __libc_lseek __lseek lseek __llseek llseek __libc_lseek64 __lseek64 lseek64 -mmap - mmap b:aniiii __mmap mmap __mmap64 mmap64 - ftruncate - ftruncate i:ii __ftruncate ftruncate ftruncate64 __ftruncate64 truncate - truncate i:si truncate truncate64 |