mirror of
https://github.com/GaloisInc/macaw.git
synced 2024-11-22 23:32:15 +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.
15 lines
367 B
Markdown
15 lines
367 B
Markdown
# 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.
|
|
|