fanquake
commented at 12:26 pm on April 1, 2022:
member
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 #24726.
guix: fix vmov alignment issues with gcc 10.3.0 & mingw-w64
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 #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 #24726.
Alternative to #24727.
See also:
https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=939559
d6fae988ef
fanquake added the label
Windows
on Apr 1, 2022
fanquake added the label
Build system
on Apr 1, 2022
fanquake added the label
DrahtBot Guix build requested
on Apr 1, 2022
hebasto
commented at 12:27 pm on April 1, 2022:
member
jonatack
commented at 12:34 pm on April 1, 2022:
member
Approach ACK on using the debian patch.
MarcoFalke added the label
Needs backport (23.x)
on Apr 1, 2022
MarcoFalke added this to the milestone 23.0
on Apr 1, 2022
laanwj
commented at 1:16 pm on April 1, 2022:
member
I’d normally consider this too hacky to be worth it, but as the patch is used by debian (which we’ve indirectly, through Ubuntu, already built with) there’s good precedent and I’m reasonably convinced this is safe, and think it’s ok to do instead of disabling AVX2 for the Windows build.
theuni
commented at 2:11 pm on April 1, 2022:
member
Whoa, impressive and quick detective work @laanwj and @fanquake!
This makes sense for release, but this leaves us with a known miscompile when building for win from source with a modern compiler, no? So the only realistic way to get a safe exe other than msvc I guess is the official binary or a guix self-build.
This is a metadata mirror of the GitHub repository
bitcoin/bitcoin.
This site is not affiliated with GitHub.
Content is generated from a GitHub metadata backup.
generated: 2024-12-22 00:12 UTC
This site is hosted by @0xB10C More mirrored repositories can be found on mirror.b10c.me