mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2025-01-10 23:20:05 +00:00
bpftool: Add header guards to generated vmlinux.h
Add canonical #ifndef/#define/#endif guard for generated vmlinux.h header with __VMLINUX_H__ symbol. __VMLINUX_H__ is also going to play double role of identifying whether vmlinux.h is being used, versus, say, BCC or non-CO-RE libbpf modes with dependency on kernel headers. This will make it possible to write helper macro/functions, agnostic to exact BPF program set up. Signed-off-by: Andrii Nakryiko <andriin@fb.com> Signed-off-by: Alexei Starovoitov <ast@kernel.org> Link: https://lore.kernel.org/bpf/20200229231112.1240137-2-andriin@fb.com
This commit is contained in:
parent
15070919f8
commit
ca7dc2791b
@ -389,6 +389,9 @@ static int dump_btf_c(const struct btf *btf,
|
|||||||
if (IS_ERR(d))
|
if (IS_ERR(d))
|
||||||
return PTR_ERR(d);
|
return PTR_ERR(d);
|
||||||
|
|
||||||
|
printf("#ifndef __VMLINUX_H__\n");
|
||||||
|
printf("#define __VMLINUX_H__\n");
|
||||||
|
printf("\n");
|
||||||
printf("#ifndef BPF_NO_PRESERVE_ACCESS_INDEX\n");
|
printf("#ifndef BPF_NO_PRESERVE_ACCESS_INDEX\n");
|
||||||
printf("#pragma clang attribute push (__attribute__((preserve_access_index)), apply_to = record)\n");
|
printf("#pragma clang attribute push (__attribute__((preserve_access_index)), apply_to = record)\n");
|
||||||
printf("#endif\n\n");
|
printf("#endif\n\n");
|
||||||
@ -412,6 +415,8 @@ static int dump_btf_c(const struct btf *btf,
|
|||||||
printf("#ifndef BPF_NO_PRESERVE_ACCESS_INDEX\n");
|
printf("#ifndef BPF_NO_PRESERVE_ACCESS_INDEX\n");
|
||||||
printf("#pragma clang attribute pop\n");
|
printf("#pragma clang attribute pop\n");
|
||||||
printf("#endif\n");
|
printf("#endif\n");
|
||||||
|
printf("\n");
|
||||||
|
printf("#endif /* __VMLINUX_H__ */\n");
|
||||||
|
|
||||||
done:
|
done:
|
||||||
btf_dump__free(d);
|
btf_dump__free(d);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user