Subject: linux-next: build failure after merge of the final tree

From: Stephen Rothwell <[email-masked]>
Date: Fri, 14 May 2010 15:53:12 +1000

Hi all,

After merging the final tree, today's linux-next build (sparc64 defconfig)
failed like this:

kernel/built-in.o: In function `touch_nmi_watchdog':
(.text+0x449bc): multiple definition of `touch_nmi_watchdog'
arch/sparc/kernel/built-in.o:(.text+0x11b28): first defined here

Probably caused by commit 58687acba59266735adb8ccd9b5b9aa2c7cd205b
("lockup_detector: Combine nmi_watchdog and softlockup detector").

The one in kernel/ used to only be built when CONFIG_NMI_WATCHDOG was set
which depended on CONFIG_PERF_EVENTS_NMI which was only ever set for
ARCH=x86.  This probably breaks mn10300 and blackfin as well, at least.
We also have ARCH_HAS_NMI_WATCHDOG to determine this ...

I tried protecting the definition of touch_nmi_watchdog with
ARCH_HAS_NMI_WATCHDOG, but that broke the x86_64 allmodconfig build
(which defines ARCH_HAS_NMI_WATCHDOG if CONFIG_X86_LOCAL_APIC is defined
but only builds its version if CONFIG_LOCKUP_DETECTOR is not 'y').

So I have left is as it is for today.  Please see if someone can come up
with a solution.
-- 
Cheers,
Stephen Rothwell                    [email-masked]
http://www.canb.auug.org.au/~sfr/