Re: Next April 24: [S390] allmodconfig build failure (trace/events)

From: Heiko Carstens
Date: Wed Apr 29 2009 - 07:52:04 EST


On Wed, 29 Apr 2009 15:21:39 +0530
Sachin Sant <sachinp@xxxxxxxxxx> wrote:
> Heiko Carstens wrote:
> > On Fri, 24 Apr 2009 09:25:33 +0200
> > Ingo Molnar <mingo@xxxxxxx> wrote:
> >> * Sachin Sant <sachinp@xxxxxxxxxx> wrote:
> >>> Today's next tree build(s390 allmodconfig) failed with
> >>>
> >>> kernel/built-in.o: In function `trace_softirq_entry'
> >>> include/trace/events/irq.h:42: undefined reference to
> >>> `'
> >>> include/trace/events/irq.h:42: undefined reference to
> >>> `__tracepoint_softirq_entry'
> >>> kernel/built-in.o: In function `trace_softirq_exit':
> >>> include/trace/events/irq.h:48: undefined reference to
> >>> `__tracepoint_softirq_exit'
> >>> include/trace/events/irq.h:48: undefined reference to
> >>> `__tracepoint_softirq_exit'
> >>>
> >> Hm, that's weird - s390 does not build kernel/softirq.o? Hm, it does
> >> - softirq.o is an obj-y object.
> >
> > s390 does build kernel/softirq.o. However it's anything but obvious to
> > me how the tracepoint infrastructure works. Too many #ifdefs, #define's
> > and #undefine's...
> >
> > I would expect that struct __tracepoint_softirq_entry somehow gets
> > defined via one of the TRACE_FORMAT macros, no?
> Today's next tree also has this failure. Any solution for this problem ?

Ingo, could you pick up the patch below please?

Subject: [PATCH] tracing: fix compile error

From: Heiko Carstens <heiko.carstens@xxxxxxxxxx>

"tracing: create automated trace defines" causes this compile error on s390:

kernel/built-in.o: In function `__do_softirq':
(.text+0x1c680): undefined reference to `__tracepoint_softirq_entry'

This happens because the definitions of the softirq tracepoints were moved
from kernel/softirq.c to kernel/irq/handle.c. Since s390 doesn't support
generic hardirqs handle.c doesn't get compiled and the definitions are
missing.
So move the tracepoints to softirq.c again.

Reported-by: Sachin Sant <sachinp@xxxxxxxxxx>
Cc: Steven Rostedt <rostedt@xxxxxxxxxxx>
Signed-off-by: Heiko Carstens <heiko.carstens@xxxxxxxxxx>
---
kernel/irq/handle.c | 2 --
kernel/softirq.c | 2 ++
2 files changed, 2 insertions(+), 2 deletions(-)

Index: linux-next/kernel/irq/handle.c
===================================================================
--- linux-next.orig/kernel/irq/handle.c
+++ linux-next/kernel/irq/handle.c
@@ -18,8 +18,6 @@
#include <linux/rculist.h>
#include <linux/hash.h>
#include <linux/bootmem.h>
-
-#define CREATE_TRACE_POINTS
#include <trace/events/irq.h>

#include "internals.h"
Index: linux-next/kernel/softirq.c
===================================================================
--- linux-next.orig/kernel/softirq.c
+++ linux-next/kernel/softirq.c
@@ -24,6 +24,8 @@
#include <linux/ftrace.h>
#include <linux/smp.h>
#include <linux/tick.h>
+
+#define CREATE_TRACE_POINTS
#include <trace/events/irq.h>

#include <asm/irq.h>
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/