utrace syscall arguments

Roland McGrath roland@redhat.com
Tue Apr 21 01:19:00 GMT 2009


> On ia64, dup is 1057.  The first dup call above works correctly and sees
> the 1st argument as 2.  The second dup call sees 0x421 as the 1st
> argument (0x421 is 1057) and 2 as the 2nd argument.
> 
> The utrace_syscall_args test sees the same problem.  When syscall() is
> used, the arguments are shifted over by 1.

Ok, that is a problem with the upstream ia64_syscall_get_set_arguments
implementation.  We should punt it to the ia64 kernel folks and then
propagate whatever their fixes are.

In the upstream kernel, a test using e.g. read() vs syscall(__NR_read,)
to sample /proc/self/syscall ought to demonstrate the problem.  That's
a simple test and in pure upstream ia64 terms.


Thanks,
Roland



More information about the Systemtap mailing list