summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAbhishek Sagar2008-05-31 10:54:02 +0200
committerIngo Molnar2008-06-02 13:32:10 +0200
commite0773410247f1e5fc6f7c52a4c5f3c6c9873d527 (patch)
tree6cb2cf8b365417ecd441c4ececdeab4dffd2165f
parentftrace: user update and disable dynamic ftrace daemon (diff)
downloadkernel-qcow2-linux-e0773410247f1e5fc6f7c52a4c5f3c6c9873d527.tar.gz
kernel-qcow2-linux-e0773410247f1e5fc6f7c52a4c5f3c6c9873d527.tar.xz
kernel-qcow2-linux-e0773410247f1e5fc6f7c52a4c5f3c6c9873d527.zip
ftrace: export kretprobe_trampoline for function tracer
Follow suit from kprobe implementations on other archs and make kretprobe_trampoline non-static. Ftrace implmentation (more specifically, kernel/trace/trace.c) requires access to it (see-> http://kerneltrap.org/mailarchive/linux-kernel/2008/5/27/1955234). Signed-off-by: Abhishek Sagar <sagar.abhishek@gmail.com> Signed-off-by: Ingo Molnar <mingo@elte.hu>
-rw-r--r--arch/arm/kernel/kprobes.c2
-rw-r--r--include/asm-arm/kprobes.h1
2 files changed, 2 insertions, 1 deletions
diff --git a/arch/arm/kernel/kprobes.c b/arch/arm/kernel/kprobes.c
index 5593dd207216..5ee39e10c8d1 100644
--- a/arch/arm/kernel/kprobes.c
+++ b/arch/arm/kernel/kprobes.c
@@ -274,7 +274,7 @@ int __kprobes kprobe_exceptions_notify(struct notifier_block *self,
* for kretprobe handlers which should normally be interested in r0 only
* anyway.
*/
-static void __attribute__((naked)) __kprobes kretprobe_trampoline(void)
+void __naked __kprobes kretprobe_trampoline(void)
{
__asm__ __volatile__ (
"stmdb sp!, {r0 - r11} \n\t"
diff --git a/include/asm-arm/kprobes.h b/include/asm-arm/kprobes.h
index c042194d3ab5..b1a37876942d 100644
--- a/include/asm-arm/kprobes.h
+++ b/include/asm-arm/kprobes.h
@@ -59,6 +59,7 @@ struct kprobe_ctlblk {
};
void arch_remove_kprobe(struct kprobe *);
+void kretprobe_trampoline(void);
int kprobe_trap_handler(struct pt_regs *regs, unsigned int instr);
int kprobe_fault_handler(struct pt_regs *regs, unsigned int fsr);