DynamoRIO / DynamoRIO/dynamorio
Add AArch64 stack pointer elision in drmemtrace offline traces
- Dominant language
- C
- Stars
- 3.2k
- Forks
- 629
- Avg merge
- 2d 15h
- Merged PRs (30d)
- 31
Description
Offline traces elide addresses that can be reconstructed in post-processing. They also don't bother storing displacements, which simplifies instrumentation. The two go hand in hand and are assumed in the post-processing reconstruction.
However, the AArch64 ISA does not allow directly storing `%sp` to memory, so we cannot elide stack pointer displacements. Since post-processing assumes that, today we also never elide stack pointer addresses: which is a lot of addresses we needn't record and write out.
This issue covers fixing up raw2trace to store the displacement along with `reg_vals` so it can adjust displacements even when not elided, allowing us to elide redundant stack addresses.
Split from the too-general #2001.
Contributor guide
Assessment
This issue has not been assessed yet.