Re: [PATCH tracing/kprobes v2 1/5] tracing/kprobes: Rename specialvariables syntax

From: Masami Hiramatsu
Date: Mon Oct 05 2009 - 17:09:04 EST


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@xxxxxxxxxx

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/