From 6b54b91ca3f126c2e1c630f1566755ac6129ea74 Mon Sep 17 00:00:00 2001 From: Tim Besard Date: Fri, 25 Sep 2026 23:02:10 +0200 Subject: [PATCH] Windows: GCCToolchain_jll v15.2.0+2 (unaligned vector moves) --- windows/package-i686/Dockerfile.2022 | 10 ++++++---- windows/package-x86_64/Dockerfile.2022 | 10 ++++++---- 2 files changed, 12 insertions(+), 8 deletions(-) diff --git a/windows/package-i686/Dockerfile.2022 b/windows/package-i686/Dockerfile.2022 index 7f31e3b..d3be802 100644 --- a/windows/package-i686/Dockerfile.2022 +++ b/windows/package-i686/Dockerfile.2022 @@ -26,13 +26,15 @@ RUN bash -l -c "pacman -Syuu --noconfirm --noprogressbar" && \ # ref: https://github.com/msys2/MSYS2-packages/issues/2305#issuecomment-758162640 # The C/C++/Fortran toolchain is not MSYS2's, but GCCToolchain_jll (Yggdrasil's -# `G/GCCToolchain`): GCC 15.2 built exactly like the GCC that CompilerSupportLibraries_jll -# comes from, whose runtime DLLs Julia ships (with SJLJ exceptions on i686). Installed in +# `G/GCCToolchain`): GCC 15.2 built like the GCC that CompilerSupportLibraries_jll comes +# from, whose runtime DLLs Julia ships (with SJLJ exceptions on i686). Installed in # its own prefix, C:\gcc, ahead of MSYS2's in PATH; MSYS2's own programs keep loading the # DLLs next to them. +# Like MSYS2's GCC, it uses unaligned vector moves by default, as 64-bit Windows does +# not align AVX stack slots (GCC PR 54412). # Bump only together with CompilerSupportLibraries_jll's GCC. -ARG GCC_TOOLCHAIN_URL=https://github.com/JuliaBinaryWrappers/GCCToolchain_jll.jl/releases/download/GCCToolchain-v15.2.0+1/GCCToolchain.v15.2.0.i686-w64-mingw32.tar.gz -ARG GCC_TOOLCHAIN_SHA256=28DFE67262C82D9D1F277DE2363CB47A363A393F76176070F76A49B9E8CA8547 +ARG GCC_TOOLCHAIN_URL=https://github.com/JuliaBinaryWrappers/GCCToolchain_jll.jl/releases/download/GCCToolchain-v15.2.0+2/GCCToolchain.v15.2.0.i686-w64-mingw32.tar.gz +ARG GCC_TOOLCHAIN_SHA256=ABEEB7195417B12462799B07027C0DFEF431F515DF9FA977A3716C8CA5FD7782 RUN powershell -Command "\ Invoke-WebRequest -Uri '%GCC_TOOLCHAIN_URL%' -OutFile C:/windows/temp/gcc.tar.gz -ErrorAction Stop ; \ if ((Get-FileHash -Algorithm SHA256 C:/windows/temp/gcc.tar.gz).Hash -ne '%GCC_TOOLCHAIN_SHA256%') { throw 'GCCToolchain checksum mismatch' }" && \ diff --git a/windows/package-x86_64/Dockerfile.2022 b/windows/package-x86_64/Dockerfile.2022 index b61363e..4c276b3 100644 --- a/windows/package-x86_64/Dockerfile.2022 +++ b/windows/package-x86_64/Dockerfile.2022 @@ -26,13 +26,15 @@ RUN bash -l -c "pacman -Syuu --noconfirm --noprogressbar" && \ # ref: https://github.com/msys2/MSYS2-packages/issues/2305#issuecomment-758162640 # The C/C++/Fortran toolchain is not MSYS2's, but GCCToolchain_jll (Yggdrasil's -# `G/GCCToolchain`): GCC 15.2 built exactly like the GCC that CompilerSupportLibraries_jll -# comes from, whose runtime DLLs Julia ships. MSYS2's newer GCC compiles against headers +# `G/GCCToolchain`): GCC 15.2 built like the GCC that CompilerSupportLibraries_jll comes +# from, whose runtime DLLs Julia ships. MSYS2's newer GCC compiles against headers # that need symbols those DLLs lack. Installed in its own prefix, C:\gcc, ahead of MSYS2's # in PATH; MSYS2's own programs keep loading the DLLs next to them. +# Like MSYS2's GCC, it uses unaligned vector moves by default, as 64-bit Windows does +# not align AVX stack slots (GCC PR 54412). # Bump only together with CompilerSupportLibraries_jll's GCC. -ARG GCC_TOOLCHAIN_URL=https://github.com/JuliaBinaryWrappers/GCCToolchain_jll.jl/releases/download/GCCToolchain-v15.2.0+1/GCCToolchain.v15.2.0.x86_64-w64-mingw32.tar.gz -ARG GCC_TOOLCHAIN_SHA256=24FE892D02BE842C6E9F620C1448B5F0A1D52C7B3091D6E14A487989F2CD7E3C +ARG GCC_TOOLCHAIN_URL=https://github.com/JuliaBinaryWrappers/GCCToolchain_jll.jl/releases/download/GCCToolchain-v15.2.0+2/GCCToolchain.v15.2.0.x86_64-w64-mingw32.tar.gz +ARG GCC_TOOLCHAIN_SHA256=FE7FEC1556DCD5BAC07ADF21BF862411A29B6B789876EAFBAC5A9AD1DC7F9164 RUN powershell -Command "\ Invoke-WebRequest -Uri '%GCC_TOOLCHAIN_URL%' -OutFile C:/windows/temp/gcc.tar.gz -ErrorAction Stop ; \ if ((Get-FileHash -Algorithm SHA256 C:/windows/temp/gcc.tar.gz).Hash -ne '%GCC_TOOLCHAIN_SHA256%') { throw 'GCCToolchain checksum mismatch' }" && \