Your browser sucks, JavaScript disabled! Gunnar's console needs JavaScript and WebAssembly. Git over SSH on port 2222 does not.

nordisk/nornir

crates/mimir-binary/README.md

nornir-mimir-binary

The binary layer of Mímir v2 (nornir's code graph): the Arrow tables a linked artifact's symbols become (code_nodes, code_edges, code_symbols, code_asm on the same SCIP monikers as the source layer of cargo-mimir-dump).

The reader joins ELF symbols against the source stream and calls the binary graph's graph_of() (nornir-mimir-bin) on the artifact with DT_NEEDED traversal enabled. It never loads or executes the libraries. Native blocks use exact, unambiguous linker identities; source nodes are not re-emitted, and provenance is derived by joining the streams. Different source and binary timestamps are supported.

write() emits <program>.binary.asm.arrow alongside nodes, edges, symbols and the ledger. Blocks are keyed by function, module and local block ID. Successors are local block IDs, not edges in code_edges. The ledger's native report preserves unresolved control flow, missing libraries and other refusals: emitted blocks do not imply complete recovery.

Library lookup follows the binary graph's fixed-image search policy (RPATH/RUNPATH, referring directory and platform library directories), not a full dynamic-loader simulation.

[dependencies]
nornir-mimir-binary = "0.1"

The library is mimir_binary. Part of nornir; released with it.

Licence

MIT OR Apache-2.0, at your choice (LICENSE-MIT, LICENSE-APACHE).