[RT] Compile error with certain IRQ debug config option combinations

From: kus Kusche Klaus
Date: Thu Feb 14 2008 - 11:24:41 EST


I'm using 2.6.24.2 with -rt1 applied
(applies cleanly with some offsets) on x86.

I've *not* configured PROVE_LOCKING (too expensive).
However, I selected all the latency tracings, timings and histograms,
among them CRITICAL_IRQSOFF_TIMING.
This implicitly configures TRACE_IRQFLAGS.
However, TRACE_IRQFLAGS depends on PROVE_LOCKING, which is off
(and not implicitly selected).

With TRACE_IRQFLAGS on and PROVE_LOCKING off,
compilation of kernel/lockdep.c fails miserably:
CC kernel/lockdep.o
kernel/lockdep.c: In function 'check_usage_forwards':
kernel/lockdep.c:1740: error: 'find_usage_bit' undeclared (first use in
this function)
kernel/lockdep.c:1740: error: (Each undeclared identifier is reported
only once
kernel/lockdep.c:1740: error: for each function it appears in.)
kernel/lockdep.c:1742: error: implicit declaration of function
'find_usage_forwards'
kernel/lockdep.c:1746: error: 'forwards_match' undeclared (first use in
this function)
kernel/lockdep.c: In function 'check_usage_backwards':
kernel/lockdep.c:1759: error: 'find_usage_bit' undeclared (first use in
this function)
kernel/lockdep.c:1761: error: implicit declaration of function
'find_usage_backwards'
kernel/lockdep.c:1765: error: 'backwards_match' undeclared (first use in
this function)
make[1]: *** [kernel/lockdep.o] Error 1

Looking at the source quickly,
it seems that the #ifdefs do not cover that combination correctly,
but I can't figure out how to fix that (the ifdef nesting in that file
seems to have grown over time...).


By the way: With all the tracing on,
make also tries to compile scripts/trace-it.c (with HOSTCC),
which also fails if the kernel is cross-compiled in a non-linux
development environment
(Interix in my case - don't ask me, I didn't vote for it...).

Many thanks in advance for any help!

Greetings

--
Klaus Kusche, DI. Dr. Software Development - Control
KEBA AG Gewerbepark Urfahr, A-4041 Linz, Austria
www.keba.com Firmenbuchgericht Linz FN 184376 t
mailto:kus@xxxxxxxx Phone: +43 732 7090-23120 Fax: +43 732 7090-63401


--
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/