Open Richard-Rogalski opened 11 months ago
can you try to diff the result of the failing test with the reference? For the build folder, do something like
git diff --no-index test07.out ../tests/ref07.txt
diff --git a/test07.out b/../box64-9999//tests/ref07.txt
index bbad3e3..76649ab 100644
--- a/test07.out
+++ b/../box64-9999//tests/ref07.txt
@@ -1 +1 @@
-0 is 0.000000, sin(pi/2) is 0.000000 and 3*1.5 is 1.000000.
+0 is 0.000000, sin(pi/2) is 1.000000 and 3*1.5 is 4.500000.
Ah ok. Looks like some issue with printf
(or a variant) wrapping!
Also, did you built with the PPC64LE
cmake flags?
sure did!! Htuo.log < build log
Let me know if there's anything wrong with my cmake flags (I package box for gentoo's guru repository). nogit was intentional as this is a git live ebuild
You are also free to ssh access at any point in the future too to test things or if you want to set up CI on my box
I bisected this issue on a ppc64le power9 system (has the same issue with test07 failing) and got e2077c46ce334453c567382cb254d1010f733fb1 as the bad change. Looking into it more, I don't think that the change to the flag handling itself is the issue, but rather some packing / alignment side effects of changing the total size of the flags in x64emu_t
.
My theory is that the scratch
array declared later on in x64emu_t
needs extra alignment on ppc64le for some reason, and it used to just happen to be right with the old flag fields. If I force the scratch array to be aligned to 16 bytes, the test starts passing.
log98.txt << test log
Gentoo running on my ppc64le powernv power8 machine. This is the latest git commit. Identical results on 0.2.4. CFLAGS="-O2 -pipe -mcpu=power8". However, INTERESTINGLY, I get the following on 0.2.2:
Let me know what other info/testing you want, or you can also get SSH access to the machine if you drop me a pubkey either here or by mail at rrogalski <> firemail.cc