feat(dso): implement unused DSO cleaner

This is the first implementation of a recursive
DSO cleaner which is reasonably fast.

The implementation is still (unit-) untested.

Of course, modules to be dlopen'ed will always
escape such a tool, which will need to
support another cleaner plugin with a
whitelist.
This commit is contained in:
Matteo Settenvini 2025-01-26 02:33:25 +01:00
parent 5507a1dd21
commit 54075012aa
Signed by: matteo
GPG key ID: 1C1B12600D81DE05
5 changed files with 295 additions and 25 deletions

View file

@ -16,7 +16,8 @@ clap = { version = "4.5", features = ["derive"] }
env_logger = { version = "0.11" }
goblin = { version = "0.9" }
log = { version = "0.4" }
nix = { version = "0.29" }
memmap2 = { version = "0.9" }
nix = { version = "0.29", features = ["fs"] }
petgraph = { version = "0.7" }
tokio = { version = "1", features = ["full"] }
walkdir = { version = "2" }