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
  • !5672

i#5520 memtrace encodings: Add AArch32 support

  • Review changes

  • Download
  • Email patches
  • Plain diff
Merged Derek Bruening requested to merge i5520-aarch32-encodings into master Oct 03, 2022
  • Overview 5
  • Commits 3
  • Pipelines 0
  • Changes 9

Adds support for Thumb versus Arm modes in AArch32 with respect to drmemtrace stored encodings by setting the LSB when storing in the tracer and raw2trace, and by properly setting the base mode to Arm when decoding.

Augments decode_from_copy() to switch locally to Thumb if either the read or original PC has LSB=1 as that better fits most use cases (including reading from a drmemtrace encoding buffer).

Adds AArch32 support to the burst_gencode test.

Fixes 3 outstanding AArch32 issues:

  • Removes a quote in a comment in third_party/libgcc/arm/lib1funcs.S code not handled by old toolchains.

  • Removes an ASSERT_NOT_TESTED path now hit.

  • Fixes an AArch32 tracer bug where a 2nd temp register is needed for a 2nd conditional skip.

Tested by running the drcacheoff.gencode test on an AArch32 machine which now passes.

Issue: #5520 (closed)

Assignee
Assign to
Reviewers
Request review from
Time tracking
Source branch: i5520-aarch32-encodings