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:
@@ -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));
|
||||
|
||||
Reference in New Issue
Block a user