arch/mips/kernel/signal.c:141: undefined reference to `_restore_fp_context'

From: kernel test robot
Date: Thu Sep 03 2020 - 18:06:51 EST


Hi Thomas,

FYI, the error/warning still remains.

tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head: e28f0104343d0c132fa37f479870c9e43355fee4
commit: 7505576d1c1ac0cfe85fdf90999433dd8b673012 MIPS: add support for SGI Octane (IP30)
date: 10 months ago
config: mips-randconfig-r022-20200903 (attached as .config)
compiler: mips64-linux-gcc (GCC) 9.3.0
reproduce (this is a W=1 build):
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
git checkout 7505576d1c1ac0cfe85fdf90999433dd8b673012
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross ARCH=mips

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

All errors (new ones prefixed by >>):

mips64-linux-ld: arch/mips/kernel/signal.o: in function `restore_hw_fp_context':
>> arch/mips/kernel/signal.c:141: undefined reference to `_restore_fp_context'
mips64-linux-ld: arch/mips/kernel/signal.o: in function `save_hw_fp_context':
>> arch/mips/kernel/signal.c:132: undefined reference to `_save_fp_context'
mips64-linux-ld: arch/mips/kernel/traps.o: in function `trap_init':
arch/mips/kernel/traps.c:2408: undefined reference to `handle_fpe'
mips64-linux-ld: arch/mips/kernel/traps.c:2412: undefined reference to `handle_fpe'
mips64-linux-ld: arch/mips/kernel/traps.c:2412: undefined reference to `handle_fpe'

# https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=7505576d1c1ac0cfe85fdf90999433dd8b673012
git remote add linus https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
git fetch --no-tags linus master
git checkout 7505576d1c1ac0cfe85fdf90999433dd8b673012
vim +141 arch/mips/kernel/signal.c

4eec81d7d8b212 Paul Burton 2018-11-07 122
2db9ca0a355100 Paul Burton 2015-07-27 123 /*
2db9ca0a355100 Paul Burton 2015-07-27 124 * Wrappers for the assembly _{save,restore}_fp_context functions.
2db9ca0a355100 Paul Burton 2015-07-27 125 */
2db9ca0a355100 Paul Burton 2015-07-27 126 static int save_hw_fp_context(void __user *sc)
2db9ca0a355100 Paul Burton 2015-07-27 127 {
2db9ca0a355100 Paul Burton 2015-07-27 128 struct mips_abi *abi = current->thread.abi;
2db9ca0a355100 Paul Burton 2015-07-27 129 uint64_t __user *fpregs = sc + abi->off_sc_fpregs;
2db9ca0a355100 Paul Burton 2015-07-27 130 uint32_t __user *csr = sc + abi->off_sc_fpc_csr;
2db9ca0a355100 Paul Burton 2015-07-27 131
2db9ca0a355100 Paul Burton 2015-07-27 @132 return _save_fp_context(fpregs, csr);
2db9ca0a355100 Paul Burton 2015-07-27 133 }
2db9ca0a355100 Paul Burton 2015-07-27 134
2db9ca0a355100 Paul Burton 2015-07-27 135 static int restore_hw_fp_context(void __user *sc)
2db9ca0a355100 Paul Burton 2015-07-27 136 {
2db9ca0a355100 Paul Burton 2015-07-27 137 struct mips_abi *abi = current->thread.abi;
2db9ca0a355100 Paul Burton 2015-07-27 138 uint64_t __user *fpregs = sc + abi->off_sc_fpregs;
2db9ca0a355100 Paul Burton 2015-07-27 139 uint32_t __user *csr = sc + abi->off_sc_fpc_csr;
2db9ca0a355100 Paul Burton 2015-07-27 140
2db9ca0a355100 Paul Burton 2015-07-27 @141 return _restore_fp_context(fpregs, csr);
2db9ca0a355100 Paul Burton 2015-07-27 142 }
2db9ca0a355100 Paul Burton 2015-07-27 143

:::::: The code at line 141 was first introduced by commit
:::::: 2db9ca0a355100c40d1bef2aae3b9d9cf199cd04 MIPS: Use struct mips_abi offsets to save FP context

:::::: TO: Paul Burton <paul.burton@xxxxxxxxxx>
:::::: CC: Ralf Baechle <ralf@xxxxxxxxxxxxxx>

---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@xxxxxxxxxxxx

Attachment: .config.gz
Description: application/gzip