Hi, Andrii.
I noticed you had added runqslower tool to tools/bpf, so drop this problem to you.
Now i failed to run bpf tests since i can't build runqslower.
Testing env: "Debian GNU/Linux 9 (stretch)"
kernel: 5.6.0-rc5
gcc: gcc 6.3
clang: clang-11.
Description: Build runqslower failed due to build error "incomplete type" and libbpf show unsupported BTF_KIND:7.
Whole build log please see the attatchment.
Error info
```
root@vm-snb-144 ~/linus/tools/bpf# make
Auto-detecting system features: ... libbfd: [ on ] ... disassembler-four-args: [ OFF ]
[snip]
INSTALL bpftool LINK bpf_asm GEN vmlinux.h libbpf: unsupported BTF_KIND:7 (Many unsupported errors) libbpf: unsupported BTF_KIND:7 libbpf: unsupported BTF_KIND:7
[snip]
(Many incomplete type errors)
.output/vmlinux.h:8401:18: error: field has incomplete type 'struct idt_bits' struct idt_bits bits; ^ .output/vmlinux.h:8396:8: note: forward declaration of 'struct idt_bits' struct idt_bits; ^ .output/vmlinux.h:8598:21: error: field has incomplete type 'struct trace_entry' struct trace_entry ent; ^ .output/vmlinux.h:8595:8: note: forward declaration of 'struct trace_entry' struct trace_entry; ^ .output/vmlinux.h:9006:25: error: array has incomplete element type 'struct cyc2ns_data' struct cyc2ns_data data[2]; ^ .output/vmlinux.h:3669:8: note: forward declaration of 'struct cyc2ns_data' struct cyc2ns_data; ^ fatal error: too many errors emitted, stopping now [-ferror-limit=] 20 errors generated. Makefile:56: recipe for target '.output/runqslower.bpf.o' failed make[1]: *** [.output/runqslower.bpf.o] Error 1 Makefile:119: recipe for target 'runqslower' failed make: *** [runqslower] Error 2
```
On 3/25/20 10:26 PM, Liu Yiding wrote:
Hi, Andrii.
I noticed you had added runqslower tool to tools/bpf, so drop this problem to you.
Now i failed to run bpf tests since i can't build runqslower.
Testing env: "Debian GNU/Linux 9 (stretch)"
kernel: 5.6.0-rc5
gcc: gcc 6.3
clang: clang-11.
Description: Build runqslower failed due to build error "incomplete type" and libbpf show unsupported BTF_KIND:7.
Whole build log please see the attatchment.
Error info
root@vm-snb-144 ~/linus/tools/bpf# make Auto-detecting system features: ... libbfd: [ on ] ... disassembler-four-args: [ OFF ] [snip] INSTALL bpftool LINK bpf_asm GEN vmlinux.h libbpf: unsupported BTF_KIND:7 (Many unsupported errors) libbpf: unsupported BTF_KIND:7 libbpf: unsupported BTF_KIND:7
Would you be able to share BTF of vmlinux that is used to generate vmlinux.h? Please run in verbose mode: `make V=1` and search for `bpftool btf dump file` command. It should point either to /sys/kernel/btf/vmlinux or some other location, depending on how things are set up on your side.
If it's /sys/kernel/btf/vmlinux, you can just `cat /sys/kernel/btf/vmlinux > my_btf.bin`. If it's some other file, easiest would be to just share that file. If not, it's possible to extract .BTF ELF section, let me know if you need help with that.
[snip]
(Many incomplete type errors)
.output/vmlinux.h:8401:18: error: field has incomplete type 'struct idt_bits' struct idt_bits bits; ^ .output/vmlinux.h:8396:8: note: forward declaration of 'struct idt_bits' struct idt_bits; ^ .output/vmlinux.h:8598:21: error: field has incomplete type 'struct trace_entry' struct trace_entry ent; ^ .output/vmlinux.h:8595:8: note: forward declaration of 'struct trace_entry' struct trace_entry; ^ .output/vmlinux.h:9006:25: error: array has incomplete element type 'struct cyc2ns_data' struct cyc2ns_data data[2]; ^ .output/vmlinux.h:3669:8: note: forward declaration of 'struct cyc2ns_data' struct cyc2ns_data; ^ fatal error: too many errors emitted, stopping now [-ferror-limit=] 20 errors generated. Makefile:56: recipe for target '.output/runqslower.bpf.o' failed make[1]: *** [.output/runqslower.bpf.o] Error 1 Makefile:119: recipe for target 'runqslower' failed make: *** [runqslower] Error 2
linux-kselftest-mirror@lists.linaro.org