- if (!tcp->u_arg[6])
- tprintf(", NULL");
- else if (umove(tcp, tcp->u_arg[6], &offset) < 0)
- tprintf(", %#lx", tcp->u_arg[6]);
- else
- tprintf(", [%llu]", offset);
- tprintf(", %lu", tcp->u_arg[7]);
- }
- return 0;
-}
-#endif /* FREEBSD */
-
-#ifdef LINUX
-
-/* The SH4 ABI does allow long longs in odd-numbered registers, but
- does not allow them to be split between registers and memory - and
- there are only four argument registers for normal functions. As a
- result pread takes an extra padding argument before the offset. This
- was changed late in the 2.4 series (around 2.4.20). */
-#if defined(SH)
-#define PREAD_OFFSET_ARG 4
-#else
-#define PREAD_OFFSET_ARG 3
-#endif
-
-int
-sys_pread(tcp)
-struct tcb *tcp;
-{
- if (entering(tcp)) {
- tprintf("%ld, ", tcp->u_arg[0]);
- } else {
- if (syserror(tcp))
- tprintf("%#lx", tcp->u_arg[1]);
- else
- printstr(tcp, tcp->u_arg[1], tcp->u_rval);