Re: ld.lld: error: undefined symbol: socfpga_reset_init

From: Nathan Chancellor
Date: Sun Feb 06 2022 - 19:57:49 EST


Hi Krzysztof,

On Sun, Feb 06, 2022 at 12:55:57PM +0100, Krzysztof Kozlowski wrote:
> On 04/02/2022 22:12, kernel test robot wrote:
> > tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
> > head: dcb85f85fa6f142aae1fe86f399d4503d49f2b60
> > commit: 4483397b03536506535d611b0cb28a81a69e8edf ARM: socfpga: drop ARCH_SOCFPGA
> > date: 11 months ago
> > config: arm-socfpga_defconfig (https://download.01.org/0day-ci/archive/20220205/202202050539.Mtk9I4Ef-lkp@xxxxxxxxx/config)
> > compiler: clang version 15.0.0 (https://github.com/llvm/llvm-project a73e4ce6a59b01f0e37037761c1e6889d539d233)
> > 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
> > # install arm cross compiling tool for clang build
> > # apt-get install binutils-arm-linux-gnueabi
> > # https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=4483397b03536506535d611b0cb28a81a69e8edf
> > git remote add linus https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
> > git fetch --no-tags linus master
> > git checkout 4483397b03536506535d611b0cb28a81a69e8edf
> > # save the config file to linux build tree
> > mkdir build_dir
> > COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross W=1 O=build_dir ARCH=arm 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 >>):
> >
> >>> ld.lld: error: undefined symbol: socfpga_reset_init
> > >>> referenced by socfpga.c
> > >>> socfpga.o:(socfpga_init_irq) in archive arch/arm/mach-socfpga/built-in.a
> > >>> referenced by socfpga.c
> > >>> socfpga.o:(socfpga_arria10_init_irq) in archive arch/arm/mach-socfpga/built-in.a
> >
>
> This looks like a false positive. On the socfpga defconfig arm build,
> the socfpga_reset_init() (drivers/reset/reset-socfpga.c) is built.
>
> I also could not reproduce it with GCC.

I can reproduce this error with the configuration that the bot provides
at both 4483397b03536506535d611b0cb28a81a69e8edf and v5.17-rc3, even
with GCC:

$ curl -LSso .config https://download.01.org/0day-ci/archive/20220205/202202050539.Mtk9I4Ef-lkp@xxxxxxxxx/config

$ make -skj"$(nproc)" ARCH=arm CROSS_COMPILE=arm-linux-gnueabi- olddefconfig all
...
arm-linux-gnueabi-ld: arch/arm/mach-socfpga/socfpga.o: in function `socfpga_init_irq':
socfpga.c:(.init.text+0x104): undefined reference to `socfpga_reset_init'
...

Whether or not this reproduces with the in-tree socfpga_defconfig, I am
not sure.

Cheers,
Nathan