Tristan Ravitch
b8c3e65389
Add a test with a call
2020-04-06 15:56:43 -07:00
Tristan Ravitch
b9672eb7f9
Add a missing symbolic instance
2020-04-05 22:08:58 -07:00
Tristan Ravitch
c5fe84f97c
Add a missing instance for ARMReg
2020-04-05 21:17:47 -07:00
Tristan Ravitch
f3b6b6ba4a
Add a (dummy) symbolic backend for AArch32
2020-04-05 21:16:03 -07:00
Tristan Ravitch
1fa9b86b26
Rename macaw-asl to macaw-aarch32
...
This is more descriptive, especially since we will eventually have
macaw-aarch32 (also derived from the ASL specs)
2020-04-05 15:16:39 -07:00
Tristan Ravitch
58150e91b5
Update macaw-ppc to the macaw-semmc endianness parameterization
2020-04-05 14:44:53 -07:00
Daniel Matichuk
a739223371
disable logging output
2020-04-04 22:27:08 -07:00
Daniel Matichuk
77e721ac0e
add support for redundant nested muxes
2020-04-04 22:24:47 -07:00
Ben Selfridge
b79561914e
Merge branch 'feature/asl' of https://github.com/GaloisInc/macaw into feature/asl
2020-04-04 19:17:07 -07:00
Ben Selfridge
d8a601a1b8
feature/asl: checking in latest, test-conditional almost passing
2020-04-04 19:11:23 -07:00
Daniel Matichuk
4614658073
bump semmc
2020-04-04 19:01:16 -07:00
Daniel Matichuk
31901ff4d7
translate memory writes via function calls
2020-04-04 18:58:54 -07:00
Daniel Matichuk
d1f72478eb
add use __BranchTaken flag
2020-04-04 16:37:00 -07:00
Daniel Matichuk
8b252eab0d
concretize some more CPU state
2020-04-04 13:53:25 -07:00
Ben Selfridge
094f4be22e
Merge branch 'feature/asl' of https://github.com/GaloisInc/macaw into feature/asl
2020-04-04 11:26:43 -07:00
Daniel Matichuk
42e22cfba5
bump submodules
2020-04-04 03:51:08 -07:00
Daniel Matichuk
6716c663a2
initial attempt at handling stateful branches
2020-04-04 03:13:03 -07:00
Daniel Matichuk
5dab9c5209
Merge remote-tracking branch 'origin/master' into feature/asl
2020-04-03 23:38:19 -07:00
Ben Selfridge
5bd55bb7ad
feature/asl: fixed build by using expected return type for init_gpr
2020-04-03 22:09:20 -07:00
Ben Selfridge
8afc18dc62
feature/asl: BROKEN BUILD -- updated asl-translator, need to fix
2020-04-03 18:33:31 -07:00
Andrei Stefanescu
0be59e5815
Update Macaw to use HasLLVMAnn. ( #122 )
2020-04-02 17:58:47 -07:00
Ben Selfridge
db848db3ef
feature/asl: added test-conditional-a32 test
2020-04-01 22:36:18 -07:00
Ben Selfridge
c21cf9e77b
feature/asl: rid not concrete errors more descriptive
2020-04-01 22:35:52 -07:00
Ben Selfridge
050625300e
feature/asl: passing test-just-exit-a32
2020-04-01 20:57:22 -07:00
Ben Selfridge
c8736a83a3
feature/asl: bump semmc
2020-04-01 20:56:14 -07:00
Ben Selfridge
7e78fbcf25
feature/asl: fixed syntax error and removed integers
2020-03-29 10:21:09 -07:00
Ben Selfridge
5f9267e97f
feature/asl: added failing tests
2020-03-29 10:20:52 -07:00
Ben Selfridge
c5f41cab52
feature/asl: added all registers besides memory to register list
2020-03-29 10:19:41 -07:00
Ben Selfridge
1b7fb5be73
feature/asl: bump asl-translator
2020-03-29 10:19:09 -07:00
Ben Selfridge
9bceb3a06c
feature/asl: updating to new semmc
2020-03-26 10:01:10 -07:00
Joe Hendrix
564a0a7b33
Merge pull request #120 from GaloisInc/jhx/function-arg-warnings
...
Remove spurious warnings from function args.
These were often incorrect.
2020-03-26 08:46:13 -07:00
Joe Hendrix
14da5837a6
Remove spurious warnings from function args.
2020-03-25 23:20:53 -07:00
Daniel Matichuk
1aa10fc35b
bump submodules
2020-03-25 17:59:28 -07:00
Daniel Matichuk
40a553b10b
update test script to use asl-lite
2020-03-25 15:40:42 -07:00
Ben Selfridge
e2de076b9c
feature/asl: thumb semantics
2020-03-25 15:06:10 -07:00
Ben Selfridge
f80dde767d
feature/asl: memory and register writes
2020-03-25 14:27:22 -07:00
Joe Hendrix
f2a9619122
Merge pull request #119 from GaloisInc/jhx/registeruse-fix
...
Fix register-use; add null terminated string reader to Memory.
2020-03-25 12:06:32 -07:00
Ben Selfridge
a478fd77b6
feature/asl: arm semantics compiling
2020-03-24 16:38:20 -07:00
Ben Selfridge
fd6343a254
submodule bump
2020-03-24 16:37:36 -07:00
Joe Hendrix
2f93b70946
Fix register-use; add null terminated string reader to Memory.
2020-03-20 18:22:48 -07:00
Ben Selfridge
99cb01bf0e
feature/asl: translate gpr_get UF
2020-03-19 16:49:10 -07:00
Ben Selfridge
fde33aac81
feature/asl added support for undefined and init functions
2020-03-19 14:45:43 -07:00
Ben Selfridge
5d40475232
feature/asl: translateFunction allows functions to call other functions
2020-03-18 15:46:57 -07:00
Andrew Kent
3e5f52f11b
bump semmc submodule, add what4-serialize dep
2020-03-18 12:01:17 -07:00
Ben Selfridge
acc79e1e24
bump asl-translator
2020-03-17 09:28:39 -07:00
Ben Selfridge
eee580fce4
bump semmc
2020-03-17 09:28:08 -07:00
Ben Selfridge
20fe9e19f5
feature/asl: added fall-through case in armNonceAppEval
2020-03-17 09:26:40 -07:00
Tristan Ravitch
d468ef68e9
Merge pull request #116 from GaloisInc/tr/submodule-update
...
Submodule update
2020-03-13 15:01:06 -07:00
Tristan Ravitch
4e487d5a5a
Submodule update
...
This fixes an error introduced in the ghc-8.8 updates. The error caused
macaw-x86 to throw an uncaught error when decoding certain instructions, when it
should have instead caught the error and reported a decode failure as a block
terminator.
2020-03-13 10:53:24 -07:00
Tristan Ravitch
e024646860
macaw-refinement ( #114 )
...
This commit updates macaw-refinement to work with the latest macaw/crucible and makes a few improvements along the way.
The major changes involved in this are:
* Block labels were removed from macaw, so we had to come up with an alternative approach to making synthetic blocks to represent dispatch resolved by macaw-refinement that is not really a jump table. We considered adding a new terminator that encoded "computed IP-based dispatch", but there was concern about the impact on client code. Instead, we added a field to the `DiscoveryFunInfo` that records "external" resolutions to indirect control flow (e.g., as by an SMT solver in macaw-refinement). The hook by which we feed SMT-based resolutions back into macaw was modified accordingly (`addDiscoveredFunctionBlockTargets`).
* Solver invocation changed to allow solver selection and parallel solver application.
* Logging is now done via the `lumberjack` library.
* macaw-symbolic now uses the "external" resolutions in `DiscoveryFunInfo` while building crucible CFGs.
* The path creation code in macaw-refinement was simplified significantly and the approach to path creation has been documented.
* The run-refinement tool is now more featureful.
* The test suite is a bit more structured and no longer depends on the printed output of the discovery process.
2020-03-12 17:15:08 -07:00