mirror of
https://github.com/GaloisInc/macaw.git
synced 2024-11-23 16:35:02 +03:00
073e774a43
This introduces a new datatype CValue for representing constants in Macaw programs, modifies the existing Value datatype to use then, and introduces patterns for compatibility with existing datatypes. The patch also updates the function argument analysis to use more explicit argument passing rather than monadic updates. The intent is to help clarify when data is initialized rather than updated. Finally this updates a README and does some minor updates.
91 lines
2.4 KiB
Plaintext
91 lines
2.4 KiB
Plaintext
name: macaw-base
|
|
version: 0.3.10
|
|
author: Galois, Inc.
|
|
maintainer: jhendrix@galois.com
|
|
build-type: Simple
|
|
cabal-version: >= 1.10
|
|
license: BSD3
|
|
license-file: LICENSE
|
|
description:
|
|
Macaw is a multi-architecture binary analysis library written in
|
|
Haskell. @macaw-base@ defines the core algorithms and data types
|
|
used across architectures. This includes:
|
|
.
|
|
* The control-flow graph data structure used to represent control-flow
|
|
graphs is defined in "Data.Macaw.CFG".
|
|
.
|
|
* The datatypes used to add support for new architectures are defined in
|
|
"Data.Macaw.Architecture".
|
|
.
|
|
* The datatypes used to represent memory are defined in "Data.Macaw.Memory".
|
|
Functions for constructing memory objects from Elf files are in
|
|
"Data.Macaw.Memory.ElfLoader".
|
|
.
|
|
* The main code discovery algorithm for discovering code are in
|
|
"Data.Macaw.Discovery".
|
|
.
|
|
* Declarations for working with Dwarf debug information are in "Data.Macaw.Dwarf".
|
|
|
|
library
|
|
build-depends:
|
|
base >= 4,
|
|
ansi-wl-pprint,
|
|
binary,
|
|
binary-symbols >= 0.1.3,
|
|
bytestring,
|
|
containers >= 0.5.8.1,
|
|
elf-edit >= 0.35,
|
|
galois-dwarf,
|
|
IntervalMap >= 0.5,
|
|
lens >= 4.7,
|
|
mtl,
|
|
parameterized-utils >= 2.0.0.0.101,
|
|
template-haskell,
|
|
text,
|
|
vector,
|
|
QuickCheck >= 2.7
|
|
|
|
hs-source-dirs: src
|
|
|
|
exposed-modules:
|
|
Data.Macaw.AbsDomain.AbsState
|
|
Data.Macaw.AbsDomain.JumpBounds
|
|
Data.Macaw.AbsDomain.Refine
|
|
Data.Macaw.AbsDomain.StridedInterval
|
|
Data.Macaw.Analysis.FunctionArgs
|
|
Data.Macaw.Architecture.Info
|
|
Data.Macaw.CFG
|
|
Data.Macaw.CFG.App
|
|
Data.Macaw.CFG.AssignRhs
|
|
Data.Macaw.CFG.Block
|
|
Data.Macaw.CFG.Core
|
|
Data.Macaw.CFG.DemandSet
|
|
Data.Macaw.CFG.Rewriter
|
|
Data.Macaw.DebugLogging
|
|
Data.Macaw.Discovery
|
|
Data.Macaw.Discovery.AbsEval
|
|
Data.Macaw.Discovery.State
|
|
Data.Macaw.Dwarf
|
|
Data.Macaw.Fold
|
|
Data.Macaw.Memory
|
|
Data.Macaw.Memory.ElfLoader
|
|
Data.Macaw.Memory.LoadCommon
|
|
Data.Macaw.Memory.Permissions
|
|
Data.Macaw.Memory.Symbols
|
|
Data.Macaw.SCFG
|
|
Data.Macaw.Types
|
|
Data.Macaw.Utils.Pretty
|
|
|
|
ghc-options: -Wall -Wcompat
|
|
ghc-options: -fno-warn-unticked-promoted-constructors
|
|
ghc-prof-options: -O2 -fprof-auto-top
|
|
default-language: Haskell2010
|
|
|
|
default-extensions:
|
|
GADTs
|
|
ScopedTypeVariables
|
|
TypeOperators
|
|
|
|
if impl(ghc >= 8.6)
|
|
default-extensions: NoStarIsType
|