Re: [ragnatech:net-next 317/356] {standard input}:3148: Error: operands mismatch -- statement `andl %a1,%d1' ignored

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Mon, 18 Jan 2021 at 12:53, Brendan Jackman <jackmanb@xxxxxxxxxx> wrote:

I copied in the attached config, installed the m68k toolchain:

sudo apt install gcc-m68k-linux-gnu  # (m68k-linux-gnu-gcc (Debian
10.2.0-9) 10.2.0)

Built with:

CROSS_COMPILE=m68k-linux-gnu- ARCH=m68k make -j

And I get this "needs 68020 or higher" error from all over the kernel
tree. Sounds like a Kbuild bug to me, I will ignore it if you're OK
with that.

Sorry, that's nonsense, this email is complaining about "Error:
operands mismatch", not "needs 68020 or higher".

On Sat, 16 Jan 2021 at 09:20, kernel test robot <lkp@xxxxxxxxx> wrote:

tree:   git://git.ragnatech.se/linux net-next
head:   9ab7e76aefc97a9aa664accb59d6e8dc5e52514a
commit: 981f94c3e92146705baf97fb417a5ed1ab1a79a5 [317/356] bpf: Add bitwise atomic instructions
config: m68k-randconfig-r002-20210115 (attached as .config)
compiler: m68k-linux-gcc (GCC) 9.3.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
        git remote add ragnatech git://git.ragnatech.se/linux
        git fetch --no-tags ragnatech net-next
        git checkout 981f94c3e92146705baf97fb417a5ed1ab1a79a5
        # save the attached .config to linux build tree
        COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross ARCH=m68k

If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@xxxxxxxxx>

All errors (new ones prefixed by >>):

   kernel/bpf/core.c:1350:12: warning: no previous prototype for 'bpf_probe_read_kernel' [-Wmissing-prototypes]
    1350 | u64 __weak bpf_probe_read_kernel(void *dst, u32 size, const void *unsafe_ptr)
         |            ^~~~~~~~~~~~~~~~~~~~~
   {standard input}: Assembler messages:
   {standard input}:3102: Error: invalid instruction for this architecture; needs 68020 or higher (68020 [68k, 68ec020], 68030 [68ec030], 68040 [68ec040], 68060 [68ec060]) -- statement `casl %d0,%d1,(%a6)' ignored
{standard input}:3148: Error: operands mismatch -- statement `andl %a1,%d1' ignored
   {standard input}:3148: Error: invalid instruction for this architecture; needs 68020 or higher (68020 [68k, 68ec020], 68030 [68ec030], 68040 [68ec040], 68060 [68ec060]) -- statement `casl %d0,%d1,(%a6)' ignored
{standard input}:3201: Error: operands mismatch -- statement `orl %a1,%d1' ignored
   {standard input}:3201: Error: invalid instruction for this architecture; needs 68020 or higher (68020 [68k, 68ec020], 68030 [68ec030], 68040 [68ec040], 68060 [68ec060]) -- statement `casl %d0,%d1,(%a6)' ignored
{standard input}:3247: Error: operands mismatch -- statement `eorl %a1,%d1' ignored
   {standard input}:3247: Error: invalid instruction for this architecture; needs 68020 or higher (68020 [68k, 68ec020], 68030 [68ec030], 68040 [68ec040], 68060 [68ec060]) -- statement `casl %d0,%d1,(%a6)' ignored
   {standard input}:3270: Error: invalid instruction for this architecture; needs 68020 or higher (68020 [68k, 68ec020], 68030 [68ec030], 68040 [68ec040], 68060 [68ec060]) -- statement `casl %d0,%d5,(%a0)' ignored
   {standard input}:3307: Error: invalid instruction for this architecture; needs 68020 or higher (68020 [68k, 68ec020], 68030 [68ec030], 68040 [68ec040], 68060 [68ec060]) -- statement `casl %d0,%d5,(%a6)' ignored


Did some fiddling to find where the error comes from and it is indeed
the new atomics code, specifically the ATOMIC_ALU_OP invocations, on
line 1645 [1]

I got a similar error from 0-day during development, in that case the
core issue seemed to be type casts that only made sense if pointers
were 64-bit. I think this is something different though:

The three errors are for the BPF_AND, BPF_OR and BPF_XOR invocations,
but the BPF_AND invocation doesn't produce the error. That makes me
think this might need some m68k knowledge... I added linux-m68k and
Geert from MAINTAINERS... any ideas?

[1] https://git.kernel.org/pub/scm/linux/kernel/git/bpf/bpf-next.git/tree/kernel/bpf/core.c?id=981f94c3e92146705baf97fb417a5ed1ab1a79a5#n1645



[Index of Archives]     [Video for Linux]     [Yosemite News]     [Linux S/390]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux