From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 4495 invoked by alias); 3 Oct 2009 01:54:55 -0000 Received: (qmail 4263 invoked by uid 22791); 3 Oct 2009 01:54:54 -0000 X-SWARE-Spam-Status: No, hits=-2.6 required=5.0 tests=BAYES_00,SPF_PASS X-Spam-Check-By: sourceware.org Received: from mail-ew0-f224.google.com (HELO mail-ew0-f224.google.com) (209.85.219.224) by sourceware.org (qpsmtpd/0.43rc1) with ESMTP; Sat, 03 Oct 2009 01:54:50 +0000 Received: by ewy24 with SMTP id 24so4998572ewy.22 for ; Fri, 02 Oct 2009 18:54:47 -0700 (PDT) Received: by 10.211.132.3 with SMTP id j3mr311306ebn.54.1254534887797; Fri, 02 Oct 2009 18:54:47 -0700 (PDT) Received: from nowhere (ADijon-552-1-105-2.w90-33.abo.wanadoo.fr [90.33.184.2]) by mx.google.com with ESMTPS id 24sm904883eyx.33.2009.10.02.18.54.45 (version=SSLv3 cipher=RC4-MD5); Fri, 02 Oct 2009 18:54:47 -0700 (PDT) Received: by nowhere (nbSMTP-1.00) for uid 1000 (using TLSv1/SSLv3 with cipher RC4-MD5 (128/128 bits)) fweisbec@gmail.com; Sat, 3 Oct 2009 03:54:47 +0200 (CEST) Date: Sat, 03 Oct 2009 01:54:00 -0000 From: Frederic Weisbecker To: Masami Hiramatsu Cc: Steven Rostedt , Ingo Molnar , lkml , systemtap , DLE , Thomas Gleixner , Arnaldo Carvalho de Melo , Mike Galbraith , Paul Mackerras , Peter Zijlstra , Christoph Hellwig , Ananth N Mavinakayanahalli , Jim Keniston , "Frank Ch. Eigler" Subject: Re: [PATCH tracing/kprobes v2 1/5] tracing/kprobes: Rename special variables syntax Message-ID: <20091003015444.GE4828@nowhere> References: <20091002214834.30906.86502.stgit@dhcp-100-2-132.bos.redhat.com> <20091002214842.30906.49220.stgit@dhcp-100-2-132.bos.redhat.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20091002214842.30906.49220.stgit@dhcp-100-2-132.bos.redhat.com> User-Agent: Mutt/1.5.18 (2008-05-17) Mailing-List: contact systemtap-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Post: List-Help: , Sender: systemtap-owner@sourceware.org X-SW-Source: 2009-q4/txt/msg00027.txt.bz2 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 > Cc: Frederic Weisbecker > Cc: Ingo Molnar > Cc: Thomas Gleixner > Cc: Arnaldo Carvalho de Melo > Cc: Steven Rostedt > Cc: Mike Galbraith > Cc: Paul Mackerras > Cc: Peter Zijlstra > Cc: Christoph Hellwig > Cc: Ananth N Mavinakayanahalli > Cc: Jim Keniston > Cc: Frank Ch. Eigler > --- > > 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...