LibAFL icon indicating copy to clipboard operation
LibAFL copied to clipboard

Split up LibAFL-bolts into reusable libraries

Open domenukk opened this issue 9 months ago • 2 comments

We have a bunch of cool libs hidden inside libafl-bolts. Let's break them apart for people to use individual components outside of libafl more easily.

In general, I propose the following libs (renamed according to crates.io name availability), with descriptions:

shmem: Shared Memory support for Windows, Linux, MacOS, *nix signal-handler: exception handling library for raw &unsafe exception/crash handling fast-rands: Non-cryptographically secure (but fast) RNGs anymap: Map to store and retrieve types, SerDe compatible build_id2: Updated and maintained build id library core_affinity2: Updated and maintained core_affinity library with larger OS support llmp: Low-level message passing: A lockfree IPC library for many-to-one - one-to-many messages minibsod: Write stack traces on crashes ownedref: Wrappers that abstracts references (or pointers) and owned data accesses, that deserialize to owned values tuple_list_ex: Additional methods for compiletime tuple_lists libafl-simd: SIMD acceleration libafl-bolts: all the rest

domenukk avatar May 13 '25 01:05 domenukk

We probably need to move all crates to a ./crates sub folder first

domenukk avatar May 13 '25 01:05 domenukk

And I would strongly recommend having a cargo-release CI. I will have a look recently if I find some extra time.

Aslo there are actions to automatically generate release notes, which makes each release easier.

wtdcode avatar May 13 '25 01:05 wtdcode