tools/nolibc: handle 64-bit off_t for llseek

Correctly handle 64-bit off_t values in preparation for 64-bit off_t on
32-bit architectures.

Signed-off-by: Thomas Weißschuh <linux@weissschuh.net>
Acked-by: Arnd Bergmann <arnd@arndb.de>
Acked-by: Willy Tarreau <w@1wt.eu>
This commit is contained in:
Thomas Weißschuh
2025-10-29 17:02:52 +01:00
parent 87506e44cb
commit d93d0593dd

View File

@@ -612,8 +612,7 @@ off_t sys_lseek(int fd, off_t offset, int whence)
off_t result;
int ret;
/* Only exists on 32bit where nolibc off_t is also 32bit */
ret = my_syscall5(__NR_llseek, fd, 0, offset, &loff, whence);
ret = my_syscall5(__NR_llseek, fd, offset >> 32, (uint32_t)offset, &loff, whence);
if (ret < 0)
result = ret;
else if (loff != (off_t)loff)