Re: riscv64-linux-ld: warning: orphan section `.init.data.rel.ro.local' from `arch/riscv/kernel/pi/lib-fdt.pi.o' being placed in section `.init.data.rel.ro.local'

From: Alexandre Ghiti
Date: Tue May 02 2023 - 08:22:35 EST


On Sun, Apr 30, 2023 at 10:30 AM kernel test robot <lkp@xxxxxxxxx> wrote:
>
> tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
> head: 825a0714d2b3883d4f8ff64f6933fb73ee3f1834
> commit: 26e7aacb83dfd04330673c5c9ac336560da52bb3 riscv: Allow to downgrade paging mode from the command line
> date: 4 days ago
> config: riscv-randconfig-r005-20230430 (https://download.01.org/0day-ci/archive/20230430/202304301606.Cgp113Ha-lkp@xxxxxxxxx/config)
> compiler: riscv64-linux-gcc (GCC) 12.1.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=26e7aacb83dfd04330673c5c9ac336560da52bb3
> git remote add linus https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
> git fetch --no-tags linus master
> git checkout 26e7aacb83dfd04330673c5c9ac336560da52bb3
> # save the config file
> mkdir build_dir && cp config build_dir/.config
> COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-12.1.0 make.cross W=1 O=build_dir ARCH=riscv olddefconfig
> COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-12.1.0 make.cross W=1 O=build_dir ARCH=riscv SHELL=/bin/bash
>
> If you fix the issue, kindly add following tag where applicable
> | Reported-by: kernel test robot <lkp@xxxxxxxxx>
> | Link: https://lore.kernel.org/oe-kbuild-all/202304301606.Cgp113Ha-lkp@xxxxxxxxx/
>
> All warnings (new ones prefixed by >>):
>
> >> riscv64-linux-ld: warning: orphan section `.init.data.rel.ro.local' from `arch/riscv/kernel/pi/lib-fdt.pi.o' being placed in section `.init.data.rel.ro.local'
> >> riscv64-linux-ld: warning: orphan section `.init.printk_index' from `arch/riscv/kernel/pi/lib-fdt.pi.o' being placed in section `.init.printk_index'
> >> riscv64-linux-ld: warning: orphan section `.init.data.rel.ro.local' from `arch/riscv/kernel/pi/lib-fdt.pi.o' being placed in section `.init.data.rel.ro.local'
> >> riscv64-linux-ld: warning: orphan section `.init.printk_index' from `arch/riscv/kernel/pi/lib-fdt.pi.o' being placed in section `.init.printk_index'
> >> riscv64-linux-ld: warning: orphan section `.init.data.rel.ro.local' from `arch/riscv/kernel/pi/lib-fdt.pi.o' being placed in section `.init.data.rel.ro.local'
> >> riscv64-linux-ld: warning: orphan section `.init.printk_index' from `arch/riscv/kernel/pi/lib-fdt.pi.o' being placed in section `.init.printk_index'
> >> riscv64-linux-ld: warning: orphan section `.init.data.rel.ro.local' from `arch/riscv/kernel/pi/lib-fdt.pi.o' being placed in section `.init.data.rel.ro.local'
> >> riscv64-linux-ld: warning: orphan section `.init.printk_index' from `arch/riscv/kernel/pi/lib-fdt.pi.o' being placed in section `.init.printk_index'

I thought I had caught all the orphan sections introduced with
kernel/pi, which is not the case: I have a fix that I'm testing.

>
> --
> 0-DAY CI Kernel Test Service
> https://github.com/intel/lkp-tests