diff options
author | Matt Fleming <matt@console-pimps.org> | 2009-06-28 07:53:07 -0400 |
---|---|---|
committer | Paul Mundt <lethal@linux-sh.org> | 2009-07-06 06:52:08 -0400 |
commit | ca0d17277fd101ce4878f92b398b6ab71fb2c287 (patch) | |
tree | f83251b45da79383d67810885553137a95633da7 | |
parent | 8e4a718ff38d8539938ec3421935904c27e00c39 (diff) |
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>
-rw-r--r-- | arch/sh/include/asm/ftrace.h | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/arch/sh/include/asm/ftrace.h b/arch/sh/include/asm/ftrace.h index 8fea7d8c8258..b09311ad1db3 100644 --- a/arch/sh/include/asm/ftrace.h +++ b/arch/sh/include/asm/ftrace.h | |||
@@ -11,10 +11,10 @@ extern void mcount(void); | |||
11 | #define MCOUNT_ADDR ((long)(mcount)) | 11 | #define MCOUNT_ADDR ((long)(mcount)) |
12 | 12 | ||
13 | #ifdef CONFIG_DYNAMIC_FTRACE | 13 | #ifdef CONFIG_DYNAMIC_FTRACE |
14 | #define CALLER_ADDR ((long)(ftrace_caller)) | 14 | #define CALL_ADDR ((long)(ftrace_call)) |
15 | #define STUB_ADDR ((long)(ftrace_stub)) | 15 | #define STUB_ADDR ((long)(ftrace_stub)) |
16 | 16 | ||
17 | #define MCOUNT_INSN_OFFSET ((STUB_ADDR - CALLER_ADDR) >> 1) | 17 | #define MCOUNT_INSN_OFFSET ((STUB_ADDR - CALL_ADDR) - 4) |
18 | 18 | ||
19 | struct dyn_arch_ftrace { | 19 | struct dyn_arch_ftrace { |
20 | /* No extra data needed on sh */ | 20 | /* No extra data needed on sh */ |