LD .tmp_vmlinux1
kernel/built-in.o: In function `ftrace_trace_stack':
(.text+0x706fc): undefined reference to `save_stack_trace'
Somehow STACKTRACE is set despite no STACKTRACE_SUPPORT.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majo...@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
select blows, film at 11. TRACING blindly selects STACKTRACE, with a bunch
of stuff in kernel/tracing/Kconfig doing select of TRACING. Not just an alpha
problem, BTW.
FWIW, we probably ought to make scripts/kconfig/conf check if dependencies
are satisfied before writing .config out and scream bloody murder if they
are not.
While we are at it, we have that particular turd on allmodconfigs on (at least)
alpha
blackfin
cris
frv
h8300
ia64
m32r
m68k
m68knommu
mn10300
parisc
sparc (32bit one, that is)
uml/i386
uml/amd64
xtensa
We could slap && HAS_STACKTRACE_SUPPORT on all symbols that end up selecting
TRACING, but that's almost certainly wrong; the thing won't break if we
simply omit stack trace output on configs that do not have them supported.
Why do we have that select STACKTRACE there, anyway?
It's too ugly for words, but it does deal with this mess ;-/
Signed-off-by: Al Viro <vi...@zeniv.linux.org.uk>
---
diff --git a/kernel/trace/Kconfig b/kernel/trace/Kconfig
index b58f43b..33dbefd 100644
--- a/kernel/trace/Kconfig
+++ b/kernel/trace/Kconfig
@@ -25,7 +25,7 @@ config TRACING
bool
select DEBUG_FS
select RING_BUFFER
- select STACKTRACE
+ select STACKTRACE if STACKTRACE_SUPPORT
select TRACEPOINTS
select NOP_TRACER
> It's too ugly for words, but it does deal with this mess ;-/
... doesn't. Unfortunately.
... since we also need to ifdef out the guts of ftrace_trace_stack().
We also want to disallow setting TRACE_ITER_STACKTRACE in trace_flags
on such configs, but that can wait.
Signed-off-by: Al Viro <vi...@zeniv.linux.org.uk>
---
diff --git a/kernel/trace/Kconfig b/kernel/trace/Kconfig
index b58f43b..33dbefd 100644
--- a/kernel/trace/Kconfig
+++ b/kernel/trace/Kconfig
@@ -25,7 +25,7 @@ config TRACING
bool
select DEBUG_FS
select RING_BUFFER
- select STACKTRACE
+ select STACKTRACE if STACKTRACE_SUPPORT
select TRACEPOINTS
select NOP_TRACER
diff --git a/kernel/trace/trace.c b/kernel/trace/trace.c
index 8a499e2..85bee77 100644
--- a/kernel/trace/trace.c
+++ b/kernel/trace/trace.c
@@ -705,6 +705,7 @@ static void ftrace_trace_stack(struct trace_array *tr,
unsigned long flags,
int skip, int pc)
{
+#ifdef CONFIG_STACKTRACE
struct ring_buffer_event *event;
struct stack_entry *entry;
struct stack_trace trace;
@@ -730,6 +731,7 @@ static void ftrace_trace_stack(struct trace_array *tr,
save_stack_trace(&trace);
ring_buffer_unlock_commit(tr->buffer, event, irq_flags);
+#endif
}
void __trace_stack(struct trace_array *tr,
I guess this is needed to make alph (and perhasp others compile).
Can you get this ready for 2.6.28?
On Fri, 31 Oct 2008, Al Viro wrote:
> On Fri, Oct 31, 2008 at 07:06:08PM +0000, Al Viro wrote:
> > On Fri, Oct 31, 2008 at 06:55:26PM +0000, Al Viro wrote:
> >
> > > It's too ugly for words, but it does deal with this mess ;-/
> >
> > ... doesn't. Unfortunately.
>
> ... since we also need to ifdef out the guts of ftrace_trace_stack().
> We also want to disallow setting TRACE_ITER_STACKTRACE in trace_flags
> on such configs, but that can wait.
>
> Signed-off-by: Al Viro <vi...@zeniv.linux.org.uk>
Acked-by: Steven Rostedt <sros...@redhat.com>
-- Steve
... and shitloads more than alpha. Itanic, parisc, all embedded ones,
m68k, uml, sparc32...
> On Fri, Oct 31, 2008 at 04:05:01PM -0400, Steven Rostedt wrote:
> >
> > Ingo,
> >
> > I guess this is needed to make alph (and perhasp others compile).
>
> ... and shitloads more than alpha. Itanic, parisc, all embedded ones,
> m68k, uml, sparc32...
queued it up in tip/tracing/urgent, thanks guys.
Ingo