On Mon, 2018-07-09 at 13:47 +0200, Peter Zijlstra wrote: > On Mon, Jul 09, 2018 at 03:21:23PM +0530, Abdul Haleem wrote: > > Greeting's > > > > Today's next fails to build on powerpc with below error > > > > kernel/cpu.o:(.data.rel+0x18e0): undefined reference to > > `lockup_detector_online_cpu' > > ld: BFD version 2.26.1-1.fc25 assertion fail elf64-ppc.c:14734 > > kernel/cpu.o:(.data.rel+0x18e8): undefined reference to > > `lockup_detector_offline_cpu' > > ld: BFD version 2.26.1-1.fc25 assertion fail elf64-ppc.c:14734 > > Makefile:1005: recipe for target 'vmlinux' failed > > make: *** [vmlinux] Error 1 > > Urgh, sorry about that. I think the below should cure that. > > I got confused by all the varioud CONFIG options here abour and > conflated CONFIG_LOCKUP_DETECTOR and CONFIG_SOFTLOCKUP_DETECTOR it > seems. > > diff --git a/include/linux/nmi.h b/include/linux/nmi.h > index 80664bbeca43..08f9247e9827 100644 > --- a/include/linux/nmi.h > +++ b/include/linux/nmi.h > @@ -33,15 +33,10 @@ extern int sysctl_hardlockup_all_cpu_backtrace; > #define sysctl_hardlockup_all_cpu_backtrace 0 > #endif /* !CONFIG_SMP */ > > -extern int lockup_detector_online_cpu(unsigned int cpu); > -extern int lockup_detector_offline_cpu(unsigned int cpu); > - > #else /* CONFIG_LOCKUP_DETECTOR */ > static inline void lockup_detector_init(void) { } > static inline void lockup_detector_soft_poweroff(void) { } > static inline void lockup_detector_cleanup(void) { } > -#define lockup_detector_online_cpu NULL > -#define lockup_detector_offline_cpu NULL > #endif /* !CONFIG_LOCKUP_DETECTOR */ > > #ifdef CONFIG_SOFTLOCKUP_DETECTOR > @@ -50,12 +45,18 @@ extern void touch_softlockup_watchdog(void); > extern void touch_softlockup_watchdog_sync(void); > extern void touch_all_softlockup_watchdogs(void); > extern unsigned int softlockup_panic; > -#else > + > +extern int lockup_detector_online_cpu(unsigned int cpu); > +extern int lockup_detector_offline_cpu(unsigned int cpu); > +#else /* CONFIG_SOFTLOCKUP_DETECTOR */ > static inline void touch_softlockup_watchdog_sched(void) { } > static inline void touch_softlockup_watchdog(void) { } > static inline void touch_softlockup_watchdog_sync(void) { } > static inline void touch_all_softlockup_watchdogs(void) { } > -#endif > + > +#define lockup_detector_online_cpu NULL > +#define lockup_detector_offline_cpu NULL > +#endif /* CONFIG_SOFTLOCKUP_DETECTOR */ > > #ifdef CONFIG_DETECT_HUNG_TASK > void reset_hung_task_detector(void); > Thanks Peter for the patch, build and boot is fine. Reported-and-tested-by: Abdul Haleem <abdhalee@xxxxxxxxxxxxxxxxxx> -- Regard's Abdul Haleem IBM Linux Technology Centre -- To unsubscribe from this list: send the line "unsubscribe linux-next" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html