Title
DisIRer: Converting a retargetable compiler into a multiplatform binary translator
Abstract
This article proposes an alternative yet effective way of constructing a multiplatform binary translator, by converting a retargetable compiler into a binary translator. The rationale is that a retargetable compiler usually parses source programs into an Intermediate Representation (IR), and then translates IR into object code of different targets after performing analysis and optimizations. Specifically, the mechanism of code generation for multiple platforms from IR is already in place, and the missing link of building a multiplatform binary translator is a tool to transform binary programs back into IR. In order to fill in this missing link, this article presents a tool, called the disIRer. Just as a translator from machine language to assembly language is called a disassembler, a tool that translates executable binary programs to IR is called here a disIRer. The unique feature of this approach is that the retargetability of the binary translator is inherited directly from the retargetable compiler. A prototype multiplatform binary translator has been implemented upon GCC (the GNU Compiler Collection). DisIRer first converts binary programs back into GCC IR (Intermediate Representation), and afterward the GCC backend translates the IR to target binary programs of specified platforms. Experimental results show that x86 binary programs can be translated by this technique into ARM and Alpha binaries with reasonable code density and quality.
Year
DOI
Venue
2010
10.1145/1880043.1880045
TACO
Keywords
Field
DocType
alpha binary,x86 binary program,retargetable compiler,executable binary program,intermediate representation,binary program,binary translation,prototype multiplatform binary translator,binary translator,retargeting,multiplatform binary translator,converts binary program,code generation
Object code,Programming language,Computer science,Parallel computing,Disassembler,Assembly language,Compiler,Code generation,Binary translation,Machine code,Operating system,Executable
Journal
Volume
Issue
ISSN
7
4
1544-3566
Citations 
PageRank 
References 
9
0.49
34
Authors
3
Name
Order
Citations
PageRank
Yuan-Shin Hwang140340.55
Tzong-yen Lin2111.86
Rong-Guey Chang39914.70