Re: undefined reference to `.radix__create_section_mapping'

From: Randy Dunlap
Date: Tue Aug 03 2021 - 22:41:35 EST


On 7/31/21 11:22 AM, kernel test robot wrote:
tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head: c7d102232649226a69dddd58a4942cf13cff4f7c
commit: fe3dc333d2ed50c9764d281869d87bae0d795ce5 powerpc/mmu: Don't duplicate radix_enabled()
date: 3 months ago
config: powerpc64-randconfig-r013-20210731 (attached as .config)
compiler: powerpc-linux-gcc (GCC) 10.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
# https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=fe3dc333d2ed50c9764d281869d87bae0d795ce5
git remote add linus https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
git fetch --no-tags linus master
git checkout fe3dc333d2ed50c9764d281869d87bae0d795ce5
# save the attached .config to linux build tree
mkdir build_dir
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-10.3.0 make.cross O=build_dir ARCH=powerpc SHELL=/bin/bash

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

All errors (new ones prefixed by >>):

powerpc-linux-ld: arch/powerpc/mm/book3s64/pgtable.o: in function `.create_section_mapping':
(.meminit.text+0x3c): undefined reference to `.radix__create_section_mapping'
powerpc-linux-ld: arch/powerpc/mm/book3s64/pgtable.o: in function `.remove_section_mapping':
(.meminit.text+0x90): undefined reference to `.radix__remove_section_mapping'

In the randconfig file:
# CONFIG_PPC_RADIX_MMU is not set

It is default y, but maybe that is not strong enough?
I.e., should it be selected by PPC_BOOK3S_64?

Changing the config to PPC_RADIX_MMU=y fixes the build errors.

Or should arch/powerpc/mm/book3s64/pgtable.c be modified to handle
the case of PPC_RADIX_MMU is not set?


thanks.
--
~Randy