mirror of git://git.musl-libc.org/musl
fix broken lseek on x32 (x86_64/ILP32) with offsets larger than LONG_MAX
this is analogous to commit 918c5fa0fc
which fixed the corresponding issue for mips n32.
This commit is contained in:
parent
918c5fa0fc
commit
1a28c6eade
|
@ -0,0 +1,15 @@
|
|||
#include <unistd.h>
|
||||
#include "syscall.h"
|
||||
|
||||
off_t __lseek(int fd, off_t offset, int whence)
|
||||
{
|
||||
off_t ret;
|
||||
__asm__ __volatile__ ("syscall"
|
||||
: "=a"(ret)
|
||||
: "a"(SYS_lseek), "D"(fd), "S"(offset), "d"(whence)
|
||||
: "rcx", "r11", "memory");
|
||||
return ret < 0 ? __syscall_ret(ret) : ret;
|
||||
}
|
||||
|
||||
weak_alias(__lseek, lseek);
|
||||
weak_alias(__lseek, lseek64);
|
Loading…
Reference in New Issue