Re: hppa64-linux-ld: kernel/rcu/refscale.o(.init.text+0x228): cannot reach schedule_timeout_uninterruptible

From: Paul E. McKenney
Date: Sun Feb 28 2021 - 17:34:02 EST


On Sun, Feb 28, 2021 at 09:51:35PM +0100, Helge Deller wrote:
> Adding parisc-parisc mailing list...
>
> On 2/28/21 6:05 AM, Paul E. McKenney wrote:
> > On Sun, Feb 28, 2021 at 12:08:08PM +0800, kernel test robot wrote:
> > > Hi Paul,
> > >
> > > First bad commit (maybe != root cause):
> > >
> > > tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
> > > head: 5695e51619745d4fe3ec2506a2f0cd982c5e27a4
> > > commit: 1fbeb3a8c4de29433a8d230ee600b13d369b6c0f refperf: Rename refperf.c to refscale.c and change internal names
> > > date: 8 months ago
> > > config: parisc-randconfig-s031-20210228 (attached as .config)
> > > compiler: hppa64-linux-gcc (GCC) 9.3.0
> > > reproduce:
> > > wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
> > > chmod +x ~/bin/make.cross
> > > # apt-get install sparse
> > > # sparse version: v0.6.3-241-geaceeafa-dirty
> > > # https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=1fbeb3a8c4de29433a8d230ee600b13d369b6c0f
> > > git remote add linus https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
> > > git fetch --no-tags linus master
> > > git checkout 1fbeb3a8c4de29433a8d230ee600b13d369b6c0f
> > > # save the attached .config to linux build tree
> > > COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross C=1 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__' ARCH=parisc
> > >
> > > If you fix the issue, kindly add following tag as appropriate
> > > Reported-by: kernel test robot <lkp@xxxxxxxxx>
> > >
> > > All errors (new ones prefixed by >>):
> >
> > I must confess that I have no idea what I can do about these errors.
> >
> > Did the kernel maybe grow larger than can be handled by the PA-RISC
> > toolchain?
>
> No, I assume it's because the function calls from the .init section are
> located too far away from the other code. Reason is probably because
> huge pages are selected and thus I tried to pack the init section so that
> it can get discarded after bootup.
>
> I'll look into it now...

Thank you!

Thanx, Paul

