Cabal-version: 2.2
Name: crucible-llvm
Version: 0.6
Author: Galois Inc.
Copyright: (c) Galois, Inc 2014-2022
Maintainer: rscott@galois.com, kquick@galois.com, langston@galois.com
License: BSD-3-Clause
License-file: LICENSE
Build-type: Simple
Category: Language
Synopsis: Support for translating and executing LLVM code in Crucible
Description:
Library providing LLVM-specific extensions to the crucible core library
for Crucible-based simulation and verification of LLVM-compiled applications.
extra-source-files: CHANGELOG.md, README.md
source-repository head
type: git
location: https://github.com/GaloisInc/crucible
subdir: crucible-llvm
common bldflags
ghc-options: -Wall
-Werror=incomplete-patterns
-Werror=missing-methods
-Werror=overlapping-patterns
-Wpartial-fields
-Wincomplete-uni-patterns
ghc-prof-options: -O2 -fprof-auto-exported
default-language: Haskell2010
library
import: bldflags
build-depends:
base >= 4.13 && < 4.19,
attoparsec,
bv-sized >= 1.0.0,
bytestring,
containers >= 0.5.8.0,
crucible >= 0.5,
crucible-symio,
what4 >= 0.4.1,
extra,
lens,
itanium-abi >= 0.1.1.1 && < 0.2,
llvm-pretty >= 0.12 && < 0.13,
mtl,
parameterized-utils >= 2.1.5 && < 2.2,
pretty,
prettyprinter >= 1.7.0,
text,
template-haskell,
transformers,
utf8-string,
vector
hs-source-dirs: src
exposed-modules:
Lang.Crucible.LLVM
Lang.Crucible.LLVM.Arch.Util
Lang.Crucible.LLVM.Arch.X86
Lang.Crucible.LLVM.ArraySizeProfile
Lang.Crucible.LLVM.Bytes
Lang.Crucible.LLVM.Ctors
Lang.Crucible.LLVM.DataLayout
Lang.Crucible.LLVM.Errors
Lang.Crucible.LLVM.Errors.MemoryError
Lang.Crucible.LLVM.Errors.Poison
Lang.Crucible.LLVM.Errors.UndefinedBehavior
Lang.Crucible.LLVM.Eval
Lang.Crucible.LLVM.Extension
Lang.Crucible.LLVM.Globals
Lang.Crucible.LLVM.Intrinsics
Lang.Crucible.LLVM.Intrinsics.Libc
Lang.Crucible.LLVM.Intrinsics.LLVM
Lang.Crucible.LLVM.MalformedLLVMModule
Lang.Crucible.LLVM.MemModel
Lang.Crucible.LLVM.MemModel.CallStack
Lang.Crucible.LLVM.MemModel.CallStack.Internal
Lang.Crucible.LLVM.MemModel.Generic
Lang.Crucible.LLVM.MemModel.MemLog
Lang.Crucible.LLVM.MemModel.Partial
Lang.Crucible.LLVM.MemModel.Pointer
Lang.Crucible.LLVM.MemType
Lang.Crucible.LLVM.PrettyPrint
Lang.Crucible.LLVM.Printf
Lang.Crucible.LLVM.QQ
Lang.Crucible.LLVM.SymIO
Lang.Crucible.LLVM.SimpleLoopFixpoint
Lang.Crucible.LLVM.SimpleLoopInvariant
Lang.Crucible.LLVM.Translation
Lang.Crucible.LLVM.Translation.Aliases
Lang.Crucible.LLVM.TypeContext
other-modules:
Lang.Crucible.LLVM.Errors.Standards
Lang.Crucible.LLVM.Extension.Arch
Lang.Crucible.LLVM.Extension.Syntax
Lang.Crucible.LLVM.Intrinsics.Common
Lang.Crucible.LLVM.Intrinsics.Libcxx
Lang.Crucible.LLVM.Intrinsics.Options
Lang.Crucible.LLVM.MemModel.Common
Lang.Crucible.LLVM.MemModel.Options
Lang.Crucible.LLVM.MemModel.Type
Lang.Crucible.LLVM.MemModel.Value
Lang.Crucible.LLVM.Translation.BlockInfo
Lang.Crucible.LLVM.Translation.Constant
Lang.Crucible.LLVM.Translation.Expr
Lang.Crucible.LLVM.Translation.Instruction
Lang.Crucible.LLVM.Translation.Monad
Lang.Crucible.LLVM.Translation.Options
Lang.Crucible.LLVM.Translation.Types
Lang.Crucible.LLVM.Types
Lang.Crucible.LLVM.Utils
default-extensions: NoStarIsType
test-suite crucible-llvm-tests
import: bldflags
type: exitcode-stdio-1.0
main-is: Tests.hs
hs-source-dirs: test
other-modules: MemSetup
, TestFunctions
, TestGlobals
, TestMemory
, TestTranslation
build-depends:
base,
bv-sized,
containers,
crucible,
crucible-llvm,
directory,
filepath,
lens,
llvm-pretty,
llvm-pretty-bc-parser,
lens,
parameterized-utils,
process,
what4,
tasty,
tasty-quickcheck,
tasty-hunit,
tasty-sugar >= 2.0 && < 2.3,
vector