diff --git a/base/src/Data/Macaw/Types.hs b/base/src/Data/Macaw/Types.hs index dd3f6536..f1e7db35 100644 --- a/base/src/Data/Macaw/Types.hs +++ b/base/src/Data/Macaw/Types.hs @@ -221,6 +221,8 @@ instance Show (TypeRepr tp) where "(" ++ show h ++ foldrFC (\tp r -> "," ++ show tp ++ r) ")" z show (VectorTypeRepr c tp) = "(vec " ++ show c ++ " " ++ show tp ++ ")" +instance ShowF TypeRepr + instance KnownRepr TypeRepr BoolType where knownRepr = BoolTypeRepr diff --git a/deps/crucible b/deps/crucible index 84d30112..13c16081 160000 --- a/deps/crucible +++ b/deps/crucible @@ -1 +1 @@ -Subproject commit 84d301121af7e7204c2c49e19c00358683f75731 +Subproject commit 13c16081d02bbc4e62eecbe686fdb5d806c41d60 diff --git a/deps/flexdis86 b/deps/flexdis86 index 2ac3d616..64a3b815 160000 --- a/deps/flexdis86 +++ b/deps/flexdis86 @@ -1 +1 @@ -Subproject commit 2ac3d616996885f93b66c870520381cb09e783ca +Subproject commit 64a3b8154a654e7079a6a5253a00d4fe8dac9934 diff --git a/stack.ghc-8.2.2.yaml b/stack.ghc-8.2.2.yaml index 13228650..06c7f6f6 100644 --- a/stack.ghc-8.2.2.yaml +++ b/stack.ghc-8.2.2.yaml @@ -20,4 +20,5 @@ extra-deps: - monadLib-3.7.3 - panic-0.4.0.1 - IntervalMap-0.6.1.0 +- itanium-abi-0.1.1.0 resolver: lts-11.22 diff --git a/x86_symbolic/src/Data/Macaw/X86/Crucible.hs b/x86_symbolic/src/Data/Macaw/X86/Crucible.hs index 26e61da9..c9f51f17 100644 --- a/x86_symbolic/src/Data/Macaw/X86/Crucible.hs +++ b/x86_symbolic/src/Data/Macaw/X86/Crucible.hs @@ -105,7 +105,7 @@ withConcreteCountAndDir -> (AtomWrapper (RegEntry sym) M.BoolType) -> (S sym rtp bs r ctx -> (SymBV sym 64) -> IO (S sym rtp bs r ctx)) -> IO (RegValue sym UnitType, S sym rtp bs r ctx) -withConcreteCountAndDir state val_size wrapped_count wrapped_dir func = do +withConcreteCountAndDir state val_size wrapped_count _wrapped_dir func = do let sym = state^.stateSymInterface let val_byte_size = M.repValSizeByteCount val_size bv_count <- toValBV sym wrapped_count diff --git a/x86_symbolic/src/Data/Macaw/X86/Symbolic.hs b/x86_symbolic/src/Data/Macaw/X86/Symbolic.hs index f2d081e2..7c30211e 100644 --- a/x86_symbolic/src/Data/Macaw/X86/Symbolic.hs +++ b/x86_symbolic/src/Data/Macaw/X86/Symbolic.hs @@ -87,7 +87,7 @@ type instance ArchRegContext M.X86_64 <+> (EmptyCtx ::> M.BVType 3) -- X87 top of the stack (x87 status word) <+> CtxRepeat 8 (M.BVType 2) -- X87 tags <+> CtxRepeat 8 (M.BVType 80) -- FP regs - <+> CtxRepeat 16 (M.BVType 256) -- YMM regs + <+> CtxRepeat 16 (M.BVType 512) -- ZMM regs type RegAssign f = Assignment f (ArchRegContext M.X86_64) @@ -112,7 +112,7 @@ x86RegName' (M.X87_StatusReg r) = show r x86RegName' M.X87_TopReg = "x87Top" x86RegName' (M.X87_TagReg r) = "x87Tag" ++ show r x86RegName' (M.X87_FPUReg r) = show r -x86RegName' (M.X86_YMMReg r) = show r +x86RegName' (M.X86_ZMMReg r) = "zmm" ++ show r x86RegName :: M.X86Reg tp -> C.SolverSymbol x86RegName r = C.systemSymbol $ "r!" ++ x86RegName' r @@ -142,7 +142,8 @@ x86RegAssignment = <++> (Empty :> M.X87_TopReg) <++> (repeatAssign (M.X87_TagReg . fromIntegral) :: Assignment M.X86Reg (CtxRepeat 8 (M.BVType 2))) <++> (repeatAssign (M.X87_FPUReg . F.mmxReg . fromIntegral) :: Assignment M.X86Reg (CtxRepeat 8 (M.BVType 80))) - <++> (repeatAssign (M.X86_YMMReg . F.ymmReg . fromIntegral) :: Assignment M.X86Reg (CtxRepeat 16 (M.BVType 256))) + <++> (repeatAssign (M.X86_ZMMReg . fromIntegral) + :: Assignment M.X86Reg (CtxRepeat 16 (M.BVType 512))) x86RegStructType :: C.TypeRepr (ArchRegStruct M.X86_64)