21 lines
532 B
C
21 lines
532 B
C
#include <unistd.h>
|
|
#include "syscall.h"
|
|
|
|
off_t __lseek(int fd, off_t offset, int whence)
|
|
{
|
|
register long long r4 __asm__("$4") = fd;
|
|
register long long r5 __asm__("$5") = offset;
|
|
register long long r6 __asm__("$6") = whence;
|
|
register long long r7 __asm__("$7");
|
|
register long long r2 __asm__("$2") = SYS_lseek;
|
|
__asm__ __volatile__ (
|
|
"syscall"
|
|
: "+&r"(r2), "=r"(r7)
|
|
: "r"(r4), "r"(r5), "r"(r6)
|
|
: SYSCALL_CLOBBERLIST);
|
|
return r7 ? __syscall_ret(-r2) : r2;
|
|
}
|
|
|
|
weak_alias(__lseek, lseek);
|
|
weak_alias(__lseek, lseek64);
|