summaryrefslogtreecommitdiff
path: root/src/mman
diff options
context:
space:
mode:
authorRich Felker <dalias@aerifal.cx>2011-02-13 22:45:42 -0500
committerRich Felker <dalias@aerifal.cx>2011-02-13 22:45:42 -0500
commit2cdfb7ca26f46f151afbc23d5d94fc68597137f5 (patch)
tree0baa2cd0776f2a44997950e0bc8ab646dc2067b2 /src/mman
parent978ca016593077d27cc2a828f21c5e45e57074aa (diff)
downloadmusl-2cdfb7ca26f46f151afbc23d5d94fc68597137f5.tar.gz
cleaning up syscalls in preparation for x86_64 port
- hide all the legacy xxxxxx32 name cruft in syscall.h so the actual source files can be clean and uniform across all archs. - cleanup llseek/lseek and mmap2/mmap handling for 32/64 bit systems - alternate implementation for nice if the target lacks nice syscall
Diffstat (limited to 'src/mman')
-rw-r--r--src/mman/mmap.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/src/mman/mmap.c b/src/mman/mmap.c
index 93c76582..5be6e12d 100644
--- a/src/mman/mmap.c
+++ b/src/mman/mmap.c
@@ -10,7 +10,11 @@ void *__mmap(void *start, size_t len, int prot, int flags, int fd, off_t off)
if (sizeof(off_t) > sizeof(long))
if (((long)off & 0xfff) | ((long)((unsigned long long)off>>(12 + 8*(sizeof(off_t)-sizeof(long))))))
start = (void *)-1;
+#ifdef __NR_mmap2
return (void *)syscall6(__NR_mmap2, (long)start, len, prot, flags, fd, off>>12);
+#else
+ return (void *)syscall6(__NR_mmap, (long)start, len, prot, flags, fd, off);
+#endif
}
weak_alias(__mmap, mmap);