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: [PATCH tracing/kprobes v2 1/5] tracing/kprobes: Rename special variables syntax


On Fri, Oct 02, 2009 at 05:48:42PM -0400, Masami Hiramatsu wrote:
> Add $ prefix to the special variables(e.g. sa, rv) of kprobe-tracer.
> This resolves consistency issue between kprobe_events and perf-kprobe.
> 
> Signed-off-by: Masami Hiramatsu <mhiramat@redhat.com>
> Cc: Frederic Weisbecker <fweisbec@gmail.com>
> Cc: Ingo Molnar <mingo@elte.hu>
> Cc: Thomas Gleixner <tglx@linutronix.de>
> Cc: Arnaldo Carvalho de Melo <acme@redhat.com>
> Cc: Steven Rostedt <rostedt@goodmis.org>
> Cc: Mike Galbraith <efault@gmx.de>
> Cc: Paul Mackerras <paulus@samba.org>
> Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
> Cc: Christoph Hellwig <hch@infradead.org>
> Cc: Ananth N Mavinakayanahalli <ananth@in.ibm.com>
> Cc: Jim Keniston <jkenisto@us.ibm.com>
> Cc: Frank Ch. Eigler <fche@redhat.com>
> ---
> 
>  Documentation/trace/kprobetrace.txt |   10 +++---
>  kernel/trace/trace_kprobe.c         |   60 ++++++++++++++++++++++-------------
>  2 files changed, 42 insertions(+), 28 deletions(-)
> 
> diff --git a/Documentation/trace/kprobetrace.txt b/Documentation/trace/kprobetrace.txt
> index 9b8f7c6..40caef0 100644
> --- a/Documentation/trace/kprobetrace.txt
> +++ b/Documentation/trace/kprobetrace.txt
> @@ -36,13 +36,13 @@ Synopsis of kprobe_events
>  
>   FETCHARGS	: Arguments. Each probe can have up to 128 args.
>    %REG	: Fetch register REG
> -  sN	: Fetch Nth entry of stack (N >= 0)
> -  sa	: Fetch stack address.
>    @ADDR	: Fetch memory at ADDR (ADDR should be in kernel)
>    @SYM[+|-offs]	: Fetch memory at SYM +|- offs (SYM should be a data symbol)
> -  aN	: Fetch function argument. (N >= 0)(*)
> -  rv	: Fetch return value.(**)
> -  ra	: Fetch return address.(**)
> +  $sN	: Fetch Nth entry of stack (N >= 0)
> +  $sa	: Fetch stack address.
> +  $aN	: Fetch function argument. (N >= 0)(*)
> +  $rv	: Fetch return value.(**)
> +  $ra	: Fetch return address.(**)



I feel uncomfortable with that, because of bash scripts that
may use it and always need to escape it with antislashes or
use single quotes for it to not be replaced by a random variable
value. If one uses double quotes without antislashes to protect
the command line, the result is unpredictable, depending of
the current set of variables...

May be we can use # instead of $ ? That's a kind of pity because
$ suggested a variable whereas # suggests a constant, we are then
losing this self-explainable characteristic for kprobes
"specific variable fetchs". But that will work without ambiguity.

I hope someone else has a better idea...


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