-
Notifications
You must be signed in to change notification settings - Fork 36.5k
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
guix: Linux and macOS builds are not cross-arch reproducible with powerpc64le build arch #31207
Comments
I'd say all of that would be useful. You link to the GCC bump to 12, which seems one of the more significant changes to the Linux build, so testing commit e1ce5b8 (and |
Yes, please do. i'm happy to try to help find the difference but i don't have access to a ppc64 system. |
Last I was looking at this, if you guix built (master) for --- a/x86_64.txt
+++ b/aarch64.txt
@@ -176,8 +176,8 @@
24ea8: 78 1b 77 7c mr r23,r3
24eac: 66 01 17 7c mtfprd f0,r23
24eb0: 14 f2 37 7d add r9,r23,r30
- 24eb4: d0 00 b8 3a addi r21,r24,208
- 24eb8: 10 00 40 39 li r10,16
+ 24eb4: 10 00 40 39 li r10,16
+ 24eb8: d0 00 b8 3a addi r21,r24,208
24ebc: 00 00 00 60 nop
24ec0: 10 8e 22 f9 std r9,-29168(r2)
24ec4: 50 00 00 f0 xxspltd vs0,vs0,0 In this case, in: 0000000000024bf0 <_GLOBAL__sub_I_descriptor.cpp>:
24bf0: 4e 00 4c 3c addis r2,r12,78
24bf4: 10 32 42 38 addi r2,r2,12816
24bf8: a6 02 08 7c mflr r0
<snip>
24eb0: 14 f2 37 7d add r9,r23,r30
24eb4: d0 00 b8 3a addi r21,r24,208
24eb8: 10 00 40 39 li r10,16
24ebc: 00 00 00 60 nop |
It might be, but it's unclear to me if that is the same issue, this OP talks about building on PPC64. (that's a pretty awful issue btw! apparently the optimizer is non-deterministic?) |
I've uploaded my non-debug binaries here: If the debug variants would be helpful, I don't mind uploading them too. I don't have any plans to delete these files or decommission this server, but it's personal hobbyist infrastructure, so I cannot make any guarantees about uptime or permanence. |
i've compared against the binaries from bitcoincore.org and looked at the ELF metadata and disassembly and it's a significant difference, not just a few different instructions. The entire Debug symbols could help but ideally i'd need a linker map. Can you please build the following branch: https://github.com/laanwj/bitcoin/tree/2024-11-linker-map-28.0 — it is v28.0 with a patch to generate |
Is there an existing issue for this?
Current behaviour
The Guix output hashes for Windows and the source tarball match between my powerpc64le build machine and the official binaries, but the hashes for macOS and Linux do not match.
This seems to be a partial regression from 27.1, where Windows, Linux, and the source tarball all matched for me. macOS did not even build without errors for 27.1 on powerpc64le (that is at least fixed in 28.0), so I have nothing to compare there.
It is not clear to me whether the root cause might be the same as the converse problem referenced in #27897 (powerpc64le hashes didn't match between x86_64 and aarch64 build machines).
(Maybe I've done something stupid here, but I definitely can't tell what I would have done wrong, and the different behavior from 27.1 certainly seems like I've hit a real bug.)
Expected behaviour
All Guix output hashes should match between my powerpc64le build machine and the official binaries.
Steps to reproduce
./contrib/guix/guix-build
guix-sigs
repo (I used pinheadmz's Guix sigs as a reference).Relevant log output
Hashes from my powerpc64le build machine:
For comparison, see https://github.com/bitcoin-core/guix.sigs/blob/main/28.0/pinheadmz/noncodesigned.SHA256SUMS
I would be happy to upload my binaries and/or run diffoscope on request. I would also be happy to run Guix builds of additional commits on my powerpc64le machine if there are commits that seem likely to be the culprit.
How did you obtain Bitcoin Core
Compiled from source
What version of Bitcoin Core are you using?
v28.0
Operating system and version
Debian 12.7 running inside KVM; host is also Debian 12.7
Machine specifications
powerpc64le; HDD; wired network on residential Internet connection.
The text was updated successfully, but these errors were encountered: