arch/mips/loongson64/cop2-ex.c:32:15: error: implicit declaration of function '__is_fpu_owner'; did you mean 'is_fpu_owner'?

From: kbuild test robot
Date: Thu Dec 26 2019 - 04:32:51 EST


Hi Jiaxun,

First bad commit (maybe != root cause):

tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head: 46cf053efec6a3a5f343fead837777efe8252a46
commit: 6fbde6b492dfc761ad60a68fb2cb32b1eb05b786 MIPS: Loongson64: Move files to the top-level directory
date: 8 weeks ago
config: mips-randconfig-a001-20191226 (attached as .config)
compiler: mips64el-linux-gcc (GCC) 7.4.0
reproduce:
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
git checkout 6fbde6b492dfc761ad60a68fb2cb32b1eb05b786
# save the attached .config to linux build tree
GCC_VERSION=7.4.0 make.cross ARCH=mips

If you fix the issue, kindly add following tag
Reported-by: kbuild test robot <lkp@xxxxxxxxx>

All errors (new ones prefixed by >>):

arch/mips/loongson64/cop2-ex.c: In function 'loongson_cu2_call':
>> arch/mips/loongson64/cop2-ex.c:32:15: error: implicit declaration of function '__is_fpu_owner'; did you mean 'is_fpu_owner'? [-Werror=implicit-function-declaration]
fpu_owned = __is_fpu_owner();
^~~~~~~~~~~~~~
is_fpu_owner
>> arch/mips/loongson64/cop2-ex.c:47:4: error: call to '_restore_fp' declared with attribute error: _restore_fp() should not be called when CONFIG_MIPS_FP_SUPPORT=n
_restore_fp(current);
^~~~~~~~~~~~~~~~~~~~
cc1: all warnings being treated as errors

vim +32 arch/mips/loongson64/cop2-ex.c

