GaloisInc / macaw

Open source binary analysis tools.
BSD 3-Clause "New" or "Revised" License
208 stars 21 forks source link

symbolic: Remove support for stack-spilled arguments #441

Closed langston-barrett closed 2 months ago

langston-barrett commented 2 months ago

macaw-symbolic has some functionality for allocating stack space for spilled arguments. However, many ABIs impose some kind of alignment constraints on the stack pointer. For example, both the AArch32 and x86_64 SysV ABIs specify that the end of the spilled argument list is aligned to 2*w where w is the number of bytes in a word. Since macaw-symbolic has no notion of the ABI in use, its ABI-agnostic code could only ever satisfy such alignment constraints on accident. We should just remove it, and clients wishing to spill arguments to the stack should do so with ABI-specific functionality.