:::

最新消息

:::

DisIRer: Converting a Retargetable Compiler into a Multiplatform Binary Translator

演講公告
張貼人:公告日期:2014-04-09
Abstract:
This work presents an alternative yet effective way of constructing a multiplatform binary trans- lator, by converting a retargetable compiler into a binary translator. The rationale is that a retar- getable 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 bi- nary 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.
最後修改時間:2015-04-15 PM 4:52

cron web_use_log