Re: ld.lld: error: vmlinux.a(kernel/kallsyms.o):(function kallsyms_lookup_name: .text+0x90): relocation R_RISCV_PCREL_HI20 out of range: -524416 is not in [-524288, 524287]; references kallsyms_seqs_of_names

From: Leizhen (ThunderTown)
Date: Tue Feb 20 2024 - 07:27:43 EST




On 2024/2/18 10:08, Leizhen (ThunderTown) wrote:
>
>
> On 2024/2/6 13:19, kernel test robot wrote:
>> Hi Zhen,
>>
>> FYI, the error/warning still remains.
>
> I'm trying to reproduce it. But I'm having a little trouble getting
> the environment ready.

Sorry, I tried but it was not reproduced. I made the following two changes
to the steps in the 'reproduce' link:
1. Put linux and lkp-tests in two directories of the same level. Because:
$ git fetch --no-tags linus master
error: RPC failed; HTTP 403 curl 22 The requested URL returned error: 403
fatal: error reading section header 'acknowledgments'
2. Compiler was specified by following the prompts.
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang-17 ~/lkp-tests/kbuild/make.cross W=1 O=build_dir ARCH=riscv olddefconfig
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang-17 ~/lkp-tests/kbuild/make.cross W=1 O=build_dir ARCH=riscv SHELL=/bin/bash
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

Image is finally generated, so there should be no problem with the above steps being adjusted:
$ ls build_dir/arch/riscv/boot/
dts Image loader loader.bin loader.lds loader.o

By the way, all the symbols to be reported "relocation R_RISCV_PCREL_HI20 out of range" is
generated by the tool kallsyms (scripts/kallsyms.c). So, it seems that the tool kallsyms
have not been executed. And this error is not caused by my patches.

>
>>
>> tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
>> head: 54be6c6c5ae8e0d93a6c4641cb7528eb0b6ba478
>> commit: 60443c88f3a89fd303a9e8c0e84895910675c316 kallsyms: Improve the performance of kallsyms_lookup_name()
>> date: 1 year, 3 months ago
>> config: riscv-randconfig-r064-20240120 (https://download.01.org/0day-ci/archive/20240206/202402061302.HkByW9x0-lkp@xxxxxxxxx/config)
>> compiler: clang version 15.0.7 (https://github.com/llvm/llvm-project.git 8dfdcc7b7bf66834a761bd8de445840ef68e4d1a)
>> reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20240206/202402061302.HkByW9x0-lkp@xxxxxxxxx/reproduce)
>>
>> If you fix the issue in a separate patch/commit (i.e. not just a new version of
>> the same patch/commit), kindly add following tags
>> | Reported-by: kernel test robot <lkp@xxxxxxxxx>
>> | Closes: https://lore.kernel.org/oe-kbuild-all/202402061302.HkByW9x0-lkp@xxxxxxxxx/
>>
>> All errors (new ones prefixed by >>):
>>
>>>> ld.lld: error: vmlinux.a(kernel/kallsyms.o):(function kallsyms_lookup_name: .text+0x90): relocation R_RISCV_PCREL_HI20 out of range: -524416 is not in [-524288, 524287]; references kallsyms_seqs_of_names
>> >>> referenced by kallsyms.c
>> >>> defined in vmlinux.a(kernel/kallsyms.o)
>>
>

--
Regards,
Zhen Lei