On Fri, 18 Apr 2025, Jeremy Drake wrote:
On Fri, 18 Apr 2025, Martin Storsjö wrote:
On Tue, 15 Apr 2025, Jeremy Drake via Mingw-w64-public wrote:
Unfortunately, the test-llvm-mingw and test-libcxx jobs fail for arm64.
I'm not clear on why. The test-ffmpeg jobs work, though
FWIW, the tests that are failing aren't due to armv7 not being supported - it
does seem to run just fine on the runners so far - they seem to run 10.0.22631
aka 23H2. But at some point in the future I guess it no longer will be
possible to run those binaries.
Correct
And the test runner script assumes that when running via msys2 (which this
does), it can run the built i686 and x86_64 executables, but nothing else. On
these runners, we can run the outputs of all architectures, but we shouldn't
try the really tricky ones when running emulated.
This will need a little bit of tweaks in the llvm-mingw run-tests.sh script;
I've got one way of fixing it done - once that's merged in llvm-mingw we can
point the mingw-w64 CI to use that version.
You might have something more clever in mind, but technically everything
you need to know is in `uname` at this point (excluding things like WinPE
where not all binary types are present, and preview builds):
Oh, wow, that's nice! As msys2 on arm64 still is emulated x86_64 binaries,
I wasn't aware that it actually does expose all this information. This is
highly useful; I'll try to incorporate that.
My initial PoC was based on just looking at <toolchain>/bin/clang
-dumpmachine, with the assumption that if I'm executing an aarch64 clang
binary, then I can also probably execute that. But vice versa, if I'm
executing an i686 or armv7 clang, I can't technically be sure that I also
can run x86_64 or aarch64 binaries - so I'd apply some conservative
guesses on that. But with your suggested logic we can be quite precise
with this. Thanks!
// Martin
_______________________________________________
Mingw-w64-public mailing list
Mingw-w64-public@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/mingw-w64-public