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


Frederic Weisbecker wrote:
On Mon, Oct 05, 2009 at 04:18:39PM -0400, Masami Hiramatsu wrote:
Frederic Weisbecker wrote:
For the function arguments, I guess we don't need to worry
anymore about r0, r1, etc... but we can deal with the true var
name, without any kind of prefixes.

This depends on ABI, function argument from ABI doesn't need debuginfo, but it will be unstable on some arch, e.g. x86-32 with/without asmlinkage.

Thus, I think that we can just describe where function arguments
will be(e.g. arg0 is ax) as a note for each architecture
in Documents/trace/kprobetrace.txt.


Yeah that may help. Although everyone can look at the calling convention
ABI for a given arch but that would still help.


What about @return :-) ?

Hmm, it might conflict with global symbol... Maybe, we can remove this because retprobe already shows return address in the head of entry.


It won't conflict since "return" is a reserved word and can't then be
used as a symbol.

But yeah, if it's an embeded field, we should remove it.


What if we take the following:

[Ftrace and perf probe side]

%reg = registers, we can also play with deref and offsets like (%esp), 8(%esp), etc.

Hmm, on x86-32, sp at intr context is not pointing the top of stack. actually&sp is the real address of the stack :( Perhaps, on x86-32, we can translate %sp to stack address in kprobe-tracer.


Oh? You mean in the saved registers while triggering an int 3?

Yes, interrupt/exception handlers don't save sp on x86-32.


arg(n) = arg number, where n is the number

How about %N? or just adds a note in documents.




Hmm, the problem is that %1, %2, etc. is not very self-explainable.

May be %arg1, %arg2, etc.. But would that sound confusing since we
have % for registers?

As I sent right now, how about %argumentN ? it will not conflict with register names...

Thank you,

--
Masami Hiramatsu

Software Engineer
Hitachi Computer Products (America), Inc.
Software Solutions Division

e-mail: mhiramat@redhat.com


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