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
  • Merge requests
  • !5619

i#2062 memtrace nonmod part 2: Raw2trace parsing of encoding file

  • Review changes

  • Download
  • Email patches
  • Plain diff
Merged Derek Bruening requested to merge i2062-emit-encodings into master Aug 18, 2022
  • Overview 15
  • Commits 7
  • Pipelines 0
  • Changes 16

Adds raw2trace parsing of the encoding file used by the tracer to store instruction encodings for generated code. This involves the following changes:

  • Adds encoding file parsing to module_mapper_t.
  • Changes module map queries to use new module_mapper_t interfaces instead, which handle generated code.
  • Changes block lookup to use the modidx,modoffs pair as the key rather than the absolute pc.

The changes are compatibility-breaking for raw2trace_t which now takes an encoding file parameter in the middle of existing parameters. Updates existing uses.

For module_mapper_t the encoding file is added last with a default value to preserve compatibility for existing analysis tools like opcode_mix and view. It is assumed that encodings for generated code will be added to the final trace file and thus these tools will not need a module_mapper_t interface for generated code.

Augments the tool.drcacheoff.gencode test to post-process the trace and ensure the generated code PC is observed.

Fixes a -loglevel 4 signal dump_unmaksed() crash on detach i#5618 hit in the gencode test; confirmed the test is crash-free at loglevel 4 with the fix.

Issue: #2062 Fixes #5618 (closed)

Assignee
Assign to
Reviewers
Request review from
Time tracking
Source branch: i2062-emit-encodings