macaw/macaw-aarch32/ChangeLog.md
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

367 B

Revision history for macaw-arm

Next

Features

  • Added support for symbolically executing system calls

Breaking Changes

  • The architecture-specific terminator and functions have changed to support system calls

    The terminators are gone, replaced by additional function forms. Note that these are compiled away during the translation into crucible.