DynamoRIO / DynamoRIO/dynamorio

Add size to instr_compute_address()

Open
#3,473 1 comment 0 reactions 0 assignees View on GitHub
Component-API Component-IR Type-Feature
Dominant language
C
Stars
3.2k
Forks
629
Avg merge
2d 15h
Merged PRs (30d)
31

Description

Split from #2946

The xsave instruction's actual memory written varies dynamically, meaning that opnd_get_size() (which today, and probably forever, bails and returns 0) and drutil_opnd_mem_size_in_bytes() (fixed for some cases in #3463) are not capable of figuring out the size.

We could consider something parallel to instr_compute_address() which takes in an mcontext: drutil_opnd_compute_size() or sthg. But given multi-address operands (such as VSIB, or xsave again if we want to skip gaps: #3467), that would duplicate the iteration logic. It seems best to augment instr_compute_address() with sizes.

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.