Daniel Wagner
9e8279e70c
fix alignment detection to match updated extract definition
2018-06-08 11:50:36 -04:00
Daniel Wagner
b7ec429874
add alignment information for PPC64
2018-06-01 15:35:41 -04:00
Daniel Wagner
989eb30a85
bump macaw dep
2018-06-01 15:35:41 -04:00
Ben Selfridge
6a5524e464
Fixed macaw-arm bound variable for UF bug
2018-06-01 10:23:34 -07:00
Ben Selfridge
2427ddf048
fixed stack and used Data.Functor.Product instead of hand-rolled type
2018-05-24 14:09:49 -07:00
Kevin Quick
138db42d15
[arm] Remove unneeded import.
2018-05-22 13:18:31 -07:00
Kevin Quick
30296f081c
[arm] Update for semmc renaming from ARM to AArch32.
2018-05-22 13:18:05 -07:00
Tristan Ravitch
4ca53dfb5c
Submodule updates
...
The code was already updated, but there were some missing submodule updates
2018-05-21 17:53:10 -07:00
Tristan Ravitch
b15f360d25
Documentation updates
2018-05-21 17:53:01 -07:00
Tristan Ravitch
9664914923
Update the PowerPC tests to deal with the latest macaw-semmc changes
...
The new binary loading interface does manage to simplify things
2018-05-21 14:32:29 -07:00
Tristan Ravitch
7cbd23dbf8
Add a generic interface for finding the entry points of a binary
...
Includes implementations for x86 and PowerPC 64/32
2018-05-20 21:41:21 -07:00
Tristan Ravitch
796e8bc29e
ppc: Generalize some error handling around the TOC
2018-05-18 19:31:18 -07:00
Tristan Ravitch
d6c2446a00
Whitespace
2018-05-18 17:52:18 -07:00
Tristan Ravitch
84473060e3
Generalize the lookup/update register assignment utilities
...
Instead of having them return 'Maybe', use 'MonadThrow'
2018-05-18 17:50:22 -07:00
Tristan Ravitch
c4118b9fff
Clean up the TOC function implementation
2018-05-18 17:50:02 -07:00
Tristan Ravitch
c228cca75c
Merge branch 'master' of github.com:GaloisInc/macaw-semmc into HEAD
2018-05-18 15:28:59 -07:00
Tristan Ravitch
1ed8d66dc7
Improve the BinaryLoader interface
...
It is now (optionally) pure via the MonadThrow class. It also exposes a new
binary format repr, which currently only has constructors for ELF containers.
2018-05-18 15:26:19 -07:00
Kevin Quick
f81f2437ee
Update for crucible reorganization and new what4 module.
2018-05-18 08:33:58 -07:00
Tristan Ravitch
556cfa5a47
Merge branch 'master' of github.com:GaloisInc/macaw-semmc into HEAD
2018-05-17 16:06:56 -07:00
Tristan Ravitch
27810cdbf3
Add a draft of a generic binary loading interface, simplify TOC handling on PPC
...
The generic binary loading interface is instantiated once for each
architecture/binary container pair. This isn't great, but there is enough
custom work in each setting to justify it.
The binary loading interface isn't finished yet, and needs to learn some
additional operations to support relocation. It already supports additional
information that is architecture specific and binary container format
specific (that operations will have to use on a per-format basis).
On the PowerPC side, the Table of Contents (TOC) is now architecture-specific
information constructed by the loader (currently from ELF binaries). The new
TOC data type is in place to support this more easily (the old format was just a
function).
2018-05-17 16:03:04 -07:00
Kevin Quick
4a3688cad1
Anoter semmc submodule reference update.
2018-05-17 15:08:06 -07:00
Kevin Quick
b76f5164b7
Merge branch 'master' of github.com:GaloisInc/macaw-semmc
2018-05-17 14:58:34 -07:00
Tristan Ravitch
c943d45d21
ppc-symbolic: Export some more helpers
2018-05-15 18:41:04 -07:00
Kevin Quick
eaadb16047
Merge branch 'master' of github.com:GaloisInc/macaw-semmc
2018-05-15 09:23:52 -07:00
Kevin Quick
0c6578ffba
Merge branch 'master' of gitlab-ext.galois.com:macaw/macaw-semmc
2018-05-15 09:22:44 -07:00
Ben Selfridge
157e6825a5
update latest crucible and semmc
2018-05-10 13:05:55 -07:00
Tristan Ravitch
fd3ab9145a
ppc-symbolic: Generate term statements in the translation
2018-05-10 07:58:00 -04:00
Kevin Quick
dc79e6b636
[ppc-symbolic] Update Crucible IsSymInterface and simulator state.
2018-05-07 15:59:05 -07:00
Tristan Ravitch
7bab701643
ppc-symbolic: Implement semantics for the ppc-specific statements
...
Except for Attn, these are all no-ops since we don't have a concurrency model.
That could change later - we might want to model them as both failing and
succeeding in some cases (esp the transactional memory instructions).
2018-05-07 08:15:05 -07:00
Kevin Quick
1b401bbe94
[ppc-symbolic] Remove extraneous file.
2018-05-04 17:43:10 -07:00
Tristan Ravitch
78af7939b6
ppc-symbolic: Sketch out terminator handling and interpretation
2018-05-04 17:16:06 -07:00
Tristan Ravitch
df607d4044
ppc-symbolic: Translate macaw statements
...
Still need to translate terminal statements (esp. system call and trap)
2018-05-04 16:48:31 -07:00
Tristan Ravitch
6d7bb6f6e4
ppc-symbolic: Fill out the semantics for the arch-specific functions
2018-05-04 15:46:54 -07:00
Tristan Ravitch
6b3bf072cf
ppc-symbolic: Add more descriptive failures
2018-05-04 10:16:46 -07:00
Tristan Ravitch
1c97ca1314
ppc-symbolic: Implement the function evaluators
2018-05-04 10:15:25 -07:00
Tristan Ravitch
05c01beec0
Re-export newSymFuns from the top-level module
2018-05-04 09:32:13 -07:00
Tristan Ravitch
c3ba017fcc
Start macaw-ppc-symbolic
2018-05-03 16:41:33 -07:00
Tristan Ravitch
7d306f052d
Export more details from macaw-ppc
2018-05-03 16:40:58 -07:00
Tristan Ravitch
6747f0ed44
Generalize the HasRepr instance for PPCPrimFn
2018-05-03 10:00:53 -07:00
Tristan Ravitch
05061a2140
Add a PrettyF instance for PPCReg
2018-05-03 09:46:46 -07:00
Tristan Ravitch
4bed676ca2
Update to the latest macaw
2018-04-24 10:55:07 -07:00
Tristan Ravitch
27b4eaf360
Merge branch 'master' of gitlab-ext.galois.com:macaw/macaw-semmc into HEAD
2018-04-10 10:27:44 -07:00
Tristan Ravitch
8f4865e106
Haddock fixes
2018-04-10 10:27:29 -07:00
Tristan Ravitch
1f10c1d36b
arm: Update the tests to work with the latest macaw
2018-04-09 15:07:17 -07:00
Tristan Ravitch
7e129f1ce1
Update the macaw submodule
...
This completes handling of the new archstate statement
2018-04-02 09:18:46 -07:00
Tristan Ravitch
b7c3118070
Update the calls to asAtomicStateUpdate
...
The type of the instruction address changed
2018-03-30 10:52:58 -07:00
Tristan Ravitch
dd655680f7
arm: Use asAtomicStateUpdate
to generate a new macaw metadata statement
2018-03-30 09:10:41 -07:00
Tristan Ravitch
b051143e53
arm: Remove unused imports
2018-03-30 09:10:31 -07:00
Tristan Ravitch
d7b0ad9862
arm: Update macaw-arm to compile with the latest macaw (and macaw-semmc)
2018-03-30 09:08:49 -07:00
Tristan Ravitch
51023263c4
Add macaw-arm (and semmc-arm) to the cabal.project file
2018-03-29 18:08:41 -07:00