diff options
author | Rich Felker <dalias@aerifal.cx> | 2011-02-13 22:45:42 -0500 |
---|---|---|
committer | Rich Felker <dalias@aerifal.cx> | 2011-02-13 22:45:42 -0500 |
commit | 2cdfb7ca26f46f151afbc23d5d94fc68597137f5 (patch) | |
tree | 0baa2cd0776f2a44997950e0bc8ab646dc2067b2 /src/unistd/lseek.c | |
parent | 978ca016593077d27cc2a828f21c5e45e57074aa (diff) | |
download | musl-2cdfb7ca26f46f151afbc23d5d94fc68597137f5.tar.gz musl-2cdfb7ca26f46f151afbc23d5d94fc68597137f5.tar.bz2 musl-2cdfb7ca26f46f151afbc23d5d94fc68597137f5.tar.xz musl-2cdfb7ca26f46f151afbc23d5d94fc68597137f5.zip |
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/unistd/lseek.c')
-rw-r--r-- | src/unistd/lseek.c | 13 |
1 files changed, 6 insertions, 7 deletions
diff --git a/src/unistd/lseek.c b/src/unistd/lseek.c index 0dab2679..0152866f 100644 --- a/src/unistd/lseek.c +++ b/src/unistd/lseek.c @@ -4,13 +4,12 @@ off_t lseek(int fd, off_t offset, int whence) { - /* optimized away at compiletime */ - if (sizeof(long) == 8) - return syscall3(__NR_lseek, fd, offset, whence); - else { - off_t result; - return syscall5(__NR__llseek, fd, offset>>32, offset, (long)&result, whence) ? -1 : result; - } +#ifdef __NR__llseek + off_t result; + return syscall5(__NR__llseek, fd, offset>>32, offset, (long)&result, whence) ? -1 : result; +#else + return syscall3(__NR_lseek, fd, offset, whence); +#endif } LFS64(lseek); |