Skip to content
GitLab
Projects Groups Snippets
  • /
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in / Register
  • D dynamorio
  • Project information
    • Project information
    • Activity
    • Labels
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
  • Issues 1,467
    • Issues 1,467
    • List
    • Boards
    • Service Desk
    • Milestones
  • Merge requests 44
    • Merge requests 44
  • CI/CD
    • CI/CD
    • Pipelines
    • Jobs
    • Schedules
  • Deployments
    • Deployments
    • Environments
    • Releases
  • Packages and registries
    • Packages and registries
    • Package Registry
    • Infrastructure Registry
  • Monitor
    • Monitor
    • Incidents
  • Analytics
    • Analytics
    • Value stream
    • CI/CD
    • Repository
  • Wiki
    • Wiki
  • Snippets
    • Snippets
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
Collapse sidebar
  • DynamoRIO
  • dynamorio
  • Issues
  • #5490
Closed
Open
Issue created May 11, 2022 by Derek Bruening@derekbrueningContributor

Add branch target address to drmemtrace traces for use without instruction encodings

When a drmemtrace and associated application binaries are available to supply the instruction encodings, the targets of non-taken branches are obtained from the encodings (and targets of taken branches from the subsequent PC -- which has complications across intervening kernel transfers, solved with special kernel transfer fields, and across thread interleavings, solved by tweaking those in raw2trace for offline at least). However, the binaries not always available (e.g., the Google workload traces).

Adding the target of every conditional branch could be done in raw2trace. The main cost would be a size increase. If the average block is 5 instrs + 2 addrs then this would be a 14% increase scaled down a little since not all branches are conditional, but still a non-trivial increase of likely >10% by this un-measured back-of-envelope estimate anyway.

Presumably we would implement this in post-processing, waiting for the next block, rather than having online instrumentation deduce the target before the branch occurs.

Assignee
Assign to
Time tracking