Re: linux-next: kernel/trace/trace.c:658: error:

From: Geert Uytterhoeven
Date: Thu Oct 23 2008 - 10:37:30 EST


On Thu, 23 Oct 2008, Frederic Weisbecker wrote:
> Frédéric Weisbecker wrote:
> > 2008/10/23 Frédéric Weisbecker <fweisbec@xxxxxxxxx>:
> >> 2008/10/23 Alexey Dobriyan <adobriyan@xxxxxxxxx>:
> >>> On alpha-smp-n-debug-y:
> >>>
> >>> kernel/trace/trace.c: In function 'tracing_generic_entry_update':
> >>> kernel/trace/trace.c:658: error: implicit declaration of function 'irqs_disabled_flags'
> >>> kernel/trace/trace.c: In function 'tracing_cpumask_write':
> >>> kernel/trace/trace.c:2145: error: implicit declaration of function 'raw_local_irq_disable'
> >>> kernel/trace/trace.c:2162: error: implicit declaration of function 'raw_local_irq_enable'
> >>> kernel/trace/trace.c: In function 'trace_die_handler':
> >>> kernel/trace/trace.c:3039: error: 'DIE_OOPS' undeclared (first use in this function)
> >>>
> >>> This has something with config dependencies, because adding include doesn't fix it.
> >>>
> >> A lot of arch have an asm/irqflags.h but not alpha.
> >> In linux/irqflags, raw_local_irq_* functions are defined to be
> >> local_irq_* function if they don't support
> >> CONFIG_TRACE_IRQFLAGS_SUPPORT.
> >> It seems the error is here, alpha may turn this option off.
> >>
> >
> > Hmm no actually your CONFIG_TRACE_IRFLAGS_SUPPORT is not set.
> > So that's because the linux/irqflags.h is not included in the
> > asm/system.h on alpha (other archs do).
> >
>
> Does this patch correct the issue?
> It applies on last -tip
> ---
>
> From: Frederic Weisbecker <fweisbec@xxxxxxxxx>
> Subject: [PATCH] alpha: include irqflags.h to enable use of tracing
>
> asm/system.h should include linux/irqflags.h to enable the use of tracing
> which needs raw_local_irq_* functions.

If kernel/trace/trace.c calls irqs_disabled_flags(), it should include
the include that defines irqs_disabled_flags(). You should not add it to
some other random include.

It's also happening on m68k:
http://kisskb.ellerman.id.au/kisskb/buildresult/50641/

Gr{oetje,eeting}s,

Geert

--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@xxxxxxxxxxxxxx

In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
-- Linus Torvalds