Re: [PATCH 00/16] [GIT PULL] tracing: fixes/cleanups, nostop-machine, update stack tracer

From: Steven Rostedt
Date: Sat Jan 07 2012 - 17:32:14 EST


On Sat, 2012-01-07 at 13:25 +0100, Ingo Molnar wrote:
> * Steven Rostedt <rostedt@xxxxxxxxxxx> wrote:
>
> > > I'm also seeing build failures with certain configs:
> > >
> > > kernel/trace/trace_stack.c:387:3: error: implicit declaration of function âftrace_set_early_filterâ
> > > [-Werror=implicit-function-declaration]
> >
> > Hmm, your right. It depends on dyn_ftrace to be configured.
> > Strange that my tests didn't catch that as I thought one of my
> > tests compiles with static ftrace. I'll have to look into why
> > my test didn't catch that. I'll send a fix later today.
>
> Hm, i cannot re-test this tree with general randconfig until it
> keeps failing the build. I'll test the NMI bits, to be able to
> exclude those.


Ingo,

I updated the branch by adding the below patch that fixes the bug. You
can apply this and then run your tests again.

Thanks!

Please pull the latest tip/perf/core tree, which can be found at:

git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-trace.git
tip/perf/core

Head SHA1: 96de37b62ca525cd77d2e85aea1472846ee31c4d


Steven Rostedt (1):
tracing: Fix compile error when static ftrace is enabled

----
include/linux/ftrace.h | 1 +
1 files changed, 1 insertions(+), 0 deletions(-)
---------------------------
commit 96de37b62ca525cd77d2e85aea1472846ee31c4d
Author: Steven Rostedt <srostedt@xxxxxxxxxx>
Date: Sat Jan 7 17:26:49 2012 -0500

tracing: Fix compile error when static ftrace is enabled

The stack tracer uses the call ftrace_set_early_filter() function
to allow the stack tracer to pick its own functions on boot.
But this function is not defined if dynamic ftrace is not set.
This causes a compiler error when stack tracer is enabled and
dynamic ftrace is not.

Reported-by: Ingo Molnar <mingo@xxxxxxx>
Signed-off-by: Steven Rostedt <rostedt@xxxxxxxxxxx>

diff --git a/include/linux/ftrace.h b/include/linux/ftrace.h
index 41df6f5..028e26f 100644
--- a/include/linux/ftrace.h
+++ b/include/linux/ftrace.h
@@ -339,6 +339,7 @@ static inline int ftrace_text_reserved(void *start, void *end)
* functions may still be called. Use a macro instead of inline.
*/
#define ftrace_regex_open(ops, flag, inod, file) ({ -ENODEV; })
+#define ftrace_set_early_filter(ops, buf, enable) do { } while (0)

static inline ssize_t ftrace_filter_write(struct file *file, const char __user *ubuf,
size_t cnt, loff_t *ppos) { return -ENODEV; }

Attachment: signature.asc
Description: This is a digitally signed message part