Generic Decoder Specification Language Toolkit
Clone or download
Julian Kranz
Latest commit 50a958a Sep 20, 2018
Permalink
Failed to load latest commit information.
detail Runtime changes Oct 6, 2016
eclipse-plugin Code cleanup. Final commit Sep 11, 2014
include Adapted CMake build files Oct 14, 2016
lib Dummy libgdsl-multiplex for Windows Jun 15, 2015
libs cppgdsl Jul 2, 2018
pygdsl get_ip_offset => get_ip Sep 16, 2014
specifications Merge branch 'armtranslation' of versioncontrolseidl.in.tum.de:zenzl/… Sep 20, 2018
stale Fixed bug in semantics of: (V)PSRAW/(V)PSRAD Sep 30, 2013
tools Bug fix Nov 7, 2016
.clang-format Formatting Aug 26, 2016
.gitignore .gitignore Oct 24, 2016
.gitlab-ci.yml Add .gitlab-ci.yml Nov 3, 2016
CMakeLists.txt added fusion.ml path in CMakeList.txt May 30, 2018
LICENSE License Oct 24, 2013
MLton-LICENSE Clarify license issues. Feb 21, 2012
Makefile.am added fusion.ml to GDSL_RREIL in Makefile.am May 30, 2018
Makefile_arm7 added fusion.ml to GDSL_RREIL_HL in Makefile_arm7 May 30, 2018
Makefile_avr added fusion.ml to GDSL_RREIL_HL in Makefile_avr May 30, 2018
Makefile_manual ARM7 fixes Oct 28, 2014
Makefile_mips added fusion.ml to GDSL_RREIL_HL in Makefile_mips May 30, 2018
Makefile_x86 added fusion.ml to GDSL_RREIL_HL in Makefile_x86 May 30, 2018
NJ-LICENSE Clarify license issues. Feb 21, 2012
README Deps ;-) Mar 28, 2014
Readme.md Readme Jul 10, 2018
arm.mk Completing merge Aug 7, 2014
avr.mk Manual Makefiles: Bug fixes Jul 24, 2014
bugs.udcli A bit more efficient "slices". May 11, 2012
build.bat added fusion.ml to GDSL_RREIL set in build.bat May 30, 2018
config.h Small fix Oct 14, 2016
config.mk Manual Makefiles: Bug fixes, configuration Jul 24, 2014
configure.ac Bug fix for build.bat Jun 10, 2015
gdsl.cm Is now GDSL. May 31, 2012
gdsl.h Adapted CMake build files Oct 14, 2016
gdslConfig.cmake.in CMake Oct 6, 2016
gdslConfigVersion.cmake.in CMake Oct 6, 2016
gdslc.mlb use mlton to build if available Jul 23, 2014
java_eclipse_formatting.xml Eclipse formatting Aug 22, 2014
mips.mk MIPS Jul 24, 2014
scoping.patch Automake, scoping as patch May 26, 2015
stats-102013 --- Oct 11, 2013
todo Cleanup Sep 15, 2014
x86.mk Manual Makefiles: Bug fixes Jul 24, 2014

Readme.md

GDSL Toolkit

The GDSL toolkit is a software framework for specifying machine language decoders. It is meant to allow a natural specification that resembles the way the vendor manuals describe the instruction set. The toolkit comes with a set of decoders, semantics translators to the analysis-friendly intermediate reprensentation RReil, IR optimizations, and bindings to other programming languages such as C++ and Java.

Dependencies

This section describes how the GDSL toolkit is built and which dependencies are required. The GDSL compiler and core libraries require the following software to be on the current search PATH:

  • MLton
  • CMake
  • A C11 and a C++11 compiler

Furthermore, the following software packages and features are required by some of the optional demo applications:

Building the Toolkit

The toolkit can be built using CMake:

cd gdsl-toolkit/
mkdir build
cd build/
cmake ..
make

This command will build the toolkit for all available architectures. To build a specific architecture, specify the respective target:

...
make gdsl_x86_rreil

Here, we build the x86 frontend. Similarly, targets for specific libraries or tools can be specified.

Demos and Libraries

The GDSL toolkit contains a number of demo applications and libraries. The tools and libraries are presented in wiki (http://code.google.com/p/gdsl-toolkit/).

Roadmap

  • Architectures
    • Full support for ARMv7 and ARMv8
  • Testing
    • Support testing of all our architectures (reusing common parts of the tester)
    • Testing of the decoder by reacting to / expecting illegal instruction exceptions