Skip to content

Conversation

fanquake
Copy link
Member

@fanquake fanquake commented Apr 4, 2022

fanquake and others added 2 commits April 4, 2022 10:48
This introduces a patch to our GCC (10.3.0) mingw-w64 compiler, in Guix, to make
it avoid using aligned vmov instructions. This works around a longstanding issue
in GCC, https://gcc.gnu.org/bugzilla/show_bug.cgi?id=54412, which was recently
discovered to be causing issues, see bitcoin#24726.

Note that distros like Debian are also patching around this issue, and that is
where this patch comes from. This would also explain why we haven't run into this
problem earlier, in development builds. See:
https://salsa.debian.org/mingw-w64-team/gcc-mingw-w64/-/blob/master/debian/patches/vmov-alignment.patch.

Fixes bitcoin#24726.
Alternative to bitcoin#24727.

See also:
https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=939559

Github-Pull: bitcoin#24736
Rebased-From: d6fae98
@jonatack
Copy link
Member

jonatack commented Apr 4, 2022

I'd propose #24710 (has several ACKs) and #24734, if merged.

@fanquake
Copy link
Member Author

fanquake commented Apr 4, 2022

Guix Build (on x86_64):

e072d6d73bf4a4c6e391a445817713ecd7b25b648d00f576587442d84588bb36  guix-build-39396ab593f2/output/aarch64-linux-gnu/SHA256SUMS.part
bce4a8fc6c7a316961391fa4911968b570adf26233b371269e649b56ebfa8dc8  guix-build-39396ab593f2/output/aarch64-linux-gnu/bitcoin-39396ab593f2-aarch64-linux-gnu-debug.tar.gz
20c81feae061ae02bdb4ef6f2ed777ce1421a728fa9ff1a7abd09ddaa21982cd  guix-build-39396ab593f2/output/aarch64-linux-gnu/bitcoin-39396ab593f2-aarch64-linux-gnu.tar.gz
8a8f1f2b5aacc93bb0d2eb1fffa1bea538aec4c3d4a0d5e60f97af1e564010f8  guix-build-39396ab593f2/output/arm-linux-gnueabihf/SHA256SUMS.part
b921bf7de3a8350f458323e368dc56b262295a5a69c19dc09501a6eb62c9d119  guix-build-39396ab593f2/output/arm-linux-gnueabihf/bitcoin-39396ab593f2-arm-linux-gnueabihf-debug.tar.gz
da99aca53fd95243880f036d75f566a94d1959fa574e568cbdffd017660835b5  guix-build-39396ab593f2/output/arm-linux-gnueabihf/bitcoin-39396ab593f2-arm-linux-gnueabihf.tar.gz
40f50fcece64d7d3f7929c3b92c28bc65f3c82162c6d906a549dfcb4f3eaa5d7  guix-build-39396ab593f2/output/arm64-apple-darwin/SHA256SUMS.part
3f3c95c5d98954199efb978f504054be3d5794baf25bf2fa3949ec0ec747c39c  guix-build-39396ab593f2/output/arm64-apple-darwin/bitcoin-39396ab593f2-arm64-apple-darwin-unsigned.dmg
c9c08eae2742e4bfedf8f9ed08a8b382bd766fd1e3c5eef2481e1ec6303fe9be  guix-build-39396ab593f2/output/arm64-apple-darwin/bitcoin-39396ab593f2-arm64-apple-darwin-unsigned.tar.gz
e595edd7a9c4435858cf3f130de8c32be2de1d71e3e182fd891c00516a10840a  guix-build-39396ab593f2/output/arm64-apple-darwin/bitcoin-39396ab593f2-arm64-apple-darwin.tar.gz
60b1a5935cfb39f32f4032a61fc54ae625afd0136c9f0f716fa2efe1cf635405  guix-build-39396ab593f2/output/dist-archive/bitcoin-39396ab593f2.tar.gz
a9aba504f90bca64402ca00cc4d9178a26cb59b4ab4135bbc5b51cfb783511f0  guix-build-39396ab593f2/output/powerpc64-linux-gnu/SHA256SUMS.part
da1f50167ec4097dde27ce3eeeb5e48c3646dcf7d7fa3e80fce7c3c7ada4622c  guix-build-39396ab593f2/output/powerpc64-linux-gnu/bitcoin-39396ab593f2-powerpc64-linux-gnu-debug.tar.gz
be2b1901d15d6eef90b7b7af21a2c6f4d9e4f267270ffba479f8468a1aa1f3d3  guix-build-39396ab593f2/output/powerpc64-linux-gnu/bitcoin-39396ab593f2-powerpc64-linux-gnu.tar.gz
b864d762e65a2da3046ab109a87fa1d340de47b407cae3e74c5bdd5d00f60bcf  guix-build-39396ab593f2/output/powerpc64le-linux-gnu/SHA256SUMS.part
8b1b77e660604f4c0c9a1a26e3f08db4cab42f4786bd511dd04f22b7b92bd565  guix-build-39396ab593f2/output/powerpc64le-linux-gnu/bitcoin-39396ab593f2-powerpc64le-linux-gnu-debug.tar.gz
b1be8336cf51ca3fddf7e6ceda1a30813d4c8118c5fab4def797902af4702304  guix-build-39396ab593f2/output/powerpc64le-linux-gnu/bitcoin-39396ab593f2-powerpc64le-linux-gnu.tar.gz
3a347c742eb4e701cafea2cedfe14611cbced76a17da145792307f0e559b70d9  guix-build-39396ab593f2/output/riscv64-linux-gnu/SHA256SUMS.part
10a22e7e97c2801e9dd4eac2ef3250e61664299dc692c3bd7ad8b7e80d938a7d  guix-build-39396ab593f2/output/riscv64-linux-gnu/bitcoin-39396ab593f2-riscv64-linux-gnu-debug.tar.gz
2078198acdb247092844cc9c3bc9678139389bb505fa99010577b5894dd84767  guix-build-39396ab593f2/output/riscv64-linux-gnu/bitcoin-39396ab593f2-riscv64-linux-gnu.tar.gz
9de659f6a4dd83e88a1d9b69fabe7ab8385338074327d894f9dc73383ade0236  guix-build-39396ab593f2/output/x86_64-apple-darwin/SHA256SUMS.part
b80cf30bc3d7444ca4a5bcc0da6eff8af982a2240cefe484ee909615656d70b2  guix-build-39396ab593f2/output/x86_64-apple-darwin/bitcoin-39396ab593f2-x86_64-apple-darwin-unsigned.dmg
a32f2a702847d28e0c232c435481c1aa4718ab921e66f32d4f748abe8ff9b5b6  guix-build-39396ab593f2/output/x86_64-apple-darwin/bitcoin-39396ab593f2-x86_64-apple-darwin-unsigned.tar.gz
aa32cc1e1c4d4799dc4074e6deb8fd5d4b6d49a1a35bf53151b2747839cd38e1  guix-build-39396ab593f2/output/x86_64-apple-darwin/bitcoin-39396ab593f2-x86_64-apple-darwin.tar.gz
cadedfb9a48ab45ccfaec4119ffb5d7db8edfbef3d0c6b4ac71dd826e9b0d4aa  guix-build-39396ab593f2/output/x86_64-linux-gnu/SHA256SUMS.part
d2d2f01c072a2c715f1c59b3b25cab31a0af6f86888d5477fb9b819584728923  guix-build-39396ab593f2/output/x86_64-linux-gnu/bitcoin-39396ab593f2-x86_64-linux-gnu-debug.tar.gz
2aec444e10566d043cc98710a2d38a1e0e5a1fe764e7813f1387519000091a24  guix-build-39396ab593f2/output/x86_64-linux-gnu/bitcoin-39396ab593f2-x86_64-linux-gnu.tar.gz
c6c1353b0dabe885b157a48f83c103d99569b51b09dfda1e69ea6a66196f614f  guix-build-39396ab593f2/output/x86_64-w64-mingw32/SHA256SUMS.part
a7542ac4b75db8c94d6a7925c44aa2238492142780363b679f62a47dea87a3d5  guix-build-39396ab593f2/output/x86_64-w64-mingw32/bitcoin-39396ab593f2-win64-debug.zip
4e0e35e1fe40f06e1db988dfff55b315a53be575b9c7638aa14eee917f39e6eb  guix-build-39396ab593f2/output/x86_64-w64-mingw32/bitcoin-39396ab593f2-win64-setup-unsigned.exe
929145f77c235febeceb9a5899bd87c6c086ccfabf628d7e57126c8948b5af28  guix-build-39396ab593f2/output/x86_64-w64-mingw32/bitcoin-39396ab593f2-win64-unsigned.tar.gz
a0c2b85d175489324f3a582e956000577ffe46f8e05c400394bf3de72674d05b  guix-build-39396ab593f2/output/x86_64-w64-mingw32/bitcoin-39396ab593f2-win64.zip

