Jelajahi Sumber

sh: Fix the value of MCOUNT_INSN_OFFSET

It seems that MCOUNT_INSN_OFFSET was calculating the distance between
the wrong functions. The value that should have actually been computed
is the distance between ftrace_call and ftrace_stub. I discovered this
when I added some code to ftrace_caller.

Signed-off-by: Matt Fleming <matt@console-pimps.org>
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
Matt Fleming 16 tahun lalu
induk
melakukan
ca0d17277f
1 mengubah file dengan 2 tambahan dan 2 penghapusan
  1. 2 2
      arch/sh/include/asm/ftrace.h

+ 2 - 2
arch/sh/include/asm/ftrace.h

@@ -11,10 +11,10 @@ extern void mcount(void);
 #define MCOUNT_ADDR		((long)(mcount))
 
 #ifdef CONFIG_DYNAMIC_FTRACE
-#define CALLER_ADDR		((long)(ftrace_caller))
+#define CALL_ADDR		((long)(ftrace_call))
 #define STUB_ADDR		((long)(ftrace_stub))
 
-#define MCOUNT_INSN_OFFSET	((STUB_ADDR - CALLER_ADDR) >> 1)
+#define MCOUNT_INSN_OFFSET	((STUB_ADDR - CALL_ADDR) - 4)
 
 struct dyn_arch_ftrace {
 	/* No extra data needed on sh */