DynamoRIO / DynamoRIO/dynamorio
drcachesim traces include never-executed memrefs beyond a faulting memref on multi-memref instrs
- Dominant language
- C
- Stars
- 3.2k
- Forks
- 629
- Avg merge
- 2d 15h
- Merged PRs (30d)
- 31
Description
While working on adding tests for #3937 I hit an issue that seems obvious but has a confusing history. For a multi-memref instruction, I put code in place in f9b691441ff4ce34d98e459bfc73db3fa052d004 for #2708 to handle a fault in the middle of the memrefs and not continue to the rest of them. However, the tracer's instrumentation records all memrefs before it executes the instruction, so the trace contains all of the memref addresses before the signal marker. I can't figure out why I put that memref-skipping code in place since it seems it would never be exercised with today's tracer. I don't think that -L0_filter is relevant because at an earlier point I put in custom entries for multi-memref there.
This issue covers documenting this slight trace inaccuracy, and possibly trying to fix it though it seems low priority.
Contributor guide
Assessment
This issue has not been assessed yet.