DynamoRIO / DynamoRIO/dynamorio

Use new ARM atomic opcodes where available, for DR and even for app

Open
#4,263 0 comments 0 reactions 0 assignees View on GitHub
OpSys-AArch64 OpSys-ARM
Dominant language
C
Stars
3.2k
Forks
629
Avg merge
2d 15h
Merged PRs (30d)
31

Description

These are ideas from @algr :

ARMv8.1 adds atomic add opcodes with release-acquire semantics: LDADDA,
LDADDAL, LDADDL, and corresponding STADD*, etc. These are simpler to use
and preferable to the exclusive monitor loops in DR's own code. DR would
need to dynamically select whether these were available in the underlying
processor.

Furthermore, we could potentially translate some exclusive monitor loops in
the application to use these new atomic opcodes instead, avoiding the
exclusive monitor instrumentation issue #1698.

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.