diff options
author | Masami Hiramatsu <mhiramat@redhat.com> | 2009-10-07 18:27:48 -0400 |
---|---|---|
committer | Frederic Weisbecker <fweisbec@gmail.com> | 2009-10-12 13:24:05 -0400 |
commit | 99329c44f28a1b7ac83beebfb4319e612042e319 (patch) | |
tree | dd28ca39b7a0b9130cc513f313255a38a8cea204 /kernel/trace | |
parent | 405b2651e4bedf8d3932b64cad649b4d26b067f5 (diff) |
tracing/kprobes: Remove '$ra' special variable
Remove '$ra' (return address) because it is already shown at the head of
each entry.
Signed-off-by: Masami Hiramatsu <mhiramat@redhat.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>
LKML-Reference: <20091007222748.1684.12711.stgit@dhcp-100-2-132.bos.redhat.com>
Signed-off-by: Frederic Weisbecker <fweisbec@gmail.com>
Diffstat (limited to 'kernel/trace')
-rw-r--r-- | kernel/trace/trace_kprobe.c | 11 |
1 files changed, 0 insertions, 11 deletions
diff --git a/kernel/trace/trace_kprobe.c b/kernel/trace/trace_kprobe.c index f63ead0cc5cf..ba6d3bd48889 100644 --- a/kernel/trace/trace_kprobe.c +++ b/kernel/trace/trace_kprobe.c | |||
@@ -85,11 +85,6 @@ static __kprobes unsigned long fetch_retvalue(struct pt_regs *regs, | |||
85 | return regs_return_value(regs); | 85 | return regs_return_value(regs); |
86 | } | 86 | } |
87 | 87 | ||
88 | static __kprobes unsigned long fetch_ip(struct pt_regs *regs, void *dummy) | ||
89 | { | ||
90 | return instruction_pointer(regs); | ||
91 | } | ||
92 | |||
93 | static __kprobes unsigned long fetch_stack_address(struct pt_regs *regs, | 88 | static __kprobes unsigned long fetch_stack_address(struct pt_regs *regs, |
94 | void *dummy) | 89 | void *dummy) |
95 | { | 90 | { |
@@ -234,8 +229,6 @@ static int probe_arg_string(char *buf, size_t n, struct fetch_func *ff) | |||
234 | ret = snprintf(buf, n, "@%s%+ld", sc->symbol, sc->offset); | 229 | ret = snprintf(buf, n, "@%s%+ld", sc->symbol, sc->offset); |
235 | } else if (ff->func == fetch_retvalue) | 230 | } else if (ff->func == fetch_retvalue) |
236 | ret = snprintf(buf, n, "$rv"); | 231 | ret = snprintf(buf, n, "$rv"); |
237 | else if (ff->func == fetch_ip) | ||
238 | ret = snprintf(buf, n, "$ra"); | ||
239 | else if (ff->func == fetch_stack_address) | 232 | else if (ff->func == fetch_stack_address) |
240 | ret = snprintf(buf, n, "$sa"); | 233 | ret = snprintf(buf, n, "$sa"); |
241 | else if (ff->func == fetch_indirect) { | 234 | else if (ff->func == fetch_indirect) { |
@@ -448,9 +441,6 @@ static int parse_probe_vars(char *arg, struct fetch_func *ff, int is_return) | |||
448 | if (is_return && arg[1] == 'v') { | 441 | if (is_return && arg[1] == 'v') { |
449 | ff->func = fetch_retvalue; | 442 | ff->func = fetch_retvalue; |
450 | ff->data = NULL; | 443 | ff->data = NULL; |
451 | } else if (is_return && arg[1] == 'a') { | ||
452 | ff->func = fetch_ip; | ||
453 | ff->data = NULL; | ||
454 | } else | 444 | } else |
455 | ret = -EINVAL; | 445 | ret = -EINVAL; |
456 | break; | 446 | break; |
@@ -560,7 +550,6 @@ static int create_trace_probe(int argc, char **argv) | |||
560 | * Fetch args: | 550 | * Fetch args: |
561 | * $aN : fetch Nth of function argument. (N:0-) | 551 | * $aN : fetch Nth of function argument. (N:0-) |
562 | * $rv : fetch return value | 552 | * $rv : fetch return value |
563 | * $ra : fetch return address | ||
564 | * $sa : fetch stack address | 553 | * $sa : fetch stack address |
565 | * $sN : fetch Nth of stack (N:0-) | 554 | * $sN : fetch Nth of stack (N:0-) |
566 | * @ADDR : fetch memory at ADDR (ADDR should be in kernel) | 555 | * @ADDR : fetch memory at ADDR (ADDR should be in kernel) |