Skip to content

Commit

Permalink
Browse files Browse the repository at this point in the history
This bumps the `crucible` submodule to include GaloisInc/crucible#928. The
`crucible` changes require adding some additional `?memOpts :: MemOptions`
constraints to various functions.
  • Loading branch information
RyanGlScott committed Dec 3, 2021
1 parent f4891a0 commit acb7894
Show file tree
Hide file tree
Showing 3 changed files with 19 additions and 4 deletions.
7 changes: 6 additions & 1 deletion src/SAWScript/Crucible/LLVM/Builtins.hs
Original file line number Diff line number Diff line change
Expand Up @@ -936,7 +936,12 @@ setupGlobalAllocs cc mspec mem0 = foldM go mem0 $ mspec ^. MS.csGlobalAllocs
-- function spec, write the given value to the address of the given
-- pointer.
setupPrePointsTos :: forall arch.
(?lc :: Crucible.TypeContext, ?w4EvalTactic :: W4EvalTactic, Crucible.HasPtrWidth (Crucible.ArchWidth arch), Crucible.HasLLVMAnn Sym) =>
( ?lc :: Crucible.TypeContext
, ?memOpts :: Crucible.MemOptions
, ?w4EvalTactic :: W4EvalTactic
, Crucible.HasPtrWidth (Crucible.ArchWidth arch)
, Crucible.HasLLVMAnn Sym
) =>
MS.CrucibleMethodSpecIR (LLVM arch) ->
Options ->
LLVMCrucibleContext arch ->
Expand Down
14 changes: 12 additions & 2 deletions src/SAWScript/Crucible/LLVM/Override.hs
Original file line number Diff line number Diff line change
Expand Up @@ -1625,6 +1625,7 @@ instantiateExtResolveSAWSymBV sc cc w tm = do
-- Return a map containing the overwritten memory allocations.
invalidateMutableAllocs ::
( ?lc :: Crucible.TypeContext
, ?memOpts :: Crucible.MemOptions
, ?w4EvalTactic :: W4EvalTactic
, Crucible.HasPtrWidth (Crucible.ArchWidth arch)
, Crucible.HasLLVMAnn Sym
Expand Down Expand Up @@ -1818,7 +1819,12 @@ executeGhost _sc _var (TypedTerm tp _) =
-- the CrucibleSetup block. First we compute the value indicated by
-- 'val', and then write it to the address indicated by 'ptr'.
executePointsTo ::
(?lc :: Crucible.TypeContext, ?w4EvalTactic :: W4EvalTactic, Crucible.HasPtrWidth (Crucible.ArchWidth arch), Crucible.HasLLVMAnn Sym) =>
( ?lc :: Crucible.TypeContext
, ?memOpts :: Crucible.MemOptions
, ?w4EvalTactic :: W4EvalTactic
, Crucible.HasPtrWidth (Crucible.ArchWidth arch)
, Crucible.HasLLVMAnn Sym
) =>
Options ->
SharedContext ->
LLVMCrucibleContext arch ->
Expand Down Expand Up @@ -1849,7 +1855,11 @@ executePointsTo opts sc cc spec overwritten_allocs (LLVMPointsTo _loc cond ptr v
writeGlobal memVar mem'

storePointsToValue ::
(?w4EvalTactic :: W4EvalTactic, Crucible.HasPtrWidth (Crucible.ArchWidth arch), Crucible.HasLLVMAnn Sym) =>
( ?memOpts :: Crucible.MemOptions
, ?w4EvalTactic :: W4EvalTactic
, Crucible.HasPtrWidth (Crucible.ArchWidth arch)
, Crucible.HasLLVMAnn Sym
) =>
Options ->
LLVMCrucibleContext arch ->
Map AllocIndex (LLVMPtr (Crucible.ArchWidth arch)) ->
Expand Down

0 comments on commit acb7894

Please sign in to comment.