-
Notifications
You must be signed in to change notification settings - Fork 2.9k
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 two bit syntax bugs when running OTP-24 compiled code with the AArch64 JIT #8248
Fix two bit syntax bugs when running OTP-24 compiled code with the AArch64 JIT #8248
Conversation
On AArch64, when constructing a binary using the bit syntax, using a unit greater than 16 and not being a power of two would, would cause erroneous results. For example, given this module compiled with Erlang/OTP 24: -module(t). -export([bar/2]). bar(Contents, Size) -> <<Contents:Size/unit:31>>. only the first two bytes would be correctly set: 1> t:bar(-1, 1). <<255,255,0,0:7>> 2> t:bar(-1, 1). <<255,255,149,35:7>> 3> t:bar(-1, 1). <<255,255,0,0:7>> 4> t:bar(-1, 1). <<255,255,3,0:7>>
This bug was introduced in 67c52b6. Closes erlang#8238
CT Test Results 3 files 143 suites 46m 48s ⏱️ Results for commit 3ab2cc6. ♻️ This comment has been updated with latest results. To speed up review, make sure that you have read Contributing to Erlang/OTP and that all checks pass. See the TESTING and DEVELOPMENT HowTo guides for details about how to run test locally. Artifacts// Erlang/OTP Github Action Bot |
Any chance of getting this into maint-26? |
Yes. This PR got merged into |
When/how is this patch released in docker images? Using |
@jhogberg I understand that if merged to |
When can we expect to see this released for docker? |
This pull request eliminates the crash introduced in OTP-26.2.3 on AArch64 when running code compiled for OTP 24. It also fixes another bit syntax bug that I found when I extended the test suite.