From 41c0ca4c1dda8f6a8f94b7ae7304d8b76f8cec01 Mon Sep 17 00:00:00 2001 From: Ryan Scott Date: Tue, 12 Sep 2023 19:42:27 -0400 Subject: [PATCH 1/2] Refactor: Make MirPointsTo accept a SetupValue, not an AllocIndex In an upcoming commit, we will want to be able to write things such as `mir_points_to (mir_global "X") ...`. This isn't currently possible with the way `MirPointsTo` is currently designed, as it expects the left-hand side of a `mir_points_to` statement to always be an `AllocIndex`, i.e., something created via `mir_alloc`/`mir_alloc_mut`. This patch generalizes the `AllocIndex` field in `MirPointsTo` to a `SetupValue` to allow other forms of references to be used in `mir_points_to` statements. In most places, this is a simple matter of wrapping the `AllocIndex` in a `SetupVar`. It was slightly tricky to update the code in `crucible-mir-comp` to accommodate this, as that code relies on a subtle assumption about the left-hand sides of `MirPointsTo` values only originating from `SetupVar`s. I have documented this assumption in the new `setupVarAllocIndex` function. --- .../src/Mir/Compositional/Builder.hs | 6 +- .../src/Mir/Compositional/Override.hs | 23 +++++++- src/SAWScript/Crucible/MIR/Builtins.hs | 42 +++++++------- src/SAWScript/Crucible/MIR/MethodSpecIR.hs | 4 +- src/SAWScript/Crucible/MIR/Override.hs | 58 ++++++++++++++----- src/SAWScript/Crucible/MIR/Setup/Value.hs | 2 +- src/SAWScript/Crucible/MIR/TypeShape.hs | 23 ++++++++ 7 files changed, 114 insertions(+), 44 deletions(-) diff --git a/crucible-mir-comp/src/Mir/Compositional/Builder.hs b/crucible-mir-comp/src/Mir/Compositional/Builder.hs index ba2f1ccc8b..c8effab421 100644 --- a/crucible-mir-comp/src/Mir/Compositional/Builder.hs +++ b/crucible-mir-comp/src/Mir/Compositional/Builder.hs @@ -273,8 +273,8 @@ addArg tpr argRef msb = , MS.conditionType = "add argument value" , MS.conditionContext = "" } - msbSpec . MS.csPreState . MS.csPointsTos %= (MirPointsTo md (fr ^. frAlloc) svs :) - msbSpec . MS.csPostState . MS.csPointsTos %= (MirPointsTo md (fr ^. frAlloc) svs' :) + msbSpec . MS.csPreState . MS.csPointsTos %= (MirPointsTo md (MS.SetupVar (fr ^. frAlloc)) svs :) + msbSpec . MS.csPostState . MS.csPointsTos %= (MirPointsTo md (MS.SetupVar (fr ^. frAlloc)) svs' :) msbSpec . MS.csArgBindings . at (fromIntegral idx) .= Just (ty, sv) where @@ -318,7 +318,7 @@ setReturn tpr argRef msb = , MS.conditionType = "set return value" , MS.conditionContext = "" } - msbSpec . MS.csPostState . MS.csPointsTos %= (MirPointsTo md (fr ^. frAlloc) svs :) + msbSpec . MS.csPostState . MS.csPointsTos %= (MirPointsTo md (MS.SetupVar (fr ^. frAlloc)) svs :) msbSpec . MS.csRetValue .= Just sv where diff --git a/crucible-mir-comp/src/Mir/Compositional/Override.hs b/crucible-mir-comp/src/Mir/Compositional/Override.hs index 831700f8b8..0b966eed67 100644 --- a/crucible-mir-comp/src/Mir/Compositional/Override.hs +++ b/crucible-mir-comp/src/Mir/Compositional/Override.hs @@ -208,7 +208,8 @@ runSpec cs mh ms = ovrWithBackend $ \bak -> -- to allocation `alloc` before we see the PointsTo for `alloc` itself. -- This ensures we can obtain a MirReference for each PointsTo that we -- see. - forM_ (reverse $ ms ^. MS.csPreState . MS.csPointsTos) $ \(MirPointsTo md alloc svs) -> do + forM_ (reverse $ ms ^. MS.csPreState . MS.csPointsTos) $ \(MirPointsTo md ref svs) -> do + alloc <- setupVarAllocIndex ref allocSub <- use MS.setupValueSub Some ptr <- case Map.lookup alloc allocSub of Just x -> return x @@ -311,7 +312,8 @@ runSpec cs mh ms = ovrWithBackend $ \bak -> -- figuring out which memory is accessible and mutable and thus needs to be -- clobbered, and for adding appropriate fresh variables and `PointsTo`s to -- the post state. - forM_ (ms ^. MS.csPostState . MS.csPointsTos) $ \(MirPointsTo _md alloc svs) -> do + forM_ (ms ^. MS.csPostState . MS.csPointsTos) $ \(MirPointsTo _md ref svs) -> do + alloc <- setupVarAllocIndex ref Some ptr <- case Map.lookup alloc allocMap of Just x -> return x Nothing -> error $ "post PointsTos are out of order: no ref for " ++ show alloc @@ -589,3 +591,20 @@ checkDisjoint bak refs = go refs assert bak disjoint $ GenericSimError $ "references " ++ show alloc ++ " and " ++ show alloc' ++ " must not overlap" go rest + +-- | Take a 'MS.SetupValue' that is assumed to be a bare 'MS.SetupVar' and +-- extract the underlying 'MS.AllocIndex'. If this assumption does not hold, +-- this function will raise an error. +-- +-- This is used in conjunction with 'MirPointsTo' values. With the way that +-- @crucible-mir-comp@ is currently set up, the only sort of 'MS.SetupValue' +-- that will be put into a 'MirPointsTo' value's left-hand side is a +-- 'MS.SetupVar', so we can safely use this function on such 'MS.SetupValue's. +-- Other parts of SAW can break this assumption (e.g., if you wrote something +-- like @mir_points_to (mir_global "X") ...@ in a SAW specification), but these +-- parts of SAW are not used in @crucible-mir-comp@. +setupVarAllocIndex :: Applicative m => MS.SetupValue MIR -> m MS.AllocIndex +setupVarAllocIndex (MS.SetupVar idx) = pure idx +setupVarAllocIndex val = + error $ "setupVarAllocIndex: Expected SetupVar, received: " + ++ show (MS.ppSetupValue val) diff --git a/src/SAWScript/Crucible/MIR/Builtins.hs b/src/SAWScript/Crucible/MIR/Builtins.hs index 25c6e1d9e8..ec87539e42 100644 --- a/src/SAWScript/Crucible/MIR/Builtins.hs +++ b/src/SAWScript/Crucible/MIR/Builtins.hs @@ -279,11 +279,6 @@ mir_points_to ref val = let env = MS.csAllocations (st ^. Setup.csMethodSpec) nameEnv = MS.csTypeNames (st ^. Setup.csMethodSpec) - allocIdx <- - case ref of - MS.SetupVar idx -> pure idx - _ -> X.throwM $ MIRPointsToNonReference ref - referentTy <- mir_points_to_check_lhs_validity ref loc valTy <- typeOfSetupValue cc env nameEnv val unless (checkCompatibleTys referentTy valTy) $ @@ -300,7 +295,7 @@ mir_points_to ref val = , MS.conditionType = "MIR points-to" , MS.conditionContext = "" } - Setup.addPointsTo (MirPointsTo md allocIdx [val]) + Setup.addPointsTo (MirPointsTo md ref [val]) -- | Perform a set of validity checks on the LHS reference value in a -- 'mir_points_to' command. In particular: @@ -320,7 +315,8 @@ mir_points_to_check_lhs_validity ref loc = refTy <- typeOfSetupValue cc env nameEnv ref case refTy of Mir.TyRef referentTy _ -> pure referentTy - _ -> throwCrucibleSetup loc $ "lhs not a reference type: " ++ show refTy + _ -> throwCrucibleSetup loc $ "lhs not a reference type: " + ++ show (PP.pretty refTy) mir_verify :: Mir.RustModule -> @@ -558,25 +554,37 @@ setupPrePointsTos mspec cc env pts mem0 = foldM doPointsTo mem0 pts Crucible.SymGlobalState Sym -> MirPointsTo -> IO (Crucible.SymGlobalState Sym) - doPointsTo globals (MirPointsTo _ allocIdx referents) = + doPointsTo globals (MirPointsTo _ reference referents) = mccWithBackend cc $ \bak -> do + MIRVal referenceShp referenceVal <- + resolveSetupVal cc env tyenv nameEnv reference + -- By the time we reach here, we have already checked (in mir_points_to) + -- that we are in fact dealing with a reference value, so the call to + -- `testRefShape` below should always succeed. + IsRefShape _ _ _ referenceInnerTy <- + case testRefShape referenceShp of + Just irs -> pure irs + Nothing -> + panic "setupPrePointsTos" + [ "Unexpected non-reference type:" + , show $ PP.pretty $ shapeMirTy referenceShp + ] referent <- firstPointsToReferent referents - MIRVal referentTy referentVal <- + MIRVal referentShp referentVal <- resolveSetupVal cc env tyenv nameEnv referent - Some mp <- pure $ lookupAllocIndex env allocIdx -- By the time we reach here, we have already checked (in mir_points_to) -- that the type of the reference is compatible with the right-hand side -- value, so the equality check below should never fail. Refl <- - case W4.testEquality (mp^.mpType) (shapeType referentTy) of + case W4.testEquality referenceInnerTy (shapeType referentShp) of Just r -> pure r Nothing -> panic "setupPrePointsTos" [ "Unexpected type mismatch between reference and referent" - , "Reference type: " ++ show (mp^.mpType) - , "Referent type: " ++ show (shapeType referentTy) + , "Reference type: " ++ show referenceInnerTy + , "Referent type: " ++ show (shapeType referentShp) ] - Mir.writeMirRefIO bak globals Mir.mirIntrinsicTypes (mp^.mpRef) referentVal + Mir.writeMirRefIO bak globals Mir.mirIntrinsicTypes referenceVal referentVal -- | Collects boolean terms that should be assumed to be true. setupPrestateConditions :: @@ -1100,7 +1108,6 @@ setupCrucibleContext rm = data MIRSetupError = MIRFreshVarInvalidType Mir.Ty - | MIRPointsToNonReference SetupValue | MIRArgTypeMismatch Int Mir.Ty Mir.Ty -- argument position, expected, found | MIRArgNumberWrong Int Int -- number expected, number found | MIRReturnUnexpected Mir.Ty -- found @@ -1115,11 +1122,6 @@ instance Show MIRSetupError where case err of MIRFreshVarInvalidType jty -> "mir_fresh_var: Invalid type: " ++ show jty - MIRPointsToNonReference ptr -> - unlines - [ "mir_points_to: Left-hand side is not a valid reference" - , show (MS.ppSetupValue ptr) - ] MIRArgTypeMismatch i expected found -> unlines [ "mir_execute_func: Argument type mismatch" diff --git a/src/SAWScript/Crucible/MIR/MethodSpecIR.hs b/src/SAWScript/Crucible/MIR/MethodSpecIR.hs index 87e4cc430a..1233e548bc 100644 --- a/src/SAWScript/Crucible/MIR/MethodSpecIR.hs +++ b/src/SAWScript/Crucible/MIR/MethodSpecIR.hs @@ -65,8 +65,8 @@ mccSym :: Getter MIRCrucibleContext Sym mccSym = to (\mcc -> mccWithBackend mcc backendGetSym) instance PP.Pretty MirPointsTo where - pretty (MirPointsTo _md alloc sv) = PP.parens $ - PP.pretty (show alloc) PP.<+> "->" PP.<+> PP.list (map MS.ppSetupValue sv) + pretty (MirPointsTo _md ref sv) = PP.parens $ + MS.ppSetupValue ref PP.<+> "->" PP.<+> PP.list (map MS.ppSetupValue sv) type MIRMethodSpec = MS.CrucibleMethodSpecIR MIR diff --git a/src/SAWScript/Crucible/MIR/Override.hs b/src/SAWScript/Crucible/MIR/Override.hs index e488ecd1a5..7192bfa7db 100644 --- a/src/SAWScript/Crucible/MIR/Override.hs +++ b/src/SAWScript/Crucible/MIR/Override.hs @@ -30,6 +30,7 @@ import qualified Data.Parameterized.Context as Ctx import Data.Parameterized.Some (Some(..)) import qualified Data.Parameterized.TraversableFC as FC import qualified Data.Set as Set +import Data.Set (Set) import qualified Data.Vector as V import Data.Void (absurd) import qualified Prettyprinter as PP @@ -242,16 +243,29 @@ learnPointsTo :: MS.PrePost -> MirPointsTo -> OverrideMatcher MIR w () -learnPointsTo opts sc cc spec prepost (MirPointsTo md allocIdx referents) = +learnPointsTo opts sc cc spec prepost (MirPointsTo md reference referents) = mccWithBackend cc $ \bak -> do let col = cc ^. mccRustModule . Mir.rmCS ^. Mir.collection globals <- OM (use overrideGlobals) - Some mp <- resolveAllocIndexMIR allocIdx - let mpMirTy = mp^.mpMirType - let mpTpr = tyToShapeEq col mpMirTy (mp^.mpType) - val <- firstPointsToReferent referents - v <- liftIO $ Mir.readMirRefIO bak globals Mir.mirIntrinsicTypes (mp^.mpType) (mp^.mpRef) - matchArg opts sc cc spec prepost md (MIRVal mpTpr v) mpMirTy val + MIRVal referenceShp referenceVal <- + resolveSetupValueMIR opts cc sc spec reference + -- By the time we reach here, we have already checked (in mir_points_to) + -- that we are in fact dealing with a reference value, so the call to + -- `testRefShape` below should always succeed. + IsRefShape _ referenceInnerMirTy _ referenceInnerTpr <- + case testRefShape referenceShp of + Just irs -> pure irs + Nothing -> + panic "learnPointsTo" + [ "Unexpected non-reference type:" + , show $ PP.pretty $ shapeMirTy referenceShp + ] + let innerShp = tyToShapeEq col referenceInnerMirTy referenceInnerTpr + referentVal <- firstPointsToReferent referents + v <- liftIO $ Mir.readMirRefIO bak globals Mir.mirIntrinsicTypes + referenceInnerTpr referenceVal + matchArg opts sc cc spec prepost md (MIRVal innerShp v) + referenceInnerMirTy referentVal -- | Process a "crucible_precond" statement from the precondition -- section of the CrucibleSetup block. @@ -423,12 +437,29 @@ matchPointsTos opts sc cc spec prepost = go False [] -- determine if a precondition is ready to be checked checkPointsTo :: MirPointsTo -> OverrideMatcher MIR w Bool - checkPointsTo (MirPointsTo _ allocIdx _) = checkAllocIndex allocIdx + checkPointsTo (MirPointsTo _ ref _) = checkSetupValue ref - checkAllocIndex :: AllocIndex -> OverrideMatcher MIR w Bool - checkAllocIndex i = + checkSetupValue :: SetupValue -> OverrideMatcher MIR w Bool + checkSetupValue v = do m <- OM (use setupValueSub) - return (Map.member i m) + return (all (`Map.member` m) (setupVars v)) + + -- Compute the set of variable identifiers in a 'SetupValue' + setupVars :: SetupValue -> Set AllocIndex + setupVars v = + case v of + MS.SetupVar i -> Set.singleton i + MS.SetupStruct _ xs -> foldMap setupVars xs + MS.SetupTuple _ xs -> foldMap setupVars xs + MS.SetupArray _ xs -> foldMap setupVars xs + MS.SetupElem _ x _ -> setupVars x + MS.SetupField _ x _ -> setupVars x + MS.SetupTerm _ -> Set.empty + MS.SetupCast empty _ -> absurd empty + MS.SetupUnion empty _ _ -> absurd empty + MS.SetupNull empty -> absurd empty + MS.SetupGlobal empty _ -> absurd empty + MS.SetupGlobalInitializer empty _ -> absurd empty matchTerm :: SharedContext {- ^ context for constructing SAW terms -} -> @@ -499,11 +530,6 @@ readPartExprMaybe _sym (W4.PE p v) | Just True <- W4.asConstantPred p = Just v | otherwise = Nothing -resolveAllocIndexMIR :: AllocIndex -> OverrideMatcher MIR w (Some (MirPointer Sym)) -resolveAllocIndexMIR i = - do m <- OM (use setupValueSub) - pure $ lookupAllocIndex m i - resolveSetupValueMIR :: Options -> MIRCrucibleContext -> diff --git a/src/SAWScript/Crucible/MIR/Setup/Value.hs b/src/SAWScript/Crucible/MIR/Setup/Value.hs index 9aca21d93f..5e34c624e3 100644 --- a/src/SAWScript/Crucible/MIR/Setup/Value.hs +++ b/src/SAWScript/Crucible/MIR/Setup/Value.hs @@ -99,7 +99,7 @@ type instance MS.Pointer' MIR sym = Some (MirPointer sym) -- referenced by the slice. The @mir_points_to@ command, on the other hand, -- always creates 'MirPointsTo' values with exactly one value in the list (see -- the @firstPointsToReferent@ function in "SAWScript.Crucible.MIR.Override"). -data MirPointsTo = MirPointsTo MS.ConditionMetadata MS.AllocIndex [MS.SetupValue MIR] +data MirPointsTo = MirPointsTo MS.ConditionMetadata (MS.SetupValue MIR) [MS.SetupValue MIR] deriving (Show) data MirAllocSpec tp = MirAllocSpec diff --git a/src/SAWScript/Crucible/MIR/TypeShape.hs b/src/SAWScript/Crucible/MIR/TypeShape.hs index 5fed734473..47e845e01d 100644 --- a/src/SAWScript/Crucible/MIR/TypeShape.hs +++ b/src/SAWScript/Crucible/MIR/TypeShape.hs @@ -18,6 +18,8 @@ module SAWScript.Crucible.MIR.TypeShape , shapeMirTy , fieldShapeMirTy , shapeToTerm + , IsRefShape(..) + , testRefShape ) where import Control.Lens ((^.), (^..), each) @@ -251,6 +253,27 @@ shapeToTerm sc = go goField (OptField shp) = go shp goField (ReqField shp) = go shp +-- | A witness that a 'TypeShape' is equal to a 'RefShape'. +data IsRefShape (tp :: CrucibleType) where + IsRefShape :: M.Ty + -- ^ The reference type + -> M.Ty + -- ^ The pointee type + -> M.Mutability + -- ^ Is the reference mutable or immutable? + -> TypeRepr tp + -- ^ The Crucible representation of the pointee type + -> IsRefShape (MirReferenceType tp) + +-- | Check that a 'TypeShape' is equal to a 'RefShape'. If so, return 'Just' a +-- witness of that equality. Otherwise, return 'Nothing'. +testRefShape :: TypeShape tp -> Maybe (IsRefShape tp) +testRefShape shp = + case shp of + RefShape ty ty' mut shp' + -> Just $ IsRefShape ty ty' mut shp' + _ -> Nothing + $(pure []) instance TestEquality TypeShape where From b0e7c25dd88acd9065934be25c1e2059c2560172 Mon Sep 17 00:00:00 2001 From: Ryan Scott Date: Sat, 9 Sep 2023 18:54:13 -0400 Subject: [PATCH 2/2] `mir_static` and `mir_static_initializer` This adds support for the `mir_static` and `mir_static_initializer` functions in the MIR backend, which are used to write specifications involving top-level `static` values. These behave like the `llvm_global` and `llvm_global_initializer` functions in the LLVM backend, but with the following differences: 1. There is nor MIR counterpart to the `llvm_alloc_global` command, as MIR static values are not "allocated" in the same way that LLVM globals are. (We still require users to initialize mutable MIR statics, however.) 2. By design, static references created with `mir_static` cannot alias allocations created with `mir_alloc`, as the two forms of allocations are handled through different mechanisms in the `crucible-mir` memory model. This checks off one box in #1859. --- .../src/Mir/Compositional/Override.hs | 2 +- doc/manual/manual.md | 66 ++++ doc/manual/manual.pdf | Bin 556087 -> 557032 bytes intTests/test_mir_statics/Makefile | 13 + .../test_mir_statics/test.linked-mir.json | 1 + intTests/test_mir_statics/test.rs | 30 ++ intTests/test_mir_statics/test.saw | 115 ++++++ intTests/test_mir_statics/test.sh | 3 + .../python/tests/saw/test-files/Makefile | 6 + .../test-files/mir_statics.linked-mir.json | 1 + .../tests/saw/test-files/mir_statics.rs | 30 ++ .../python/tests/saw/test_mir_statics.py | 106 +++++ .../src/SAWServer/MIRCrucibleSetup.hs | 8 +- src/SAWScript/Crucible/MIR/Builtins.hs | 322 +++++++++------ src/SAWScript/Crucible/MIR/MethodSpecIR.hs | 11 + src/SAWScript/Crucible/MIR/Override.hs | 119 ++++-- .../Crucible/MIR/ResolveSetupValue.hs | 370 +++++++++++++++++- src/SAWScript/Crucible/MIR/Setup/Value.hs | 29 +- src/SAWScript/Interpreter.hs | 16 + 19 files changed, 1072 insertions(+), 176 deletions(-) create mode 100644 intTests/test_mir_statics/Makefile create mode 100644 intTests/test_mir_statics/test.linked-mir.json create mode 100644 intTests/test_mir_statics/test.rs create mode 100644 intTests/test_mir_statics/test.saw create mode 100755 intTests/test_mir_statics/test.sh create mode 100644 saw-remote-api/python/tests/saw/test-files/mir_statics.linked-mir.json create mode 100644 saw-remote-api/python/tests/saw/test-files/mir_statics.rs create mode 100644 saw-remote-api/python/tests/saw/test_mir_statics.py diff --git a/crucible-mir-comp/src/Mir/Compositional/Override.hs b/crucible-mir-comp/src/Mir/Compositional/Override.hs index 0b966eed67..73e8623d2e 100644 --- a/crucible-mir-comp/src/Mir/Compositional/Override.hs +++ b/crucible-mir-comp/src/Mir/Compositional/Override.hs @@ -601,7 +601,7 @@ checkDisjoint bak refs = go refs -- that will be put into a 'MirPointsTo' value's left-hand side is a -- 'MS.SetupVar', so we can safely use this function on such 'MS.SetupValue's. -- Other parts of SAW can break this assumption (e.g., if you wrote something --- like @mir_points_to (mir_global "X") ...@ in a SAW specification), but these +-- like @mir_points_to (mir_static "X") ...@ in a SAW specification), but these -- parts of SAW are not used in @crucible-mir-comp@. setupVarAllocIndex :: Applicative m => MS.SetupValue MIR -> m MS.AllocIndex setupVarAllocIndex (MS.SetupVar idx) = pure idx diff --git a/doc/manual/manual.md b/doc/manual/manual.md index c2e79b6dc1..1d0de3c9da 100644 --- a/doc/manual/manual.md +++ b/doc/manual/manual.md @@ -2788,6 +2788,10 @@ them. ## Global variables +SAW supports verifying LLVM and MIR specifications involving global variables. + +### LLVM global variables + Mutable global variables that are accessed in a function must first be allocated by calling `llvm_alloc_global` on the name of the global. @@ -2892,6 +2896,68 @@ point of a call to `f`. This specification also constrains `y` to prevent signed integer overflow resulting from the `x + y` expression in `f`, which is undefined behavior in C. +### MIR static items + +Rust's static items are the MIR version of global variables. A reference to a +static item can be accessed with the `mir_static` function. This function takes +a `String` representing a static item's identifier, and this identifier is +expected to adhere to the naming conventions outlined in the "Running a +MIR-based verification" section: + +* `mir_static : String -> MIRValue` + +References to static values can be initialized with the `mir_points_to` +command, just like with other forms of references. Immutable static items +(e.g., `static X: u8 = 42`) are initialized implicitly in every SAW +specification, so there is no need for users to do so manually. Mutable static +items (e.g., `static mut Y: u8 = 27`), on the other hand, are *not* initialized +implicitly, and users must explicitly pick a value to initialize them with. + +The `mir_static_initializer` function can be used to access the initial value +of a static item in a MIR program. Like with `mir_static`, the `String` +supplied as an argument must be a valid identifier: + +* `mir_static_initializer : String -> MIRValue`. + +As an example of how to use these functions, here is a Rust program involving +static items: + +~~~ .rs +// statics.rs +static S1: u8 = 1; +static mut S2: u8 = 2; + +pub fn f() -> u8 { + // Reading a mutable static item requires an `unsafe` block due to + // concurrency-related concerns. We are only concerned about the behavior + // of this program in a single-threaded context, so this is fine. + let s2 = unsafe { S2 }; + S1 + s2 +} +~~~ + +We can write a specification for `f` like so: + +~~~ +// statics.saw +enable_experimental; + +let f_spec = do { + mir_points_to (mir_static "statics::S2") + (mir_static_initializer "statics::S2"); + // Note that we do not initialize S1, as immutable static items are implicitly + // initialized in every specification. + + mir_execute_func []; + + mir_return (mir_term {{ 3 : [8] }}); +}; + +m <- mir_load_module "statics.linked-mir.json"; + +mir_verify m "statics::f" [] false f_spec z3; +~~~ + ## Preconditions and Postconditions Sometimes a function is only well-defined under certain conditions, or diff --git a/doc/manual/manual.pdf b/doc/manual/manual.pdf index bc02e7609a9141a3319546e21c34f5477506cf97..de9ccf68b8fab6af5d8bbdfa107c261edb8ecd19 100644 GIT binary patch delta 211504 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%0DPy5z%*mlfKVPCd;?x*Vm-d+ZKUh; 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

