fix sendfile syscall to use 64-bit off_t

somehow the remapping of this syscall to the 64-bit version was
overlooked. the issue was found, and patch provided, by Stefan
Kristiansson. presumably the reason this bug was not caught earlier is
that the syscall takes a pointer to off_t rather than a value, so on
little-endian systems, everything appears to work as long as the
offset value fits in the low 31 bits. on big-endian systems, though,
sendfile was presumably completely non-functional.
This commit is contained in:
Rich Felker 2014-05-30 01:12:42 -04:00
parent dd5f50da6f
commit 55f45bc722
1 changed files with 5 additions and 0 deletions

View File

@ -163,6 +163,11 @@ long __syscall_ret(unsigned long), __syscall(syscall_arg_t, ...),
#define SYS_fadvise SYS_fadvise64_64
#endif
#ifdef SYS_sendfile64
#undef SYS_sendfile
#define SYS_sendfile SYS_sendfile64
#endif
/* socketcall calls */
#define __SC_socket 1