Fix lseek64 for aarch64 ILP32
Andreas Schwab
schwab@suse.de
Wed May 20 14:10:00 GMT 2015
This is needed on top of
https://sourceware.org/ml/libc-alpha/2014-10/msg00596.html and
http://sourceware.org/ml/libc-alpha/2015-03/msg00586.html to fix the
return value of lseek64 in the error case. Without this change it
returns 0xffffffff instead of -1.
Andreas.
* sysdeps/unix/sysv/linux/aarch64/sysdep.c (__syscall_error):
Change return type to __SYSCALL_SLONG_TYPE.
diff --git a/sysdeps/unix/sysv/linux/aarch64/sysdep.c b/sysdeps/unix/sysv/linux/aarch64/sysdep.c
index a50e847..e49c922 100644
--- a/sysdeps/unix/sysv/linux/aarch64/sysdep.c
+++ b/sysdeps/unix/sysv/linux/aarch64/sysdep.c
@@ -19,12 +19,12 @@
#include <sysdep.h>
#include <errno.h>
-long __syscall_error (long err);
+__SYSCALL_SLONG_TYPE __syscall_error (long err);
hidden_proto (__syscall_error)
/* This routine is jumped to by all the syscall handlers, to stash
an error number into errno. */
-long
+__SYSCALL_SLONG_TYPE
__syscall_error (long err)
{
__set_errno (- err);
--
2.4.1
--
Andreas Schwab, SUSE Labs, schwab@suse.de
GPG Key fingerprint = 0196 BAD8 1CE9 1970 F4BE 1748 E4D4 88E3 0EEA B9D7
"And now for something completely different."
More information about the Libc-alpha
mailing list