g##3WLX}OpQ}CBK^74@fBlH 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 diff --git a/intTests/test_mir_statics/Makefile b/intTests/test_mir_statics/Makefile new file mode 100644 index 0000000000..bc6297ae15 --- /dev/null +++ b/intTests/test_mir_statics/Makefile @@ -0,0 +1,13 @@ +all: test.linked-mir.json + +test.linked-mir.json: test.rs + saw-rustc $< + $(MAKE) remove-unused-build-artifacts + +.PHONY: remove-unused-build-artifacts +remove-unused-build-artifacts: + rm -f test libtest.mir libtest.rlib + +.PHONY: clean +clean: remove-unused-build-artifacts + rm -f test.linked-mir.json diff --git a/intTests/test_mir_statics/test.linked-mir.json b/intTests/test_mir_statics/test.linked-mir.json new file mode 100644 index 0000000000..27457cc056 --- /dev/null +++ b/intTests/test_mir_statics/test.linked-mir.json @@ -0,0 +1 @@ +{"fns":[{"abi":{"kind":"Rust"},"args":[],"body":{"blocks":[{"block":{"data":[{"kind":"Assign","lhs":{"data":[],"var":{"is_zst":false,"mut":{"kind":"Mut"},"name":"_0","ty":"ty::u32"}},"pos":"test.rs:2:22: 2:23","rhs":{"kind":"Use","usevar":{"data":{"rendered":{"kind":"uint","size":4,"val":"2"},"ty":"ty::u32"},"kind":"Constant"}}}],"terminator":{"kind":"Return","pos":"test.rs:2:1: 2:24"}},"blockid":"bb0"}],"vars":[{"is_zst":false,"mut":{"kind":"Mut"},"name":"_0","ty":"ty::u32"}]},"name":"test/03613d74::S2","return_ty":"ty::u32","spread_arg":null},{"abi":{"kind":"Rust"},"args":[],"body":{"blocks":[{"block":{"data":[{"kind":"Assign","lhs":{"data":[],"var":{"is_zst":false,"mut":{"kind":"Mut"},"name":"_0","ty":"ty::u32"}},"pos":"test.rs:3:22: 3:23","rhs":{"kind":"Use","usevar":{"data":{"rendered":{"kind":"uint","size":4,"val":"3"},"ty":"ty::u32"},"kind":"Constant"}}}],"terminator":{"kind":"Return","pos":"test.rs:3:1: 3:24"}},"blockid":"bb0"}],"vars":[{"is_zst":false,"mut":{"kind":"Mut"},"name":"_0","ty":"ty::u32"}]},"name":"test/03613d74::S3","return_ty":"ty::u32","spread_arg":null},{"abi":{"kind":"Rust"},"args":[],"body":{"blocks":[{"block":{"data":[{"kind":"Assign","lhs":{"data":[],"var":{"is_zst":false,"mut":{"kind":"Mut"},"name":"_0","ty":"ty::u32"}},"pos":"test.rs:1:22: 1:23","rhs":{"kind":"Use","usevar":{"data":{"rendered":{"kind":"uint","size":4,"val":"1"},"ty":"ty::u32"},"kind":"Constant"}}}],"terminator":{"kind":"Return","pos":"test.rs:1:1: 1:24"}},"blockid":"bb0"}],"vars":[{"is_zst":false,"mut":{"kind":"Mut"},"name":"_0","ty":"ty::u32"}]},"name":"test/03613d74::S1","return_ty":"ty::u32","spread_arg":null},{"abi":{"kind":"Rust"},"args":[],"body":{"blocks":[{"block":{"data":[{"kind":"Assign","lhs":{"data":[],"var":{"is_zst":false,"mut":{"kind":"Not"},"name":"_1","ty":"ty::Ref::e028c0f25e8b6323"}},"pos":"test.rs:18:6: 18:8","rhs":{"kind":"Use","usevar":{"data":{"rendered":{"def_id":"test/03613d74::S2","kind":"static_ref"},"ty":"ty::Ref::e028c0f25e8b6323"},"kind":"Constant"}}},{"kind":"Assign","lhs":{"data":[],"var":{"is_zst":false,"mut":{"kind":"Mut"},"name":"_0","ty":"ty::Ref::e028c0f25e8b6323"}},"pos":"test.rs:18:5: 18:8","rhs":{"kind":"Use","usevar":{"data":{"data":[],"var":{"is_zst":false,"mut":{"kind":"Not"},"name":"_1","ty":"ty::Ref::e028c0f25e8b6323"}},"kind":"Copy"}}}],"terminator":{"kind":"Return","pos":"test.rs:19:2: 19:2"}},"blockid":"bb0"}],"vars":[{"is_zst":false,"mut":{"kind":"Mut"},"name":"_0","ty":"ty::Ref::e028c0f25e8b6323"},{"is_zst":false,"mut":{"kind":"Not"},"name":"_1","ty":"ty::Ref::e028c0f25e8b6323"}]},"name":"test/03613d74::f2","return_ty":"ty::Ref::e028c0f25e8b6323","spread_arg":null},{"abi":{"kind":"Rust"},"args":[],"body":{"blocks":[{"block":{"data":[],"terminator":{"args":[],"cleanup":null,"destination":[{"data":[],"var":{"is_zst":false,"mut":{"kind":"Mut"},"name":"_1","ty":"ty::Ref::e028c0f25e8b6323"}},"bb1"],"from_hir_call":true,"func":{"data":{"rendered":{"kind":"zst"},"ty":"ty::FnDef::944607c7a6d1ed60"},"kind":"Constant"},"kind":"Call","pos":"test.rs:14:6: 14:14"}},"blockid":"bb0"},{"block":{"data":[{"kind":"Assign","lhs":{"data":[],"var":{"is_zst":false,"mut":{"kind":"Mut"},"name":"_0","ty":"ty::u32"}},"pos":"test.rs:14:5: 14:14","rhs":{"kind":"Use","usevar":{"data":{"data":[{"kind":"Deref"}],"var":{"is_zst":false,"mut":{"kind":"Mut"},"name":"_1","ty":"ty::Ref::e028c0f25e8b6323"}},"kind":"Copy"}}}],"terminator":{"kind":"Return","pos":"test.rs:15:2: 15:2"}},"blockid":"bb1"}],"vars":[{"is_zst":false,"mut":{"kind":"Mut"},"name":"_0","ty":"ty::u32"},{"is_zst":false,"mut":{"kind":"Mut"},"name":"_1","ty":"ty::Ref::e028c0f25e8b6323"}]},"name":"test/03613d74::f1","return_ty":"ty::u32","spread_arg":null},{"abi":{"kind":"Rust"},"args":[],"body":{"blocks":[{"block":{"data":[{"kind":"Assign","lhs":{"data":[],"var":{"is_zst":false,"mut":{"kind":"Not"},"name":"_1","ty":"ty::Ref::e028c0f25e8b6323"}},"pos":"test.rs:10:6: 10:8","rhs":{"kind":"Use","usevar":{"data":{"rendered":{"def_id":"test/03613d74::S1","kind":"static_ref"},"ty":"ty::Ref::e028c0f25e8b6323"},"kind":"Constant"}}},{"kind":"Assign","lhs":{"data":[],"var":{"is_zst":false,"mut":{"kind":"Mut"},"name":"_0","ty":"ty::Ref::e028c0f25e8b6323"}},"pos":"test.rs:10:5: 10:8","rhs":{"kind":"Use","usevar":{"data":{"data":[],"var":{"is_zst":false,"mut":{"kind":"Not"},"name":"_1","ty":"ty::Ref::e028c0f25e8b6323"}},"kind":"Copy"}}}],"terminator":{"kind":"Return","pos":"test.rs:11:2: 11:2"}},"blockid":"bb0"}],"vars":[{"is_zst":false,"mut":{"kind":"Mut"},"name":"_0","ty":"ty::Ref::e028c0f25e8b6323"},{"is_zst":false,"mut":{"kind":"Not"},"name":"_1","ty":"ty::Ref::e028c0f25e8b6323"}]},"name":"test/03613d74::f1_aux","return_ty":"ty::Ref::e028c0f25e8b6323","spread_arg":null},{"abi":{"kind":"Rust"},"args":[],"body":{"blocks":[{"block":{"data":[{"kind":"Assign","lhs":{"data":[],"var":{"is_zst":false,"mut":{"kind":"Mut"},"name":"_3","ty":"ty::RawPtr::63e5937014067f41"}},"pos":"test.rs:23:14: 23:16","rhs":{"kind":"Use","usevar":{"data":{"rendered":{"def_id":"test/03613d74::S3","kind":"static_ref"},"ty":"ty::RawPtr::63e5937014067f41"},"kind":"Constant"}}},{"kind":"Assign","lhs":{"data":[],"var":{"is_zst":false,"mut":{"kind":"Mut"},"name":"_2","ty":"ty::u32"}},"pos":"test.rs:23:14: 23:16","rhs":{"kind":"Use","usevar":{"data":{"data":[{"kind":"Deref"}],"var":{"is_zst":false,"mut":{"kind":"Mut"},"name":"_3","ty":"ty::RawPtr::63e5937014067f41"}},"kind":"Copy"}}}],"terminator":{"args":[{"data":{"data":[],"var":{"is_zst":false,"mut":{"kind":"Mut"},"name":"_2","ty":"ty::u32"}},"kind":"Move"},{"data":{"rendered":{"kind":"uint","size":4,"val":"1"},"ty":"ty::u32"},"kind":"Constant"}],"cleanup":null,"destination":[{"data":[],"var":{"is_zst":false,"mut":{"kind":"Mut"},"name":"_1","ty":"ty::u32"}},"bb1"],"from_hir_call":true,"func":{"data":{"rendered":{"kind":"zst"},"ty":"ty::FnDef::f55acdef755f1aaa"},"kind":"Constant"},"kind":"Call","pos":"test.rs:23:14: 23:32"}},"blockid":"bb0"},{"block":{"data":[{"kind":"Assign","lhs":{"data":[],"var":{"is_zst":false,"mut":{"kind":"Mut"},"name":"_4","ty":"ty::RawPtr::63e5937014067f41"}},"pos":"test.rs:23:9: 23:11","rhs":{"kind":"Use","usevar":{"data":{"rendered":{"def_id":"test/03613d74::S3","kind":"static_ref"},"ty":"ty::RawPtr::63e5937014067f41"},"kind":"Constant"}}},{"kind":"Assign","lhs":{"data":[{"kind":"Deref"}],"var":{"is_zst":false,"mut":{"kind":"Mut"},"name":"_4","ty":"ty::RawPtr::63e5937014067f41"}},"pos":"test.rs:23:9: 23:32","rhs":{"kind":"Use","usevar":{"data":{"data":[],"var":{"is_zst":false,"mut":{"kind":"Mut"},"name":"_1","ty":"ty::u32"}},"kind":"Move"}}},{"kind":"Assign","lhs":{"data":[],"var":{"is_zst":false,"mut":{"kind":"Mut"},"name":"_5","ty":"ty::RawPtr::63e5937014067f41"}},"pos":"test.rs:24:9: 24:11","rhs":{"kind":"Use","usevar":{"data":{"rendered":{"def_id":"test/03613d74::S3","kind":"static_ref"},"ty":"ty::RawPtr::63e5937014067f41"},"kind":"Constant"}}},{"kind":"Assign","lhs":{"data":[],"var":{"is_zst":false,"mut":{"kind":"Mut"},"name":"_0","ty":"ty::u32"}},"pos":"test.rs:24:9: 24:11","rhs":{"kind":"Use","usevar":{"data":{"data":[{"kind":"Deref"}],"var":{"is_zst":false,"mut":{"kind":"Mut"},"name":"_5","ty":"ty::RawPtr::63e5937014067f41"}},"kind":"Copy"}}}],"terminator":{"kind":"Return","pos":"test.rs:26:2: 26:2"}},"blockid":"bb1"}],"vars":[{"is_zst":false,"mut":{"kind":"Mut"},"name":"_0","ty":"ty::u32"},{"is_zst":false,"mut":{"kind":"Mut"},"name":"_1","ty":"ty::u32"},{"is_zst":false,"mut":{"kind":"Mut"},"name":"_2","ty":"ty::u32"},{"is_zst":false,"mut":{"kind":"Mut"},"name":"_3","ty":"ty::RawPtr::63e5937014067f41"},{"is_zst":false,"mut":{"kind":"Mut"},"name":"_4","ty":"ty::RawPtr::63e5937014067f41"},{"is_zst":false,"mut":{"kind":"Mut"},"name":"_5","ty":"ty::RawPtr::63e5937014067f41"}]},"name":"test/03613d74::f3","return_ty":"ty::u32","spread_arg":null},{"abi":{"kind":"Rust"},"args":[{"is_zst":false,"mut":{"kind":"Not"},"name":"_1","ty":"ty::Ref::e028c0f25e8b6323"}],"body":{"blocks":[{"block":{"data":[{"kind":"Assign","lhs":{"data":[],"var":{"is_zst":false,"mut":{"kind":"Mut"},"name":"_2","ty":"ty::RawPtr::1f2b1eadb40cd255"}},"pos":"test.rs:29:18: 29:19","rhs":{"kind":"AddressOf","mutbl":{"kind":"Not"},"place":{"data":[{"kind":"Deref"}],"var":{"is_zst":false,"mut":{"kind":"Not"},"name":"_1","ty":"ty::Ref::e028c0f25e8b6323"}}}},{"kind":"Assign","lhs":{"data":[],"var":{"is_zst":false,"mut":{"kind":"Not"},"name":"_5","ty":"ty::Ref::e028c0f25e8b6323"}},"pos":"test.rs:29:22: 29:24","rhs":{"kind":"Use","usevar":{"data":{"rendered":{"def_id":"test/03613d74::S1","kind":"static_ref"},"ty":"ty::Ref::e028c0f25e8b6323"},"kind":"Constant"}}},{"kind":"Assign","lhs":{"data":[],"var":{"is_zst":false,"mut":{"kind":"Not"},"name":"_4","ty":"ty::Ref::e028c0f25e8b6323"}},"pos":"test.rs:29:21: 29:24","rhs":{"kind":"Use","usevar":{"data":{"data":[],"var":{"is_zst":false,"mut":{"kind":"Not"},"name":"_5","ty":"ty::Ref::e028c0f25e8b6323"}},"kind":"Copy"}}},{"kind":"Assign","lhs":{"data":[],"var":{"is_zst":false,"mut":{"kind":"Mut"},"name":"_3","ty":"ty::RawPtr::1f2b1eadb40cd255"}},"pos":"test.rs:29:21: 29:24","rhs":{"kind":"AddressOf","mutbl":{"kind":"Not"},"place":{"data":[{"kind":"Deref"}],"var":{"is_zst":false,"mut":{"kind":"Not"},"name":"_4","ty":"ty::Ref::e028c0f25e8b6323"}}}}],"terminator":{"args":[{"data":{"data":[],"var":{"is_zst":false,"mut":{"kind":"Mut"},"name":"_2","ty":"ty::RawPtr::1f2b1eadb40cd255"}},"kind":"Move"},{"data":{"data":[],"var":{"is_zst":false,"mut":{"kind":"Mut"},"name":"_3","ty":"ty::RawPtr::1f2b1eadb40cd255"}},"kind":"Move"}],"cleanup":null,"destination":[{"data":[],"var":{"is_zst":false,"mut":{"kind":"Mut"},"name":"_0","ty":"ty::bool"}},"bb1"],"from_hir_call":true,"func":{"data":{"rendered":{"kind":"zst"},"ty":"ty::FnDef::1cc207ca586a46de"},"kind":"Constant"},"kind":"Call","pos":"test.rs:29:5: 29:25"}},"blockid":"bb0"},{"block":{"data":[],"terminator":{"kind":"Return","pos":"test.rs:30:2: 30:2"}},"blockid":"bb1"}],"vars":[{"is_zst":false,"mut":{"kind":"Mut"},"name":"_0","ty":"ty::bool"},{"is_zst":false,"mut":{"kind":"Mut"},"name":"_2","ty":"ty::RawPtr::1f2b1eadb40cd255"},{"is_zst":false,"mut":{"kind":"Mut"},"name":"_3","ty":"ty::RawPtr::1f2b1eadb40cd255"},{"is_zst":false,"mut":{"kind":"Not"},"name":"_4","ty":"ty::Ref::e028c0f25e8b6323"},{"is_zst":false,"mut":{"kind":"Not"},"name":"_5","ty":"ty::Ref::e028c0f25e8b6323"}]},"name":"test/03613d74::g","return_ty":"ty::bool","spread_arg":null},{"abi":{"kind":"Rust"},"args":[{"is_zst":false,"mut":{"kind":"Not"},"name":"_1","ty":"ty::u32"},{"is_zst":false,"mut":{"kind":"Not"},"name":"_2","ty":"ty::u32"}],"body":{"blocks":[{"block":{"data":[{"kind":"StorageLive","pos":"/rustc/5e37043d63bfe2f3be8fa5a05b07d6c0dad5775d/library/core/src/num/uint_macros.rs:1162:38: 1162:42 !/rustc/5e37043d63bfe2f3be8fa5a05b07d6c0dad5775d/library/core/src/num/mod.rs:921:5: 922:101","slvar":{"is_zst":false,"mut":{"kind":"Mut"},"name":"_3","ty":"ty::u32"}},{"kind":"Assign","lhs":{"data":[],"var":{"is_zst":false,"mut":{"kind":"Mut"},"name":"_3","ty":"ty::u32"}},"pos":"/rustc/5e37043d63bfe2f3be8fa5a05b07d6c0dad5775d/library/core/src/num/uint_macros.rs:1162:38: 1162:42 !/rustc/5e37043d63bfe2f3be8fa5a05b07d6c0dad5775d/library/core/src/num/mod.rs:921:5: 922:101","rhs":{"kind":"Use","usevar":{"data":{"data":[],"var":{"is_zst":false,"mut":{"kind":"Not"},"name":"_1","ty":"ty::u32"}},"kind":"Copy"}}},{"kind":"StorageLive","pos":"/rustc/5e37043d63bfe2f3be8fa5a05b07d6c0dad5775d/library/core/src/num/uint_macros.rs:1162:44: 1162:47 !/rustc/5e37043d63bfe2f3be8fa5a05b07d6c0dad5775d/library/core/src/num/mod.rs:921:5: 922:101","slvar":{"is_zst":false,"mut":{"kind":"Mut"},"name":"_4","ty":"ty::u32"}},{"kind":"Assign","lhs":{"data":[],"var":{"is_zst":false,"mut":{"kind":"Mut"},"name":"_4","ty":"ty::u32"}},"pos":"/rustc/5e37043d63bfe2f3be8fa5a05b07d6c0dad5775d/library/core/src/num/uint_macros.rs:1162:44: 1162:47 !/rustc/5e37043d63bfe2f3be8fa5a05b07d6c0dad5775d/library/core/src/num/mod.rs:921:5: 922:101","rhs":{"kind":"Use","usevar":{"data":{"data":[],"var":{"is_zst":false,"mut":{"kind":"Not"},"name":"_2","ty":"ty::u32"}},"kind":"Copy"}}},{"kind":"Assign","lhs":{"data":[],"var":{"is_zst":false,"mut":{"kind":"Mut"},"name":"_0","ty":"ty::u32"}},"pos":"/rustc/5e37043d63bfe2f3be8fa5a05b07d6c0dad5775d/library/core/src/num/uint_macros.rs:1162:13: 1162:48 !/rustc/5e37043d63bfe2f3be8fa5a05b07d6c0dad5775d/library/core/src/num/mod.rs:921:5: 922:101","rhs":{"L":{"data":{"data":[],"var":{"is_zst":false,"mut":{"kind":"Mut"},"name":"_3","ty":"ty::u32"}},"kind":"Move"},"R":{"data":{"data":[],"var":{"is_zst":false,"mut":{"kind":"Mut"},"name":"_4","ty":"ty::u32"}},"kind":"Move"},"kind":"BinaryOp","op":{"kind":"Add"}}},{"kind":"StorageDead","pos":"/rustc/5e37043d63bfe2f3be8fa5a05b07d6c0dad5775d/library/core/src/num/uint_macros.rs:1162:47: 1162:48 !/rustc/5e37043d63bfe2f3be8fa5a05b07d6c0dad5775d/library/core/src/num/mod.rs:921:5: 922:101","sdvar":{"is_zst":false,"mut":{"kind":"Mut"},"name":"_4","ty":"ty::u32"}},{"kind":"StorageDead","pos":"/rustc/5e37043d63bfe2f3be8fa5a05b07d6c0dad5775d/library/core/src/num/uint_macros.rs:1162:47: 1162:48 !/rustc/5e37043d63bfe2f3be8fa5a05b07d6c0dad5775d/library/core/src/num/mod.rs:921:5: 922:101","sdvar":{"is_zst":false,"mut":{"kind":"Mut"},"name":"_3","ty":"ty::u32"}}],"terminator":{"kind":"Return","pos":"/rustc/5e37043d63bfe2f3be8fa5a05b07d6c0dad5775d/library/core/src/num/uint_macros.rs:1163:10: 1163:10 !/rustc/5e37043d63bfe2f3be8fa5a05b07d6c0dad5775d/library/core/src/num/mod.rs:921:5: 922:101"}},"blockid":"bb0"}],"vars":[{"is_zst":false,"mut":{"kind":"Mut"},"name":"_0","ty":"ty::u32"},{"is_zst":false,"mut":{"kind":"Mut"},"name":"_3","ty":"ty::u32"},{"is_zst":false,"mut":{"kind":"Mut"},"name":"_4","ty":"ty::u32"}]},"name":"core/73237d41::num::{impl#9}::wrapping_add","return_ty":"ty::u32","spread_arg":null},{"abi":{"kind":"Rust"},"args":[{"is_zst":false,"mut":{"kind":"Not"},"name":"_1","ty":"ty::RawPtr::1f2b1eadb40cd255"},{"is_zst":false,"mut":{"kind":"Not"},"name":"_2","ty":"ty::RawPtr::1f2b1eadb40cd255"}],"body":{"blocks":[{"block":{"data":[{"kind":"StorageLive","pos":"/rustc/5e37043d63bfe2f3be8fa5a05b07d6c0dad5775d/library/core/src/ptr/mod.rs:1828:5: 1828:6","slvar":{"is_zst":false,"mut":{"kind":"Mut"},"name":"_3","ty":"ty::RawPtr::1f2b1eadb40cd255"}},{"kind":"Assign","lhs":{"data":[],"var":{"is_zst":false,"mut":{"kind":"Mut"},"name":"_3","ty":"ty::RawPtr::1f2b1eadb40cd255"}},"pos":"/rustc/5e37043d63bfe2f3be8fa5a05b07d6c0dad5775d/library/core/src/ptr/mod.rs:1828:5: 1828:6","rhs":{"kind":"Use","usevar":{"data":{"data":[],"var":{"is_zst":false,"mut":{"kind":"Not"},"name":"_1","ty":"ty::RawPtr::1f2b1eadb40cd255"}},"kind":"Copy"}}},{"kind":"StorageLive","pos":"/rustc/5e37043d63bfe2f3be8fa5a05b07d6c0dad5775d/library/core/src/ptr/mod.rs:1828:10: 1828:11","slvar":{"is_zst":false,"mut":{"kind":"Mut"},"name":"_4","ty":"ty::RawPtr::1f2b1eadb40cd255"}},{"kind":"Assign","lhs":{"data":[],"var":{"is_zst":false,"mut":{"kind":"Mut"},"name":"_4","ty":"ty::RawPtr::1f2b1eadb40cd255"}},"pos":"/rustc/5e37043d63bfe2f3be8fa5a05b07d6c0dad5775d/library/core/src/ptr/mod.rs:1828:10: 1828:11","rhs":{"kind":"Use","usevar":{"data":{"data":[],"var":{"is_zst":false,"mut":{"kind":"Not"},"name":"_2","ty":"ty::RawPtr::1f2b1eadb40cd255"}},"kind":"Copy"}}},{"kind":"Assign","lhs":{"data":[],"var":{"is_zst":false,"mut":{"kind":"Mut"},"name":"_0","ty":"ty::bool"}},"pos":"/rustc/5e37043d63bfe2f3be8fa5a05b07d6c0dad5775d/library/core/src/ptr/mod.rs:1828:5: 1828:11","rhs":{"L":{"data":{"data":[],"var":{"is_zst":false,"mut":{"kind":"Mut"},"name":"_3","ty":"ty::RawPtr::1f2b1eadb40cd255"}},"kind":"Move"},"R":{"data":{"data":[],"var":{"is_zst":false,"mut":{"kind":"Mut"},"name":"_4","ty":"ty::RawPtr::1f2b1eadb40cd255"}},"kind":"Move"},"kind":"BinaryOp","op":{"kind":"Eq"}}},{"kind":"StorageDead","pos":"/rustc/5e37043d63bfe2f3be8fa5a05b07d6c0dad5775d/library/core/src/ptr/mod.rs:1828:10: 1828:11","sdvar":{"is_zst":false,"mut":{"kind":"Mut"},"name":"_4","ty":"ty::RawPtr::1f2b1eadb40cd255"}},{"kind":"StorageDead","pos":"/rustc/5e37043d63bfe2f3be8fa5a05b07d6c0dad5775d/library/core/src/ptr/mod.rs:1828:10: 1828:11","sdvar":{"is_zst":false,"mut":{"kind":"Mut"},"name":"_3","ty":"ty::RawPtr::1f2b1eadb40cd255"}}],"terminator":{"kind":"Return","pos":"/rustc/5e37043d63bfe2f3be8fa5a05b07d6c0dad5775d/library/core/src/ptr/mod.rs:1829:2: 1829:2"}},"blockid":"bb0"}],"vars":[{"is_zst":false,"mut":{"kind":"Mut"},"name":"_0","ty":"ty::bool"},{"is_zst":false,"mut":{"kind":"Mut"},"name":"_3","ty":"ty::RawPtr::1f2b1eadb40cd255"},{"is_zst":false,"mut":{"kind":"Mut"},"name":"_4","ty":"ty::RawPtr::1f2b1eadb40cd255"}]},"name":"core/73237d41::ptr::eq::_instc5e93708b8ca6e2a[0]","return_ty":"ty::bool","spread_arg":null}],"adts":[],"statics":[{"kind":"body","mutable":false,"name":"test/03613d74::S2","ty":"ty::u32"},{"kind":"body","mutable":true,"name":"test/03613d74::S3","ty":"ty::u32"},{"kind":"body","mutable":false,"name":"test/03613d74::S1","ty":"ty::u32"}],"vtables":[],"traits":[],"intrinsics":[{"inst":{"def_id":"test/03613d74::f2","kind":"Item","substs":[]},"name":"test/03613d74::f2"},{"inst":{"def_id":"test/03613d74::f1","kind":"Item","substs":[]},"name":"test/03613d74::f1"},{"inst":{"def_id":"test/03613d74::f1_aux","kind":"Item","substs":[]},"name":"test/03613d74::f1_aux"},{"inst":{"def_id":"test/03613d74::f3","kind":"Item","substs":[]},"name":"test/03613d74::f3"},{"inst":{"def_id":"test/03613d74::g","kind":"Item","substs":[]},"name":"test/03613d74::g"},{"inst":{"def_id":"core/73237d41::num::{impl#9}::wrapping_add","kind":"Item","substs":[]},"name":"core/73237d41::num::{impl#9}::wrapping_add"},{"inst":{"def_id":"core/73237d41::ptr::eq","kind":"Item","substs":["ty::u32"]},"name":"core/73237d41::ptr::eq::_instc5e93708b8ca6e2a[0]"}],"tys":[{"name":"ty::u32","ty":{"kind":"Uint","uintkind":{"kind":"U32"}}},{"name":"ty::Ref::e028c0f25e8b6323","ty":{"kind":"Ref","mutability":{"kind":"Not"},"ty":"ty::u32"}},{"name":"ty::FnDef::944607c7a6d1ed60","ty":{"defid":"test/03613d74::f1_aux","kind":"FnDef"}},{"name":"ty::RawPtr::63e5937014067f41","ty":{"kind":"RawPtr","mutability":{"kind":"Mut"},"ty":"ty::u32"}},{"name":"ty::FnDef::f55acdef755f1aaa","ty":{"defid":"core/73237d41::num::{impl#9}::wrapping_add","kind":"FnDef"}},{"name":"ty::bool","ty":{"kind":"Bool"}},{"name":"ty::RawPtr::1f2b1eadb40cd255","ty":{"kind":"RawPtr","mutability":{"kind":"Not"},"ty":"ty::u32"}},{"name":"ty::FnDef::1cc207ca586a46de","ty":{"defid":"core/73237d41::ptr::eq::_instc5e93708b8ca6e2a[0]","kind":"FnDef"}}],"roots":["test/03613d74::f1_aux","test/03613d74::f1","test/03613d74::f2","test/03613d74::f3","test/03613d74::g"]} \ No newline at end of file diff --git a/intTests/test_mir_statics/test.rs b/intTests/test_mir_statics/test.rs new file mode 100644 index 0000000000..6b8bdf2f5e --- /dev/null +++ b/intTests/test_mir_statics/test.rs @@ -0,0 +1,30 @@ +static S1: u32 = 1; +static S2: u32 = 2; +static mut S3: u32 = 3; + +// rustc is very eager to inline immutable, top-level static values, even on the +// lowest optimization settings. To ensure that S1 isn't inlined, we must +// introduce this extra layer of indirection. +#[inline(never)] +pub fn f1_aux() -> &'static u32 { + &S1 +} + +pub fn f1() -> u32 { + *f1_aux() +} + +pub fn f2() -> &'static u32 { + &S2 +} + +pub fn f3() -> u32 { + unsafe { + S3 = S3.wrapping_add(1); + S3 + } +} + +pub fn g(r: &u32) -> bool { + std::ptr::eq(r, &S1) +} diff --git a/intTests/test_mir_statics/test.saw b/intTests/test_mir_statics/test.saw new file mode 100644 index 0000000000..4b38830c55 --- /dev/null +++ b/intTests/test_mir_statics/test.saw @@ -0,0 +1,115 @@ +enable_experimental; + +// A basic spec that uses the initial value of S1. +let f1_spec = do { + mir_execute_func []; + + mir_return (mir_static_initializer "test::S1"); +}; + +// An alternative spec that uses a different initial value for S1. +let f1_alt_spec = do { + let s1_static = mir_static "test::S1"; + let init = mir_term {{ 42 : [32] }}; + mir_points_to s1_static init; + + mir_execute_func []; + + mir_points_to s1_static init; + mir_return init; +}; + +// A buggy spec that refers to a non-existent static initializer value. +let f1_fail_spec = do { + mir_execute_func []; + + mir_return (mir_static_initializer "test::S1_fake"); +}; + +// A buggy spec that refers to a non-existent static value. +let f1_fail_alt_spec = do { + let s1_static = mir_static "test::S1_fake"; + let init = mir_term {{ 42 : [32] }}; + mir_points_to s1_static init; + + mir_execute_func []; + + mir_points_to s1_static init; + mir_return init; +}; + +// A spec that matches against a static in the return value. +let f2_spec = do { + mir_execute_func []; + + mir_return (mir_static "test::S2"); +}; + +// A basic spec that uses the initial value of S3. +let f3_spec = do { + let s3_static = mir_static "test::S3"; + mir_points_to s3_static (mir_static_initializer "test::S3"); + + mir_execute_func []; + + let ret = mir_term {{ 4 : [32] }}; + mir_points_to s3_static ret; + mir_return ret; +}; + +// An alternative spec that uses a different initial value for S3. +let f3_alt_spec = do { + let s3_static = mir_static "test::S3"; + let init = {{ 42 : [32] }}; + mir_points_to s3_static (mir_term init); + + mir_execute_func []; + + let ret = mir_term {{ init + 1 }}; + mir_points_to s3_static ret; + mir_return ret; +}; + +// A buggy spec that does not initialize S3 (a mutable static value). +let f3_fail_spec = do { + mir_execute_func []; + + mir_return (mir_term {{ 4 : [32] }}); +}; + +// A spec that ensures that fresh allocations do not alias with static +// references. +let g_spec = do { + r_ref <- mir_alloc mir_u32; + + mir_execute_func [r_ref]; + + mir_return (mir_term {{ False }}); +}; + +// g(&S1) should return True. +let g_alt_spec = do { + mir_execute_func [mir_static "test::S1"]; + + mir_return (mir_term {{ True }}); +}; + +m <- mir_load_module "test.linked-mir.json"; + +mir_verify m "test::f1" [] false f1_spec z3; +mir_verify m "test::f1" [] false f1_alt_spec z3; +mir_verify m "test::f2" [] false f2_spec z3; +mir_verify m "test::f3" [] false f3_spec z3; +mir_verify m "test::f3" [] false f3_alt_spec z3; +mir_verify m "test::g" [] false g_spec z3; +mir_verify m "test::g" [] false g_alt_spec z3; + +fails ( + mir_verify m "test::f1" [] false f1_fail_spec z3 +); +fails ( + mir_verify m "test::f1" [] false f1_fail_alt_spec z3 +); +fails ( + mir_verify m "test::f3" [] false f3_fail_spec z3 +); diff --git a/intTests/test_mir_statics/test.sh b/intTests/test_mir_statics/test.sh new file mode 100755 index 0000000000..2315cc233c --- /dev/null +++ b/intTests/test_mir_statics/test.sh @@ -0,0 +1,3 @@ +set -e + +$SAW test.saw diff --git a/saw-remote-api/python/tests/saw/test-files/Makefile b/saw-remote-api/python/tests/saw/test-files/Makefile index acb9f97702..6067fee257 100644 --- a/saw-remote-api/python/tests/saw/test-files/Makefile +++ b/saw-remote-api/python/tests/saw/test-files/Makefile @@ -1,6 +1,7 @@ C_FILES := $(wildcard *.c) BC_FILES := $(C_FILES:.c=.bc) RS_FILES := $(wildcard *.rs) +EXE_FILES := $(RS_FILES:.rs=) JSON_FILES := $(RS_FILES:.rs=.linked-mir.json) all: $(BC_FILES) $(JSON_FILES) @@ -10,7 +11,12 @@ all: $(BC_FILES) $(JSON_FILES) %.linked-mir.json: %.rs saw-rustc $< + $(MAKE) remove-unused-build-artifacts # This test case crucially relies on the use of -O2. llvm_lax_pointer_ordering.bc: llvm_lax_pointer_ordering.c clang -O2 -g -c -emit-llvm -o $@ $< + +PHONY: remove-unused-build-artifacts +remove-unused-build-artifacts: + rm -f test lib*.mir lib*.rlib $(EXE_FILES) diff --git a/saw-remote-api/python/tests/saw/test-files/mir_statics.linked-mir.json b/saw-remote-api/python/tests/saw/test-files/mir_statics.linked-mir.json new file mode 100644 index 0000000000..6bafcfd26a --- /dev/null +++ b/saw-remote-api/python/tests/saw/test-files/mir_statics.linked-mir.json @@ -0,0 +1 @@ +{"fns":[{"abi":{"kind":"Rust"},"args":[],"body":{"blocks":[{"block":{"data":[{"kind":"Assign","lhs":{"data":[],"var":{"is_zst":false,"mut":{"kind":"Mut"},"name":"_0","ty":"ty::u32"}},"pos":"mir_statics.rs:2:22: 2:23","rhs":{"kind":"Use","usevar":{"data":{"rendered":{"kind":"uint","size":4,"val":"2"},"ty":"ty::u32"},"kind":"Constant"}}}],"terminator":{"kind":"Return","pos":"mir_statics.rs:2:1: 2:24"}},"blockid":"bb0"}],"vars":[{"is_zst":false,"mut":{"kind":"Mut"},"name":"_0","ty":"ty::u32"}]},"name":"mir_statics/f6d6b500::S2","return_ty":"ty::u32","spread_arg":null},{"abi":{"kind":"Rust"},"args":[],"body":{"blocks":[{"block":{"data":[{"kind":"Assign","lhs":{"data":[],"var":{"is_zst":false,"mut":{"kind":"Mut"},"name":"_0","ty":"ty::u32"}},"pos":"mir_statics.rs:3:22: 3:23","rhs":{"kind":"Use","usevar":{"data":{"rendered":{"kind":"uint","size":4,"val":"3"},"ty":"ty::u32"},"kind":"Constant"}}}],"terminator":{"kind":"Return","pos":"mir_statics.rs:3:1: 3:24"}},"blockid":"bb0"}],"vars":[{"is_zst":false,"mut":{"kind":"Mut"},"name":"_0","ty":"ty::u32"}]},"name":"mir_statics/f6d6b500::S3","return_ty":"ty::u32","spread_arg":null},{"abi":{"kind":"Rust"},"args":[],"body":{"blocks":[{"block":{"data":[{"kind":"Assign","lhs":{"data":[],"var":{"is_zst":false,"mut":{"kind":"Mut"},"name":"_0","ty":"ty::u32"}},"pos":"mir_statics.rs:1:22: 1:23","rhs":{"kind":"Use","usevar":{"data":{"rendered":{"kind":"uint","size":4,"val":"1"},"ty":"ty::u32"},"kind":"Constant"}}}],"terminator":{"kind":"Return","pos":"mir_statics.rs:1:1: 1:24"}},"blockid":"bb0"}],"vars":[{"is_zst":false,"mut":{"kind":"Mut"},"name":"_0","ty":"ty::u32"}]},"name":"mir_statics/f6d6b500::S1","return_ty":"ty::u32","spread_arg":null},{"abi":{"kind":"Rust"},"args":[],"body":{"blocks":[{"block":{"data":[],"terminator":{"args":[],"cleanup":null,"destination":[{"data":[],"var":{"is_zst":false,"mut":{"kind":"Mut"},"name":"_1","ty":"ty::Ref::e028c0f25e8b6323"}},"bb1"],"from_hir_call":true,"func":{"data":{"rendered":{"kind":"zst"},"ty":"ty::FnDef::d1a77fa11fa71149"},"kind":"Constant"},"kind":"Call","pos":"mir_statics.rs:14:6: 14:14"}},"blockid":"bb0"},{"block":{"data":[{"kind":"Assign","lhs":{"data":[],"var":{"is_zst":false,"mut":{"kind":"Mut"},"name":"_0","ty":"ty::u32"}},"pos":"mir_statics.rs:14:5: 14:14","rhs":{"kind":"Use","usevar":{"data":{"data":[{"kind":"Deref"}],"var":{"is_zst":false,"mut":{"kind":"Mut"},"name":"_1","ty":"ty::Ref::e028c0f25e8b6323"}},"kind":"Copy"}}}],"terminator":{"kind":"Return","pos":"mir_statics.rs:15:2: 15:2"}},"blockid":"bb1"}],"vars":[{"is_zst":false,"mut":{"kind":"Mut"},"name":"_0","ty":"ty::u32"},{"is_zst":false,"mut":{"kind":"Mut"},"name":"_1","ty":"ty::Ref::e028c0f25e8b6323"}]},"name":"mir_statics/f6d6b500::f1","return_ty":"ty::u32","spread_arg":null},{"abi":{"kind":"Rust"},"args":[],"body":{"blocks":[{"block":{"data":[{"kind":"Assign","lhs":{"data":[],"var":{"is_zst":false,"mut":{"kind":"Mut"},"name":"_3","ty":"ty::RawPtr::63e5937014067f41"}},"pos":"mir_statics.rs:23:14: 23:16","rhs":{"kind":"Use","usevar":{"data":{"rendered":{"def_id":"mir_statics/f6d6b500::S3","kind":"static_ref"},"ty":"ty::RawPtr::63e5937014067f41"},"kind":"Constant"}}},{"kind":"Assign","lhs":{"data":[],"var":{"is_zst":false,"mut":{"kind":"Mut"},"name":"_2","ty":"ty::u32"}},"pos":"mir_statics.rs:23:14: 23:16","rhs":{"kind":"Use","usevar":{"data":{"data":[{"kind":"Deref"}],"var":{"is_zst":false,"mut":{"kind":"Mut"},"name":"_3","ty":"ty::RawPtr::63e5937014067f41"}},"kind":"Copy"}}}],"terminator":{"args":[{"data":{"data":[],"var":{"is_zst":false,"mut":{"kind":"Mut"},"name":"_2","ty":"ty::u32"}},"kind":"Move"},{"data":{"rendered":{"kind":"uint","size":4,"val":"1"},"ty":"ty::u32"},"kind":"Constant"}],"cleanup":null,"destination":[{"data":[],"var":{"is_zst":false,"mut":{"kind":"Mut"},"name":"_1","ty":"ty::u32"}},"bb1"],"from_hir_call":true,"func":{"data":{"rendered":{"kind":"zst"},"ty":"ty::FnDef::f55acdef755f1aaa"},"kind":"Constant"},"kind":"Call","pos":"mir_statics.rs:23:14: 23:32"}},"blockid":"bb0"},{"block":{"data":[{"kind":"Assign","lhs":{"data":[],"var":{"is_zst":false,"mut":{"kind":"Mut"},"name":"_4","ty":"ty::RawPtr::63e5937014067f41"}},"pos":"mir_statics.rs:23:9: 23:11","rhs":{"kind":"Use","usevar":{"data":{"rendered":{"def_id":"mir_statics/f6d6b500::S3","kind":"static_ref"},"ty":"ty::RawPtr::63e5937014067f41"},"kind":"Constant"}}},{"kind":"Assign","lhs":{"data":[{"kind":"Deref"}],"var":{"is_zst":false,"mut":{"kind":"Mut"},"name":"_4","ty":"ty::RawPtr::63e5937014067f41"}},"pos":"mir_statics.rs:23:9: 23:32","rhs":{"kind":"Use","usevar":{"data":{"data":[],"var":{"is_zst":false,"mut":{"kind":"Mut"},"name":"_1","ty":"ty::u32"}},"kind":"Move"}}},{"kind":"Assign","lhs":{"data":[],"var":{"is_zst":false,"mut":{"kind":"Mut"},"name":"_5","ty":"ty::RawPtr::63e5937014067f41"}},"pos":"mir_statics.rs:24:9: 24:11","rhs":{"kind":"Use","usevar":{"data":{"rendered":{"def_id":"mir_statics/f6d6b500::S3","kind":"static_ref"},"ty":"ty::RawPtr::63e5937014067f41"},"kind":"Constant"}}},{"kind":"Assign","lhs":{"data":[],"var":{"is_zst":false,"mut":{"kind":"Mut"},"name":"_0","ty":"ty::u32"}},"pos":"mir_statics.rs:24:9: 24:11","rhs":{"kind":"Use","usevar":{"data":{"data":[{"kind":"Deref"}],"var":{"is_zst":false,"mut":{"kind":"Mut"},"name":"_5","ty":"ty::RawPtr::63e5937014067f41"}},"kind":"Copy"}}}],"terminator":{"kind":"Return","pos":"mir_statics.rs:26:2: 26:2"}},"blockid":"bb1"}],"vars":[{"is_zst":false,"mut":{"kind":"Mut"},"name":"_0","ty":"ty::u32"},{"is_zst":false,"mut":{"kind":"Mut"},"name":"_1","ty":"ty::u32"},{"is_zst":false,"mut":{"kind":"Mut"},"name":"_2","ty":"ty::u32"},{"is_zst":false,"mut":{"kind":"Mut"},"name":"_3","ty":"ty::RawPtr::63e5937014067f41"},{"is_zst":false,"mut":{"kind":"Mut"},"name":"_4","ty":"ty::RawPtr::63e5937014067f41"},{"is_zst":false,"mut":{"kind":"Mut"},"name":"_5","ty":"ty::RawPtr::63e5937014067f41"}]},"name":"mir_statics/f6d6b500::f3","return_ty":"ty::u32","spread_arg":null},{"abi":{"kind":"Rust"},"args":[],"body":{"blocks":[{"block":{"data":[{"kind":"Assign","lhs":{"data":[],"var":{"is_zst":false,"mut":{"kind":"Not"},"name":"_1","ty":"ty::Ref::e028c0f25e8b6323"}},"pos":"mir_statics.rs:18:6: 18:8","rhs":{"kind":"Use","usevar":{"data":{"rendered":{"def_id":"mir_statics/f6d6b500::S2","kind":"static_ref"},"ty":"ty::Ref::e028c0f25e8b6323"},"kind":"Constant"}}},{"kind":"Assign","lhs":{"data":[],"var":{"is_zst":false,"mut":{"kind":"Mut"},"name":"_0","ty":"ty::Ref::e028c0f25e8b6323"}},"pos":"mir_statics.rs:18:5: 18:8","rhs":{"kind":"Use","usevar":{"data":{"data":[],"var":{"is_zst":false,"mut":{"kind":"Not"},"name":"_1","ty":"ty::Ref::e028c0f25e8b6323"}},"kind":"Copy"}}}],"terminator":{"kind":"Return","pos":"mir_statics.rs:19:2: 19:2"}},"blockid":"bb0"}],"vars":[{"is_zst":false,"mut":{"kind":"Mut"},"name":"_0","ty":"ty::Ref::e028c0f25e8b6323"},{"is_zst":false,"mut":{"kind":"Not"},"name":"_1","ty":"ty::Ref::e028c0f25e8b6323"}]},"name":"mir_statics/f6d6b500::f2","return_ty":"ty::Ref::e028c0f25e8b6323","spread_arg":null},{"abi":{"kind":"Rust"},"args":[{"is_zst":false,"mut":{"kind":"Not"},"name":"_1","ty":"ty::Ref::e028c0f25e8b6323"}],"body":{"blocks":[{"block":{"data":[{"kind":"Assign","lhs":{"data":[],"var":{"is_zst":false,"mut":{"kind":"Mut"},"name":"_2","ty":"ty::RawPtr::1f2b1eadb40cd255"}},"pos":"mir_statics.rs:29:18: 29:19","rhs":{"kind":"AddressOf","mutbl":{"kind":"Not"},"place":{"data":[{"kind":"Deref"}],"var":{"is_zst":false,"mut":{"kind":"Not"},"name":"_1","ty":"ty::Ref::e028c0f25e8b6323"}}}},{"kind":"Assign","lhs":{"data":[],"var":{"is_zst":false,"mut":{"kind":"Not"},"name":"_5","ty":"ty::Ref::e028c0f25e8b6323"}},"pos":"mir_statics.rs:29:22: 29:24","rhs":{"kind":"Use","usevar":{"data":{"rendered":{"def_id":"mir_statics/f6d6b500::S1","kind":"static_ref"},"ty":"ty::Ref::e028c0f25e8b6323"},"kind":"Constant"}}},{"kind":"Assign","lhs":{"data":[],"var":{"is_zst":false,"mut":{"kind":"Not"},"name":"_4","ty":"ty::Ref::e028c0f25e8b6323"}},"pos":"mir_statics.rs:29:21: 29:24","rhs":{"kind":"Use","usevar":{"data":{"data":[],"var":{"is_zst":false,"mut":{"kind":"Not"},"name":"_5","ty":"ty::Ref::e028c0f25e8b6323"}},"kind":"Copy"}}},{"kind":"Assign","lhs":{"data":[],"var":{"is_zst":false,"mut":{"kind":"Mut"},"name":"_3","ty":"ty::RawPtr::1f2b1eadb40cd255"}},"pos":"mir_statics.rs:29:21: 29:24","rhs":{"kind":"AddressOf","mutbl":{"kind":"Not"},"place":{"data":[{"kind":"Deref"}],"var":{"is_zst":false,"mut":{"kind":"Not"},"name":"_4","ty":"ty::Ref::e028c0f25e8b6323"}}}}],"terminator":{"args":[{"data":{"data":[],"var":{"is_zst":false,"mut":{"kind":"Mut"},"name":"_2","ty":"ty::RawPtr::1f2b1eadb40cd255"}},"kind":"Move"},{"data":{"data":[],"var":{"is_zst":false,"mut":{"kind":"Mut"},"name":"_3","ty":"ty::RawPtr::1f2b1eadb40cd255"}},"kind":"Move"}],"cleanup":null,"destination":[{"data":[],"var":{"is_zst":false,"mut":{"kind":"Mut"},"name":"_0","ty":"ty::bool"}},"bb1"],"from_hir_call":true,"func":{"data":{"rendered":{"kind":"zst"},"ty":"ty::FnDef::1cc207ca586a46de"},"kind":"Constant"},"kind":"Call","pos":"mir_statics.rs:29:5: 29:25"}},"blockid":"bb0"},{"block":{"data":[],"terminator":{"kind":"Return","pos":"mir_statics.rs:30:2: 30:2"}},"blockid":"bb1"}],"vars":[{"is_zst":false,"mut":{"kind":"Mut"},"name":"_0","ty":"ty::bool"},{"is_zst":false,"mut":{"kind":"Mut"},"name":"_2","ty":"ty::RawPtr::1f2b1eadb40cd255"},{"is_zst":false,"mut":{"kind":"Mut"},"name":"_3","ty":"ty::RawPtr::1f2b1eadb40cd255"},{"is_zst":false,"mut":{"kind":"Not"},"name":"_4","ty":"ty::Ref::e028c0f25e8b6323"},{"is_zst":false,"mut":{"kind":"Not"},"name":"_5","ty":"ty::Ref::e028c0f25e8b6323"}]},"name":"mir_statics/f6d6b500::g","return_ty":"ty::bool","spread_arg":null},{"abi":{"kind":"Rust"},"args":[],"body":{"blocks":[{"block":{"data":[{"kind":"Assign","lhs":{"data":[],"var":{"is_zst":false,"mut":{"kind":"Not"},"name":"_1","ty":"ty::Ref::e028c0f25e8b6323"}},"pos":"mir_statics.rs:10:6: 10:8","rhs":{"kind":"Use","usevar":{"data":{"rendered":{"def_id":"mir_statics/f6d6b500::S1","kind":"static_ref"},"ty":"ty::Ref::e028c0f25e8b6323"},"kind":"Constant"}}},{"kind":"Assign","lhs":{"data":[],"var":{"is_zst":false,"mut":{"kind":"Mut"},"name":"_0","ty":"ty::Ref::e028c0f25e8b6323"}},"pos":"mir_statics.rs:10:5: 10:8","rhs":{"kind":"Use","usevar":{"data":{"data":[],"var":{"is_zst":false,"mut":{"kind":"Not"},"name":"_1","ty":"ty::Ref::e028c0f25e8b6323"}},"kind":"Copy"}}}],"terminator":{"kind":"Return","pos":"mir_statics.rs:11:2: 11:2"}},"blockid":"bb0"}],"vars":[{"is_zst":false,"mut":{"kind":"Mut"},"name":"_0","ty":"ty::Ref::e028c0f25e8b6323"},{"is_zst":false,"mut":{"kind":"Not"},"name":"_1","ty":"ty::Ref::e028c0f25e8b6323"}]},"name":"mir_statics/f6d6b500::f1_aux","return_ty":"ty::Ref::e028c0f25e8b6323","spread_arg":null},{"abi":{"kind":"Rust"},"args":[{"is_zst":false,"mut":{"kind":"Not"},"name":"_1","ty":"ty::u32"},{"is_zst":false,"mut":{"kind":"Not"},"name":"_2","ty":"ty::u32"}],"body":{"blocks":[{"block":{"data":[{"kind":"StorageLive","pos":"/rustc/5e37043d63bfe2f3be8fa5a05b07d6c0dad5775d/library/core/src/num/uint_macros.rs:1162:38: 1162:42 !/rustc/5e37043d63bfe2f3be8fa5a05b07d6c0dad5775d/library/core/src/num/mod.rs:921:5: 922:101","slvar":{"is_zst":false,"mut":{"kind":"Mut"},"name":"_3","ty":"ty::u32"}},{"kind":"Assign","lhs":{"data":[],"var":{"is_zst":false,"mut":{"kind":"Mut"},"name":"_3","ty":"ty::u32"}},"pos":"/rustc/5e37043d63bfe2f3be8fa5a05b07d6c0dad5775d/library/core/src/num/uint_macros.rs:1162:38: 1162:42 !/rustc/5e37043d63bfe2f3be8fa5a05b07d6c0dad5775d/library/core/src/num/mod.rs:921:5: 922:101","rhs":{"kind":"Use","usevar":{"data":{"data":[],"var":{"is_zst":false,"mut":{"kind":"Not"},"name":"_1","ty":"ty::u32"}},"kind":"Copy"}}},{"kind":"StorageLive","pos":"/rustc/5e37043d63bfe2f3be8fa5a05b07d6c0dad5775d/library/core/src/num/uint_macros.rs:1162:44: 1162:47 !/rustc/5e37043d63bfe2f3be8fa5a05b07d6c0dad5775d/library/core/src/num/mod.rs:921:5: 922:101","slvar":{"is_zst":false,"mut":{"kind":"Mut"},"name":"_4","ty":"ty::u32"}},{"kind":"Assign","lhs":{"data":[],"var":{"is_zst":false,"mut":{"kind":"Mut"},"name":"_4","ty":"ty::u32"}},"pos":"/rustc/5e37043d63bfe2f3be8fa5a05b07d6c0dad5775d/library/core/src/num/uint_macros.rs:1162:44: 1162:47 !/rustc/5e37043d63bfe2f3be8fa5a05b07d6c0dad5775d/library/core/src/num/mod.rs:921:5: 922:101","rhs":{"kind":"Use","usevar":{"data":{"data":[],"var":{"is_zst":false,"mut":{"kind":"Not"},"name":"_2","ty":"ty::u32"}},"kind":"Copy"}}},{"kind":"Assign","lhs":{"data":[],"var":{"is_zst":false,"mut":{"kind":"Mut"},"name":"_0","ty":"ty::u32"}},"pos":"/rustc/5e37043d63bfe2f3be8fa5a05b07d6c0dad5775d/library/core/src/num/uint_macros.rs:1162:13: 1162:48 !/rustc/5e37043d63bfe2f3be8fa5a05b07d6c0dad5775d/library/core/src/num/mod.rs:921:5: 922:101","rhs":{"L":{"data":{"data":[],"var":{"is_zst":false,"mut":{"kind":"Mut"},"name":"_3","ty":"ty::u32"}},"kind":"Move"},"R":{"data":{"data":[],"var":{"is_zst":false,"mut":{"kind":"Mut"},"name":"_4","ty":"ty::u32"}},"kind":"Move"},"kind":"BinaryOp","op":{"kind":"Add"}}},{"kind":"StorageDead","pos":"/rustc/5e37043d63bfe2f3be8fa5a05b07d6c0dad5775d/library/core/src/num/uint_macros.rs:1162:47: 1162:48 !/rustc/5e37043d63bfe2f3be8fa5a05b07d6c0dad5775d/library/core/src/num/mod.rs:921:5: 922:101","sdvar":{"is_zst":false,"mut":{"kind":"Mut"},"name":"_4","ty":"ty::u32"}},{"kind":"StorageDead","pos":"/rustc/5e37043d63bfe2f3be8fa5a05b07d6c0dad5775d/library/core/src/num/uint_macros.rs:1162:47: 1162:48 !/rustc/5e37043d63bfe2f3be8fa5a05b07d6c0dad5775d/library/core/src/num/mod.rs:921:5: 922:101","sdvar":{"is_zst":false,"mut":{"kind":"Mut"},"name":"_3","ty":"ty::u32"}}],"terminator":{"kind":"Return","pos":"/rustc/5e37043d63bfe2f3be8fa5a05b07d6c0dad5775d/library/core/src/num/uint_macros.rs:1163:10: 1163:10 !/rustc/5e37043d63bfe2f3be8fa5a05b07d6c0dad5775d/library/core/src/num/mod.rs:921:5: 922:101"}},"blockid":"bb0"}],"vars":[{"is_zst":false,"mut":{"kind":"Mut"},"name":"_0","ty":"ty::u32"},{"is_zst":false,"mut":{"kind":"Mut"},"name":"_3","ty":"ty::u32"},{"is_zst":false,"mut":{"kind":"Mut"},"name":"_4","ty":"ty::u32"}]},"name":"core/73237d41::num::{impl#9}::wrapping_add","return_ty":"ty::u32","spread_arg":null},{"abi":{"kind":"Rust"},"args":[{"is_zst":false,"mut":{"kind":"Not"},"name":"_1","ty":"ty::RawPtr::1f2b1eadb40cd255"},{"is_zst":false,"mut":{"kind":"Not"},"name":"_2","ty":"ty::RawPtr::1f2b1eadb40cd255"}],"body":{"blocks":[{"block":{"data":[{"kind":"StorageLive","pos":"/rustc/5e37043d63bfe2f3be8fa5a05b07d6c0dad5775d/library/core/src/ptr/mod.rs:1828:5: 1828:6","slvar":{"is_zst":false,"mut":{"kind":"Mut"},"name":"_3","ty":"ty::RawPtr::1f2b1eadb40cd255"}},{"kind":"Assign","lhs":{"data":[],"var":{"is_zst":false,"mut":{"kind":"Mut"},"name":"_3","ty":"ty::RawPtr::1f2b1eadb40cd255"}},"pos":"/rustc/5e37043d63bfe2f3be8fa5a05b07d6c0dad5775d/library/core/src/ptr/mod.rs:1828:5: 1828:6","rhs":{"kind":"Use","usevar":{"data":{"data":[],"var":{"is_zst":false,"mut":{"kind":"Not"},"name":"_1","ty":"ty::RawPtr::1f2b1eadb40cd255"}},"kind":"Copy"}}},{"kind":"StorageLive","pos":"/rustc/5e37043d63bfe2f3be8fa5a05b07d6c0dad5775d/library/core/src/ptr/mod.rs:1828:10: 1828:11","slvar":{"is_zst":false,"mut":{"kind":"Mut"},"name":"_4","ty":"ty::RawPtr::1f2b1eadb40cd255"}},{"kind":"Assign","lhs":{"data":[],"var":{"is_zst":false,"mut":{"kind":"Mut"},"name":"_4","ty":"ty::RawPtr::1f2b1eadb40cd255"}},"pos":"/rustc/5e37043d63bfe2f3be8fa5a05b07d6c0dad5775d/library/core/src/ptr/mod.rs:1828:10: 1828:11","rhs":{"kind":"Use","usevar":{"data":{"data":[],"var":{"is_zst":false,"mut":{"kind":"Not"},"name":"_2","ty":"ty::RawPtr::1f2b1eadb40cd255"}},"kind":"Copy"}}},{"kind":"Assign","lhs":{"data":[],"var":{"is_zst":false,"mut":{"kind":"Mut"},"name":"_0","ty":"ty::bool"}},"pos":"/rustc/5e37043d63bfe2f3be8fa5a05b07d6c0dad5775d/library/core/src/ptr/mod.rs:1828:5: 1828:11","rhs":{"L":{"data":{"data":[],"var":{"is_zst":false,"mut":{"kind":"Mut"},"name":"_3","ty":"ty::RawPtr::1f2b1eadb40cd255"}},"kind":"Move"},"R":{"data":{"data":[],"var":{"is_zst":false,"mut":{"kind":"Mut"},"name":"_4","ty":"ty::RawPtr::1f2b1eadb40cd255"}},"kind":"Move"},"kind":"BinaryOp","op":{"kind":"Eq"}}},{"kind":"StorageDead","pos":"/rustc/5e37043d63bfe2f3be8fa5a05b07d6c0dad5775d/library/core/src/ptr/mod.rs:1828:10: 1828:11","sdvar":{"is_zst":false,"mut":{"kind":"Mut"},"name":"_4","ty":"ty::RawPtr::1f2b1eadb40cd255"}},{"kind":"StorageDead","pos":"/rustc/5e37043d63bfe2f3be8fa5a05b07d6c0dad5775d/library/core/src/ptr/mod.rs:1828:10: 1828:11","sdvar":{"is_zst":false,"mut":{"kind":"Mut"},"name":"_3","ty":"ty::RawPtr::1f2b1eadb40cd255"}}],"terminator":{"kind":"Return","pos":"/rustc/5e37043d63bfe2f3be8fa5a05b07d6c0dad5775d/library/core/src/ptr/mod.rs:1829:2: 1829:2"}},"blockid":"bb0"}],"vars":[{"is_zst":false,"mut":{"kind":"Mut"},"name":"_0","ty":"ty::bool"},{"is_zst":false,"mut":{"kind":"Mut"},"name":"_3","ty":"ty::RawPtr::1f2b1eadb40cd255"},{"is_zst":false,"mut":{"kind":"Mut"},"name":"_4","ty":"ty::RawPtr::1f2b1eadb40cd255"}]},"name":"core/73237d41::ptr::eq::_instc5e93708b8ca6e2a[0]","return_ty":"ty::bool","spread_arg":null}],"adts":[],"statics":[{"kind":"body","mutable":false,"name":"mir_statics/f6d6b500::S2","ty":"ty::u32"},{"kind":"body","mutable":true,"name":"mir_statics/f6d6b500::S3","ty":"ty::u32"},{"kind":"body","mutable":false,"name":"mir_statics/f6d6b500::S1","ty":"ty::u32"}],"vtables":[],"traits":[],"intrinsics":[{"inst":{"def_id":"mir_statics/f6d6b500::f1","kind":"Item","substs":[]},"name":"mir_statics/f6d6b500::f1"},{"inst":{"def_id":"mir_statics/f6d6b500::f3","kind":"Item","substs":[]},"name":"mir_statics/f6d6b500::f3"},{"inst":{"def_id":"mir_statics/f6d6b500::f2","kind":"Item","substs":[]},"name":"mir_statics/f6d6b500::f2"},{"inst":{"def_id":"mir_statics/f6d6b500::g","kind":"Item","substs":[]},"name":"mir_statics/f6d6b500::g"},{"inst":{"def_id":"mir_statics/f6d6b500::f1_aux","kind":"Item","substs":[]},"name":"mir_statics/f6d6b500::f1_aux"},{"inst":{"def_id":"core/73237d41::num::{impl#9}::wrapping_add","kind":"Item","substs":[]},"name":"core/73237d41::num::{impl#9}::wrapping_add"},{"inst":{"def_id":"core/73237d41::ptr::eq","kind":"Item","substs":["ty::u32"]},"name":"core/73237d41::ptr::eq::_instc5e93708b8ca6e2a[0]"}],"tys":[{"name":"ty::u32","ty":{"kind":"Uint","uintkind":{"kind":"U32"}}},{"name":"ty::Ref::e028c0f25e8b6323","ty":{"kind":"Ref","mutability":{"kind":"Not"},"ty":"ty::u32"}},{"name":"ty::FnDef::d1a77fa11fa71149","ty":{"defid":"mir_statics/f6d6b500::f1_aux","kind":"FnDef"}},{"name":"ty::RawPtr::63e5937014067f41","ty":{"kind":"RawPtr","mutability":{"kind":"Mut"},"ty":"ty::u32"}},{"name":"ty::FnDef::f55acdef755f1aaa","ty":{"defid":"core/73237d41::num::{impl#9}::wrapping_add","kind":"FnDef"}},{"name":"ty::bool","ty":{"kind":"Bool"}},{"name":"ty::RawPtr::1f2b1eadb40cd255","ty":{"kind":"RawPtr","mutability":{"kind":"Not"},"ty":"ty::u32"}},{"name":"ty::FnDef::1cc207ca586a46de","ty":{"defid":"core/73237d41::ptr::eq::_instc5e93708b8ca6e2a[0]","kind":"FnDef"}}],"roots":["mir_statics/f6d6b500::f1_aux","mir_statics/f6d6b500::f1","mir_statics/f6d6b500::f2","mir_statics/f6d6b500::f3","mir_statics/f6d6b500::g"]} \ No newline at end of file diff --git a/saw-remote-api/python/tests/saw/test-files/mir_statics.rs b/saw-remote-api/python/tests/saw/test-files/mir_statics.rs new file mode 100644 index 0000000000..6b8bdf2f5e --- /dev/null +++ b/saw-remote-api/python/tests/saw/test-files/mir_statics.rs @@ -0,0 +1,30 @@ +static S1: u32 = 1; +static S2: u32 = 2; +static mut S3: u32 = 3; + +// rustc is very eager to inline immutable, top-level static values, even on the +// lowest optimization settings. To ensure that S1 isn't inlined, we must +// introduce this extra layer of indirection. +#[inline(never)] +pub fn f1_aux() -> &'static u32 { + &S1 +} + +pub fn f1() -> u32 { + *f1_aux() +} + +pub fn f2() -> &'static u32 { + &S2 +} + +pub fn f3() -> u32 { + unsafe { + S3 = S3.wrapping_add(1); + S3 + } +} + +pub fn g(r: &u32) -> bool { + std::ptr::eq(r, &S1) +} diff --git a/saw-remote-api/python/tests/saw/test_mir_statics.py b/saw-remote-api/python/tests/saw/test_mir_statics.py new file mode 100644 index 0000000000..fa739cf6f1 --- /dev/null +++ b/saw-remote-api/python/tests/saw/test_mir_statics.py @@ -0,0 +1,106 @@ +import unittest +from pathlib import Path + +from saw_client import * +from saw_client.crucible import cry, cry_f, global_var, global_initializer +from saw_client.mir import Contract, u32 + + +class F1Contract(Contract): + def specification(self) -> None: + self.execute_func() + + self.returns(global_initializer('mir_statics::S1')) + + +class F1AltContract(Contract): + def specification(self) -> None: + s1_static = global_var('mir_statics::S1') + init = cry_f('42 : [32]') + self.points_to(s1_static, init) + + self.execute_func() + + self.points_to(s1_static, init) + self.returns(init) + + +class F2Contract(Contract): + def specification(self) -> None: + self.execute_func() + + self.returns(global_var('mir_statics::S2')) + + +class F3Contract(Contract): + def specification(self) -> None: + s3_static = global_var('mir_statics::S3') + self.points_to(s3_static, global_initializer('mir_statics::S3')) + + self.execute_func() + + ret = cry_f('4 : [32]') + self.points_to(s3_static, ret) + self.returns(ret) + + +class F3AltContract(Contract): + def specification(self) -> None: + s3_static = global_var('mir_statics::S3') + init = cry_f('42 : [32]') + self.points_to(s3_static, init) + + self.execute_func() + + ret = cry_f('{init} + 1 : [32]') + self.points_to(s3_static, ret) + self.returns(ret) + + +class GContract(Contract): + def specification(self) -> None: + r_ref = self.alloc(u32, read_only = True) + + self.execute_func(r_ref) + + self.returns(cry_f('False')) + + +class GAltContract(Contract): + def specification(self) -> None: + self.execute_func(global_var('mir_statics::S1')) + + self.returns(cry_f('True')) + + +class MIRStaticsTest(unittest.TestCase): + def test_mir_statics(self): + connect(reset_server=True) + if __name__ == "__main__": view(LogResults()) + json_name = str(Path('tests', 'saw', 'test-files', 'mir_statics.linked-mir.json')) + mod = mir_load_module(json_name) + + f1_result = mir_verify(mod, 'mir_statics::f1', F1Contract()) + self.assertIs(f1_result.is_success(), True) + + f1_alt_result = mir_verify(mod, 'mir_statics::f1', F1AltContract()) + self.assertIs(f1_alt_result.is_success(), True) + + f2_result = mir_verify(mod, 'mir_statics::f2', F2Contract()) + self.assertIs(f2_result.is_success(), True) + + f3_result = mir_verify(mod, 'mir_statics::f3', F3Contract()) + self.assertIs(f3_result.is_success(), True) + + f3_alt_result = mir_verify(mod, 'mir_statics::f3', F3AltContract()) + self.assertIs(f3_alt_result.is_success(), True) + + g_result = mir_verify(mod, 'mir_statics::g', GContract()) + self.assertIs(g_result.is_success(), True) + + g_alt_result = mir_verify(mod, 'mir_statics::g', GAltContract()) + self.assertIs(g_alt_result.is_success(), True) + + +if __name__ == "__main__": + unittest.main() diff --git a/saw-remote-api/src/SAWServer/MIRCrucibleSetup.hs b/saw-remote-api/src/SAWServer/MIRCrucibleSetup.hs index 1db52e72fc..e2b5942741 100644 --- a/saw-remote-api/src/SAWServer/MIRCrucibleSetup.hs +++ b/saw-remote-api/src/SAWServer/MIRCrucibleSetup.hs @@ -196,6 +196,10 @@ compileMIRContract fileReader bic cenv0 sawenv c = getSetupVal env (TupleValue elems) = do elems' <- mapM (getSetupVal env) elems pure $ MS.SetupTuple () elems' + getSetupVal _ (GlobalInitializer name) = + pure $ MS.SetupGlobalInitializer () name + getSetupVal _ (GlobalLValue name) = + pure $ MS.SetupGlobal () name getSetupVal _ (FieldLValue _ _) = MIRSetupM $ fail "Field l-values unsupported in the MIR API." getSetupVal _ (CastLValue _ _) = @@ -204,10 +208,6 @@ compileMIRContract fileReader bic cenv0 sawenv c = MIRSetupM $ fail "Union l-values unsupported in the MIR API." getSetupVal _ (ElementLValue _ _) = MIRSetupM $ fail "Element l-values unsupported in the MIR API." - getSetupVal _ (GlobalInitializer _) = - MIRSetupM $ fail "Global initializers unsupported in the MIR API." - getSetupVal _ (GlobalLValue _) = - MIRSetupM $ fail "Global l-values unsupported in the MIR API." data MIRLoadModuleParams = MIRLoadModuleParams ServerName FilePath diff --git a/src/SAWScript/Crucible/MIR/Builtins.hs b/src/SAWScript/Crucible/MIR/Builtins.hs index ec87539e42..3c4f0774f6 100644 --- a/src/SAWScript/Crucible/MIR/Builtins.hs +++ b/src/SAWScript/Crucible/MIR/Builtins.hs @@ -2,6 +2,7 @@ {-# LANGUAGE GADTs #-} {-# LANGUAGE ImplicitParams #-} {-# LANGUAGE OverloadedStrings #-} +{-# LANGUAGE RankNTypes #-} {-# LANGUAGE ScopedTypeVariables #-} {-# LANGUAGE TypeApplications #-} @@ -56,21 +57,21 @@ import Control.Monad.State (MonadState(..), StateT(..), execStateT, gets) import Control.Monad.Trans.Class (MonadTrans(..)) import qualified Data.BitVector.Sized as BV import qualified Data.ByteString.Lazy as BSL -import qualified Data.Foldable as F import Data.Foldable (for_) import Data.IORef import qualified Data.List.Extra as List (find, groupOn) -import Data.List.NonEmpty (NonEmpty(..)) import qualified Data.Map as Map import Data.Map (Map) import Data.Maybe (fromMaybe) import qualified Data.Parameterized.Context as Ctx +import qualified Data.Parameterized.Map as MapF import Data.Parameterized.NatRepr (knownNat, natValue) import Data.Parameterized.Some (Some(..)) import qualified Data.Set as Set import qualified Data.Text as Text import Data.Text (Text) import Data.Time.Clock (diffUTCTime, getCurrentTime) +import Data.Traversable (mapAccumL) import Data.Type.Equality (TestEquality(..)) import Data.Void (absurd) import qualified Prettyprinter as PP @@ -81,8 +82,10 @@ import qualified Cryptol.TypeCheck.Type as Cryptol import qualified Lang.Crucible.Analysis.Postdom as Crucible import qualified Lang.Crucible.Backend as Crucible import qualified Lang.Crucible.CFG.Core as Crucible +import qualified Lang.Crucible.CFG.Extension as Crucible import qualified Lang.Crucible.FunctionHandle as Crucible import qualified Lang.Crucible.Simulator as Crucible +import qualified Lang.Crucible.Simulator.GlobalState as Crucible import qualified Lang.Crucible.Simulator.SimError as Crucible import qualified Mir.DefId as Mir @@ -91,8 +94,8 @@ import qualified Mir.Generator as Mir import Mir.Intrinsics (MIR) import qualified Mir.Intrinsics as Mir import qualified Mir.ParseTranslate as Mir -import qualified Mir.Trans as Mir import Mir.TransCustom (customOps) +import qualified Mir.Trans as Mir import qualified Mir.TransTy as Mir import qualified What4.Config as W4 @@ -129,10 +132,9 @@ type MethodSpec = MS.CrucibleMethodSpecIR MIR type SetupCondition = MS.SetupCondition MIR -- TODO: something useful with the global pair? -ppMIRAbortedResult :: MIRCrucibleContext - -> Crucible.AbortedResult Sym a +ppMIRAbortedResult :: Crucible.AbortedResult Sym a -> PP.Doc ann -ppMIRAbortedResult _cc = ppAbortedResult (\_gp -> mempty) +ppMIRAbortedResult = ppAbortedResult (\_gp -> mempty) ----- -- Commands @@ -218,15 +220,11 @@ mir_load_module inputFile = do b <- io $ BSL.readFile inputFile opts <- getOptions - let ?debug = simVerbose opts - -- For now, we use the same default settings for implicit parameters as in - -- crux-mir. We may want to add options later that allow configuring these. - let ?assertFalseOnError = True - let ?printCrucible = False - halloc <- getHandleAlloc - col <- io $ Mir.parseMIR inputFile b - io $ Mir.translateMIR mempty col halloc + + withImplicitParams opts $ do + col <- io $ Mir.parseMIR inputFile b + io $ Mir.translateMIR mempty col halloc mir_return :: SetupValue -> MIRSetupM () mir_return retVal = @@ -336,6 +334,7 @@ mir_verify rm nm lemmas checkSat setup tactic = cc <- setupCrucibleContext rm SomeOnlineBackend bak <- pure (cc^.mccBackend) let sym = cc^.mccSym + let globals0 = cc^.mccSymGlobalState pos <- getPosition let loc = SS.toW4Loc "_SAW_verify_prestate" pos @@ -363,7 +362,7 @@ mir_verify rm nm lemmas checkSat setup tactic = unwords ["Verifying", show (methodSpec ^. MS.csMethod), "..."] -- construct the initial state for verifications - (args, assumes, env, globals1) <- io $ verifyPrestate cc methodSpec Crucible.emptyGlobals + (args, assumes, env, globals1) <- io $ verifyPrestate cc methodSpec globals0 -- save initial path conditions frameIdent <- io $ Crucible.pushAssumptionFrame bak @@ -830,28 +829,15 @@ verifySimulate :: verifySimulate opts cc pfs mspec args assumes top_loc lemmas globals _checkSat mdMap = mccWithBackend cc $ \bak -> do let rm = cc^.mccRustModule - let cfgMap = rm ^. Mir.rmCFGs let cs = rm ^. Mir.rmCS let col = cs ^. Mir.collection let method = mspec ^. MS.csMethod let verbosity = simVerbose opts - let halloc = cc^.mccHandleAllocator + let simctx = cc^.mccSimContext when (verbosity > 2) $ putStrLn "starting executeCrucibleMIR" - -- Translate the static initializer function - let ?debug = simVerbose opts - -- For now, we use the same default settings for implicit parameters as in - -- crux-mir. We may want to add options later that allow configuring these. - let ?assertFalseOnError = True - let ?customOps = customOps - Crucible.AnyCFG staticInitCfg <- Mir.transStatics cs halloc - let staticInitHndl = Crucible.cfgHandle staticInitCfg - Refl <- case testEquality (Crucible.handleArgTypes staticInitHndl) Ctx.Empty of - Just e -> pure e - Nothing -> fail "mir_verify: static initializer should not require arguments" - -- Find and run the target function Crucible.AnyCFG methodCfg <- lookupDefIdCFG rm method let methodHndl = Crucible.cfgHandle methodCfg @@ -859,20 +845,11 @@ verifySimulate opts cc pfs mspec args assumes top_loc lemmas globals _checkSat m let methodRetTy = Crucible.handleReturnType methodHndl regmap <- prepareArgs methodArgTys (map snd args) - res <- + (_, Crucible.GlobalPair retval globals1) <- do let feats = pfs - let simctx = Crucible.initSimContext bak Mir.mirIntrinsicTypes halloc stdout - (Crucible.FnBindings Crucible.emptyHandleMap) Mir.mirExtImpl - SAWCruciblePersonality - let simSt = Crucible.InitialState simctx globals Crucible.defaultAbortHandler methodRetTy let fnCall = Crucible.regValue <$> Crucible.callCFG methodCfg regmap let overrideSim = - do forM_ cfgMap $ \(Crucible.AnyCFG cfg) -> - Crucible.bindFnHandle (Crucible.cfgHandle cfg) $ - Crucible.UseCFG cfg (Crucible.postdomInfo cfg) - _ <- Crucible.callCFG staticInitCfg Crucible.emptyRegMap - - mapM_ (registerOverride opts cc simctx top_loc mdMap) + do mapM_ (registerOverride opts cc simctx top_loc mdMap) (List.groupOn (view MS.csMethod) (map (view MS.psSpec) lemmas)) liftIO $ for_ assumes $ \(Crucible.LabeledPred p (md, reason)) -> @@ -880,36 +857,20 @@ verifySimulate opts cc pfs mspec args assumes top_loc lemmas globals _checkSat m let loc = MS.conditionLoc md Crucible.addAssumption bak (Crucible.GenericAssumption loc reason expr) fnCall - Crucible.executeCrucible (map Crucible.genericToExecutionFeature feats) - (simSt (Crucible.runOverrideSim methodRetTy overrideSim)) - - case res of - Crucible.FinishedResult _ pr -> - do Crucible.GlobalPair retval globals1 <- - case pr of - Crucible.TotalRes gp -> return gp - Crucible.PartialRes _ _ gp _ -> - do printOutLn opts Info "Symbolic simulation completed with side conditions." - return gp - let ret_ty = mspec ^. MS.csRet - retval' <- - case ret_ty of - Nothing -> return Nothing - Just ret_mt -> - case retval of - Crucible.RegEntry ty val -> - case decodeMIRVal col ret_mt (Crucible.AnyValue ty val) of - Nothing -> error $ "FIXME: Unsupported return type: " ++ show ret_ty - Just v -> return (Just (ret_mt, v)) - return (retval', globals1) - - Crucible.AbortedResult _ ar -> - do let resultDoc = ppMIRAbortedResult cc ar - fail $ unlines [ "Symbolic execution failed." - , show resultDoc - ] - - Crucible.TimeoutResult _cxt -> fail "Symbolic execution timed out." + runCrucible opts simctx globals (map Crucible.genericToExecutionFeature feats) + methodRetTy overrideSim + + let ret_ty = mspec ^. MS.csRet + retval' <- + case ret_ty of + Nothing -> return Nothing + Just ret_mt -> + case retval of + Crucible.RegEntry ty val -> + case decodeMIRVal col ret_mt (Crucible.AnyValue ty val) of + Nothing -> error $ "FIXME: Unsupported return type: " ++ show ret_ty + Just v -> return (Just (ret_mt, v)) + return (retval', globals1) where prepareArg :: forall tp. Crucible.TypeRepr tp -> MIRVal -> IO (Crucible.RegValue Sym tp) @@ -1026,46 +987,6 @@ findAdt col origName substs = where insts = col ^. Mir.adtsOrig . at origName . to (fromMaybe []) --- | Given a function name @fnName@, attempt to look up its corresponding --- 'Mir.DefId'. Currently, the following types of function names are permittd: --- --- * @/::: A fully disambiguated name. --- --- * @::: A name without a disambiguator. In this --- case, SAW will attempt to look up a disambiguator from the @crateDisambigs@ --- map. If none can be found, or if there are multiple disambiguators for the --- given @@, then this will fail. -findDefId :: Map Text (NonEmpty Text) -> Text -> TopLevel Mir.DefId -findDefId crateDisambigs fnName = do - (crate, path) <- - case edid of - crate:path -> pure (crate, path) - [] -> fail $ unlines - [ "The function `" ++ fnNameStr ++ "` lacks a crate." - , "Consider providing one, e.g., `::" ++ fnNameStr ++ "`." - ] - let crateStr = Text.unpack crate - case Text.splitOn "/" crate of - [crateNoDisambig, disambig] -> - pure $ Mir.textId $ Text.intercalate "::" - $ (crateNoDisambig <> "/" <> disambig) : path - [_] -> - case Map.lookup crate crateDisambigs of - Just allDisambigs@(disambig :| otherDisambigs) - | F.null otherDisambigs - -> pure $ Mir.textId $ Text.intercalate "::" - $ (crate <> "/" <> disambig) : path - | otherwise - -> fail $ unlines $ - [ "ambiguous crate " ++ crateStr - , "crate disambiguators:" - ] ++ F.toList (Text.unpack <$> allDisambigs) - Nothing -> fail $ "unknown crate " ++ crateStr - _ -> fail $ "Malformed crate name: " ++ show crateStr - where - fnNameStr = Text.unpack fnName - edid = Text.splitOn "::" fnName - getMIRCrucibleContext :: CrucibleSetup MIR MIRCrucibleContext getMIRCrucibleContext = view Setup.csCrucibleContext <$> get @@ -1081,13 +1002,49 @@ lookupDefIdCFG rm method = Just x -> return x Nothing -> fail $ "Couldn't find CFG for MIR function: " ++ show method +-- | Some boilerplate code needed to invoke 'Crucible.executeCrucible' and +-- extract the results. +runCrucible :: + Crucible.IsSyntaxExtension ext => + Options -> + Crucible.SimContext p Sym ext -> + Crucible.SymGlobalState Sym -> + [Crucible.ExecutionFeature p Sym ext (Crucible.RegEntry Sym a)] -> + Crucible.TypeRepr a -> + Crucible.OverrideSim p Sym ext (Crucible.RegEntry Sym a) Crucible.EmptyCtx a (Crucible.RegValue Sym a) -> + IO (Crucible.SimContext p Sym ext, Crucible.GlobalPair Sym (Crucible.RegEntry Sym a)) +runCrucible opts simCtx globals execFeatures ovRetTpr ovSim = do + let initExecState = + Crucible.InitialState simCtx globals Crucible.defaultAbortHandler ovRetTpr $ + Crucible.runOverrideSim ovRetTpr ovSim + res <- Crucible.executeCrucible execFeatures initExecState + case res of + Crucible.FinishedResult simctx pr -> + case pr of + Crucible.TotalRes gp -> return (simctx, gp) + Crucible.PartialRes _ _ gp _ -> + do printOutLn opts Info "Symbolic simulation completed with side conditions." + return (simctx, gp) + + Crucible.AbortedResult _ ar -> do + let resultDoc = ppMIRAbortedResult ar + fail $ unlines [ "Symbolic execution failed." + , show resultDoc + ] + + Crucible.TimeoutResult _cxt -> + fail "Symbolic execution timed out." + setupCrucibleContext :: Mir.RustModule -> TopLevel MIRCrucibleContext setupCrucibleContext rm = do halloc <- getHandleAlloc sc <- getSharedContext pathSatSolver <- gets rwPathSatSolver sym <- io $ newSAWCoreExprBuilder sc - bak <- io $ newSAWCoreBackend pathSatSolver sym + someBak@(SomeOnlineBackend bak) <- io $ newSAWCoreBackend pathSatSolver sym + let cs = rm ^. Mir.rmCS + let col = cs ^. Mir.collection + let cfgMap = rm ^. Mir.rmCFGs opts <- getOptions io $ do let cfg = W4.getConfiguration sym verbSetting <- W4.getOptionSetting W4.verbosity cfg @@ -1097,11 +1054,150 @@ setupCrucibleContext rm = -- TODO! there's a lot of options setup we need to replicate -- from SAWScript.Crucible.LLVM.Builtins + -- There is quite a bit of faff below, all for the sake of translating + -- top-level static values. See Note [Translating MIR statics in SAW] for + -- a high-level description of what this code is doing. + Crucible.AnyCFG staticInitCfg <- + withImplicitParams opts $ io $ Mir.transStatics cs halloc + let staticInitHndl = Crucible.cfgHandle staticInitCfg + let staticInitArgTys = Crucible.handleArgTypes staticInitHndl + let staticInitRetTy = Crucible.handleReturnType staticInitHndl + Refl <- case testEquality staticInitArgTys Ctx.Empty of + Just e -> + pure e + Nothing -> + panic "setupCrucibleContext" + [ "static initializer should not require arguments:" + , show staticInitArgTys + ] + Refl <- case testEquality staticInitRetTy Crucible.UnitRepr of + Just e -> + pure e + Nothing -> + panic "setupCrucibleContext" + [ "static initializer should return ():" + , show staticInitRetTy + ] + + let bindings = Crucible.fnBindingsFromList $ + map (\(Crucible.AnyCFG cfg) -> + Crucible.FnBinding + (Crucible.cfgHandle cfg) + (Crucible.UseCFG cfg (Crucible.postdomInfo cfg))) $ + Map.elems cfgMap + let simctx0 = Crucible.initSimContext bak + Mir.mirIntrinsicTypes halloc stdout + bindings Mir.mirExtImpl + SAWCruciblePersonality + let globals0 = Crucible.emptyGlobals + let setupGlobals = Crucible.regValue <$> Crucible.callCFG staticInitCfg Crucible.emptyRegMap + -- Step (1) in Note [Translating MIR statics in SAW] + (simctx1, gp) <- io $ runCrucible opts simctx0 globals0 [] Crucible.UnitRepr setupGlobals + let globalsAllStatics = gp ^. Crucible.gpGlobals + -- Step (2) in Note [Translating MIR statics in SAW] + let (globalsImmutStaticsOnly, staticInitializerPairs) = + mapAccumL + (\globals (staticDefId, Mir.StaticVar gv) -> + let static = + case Map.lookup staticDefId (col ^. Mir.statics) of + Just static' -> + static' + Nothing -> + panic "setupCrucibleContext" + [ "staticDefId not in statics map:" + , show staticDefId + ] in + case Crucible.lookupGlobal gv globalsAllStatics of + Just rv -> + let pair = MapF.Pair gv (Crucible.RV rv) in + if static ^. Mir.sMutable + then (globals, pair) + else (Crucible.insertGlobal gv rv globals, pair) + Nothing -> + panic "setupCrucibleContext" + [ "Static GlobalVar not in SymGlobalState:" + , show gv + ]) + globals0 + (cs ^. Mir.staticMap . to Map.toList) + let staticInitializerMap = MapF.fromList staticInitializerPairs + return MIRCrucibleContext { _mccRustModule = rm - , _mccBackend = bak - , _mccHandleAllocator = halloc + , _mccBackend = someBak + , _mccSimContext = simctx1 + , _mccSymGlobalState = globalsImmutStaticsOnly + , _mccStaticInitializerMap = staticInitializerMap } +{- +Note [Translating MIR statics in SAW] +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +Translating top-level static values in the SAW MIR backend requires some care. +This is because we want to treat immutable and mutable static differently: + +* Immutable statics should be implicitly initialized in each specification + without any action required on the user's end. + +* Mutable statics should /not/ be initialized in a specification unless a user + explicitly declares it with `mir_points_to (mir_static ...) ...`. This is + because a mutable static's value can change over the course of a program, so + we require users to be precise about what the value should be before and after + invoking a function. + +This poses a challenge when translating static values in SAW. It is tempting to +only translate the immutable statics and not the mutable statics (similarly to +how the SAW LLVM backend handles translation), but this will not work in +general. Consider this program: + + static mut S1: u32 = 1; + static S2: u32 = unsafe { S1 }; + + pub fn f() { + ... S2 ... + } + +The initial value of S2 (an immutable static) depends on having first translated +the initial value of S1 (a mutable static). If we do not translate mutable +statics in SAW, the translation of S1 will not succeed. + +We solve this problem by doing the following: + +1. Use Crucible to translate all top-level static values (both immutable and + mutable). This produces a SymGlobalState that contains every static's + initializer value. + +2. Consult the updated SymGlobalState to produce the following: + + (a) A subset of the SymGlobalState that only contains the initializer values + for the immutable statics. This will be used later to initialize the + Crucible state when translating the function being verified with + mir_verify. + + (b) A MirStaticInitializerMap mapping all static variables (both immutable + and mutable) to their initializer values. This will be used later to + power the mir_static_initializer function. + +This is a bit clunky, but it's unclear how to do better without significantly +changing how crucible-mir translates top-level static values. +-} + +-- | Define several commonly used implicit parameters in @crucible-mir@ and +-- call a continuation with these parameters. +withImplicitParams :: + Options -> + ( ( ?debug :: Int, ?customOps :: Mir.CustomOpMap + , ?assertFalseOnError :: Bool, ?printCrucible :: Bool + ) => r) -> + r +withImplicitParams opts k = + let ?debug = simVerbose opts in + -- For now, we use the same default settings for implicit parameters as in + -- crux-mir. We may want to add options later that allow configuring these. + let ?assertFalseOnError = True in + let ?customOps = customOps in + let ?printCrucible = False in + k + -------------------------------------------------------------------------------- -- Errors -------------------------------------------------------------------------------- diff --git a/src/SAWScript/Crucible/MIR/MethodSpecIR.hs b/src/SAWScript/Crucible/MIR/MethodSpecIR.hs index 1233e548bc..2fa95e2bc1 100644 --- a/src/SAWScript/Crucible/MIR/MethodSpecIR.hs +++ b/src/SAWScript/Crucible/MIR/MethodSpecIR.hs @@ -12,10 +12,16 @@ module SAWScript.Crucible.MIR.MethodSpecIR MIRCrucibleContext(..) , mccRustModule , mccBackend + , mccSimContext + , mccSymGlobalState + , mccStaticInitializerMap , mccHandleAllocator , mccWithBackend , mccSym + -- * @MirStaticInitializerMap@ + , MirStaticInitializerMap + -- * @MirPointsTo@ , MirPointsTo(..) @@ -44,6 +50,8 @@ module SAWScript.Crucible.MIR.MethodSpecIR import Control.Lens (Getter, (^.), to) import qualified Prettyprinter as PP +import Lang.Crucible.FunctionHandle (HandleAllocator) +import Lang.Crucible.Simulator (SimContext(..)) import Mir.Generator import Mir.Intrinsics import qualified Mir.Mir as M @@ -54,6 +62,9 @@ import qualified SAWScript.Crucible.Common.MethodSpec as MS import qualified SAWScript.Crucible.Common.Setup.Type as Setup import SAWScript.Crucible.MIR.Setup.Value +mccHandleAllocator :: Getter MIRCrucibleContext HandleAllocator +mccHandleAllocator = mccSimContext . to simHandleAllocator + mccWithBackend :: MIRCrucibleContext -> (forall solver. OnlineSolver solver => Backend solver -> a) -> diff --git a/src/SAWScript/Crucible/MIR/Override.hs b/src/SAWScript/Crucible/MIR/Override.hs index 7192bfa7db..a6f9931a16 100644 --- a/src/SAWScript/Crucible/MIR/Override.hs +++ b/src/SAWScript/Crucible/MIR/Override.hs @@ -20,6 +20,7 @@ module SAWScript.Crucible.MIR.Override import qualified Control.Exception as X import Control.Lens +import Control.Monad (unless) import Control.Monad.IO.Class (MonadIO(..)) import Data.Foldable (for_, traverse_) import qualified Data.Functor.Product as Functor @@ -37,7 +38,6 @@ import qualified Prettyprinter as PP import qualified Cryptol.TypeCheck.AST as Cryptol import qualified Cryptol.Eval.Type as Cryptol (TValue(..), evalType) -import qualified Lang.Crucible.Backend as Crucible import qualified Lang.Crucible.Simulator as Crucible import qualified Lang.Crucible.Types as Crucible import qualified Mir.Generator as Mir @@ -47,7 +47,6 @@ import qualified Mir.Mir as Mir import qualified Mir.TransTy as Mir import qualified What4.Expr as W4 import qualified What4.Interface as W4 -import qualified What4.Partial as W4 import qualified What4.ProgramLoc as W4 import Verifier.SAW.Prelude (scEq) @@ -186,12 +185,12 @@ instantiateSetupValue sc s v = MS.SetupStruct did vs -> MS.SetupStruct did <$> mapM (instantiateSetupValue sc s) vs MS.SetupTuple x vs -> MS.SetupTuple x <$> mapM (instantiateSetupValue sc s) vs MS.SetupNull empty -> absurd empty - MS.SetupGlobal empty _ -> absurd empty + MS.SetupGlobal _ _ -> return v MS.SetupElem _ _ _ -> return v MS.SetupField _ _ _ -> return v MS.SetupCast empty _ -> absurd empty MS.SetupUnion empty _ _ -> absurd empty - MS.SetupGlobalInitializer empty _ -> absurd empty + MS.SetupGlobalInitializer _ _ -> return v where doTerm (TypedTerm schema t) = TypedTerm schema <$> scInstantiateExt sc s t @@ -335,8 +334,7 @@ matchArg opts sc cc cs prepost md actual expectedTy expected = | Mir.MirVector_PartialVector xs' <- xs , V.length xs' == length zs -> - do xs'' <- liftIO $ - traverse (readMaybeType sym "vector element" (shapeType elemShp)) xs' + do let xs'' = V.map (readMaybeType sym "vector element" (shapeType elemShp)) xs' sequence_ [ matchArg opts sc cc cs prepost md (MIRVal elemShp x) y z | (x, z) <- zip (V.toList xs'') zs ] @@ -361,7 +359,7 @@ matchArg opts sc cc cs prepost md actual expectedTy expected = ReqField shp -> matchArg opts sc cc cs prepost md (MIRVal shp x) y z OptField shp -> do - x' <- liftIO $ readMaybeType sym "field" (shapeType shp) x + let x' = readMaybeType sym "field" (shapeType shp) x matchArg opts sc cc cs prepost md (MIRVal shp x') y z | (Some (Functor.Pair xFldShp (Crucible.RV x)), y, z) <- zip3 (FC.toListFC Some (Ctx.zipWith Functor.Pair xsFldShps xs)) @@ -377,7 +375,7 @@ matchArg opts sc cc cs prepost md actual expectedTy expected = ReqField shp -> matchArg opts sc cc cs prepost md (MIRVal shp x) y z OptField shp -> do - x' <- liftIO $ readMaybeType sym "field" (shapeType shp) x + let x' = readMaybeType sym "field" (shapeType shp) x matchArg opts sc cc cs prepost md (MIRVal shp x') y z | (Some (Functor.Pair xFldShp (Crucible.RV x)), y, z) <- zip3 (FC.toListFC Some (Ctx.zipWith Functor.Pair xsFldShps xs)) @@ -385,16 +383,37 @@ matchArg opts sc cc cs prepost md actual expectedTy expected = zs ] + (MIRVal (RefShape _ _ _ xTpr) x, Mir.TyRef _ _, MS.SetupGlobal () name) -> do + static <- findStatic colState name + Mir.StaticVar yGlobalVar <- findStaticVar colState (static ^. Mir.sName) + let y = staticRefMux sym yGlobalVar + case W4.testEquality xTpr (Crucible.globalType yGlobalVar) of + Nothing -> fail_ + Just Refl -> do + pred_ <- liftIO $ + Mir.mirRef_eqIO bak x y + addAssert pred_ md =<< notEq + (_, _, MS.SetupGlobalInitializer () name) -> do + static <- findStatic colState name + let staticTy = static ^. Mir.sTy + unless (checkCompatibleTys expectedTy staticTy) fail_ + staticInitMirVal <- findStaticInitializer cc static + pred_ <- liftIO $ equalValsPred cc staticInitMirVal actual + addAssert pred_ md =<< notEq + (_, _, MS.SetupNull empty) -> absurd empty - (_, _, MS.SetupGlobal empty _) -> absurd empty (_, _, MS.SetupCast empty _) -> absurd empty (_, _, MS.SetupUnion empty _ _) -> absurd empty - (_, _, MS.SetupGlobalInitializer empty _) -> absurd empty - _ -> failure (MS.conditionLoc md) =<< - mkStructuralMismatch opts cc sc cs actual expected expectedTy + _ -> fail_ where - col = cc ^. mccRustModule . Mir.rmCS . Mir.collection + colState = cc ^. mccRustModule . Mir.rmCS + col = colState ^. Mir.collection + + loc = MS.conditionLoc md + fail_ = failure loc =<< + mkStructuralMismatch opts cc sc cs actual expected expectedTy + notEq = notEqual prepost opts loc cc sc cs expected actual -- | For each points-to statement read the memory value through the -- given pointer (lhs) and match the value against the given pattern @@ -455,11 +474,11 @@ matchPointsTos opts sc cc spec prepost = go False [] MS.SetupElem _ x _ -> setupVars x MS.SetupField _ x _ -> setupVars x MS.SetupTerm _ -> Set.empty + MS.SetupGlobal _ _ -> Set.empty + MS.SetupGlobalInitializer _ _ -> Set.empty MS.SetupCast empty _ -> absurd empty MS.SetupUnion empty _ _ -> absurd empty MS.SetupNull empty -> absurd empty - MS.SetupGlobal empty _ -> absurd empty - MS.SetupGlobalInitializer empty _ -> absurd empty matchTerm :: SharedContext {- ^ context for constructing SAW terms -} -> @@ -507,28 +526,44 @@ mkStructuralMismatch _opts cc _sc spec (MIRVal shp _) setupval mty = do (Just setupTy) mty -readMaybeType :: - Crucible.IsSymInterface sym - => sym - -> String - -> Crucible.TypeRepr tp - -> Crucible.RegValue sym (Crucible.MaybeType tp) - -> IO (Crucible.RegValue sym tp) -readMaybeType sym desc tpr rv = - case readPartExprMaybe sym rv of - Just x -> return x - Nothing -> error $ "readMaybeType: accessed possibly-uninitialized " ++ desc ++ - " of type " ++ show tpr - -readPartExprMaybe :: - Crucible.IsSymInterface sym - => sym - -> W4.PartExpr (W4.Pred sym) a - -> Maybe a -readPartExprMaybe _sym W4.Unassigned = Nothing -readPartExprMaybe _sym (W4.PE p v) - | Just True <- W4.asConstantPred p = Just v - | otherwise = Nothing +-- | Create an error stating that the 'MIRVal' was not equal to the 'SetupValue' +notEqual :: + MS.PrePost -> + Options {- ^ output/verbosity options -} -> + W4.ProgramLoc {- ^ where is the assertion from? -} -> + MIRCrucibleContext -> + SharedContext {- ^ context for constructing SAW terms -} -> + MS.CrucibleMethodSpecIR MIR {- ^ for name and typing environments -} -> + SetupValue {- ^ the value from the spec -} -> + MIRVal {- ^ the value from the simulator -} -> + OverrideMatcher MIR w Crucible.SimError +notEqual cond opts loc cc sc spec expected actual = do + sym <- Ov.getSymInterface + let prettyMIRVal = ppMIRVal sym actual + prettySetupMIRVal <- ppSetupValueAsMIRVal opts cc sc spec expected + let msg = unlines + [ "Equality " ++ MS.stateCond cond + , "Expected value (as a SAW value): " + , show (MS.ppSetupValue expected) + , "Expected value (as a Crucible value): " + , show prettySetupMIRVal + , "Actual value: " + , show prettyMIRVal + ] + pure $ Crucible.SimError loc $ Crucible.AssertFailureSimError msg "" + +-- | Resolve a 'SetupValue' into a 'MIRVal' and pretty-print it +ppSetupValueAsMIRVal :: + Options {- ^ output/verbosity options -} -> + MIRCrucibleContext -> + SharedContext {- ^ context for constructing SAW terms -} -> + MS.CrucibleMethodSpecIR MIR {- ^ for name and typing environments -} -> + SetupValue -> + OverrideMatcher MIR w (PP.Doc ann) +ppSetupValueAsMIRVal opts cc sc spec setupval = do + sym <- Ov.getSymInterface + mirVal <- resolveSetupValueMIR opts cc sc spec setupval + pure $ ppMIRVal sym mirVal resolveSetupValueMIR :: Options -> @@ -595,8 +630,8 @@ valueToSC sym md failMsg tval (MIRVal shp val) = liftIO (scVectorReduced sc t terms) | Mir.MirVector_PartialVector vals <- val , toInteger (V.length vals) == n - -> do vals' <- liftIO $ V.toList <$> - traverse (readMaybeType sym "vector element" (shapeType arrShp)) vals + -> do let vals' = V.toList $ + V.map (readMaybeType sym "vector element" (shapeType arrShp)) vals terms <- traverse (\v -> valueToSC sym md failMsg cryty (MIRVal arrShp v)) vals' t <- shapeToTerm sc arrShp @@ -617,7 +652,7 @@ valueToSC sym md failMsg tval (MIRVal shp val) = case fldShp of ReqField shp' -> pure $ MIRVal shp' tm - OptField shp' -> do - tm' <- liftIO $ readMaybeType sym "field" (shapeType shp') tm - pure $ MIRVal shp' tm' + OptField shp' -> + pure $ MIRVal shp' + $ readMaybeType sym "field" (shapeType shp') tm valueToSC sym md failMsg ty mirVal diff --git a/src/SAWScript/Crucible/MIR/ResolveSetupValue.hs b/src/SAWScript/Crucible/MIR/ResolveSetupValue.hs index f25b17130c..1288c857c6 100644 --- a/src/SAWScript/Crucible/MIR/ResolveSetupValue.hs +++ b/src/SAWScript/Crucible/MIR/ResolveSetupValue.hs @@ -3,6 +3,7 @@ {-# LANGUAGE LambdaCase #-} {-# LANGUAGE OverloadedStrings #-} {-# LANGUAGE PatternSynonyms #-} +{-# LANGUAGE PolyKinds #-} {-# LANGUAGE ScopedTypeVariables #-} {-# LANGUAGE TypeApplications #-} {-# LANGUAGE TypeOperators #-} @@ -10,6 +11,7 @@ -- | Turns 'SetupValue's back into 'MIRVal's. module SAWScript.Crucible.MIR.ResolveSetupValue ( MIRVal(..) + , ppMIRVal , resolveSetupVal , typeOfSetupValue , lookupAllocIndex @@ -20,20 +22,36 @@ module SAWScript.Crucible.MIR.ResolveSetupValue , equalRefsPred , equalValsPred , checkCompatibleTys + , readMaybeType , mirAdtToTy + , findDefId + , findDefIdEither + , findStatic + , findStaticInitializer + , findStaticVar + , staticRefMux , MIRTypeOfError(..) ) where import Control.Lens -import Control.Monad (unless, zipWithM, zipWithM_) +import Control.Monad (guard, unless, zipWithM, zipWithM_) import qualified Control.Monad.Catch as X +import Control.Monad.IO.Class (MonadIO(..)) +import Control.Monad.Trans.Maybe (MaybeT(..)) import qualified Data.BitVector.Sized as BV +import qualified Data.Foldable as F import qualified Data.Functor.Product as Functor +import Data.Kind (Type) +import Data.List.NonEmpty (NonEmpty(..)) import Data.Map (Map) import qualified Data.Map as Map +import Data.Maybe (fromMaybe) import qualified Data.Parameterized.Context as Ctx +import qualified Data.Parameterized.Map as MapF import Data.Parameterized.Some (Some(..)) import qualified Data.Parameterized.TraversableFC as FC +import qualified Data.Parameterized.TraversableFC.WithIndex as FCI +import qualified Data.Text as Text import Data.Text (Text) import qualified Data.Vector as V import Data.Vector (Vector) @@ -44,9 +62,11 @@ import qualified Prettyprinter as PP import qualified Cryptol.Eval.Type as Cryptol (TValue(..), tValTy, evalValType) import qualified Cryptol.TypeCheck.AST as Cryptol (Type, Schema(..)) import qualified Cryptol.Utils.PP as Cryptol (pp) -import Lang.Crucible.Simulator (AnyValue(..), RegValue, RegValue'(..)) -import Lang.Crucible.Types (TypeRepr(..)) +import Lang.Crucible.Backend (IsSymInterface) +import Lang.Crucible.Simulator (AnyValue(..), GlobalVar(..), RegValue, RegValue'(..)) +import Lang.Crucible.Types (MaybeType, TypeRepr(..)) import qualified Mir.DefId as Mir +import qualified Mir.FancyMuxTree as Mir import qualified Mir.Generator as Mir import qualified Mir.Intrinsics as Mir import Mir.Intrinsics (MIR) @@ -78,12 +98,81 @@ import SAWScript.Panic data MIRVal where MIRVal :: TypeShape tp -> RegValue Sym tp -> MIRVal +-- | Pretty-print a 'MIRVal'. +ppMIRVal :: + forall ann. + Sym -> + MIRVal -> + PP.Doc ann +ppMIRVal sym (MIRVal shp val) = + case shp of + UnitShape _ -> + PP.pretty val + PrimShape _ _ -> + W4.printSymExpr val + TupleShape _ _ fldShp -> + PP.parens $ prettyStructOrTuple fldShp val + ArrayShape _ _ shp' -> + case val of + Mir.MirVector_Vector vec -> + PP.brackets $ commaList $ V.toList $ + fmap (\v -> ppMIRVal sym (MIRVal shp' v)) vec + Mir.MirVector_PartialVector vec -> + PP.braces $ commaList $ V.toList $ + fmap (\v -> let v' = readMaybeType sym "vector element" (shapeType shp') v in + ppMIRVal sym (MIRVal shp' v')) vec + Mir.MirVector_Array arr -> + W4.printSymExpr arr + StructShape _ _ fldShp + | AnyValue (StructRepr fldTpr) fldVals <- val + , Just Refl <- W4.testEquality (FC.fmapFC fieldShapeType fldShp) fldTpr + -> PP.braces $ prettyStructOrTuple fldShp fldVals + + | otherwise + -> error "Malformed MIRVal struct" + TransparentShape _ shp' -> + ppMIRVal sym $ MIRVal shp' val + RefShape _ _ _ _ -> + "" + FnPtrShape _ _ _ -> + PP.viaShow val + where + commaList :: [PP.Doc ann] -> PP.Doc ann + commaList [] = PP.emptyDoc + commaList (x:xs) = x PP.<> PP.hcat (map (\y -> PP.comma PP.<+> y) xs) + + prettyStructOrTuple :: + forall ctx. + Ctx.Assignment FieldShape ctx -> + Ctx.Assignment (RegValue' Sym) ctx -> + PP.Doc ann + prettyStructOrTuple fldShp fldVals = + commaList $ + map (\(Some (Functor.Pair shp' (RV v))) -> prettyField shp' v) $ + FC.toListFC Some $ + Ctx.zipWith Functor.Pair fldShp fldVals + + prettyField :: + forall tp. + FieldShape tp -> + RegValue Sym tp -> + PP.Doc ann + prettyField fldShp val' = + case fldShp of + OptField shp' -> + ppMIRVal sym $ MIRVal shp' $ + readMaybeType sym "field" (shapeType shp') val' + ReqField shp' -> + ppMIRVal sym $ MIRVal shp' val' + type SetupValue = MS.SetupValue MIR data MIRTypeOfError = MIRPolymorphicType Cryptol.Schema | MIRNonRepresentableType Cryptol.Type ToMIRTypeErr | MIRInvalidTypedTerm TypedTermType + | MIRInvalidIdentifier String + | MIRStaticNotFound Mir.DefId instance Show MIRTypeOfError where show (MIRPolymorphicType s) = @@ -103,10 +192,22 @@ instance Show MIRTypeOfError where [ "Expected typed term with Cryptol-representable type, but got" , show (MS.ppTypedTermType tp) ] + show (MIRInvalidIdentifier errMsg) = + errMsg + show (MIRStaticNotFound did) = + staticNotFoundErr did + +staticNotFoundErr :: Mir.DefId -> String +staticNotFoundErr did = + unlines + [ "Could not find static named:" + , show did + ] instance X.Exception MIRTypeOfError typeOfSetupValue :: + forall m. X.MonadThrow m => MIRCrucibleContext -> Map AllocIndex (Some MirAllocSpec) -> @@ -135,14 +236,19 @@ typeOfSetupValue mcc env nameEnv val = MS.SetupTuple () vals -> do tys <- traverse (typeOfSetupValue mcc env nameEnv) vals pure $ Mir.TyTuple tys + MS.SetupGlobal () name -> + staticTyRef <$> findStatic cs name + MS.SetupGlobalInitializer () name -> do + static <- findStatic cs name + pure $ static ^. Mir.sTy MS.SetupNull empty -> absurd empty - MS.SetupGlobal empty _ -> absurd empty MS.SetupElem _ _ _ -> panic "typeOfSetupValue" ["elems not yet implemented"] MS.SetupField _ _ _ -> panic "typeOfSetupValue" ["fields not yet implemented"] MS.SetupCast empty _ -> absurd empty MS.SetupUnion empty _ _ -> absurd empty - MS.SetupGlobalInitializer empty _ -> absurd empty + where + cs = mcc ^. mccRustModule . Mir.rmCS lookupAllocIndex :: Map AllocIndex a -> AllocIndex -> a lookupAllocIndex env i = @@ -172,7 +278,6 @@ resolveSetupVal mcc env tyenv nameEnv val = (ptr ^. mpRef) MS.SetupTerm tm -> resolveTypedTerm mcc tm MS.SetupNull empty -> absurd empty - MS.SetupGlobal empty _ -> absurd empty MS.SetupStruct adt flds -> case adt of _ | adt ^. Mir.adtReprTransparent, @@ -251,10 +356,20 @@ resolveSetupVal mcc env tyenv nameEnv val = MS.SetupField _ _ _ -> panic "resolveSetupValue" ["fields not yet implemented"] MS.SetupCast empty _ -> absurd empty MS.SetupUnion empty _ _ -> absurd empty - MS.SetupGlobalInitializer empty _ -> absurd empty + MS.SetupGlobal () name -> do + static <- findStatic cs name + Mir.StaticVar gv <- findStaticVar cs (static ^. Mir.sName) + let sMut = staticMutability static + sTy = static ^. Mir.sTy + pure $ MIRVal (RefShape (staticTyRef static) sTy sMut (globalType gv)) + $ staticRefMux sym gv + MS.SetupGlobalInitializer () name -> do + static <- findStatic cs name + findStaticInitializer mcc static where sym = mcc ^. mccSym - col = mcc ^. mccRustModule . Mir.rmCS . Mir.collection + cs = mcc ^. mccRustModule . Mir.rmCS + col = cs ^. Mir.collection resolveTypedTerm :: MIRCrucibleContext -> @@ -455,12 +570,107 @@ equalRefsPred cc mp1 mp2 = Nothing -> pure $ W4.falsePred sym Just Refl -> Mir.mirRef_eqIO bak (mp1^.mpRef) (mp2^.mpRef) +-- | Check if two 'MIRVal's are equal. equalValsPred :: MIRCrucibleContext -> MIRVal -> MIRVal -> IO (W4.Pred Sym) -equalValsPred = panic "equalValsPred" ["not yet implemented"] +equalValsPred cc mv1 mv2 = + case (mv1, mv2) of + (MIRVal shp1 v1, MIRVal shp2 v2) -> do + mbEq <- runMaybeT $ do + guard $ checkCompatibleTys (shapeMirTy shp1) (shapeMirTy shp2) + Refl <- testEquality shp1 shp2 + goTy shp1 v1 v2 + pure $ fromMaybe (W4.falsePred sym) mbEq + where + sym = cc^.mccSym + + testEquality :: forall k (f :: k -> Type) (a :: k) (b :: k) + . W4.TestEquality f + => f a -> f b -> MaybeT IO (a :~: b) + testEquality v1 v2 = MaybeT $ pure $ W4.testEquality v1 v2 + + goTy :: TypeShape tp + -> RegValue Sym tp + -> RegValue Sym tp + -> MaybeT IO (W4.Pred Sym) + goTy (UnitShape _) () () = + pure $ W4.truePred sym + goTy (PrimShape _ _) v1 v2 = + liftIO $ W4.isEq sym v1 v2 + goTy (TupleShape _ _ fldShp) fldAssn1 fldAssn2 = + goFldAssn fldShp fldAssn1 fldAssn2 + goTy (ArrayShape _ _ shp) vec1 vec2 = + goVec shp vec1 vec2 + goTy (StructShape _ _ fldShp) any1 any2 = + case (any1, any2) of + (AnyValue (StructRepr fldCtx1) fldAssn1, + AnyValue (StructRepr fldCtx2) fldAssn2) -> do + Refl <- testEquality fldCtx1 fldCtx2 + Refl <- testEquality (FC.fmapFC fieldShapeType fldShp) fldCtx1 + goFldAssn fldShp fldAssn1 fldAssn2 + (_, _) -> + pure $ W4.falsePred sym + goTy (TransparentShape _ shp) v1 v2 = + goTy shp v1 v2 + goTy (RefShape _ _ _ _) ref1 ref2 = + mccWithBackend cc $ \bak -> + liftIO $ Mir.mirRef_eqIO bak ref1 ref2 + goTy (FnPtrShape _ _ _) _fh1 _fh2 = + error "Function pointers not currently supported in overrides" + + goVec :: TypeShape tp + -> Mir.MirVector Sym tp + -> Mir.MirVector Sym tp + -> MaybeT IO (W4.Pred Sym) + goVec shp (Mir.MirVector_Vector vec1) + (Mir.MirVector_Vector vec2) = do + eqs <- V.zipWithM (goTy shp) vec1 vec2 + liftIO $ F.foldrM (W4.andPred sym) (W4.truePred sym) eqs + goVec shp (Mir.MirVector_PartialVector vec1) + (Mir.MirVector_PartialVector vec2) = do + eqs <- V.zipWithM + (\v1 v2 -> do + let readElem v = readMaybeType sym "vector element" (shapeType shp) v + let v1' = readElem v1 + let v2' = readElem v2 + goTy shp v1' v2') + vec1 + vec2 + liftIO $ F.foldrM (W4.andPred sym) (W4.truePred sym) eqs + goVec _shp (Mir.MirVector_Array vec1) (Mir.MirVector_Array vec2) = + liftIO $ W4.arrayEq sym vec1 vec2 + goVec _shp _vec1 _vec2 = + pure $ W4.falsePred sym + + goFldAssn :: Ctx.Assignment FieldShape ctx + -> Ctx.Assignment (RegValue' Sym) ctx + -> Ctx.Assignment (RegValue' Sym) ctx + -> MaybeT IO (W4.Pred Sym) + goFldAssn fldShp fldAssn1 fldAssn2 = + FCI.ifoldrMFC + (\idx (Functor.Pair (RV fld1) (RV fld2)) z -> do + let shp = fldShp Ctx.! idx + eq <- goFld shp fld1 fld2 + liftIO $ W4.andPred sym eq z) + (W4.truePred sym) + (Ctx.zipWith Functor.Pair fldAssn1 fldAssn2) + + goFld :: FieldShape tp + -> RegValue Sym tp + -> RegValue Sym tp + -> MaybeT IO (W4.Pred Sym) + goFld shp v1 v2 = + case shp of + ReqField shp' -> + goTy shp' v1 v2 + OptField shp' -> do + let readField v = readMaybeType sym "field" (shapeType shp') v + let v1' = readField v1 + let v2' = readField v2 + goTy shp' v1' v2' -- | Check if two 'Mir.Ty's are compatible in SAW. This is a slightly coarser -- notion of equality to reflect the fact that MIR's type system is richer than @@ -629,7 +839,149 @@ fnSigView :: Mir.FnSig -> FnSigView fnSigView (Mir.FnSig argTys retTy abi spreadarg) = FnSigView (map tyView argTys) (tyView retTy) abi spreadarg +-- | Read the value out of a 'MaybeType' expression that is assumed to be +-- assigned to a value. If this assumption does not hold (i.e., if the value is +-- unassigned), then this function will raise an error. +readMaybeType :: + IsSymInterface sym + => sym + -> String + -> TypeRepr tp + -> RegValue sym (MaybeType tp) + -> RegValue sym tp +readMaybeType sym desc tpr rv = + case readPartExprMaybe sym rv of + Just x -> x + Nothing -> error $ "readMaybeType: accessed possibly-uninitialized " ++ desc ++ + " of type " ++ show tpr + +readPartExprMaybe :: + IsSymInterface sym + => sym + -> W4.PartExpr (W4.Pred sym) a + -> Maybe a +readPartExprMaybe _sym W4.Unassigned = Nothing +readPartExprMaybe _sym (W4.PE p v) + | Just True <- W4.asConstantPred p = Just v + | otherwise = Nothing + -- | Construct an 'Mir.TyAdt' from an 'Mir.Adt'. mirAdtToTy :: Mir.Adt -> Mir.Ty mirAdtToTy adt = Mir.TyAdt (adt ^. Mir.adtname) (adt ^. Mir.adtOrigDefId) (adt ^. Mir.adtOrigSubsts) + +-- | Like 'findDefIdEither', but any errors are thrown with 'fail'. +findDefId :: MonadFail m => Map Text (NonEmpty Text) -> Text -> m Mir.DefId +findDefId crateDisambigs fnName = + either fail pure $ findDefIdEither crateDisambigs fnName + +-- | Given a function name @fnName@, attempt to look up its corresponding +-- 'Mir.DefId'. If successful, return it with 'Right'. Currently, the following +-- types of function names are permittd: +-- +-- * @/::: A fully disambiguated name. +-- +-- * @::: A name without a disambiguator. In this +-- case, SAW will attempt to look up a disambiguator from the @crateDisambigs@ +-- map. If none can be found, or if there are multiple disambiguators for the +-- given @@, then this will return an error message with 'Left'. +findDefIdEither :: Map Text (NonEmpty Text) -> Text -> Either String Mir.DefId +findDefIdEither crateDisambigs fnName = do + (crate, path) <- + case edid of + crate:path -> pure (crate, path) + [] -> Left $ unlines + [ "The function `" ++ fnNameStr ++ "` lacks a crate." + , "Consider providing one, e.g., `::" ++ fnNameStr ++ "`." + ] + let crateStr = Text.unpack crate + case Text.splitOn "/" crate of + [crateNoDisambig, disambig] -> + Right $ Mir.textId $ Text.intercalate "::" + $ (crateNoDisambig <> "/" <> disambig) : path + [_] -> + case Map.lookup crate crateDisambigs of + Just allDisambigs@(disambig :| otherDisambigs) + | F.null otherDisambigs + -> Right $ Mir.textId $ Text.intercalate "::" + $ (crate <> "/" <> disambig) : path + | otherwise + -> Left $ unlines $ + [ "ambiguous crate " ++ crateStr + , "crate disambiguators:" + ] ++ F.toList (Text.unpack <$> allDisambigs) + Nothing -> Left $ "unknown crate " ++ crateStr + _ -> Left $ "Malformed crate name: " ++ show crateStr + where + fnNameStr = Text.unpack fnName + edid = Text.splitOn "::" fnName + +-- | Consult the given 'Mir.CollectionState' to find a 'Mir.Static' with the +-- given 'String' as an identifier. If such a 'Mir.Static' cannot be found, this +-- will raise an error. +findStatic :: X.MonadThrow m => Mir.CollectionState -> String -> m Mir.Static +findStatic cs name = do + did <- case findDefIdEither (cs ^. Mir.crateHashesMap) (Text.pack name) of + Left err -> X.throwM $ MIRInvalidIdentifier err + Right did -> pure did + case Map.lookup did (cs ^. Mir.collection . Mir.statics) of + Nothing -> X.throwM $ MIRStaticNotFound did + Just static -> pure static + +-- | Consult the given 'MIRCrucibleContext' to find the 'MIRVal' used to +-- initialize a 'Mir.Static' value. If such a 'MIRVal' cannot be found, this +-- will raise an error. +findStaticInitializer :: + X.MonadThrow m => + MIRCrucibleContext -> + Mir.Static -> + m MIRVal +findStaticInitializer mcc static = do + Mir.StaticVar gv <- findStaticVar cs staticDefId + let staticShp = tyToShapeEq col (static ^. Mir.sTy) (globalType gv) + case MapF.lookup gv (mcc^.mccStaticInitializerMap) of + Just (RV staticInitVal) -> + pure $ MIRVal staticShp staticInitVal + Nothing -> + X.throwM $ MIRStaticNotFound staticDefId + where + staticDefId = static ^. Mir.sName + cs = mcc ^. mccRustModule . Mir.rmCS + col = cs ^. Mir.collection + +-- | Consult the given 'Mir.CollectionState' to find a 'Mir.StaticVar' with the +-- given 'Mir.DefId'. If such a 'Mir.StaticVar' cannot be found, this will raise +-- an error. +findStaticVar :: + X.MonadThrow m => + Mir.CollectionState -> + Mir.DefId -> + m Mir.StaticVar +findStaticVar cs staticDefId = + case Map.lookup staticDefId (cs ^. Mir.staticMap) of + Nothing -> X.throwM $ MIRStaticNotFound staticDefId + Just sv -> pure sv + +-- | Compute the 'Mir.Mutability' of a 'Mir.Static' value. +staticMutability :: Mir.Static -> Mir.Mutability +staticMutability static + | static ^. Mir.sMutable = Mir.Mut + | otherwise = Mir.Immut + +-- | Compute a 'Mir.MirReferenceMux' pointing to a static value's 'GlobalVar'. +staticRefMux :: + W4.IsSymExprBuilder sym => + sym -> + GlobalVar tp -> + Mir.MirReferenceMux sym tp +staticRefMux sym gv = + Mir.MirReferenceMux $ + Mir.toFancyMuxTree sym $ + Mir.MirReference (Mir.GlobalVar_RefRoot gv) Mir.Empty_RefPath + +-- | Compute the 'Mir.Ty' of a reference to a 'Mir.Static' value. +staticTyRef :: Mir.Static -> Mir.Ty +staticTyRef static = + Mir.TyRef + (static ^. Mir.sTy) + (staticMutability static) diff --git a/src/SAWScript/Crucible/MIR/Setup/Value.hs b/src/SAWScript/Crucible/MIR/Setup/Value.hs index 5e34c624e3..5c592abefb 100644 --- a/src/SAWScript/Crucible/MIR/Setup/Value.hs +++ b/src/SAWScript/Crucible/MIR/Setup/Value.hs @@ -22,7 +22,12 @@ module SAWScript.Crucible.MIR.Setup.Value MIRCrucibleContext(..) , mccRustModule , mccBackend - , mccHandleAllocator + , mccSimContext + , mccSymGlobalState + , mccStaticInitializerMap + + -- * @MirStaticInitializerMap@ + , MirStaticInitializerMap -- * @MirPointsTo@ , MirPointsTo(..) @@ -44,11 +49,12 @@ module SAWScript.Crucible.MIR.Setup.Value import Control.Lens (makeLenses) import Data.Parameterized.Classes +import Data.Parameterized.Map (MapF) import Data.Parameterized.Some import Data.Text (Text) import Data.Void (Void) -import Lang.Crucible.FunctionHandle (HandleAllocator) +import Lang.Crucible.Simulator (GlobalVar, RegValue', SimContext, SymGlobalState) import Lang.Crucible.Types import Mir.DefId import Mir.Generator @@ -59,7 +65,7 @@ import SAWScript.Crucible.Common import qualified SAWScript.Crucible.Common.Setup.Value as MS type instance MS.XSetupNull MIR = Void -type instance MS.XSetupGlobal MIR = Void +type instance MS.XSetupGlobal MIR = () type instance MS.XSetupStruct MIR = M.Adt type instance MS.XSetupTuple MIR = () -- The 'M.Ty' represents the type of array elements. @@ -68,7 +74,7 @@ type instance MS.XSetupElem MIR = () type instance MS.XSetupField MIR = () type instance MS.XSetupCast MIR = Void type instance MS.XSetupUnion MIR = Void -type instance MS.XSetupGlobalInitializer MIR = Void +type instance MS.XSetupGlobalInitializer MIR = () type instance MS.XGhostState MIR = Void @@ -84,15 +90,24 @@ type instance MS.Codebase MIR = CollectionState data MIRCrucibleContext = MIRCrucibleContext - { _mccRustModule :: RustModule - , _mccBackend :: SomeOnlineBackend - , _mccHandleAllocator :: HandleAllocator + { _mccRustModule :: RustModule + , _mccBackend :: SomeOnlineBackend + , _mccSimContext :: SimContext (SAWCruciblePersonality Sym) Sym MIR + , _mccSymGlobalState :: SymGlobalState Sym + , _mccStaticInitializerMap :: MirStaticInitializerMap } type instance MS.CrucibleContext MIR = MIRCrucibleContext type instance MS.Pointer' MIR sym = Some (MirPointer sym) +-- | A 'MirStaticInitializerMap' maps the 'GlobalVar's of each top-level static +-- value in a 'Mir.RustModule' to its initializer value (post-Crucible +-- translation). See @Note [Translating MIR statics in SAW]@ in +-- "SAWScript.Crucible.MIR.Builtins" for more details on how this map is +-- created. +type MirStaticInitializerMap = MapF GlobalVar (RegValue' Sym) + -- | Unlike @LLVMPointsTo@ and @JVMPointsTo@, 'MirPointsTo' contains a /list/ of -- 'MS.SetupValue's on the right-hand side. This is due to how slices are -- represented in @crucible-mir-comp@, which stores the list of values diff --git a/src/SAWScript/Interpreter.hs b/src/SAWScript/Interpreter.hs index 0315b978b7..980aec8d95 100644 --- a/src/SAWScript/Interpreter.hs +++ b/src/SAWScript/Interpreter.hs @@ -3976,6 +3976,22 @@ primitives = Map.fromList , "create; use `mir_find_adt` to retrieve a MIRAdt value." ] + , prim "mir_static" + "String -> MIRValue" + (pureVal (CMS.SetupGlobal () :: String -> CMS.SetupValue MIR)) + Experimental + [ "Return a MIRValue representing a reference to the named static." + , "The String should be the name of a static value." + ] + + , prim "mir_static_initializer" + "String -> MIRValue" + (pureVal (CMS.SetupGlobalInitializer () :: String -> CMS.SetupValue MIR)) + Experimental + [ "Return a MIRValue representing the value of the initializer of a named" + , "static. The String should be the name of a static value." + ] + , prim "mir_term" "Term -> MIRValue" (pureVal (CMS.SetupTerm :: TypedTerm -> CMS.SetupValue MIR))