1
0
mirror of https://sourceware.org/git/glibc.git synced 2025-12-24 17:51:17 +03:00

* sysdeps/unix/sysv/linux/mips/pread64.c (__libc_pread64): Fix

syscall invocation.
	* sysdeps/unix/sysv/linux/mips/pwrite64.c (__libc_pwrite64): Likewise.
	* sysdeps/unix/sysv/linux/mips/pread.c (__libc_pread): Likewise.
	Also, only assert off_t size is 4 for N32 and O32, and clean up
	white space.
	* sysdeps/unix/sysv/linux/mips/pwrite.c (__libc_pwrite): Likewise.
This commit is contained in:
Roland McGrath
2003-09-10 23:39:29 +00:00
parent 3879104893
commit 1fe4d5652d
5 changed files with 48 additions and 39 deletions

View File

@@ -51,32 +51,33 @@ __libc_pread (fd, buf, count, offset)
{
ssize_t result;
#if (defined _ABI64 && _MIPS_SIM != _ABI64)
assert (sizeof (offset) == 4);
#endif
if (SINGLE_THREAD_P)
{
/* First try the syscall. */
assert (sizeof (offset) == 4);
#if defined _ABI64 && _MIPS_SIM == _ABI64
result = INLINE_SYSCALL (pread, 5, fd, CHECK_N (buf, count), count, 0,
offset);
/* First try the syscall. */
#if (defined _ABIN32 && _MIPS_SIM == _ABIN32) || (defined _ABI64 && _MIPS_SIM == _ABI64)
result = INLINE_SYSCALL (pread, 4, fd, CHECK_N (buf, count), count,
offset);
#else
result = INLINE_SYSCALL (pread, 6, fd, CHECK_N (buf, count), count, 0,
__LONG_LONG_PAIR (offset >> 31, offset));
result = INLINE_SYSCALL (pread, 6, fd, CHECK_N (buf, count), count, 0,
__LONG_LONG_PAIR (offset >> 31, offset));
#endif
# if __ASSUME_PREAD_SYSCALL == 0
if (result == -1 && errno == ENOSYS)
/* No system call available. Use the emulation. */
result = __emulate_pread (fd, buf, count, offset);
if (result == -1 && errno == ENOSYS)
/* No system call available. Use the emulation. */
result = __emulate_pread (fd, buf, count, offset);
# endif
return result;
return result;
}
int oldtype = LIBC_CANCEL_ASYNC ();
/* First try the syscall. */
assert (sizeof (offset) == 4);
#if defined _ABI64 && _MIPS_SIM == _ABI64
result = INLINE_SYSCALL (pread, 5, fd, CHECK_N (buf, count), count, 0,
offset);
#if (defined _ABIN32 && _MIPS_SIM == _ABIN32) || (defined _ABI64 && _MIPS_SIM == _ABI64)
result = INLINE_SYSCALL (pread, 4, fd, CHECK_N (buf, count), count, offset);
#else
result = INLINE_SYSCALL (pread, 6, fd, CHECK_N (buf, count), count, 0,
__LONG_LONG_PAIR (offset >> 31, offset));