The bintrans Dynamic Binary Translator

Overview

bintrans is a dynamic binary translator. That means it runs programs on architectures they were not compiled for. It does this by dynamically translating the machine code of the programs to be run to machine code for the native architecture.

Currently, bintrans features translators from i386 to PowerPC and from PowerPC to Alpha. It only supports Linux binaries.

bintrans is still in its early development stages, so don't expect it to run Mozilla. However, it already runs SPECINT95 benchmarks and a few small X applications (see screenshot).

Documentation and Publications

The best way to get an overview over dynamic binary translation in general and bintrans in particular is to read the paper Dynamic Binary Translation, which I presented at the UKUUG Linux Developer's Conference 2002.

You may also want to read the article Fast Machine-Adaptable Dynamic Binary Translation (Workshop on Binary Translation 2001), which reflects an earlier state in the development of bintrans.

You'll find installation instructions and a bit of internal documentation in the README file (also contained in the distribution).

Screenshot

Here's a screenshot of bintrans running an XDvi compiled for the i386 on a PowerPC.

Root File Systems

These are root file systems which contain a few programs for the purpose of testing and benchmarking bintrans.

PowerPC Root FS - contains (among others) most SPECINT95 benchmarks and XBattleAI.

i386 Root FS - contains (among others) XDvi.

Licence

The bintrans program is provided under the terms of the GNU General Public Licence.

Download

You can download the sources to version 0.1 of bintrans here.

Feedback

I like hearing about your experiences with bintrans, be they good or bad. So, for anything related to bintrans, mail me.

The Author

Check out my homepage for other fun stuff!