Skip to content

Instantly share code, notes, and snippets.

@JustinStitt
Created August 22, 2023 21:21
Show Gist options
  • Save JustinStitt/d0c30180a2a2e046c32d5f0ce5f59c6d to your computer and use it in GitHub Desktop.
Save JustinStitt/d0c30180a2a2e046c32d5f0ce5f59c6d to your computer and use it in GitHub Desktop.
$ make mrproper && make LLVM=1 ARCH=x86_64 headers && make LLVM=1 ARCH=x86_64 -j128 -C tools/testing/selftests TARGETS=hid &> out
make: Entering directory '/usr/local/google/home/justinstitt/playground/learning-to-build/linux/tools/testing/selftests'
make[1]: Entering directory '/usr/local/google/home/justinstitt/playground/learning-to-build/linux/tools/testing/selftests/hid'
INSTALL libbpf_headers
HOSTCC /usr/local/google/home/justinstitt/playground/learning-to-build/linux/tools/testing/selftests/hid/tools/build/libbpf/fixdep.o
HOSTLD /usr/local/google/home/justinstitt/playground/learning-to-build/linux/tools/testing/selftests/hid/tools/build/libbpf/fixdep-in.o
LINK /usr/local/google/home/justinstitt/playground/learning-to-build/linux/tools/testing/selftests/hid/tools/build/libbpf/fixdep
CC /usr/local/google/home/justinstitt/playground/learning-to-build/linux/tools/testing/selftests/hid/tools/build/libbpf/staticobjs/libbpf.o
CC /usr/local/google/home/justinstitt/playground/learning-to-build/linux/tools/testing/selftests/hid/tools/build/libbpf/staticobjs/bpf.o
CC /usr/local/google/home/justinstitt/playground/learning-to-build/linux/tools/testing/selftests/hid/tools/build/libbpf/staticobjs/nlattr.o
CC /usr/local/google/home/justinstitt/playground/learning-to-build/linux/tools/testing/selftests/hid/tools/build/libbpf/staticobjs/btf.o
CC /usr/local/google/home/justinstitt/playground/learning-to-build/linux/tools/testing/selftests/hid/tools/build/libbpf/staticobjs/libbpf_errno.o
CC /usr/local/google/home/justinstitt/playground/learning-to-build/linux/tools/testing/selftests/hid/tools/build/libbpf/staticobjs/str_error.o
CC /usr/local/google/home/justinstitt/playground/learning-to-build/linux/tools/testing/selftests/hid/tools/build/libbpf/staticobjs/netlink.o
CC /usr/local/google/home/justinstitt/playground/learning-to-build/linux/tools/testing/selftests/hid/tools/build/libbpf/staticobjs/bpf_prog_linfo.o
CC /usr/local/google/home/justinstitt/playground/learning-to-build/linux/tools/testing/selftests/hid/tools/build/libbpf/staticobjs/libbpf_probes.o
CC /usr/local/google/home/justinstitt/playground/learning-to-build/linux/tools/testing/selftests/hid/tools/build/libbpf/staticobjs/hashmap.o
CC /usr/local/google/home/justinstitt/playground/learning-to-build/linux/tools/testing/selftests/hid/tools/build/libbpf/staticobjs/btf_dump.o
CC /usr/local/google/home/justinstitt/playground/learning-to-build/linux/tools/testing/selftests/hid/tools/build/libbpf/staticobjs/ringbuf.o
CC /usr/local/google/home/justinstitt/playground/learning-to-build/linux/tools/testing/selftests/hid/tools/build/libbpf/staticobjs/strset.o
CC /usr/local/google/home/justinstitt/playground/learning-to-build/linux/tools/testing/selftests/hid/tools/build/libbpf/staticobjs/linker.o
CC /usr/local/google/home/justinstitt/playground/learning-to-build/linux/tools/testing/selftests/hid/tools/build/libbpf/staticobjs/gen_loader.o
CC /usr/local/google/home/justinstitt/playground/learning-to-build/linux/tools/testing/selftests/hid/tools/build/libbpf/staticobjs/relo_core.o
CC /usr/local/google/home/justinstitt/playground/learning-to-build/linux/tools/testing/selftests/hid/tools/build/libbpf/staticobjs/usdt.o
CC /usr/local/google/home/justinstitt/playground/learning-to-build/linux/tools/testing/selftests/hid/tools/build/libbpf/staticobjs/zip.o
CC /usr/local/google/home/justinstitt/playground/learning-to-build/linux/tools/testing/selftests/hid/tools/build/libbpf/sharedobjs/libbpf.o
CC /usr/local/google/home/justinstitt/playground/learning-to-build/linux/tools/testing/selftests/hid/tools/build/libbpf/sharedobjs/bpf.o
CC /usr/local/google/home/justinstitt/playground/learning-to-build/linux/tools/testing/selftests/hid/tools/build/libbpf/sharedobjs/nlattr.o
CC /usr/local/google/home/justinstitt/playground/learning-to-build/linux/tools/testing/selftests/hid/tools/build/libbpf/sharedobjs/btf.o
CC /usr/local/google/home/justinstitt/playground/learning-to-build/linux/tools/testing/selftests/hid/tools/build/libbpf/sharedobjs/libbpf_errno.o
CC /usr/local/google/home/justinstitt/playground/learning-to-build/linux/tools/testing/selftests/hid/tools/build/libbpf/sharedobjs/str_error.o
CC /usr/local/google/home/justinstitt/playground/learning-to-build/linux/tools/testing/selftests/hid/tools/build/libbpf/sharedobjs/netlink.o
CC /usr/local/google/home/justinstitt/playground/learning-to-build/linux/tools/testing/selftests/hid/tools/build/libbpf/sharedobjs/bpf_prog_linfo.o
CC /usr/local/google/home/justinstitt/playground/learning-to-build/linux/tools/testing/selftests/hid/tools/build/libbpf/sharedobjs/libbpf_probes.o
CC /usr/local/google/home/justinstitt/playground/learning-to-build/linux/tools/testing/selftests/hid/tools/build/libbpf/sharedobjs/hashmap.o
CC /usr/local/google/home/justinstitt/playground/learning-to-build/linux/tools/testing/selftests/hid/tools/build/libbpf/sharedobjs/btf_dump.o
CC /usr/local/google/home/justinstitt/playground/learning-to-build/linux/tools/testing/selftests/hid/tools/build/libbpf/sharedobjs/ringbuf.o
CC /usr/local/google/home/justinstitt/playground/learning-to-build/linux/tools/testing/selftests/hid/tools/build/libbpf/sharedobjs/strset.o
CC /usr/local/google/home/justinstitt/playground/learning-to-build/linux/tools/testing/selftests/hid/tools/build/libbpf/sharedobjs/linker.o
CC /usr/local/google/home/justinstitt/playground/learning-to-build/linux/tools/testing/selftests/hid/tools/build/libbpf/sharedobjs/gen_loader.o
CC /usr/local/google/home/justinstitt/playground/learning-to-build/linux/tools/testing/selftests/hid/tools/build/libbpf/sharedobjs/relo_core.o
CC /usr/local/google/home/justinstitt/playground/learning-to-build/linux/tools/testing/selftests/hid/tools/build/libbpf/sharedobjs/usdt.o
CC /usr/local/google/home/justinstitt/playground/learning-to-build/linux/tools/testing/selftests/hid/tools/build/libbpf/sharedobjs/zip.o
LD /usr/local/google/home/justinstitt/playground/learning-to-build/linux/tools/testing/selftests/hid/tools/build/libbpf/staticobjs/libbpf-in.o
LINK /usr/local/google/home/justinstitt/playground/learning-to-build/linux/tools/testing/selftests/hid/tools/build/libbpf/libbpf.a
LD /usr/local/google/home/justinstitt/playground/learning-to-build/linux/tools/testing/selftests/hid/tools/build/libbpf/sharedobjs/libbpf-in.o
LINK /usr/local/google/home/justinstitt/playground/learning-to-build/linux/tools/testing/selftests/hid/tools/build/libbpf/libbpf.so.1.3.0
CC /usr/local/google/home/justinstitt/playground/learning-to-build/linux/tools/testing/selftests/hid/tools/build/bpftool/btf.o
CC /usr/local/google/home/justinstitt/playground/learning-to-build/linux/tools/testing/selftests/hid/tools/build/bpftool/btf_dumper.o
CC /usr/local/google/home/justinstitt/playground/learning-to-build/linux/tools/testing/selftests/hid/tools/build/bpftool/cfg.o
CC /usr/local/google/home/justinstitt/playground/learning-to-build/linux/tools/testing/selftests/hid/tools/build/bpftool/cgroup.o
CC /usr/local/google/home/justinstitt/playground/learning-to-build/linux/tools/testing/selftests/hid/tools/build/bpftool/common.o
CC /usr/local/google/home/justinstitt/playground/learning-to-build/linux/tools/testing/selftests/hid/tools/build/bpftool/feature.o
CC /usr/local/google/home/justinstitt/playground/learning-to-build/linux/tools/testing/selftests/hid/tools/build/bpftool/gen.o
CC /usr/local/google/home/justinstitt/playground/learning-to-build/linux/tools/testing/selftests/hid/tools/build/bpftool/iter.o
CC /usr/local/google/home/justinstitt/playground/learning-to-build/linux/tools/testing/selftests/hid/tools/build/bpftool/jit_disasm.o
CC /usr/local/google/home/justinstitt/playground/learning-to-build/linux/tools/testing/selftests/hid/tools/build/bpftool/json_writer.o
CC /usr/local/google/home/justinstitt/playground/learning-to-build/linux/tools/testing/selftests/hid/tools/build/bpftool/link.o
CC /usr/local/google/home/justinstitt/playground/learning-to-build/linux/tools/testing/selftests/hid/tools/build/bpftool/main.o
CC /usr/local/google/home/justinstitt/playground/learning-to-build/linux/tools/testing/selftests/hid/tools/build/bpftool/map.o
CC /usr/local/google/home/justinstitt/playground/learning-to-build/linux/tools/testing/selftests/hid/tools/build/bpftool/map_perf_ring.o
CC /usr/local/google/home/justinstitt/playground/learning-to-build/linux/tools/testing/selftests/hid/tools/build/bpftool/net.o
CC /usr/local/google/home/justinstitt/playground/learning-to-build/linux/tools/testing/selftests/hid/tools/build/bpftool/netlink_dumper.o
CC /usr/local/google/home/justinstitt/playground/learning-to-build/linux/tools/testing/selftests/hid/tools/build/bpftool/perf.o
CC /usr/local/google/home/justinstitt/playground/learning-to-build/linux/tools/testing/selftests/hid/tools/build/bpftool/pids.o
CC /usr/local/google/home/justinstitt/playground/learning-to-build/linux/tools/testing/selftests/hid/tools/build/bpftool/prog.o
CC /usr/local/google/home/justinstitt/playground/learning-to-build/linux/tools/testing/selftests/hid/tools/build/bpftool/struct_ops.o
CC /usr/local/google/home/justinstitt/playground/learning-to-build/linux/tools/testing/selftests/hid/tools/build/bpftool/tracelog.o
CC /usr/local/google/home/justinstitt/playground/learning-to-build/linux/tools/testing/selftests/hid/tools/build/bpftool/xlated_dumper.o
CC /usr/local/google/home/justinstitt/playground/learning-to-build/linux/tools/testing/selftests/hid/tools/build/bpftool/disasm.o
LINK /usr/local/google/home/justinstitt/playground/learning-to-build/linux/tools/testing/selftests/hid/tools/build/bpftool/bpftool
INSTALL bpftool
GEN vmlinux.h
CLNG-BPF hid.bpf.o
In file included from progs/hid.c:6:
progs/hid_bpf_helpers.h:9:38: error: declaration of 'struct hid_bpf_ctx' will not be visible outside of this function [-Werror,-Wvisibility]
9 | extern __u8 *hid_bpf_get_data(struct hid_bpf_ctx *ctx,
| ^
progs/hid_bpf_helpers.h:18:15: error: declaration of 'enum hid_report_type' will not be visible outside of this function [-Werror,-Wvisibility]
18 | enum hid_report_type type,
| ^
progs/hid_bpf_helpers.h:19:15: error: declaration of 'enum hid_class_request' will not be visible outside of this function [-Werror,-Wvisibility]
19 | enum hid_class_request reqtype) __ksym;
| ^
progs/hid.c:23:35: error: incompatible pointer types passing 'struct hid_bpf_ctx *' to parameter of type 'struct hid_bpf_ctx *' [-Werror,-Wincompatible-pointer-types]
23 | __u8 *rw_data = hid_bpf_get_data(hid_ctx, 0 /* offset */, 3 /* size */);
| ^~~~~~~
progs/hid_bpf_helpers.h:9:51: note: passing argument to parameter 'ctx' here
9 | extern __u8 *hid_bpf_get_data(struct hid_bpf_ctx *ctx,
| ^
progs/hid.c:32:16: error: incomplete definition of type 'struct hid_bpf_ctx'
32 | return hid_ctx->size;
| ~~~~~~~^
progs/hid_bpf_helpers.h:13:15: note: forward declaration of 'struct hid_bpf_ctx'
13 | extern struct hid_bpf_ctx *hid_bpf_allocate_context(unsigned int hid_id) __ksym;
| ^
progs/hid.c:38:35: error: incompatible pointer types passing 'struct hid_bpf_ctx *' to parameter of type 'struct hid_bpf_ctx *' [-Werror,-Wincompatible-pointer-types]
38 | __u8 *rw_data = hid_bpf_get_data(hid_ctx, 0 /* offset */, 4 /* size */);
| ^~~~~~~
progs/hid_bpf_helpers.h:9:51: note: passing argument to parameter 'ctx' here
9 | extern __u8 *hid_bpf_get_data(struct hid_bpf_ctx *ctx,
| ^
progs/hid.c:45:16: error: incomplete definition of type 'struct hid_bpf_ctx'
45 | return hid_ctx->size;
| ~~~~~~~^
progs/hid_bpf_helpers.h:13:15: note: forward declaration of 'struct hid_bpf_ctx'
13 | extern struct hid_bpf_ctx *hid_bpf_allocate_context(unsigned int hid_id) __ksym;
| ^
progs/hid.c:51:35: error: incompatible pointer types passing 'struct hid_bpf_ctx *' to parameter of type 'struct hid_bpf_ctx *' [-Werror,-Wincompatible-pointer-types]
51 | __u8 *rw_data = hid_bpf_get_data(hid_ctx, 0 /* offset */, 3 /* size */);
| ^~~~~~~
progs/hid_bpf_helpers.h:9:51: note: passing argument to parameter 'ctx' here
9 | extern __u8 *hid_bpf_get_data(struct hid_bpf_ctx *ctx,
| ^
progs/hid.c:66:27: error: use of undeclared identifier 'HID_BPF_FLAG_INSERT_HEAD'
66 | ctx->insert_head ? HID_BPF_FLAG_INSERT_HEAD :
| ^
progs/hid.c:67:13: error: use of undeclared identifier 'HID_BPF_FLAG_NONE'
67 | HID_BPF_FLAG_NONE);
| ^
progs/hid.c:77:23: error: field has incomplete type 'enum hid_report_type'
77 | enum hid_report_type type;
| ^
progs/hid.c:77:7: note: forward declaration of 'enum hid_report_type'
77 | enum hid_report_type type;
| ^
progs/hid.c:144:32: error: incompatible pointer types passing 'struct hid_bpf_ctx *' to parameter of type 'struct hid_bpf_ctx *' [-Werror,-Wincompatible-pointer-types]
144 | __u8 *data = hid_bpf_get_data(hid_ctx, 0 /* offset */, 4096 /* size */);
| ^~~~~~~
progs/hid_bpf_helpers.h:9:51: note: passing argument to parameter 'ctx' here
9 | extern __u8 *hid_bpf_get_data(struct hid_bpf_ctx *ctx,
| ^
progs/hid.c:163:32: error: incompatible pointer types passing 'struct hid_bpf_ctx *' to parameter of type 'struct hid_bpf_ctx *' [-Werror,-Wincompatible-pointer-types]
163 | __u8 *data = hid_bpf_get_data(hid_ctx, 0 /* offset */, 4 /* size */);
| ^~~~~~~
progs/hid_bpf_helpers.h:9:51: note: passing argument to parameter 'ctx' here
9 | extern __u8 *hid_bpf_get_data(struct hid_bpf_ctx *ctx,
| ^
progs/hid.c:180:32: error: incompatible pointer types passing 'struct hid_bpf_ctx *' to parameter of type 'struct hid_bpf_ctx *' [-Werror,-Wincompatible-pointer-types]
180 | __u8 *data = hid_bpf_get_data(hid_ctx, 0 /* offset */, 4 /* size */);
| ^~~~~~~
progs/hid_bpf_helpers.h:9:51: note: passing argument to parameter 'ctx' here
9 | extern __u8 *hid_bpf_get_data(struct hid_bpf_ctx *ctx,
| ^
progs/hid.c:197:32: error: incompatible pointer types passing 'struct hid_bpf_ctx *' to parameter of type 'struct hid_bpf_ctx *' [-Werror,-Wincompatible-pointer-types]
197 | __u8 *data = hid_bpf_get_data(hid_ctx, 0 /* offset */, 4 /* size */);
| ^~~~~~~
progs/hid_bpf_helpers.h:9:51: note: passing argument to parameter 'ctx' here
9 | extern __u8 *hid_bpf_get_data(struct hid_bpf_ctx *ctx,
| ^
15 errors generated.
make[1]: *** [Makefile:227: /usr/local/google/home/justinstitt/playground/learning-to-build/linux/tools/testing/selftests/hid/hid.bpf.o] Error 1
make[1]: Leaving directory '/usr/local/google/home/justinstitt/playground/learning-to-build/linux/tools/testing/selftests/hid'
make: *** [Makefile:169: all] Error 2
make: Leaving directory '/usr/local/google/home/justinstitt/playground/learning-to-build/linux/tools/testing/selftests'
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment