2023-08-11 06:21:54

by kernel test robot

[permalink] [raw]
Subject: {standard input}:1727: Error: operand out of range (-132 is not between -128 and 127)

tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head: 25aa0bebba72b318e71fe205bfd1236550cc9534
commit: a6889becb05394255c80b62103677e3b095726a9 refscale: Add tests using SLAB_TYPESAFE_BY_RCU
date: 7 months ago
config: arc-randconfig-r006-20230811 (https://download.01.org/0day-ci/archive/20230811/[email protected]/config)
compiler: arceb-elf-gcc (GCC) 12.3.0
reproduce: (https://download.01.org/0day-ci/archive/20230811/[email protected]/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 <[email protected]>
| Closes: https://lore.kernel.org/oe-kbuild-all/[email protected]/

All errors (new ones prefixed by >>):

{standard input}: Assembler messages:
>> {standard input}:1727: Error: operand out of range (-132 is not between -128 and 127)

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


2023-08-11 16:18:43

by Paul E. McKenney

[permalink] [raw]
Subject: Re: {standard input}:1727: Error: operand out of range (-132 is not between -128 and 127)

On Fri, Aug 11, 2023 at 01:02:12PM +0800, kernel test robot wrote:
> tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
> head: 25aa0bebba72b318e71fe205bfd1236550cc9534
> commit: a6889becb05394255c80b62103677e3b095726a9 refscale: Add tests using SLAB_TYPESAFE_BY_RCU
> date: 7 months ago
> config: arc-randconfig-r006-20230811 (https://download.01.org/0day-ci/archive/20230811/[email protected]/config)
> compiler: arceb-elf-gcc (GCC) 12.3.0
> reproduce: (https://download.01.org/0day-ci/archive/20230811/[email protected]/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 <[email protected]>
> | Closes: https://lore.kernel.org/oe-kbuild-all/[email protected]/
>
> All errors (new ones prefixed by >>):
>
> {standard input}: Assembler messages:
> >> {standard input}:1727: Error: operand out of range (-132 is not between -128 and 127)

I am not seeing any inline assembly in that patch, so I have to suspect
a bug in arch code or the compiler backend for arc.

Or is there something that I am missing here?

Thanx, Paul

2023-08-16 03:49:56

by Paul E. McKenney

[permalink] [raw]
Subject: Re: {standard input}:1727: Error: operand out of range (-132 is not between -128 and 127)

On Tue, Aug 15, 2023 at 07:34:04AM +0000, Liu, Yujie wrote:
> Hi Paul,
>
> On Fri, 2023-08-11 at 08:41 -0700, Paul E. McKenney wrote:
> > On Fri, Aug 11, 2023 at 01:02:12PM +0800, kernel test robot wrote:
> > > tree:?? https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git?master
> > > head:?? 25aa0bebba72b318e71fe205bfd1236550cc9534
> > > commit: a6889becb05394255c80b62103677e3b095726a9 refscale: Add tests using SLAB_TYPESAFE_BY_RCU
> > > date:?? 7 months ago
> > > config: arc-randconfig-r006-20230811 (https://download.01.org/0day-ci/archive/20230811/[email protected]/config)
> > > compiler: arceb-elf-gcc (GCC) 12.3.0
> > > reproduce: (https://download.01.org/0day-ci/archive/20230811/[email protected]/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 <[email protected]>
> > > > Closes: https://lore.kernel.org/oe-kbuild-all/[email protected]/
> > >
> > > All errors (new ones prefixed by >>):
> > >
> > > ?? {standard input}: Assembler messages:
> > > > > {standard input}:1727: Error: operand out of range (-132 is not between -128 and 127)
> >
> > I am not seeing any inline assembly in that patch, so I have to suspect
> > a bug in arch code or the compiler backend for arc.
> >
> > Or is there something that I am missing here?
>
> We looked into this case a little bit. The assembler error popped up
> when building kernel/rcu/refscale.o
>
> $make W=1 --keep-going CROSS_COMPILE=arceb-elf- ARCH=arc kernel/rcu/refscale.o
> ...
> CC [M] kernel/rcu/refscale.o
> {standard input}: Assembler messages:
> {standard input}:1727: Error: operand out of range (-132 is not between -128 and 127)
> make[3]: *** [scripts/Makefile.build:252: kernel/rcu/refscale.o] Error 1
> make[2]: *** [scripts/Makefile.build:504: kernel/rcu] Error 2
> make[2]: Target 'kernel/rcu/refscale.o' not remade because of errors.
> make[1]: *** [scripts/Makefile.build:504: kernel] Error 2
> make[1]: Target 'kernel/rcu/refscale.o' not remade because of errors.
> make: *** [Makefile:2008: .] Error 2
> make: Target 'kernel/rcu/refscale.o' not remade because of errors.
>
> We did some assembly and disassembly tricks:
>
> 1721 .L334:
> 1722 ld_s r0,[r14,52] ;15
> 1723 brgt r0, r19, @.L335
> 1724 ld_s r0,[r13,120] ;15
> 1725 breq_s r0, 0, @.L337
> 1726 jl [r17]
> 1727 brne_s r0, 0, @.L337 <---
> 1728 mov_s r2,20 ;3
> 1729 mov_s r1,0 ;3
> 1730 mov_s r0,sp ;4
> 1731 jl [r20]
> 1732 mov_s r1,0 ;3
> 1733 mov_s r0,sp ;4
> 1734 jl @init_wait_entry
> 1735 .align 2
>
> This assembly instruction at line 1727 points to the code in main_func,
> but main_func is not touched by commit a6889becb053.
>
> d6e: 860d ld_s r0,[r14,0x34]
> d70: 0b59 a002 brlt.nt r19,r0,-168 ;cc8 <main_func+0x16c>
> return arch_atomic_read(v);
> d74: 851e ld_s r0,[r13,0x78]
> wait_event(main_wq,
> d76: e842 breq_s r0,0,-124 ;cf8 <main_func+0x19c>
> d78: 2022 0440 jl [r17]
> d7c: e8be brne_s r0,0,124 ;df8 <main_func+0x29c> <--
> d7e: da14 mov_s r2,0x14
> d80: 702c mov_s r1,0
> d82: 4083 mov_s r0,sp
> d84: 2022 0500 jl [r20]
> d88: 702c mov_s r1,0
> d8a: 4083 mov_s r0,sp
> d8c: 2022 0f80 0000 0000 jl 0
>
> We also tried on the parent commit 3c6496c86e48. It builds fine without
> that assembler error, and corresponding disassembly is:
>
> afe: 860d ld_s r0,[r14,0x34]
> b00: 0b5d a002 brlt.nt r19,r0,-164 ;a5c <main_func+0x16c>
> return arch_atomic_read(v);
> b04: 8518 ld_s r0,[r13,0x60]
> wait_event(main_wq,
> b06: e844 breq_s r0,0,-120 ;a8c <main_func+0x19c>
> b08: 2022 0440 jl [r17]
> b0c: e8c0 brne_s r0,0,-128 ;a8c <main_func+0x19c> <--
> b0e: da14 mov_s r2,0x14
> b10: 702c mov_s r1,0
> b12: 4083 mov_s r0,sp
> b14: 2022 0500 jl [r20]
> b18: 702c mov_s r1,0
> b1a: 4083 mov_s r0,sp
> b1c: 2022 0f80 0000 0000 jl 0
> b24: 724c mov_s r2,2
> b26: 4183 mov_s r1,sp
> b28: 40c3 0000 0000 mov_s r0,0
> b2e: 2022 0f80 0000 0000 jl 0
>
>
> We are also not sure if this is a bug in arch code or compiler side.
> Here we provide above info for your reference.

Thank you for looking into this and getting back to me.

I added the ARC maintainer and list on CC.

Thanx, Paul

2023-08-16 13:40:59

by Vineet Gupta

[permalink] [raw]
Subject: Re: {standard input}:1727: Error: operand out of range (-132 is not between -128 and 127)

+CC Alexey and Claudiu

On 8/15/23 09:35, Paul E. McKenney wrote:
> On Tue, Aug 15, 2023 at 07:34:04AM +0000, Liu, Yujie wrote:
>> Hi Paul,
>>
>> On Fri, 2023-08-11 at 08:41 -0700, Paul E. McKenney wrote:
>>> On Fri, Aug 11, 2023 at 01:02:12PM +0800, kernel test robot wrote:
>>>> tree:   https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
>>>> head:   25aa0bebba72b318e71fe205bfd1236550cc9534
>>>> commit: a6889becb05394255c80b62103677e3b095726a9 refscale: Add tests using SLAB_TYPESAFE_BY_RCU
>>>> date:   7 months ago
>>>> config: arc-randconfig-r006-20230811 (https://download.01.org/0day-ci/archive/20230811/[email protected]/config)
>>>> compiler: arceb-elf-gcc (GCC) 12.3.0
>>>> reproduce: (https://download.01.org/0day-ci/archive/20230811/[email protected]/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 <[email protected]>
>>>>> Closes: https://lore.kernel.org/oe-kbuild-all/[email protected]/
>>>> All errors (new ones prefixed by >>):
>>>>
>>>>    {standard input}: Assembler messages:
>>>>>> {standard input}:1727: Error: operand out of range (-132 is not between -128 and 127)
>>> I am not seeing any inline assembly in that patch, so I have to suspect
>>> a bug in arch code or the compiler backend for arc.
>>>
>>> Or is there something that I am missing here?
>> We looked into this case a little bit. The assembler error popped up
>> when building kernel/rcu/refscale.o
>>
>> $make W=1 --keep-going CROSS_COMPILE=arceb-elf- ARCH=arc kernel/rcu/refscale.o
>> ...
>> CC [M] kernel/rcu/refscale.o
>> {standard input}: Assembler messages:
>> {standard input}:1727: Error: operand out of range (-132 is not between -128 and 127)
>> make[3]: *** [scripts/Makefile.build:252: kernel/rcu/refscale.o] Error 1
>> make[2]: *** [scripts/Makefile.build:504: kernel/rcu] Error 2
>> make[2]: Target 'kernel/rcu/refscale.o' not remade because of errors.
>> make[1]: *** [scripts/Makefile.build:504: kernel] Error 2
>> make[1]: Target 'kernel/rcu/refscale.o' not remade because of errors.
>> make: *** [Makefile:2008: .] Error 2
>> make: Target 'kernel/rcu/refscale.o' not remade because of errors.
>>
>> We did some assembly and disassembly tricks:
>>
>> 1721 .L334:
>> 1722 ld_s r0,[r14,52] ;15
>> 1723 brgt r0, r19, @.L335
>> 1724 ld_s r0,[r13,120] ;15
>> 1725 breq_s r0, 0, @.L337
>> 1726 jl [r17]
>> 1727 brne_s r0, 0, @.L337 <---
>> 1728 mov_s r2,20 ;3
>> 1729 mov_s r1,0 ;3
>> 1730 mov_s r0,sp ;4
>> 1731 jl [r20]
>> 1732 mov_s r1,0 ;3
>> 1733 mov_s r0,sp ;4
>> 1734 jl @init_wait_entry
>> 1735 .align 2
>>
>> This assembly instruction at line 1727 points to the code in main_func,
>> but main_func is not touched by commit a6889becb053.
>>
>> d6e: 860d ld_s r0,[r14,0x34]
>> d70: 0b59 a002 brlt.nt r19,r0,-168 ;cc8 <main_func+0x16c>
>> return arch_atomic_read(v);
>> d74: 851e ld_s r0,[r13,0x78]
>> wait_event(main_wq,
>> d76: e842 breq_s r0,0,-124 ;cf8 <main_func+0x19c>
>> d78: 2022 0440 jl [r17]
>> d7c: e8be brne_s r0,0,124 ;df8 <main_func+0x29c> <--
>> d7e: da14 mov_s r2,0x14
>> d80: 702c mov_s r1,0
>> d82: 4083 mov_s r0,sp
>> d84: 2022 0500 jl [r20]
>> d88: 702c mov_s r1,0
>> d8a: 4083 mov_s r0,sp
>> d8c: 2022 0f80 0000 0000 jl 0
>>
>> We also tried on the parent commit 3c6496c86e48. It builds fine without
>> that assembler error, and corresponding disassembly is:
>>
>> afe: 860d ld_s r0,[r14,0x34]
>> b00: 0b5d a002 brlt.nt r19,r0,-164 ;a5c <main_func+0x16c>
>> return arch_atomic_read(v);
>> b04: 8518 ld_s r0,[r13,0x60]
>> wait_event(main_wq,
>> b06: e844 breq_s r0,0,-120 ;a8c <main_func+0x19c>
>> b08: 2022 0440 jl [r17]
>> b0c: e8c0 brne_s r0,0,-128 ;a8c <main_func+0x19c> <--
>> b0e: da14 mov_s r2,0x14
>> b10: 702c mov_s r1,0
>> b12: 4083 mov_s r0,sp
>> b14: 2022 0500 jl [r20]
>> b18: 702c mov_s r1,0
>> b1a: 4083 mov_s r0,sp
>> b1c: 2022 0f80 0000 0000 jl 0
>> b24: 724c mov_s r2,2
>> b26: 4183 mov_s r1,sp
>> b28: 40c3 0000 0000 mov_s r0,0
>> b2e: 2022 0f80 0000 0000 jl 0
>>
>>
>> We are also not sure if this is a bug in arch code or compiler side.
>> Here we provide above info for your reference.
> Thank you for looking into this and getting back to me.
>
> I added the ARC maintainer and list on CC.
>
> Thanx, Paul