-
-
Notifications
You must be signed in to change notification settings - Fork 9.8k
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
Fix SHA3_squeeze on armv4. #22719
Fix SHA3_squeeze on armv4. #22719
Conversation
For armv4 - Only the first 4 parameters can be passed via registers (r0..r3). As all of the general registers are already used, r11 was used to store the 'next' param. R11 is now pushed/poped on entry/exit.
See also #22722 |
Partially fixes #22692 |
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.
Assuming you've tested this with qemu.
Yes, also ran evp_test and evp_xof_test.. |
The fix Looks good to me! |
24 hours has passed since 'approval: done' was set, but as this PR has been updated in that time the label 'approval: ready to merge' is not being automatically set. Please review the updates and set the label manually. |
Merged to the master branch. Thank you. |
For armv4 - Only the first 4 parameters can be passed via registers (r0..r3). As all of the general registers are already used, r11 was used to store the 'next' param. R11 is now pushed/poped on entry/exit. Reviewed-by: Paul Dale <pauli@openssl.org> Reviewed-by: Tomas Mraz <tomas@openssl.org> (Merged from #22719)
@slontis unfortunately it still did not fix the problem completely as seen in the evp_test failures here: https://github.com/openssl/openssl/actions/runs/6874516007/job/18696334986 |
Well that is embarrassing. I did run this test and get it to work, but I must of not rerun this after I did some cleanups.. |
For armv4 - Only the first 4 parameters can be passed via registers (r0..r3). As all of the general registers are already used, r11 was used to store the 'next' param. R11 is now pushed/poped on entry/exit. Reviewed-by: Paul Dale <pauli@openssl.org> Reviewed-by: Tomas Mraz <tomas@openssl.org> (Merged from openssl/openssl#22719) Signed-off-by: fly2x <fly2x@hitls.org>
For armv4 - Only the first 4 parameters can be passed via registers (r0..r3).
As all of the general registers are already used,
r11 was used to store the 'next' param.
R11 is now pushed/poped on entry/exit.
Tested using the same qemu settings as our CI uses.
Checklist