diff --git a/pkgs/build-support/fetchurl/mirrors.nix b/pkgs/build-support/fetchurl/mirrors.nix index 5d7ebc7cd87b..cf30c54fe8c3 100644 --- a/pkgs/build-support/fetchurl/mirrors.nix +++ b/pkgs/build-support/fetchurl/mirrors.nix @@ -54,6 +54,8 @@ # GCC gcc = [ + "https://gcc.gnu.org/pub/gcc/" + "https://sourceware.org/pub/gcc/" "https://mirror.koddos.net/gcc/" "https://bigsearcher.com/mirrors/gcc/" "ftp://ftp.nluug.nl/mirror/languages/gcc/" diff --git a/pkgs/development/compilers/gcc/ng/default.nix b/pkgs/development/compilers/gcc/ng/default.nix index c849367aa1fc..4eb9ca23b9b5 100644 --- a/pkgs/development/compilers/gcc/ng/default.nix +++ b/pkgs/development/compilers/gcc/ng/default.nix @@ -14,7 +14,7 @@ }@packageSetArgs: let versions = { - "15.2.0".officialRelease.sha256 = "sha256-Q4/ZloJrDIJIWinaA6ctcdbjVBqD7HAt9Ccfb+Al0k4="; + "15.3.0".officialRelease.sha256 = "sha256-+lnBvu+JlfJ8TXHB3yJ1hxiTFdPm+v8btDBuYbDFMOs="; } // gccVersions; diff --git a/pkgs/development/compilers/gcc/patches/15/aarch64-sve-rtx.patch b/pkgs/development/compilers/gcc/patches/15/aarch64-sve-rtx.patch deleted file mode 100644 index 257c76d735da..000000000000 --- a/pkgs/development/compilers/gcc/patches/15/aarch64-sve-rtx.patch +++ /dev/null @@ -1,87 +0,0 @@ -Without the change `libhwy-1.3.0` ICEs when built for aarch64-linux as: -https://github.com/NixOS/nixpkgs/pull/320616#issuecomment-3764400891 - -Upstream report: http://gcc.gnu.org/PR120718 -Upstream fix: https://gcc.gnu.org/git/?p=gcc.git;a=commitdiff;h=d755aa03db0ad5b71ee7f39b09c92870789f2f00 -Fetched as: -$ curl -L 'https://gcc.gnu.org/git/?p=gcc.git;a=commitdiff_plain;h=d755aa03db0ad5b71ee7f39b09c92870789f2f00' > aarch64-sve-rtx.patch - -From: Richard Sandiford -Date: Thu, 14 Aug 2025 16:56:50 +0000 (+0100) -Subject: Remove MODE_COMPOSITE_P test from simplify_gen_subreg [PR120718] -X-Git-Url: https://gcc.gnu.org/git/?p=gcc.git;a=commitdiff_plain;h=d755aa03db0ad5b71ee7f39b09c92870789f2f00 - -Remove MODE_COMPOSITE_P test from simplify_gen_subreg [PR120718] - -simplify_gen_subreg rejected subregs of literal constants if -MODE_COMPOSITE_P. This was added by the fix for PR96648 in -g:c0f772894b6b3cd8ed5c5dd09d0c7917f51cf70f. Jakub said: - - As for the simplify_gen_subreg change, I think it would be desirable - to just avoid creating SUBREGs of constants on all targets and for all - constants, if simplify_immed_subreg simplified, fine, otherwise punt, - but as we are late in GCC11 development, the patch instead guards this - behavior on MODE_COMPOSITE_P (outermode) - i.e. only conversions to - powerpc{,64,64le} double double long double - and only for the cases where - simplify_immed_subreg was called. - -I'm not sure about relaxing the codes further, since subregs might -be wanted for CONST, SYMBOL_REF and LABEL_REF. But removing the -MODE_COMPOSITE_P is needed to fix PR120718, where we get an ICE -from generating a subreg of a V2SI const_vector. - -Unlike the trunk version, this backport does not remove the -VOIDmode test; see PR121501. - -gcc/ - PR rtl-optimization/120718 - * simplify-rtx.cc (simplify_context::simplify_gen_subreg): - Remove MODE_COMPOSITE_P condition. - -gcc/testsuite/ - PR rtl-optimization/120718 - * gcc.target/aarch64/sve/acle/general/pr120718.c: New test. ---- - -diff --git a/gcc/simplify-rtx.cc b/gcc/simplify-rtx.cc -index 88d31a71c05a..8d4cbf1371a3 100644 ---- a/gcc/simplify-rtx.cc -+++ b/gcc/simplify-rtx.cc -@@ -8317,14 +8317,11 @@ simplify_context::simplify_gen_subreg (machine_mode outermode, rtx op, - - if (GET_CODE (op) == SUBREG - || GET_CODE (op) == CONCAT -- || GET_MODE (op) == VOIDmode) -- return NULL_RTX; -- -- if (MODE_COMPOSITE_P (outermode) -- && (CONST_SCALAR_INT_P (op) -- || CONST_DOUBLE_AS_FLOAT_P (op) -- || CONST_FIXED_P (op) -- || GET_CODE (op) == CONST_VECTOR)) -+ || GET_MODE (op) == VOIDmode -+ || CONST_SCALAR_INT_P (op) -+ || CONST_DOUBLE_AS_FLOAT_P (op) -+ || CONST_FIXED_P (op) -+ || GET_CODE (op) == CONST_VECTOR) - return NULL_RTX; - - if (validate_subreg (outermode, innermode, op, byte)) -diff --git a/gcc/testsuite/gcc.target/aarch64/sve/acle/general/pr120718.c b/gcc/testsuite/gcc.target/aarch64/sve/acle/general/pr120718.c -new file mode 100644 -index 000000000000..9ca0938e36bf ---- /dev/null -+++ b/gcc/testsuite/gcc.target/aarch64/sve/acle/general/pr120718.c -@@ -0,0 +1,12 @@ -+/* { dg-options "-O2" } */ -+ -+#include -+typedef int __attribute__((vector_size(8))) v2si; -+typedef struct { int x; int y; } A; -+void bar(A a); -+void foo() -+{ -+ A a; -+ *(v2si *)&a = (v2si){0, (int)svcntd_pat(SV_ALL)}; -+ bar(a); -+} diff --git a/pkgs/development/compilers/gcc/patches/default.nix b/pkgs/development/compilers/gcc/patches/default.nix index cc0b5b47e9b4..06981780da3f 100644 --- a/pkgs/development/compilers/gcc/patches/default.nix +++ b/pkgs/development/compilers/gcc/patches/default.nix @@ -112,9 +112,6 @@ optionals noSysDirs ( # c++tools: Don't check --enable-default-pie. # --enable-default-pie breaks bootstrap gcc otherwise, because libiberty.a is not found ++ optional (is14 || is15) ./c++tools-dont-check-enable-default-pie.patch -# http://gcc.gnu.org/PR120718 backport (will be inclkuded in 15.3.0) to -# fix `highway-1.3.0` ICE on aarch64-linux. -++ optional is15 ./15/aarch64-sve-rtx.patch ## 2. Patches relevant on specific platforms #################################### diff --git a/pkgs/development/compilers/gcc/versions.nix b/pkgs/development/compilers/gcc/versions.nix index ca6b2c91033d..6e49faf18628 100644 --- a/pkgs/development/compilers/gcc/versions.nix +++ b/pkgs/development/compilers/gcc/versions.nix @@ -1,7 +1,7 @@ let majorMinorToVersionMap = { "16" = "16.1.0"; - "15" = "15.2.0"; + "15" = "15.3.0"; "14" = "14.3.0"; "13" = "13.4.0"; }; @@ -15,7 +15,7 @@ let # 3 digits: releases (14.2.0) # 4 digits: snapshots (14.2.1.20250322) "16.1.0" = "sha256-UO+02Uwzl6/zsNYaWr10i03THZ0/Kre+BbFx02pRD3k="; - "15.2.0" = "sha256-Q4/ZloJrDIJIWinaA6ctcdbjVBqD7HAt9Ccfb+Al0k4="; + "15.3.0" = "sha256-+lnBvu+JlfJ8TXHB3yJ1hxiTFdPm+v8btDBuYbDFMOs="; "14.3.0" = "sha256-4Nx3KXYlYxrI5Q+pL//v6Jmk63AlktpcMu8E4ik6yjo="; "13.4.0" = "sha256-nEzm27BAVo/cVFWIrAPFy8lajb8MeqSQFwhDr7WcqPU="; }