mirror of
https://github.com/GaloisInc/macaw.git
synced 2024-11-25 21:54:51 +03:00
3e918f8b51
The old formulation (with system calls as block terminators) proved to be impossible to implement properly. Handlers for syntax overrides have very limited types (`IO`, rather than `OverrideSim`), which made symbolic branching and reusing overrides impossible. This change replaces the system call block terminator with an arch-specific function that is translated into a function handle lookup (which is then dispatched to with a call). Unfortunately, this refactoring required combining the AArch32 simplification module with the architecture extension definitions, due to the new translation relying on the simplifier instance.
83 lines
3.0 KiB
Plaintext
83 lines
3.0 KiB
Plaintext
name: macaw-aarch32
|
|
version: 0.1.0.0
|
|
synopsis: Support for 32 bit ARM in macaw
|
|
description: This library implements 32 bit ARM support (both the ARM and Thumb encodings) for the macaw library. The semantics are derived from the official ARM semantics (encoded in ASL).
|
|
license: BSD3
|
|
license-file: LICENSE
|
|
author: Kevin Quick
|
|
maintainer: kquick@galois.com
|
|
-- copyright:
|
|
category: Semantics
|
|
build-type: Simple
|
|
extra-source-files: ChangeLog.md
|
|
cabal-version: >=1.10
|
|
|
|
library
|
|
exposed-modules: Data.Macaw.ARM
|
|
, Data.Macaw.ARM.Arch
|
|
, Data.Macaw.ARM.ARMReg
|
|
, Data.Macaw.ARM.BinaryFormat.ELF
|
|
, Data.Macaw.ARM.Disassemble
|
|
, Data.Macaw.ARM.Eval
|
|
, Data.Macaw.ARM.Identify
|
|
, Data.Macaw.ARM.Panic
|
|
, Data.Macaw.ARM.Semantics.ARMSemantics
|
|
, Data.Macaw.ARM.Semantics.ThumbSemantics
|
|
, Data.Macaw.ARM.Semantics.TH
|
|
-- other-modules:
|
|
-- other-extensions:
|
|
build-depends: base >=4.10 && <5
|
|
, asl-translator
|
|
, bytestring
|
|
, bv-sized >= 1.0.1 && < 1.1
|
|
, cereal
|
|
, containers
|
|
, crucible
|
|
, dismantle-arm-xml
|
|
, dismantle-tablegen
|
|
, elf-edit
|
|
, lens
|
|
, macaw-base
|
|
, macaw-semmc
|
|
, mtl
|
|
, panic
|
|
, parameterized-utils
|
|
, pretty
|
|
, prettyprinter >= 1.7.0
|
|
, semmc
|
|
, semmc-aarch32
|
|
, template-haskell
|
|
, text
|
|
, vector
|
|
, what4
|
|
-- build-tools: arm-none-eabi-gcc
|
|
hs-source-dirs: src
|
|
default-language: Haskell2010
|
|
ghc-options: -Wall -Wcompat
|
|
|
|
test-suite macaw-asl-tests
|
|
type: exitcode-stdio-1.0
|
|
default-language: Haskell2010
|
|
ghc-options: -Wall -Wcompat
|
|
hs-source-dirs: tests
|
|
main-is: TestMain.hs
|
|
other-modules: ARMTests
|
|
, MismatchTests
|
|
, Shared
|
|
build-depends: base >=4.10 && <5
|
|
, binary
|
|
, bytestring
|
|
, containers
|
|
, elf-edit
|
|
, exceptions
|
|
, filemanip
|
|
, filepath
|
|
, lens
|
|
, macaw-base
|
|
, macaw-aarch32
|
|
, parameterized-utils
|
|
, prettyprinter >= 1.7.0
|
|
, semmc-aarch32
|
|
, tasty
|
|
, tasty-hunit
|