draperlaboratory / VIBES

Verified, Incremental, Binary Editing with Synthesis
MIT License
51 stars 1 forks source link

Memory instructions in IR can result in incorrect orders #106

Closed codyroux closed 3 years ago

codyroux commented 3 years ago

Currently the ARM IR does not track memory values as variables, since they don't get printed in the assembly.

However, this may result in incorrect orderings chosen by the constraint solver, e.g. if a load occurs after a store.

To manage this, we can explicitly handle memory as a variable, erasing it only at printing time.

codyroux commented 3 years ago

Fixed in 061d89d4d9f77b9758b37c0c60dd62807db96d89