123456789101112131415161718192021222324252627282930313233343536373839404142434445 |
- // SPDX-License-Identifier: GPL-2.0
- #include <asm/unistd.h>
- #include <linux/bpf.h>
- #include <unistd.h>
- #ifndef __NR_bpf
- # if defined(__i386__)
- # define __NR_bpf 357
- # elif defined(__x86_64__)
- # define __NR_bpf 321
- # elif defined(__aarch64__)
- # define __NR_bpf 280
- # elif defined(__sparc__)
- # define __NR_bpf 349
- # elif defined(__s390__)
- # define __NR_bpf 351
- # else
- # error __NR_bpf not defined. libbpf does not support your arch.
- # endif
- #endif
- int main(void)
- {
- union bpf_attr attr;
- /* Check fields in attr */
- attr.prog_type = BPF_PROG_TYPE_KPROBE;
- attr.insn_cnt = 0;
- attr.insns = 0;
- attr.license = 0;
- attr.log_buf = 0;
- attr.log_size = 0;
- attr.log_level = 0;
- attr.kern_version = 0;
- attr.prog_flags = 0;
- /*
- * bwh: Don't use the bpf() syscall as we might be building on a
- * much older kernel. Do "use" the attr structure here to avoid
- * a "set but not used" warning.
- */
- (void)&attr;
- return 0;
- }
|