> Helge
>
> >
> > Thanx, Paul
> >
> > > hppa64-linux-ld: init/main.o(.init.text+0xdd8): cannot reach rest_init
> > > init/main.o: in function `arch_call_rest_init':
> > > (.init.text+0xdd8): relocation truncated to fit: R_PARISC_PCREL22F against symbol `rest_init' defined in .ref.text section in init/main.o
> > > hppa64-linux-ld: init/main.o(.init.text+0x13d8): cannot reach build_all_zonelists
> > > init/main.o: in function `start_kernel':
> > > (.init.text+0x13d8): relocation truncated to fit: R_PARISC_PCREL22F against symbol `build_all_zonelists' defined in .ref.text section in mm/page_alloc.o
> > > hppa64-linux-ld: init/main.o(.init.text+0x176c): cannot reach profile_init
> > > (.init.text+0x176c): relocation truncated to fit: R_PARISC_PCREL22F against symbol `profile_init' defined in .ref.text section in kernel/profile.o
> > > hppa64-linux-ld: init/main.o(.init.text+0x1ac0): cannot reach wait_for_completion
> > > init/main.o: in function `kernel_init_freeable':
> > > (.init.text+0x1ac0): relocation truncated to fit: R_PARISC_PCREL22F against symbol `wait_for_completion' defined in .sched.text section in kernel/sched/completion.o
> > > hppa64-linux-ld: init/main.o(.ref.text+0x1c): cannot reach rcu_scheduler_starting
> > > init/main.o: in function `rest_init':
> > > (.ref.text+0x1c): relocation truncated to fit: R_PARISC_PCREL22F against symbol `rcu_scheduler_starting' defined in .init.text section in kernel/rcu/srcutiny.o
> > > hppa64-linux-ld: init/main.o(.ref.text+0x17c): cannot reach unknown
> > > init/main.o: in function `kernel_init':
> > > (.ref.text+0x17c): relocation truncated to fit: R_PARISC_PCREL22F against `kernel_init_freeable'
> > > hppa64-linux-ld: arch/parisc/mm/init.o(.ref.text+0x78): cannot reach unknown
> > > arch/parisc/mm/init.o: in function `free_initmem':
> > > (.ref.text+0x78): relocation truncated to fit: R_PARISC_PCREL22F against `map_pages'
> > > hppa64-linux-ld: arch/parisc/mm/init.o(.ref.text+0xa0): cannot reach unknown
> > > (.ref.text+0xa0): relocation truncated to fit: R_PARISC_PCREL22F against `map_pages'
> > > hppa64-linux-ld: arch/parisc/mm/init.o(.ref.text+0xc4): cannot reach unknown
> > > (.ref.text+0xc4): relocation truncated to fit: R_PARISC_PCREL22F against `map_pages'
> > > hppa64-linux-ld: kernel/printk/printk.o(.init.text+0x768): cannot reach _raw_spin_lock
> > > kernel/printk/printk.o: in function `setup_log_buf':
> > > (.init.text+0x768): relocation truncated to fit: R_PARISC_PCREL22F against symbol `_raw_spin_lock' defined in .spinlock.text section in kernel/locking/spinlock.o
> > > hppa64-linux-ld: kernel/printk/printk.o(.init.text+0x7c4): cannot reach _raw_spin_unlock
> > > (.init.text+0x7c4): additional relocation overflows omitted from the output
> > > hppa64-linux-ld: kernel/cgroup/cgroup.o(.init.text+0x228): cannot reach mutex_lock
> > > hppa64-linux-ld: kernel/cgroup/cgroup.o(.init.text+0x440): cannot reach mutex_unlock
> > > hppa64-linux-ld: kernel/cgroup/cgroup.o(.init.text+0x7a0): cannot reach mutex_lock
> > > hppa64-linux-ld: kernel/cgroup/cgroup.o(.init.text+0x878): cannot reach mutex_unlock
> > > hppa64-linux-ld: kernel/cgroup/cgroup.o(.init.text+0xad4): cannot reach mutex_lock
> > > hppa64-linux-ld: kernel/cgroup/cgroup.o(.init.text+0xafc): cannot reach mutex_unlock
> > > hppa64-linux-ld: kernel/resource.o(.init.text+0x32c): cannot reach _raw_write_lock
> > > hppa64-linux-ld: kernel/resource.o(.init.text+0x4f8): cannot reach _raw_write_unlock
> > > hppa64-linux-ld: kernel/time/clocksource.o(.init.text+0x90): cannot reach mutex_lock
> > > hppa64-linux-ld: kernel/time/clocksource.o(.init.text+0xc4): cannot reach mutex_unlock
> > > hppa64-linux-ld: kernel/time/clocksource.o(.init.text+0x1b8): cannot reach mutex_lock
> > > hppa64-linux-ld: kernel/time/clocksource.o(.init.text+0x208): cannot reach mutex_unlock
> > > hppa64-linux-ld: kernel/workqueue.o(.init.text+0xa8): cannot reach mutex_lock
> > > hppa64-linux-ld: kernel/workqueue.o(.init.text+0x128): cannot reach mutex_unlock
> > > hppa64-linux-ld: kernel/workqueue.o(.init.text+0x354): cannot reach mutex_lock
> > > hppa64-linux-ld: kernel/workqueue.o(.init.text+0x388): cannot reach mutex_unlock
> > > hppa64-linux-ld: kernel/user.o(.init.text+0x80): cannot reach _raw_spin_lock_irq
> > > hppa64-linux-ld: kernel/user.o(.init.text+0xb8): cannot reach _raw_spin_unlock_irq
> > > > > hppa64-linux-ld: kernel/rcu/refscale.o(.init.text+0x228): cannot reach schedule_timeout_uninterruptible
> > > hppa64-linux-ld: kernel/time/timekeeping.o(.init.text+0x228): cannot reach _raw_spin_lock_irqsave
> > > hppa64-linux-ld: kernel/time/timekeeping.o(.init.text+0x320): cannot reach _raw_spin_unlock_irqrestore
> > > hppa64-linux-ld: kernel/time/sched_clock.o(.init.text+0x170): cannot reach __muldi3
> > > hppa64-linux-ld: kernel/time/sched_clock.o(.init.text+0x214): cannot reach __udivdi3
> > > hppa64-linux-ld: kernel/time/sched_clock.o(.init.text+0x240): cannot reach __udivdi3
> > > hppa64-linux-ld: arch/parisc/kernel/cache.o(.init.text+0x2d4): cannot reach __muldi3
> > > hppa64-linux-ld: arch/parisc/kernel/cache.o(.init.text+0x2ec): cannot reach __udivdi3
> > > hppa64-linux-ld: arch/parisc/kernel/cache.o(.init.text+0x3d4): cannot reach __muldi3
> > > hppa64-linux-ld: arch/parisc/kernel/cache.o(.init.text+0x3ec): cannot reach __udivdi3
> > > hppa64-linux-ld: arch/parisc/kernel/firmware.o(.init.text+0x3c): cannot reach _raw_spin_lock_irqsave
> > > hppa64-linux-ld: arch/parisc/kernel/firmware.o(.init.text+0xe8): cannot reach _raw_spin_unlock_irqrestore
> > > hppa64-linux-ld: arch/parisc/kernel/firmware.o(.init.text+0x170): cannot reach _raw_spin_lock_irqsave
> > > hppa64-linux-ld: arch/parisc/kernel/firmware.o(.init.text+0x288): cannot reach _raw_spin_unlock_irqrestore
> > > hppa64-linux-ld: arch/parisc/kernel/firmware.o(.init.text+0x30c): cannot reach _raw_spin_lock_irqsave
> > > hppa64-linux-ld: arch/parisc/kernel/firmware.o(.init.text+0x3d8): cannot reach _raw_spin_unlock_irqrestore
> > >
> > > ---
> > > 0-DAY CI Kernel Test Service, Intel Corporation
> > > https://lists.01.org/hyperkitty/list/kbuild-all@xxxxxxxxxxxx
> >
> >
> >
>