binate-core
The analysis engine behind Binate — a semantic diff library for validating reproducible Rust builds.
Usage
[]
= "0.1"
use ;
let left = open?;
let right = open?;
let config = DiffConfig ;
let result = compare?;
if result.identical else
What it does
- Memory-maps both binaries (
memmap2) — no full read into RAM - Normalizes away known non-determinism (build IDs, timestamps, absolute paths)
- Byte-diffs each section in parallel (
rayon) - Attributes each differing byte range to a symbol via O(log n) address lookup
- Resolves each changed symbol to a source file and line via DWARF (
gimli)
License
MIT