There are currently 0 users and 1 guest online.
Diablo is released under the GNU General Public License v2. As such you are free to use, modify and redistribute it free of charge, as long as you contribute all changes back to the community. We would very much appreciate it if you cited our LCTES paper [bibtex] if you publish something based on work you've done with Diablo.
Diablo is a research prototype that is under heavy development. Do not expect Diablo releases to be production quality code! However, we are willing to support Diablo users, so if you experience any problems using Diablo, or if you have any questions or suggestions, please contact us.
Latest development version
You can get the latest version by anonymous SVN with the following command:
A number of sample frontends for different architectures are included (in the frontends/ directory), which can be built with the corresponding Makefile.<arch>. Use these makefiles and frontends as inspiration to build your own Diablo-based tools. Running make without parameters lists the currently buildable targets.
In order to work correctly, Diablo needs some information about code and data in a program that a regular GCC-based toolchain does not preserve (the ARM ADS v1.1 and RVCT toolchains do preserve this information). Therefore, you need to patch any GCC-based tool chain before you can use Diablo on programs generated by it. These patches do not influence the generated code, they only preserve some compile-time information that is also useful for Diablo but not for a regular linker.
Current toolchains and patches
Older patches and toolchains
Old Diablo releases (unsupported, not buildable on modern Linux distributions)