This is the mail archive of the
systemtap@sourceware.org
mailing list for the systemtap project.
Re: Probingof syscall.*.return fails
Hi -
On Wed, Sep 10, 2008 at 12:43:48AM +0200, Martin Süßkraut wrote:
> [...]
> The script is now:
>
> probe process.syscall.return {
> if (target() == pid())
> printf ("%d: %d\n", $syscall, $return)
> }
> semantic error: invalid target symbol for utrace probe, $syscall
> expected: identifier '$return' at tracing.stp:3:32 while resolving
Right, the underlying utrace mechanisms don't preserve incoming system
call values such as $syscall and $argN for later processing during
system-call return. $return (and only $return) is there.
We (in the systemtap layer) could endavour to snapshot them the same
way we do e.g. kernel.function() $$parms for kernel.function().return
probes. In the mean time, you could have a probe in process.syscall
to save the $syscall etc., value into a tid()-indexed array, then you
could check (& delete) that in the process.syscall.return probe later.
- FChE