Joe Hendrix
00a087b294
Introduce ArchTermStmt.
2017-09-12 15:58:38 -07:00
Ben Selfridge
f869aba9bb
Merge branch 'master' of gitlab-ext.galois.com:macaw/macaw
2017-09-12 13:08:51 -07:00
Ben Selfridge
cec4bdb3d4
Added MCGenerator monad to build up basic blocks.
2017-09-12 13:07:35 -07:00
Joe Hendrix
a4ed0e4ac7
Update Dwarf; add addrListBit.
2017-09-07 13:39:56 -07:00
Ben Davis
b9eea0e891
Add option to trust function entry data when parsing blocks
...
If trustKnownFns is set in DiscoveryState, parseFetchAndExecute will not mark
jumps to known function entries (discovered or undiscovered marked InitAddr) as
intra-procedural jumps. If they are not identified by identifyCall, they will be
marked as tail calls.
2017-09-07 09:59:19 -04:00
Ben Selfridge
bf9b320e38
first commit
2017-08-28 15:48:55 -07:00
Ben Perez
d41a58aba2
fixed merge conflicts
2017-08-14 11:01:16 -07:00
Ben Perez
78b140be47
Added functionality for ARM jumps
2017-08-14 10:54:34 -07:00
Joe Hendrix
cfa6f4b9e6
Add architecture-specific call detection.
2017-08-13 14:13:35 -07:00
Joe Hendrix
bd34bcfc2d
Additional exports from ElfLoader/Discovery.
2017-08-10 14:20:38 -07:00
Joe Hendrix
5272f2152e
Remove MMXExtend from list of predefined operations.
2017-08-09 09:21:38 -07:00
Joe Hendrix
e443ff292a
Continue progress on symbolic simulator first pass.
2017-08-04 16:11:35 -07:00
Joe Hendrix
b452cf51da
Add blockAddr/symbolic updates.
2017-08-03 11:48:47 -07:00
Jason Dagit
e71eff0a88
Add viewSegmentOff
2017-07-25 16:10:50 -07:00
Joe Hendrix
e10534e38a
Merge branch 'master' of gitlab-ext.galois.com:macaw/macaw
2017-07-20 11:02:46 -07:00
Joe Hendrix
5008f6f752
Add typeclass constraints to ppErrors.
2017-07-20 11:02:40 -07:00
Ben Perez
6c14f4538f
Merge branch 'master' of gitlab-ext.galois.com:macaw/macaw
2017-07-20 10:58:41 -07:00
Ben Perez
41d0cf1573
Modified Core.hs
2017-07-20 10:58:26 -07:00
Joe Hendrix
6dc1907669
Fixes to get macaw-symbolic building again.
2017-07-17 19:39:19 -07:00
Joe Hendrix
ffc5e93448
Merge branch 'master' of gitlab-ext.galois.com:macaw/macaw
2017-07-17 15:44:32 -07:00
Joe Hendrix
2eaa823372
Change memory addresses.
...
This changes the way memory addresses are represented to fix bugs
that could arrise if one can jump between two segments. It replaces
the SegmentAddr type with two types:
* `MemAddr w` represents an address that is not necessarily valid. It
could either be an absolute address or an address relative to some
non-fixed segment.
* `MemSegmentOff w` represents a legal offset into a memory segment.
It must point to at least one valid byte of memory.
2017-07-17 15:37:05 -07:00
Jason Dagit
c8a5f7abf5
add BoolConst case to joinAbsValue'
2017-07-13 17:17:28 -07:00
Jason Dagit
66b41f1d56
AbsState: Add missing casses to concretize and absValueSize
2017-07-12 16:34:11 -07:00
Joe Hendrix
0e66a3dfea
Convert macaw-symbolic to use CPS for CrucGen monad.
2017-07-10 14:42:26 -07:00
Joe Hendrix
876382fc0e
Additional support for symbolic translator.
2017-07-10 12:30:40 -07:00
Joe Hendrix
95a3721524
Merge branch 'master' of gitlab-ext.galois.com:macaw/macaw
2017-07-07 14:19:17 -07:00
Joe Hendrix
3fe64acd07
Refactor to support Boolean type; start mapping to Crucible.
2017-07-07 14:18:35 -07:00
Jason Dagit
501a24c47a
Discovery: Rebuild segmented addr meta data in concretizeAbsCodePointers
2017-07-07 13:23:40 -07:00
Joe Hendrix
0c3c935b7b
Refactor modules.
2017-07-05 13:31:21 -07:00
Joe Hendrix
522c43e101
Fix typo in AbsEval.
2017-06-30 15:08:16 -07:00
Joe Hendrix
734534621a
Rename ParsedBlock/ParsedBlockRegion to StatementList/ParsedBlock.
...
This also adds stmtsAbsTate to StatementList.
2017-06-30 12:15:41 -07:00
Joe Hendrix
e6bcd134f5
Add better optimization and dead code elimination for conditions.
2017-06-30 10:56:46 -07:00
Joe Hendrix
ed1fa93e38
Minor updates.
2017-06-27 14:13:58 -07:00
Ben Selfridge
d8ff07b6c2
added a few more exports to Memory.hs
2017-06-27 11:22:26 -07:00
Joe Hendrix
2993d721a2
Add operations for reading bytestring and words from addresses.
2017-06-23 09:50:10 -07:00
Joe Hendrix
49580deb0e
Add opt pass; Improve comments.
2017-06-22 10:03:43 -07:00
Joe Hendrix
35d08c96bc
Change RelocatableValue to support segments; remove block label
2017-06-21 14:44:31 -07:00
Joe Hendrix
f8b9fe25f6
Harden discovery to gracefully fail if disassembler returns empty listof blocks.
2017-06-20 17:05:02 -07:00
Joe Hendrix
60bee7d5bc
Switch to using ParsedIte over ParsedBranch.
2017-06-20 16:23:33 -07:00
Joe Hendrix
1d0623e34e
Introduce ParsedIte
2017-06-20 14:47:29 -07:00
Joe Hendrix
49d5aefb4e
Simplify DiscoveryFunInfo
2017-06-20 09:01:26 -07:00
Joe Hendrix
172cf7e863
Improve discovery comments.
2017-06-19 16:30:24 -07:00
Joe Hendrix
8075bad9f9
Revise discovery to so that lookupFunction removes unexplored functions.
2017-06-19 07:45:02 -07:00
Joe Hendrix
e09e37fab4
Switch to use elfclass over relawidth
2017-06-14 16:49:09 -07:00
Joe Hendrix
45b5c181e3
Update to support new elf-edit changes.
2017-06-14 16:03:04 -07:00
Joe Hendrix
1e2b47f015
Add additional flag to control discovery; improve return checking.
2017-06-13 17:34:39 -07:00
Joe Hendrix
43f4cd95f9
Cleanups to remove redundent class constraints; simplify interface invariants.
2017-06-07 15:16:08 -07:00
Joe Hendrix
b6997100c3
Cleanups to fix haddock documentation, rename types to be more accurate.
2017-06-04 11:09:07 -07:00
Joe Hendrix
7a805e6be4
Export additional functions from discovery to allow more fine-grained clients.
2017-06-03 22:17:33 -07:00
Joe Hendrix
4b7c2bd6f7
Update DiscoveryInfo to remove ids parameter.
2017-06-02 16:30:36 -07:00