Thread (6 messages) flat view 6 messages, 4 authors, 2018-07-10

Re: [next-20180709][bisected 9cf57731][ppc] build fail with ld: BFD version 2.26.1-1.fc25 assertion fail elf64-ppc.c:14734

From: Abdul Haleem <hidden>
Date: 2018-07-09 18:10:30
Also in: linux-next, lkml

On Mon, 2018-07-09 at 13:47 +0200, Peter Zijlstra wrote:
quoted hunk ↗ jump to hunk
On Mon, Jul 09, 2018 at 03:21:23PM +0530, Abdul Haleem wrote:
quoted
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 <redacted>

-- 
Regard's

Abdul Haleem
IBM Linux Technology Centre
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help