DynamoRIO / DynamoRIO/dynamorio

[drmemtrace] record branch target information for filtered traces

Open
#2,637 0 comments 0 reactions 0 assignees View on GitHub
Component-DrMemtrace Component-DRTool Priority-Low Type-Feature
Dominant language
C
Stars
3.2k
Forks
629
Avg merge
2d 18h
Merged PRs (30d)
30

Description

For non-filtered traces, branch target info can be inferred from the final trace by the tool. But for a trace with icache filtering this is not the case. To provide branch taken/not-taken and target information we'd have to insert an extra entry into the trace with the target, which for conditionals will require flag emulation logic, with corresponding additional overhead: so perhaps this should be controlled by a runtime flag.

Contributor guide

Open the contributing guide

Research direction

Start by locating the drmemtrace implementation for icache filtering and the trace record format. Determine how filtered traces currently represent branches, then scope the proposed runtime-controlled target information and its conditional-branch flag handling. Done means the behavior, overhead control, and resulting branch target data are specified and validated.

Written by the indexing model from the issue text.

Assessment

Tech stack
c
Domain
tooling
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
30/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.