From 1a6470fc80031fc70b6c755e8d4f469bf98ad8aa Mon Sep 17 00:00:00 2001 From: "Dmitry V. Levin" Date: Wed, 17 Aug 2016 21:58:37 +0000 Subject: [PATCH] sparc64: fix decoding of the forth argument of semctl syscall On sparc64, unlike all other architectures where semctl is an indirect ipc subcall, the forth argument is passed directly. * ipc_sem.c (SYS_FUNC(semctl)) [SPARC64]: Print 4th argument without indirection in case of native personality. --- ipc_sem.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/ipc_sem.c b/ipc_sem.c index bf82f330..e6172eef 100644 --- a/ipc_sem.c +++ b/ipc_sem.c @@ -117,7 +117,11 @@ SYS_FUNC(semctl) tprintf("%lu, %lu, ", tcp->u_arg[0], tcp->u_arg[1]); PRINTCTL(semctl_flags, tcp->u_arg[2], "SEM_???"); tprints(", "); - if (indirect_ipccall(tcp)) { + if (indirect_ipccall(tcp) +#ifdef SPARC64 + && current_personality != 0 +#endif + ) { printnum_ptr(tcp, tcp->u_arg[3]); } else { tprintf("%#lx", tcp->u_arg[3]); -- 2.40.0