I have 21 occurrences of kbuild test robot reporting this build failure
over more than one year and zero (0) attempts to fix it.  I have 2 alternate
(untested) fixes for it.  (If either of them causes a build error, it should
be simple to fix and I will do so.)

a. #include <asm/fpu.h> in <asm/switch_to.h> so that empty fpu_save() is
        visible
b. make <asm/switch_to.h> know about CONFIG_FPU not enabled

David, which one do you prefer?

Fengguang, it's allnoconfig => CONFIG_FPU=n that causes this build error.

----- a.-----
From: Randy Dunlap <[email protected]>

When CONFIG_FPU is not enabled on arch/mn10300, <asm/switch_to.h>
causes a build error with a call to fpu_save():

kernel/built-in.o: In function `.L410':
core.c:(.sched.text+0x28a): undefined reference to `fpu_save'

Fix this by including <asm/fpu.h> in <asm/switch_to.h> so that
an empty static inline fpu_save() is defined.

Signed-off-by: Randy Dunlap <[email protected]>
Reported-by: kbuild test robot <[email protected]>
Cc:     David Howells <[email protected]>
---
 arch/mn10300/include/asm/switch_to.h |    1 +
 1 file changed, 1 insertion(+)

--- lnx-410-rc4.orig/arch/mn10300/include/asm/switch_to.h
+++ lnx-410-rc4/arch/mn10300/include/asm/switch_to.h
@@ -12,6 +12,7 @@
 #define _ASM_SWITCH_TO_H
 
 #include <asm/barrier.h>
+#include <asm/fpu.h>
 
 struct task_struct;
 struct thread_struct;

-----or b.-----
From: Randy Dunlap <[email protected]>

When CONFIG_FPU is not enabled on arch/mn10300, <asm/switch_to.h>
causes a build error with a call to fpu_save():

kernel/built-in.o: In function `.L410':
core.c:(.sched.text+0x28a): undefined reference to `fpu_save'

Fix this by defining switch_fpu() in <asm/switch_to.h> only when
CONFIG_FPU is enabled.

Signed-off-by: Randy Dunlap <[email protected]>
Reported-by: kbuild test robot <[email protected]>
Cc:     David Howells <[email protected]>
---
 arch/mn10300/include/asm/switch_to.h |    2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

--- lnx-410-rc4.orig/arch/mn10300/include/asm/switch_to.h
+++ lnx-410-rc4/arch/mn10300/include/asm/switch_to.h
@@ -16,7 +16,7 @@
 struct task_struct;
 struct thread_struct;
 
-#if !defined(CONFIG_LAZY_SAVE_FPU)
+#if defined(CONFIG_FPU) && !defined(CONFIG_LAZY_SAVE_FPU)
 struct fpu_state_struct;
 extern asmlinkage void fpu_save(struct fpu_state_struct *);
 #define switch_fpu(prev, next)                                         \

Reply via email to