Joe Hendrix
43bcf9cafa
Merge remote-tracking branch 'origin/master' into jhx/vec
2019-02-20 15:42:46 -08:00
Joe Hendrix
00096344a7
Support float/vector in reads/writes; Use floating point types.
2019-02-20 15:40:59 -08:00
Kevin Quick
731d68df40
Updated stack build for GHC 8.6.3 to include macaw-semmc packages.
2019-02-20 11:14:10 -08:00
Kevin Quick
ca6e5a947c
Updated README.md to include macaw-semmc information.
...
Removed README.org from macaw-semmc, consolidated all README
information to README.md.
2019-02-20 11:13:54 -08:00
Joe Hendrix
35af2a5c3a
Rename VectorTypeRepr to VecTypeRepr
2019-02-19 10:18:12 -08:00
Kevin Quick
b80ab8fb67
[symbolic] update to latest crucible.
2019-02-19 08:24:45 -08:00
Kevin Quick
228b0085d6
Update macaw-loader and semmc submodule versions.
2019-02-18 15:02:08 -08:00
Kevin Quick
b50e6025e6
Update cabal.project.dist to reflect submodule de-duplication from merge.
2019-02-18 11:42:57 -08:00
Kevin Quick
101a638add
Eliminate duplication in submodules.
2019-02-18 11:42:24 -08:00
Kevin Quick
8aefd5224f
Merge ../macaw-semmc
...
Combined .gitignore rules and merged .gitmodules as the concatenation
of the individual .gitmodules; this will result in duplicate
submodules which will be resolved in a subsequent commit.
2019-02-18 09:44:31 -08:00
Luke Maurer
b23ba5820d
CrucGen: Support for jump tables
...
This needed a bit more surgery than one would like, since we need to
translate the indirect jump to an if-else chain, which means creating a
bunch of "extra" blocks from within the `CrucGen` monad.
2019-02-15 18:35:25 -08:00
Tristan Ravitch
1d3610a783
Revert "Fill in undefined
s with nonsense so pretty printing works"
...
This reverts commit 86ef62645d
.
This commit generates invalid Crucible CFGs, which causes downstream analysis to
fail. Reverting the commit will allow downstream clients to discard invalid CFGs.
2019-02-15 08:35:17 -08:00
Tristan Ravitch
c527a91521
Merge branch 'master' of github.com:GaloisInc/macaw
2019-02-15 08:31:41 -08:00
Joe Hendrix
fa8583de44
Merge pull request #25 from GaloisInc/jhx/zmm
...
Vector improvements
2019-02-15 08:21:10 -08:00
Joe Hendrix
a2611303ff
Add GHC 8.6.3 stack and switch travis to use it.
2019-02-15 00:42:53 -08:00
Joe Hendrix
3b7e12de16
Update to fix build process.
2019-02-15 00:28:35 -08:00
Tristan Ravitch
934784aed2
Update submodules
...
The code has been updated, but the crucible submodule was out of date (w.r.t. some what4 changes in
the natrepr)
2019-02-14 21:20:59 -08:00
Joe Hendrix
d3947f32b4
Support ZMM, bitcasting, and fixed length vectors.
2019-02-14 11:06:45 -08:00
Luke Maurer
68ae66bff5
NatRepr changes
2019-02-13 14:21:48 -08:00
Luke Maurer
97a6a43c5b
Fix for GHC versions < 8.4
2019-02-13 13:42:43 -08:00
Luke Maurer
cbda1717cc
Fix for GHC versions < 8.8
...
`MonadFail` being a forward-compatibility measure, overriding
`Control.Monad.Fail.fail` in GHC versions <= 8.6 doesn't do anything
unless `Control.Monad.Fail.fail` is invoked explicitly (or the importing
module happens to have `-XMonadFailDesugaring` on).
2019-02-12 18:24:41 -08:00
Langston Barrett
ee4a4ff268
Merge pull request #24 from siddharthist/pu
...
update parameterized-utils submodule
2019-02-11 15:09:08 -08:00
Langston Barrett
274808a8ae
update parameterized-utils submodule
2019-02-11 11:47:19 -08:00
Kevin Quick
3e7bd01560
[refinement] Disabled PPC switching test.
...
Attempting to refine the switching test for PPC executables ends up
with a non-terminating Z3 process, so this test is disabled until this
is diagnosed.
2019-02-08 17:32:21 -08:00
Kevin Quick
5f12c3da88
[symbolic] Remove unneeded debug import.
2019-02-08 17:31:30 -08:00
Kevin Quick
edb486c6b3
Added toCrucibleEndian in symbolic and use for memory setup in refinement.
...
Requires updated macaw-loader BinaryFormat information.
2019-02-08 17:30:18 -08:00
Kevin Quick
0f97a86c3e
Added missing pretty-printer import.
2019-02-08 17:29:03 -08:00
Kevin Quick
9c5ebee0bc
Added ArchInfo lookupReg and updateReg for PPC.
2019-02-08 17:28:43 -08:00
Kevin Quick
9f46c9e60b
Merge branch 'master' of github.com:GaloisInc/macaw-semmc
2019-02-08 14:37:54 -08:00
Kevin Quick
d3228847f7
[refinement] add PPC tests expected results.
2019-02-08 14:26:17 -08:00
Kevin Quick
6cb0868d1b
[refinement] import cleanup
2019-02-08 14:20:29 -08:00
Kevin Quick
290e33279a
[refinement] Enable PPC testing.
2019-02-08 14:10:08 -08:00
Kevin Quick
3eeaed08a2
Merge branch 'master' of github.com:GaloisInc/macaw
2019-02-08 08:30:26 -08:00
Andrei Stefanescu
c67e474a19
[refinement] Move symbolic execution code in its own module.
2019-02-07 19:43:58 -08:00
Andrei Stefanescu
5b93187d5b
[refinement] Update .cabal file.
2019-02-07 17:25:52 -08:00
Andrei Stefanescu
45e4251bf3
[refinement] Add an unbounded memory allocation at the bottom of the allocation stack.
2019-02-07 17:23:02 -08:00
Kevin Quick
33540121f5
Merge branch 'master' of github.com:GaloisInc/macaw
2019-02-07 17:15:24 -08:00
Kevin Quick
3baf55376b
[refinement] update run-refinement for summary and verbose modes.
2019-02-07 17:15:00 -08:00
Andrei Stefanescu
ec9acfc1e1
[refinement] Add llvm compiled ppc64 binary files.
2019-02-07 17:00:10 -08:00
Kevin Quick
e47887a9f1
[refinement] add note to sample input for refinement tests.
2019-02-07 16:43:11 -08:00
Kevin Quick
3c6492b6fb
[refinement] add additional comment and showsearch info to RefinementTests.
2019-02-07 16:41:34 -08:00
Kevin Quick
94bfcc9654
Merge branch 'refinement'
2019-02-07 16:40:39 -08:00
Kevin Quick
35a16c587b
Merge branch 'master' of github.com:GaloisInc/macaw
2019-02-07 16:36:54 -08:00
Andrei Stefanescu
9121f0a439
[refinement] Add llvm compiled binary files.
2019-02-07 16:20:24 -08:00
Andrei Stefanescu
6da8c69374
[refinement] Add llvm compiled binary files.
2019-02-07 16:19:18 -08:00
Kevin Quick
59b55dd10a
[refinement] Update README for tests/samples.
2019-02-07 16:15:49 -08:00
Kevin Quick
35ff0c18ab
[refinement] Added nested switch/case test source.
2019-02-07 16:14:12 -08:00
Kevin Quick
7bb72b4b19
[refinement] Update expected refined test results for switching.x86.
...
The tests/samples/switching.c example now gets refined successfully so
this updates the expected file for that output.
2019-02-07 16:09:23 -08:00
Kevin Quick
2454ee25fc
[refinement] Track all solutions and ensure latest function is analyzed.
...
For each discovered transfer refinement, the Discovery process must be
re-started from scratch for the particular target function in
question. The implication is that subsequent refinements for the same
nominal function must use the newer version, and that all previous
refinements must be re-applied each time the function Discovery
process is repeated.
These changes ensure that both of these occur during the refinement
iterations.
2019-02-07 15:54:39 -08:00
Andrei Stefanescu
0d66b159e1
[refinement] Map model pointers back to addresses.
2019-02-07 01:09:59 -08:00