-
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#3823 multi-phase drreg: Delay slot id label #4925
Conversation
Moves label that contains slot id for register spill/restore instrs to after the instr instead of before. The free spill slot selection logic that makes use of these labels scans instrs *after* the given one, so we may miss the label if it is placed before. Fixes order of app val spill and tool val restore instrs after an instr that reads and writes a spilled reg. This was to take into account the label which is now after the tool restore instr. Adds test to verify restoration of reg that was reserved in multiple phases on a fault, for X86 and AARCHXX. Also adds AARCHXX variant of the multi-phase slot conflict test. Adds a note to the label instrs added by drreg-test to mark instrumentation locations. This is to avoid conflicts with other lqbel instrs. Issue: #3823, #2985
We do not want any fault thrown by test_asm to be caught by any of our signals handlers, and possibly confuse them.
Also use udf instr instead of jump to invalid pc (0) to fail a test. This was supposed to be part of previous commit, but wasn't due to error. Formatting fixes
…the same routine.
Seems that dynamorio/suite/tests/CMakeLists.txt Line 4806 in ed1582e
I suppose there was some issue? I can try again. |
It failed. From #4719 (comment) I see that |
I would say no. |
Okay. I'm not too worried about this PR as it doesn't introduce any ARM-only logic; even drreg barely has any. Also, the new ARM test has same asm as one before. |
Moves label that contains slot id for register spill/restore instrs to after the instr instead of
before. The free spill slot selection logic that makes use of these labels scans instrs after
the given one, so we may miss the label if it is placed before.
Fixes order of app val spill and tool val restore instrs after an instr that reads and writes a
spilled reg. This was to take into account the label which is now after the tool restore instr.
Adds test to verify restoration of reg that was reserved in multiple phases on a fault, for
X86 and AARCHXX.
Also adds AARCHXX variant of the multi-phase slot conflict test, and extends it to also
check proper restoration of app val (under normal operation, as opposed to under a
fault which is done by the above test). The existing test only verified whether the slot
used in different phases was different.
Adds a note to the label instrs added by drreg-test to mark instrumentation locations. This
is to avoid conflicts with other label instrs.
Issue: #3823, #2985