lkml.org 
[lkml]   [2009]   [Apr]   [29]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    Date
    From
    SubjectRe: Next April 24: [S390] allmodconfig build failure (trace/events)
    On Wed, 29 Apr 2009 15:21:39 +0530
    Sachin Sant <sachinp@in.ibm.com> wrote:
    > Heiko Carstens wrote:
    > > On Fri, 24 Apr 2009 09:25:33 +0200
    > > Ingo Molnar <mingo@elte.hu> wrote:
    > >> * Sachin Sant <sachinp@in.ibm.com> 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@de.ibm.com>

    "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@in.ibm.com>
    Cc: Steven Rostedt <rostedt@goodmis.org>
    Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>
    ---
    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>

    \
     
     \ /
      Last update: 2009-04-29 13:55    [W:0.023 / U:1.268 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site