-
Notifications
You must be signed in to change notification settings - Fork 132
Use new arm64 runners for Linux tests #1878
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
Conversation
and: |
|
I ran the tests on macOS AArch64 with multipass and latest ubuntu, and they pass. I suspect something wrong with FP flags, I remember it was initially quite a pain that Fred worked on. |
|
On 2 different aarch64 machines, with different Linux distributions both have the same 2 errors when running |
|
I wasn't able to compile main without JIT enabled on Pico Zero 2. With JIT, there is a test that crashes, but the two mentioned tests pass. |
Supercedes atomvm#1878 Signed-off-by: Peter M <[email protected]>
|
I (think) I've figured it out.. a rabbit hole! - it's due to valgrind apparently not supporting arm64 fully.. have a superceding PR incoming shortly: petermm@8adaf3e |
I eventually was able to run compile AtomVM with jit disabled on this Pi Zero 2. The four offending tests (roundfloat, floatmath, test_op_bs_start_match, test_op_bs_create_bin) pass. They also pass with valgrind ( So I'm very confused by this bug... |
|
yes, think arm64 is very diverse, eg. try compiling I assume valgrind "fully" supports raspberry pi arm64, but obviously not any arm64 - but it's a rabbit hole for sure.. |
Supercedes atomvm#1878 Signed-off-by: Peter M <[email protected]>
1f02984 to
293bf81
Compare
|
This looks good, I suggest having a separate step with the That way some sanity can be kept and it's obvious if it's valgrind that is influencing the outcome of test-erlang. But either way is good for me. |
|
btw: we could use valgrind 3.25.1 from snap: |
6d8a164 to
745a075
Compare
745a075 to
cd7de4c
Compare
|
nitpicks, would be lack of "-O2" and "-DAVM_WARNINGS_ARE_ERRORS=ON", which old arm64 tests had - but you know better than me.. |
cd7de4c to
3963a66
Compare
3963a66 to
22618cb
Compare
Signed-off-by: Paul Guyot <[email protected]>
22618cb to
79a6c53
Compare
Cross compile armhf and s390x builds Continuation of: - #1878 - #1893 This cross compilation revealed 32 bits bugs. - Fix a warning that appeared with armhf builds - Fix a bug with `erlang:setnode/2` that failed on armhf when tested against recent versions of epmd - Fixed TRACE format strings that generated warnings on armhf when TRACE was enabled in opcodesswitch.h - Cross compile for `armhf` and `s390x` instead of emulating compiler These changes are made under both the "Apache 2.0" and the "GNU Lesser General Public License 2.1 or later" license terms (dual license). SPDX-License-Identifier: Apache-2.0 OR LGPL-2.1-or-later
Just in time compilation with armv6m target Continuation of: - #1770 - #1773 - #1833 - #1834 - #1835 - #1890 - #1878 - #1881 - #1887 The target is suitable for Pico, Pico2 and STM32. Benchmark test on a Pico with SMP disabled shows a speed increase from 14% to 62%. | native (w34/jit-arm) | emulated (main) -- d8ecc02 | % -- | -- | -- | -- pingpong_speed_test | 17437587 | 27590085 | 37 % prime_speed_test | 13257293 | 35212412 | 62 % prng_test | 1128949 | 1500967 | 25 % pi_test | 26759537 | 58693061 | 54 % sudoku_solution_test | 6420801 | 7471461 | 14 % sudoku_puzzle_test | 254335968 | 333834045 | 24 % Remark: the current backend requires 64 bits floats. 32 bits floats would need a specific variant. These changes are made under both the "Apache 2.0" and the "GNU Lesser General Public License 2.1 or later" license terms (dual license). SPDX-License-Identifier: Apache-2.0 OR LGPL-2.1-or-later
Continuation of:
These changes are made under both the "Apache 2.0" and the "GNU Lesser General
Public License 2.1 or later" license terms (dual license).
SPDX-License-Identifier: Apache-2.0 OR LGPL-2.1-or-later