diff options
author | Shaohua Li <shaohua.li@intel.com> | 2009-01-08 22:29:40 -0500 |
---|---|---|
committer | Ingo Molnar <mingo@elte.hu> | 2009-01-14 06:11:13 -0500 |
commit | 25aac9dc7c8c73798c1be8aa36141f980d32579e (patch) | |
tree | c1779bc208f76c80a5fe018ae129b19f64afec3d /kernel/trace/ftrace.c | |
parent | 18c167fd6d8feec5d337bd8fbc3a17da4cc37652 (diff) |
ftrace, ia64: explictly ignore a file in recordmcount.pl
In IA64, a function pointer isn't a 'unsigned long' but a
'struct {unsigned long ip, unsigned long gp}'. MCOUNT_ADDR is determined
at link time not compile time, so explictly ignore kernel/trace/ftrace.o
in recordmcount.pl.
Signed-off-by: Shaohua Li <shaohua.li@intel.com>
Signed-off-by: Steven Rostedt <srostedt@redhat.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Diffstat (limited to 'kernel/trace/ftrace.c')
-rw-r--r-- | kernel/trace/ftrace.c | 10 |
1 files changed, 1 insertions, 9 deletions
diff --git a/kernel/trace/ftrace.c b/kernel/trace/ftrace.c index 9e54a6ccdb93..76bb884b6e16 100644 --- a/kernel/trace/ftrace.c +++ b/kernel/trace/ftrace.c | |||
@@ -263,14 +263,6 @@ static void ftrace_update_pid_func(void) | |||
263 | # error Dynamic ftrace depends on MCOUNT_RECORD | 263 | # error Dynamic ftrace depends on MCOUNT_RECORD |
264 | #endif | 264 | #endif |
265 | 265 | ||
266 | /* | ||
267 | * Since MCOUNT_ADDR may point to mcount itself, we do not want | ||
268 | * to get it confused by reading a reference in the code as we | ||
269 | * are parsing on objcopy output of text. Use a variable for | ||
270 | * it instead. | ||
271 | */ | ||
272 | static unsigned long mcount_addr = MCOUNT_ADDR; | ||
273 | |||
274 | enum { | 266 | enum { |
275 | FTRACE_ENABLE_CALLS = (1 << 0), | 267 | FTRACE_ENABLE_CALLS = (1 << 0), |
276 | FTRACE_DISABLE_CALLS = (1 << 1), | 268 | FTRACE_DISABLE_CALLS = (1 << 1), |
@@ -575,7 +567,7 @@ ftrace_code_disable(struct module *mod, struct dyn_ftrace *rec) | |||
575 | 567 | ||
576 | ip = rec->ip; | 568 | ip = rec->ip; |
577 | 569 | ||
578 | ret = ftrace_make_nop(mod, rec, mcount_addr); | 570 | ret = ftrace_make_nop(mod, rec, MCOUNT_ADDR); |
579 | if (ret) { | 571 | if (ret) { |
580 | ftrace_bug(ret, ip); | 572 | ftrace_bug(ret, ip); |
581 | rec->flags |= FTRACE_FL_FAILED; | 573 | rec->flags |= FTRACE_FL_FAILED; |