Safe Haskell | None |
---|---|
Language | Haskell2010 |
Synopsis
Documentation
A `pointer value` may have a `pointer offset` that is either a known fixed immediate or unknown
Instances
Eq PtrOffset Source # | |
Ord PtrOffset Source # | |
Defined in Data.SValue | |
Show PtrOffset Source # | |
Generic PtrOffset Source # | |
ToJSON PtrOffset Source # | |
Defined in OutputGeneration.JSON | |
Serialize PtrOffset Source # | A `symbolic value` is either a `pointer value` (high certainty that it is actually a pointer), or a non-deterministic set of concrete expressions, or computed from a set of possible addends. data SValue = SPointer (NES.NESet PtrValue) | SConcrete (NES.NESet SimpleExpr) | SAddends (NES.NESet SAddend) | Top deriving (Eq,Ord,Generic) |
NFData PtrOffset Source # | |
Defined in Data.SValue | |
type Rep PtrOffset Source # | |
Defined in Data.SValue type Rep PtrOffset = D1 ('MetaData "PtrOffset" "Data.SValue" "foxdec-0.1.0.0-F8J4QQ8bsQELJyhc4kJb0m" 'False) (C1 ('MetaCons "PtrOffset" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 Word64)) :+: C1 ('MetaCons "UnknownOffset" 'PrefixI 'False) (U1 :: Type -> Type)) |
A `pointer value` consists of a `pointer base` and a `pointer offset`
Base_StackPointer String PtrOffset | The stackpointer of the given function |
Base_Immediate Word64 PtrOffset | An immediate pointer |
Base_Malloc (Maybe Word64) (Maybe String) PtrOffset | A malloc return value |
Base_FunctionPtr Word64 String PtrOffset | A function pointer (external) |
Base_ReturnAddr String | The return address of the given function |
Base_TLS PtrOffset | The Thread Local Storage |
Base_StatePart StatePart PtrOffset | The value initially stored in some statepart |
Base_FunctionReturn String PtrOffset | The return value of a function |
Instances
A `pointer addend` consists of a `pointer base`, some constant relativ to the initial state, or the return value of some function.
Instances
Instances
isImmediateBase :: SAddend -> Bool Source #
isConcrete :: SValue -> Bool Source #
has_unknown_offset :: SPointer -> Bool Source #