Commit Graph

8 Commits

Author SHA1 Message Date
Tristan Ravitch
e536e43f1b Introduce macaw-aarch32 and macaw-aarch32-symbolic
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.
2020-04-12 19:53:00 -07:00
Tristan Ravitch
0bb603098e Remove the old macaw-arm
It has been supereded by macaw-aarch32 (based on the ASL semantics)
2020-04-07 00:12:23 -07:00
Kevin Quick
642882396b
Build tests using the locally-available gcc arm binary name. 2018-12-14 15:09:47 -08:00
Tristan Ravitch
c718b41dc6 arm: Add a test with mixed ARM and Thumb code 2018-08-20 22:28:04 -07:00
Kevin Quick
c50f01efef
[arm] Added test exe and results for test-just-exit-t32. 2018-03-10 21:55:29 -08:00
Kevin Quick
16dbc72948
[arm] Update naming scheme for generated A32 and T32 test executables. 2018-02-27 10:02:33 -08:00
Kevin Quick
cd1c676554
[arm] Initial ARM ELF file macaw import and parse. 2017-12-28 16:30:25 -08:00
Kevin Quick
77d4341ac1
Initial tests for analyzing test-just-exit ARM binary. 2017-12-20 15:26:01 -08:00