linux-parisc.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* Re: hppa64-linux-ld: kernel/rcu/refscale.o(.init.text+0x228): cannot reach schedule_timeout_uninterruptible
       [not found] ` <20210228050526.GD2696@paulmck-ThinkPad-P72>
@ 2021-02-28 20:51   ` Helge Deller
  2021-02-28 22:33     ` Paul E. McKenney
  0 siblings, 1 reply; 4+ messages in thread
From: Helge Deller @ 2021-02-28 20:51 UTC (permalink / raw)
  To: paulmck, kernel test robot, linux-parisc; +Cc: kbuild-all, linux-kernel

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@intel.com>
>>
>> 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...

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@lists.01.org
>
>
>


^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: hppa64-linux-ld: kernel/rcu/refscale.o(.init.text+0x228): cannot reach schedule_timeout_uninterruptible
  2021-02-28 20:51   ` hppa64-linux-ld: kernel/rcu/refscale.o(.init.text+0x228): cannot reach schedule_timeout_uninterruptible Helge Deller
@ 2021-02-28 22:33     ` Paul E. McKenney
  2021-03-01 21:34       ` Helge Deller
  0 siblings, 1 reply; 4+ messages in thread
From: Paul E. McKenney @ 2021-02-28 22:33 UTC (permalink / raw)
  To: Helge Deller; +Cc: kernel test robot, linux-parisc, kbuild-all, linux-kernel

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@intel.com>
> > > 
> > > 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@lists.01.org
> > 
> > 
> > 
> 

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: hppa64-linux-ld: kernel/rcu/refscale.o(.init.text+0x228): cannot reach schedule_timeout_uninterruptible
  2021-02-28 22:33     ` Paul E. McKenney
@ 2021-03-01 21:34       ` Helge Deller
  2021-03-02 13:52         ` John David Anglin
  0 siblings, 1 reply; 4+ messages in thread
From: Helge Deller @ 2021-03-01 21:34 UTC (permalink / raw)
  To: paulmck; +Cc: kernel test robot, linux-parisc, kbuild-all, linux-kernel

On 2/28/21 11:33 PM, Paul E. McKenney wrote:
> 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@intel.com>
>>>>
>>>> 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...

I think the only way to fix this in a clean way is to
enable CONFIG_MLONGCALLS, which lets gcc use -mlong-calls compiler
option and thus creates far calls.

The problem is, that those calls are far more less performant, which one
usually don't want to use in production kernels.
In addition, typical Linux distribution kernels have most
drivers built as modules and as such don't need this option.

One way I can think of to work around that issue is, that if Kconfig detects
that we build a test robot kernel, simply to enable this option.
That way the test robot still builds everything.

Is there a way to detect at compile/build time if the kernel
is configured/built by the test robot? Is there maybe some config option
or environment variable set which could be used?

Maybe someone has another/better idea as well?

Helge


>>>>      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@lists.01.org
>>>
>>>
>>>
>>


^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: hppa64-linux-ld: kernel/rcu/refscale.o(.init.text+0x228): cannot reach schedule_timeout_uninterruptible
  2021-03-01 21:34       ` Helge Deller
@ 2021-03-02 13:52         ` John David Anglin
  0 siblings, 0 replies; 4+ messages in thread
From: John David Anglin @ 2021-03-02 13:52 UTC (permalink / raw)
  To: Helge Deller, paulmck
  Cc: kernel test robot, linux-parisc, kbuild-all, linux-kernel

On 2021-03-01 4:34 p.m., Helge Deller wrote:
> I think the only way to fix this in a clean way is to
> enable CONFIG_MLONGCALLS, which lets gcc use -mlong-calls compiler
> option and thus creates far calls.
That's currently the only way to work around the R_PARISC_PCREL22F relocation error.  We need
long branch stub support in 64-bit linker.

Dave

-- 
John David Anglin  dave.anglin@bell.net


^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2021-03-03  5:47 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
     [not found] <202102281205.3F9aEA0G-lkp@intel.com>
     [not found] ` <20210228050526.GD2696@paulmck-ThinkPad-P72>
2021-02-28 20:51   ` hppa64-linux-ld: kernel/rcu/refscale.o(.init.text+0x228): cannot reach schedule_timeout_uninterruptible Helge Deller
2021-02-28 22:33     ` Paul E. McKenney
2021-03-01 21:34       ` Helge Deller
2021-03-02 13:52         ` John David Anglin

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).