Skip to content
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 stolen-reg test to RISC-V #6738

Merged
merged 8 commits into from
Mar 28, 2024

Conversation

ksco
Copy link
Contributor

@ksco ksco commented Mar 27, 2024

Partially enables stolen-reg test for RISC-V, with the synchall translation path unsupported. The following modifications/fixes were made:

  1. Changed the default stolen-reg from t3 to s11 to be a callee-saved register;
  2. Ported stolen-reg.c and stolen-reg.dll.c to support RISC-V;
  3. Fixed instr_is_mov_constant() and instr_is_nop() for the pattern matching in stolen-reg.dll.c to work;
  4. Fixed READ_TLS_SLOT() macro register allocation issue;
  5. Added more necessary loads/restores for tp register alongside stolen register;
  6. Removed duplicated tests in RUNS_ON_QEMU label;

With this patch, the stolen-reg test is now working on real hardware (without the synchall translation path), but like many other tests related to signals, it does not work on QEMU.

suite/tests/CMakeLists.txt Outdated Show resolved Hide resolved
@ksco ksco requested a review from derekbruening March 27, 2024 17:21
core/arch/arch.c Show resolved Hide resolved
suite/tests/client-interface/stolen-reg.c Show resolved Hide resolved
suite/tests/client-interface/stolen-reg.dll.c Outdated Show resolved Hide resolved
@ksco ksco merged commit 62af632 into DynamoRIO:master Mar 28, 2024
16 checks passed
@ksco ksco deleted the i3544-stolen-reg-test branch March 28, 2024 18:23
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants