Skip to content

Commit

Permalink
chore(codegen): Fix duplicate BPF_F_LINK
Browse files Browse the repository at this point in the history
Per the comment added in the code, there are 2 definitions of
BPF_F_LINK in the kernel headers. Once is in an anonymous enum which
bindgen will constify, and once is via a #define macro. The values are
identical. The fix is to exclude BPF_F_LINK from the list of variables
in bindgen removing one of the duplicate definitions.

Signed-off-by: Dave Tucker <[email protected]>
  • Loading branch information
dave-tucker committed Jan 31, 2025
1 parent b960fd2 commit d92284e
Show file tree
Hide file tree
Showing 2 changed files with 8 additions and 0 deletions.
4 changes: 4 additions & 0 deletions xtask/src/codegen/aya.rs
Original file line number Diff line number Diff line change
Expand Up @@ -216,6 +216,10 @@ fn codegen_bindings(opts: &SysrootOptions, libbpf_dir: &Path) -> Result<(), anyh
for x in &vars {
bindgen = bindgen
.allowlist_var(x)
// BPF_F_LINK is defined twice. Once in an anonymous enum
// which bindgen will constify, and once via #define macro
// which generates a duplicate const.
.blocklist_var("BPF_F_LINK")
.constified_enum("BPF_F_.*")
.constified_enum("BTF_KIND_.*")
.constified_enum("BTF_VAR_.*")
Expand Down
4 changes: 4 additions & 0 deletions xtask/src/codegen/aya_ebpf_bindings.rs
Original file line number Diff line number Diff line change
Expand Up @@ -36,6 +36,10 @@ pub fn codegen(opts: &SysrootOptions, libbpf_dir: &Path) -> Result<(), anyhow::E
.clang_args(&["-I", &*libbpf_dir.join("include/uapi").to_string_lossy()])
.clang_args(&["-I", &*libbpf_dir.join("include").to_string_lossy()])
.clang_args(&["-I", &*libbpf_dir.join("src").to_string_lossy()])
// BPF_F_LINK is defined twice. Once in an anonymous enum
// which bindgen will constify, and once via #define macro
// which generates a duplicate const.
.blocklist_var("BPF_F_LINK")
// open aya-ebpf-bindings/.../bindings.rs and look for mod
// _bindgen, those are anonymous enums
.constified_enum("BPF_F_.*")
Expand Down

0 comments on commit d92284e

Please sign in to comment.