ef2f826c8f2ff1 arch/mips/loongson/loongson-3/cop2-ex.c Huacai Chen 2014-06-26 22
ef2f826c8f2ff1 arch/mips/loongson/loongson-3/cop2-ex.c Huacai Chen 2014-06-26 23 static int loongson_cu2_call(struct notifier_block *nfb, unsigned long action,
ef2f826c8f2ff1 arch/mips/loongson/loongson-3/cop2-ex.c Huacai Chen 2014-06-26 24 void *data)
ef2f826c8f2ff1 arch/mips/loongson/loongson-3/cop2-ex.c Huacai Chen 2014-06-26 25 {
bfcdf130636195 arch/mips/loongson/loongson-3/cop2-ex.c Huacai Chen 2014-08-11 26 int fpu_owned;
ef2f826c8f2ff1 arch/mips/loongson/loongson-3/cop2-ex.c Huacai Chen 2014-06-26 27 int fr = !test_thread_flag(TIF_32BIT_FPREGS);
ef2f826c8f2ff1 arch/mips/loongson/loongson-3/cop2-ex.c Huacai Chen 2014-06-26 28
ef2f826c8f2ff1 arch/mips/loongson/loongson-3/cop2-ex.c Huacai Chen 2014-06-26 29 switch (action) {
ef2f826c8f2ff1 arch/mips/loongson/loongson-3/cop2-ex.c Huacai Chen 2014-06-26 30 case CU2_EXCEPTION:
ef2f826c8f2ff1 arch/mips/loongson/loongson-3/cop2-ex.c Huacai Chen 2014-06-26 31 preempt_disable();
bfcdf130636195 arch/mips/loongson/loongson-3/cop2-ex.c Huacai Chen 2014-08-11 @32 fpu_owned = __is_fpu_owner();
ef2f826c8f2ff1 arch/mips/loongson/loongson-3/cop2-ex.c Huacai Chen 2014-06-26 33 if (!fr)
ef2f826c8f2ff1 arch/mips/loongson/loongson-3/cop2-ex.c Huacai Chen 2014-06-26 34 set_c0_status(ST0_CU1 | ST0_CU2);
ef2f826c8f2ff1 arch/mips/loongson/loongson-3/cop2-ex.c Huacai Chen 2014-06-26 35 else
ef2f826c8f2ff1 arch/mips/loongson/loongson-3/cop2-ex.c Huacai Chen 2014-06-26 36 set_c0_status(ST0_CU1 | ST0_CU2 | ST0_FR);
ef2f826c8f2ff1 arch/mips/loongson/loongson-3/cop2-ex.c Huacai Chen 2014-06-26 37 enable_fpu_hazard();
ef2f826c8f2ff1 arch/mips/loongson/loongson-3/cop2-ex.c Huacai Chen 2014-06-26 38 KSTK_STATUS(current) |= (ST0_CU1 | ST0_CU2);
ef2f826c8f2ff1 arch/mips/loongson/loongson-3/cop2-ex.c Huacai Chen 2014-06-26 39 if (fr)
ef2f826c8f2ff1 arch/mips/loongson/loongson-3/cop2-ex.c Huacai Chen 2014-06-26 40 KSTK_STATUS(current) |= ST0_FR;
ef2f826c8f2ff1 arch/mips/loongson/loongson-3/cop2-ex.c Huacai Chen 2014-06-26 41 else
ef2f826c8f2ff1 arch/mips/loongson/loongson-3/cop2-ex.c Huacai Chen 2014-06-26 42 KSTK_STATUS(current) &= ~ST0_FR;
bfcdf130636195 arch/mips/loongson/loongson-3/cop2-ex.c Huacai Chen 2014-08-11 43 /* If FPU is owned, we needn't init or restore fp */
bfcdf130636195 arch/mips/loongson/loongson-3/cop2-ex.c Huacai Chen 2014-08-11 44 if (!fpu_owned) {
ef2f826c8f2ff1 arch/mips/loongson/loongson-3/cop2-ex.c Huacai Chen 2014-06-26 45 set_thread_flag(TIF_USEDFPU);
cc97ab235f3fe3 arch/mips/loongson64/loongson-3/cop2-ex.c Paul Burton 2018-11-07 46 init_fp_ctx(current);
ef2f826c8f2ff1 arch/mips/loongson/loongson-3/cop2-ex.c Huacai Chen 2014-06-26 @47 _restore_fp(current);
ef2f826c8f2ff1 arch/mips/loongson/loongson-3/cop2-ex.c Huacai Chen 2014-06-26 48 }
ef2f826c8f2ff1 arch/mips/loongson/loongson-3/cop2-ex.c Huacai Chen 2014-06-26 49 preempt_enable();
ef2f826c8f2ff1 arch/mips/loongson/loongson-3/cop2-ex.c Huacai Chen 2014-06-26 50
ef2f826c8f2ff1 arch/mips/loongson/loongson-3/cop2-ex.c Huacai Chen 2014-06-26 51 return NOTIFY_STOP; /* Don't call default notifier */
ef2f826c8f2ff1 arch/mips/loongson/loongson-3/cop2-ex.c Huacai Chen 2014-06-26 52 }
ef2f826c8f2ff1 arch/mips/loongson/loongson-3/cop2-ex.c Huacai Chen 2014-06-26 53
ef2f826c8f2ff1 arch/mips/loongson/loongson-3/cop2-ex.c Huacai Chen 2014-06-26 54 return NOTIFY_OK; /* Let default notifier send signals */
ef2f826c8f2ff1 arch/mips/loongson/loongson-3/cop2-ex.c Huacai Chen 2014-06-26 55 }
ef2f826c8f2ff1 arch/mips/loongson/loongson-3/cop2-ex.c Huacai Chen 2014-06-26 56

:::::: The code at line 32 was first introduced by commit
:::::: bfcdf1306361951b104c6858d07f6778b53e4368 MIPS: Loongson: Fix COP2 usage for preemptible kernel

:::::: TO: Huacai Chen <chenhc@xxxxxxxxxx>
:::::: CC: Ralf Baechle <ralf@xxxxxxxxxxxxxx>

---
0-DAY kernel test infrastructure Open Source Technology Center
https://lists.01.org/hyperkitty/list/kbuild-all@xxxxxxxxxxxx Intel Corporation

Attachment: .config.gz
Description: application/gzip