fix(dso): do not eagerly resolve symlinks

This change contains three improvements:

- we use a separate root node, so that it is easier to debug
  what is going on
- we now are able to print the DOT graph of ELF binaries in
  DsoCleaner
- we do not eagerly resolve symlinks, which produced completely
  incorrect results before
This commit is contained in:
Matteo Settenvini 2025-01-30 15:54:57 +01:00
parent a05dd7084d
commit 7ec6467b3b
Signed by: matteo
GPG key ID: 1C1B12600D81DE05
5 changed files with 130 additions and 52 deletions

7
Cargo.lock generated
View file

@ -328,6 +328,12 @@ dependencies = [
"hashbrown",
]
[[package]]
name = "indoc"
version = "2.0.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "b248f5224d1d606005e02c97f5aa4e88eeb230488bcc03bc9ca4d7991399f2b5"
[[package]]
name = "is_terminal_polyfill"
version = "1.70.1"
@ -632,6 +638,7 @@ dependencies = [
"env_logger",
"goblin",
"ignore",
"indoc",
"log",
"memmap2",
"nix",