-
Notifications
You must be signed in to change notification settings - Fork 562
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
i#3544 RV64: Port sample 'cbr' to RISCV64 #6837
Conversation
1. For RISCV64, conditional branch instruction of 'C' extension may not reach after adding clean call. So like X86, we add support to detect and convert compressed cbr to longer version. 2. For AARCH64 and RISCV64, a cbr may use the stolen reg and can not be mangled later as it is meta. So we check whether a cbr uses the stolen reg and replace it with a scratch reg. Now cbr works for AARCH64 and RISCV64. Still not work for ARM32 because of some bugs unrelated to cbr sample. Issue: DynamoRIO#1569, DynamoRIO#3544
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks like AArch64 CI is failing, and the cbr test is not enabled on RISC-V CI.
(May not get to this for another day) |
LGTM, merging. |
Hi @derekbruening, @chenhy0106 is an intern in our lab, and he would like to submit more PRs to DynamoRIO on RV64 support. Can we have him in the committer team so he can merge PRs himself in the future? |
Done. |
Now cbr works for RISCV64. Still does not work for ARM32/ARM64 because of some bugs unrelated to cbr sample.
Issue: #3544