DynamoRIO / DynamoRIO/dynamorio

drcachesim traces include never-executed memrefs beyond a faulting memref on multi-memref instrs

Open
#3,958 0 comments 0 reactions 0 assignees View on GitHub
Component-DrMemtrace Priority-Low
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

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.