termux-packages/packages/parted/01_lseek.patch

35 lines
1.1 KiB
Diff

Change 64-bit offset code to Android variant.
Parted uses a workaround in case when off_t is 32-bit. This happens i.a.
on arm android. Use android functions rather than syscall.
--- src-orig/libparted/arch/linux.c 2018-06-21 02:53:48.635160013 +0200
+++ src/libparted/arch/linux.c 2018-06-21 02:59:37.842096052 +0200
@@ -1712,25 +1712,10 @@
#if SIZEOF_OFF_T < 8
-static _syscall5(int,_llseek,
- unsigned int, fd,
- unsigned long, offset_high,
- unsigned long, offset_low,
- loff_t*, result,
- unsigned int, origin)
-
loff_t
llseek (unsigned int fd, loff_t offset, unsigned int whence)
{
- loff_t result;
- int retval;
-
- retval = _llseek(fd,
- ((unsigned long long)offset) >> 32,
- ((unsigned long long)offset) & 0xffffffff,
- &result,
- whence);
- return (retval==-1 ? (loff_t) retval : result);
+ return lseek64(fd, offset, whence);
}
#endif /* SIZEOF_OFF_T < 8 */