On Fri, 2023-10-13 at 22:15 +0900, Tetsuo Handa wrote: > Thank you for showing complete command line. > > On 2023/10/13 1:34, Eduard Zingerman wrote: > > # Note: kernel build is mandatory, as vmlinux.h is constructed from DWARF in ./vmlinux > > is what I was missing. Makefile rules should explicitly describe dependency on vmlinux , > or at least emit message to teach users about the need to build vmlinux ? Yes, that would be nice. > But I still get error. I'm using Ubuntu 22.04.3 LTS. I think you are using clang-14, which does not like u32 instructions. At least I get the same error message as you with clang-14. If so, please try using clang-16 instead. > > ---------------------------------------- > root@ubuntu:/usr/src/linux# make -C tools/testing/selftests/bpf/ > make: Entering directory '/usr/src/linux/tools/testing/selftests/bpf' > CLNG-BPF [test_maps] verifier_and.bpf.o > progs/verifier_and.c:58:16: error: invalid operand for instruction > asm volatile (" \ > ^ > <inline asm>:1:184: note: instantiated into assembly here > r1 = 0; *(u64*)(r10 - 8) = r1; r2 = r10; r2 += -8; r1 = map_hash_48b ll; call 1; if r0 == 0 goto l0_1; r1 = *(u32*)(r0 + 0); r9 = 1; w1 %= 2; w1 += 1; w9 &= w1; w9 += 1; w9 >>= 1; w3 = 1; w3 -= w9; w3 *= 0x10000000; r0 += r3; *(u32*)(r0 + 0) = r3; l0_1: r0 = r0; exit; > ^ > 1 error generated. > make: *** [Makefile:598: /usr/src/linux/tools/testing/selftests/bpf/verifier_and.bpf.o] Error 1 > make: Leaving directory '/usr/src/linux/tools/testing/selftests/bpf' > ---------------------------------------- >