On Fri, Jan 01, 2016 at 11:05:04PM -0500, Mike Frysinger wrote: > On 31 Dec 2015 23:28, Aurelien Jarno wrote: > > I have found some times to investigate. It seems there is no issue, my > > bad. I just discovered that on s390x, syscalls numbers above 256 are > > actually a a call to syscall 0 with the syscall number passed in > > register %r1. My version of strace was not aware of the new syscalls > > and presented them as syscall setup(). Sorry for the false alert. > > is this a bug in strace ? does it not handle `svc 0` insns correctly ? > if so, we should fix that. i assumed the kernel would put the correct > NR into the r1 register regardless of how the syscall was invoked, but > maybe i'm being naive.
It's https://bugs.debian.org/485979 strace assumes that syscall number on s390/s390x is available in %r2, which is correct both for "svc NR" and "svc 0 %r1=NR" methods unless NR >= kernel's NR_syscalls. In the latter case, %r2 is set to 0 but the original value that was stored in %r1 is also available for a tracer. I've pushed a fix (strace commit v4.11-159-g1763fa5) for this longstanding issue. -- ldv
pgpx8XMgfIvxT.pgp
Description: PGP signature
------------------------------------------------------------------------------ Site24x7 APM Insight: Get Deep Visibility into Application Performance APM + Mobile APM + RUM: Monitor 3 App instances at just $35/Month Monitor end-to-end web transactions and take corrective actions now Troubleshoot faster and improve end-user experience. Signup Now! http://pubads.g.doubleclick.net/gampad/clk?id=267308311&iu=/4140
_______________________________________________ Strace-devel mailing list Strace-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/strace-devel