2003-01-13 Roland McGrath <roland@redhat.com>
* defs.h [POWERPC] (UESP, EIP, EAX, ORIG_EAX): Remove this cruft. [LINUX && POWERPC && !__powerpc64__] (ALIGN64): New macro. * io.c (sys_pread, sys_pwrite): Use ALIGN64. From Anton Blanchard <anton@samba.org>.
This commit is contained in:
parent
6e87ee0d5c
commit
f5c450d3c5
12
defs.h
12
defs.h
@ -124,11 +124,6 @@
|
|||||||
#define __KERNEL__
|
#define __KERNEL__
|
||||||
#include <asm/ptrace.h>
|
#include <asm/ptrace.h>
|
||||||
#undef __KERNEL__
|
#undef __KERNEL__
|
||||||
/* TEMP */
|
|
||||||
#define UESP PT_R1
|
|
||||||
#define EIP PT_NIP
|
|
||||||
#define EAX PT_R3
|
|
||||||
#define ORIG_EAX PT_ORIG_R3
|
|
||||||
#endif
|
#endif
|
||||||
#ifdef __STDC__
|
#ifdef __STDC__
|
||||||
#ifdef LINUX
|
#ifdef LINUX
|
||||||
@ -550,6 +545,13 @@ do { \
|
|||||||
memmove (&tcp->u_arg[arg], &tcp->u_arg[arg + 1], \
|
memmove (&tcp->u_arg[arg], &tcp->u_arg[arg + 1], \
|
||||||
(tcp->u_nargs - arg - 1) * sizeof tcp->u_arg[0]); \
|
(tcp->u_nargs - arg - 1) * sizeof tcp->u_arg[0]); \
|
||||||
} while (0)
|
} while (0)
|
||||||
|
#elif defined(LINUX) && defined(POWERPC) && !defined(__powerpc64__)
|
||||||
|
#define ALIGN64(tcp,arg) \
|
||||||
|
do { \
|
||||||
|
if (!(arg % 2)) \
|
||||||
|
memmove (&tcp->u_arg[arg], &tcp->u_arg[arg + 1], \
|
||||||
|
(tcp->u_nargs - arg - 1) * sizeof tcp->u_arg[0]); \
|
||||||
|
} while (0)
|
||||||
#else
|
#else
|
||||||
#define ALIGN64(tcp,arg) do { } while (0)
|
#define ALIGN64(tcp,arg) do { } while (0)
|
||||||
#endif
|
#endif
|
||||||
|
2
io.c
2
io.c
@ -242,6 +242,7 @@ struct tcb *tcp;
|
|||||||
tprintf("%#lx", tcp->u_arg[1]);
|
tprintf("%#lx", tcp->u_arg[1]);
|
||||||
else
|
else
|
||||||
printstr(tcp, tcp->u_arg[1], tcp->u_rval);
|
printstr(tcp, tcp->u_arg[1], tcp->u_rval);
|
||||||
|
ALIGN64 (tcp, 2); /* PowerPC alignment restriction */
|
||||||
tprintf(", %lu, %llu", tcp->u_arg[2],
|
tprintf(", %lu, %llu", tcp->u_arg[2],
|
||||||
*(unsigned long long *)&tcp->u_arg[3]);
|
*(unsigned long long *)&tcp->u_arg[3]);
|
||||||
}
|
}
|
||||||
@ -255,6 +256,7 @@ struct tcb *tcp;
|
|||||||
if (entering(tcp)) {
|
if (entering(tcp)) {
|
||||||
tprintf("%ld, ", tcp->u_arg[0]);
|
tprintf("%ld, ", tcp->u_arg[0]);
|
||||||
printstr(tcp, tcp->u_arg[1], tcp->u_arg[2]);
|
printstr(tcp, tcp->u_arg[1], tcp->u_arg[2]);
|
||||||
|
ALIGN64 (tcp, 2); /* PowerPC alignment restriction */
|
||||||
tprintf(", %lu, %llu", tcp->u_arg[2],
|
tprintf(", %lu, %llu", tcp->u_arg[2],
|
||||||
*(unsigned long long *)&tcp->u_arg[3]);
|
*(unsigned long long *)&tcp->u_arg[3]);
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user