Skip to main content Module bpf_builder Copy item path Source use crate::ClangInfo ; ๐ use anyhow::Context ; ๐ use anyhow::Result ; ๐ use anyhow::anyhow ; ๐ use anyhow::bail ; ๐ use glob::glob ; ๐ use libbpf_cargo::SkeletonBuilder; ๐ use libbpf_rs::Linker; ๐ use libbpf_rs::btf::Btf; ๐ use libbpf_rs::btf::BtfKind; ๐ use libbpf_rs::btf::BtfType; ๐ use libbpf_rs::btf::types::DataSec; ๐ use std::collections::BTreeSet ; ๐ use std::collections::HashMap ; ๐ use std::env ; ๐ use std::env ; ๐ use std::fs ; ๐ use std::path::Path ; ๐ use std::path::PathBuf ; ๐ use tracing::Level; ๐ use tracing_subscriber::Layer; ๐ use tracing_subscriber::filter; ๐ use tracing_subscriber::layer::SubscriberExt; ๐ ArenaElf ๐ The pieces of a little-endian ELF64 object the arena fixups touch. BpfBuilder Build helpers for sched_ext schedulers with Rust userspace component ARENA_SEC ๐ BTF_KIND_DATASEC ๐ BTF_KIND_VAR ๐ BTF_MAGIC ๐ SHT_SYMTAB ๐ STT_NOTYPE ๐ STT_OBJECT ๐ cid_struct_ops_type ๐ The cid-form struct_ops type the linked object registers, if any. The
struct_ops DATASECs list the ops variables; a cid-form one has type struct
sched_ext_ops_cid or a CO-RE variant of it. cstr ๐ fixup_arena_datasec ๐ Rewrite the .addr_space.1 BTF DATASEC of a linked object from its ELF
symbols and sort it by offset. fixup_arena_externs ๐ A libbpf linker pass binds unresolved arena externs to the arena section
as size-zero NOTYPE symbols, with the declaring objectโs section offset as
their value. Mark them undefined again so the next pass treats them as
externs. le16 ๐ le32 ๐ le64 ๐ with_clang_warnings ๐