mirror of
https://github.com/fluencelabs/musl
synced 2025-06-25 12:42:02 +00:00
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
This commit is contained in:
@ -7,7 +7,13 @@ static off_t retneg1(FILE *f, off_t off, int whence)
|
||||
|
||||
off_t __stdio_seek(FILE *f, off_t off, int whence)
|
||||
{
|
||||
off_t ret = __syscall_lseek(f->fd, off, whence);
|
||||
off_t ret;
|
||||
#ifdef __NR__llseek
|
||||
if (syscall5(__NR__llseek, f->fd, off>>32, off, (long)&ret, whence)<0)
|
||||
ret = -1;
|
||||
#else
|
||||
ret = syscall3(__NR_lseek, f->fd, off, whence);
|
||||
#endif
|
||||
/* Detect unseekable files and optimize future failures out */
|
||||
if (ret < 0 && off == 0 && whence == SEEK_CUR)
|
||||
f->seek = retneg1;
|
||||
|
Reference in New Issue
Block a user