This is the mail archive of the systemtap@sourceware.org mailing list for the systemtap project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]