macaw/macaw-aarch32/macaw-aarch32.cabal
Tristan Ravitch 3e918f8b51
Revise handling of syscalls in AArch32 to match X86 (#246)
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.
2021-11-24 11:59:56 -08:00

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