In tapsets/s390x/registers.stp, the function _stp_arg() has this comment before it: /* * Return the value of function arg #argnum (1=first arg). ... * We don't yet support extracting arg #6 and beyond, which are passed * on stack */ Since the s390x doesn't support extracting arg6 (or greater), this means that the following nd_syscall probes fail: nd_syscall.epoll_pwait * nd_syscall.fork nd_syscall.futex nd_syscall.compat_futex nd_syscall.mbind * nd_syscall.move_pages * nd_syscall.pselect6 nd_syscall.compat_pselect6 nd_syscall.pselect7 nd_syscall.compat_pselect7a nd_syscall.recvfrom nd_syscall.sendto nd_syscall.splice Note that the optional probes marked with '*' don't actually exist on RHEL5 s390x (kernel 2.6.18-194.el5), but might exist in newer kernels. When the nd_syscalls.exp testcase is run, errors like the following will be seen: ERROR: Cannot access arg(6)
*** Bug 13377 has been marked as a duplicate of this bug. ***
Fixed in commit f861d05. The s390x _stp_arg() function now uses syscall_get_arguments(). On RHEL5, nd_syscall.exp goes from 44 FAILs to 0 FAILs, 6 KPASS. On RHEL6, nd_syscall.exp goes from 7 FAILs to 0 FAILs.