ftrace: export kretprobe_trampoline for function tracer
authorAbhishek Sagar <sagar.abhishek@gmail.com>
Sat, 31 May 2008 08:54:02 +0000 (14:24 +0530)
committerIngo Molnar <mingo@elte.hu>
Mon, 2 Jun 2008 11:32:10 +0000 (13:32 +0200)
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>
arch/arm/kernel/kprobes.c
include/asm-arm/kprobes.h

index 5593dd207216bd0d2d1d8319eb8ab06e2bc13714..5ee39e10c8d18a37eb8004e91b0e5c046bd2eff7 100644 (file)
@@ -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"
index c042194d3ab55fc19be196d9db37640d260f224b..b1a37876942deb793252e35f7b826f77fec0d9a1 100644 (file)
@@ -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);