mirror of
git://git.musl-libc.org/musl
synced 2024-12-17 04:05:05 +00:00
use namespace-safe __lseek for __stdio_seek instead of direct syscall
this probably saves a few bytes, avoids duplicating the clunky lseek/_llseek syscall convention in two places, and sets the stage for fixing broken seeks on x32 and mipsn32.
This commit is contained in:
parent
b07d45eb01
commit
03919b26ed
@ -9,5 +9,6 @@ hidden int __dup3(int, int, int);
|
||||
hidden int __mkostemps(char *, int, int);
|
||||
hidden int __execvpe(const char *, char *const *, char *const *);
|
||||
hidden int __aio_close(int);
|
||||
hidden off_t __lseek(int, off_t, int);
|
||||
|
||||
#endif
|
||||
|
@ -1,13 +1,7 @@
|
||||
#include "stdio_impl.h"
|
||||
#include <unistd.h>
|
||||
|
||||
off_t __stdio_seek(FILE *f, off_t off, int whence)
|
||||
{
|
||||
off_t ret;
|
||||
#ifdef SYS__llseek
|
||||
if (syscall(SYS__llseek, f->fd, off>>32, off, &ret, whence)<0)
|
||||
ret = -1;
|
||||
#else
|
||||
ret = syscall(SYS_lseek, f->fd, off, whence);
|
||||
#endif
|
||||
return ret;
|
||||
return __lseek(f->fd, off, whence);
|
||||
}
|
||||
|
@ -1,7 +1,7 @@
|
||||
#include <unistd.h>
|
||||
#include "syscall.h"
|
||||
|
||||
off_t lseek(int fd, off_t offset, int whence)
|
||||
off_t __lseek(int fd, off_t offset, int whence)
|
||||
{
|
||||
#ifdef SYS__llseek
|
||||
off_t result;
|
||||
@ -11,4 +11,5 @@ off_t lseek(int fd, off_t offset, int whence)
|
||||
#endif
|
||||
}
|
||||
|
||||
weak_alias(lseek, lseek64);
|
||||
weak_alias(__lseek, lseek);
|
||||
weak_alias(__lseek, lseek64);
|
||||
|
Loading…
Reference in New Issue
Block a user