macaw/x86
Ryan Scott 1add47389a macaw-x86: Fix call semantics when call target involves the stack pointer
Previously, the `macaw-x86` semantics for `call` would retrieve the call target
*after* pushing the next instruction's address to the stack, but if the call
target involves the stack pointer, then this would mean that it would get the
next instruction's address when retrieving the call target. This is not what is
intended!

This patch fixes the issue by always retrieving the call target *before*
pushing the next instruction's address to the stack. I have added a test case
to the `macaw-x86-symbolic` test suite which demonstrates that this fix works
as intended.

Fixes #420.
2024-08-13 12:31:09 -04:00
..
src/Data/Macaw macaw-x86: Fix call semantics when call target involves the stack pointer 2024-08-13 12:31:09 -04:00
support Add x86-support to travis 2019-03-26 08:21:01 -07:00
tests Revisit handling of tail calls 2022-06-27 15:02:43 -07:00
x86_tests Segment register updates; stack offset calculation. 2019-09-20 13:58:05 -07:00
.gitignore Add x86 specific code. 2017-09-27 15:54:43 -07:00
LICENSE Update license information. 2017-09-27 15:59:06 -07:00
macaw-x86.cabal Add basic support for simulating PLT stubs and shared libraries 2023-02-23 17:16:12 -05:00