[PATCH] mn10300: fix build error of missing fpu_save()
From: Randy Dunlap
Date: Thu Jan 19 2017 - 19:59:23 EST
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 <rdunlap@xxxxxxxxxxxxx>
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 <rdunlap@xxxxxxxxxxxxx>
Reported-by: kbuild test robot <fengguang.wu@xxxxxxxxx>
Cc: David Howells <dhowells@xxxxxxxxxx>
---
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 <rdunlap@xxxxxxxxxxxxx>
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 <rdunlap@xxxxxxxxxxxxx>
Reported-by: kbuild test robot <fengguang.wu@xxxxxxxxx>
Cc: David Howells <dhowells@xxxxxxxxxx>
---
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) \