mirror of
https://github.com/GaloisInc/macaw.git
synced 2024-11-26 09:22:20 +03:00
e536e43f1b
These packages replace the old macaw-arm (which has been removed). The only change to the core macaw is to introduce a `Lift` instance for the Endianness data type, which is used in macaw-semmc. The macaw-aarch32 package uses the official ARM semantics (via the asl-translator package). In its current state, macaw-aarch32 seems to handle the common idioms of simple ARM binaries. Position independent executables have not been tested yet. The semantics and disassemblers for Thumb are present, but not integrated into code discovery at this time. There are some tests in macaw-aarch32. Compile times are longer than necessarily desired. macaw-aarch32 can be compiled in two modes: lite mode (cabal flag -fasl-lite), which uses a restricted set of instructions for testing, and takes less time to compile. The full instruction set is the default, though there are a few undefined functions that are not yet handled for the full set, mostly relating to floating point operations. The macaw-aarch32-symbolic package is currently a stub, but is implemented to provide a few necessary instances. |
||
---|---|---|
.. | ||
test-just-exit-a32.exe | ||
test-just-exit-t32.exe |