- Added "import injection" escape hatch to generated skeletons
- Removed
novendor
feature in favor of having disableable default feature - Added support for
struct_ops
shadow objects for generated skeletons - Added support for handling custom data sections in generated skeletons
- Adjusted
SkeletonBuilder::clang_args
to accept an iterator of arguments instead of a string - Added
--clang-args
argument tomake
andbuild
sub-commands - Put all generated types into single
<project>_types
module as opposed to having multiple modules for various sections (.bss
,.rodata
, etc.) - Fixed potential naming issues by escaping reserved keywords used in identifiers
- Fixed potential unsoundness issues in generated skeletons by wrapping "unsafe"
type in
MaybeUninit
- Added pointer based ("raw") access to datasec type to generated skeletons
- Added better handling for bitfields to code generation logic
- Updated
libbpf-sys
dependency to1.4.0
- Bumped minimum Rust version to
1.71
- Adjusted skeleton creation logic to generate shared and exclusive datasec accessor functions
- Removed
Error
enum in favor ofanyhow::Error
- Bumped minimum Rust version to
1.65
- Added
Default
impl for generatedstruct
types containing pointers - Fixed handling of function prototype type declaration inference in BTF and skeleton generation
- Improved error reporting in build script usage
- Bumped minimum Rust version to
1.64
- Adjusted named padding members in generated types to have
pub
visibility
- Adjusted skeleton generation code to ensure implementation of
libbpf-rs
'sSkelBuilder
,OpenSkel
, andSkel
traits - Improved error reporting on BPF C file compilation failure
- Switched over to using
libbpf-rs
's BTF support internally for skeleton generation - Fixed potential build failures on systems defaulting to stack
protector usage by passing
-fno-stack-protector
toclang
- Fixed mismatch in size of generated types with respect to corresponding C types
- Fixed generated skeleton potentially being unstable (changing each time)
- Implemented
Sync
for generated skeletons - Made formatting using
rustfmt
optional - Updated various dependencies
- Initial documented release