Hi,
I’m the developer behind OpenRecomp, an open infrastructure project for deterministic static recompilation of legacy executables — extracting a versioned IR from a binary and translating it ahead of time into native code or WebAssembly, with execution and reproducibility as the primary goal rather than analysis alone.
The first proof of concept targets RV32I, and I’m preparing an NLnet Restack application to fund a second guest architecture, MIPS32, together with the validation and reproducibility work behind it.
rev.ng is one of the closer reference points I found while researching prior art. An architecture-neutral lifting framework that already covers MIPS is directly relevant to the IR, architecture-boundary, and host-contract choices I’m making.
I’m not looking for anything specific right now — I mainly wanted to say hello, flag that OpenRecomp exists, and ask whether MIPS lifting in rev.ng has exposed any control-flow, calling-convention, ABI, or compiler-pattern quirks that are particularly worth being aware of before I get deep into a MIPS32 adapter of my own.
Repo, if useful:
Thanks for the work you’ve put into rev.ng either way. It’s been a useful reference point for what an architecture-neutral binary translation pipeline can look like.
Fred