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

Add qemu command prefix to testervecabi tests #508

Merged
merged 1 commit into from Jan 25, 2024

Conversation

joanaxcruz
Copy link
Contributor

This test suite covers the usage of scalar symbols with auto-vectorisation, to test the GNU ABI
symbols generated by SLEEF.
However, some failures are recorded when emulating these tests using user mode QEMU, for a
cross-compile build for AArch64 and s390x.
This is because this test suite does not get called with the EMULATOR command necessary.
This fix adds the emulator to the test command
which makes the tests pass when cross-compiling
and using user mode QEMU emulation.

This test suite covers the usage of scalar symbols
with auto-vectorisation, to test the GNU ABI
symbols generated by SLEEF.
However, some failures are recorded when emulating
these tests using user mode QEMU, for a
cross-compile build for AArch64 and s390x.
This is because this test suite does not get called
with the EMULATOR command necessary.
This fix adds the emulator to the test command
which makes the tests pass when cross-compiling
and using user mode QEMU emulation.
@joanaxcruz
Copy link
Contributor Author

joanaxcruz commented Jan 25, 2024

A bit more context on this PR:

Looking at the logs from running
ctest --output-on-failure --test-dir build-aarch64-gcc
on a aarch64 cross build on a x86 host where we pass -DEMULATOR=qemu-aarch64:

Before these changes, testervecabit suite would be invoked like:
Test command: "$(PWD)/sleef/build-aarch64-gcc/bin/testercevabi"

For some reason when these tests were being run in a docker environment, the following error would show:
image

After these changes, the invocation of testervecabi becomes:
Test command: /usr/bin/qemu-aarch64 "$(PWD)/sleef/build-aarch64-gcc/bin/testercevabi"

We stop observing the error above.

@blapie
Copy link
Collaborator

blapie commented Jan 25, 2024

Maybe worth mentioning that these failures were not observed on GHA since QEMU is invoked on a system level, and no EMULATOR is passed to cmake.
Maybe something to change in the future, so emulation is enabled as expected by build system, i.e. via a prescribed EMULATOR.

@blapie blapie merged commit 6c0ad2d into shibatch:master Jan 25, 2024
31 checks passed
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.

None yet

2 participants