@hebasto
Copy link
Member

hebasto commented Apr 4, 2022

Would it better to backport #24599 as well to avoid a conflict while backporting #24736?

@fanquake
Copy link
Member Author

fanquake commented Apr 4, 2022

Would it better to backport #24599 as well to avoid a conflict while backporting #24736?

I'm not sure that backporting additional, unrelated changes is better than just reviewing a straight-forward, single line conflict. Particularly given we are already at rc4.

Copy link
Member

@hebasto hebasto left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

ACK 39396ab, backported locally, got zero diff with the PR branch.

@gruve-p
Copy link
Contributor

gruve-p commented Apr 4, 2022

ACK 39396ab

Copy link
Member

@jarolrod jarolrod left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

ACK 39396ab

performed local back port, zero-diff

@hebasto
Copy link
Member

hebasto commented Apr 5, 2022

Guix builds on x86_64:

$ find guix-build-$(git rev-parse --short=12 HEAD)/output/ -type f -print0 | env LC_ALL=C sort -z | xargs -r0 sha256sum
e072d6d73bf4a4c6e391a445817713ecd7b25b648d00f576587442d84588bb36  guix-build-39396ab593f2/output/aarch64-linux-gnu/SHA256SUMS.part
bce4a8fc6c7a316961391fa4911968b570adf26233b371269e649b56ebfa8dc8  guix-build-39396ab593f2/output/aarch64-linux-gnu/bitcoin-39396ab593f2-aarch64-linux-gnu-debug.tar.gz
20c81feae061ae02bdb4ef6f2ed777ce1421a728fa9ff1a7abd09ddaa21982cd  guix-build-39396ab593f2/output/aarch64-linux-gnu/bitcoin-39396ab593f2-aarch64-linux-gnu.tar.gz
8a8f1f2b5aacc93bb0d2eb1fffa1bea538aec4c3d4a0d5e60f97af1e564010f8  guix-build-39396ab593f2/output/arm-linux-gnueabihf/SHA256SUMS.part
b921bf7de3a8350f458323e368dc56b262295a5a69c19dc09501a6eb62c9d119  guix-build-39396ab593f2/output/arm-linux-gnueabihf/bitcoin-39396ab593f2-arm-linux-gnueabihf-debug.tar.gz
da99aca53fd95243880f036d75f566a94d1959fa574e568cbdffd017660835b5  guix-build-39396ab593f2/output/arm-linux-gnueabihf/bitcoin-39396ab593f2-arm-linux-gnueabihf.tar.gz
40f50fcece64d7d3f7929c3b92c28bc65f3c82162c6d906a549dfcb4f3eaa5d7  guix-build-39396ab593f2/output/arm64-apple-darwin/SHA256SUMS.part
3f3c95c5d98954199efb978f504054be3d5794baf25bf2fa3949ec0ec747c39c  guix-build-39396ab593f2/output/arm64-apple-darwin/bitcoin-39396ab593f2-arm64-apple-darwin-unsigned.dmg
c9c08eae2742e4bfedf8f9ed08a8b382bd766fd1e3c5eef2481e1ec6303fe9be  guix-build-39396ab593f2/output/arm64-apple-darwin/bitcoin-39396ab593f2-arm64-apple-darwin-unsigned.tar.gz
e595edd7a9c4435858cf3f130de8c32be2de1d71e3e182fd891c00516a10840a  guix-build-39396ab593f2/output/arm64-apple-darwin/bitcoin-39396ab593f2-arm64-apple-darwin.tar.gz
60b1a5935cfb39f32f4032a61fc54ae625afd0136c9f0f716fa2efe1cf635405  guix-build-39396ab593f2/output/dist-archive/bitcoin-39396ab593f2.tar.gz
a9aba504f90bca64402ca00cc4d9178a26cb59b4ab4135bbc5b51cfb783511f0  guix-build-39396ab593f2/output/powerpc64-linux-gnu/SHA256SUMS.part
da1f50167ec4097dde27ce3eeeb5e48c3646dcf7d7fa3e80fce7c3c7ada4622c  guix-build-39396ab593f2/output/powerpc64-linux-gnu/bitcoin-39396ab593f2-powerpc64-linux-gnu-debug.tar.gz
be2b1901d15d6eef90b7b7af21a2c6f4d9e4f267270ffba479f8468a1aa1f3d3  guix-build-39396ab593f2/output/powerpc64-linux-gnu/bitcoin-39396ab593f2-powerpc64-linux-gnu.tar.gz
b864d762e65a2da3046ab109a87fa1d340de47b407cae3e74c5bdd5d00f60bcf  guix-build-39396ab593f2/output/powerpc64le-linux-gnu/SHA256SUMS.part
8b1b77e660604f4c0c9a1a26e3f08db4cab42f4786bd511dd04f22b7b92bd565  guix-build-39396ab593f2/output/powerpc64le-linux-gnu/bitcoin-39396ab593f2-powerpc64le-linux-gnu-debug.tar.gz
b1be8336cf51ca3fddf7e6ceda1a30813d4c8118c5fab4def797902af4702304  guix-build-39396ab593f2/output/powerpc64le-linux-gnu/bitcoin-39396ab593f2-powerpc64le-linux-gnu.tar.gz
3a347c742eb4e701cafea2cedfe14611cbced76a17da145792307f0e559b70d9  guix-build-39396ab593f2/output/riscv64-linux-gnu/SHA256SUMS.part
10a22e7e97c2801e9dd4eac2ef3250e61664299dc692c3bd7ad8b7e80d938a7d  guix-build-39396ab593f2/output/riscv64-linux-gnu/bitcoin-39396ab593f2-riscv64-linux-gnu-debug.tar.gz
2078198acdb247092844cc9c3bc9678139389bb505fa99010577b5894dd84767  guix-build-39396ab593f2/output/riscv64-linux-gnu/bitcoin-39396ab593f2-riscv64-linux-gnu.tar.gz
9de659f6a4dd83e88a1d9b69fabe7ab8385338074327d894f9dc73383ade0236  guix-build-39396ab593f2/output/x86_64-apple-darwin/SHA256SUMS.part
b80cf30bc3d7444ca4a5bcc0da6eff8af982a2240cefe484ee909615656d70b2  guix-build-39396ab593f2/output/x86_64-apple-darwin/bitcoin-39396ab593f2-x86_64-apple-darwin-unsigned.dmg
a32f2a702847d28e0c232c435481c1aa4718ab921e66f32d4f748abe8ff9b5b6  guix-build-39396ab593f2/output/x86_64-apple-darwin/bitcoin-39396ab593f2-x86_64-apple-darwin-unsigned.tar.gz
aa32cc1e1c4d4799dc4074e6deb8fd5d4b6d49a1a35bf53151b2747839cd38e1  guix-build-39396ab593f2/output/x86_64-apple-darwin/bitcoin-39396ab593f2-x86_64-apple-darwin.tar.gz
cadedfb9a48ab45ccfaec4119ffb5d7db8edfbef3d0c6b4ac71dd826e9b0d4aa  guix-build-39396ab593f2/output/x86_64-linux-gnu/SHA256SUMS.part
d2d2f01c072a2c715f1c59b3b25cab31a0af6f86888d5477fb9b819584728923  guix-build-39396ab593f2/output/x86_64-linux-gnu/bitcoin-39396ab593f2-x86_64-linux-gnu-debug.tar.gz
2aec444e10566d043cc98710a2d38a1e0e5a1fe764e7813f1387519000091a24  guix-build-39396ab593f2/output/x86_64-linux-gnu/bitcoin-39396ab593f2-x86_64-linux-gnu.tar.gz
c6c1353b0dabe885b157a48f83c103d99569b51b09dfda1e69ea6a66196f614f  guix-build-39396ab593f2/output/x86_64-w64-mingw32/SHA256SUMS.part
a7542ac4b75db8c94d6a7925c44aa2238492142780363b679f62a47dea87a3d5  guix-build-39396ab593f2/output/x86_64-w64-mingw32/bitcoin-39396ab593f2-win64-debug.zip
4e0e35e1fe40f06e1db988dfff55b315a53be575b9c7638aa14eee917f39e6eb  guix-build-39396ab593f2/output/x86_64-w64-mingw32/bitcoin-39396ab593f2-win64-setup-unsigned.exe
929145f77c235febeceb9a5899bd87c6c086ccfabf628d7e57126c8948b5af28  guix-build-39396ab593f2/output/x86_64-w64-mingw32/bitcoin-39396ab593f2-win64-unsigned.tar.gz
a0c2b85d175489324f3a582e956000577ffe46f8e05c400394bf3de72674d05b  guix-build-39396ab593f2/output/x86_64-w64-mingw32/bitcoin-39396ab593f2-win64.zip

@maflcko maflcko merged commit 1ea7676 into bitcoin:23.x Apr 5, 2022
@fanquake fanquake deleted the rc4_backports branch April 5, 2022 07:53
@bitcoin bitcoin locked and limited conversation to collaborators Apr 5, 2023
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

7 participants