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#2360: consistently label nzcvqg as arithmetic on ARM #2362

Merged
merged 1 commit into from
Apr 18, 2017

Conversation

derekbruening
Copy link
Contributor

DR considers the Q and GE flags to be arithmetic for saving, restoring, and
in the EFLAGS_ARITH constant, yet not in the EFLAGS_{READ,WRITE}_ARITH
defines. We correct that here by including them in all arithmetic
defines.

Re-enables the drreg test that was broken because of this.

Relaxes a drreg assert on re-spilling to the aflags slot with different
regs, which is exposed by this fix. This relaxation mirrors what we
already do on restoring aflags.

Fixes #2360

DR considers the Q and GE flags to be arithmetic for saving, restoring, and
in the EFLAGS_ARITH constant, yet not in the EFLAGS_{READ,WRITE}_ARITH
defines.  We correct that here by including them in all arithmetic
defines.

Re-enables the drreg test that was broken because of this.

Relaxes a drreg assert on re-spilling to the aflags slot with different
regs, which is exposed by this fix.  This relaxation mirrors what we
already do on restoring aflags.

Fixes #2360
@derekbruening
Copy link
Contributor Author

appveyor failure is api.detach #2246 again: grrr.

@derekbruening derekbruening merged commit 9da55c6 into master Apr 18, 2017
@derekbruening derekbruening deleted the i2360-arm-arith-flags branch April 18, 2017 15:33
mikelui pushed a commit to VANDAL/dynamorio-sigil2 that referenced this pull request Apr 25, 2017
DR considers the Q and GE flags to be arithmetic for saving, restoring, and
in the EFLAGS_ARITH constant, yet not in the EFLAGS_{READ,WRITE}_ARITH
defines.  We correct that here by including them in all arithmetic
defines.

Re-enables the drreg test that was broken because of this.

Relaxes a drreg assert on re-spilling to the aflags slot with different
regs, which is exposed by this fix.  This relaxation mirrors what we
already do on restoring aflags.

Fixes DynamoRIO#2360
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.

q and ge flags are not considered "arithmetic" in defines, yet are in flag preservation code
1 participant