Tristan Ravitch
95091a5fb3
Submodule updates
2018-11-27 13:57:36 -08:00
Tristan Ravitch
f2f1698f4e
Add macaw-ppc-symbolic to cabal.project
2018-11-27 13:57:20 -08:00
Andrei Stefanescu
76ff48eec0
Propagate changes for X86_64 RepMovs and RepStos.
2018-11-27 10:31:03 -08:00
Andrei Stefanescu
3f39c614e9
Add support for RepMovs and RepStos.
2018-11-27 02:23:36 -08:00
Kevin Quick
3c7e222676
Add missing import for previous change.
2018-11-26 11:26:01 -08:00
Kevin Quick
b92f008676
Merge branch 'master' of github.com:GaloisInc/macaw
2018-11-25 23:53:28 -08:00
Kevin Quick
3f8769a424
[x86_symbolic] add semantics for X86Div, X86Rem, X86IDiv, and X86IRem.
2018-11-25 22:02:18 -08:00
Kevin Quick
01b8175e7f
[x86_symbolic] Update cabal specification for compliance.
2018-11-25 22:01:40 -08:00
Kevin Quick
0ee3f7df2d
[x86_symbolic] more info for unimplemented statement and termstmt semantics.
2018-11-25 22:00:19 -08:00
Tristan Ravitch
fa570e0c1a
Merge branch 'master' of github.com:GaloisInc/macaw-semmc
2018-11-25 08:40:25 -08:00
Tristan Ravitch
d64a1fc5be
Stop generating NOINLINE pragmas for individual instruction semantics functions
...
Benchmarking shows that the NOINILINE pragma actually makes compile times
longer
2018-11-25 08:39:44 -08:00
Kevin Quick
3f77e763e9
Implement NoStarIsType for GHC 8.6.
2018-11-21 18:27:42 +00:00
Kevin Quick
1d7cdc87eb
Implement NoStarIsType and MonadFail for GHC 8.6.
2018-11-21 00:08:33 +00:00
Kevin Quick
0731c5c686
Add MonadFail for Generator for GHC 8.6
2018-11-20 23:37:21 +00:00
Kevin Quick
7a64cb614f
Explicit NoStarIsType with Data.Kind.Type and increasing do indentation (for GHC 8.6)
2018-11-20 09:43:48 +00:00
Joe Hendrix
1547712176
Bump parameterized-util version.
2018-11-17 16:03:34 -08:00
Joe Hendrix
87e69bdfc8
Merge remote-tracking branch 'public/master' into jhx/plt-support
2018-11-17 15:59:28 -08:00
Joe Hendrix
127e7fbe34
Bump submodules.
2018-11-17 15:52:14 -08:00
Joe Hendrix
c4b7252c77
Add specialized terminal statement for PLT stubs.
2018-11-16 13:40:40 -05:00
Rob Dockins
5f75652a37
Update crucible and parameterized-utils submodules
2018-11-14 10:33:10 -08:00
Joe Hendrix
23fe50bd45
Fix stack offset.
2018-11-12 15:28:32 -05:00
Joe Hendrix
bb63f9f859
This fixes tail call detection, and allows architecture-specific checks.
2018-11-12 11:56:44 -05:00
Joe Hendrix
6a1a4162f1
Merge pull request #15 from GaloisInc/jhx/fix-graphmod
...
Fix graphmod script
2018-11-12 11:13:03 -05:00
Joe Hendrix
cbbb6c8b0a
Merge branch 'master' into jhx/fix-graphmod
2018-11-12 10:33:21 -05:00
Joe Hendrix
b9ffb894cf
Merge pull request #16 from GaloisInc/jhx/fix-travis
...
Fix travis builds.
2018-11-12 10:32:36 -05:00
Joe Hendrix
6ce5a95b83
Fix travis builds.
2018-11-12 09:58:10 -05:00
Joe Hendrix
3c594dc6f8
Fix graphmod script
2018-11-12 09:42:06 -05:00
Tristan Ravitch
c0df904033
Submodule updates
...
The code already depended on these, but the submodules were a bit out of date
2018-11-09 23:43:31 -08:00
Luke Maurer
1d88f1fe98
Emit ErrorStmt rather than failing when an instruction has no successor
...
We were getting "Unterminated crucible block" errors for any code
containing the X86 HLT instruction. An ErrorStmt is perhaps not
precisely what HLT means, but we're going with that for the moment.
2018-11-08 16:07:21 -08:00
Kevin Quick
8e55f1644f
[base] Remove obsolete/unused GaloisDwarf.hs file.
2018-11-02 15:56:20 -07:00
Kevin Quick
ceba0bfa67
[x86] Update memory references to remove deprecated uses.
2018-10-31 13:48:06 -07:00
Kevin Quick
db17327121
[x86] Add andnps semantics with consolidation of binary bitwise support.
2018-10-31 11:50:15 -07:00
Kevin Quick
6d996f7739
[x86] Add shld and shrd instruction semantics.
2018-10-31 11:49:14 -07:00
Kevin Quick
1ca2c5582c
[x86] Fix cvtsd2ss instruction mnemonic.
2018-10-31 11:48:18 -07:00
Kevin Quick
3c76f404af
[x86] Comment fixes.
2018-10-31 11:47:52 -07:00
Kevin Quick
6212a69233
[x86] Add semantics for sqrtss and sqrtsd.
2018-10-31 11:46:01 -07:00
Nathan Collins
0d3c00e744
Move stack.yaml to stack-ghc-8.2.yaml
...
To avoid conflicting stack.yaml files when crucible is used a
submodule in another repo with a top level stack.yaml.
Also, update the README to include creating a stack.yaml symlink
before building with stack the first time.
2018-10-30 16:16:16 -07:00
Nathan Collins
aa87eb9a45
Delete top-level stack.yaml symlink
...
To avoid conflicting stack.yaml files when crucible is used a
submodule in another repo with a top level stack.yaml.
Also, update the README to include creating a stack.yaml symlink
before building with stack the first time.
2018-10-30 16:12:16 -07:00
Tristan Ravitch
ff79eba6aa
ppc: Use the new HasTOC class
...
This avoids a hard dependency on the exact format of ArchBinaryData for PowerPC
2018-10-30 11:01:46 -07:00
Tristan Ravitch
ebcbbe6c5c
Remove the BinaryAddrWidth type family
2018-10-30 10:34:56 -07:00
Kevin Quick
d464403a25
Update tests from deprecated relativeSegmentAddr to segoffAddr.
2018-10-29 15:55:41 -07:00
Kevin Quick
d05deabef2
Added macaw-loader submodule.
2018-10-29 15:54:25 -07:00
Kevin Quick
730f855c71
Update to use macaw-loader for uniform binary loading.
2018-10-29 15:51:42 -07:00
Joe Hendrix
8ce9d06d27
Fix handling for non-position independent, but dynamically linked executables.
2018-10-25 13:49:21 -07:00
Joe Hendrix
4594938dfd
Make decoding position independent; Support translating fixed blocks.
2018-10-25 13:36:21 -07:00
Tristan Ravitch
ee58037c2d
Make the powerpc tests more verbose when encountering a translation error
2018-10-24 10:26:55 -07:00
Tristan Ravitch
0513ae7a39
x86: Add some more missing signed immediate handling cases in getAddrRegSegmentOrImm
...
This is not currently an error, as this function is only used in the definition
of the semantics for push, which doesn't accept a signed immediate value. This
fix is defensive in case someone decides to re-use this helper in another
context where the missing cases could cause a problem.
2018-10-24 10:25:18 -07:00
Tristan Ravitch
d6060e51be
x86: Fix a bug affecting imul (and add a test case)
...
We were hitting a translation error for imul in another application - this test
case is a reduced example demonstrating the problem.
The root cause was that there were a few missing cases for the new signed
immediate values from flexdis; this caused a fallthrough that mis-identified
signed immediates as non-immediates, triggering an error.
2018-10-24 10:23:51 -07:00
Tristan Ravitch
cc165d7316
x86: Make the test suite more verbose on translation errors
...
This makes debugging easier
2018-10-24 10:22:21 -07:00
Tristan Ravitch
563547fee5
Add semantics for minss, maxss, minsp, and maxsp (x86)
2018-10-23 15:18:40 -07:00