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

i#4316 a64 rseq: Port rseq mangling to AArch64

  • Review changes

  • Download
  • Email patches
  • Plain diff
Merged Derek Bruening requested to merge i4316-a64-rseq into master Apr 15, 2021
  • Overview 2
  • Commits 5
  • Pipelines 0
  • Changes 11

Ports rseq mangling to AArch64. This requires implementing patch_mov_immed_arch() (done by leveraging existing raw encoding code from exit stub support) and spilling extra scratch registers in multiple places.

Expands translation support to cover the new mangling. This includes adding proper recognition of an mcontext base load, which was incorrectly identified as an indirect branch target load on x86.

Ports the heuristic for finding the app's rseq TLS offset on attach (when we did not see an rseq syscall) for AArch64 to look forward instead of backward as on x86 where negative segment offsets are used.

Enables the rseq tests for AArch64. Updates the rseq docs to state that AArch64 is supported.

One final step is to support stores with writeback, which are seen in real rseq sequences. That will be done separately. This completes porting the x86 support to AArch64.

Issue: #4316 (closed)

Assignee
Assign to
Reviewers
Request review from
Time tracking
Source branch: i4316-a64-rseq