-
Notifications
You must be signed in to change notification settings - Fork 262
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add AArch64 support #2016
Comments
Dr. Memory does not yet support AArch64. DynamoRIO's AArch64 support is mostly done but some IR gaps are likely to be exposed by a client that looks at everything like Dr. Memory (or any taint tracking tool). We would welcome contributions to port to AArch64. |
My bad, I hadn't realized it's not expected to build at this time. I've ran into a related issue building on an AArch32 userspace with an AArch64 kernel, I'll open a new issue. |
Hi, I am hitting the same issue. Has support for Dr. Memory on Aarch64 been added recently by any chance? |
No, as the |
Thanks Derek. I intend to take up this task. Can you provide any specific details on the IR gaps that you allude in a previous comment? Any help to scope out the work would be appreciated. |
DynamoRIO/dynamorio#2626 covers finishing the AArch64 encoder/decoder/IR. I believe it is pretty much complete: @AssadHashmi would know which opcodes or operand details are still missing. For Dr. Memory, I would suggest starting with the pattern mode. That is already ported to ARM (32-bit). The full mode's fastpath is complex, low-level, and unfortunately could use some refactoring and cleanup to make it easier to port. |
The biggest gap is in the NEON instructions. IMO the most efficient approach is first to get AArch64 to build then fix gaps as they arise at runtime starting with simple use-cases. A recent example of NEON IR is DynamoRIO/dynamorio#3710 |
Hi, Derek. Is there any update on porting Dr.memory to AArch64? |
@gregcawthorne or @AssadHashmi would know the latest. Are you looking to help with the port, or to use the tool? |
@frankfkliu We also have a fair amount of work on the fastpath done, but it is still unstable and we are focusing on getting the slowpath work upstreamed at present. I am hoping to get something publicly available within the next month or so. |
Thanks! @gregcawthorne @derekbruening I am studying the realization principle of Dr.memory & dynamoRIO, wish to use Dr.memory on AArch64 platform, furthermore, try to make tools base on dynamoRIO for memory related performance analysis if possible. |
Enables shadow memory tracking on AArch64. This is a subsection of the larger ongoing AArch64 port of DRMemory. Issue: #2016
This patch edits tests/CMakeLists.txt to enable a selection of existing tests for drmemory aarch64 as supported by the larger initial aarch64 slowpath patch. Co-authored-by: Derek Bruening <[email protected]> Issue: #2016
Ports drsyscall to AArch64 by adding the syscall numbers to the syscall tables. Issue: #2016
https://github.com/DynamoRIO/drmemory/tree/slowpath-aarch64-port is still outstanding from @gregcawthorne but it has many failures and so needs a bunch of work to be fixed up and integrated. That gets the slowpath going. For the fastpath given all the complexities in trying to refactor the x86 fastpath to use drreg (#1795) I'm thinking it's best to just start from scratch for aarch64 with drreg and optimize (possibly adding new drreg features) later. |
I'm running this on an AArch64 system with Debian Stretch; Linux 4.9.0, gcc 6.3.0, cmake 3.7.2. It looks like the build system thinks it's running on x86-64. On the other hand, cmake prints
The system is: Linux - 4.9.0-3-arm64 - aarch64
in CMakeOutput.log. Here's the output from cmake:CMakeError.log
CMakeOutput.log
The text was updated successfully, but these errors were encountered: