diff mbox series

gcc: Upgrade GCC to 16.2 release

Message ID 20260813133515.523797-1-Hemanth.KumarMD@windriver.com
State New
Headers show
Series gcc: Upgrade GCC to 16.2 release | expand

Commit Message

Hemanth Kumar M D Aug. 13, 2026, 1:35 p.m. UTC
From: Hemanth Kumar M D <Hemanth.KumarMD@windriver.com>

This is a point release in the GCC-16 release series with more than
102 bugs fixed since GCC 16.1, containing important fixes for
regressions and serious bugs.

Drop backported patch 0026-gcc-i386-fix-ICE-with-ffloat-store-PR125308.patch
as the fix is now available upstream in this release.

Bug fixes: https://gcc.gnu.org/bugzilla/buglist.cgi?bug_status=RESOLVED&list_id=485623&resolution=FIXED&target_milestone=16.2
Docs: https://gcc.gnu.org/onlinedocs/16.2

Signed-off-by: Hemanth Kumar M D <Hemanth.KumarMD@windriver.com>
---
 meta/conf/distro/include/maintainers.inc      |  2 +-
 .../gcc/{gcc-16.1.inc => gcc-16.2.inc}        |  7 +-
 ...ian_16.1.bb => gcc-cross-canadian_16.2.bb} |  0
 .../{gcc-cross_16.1.bb => gcc-cross_16.2.bb}  |  0
 ...-crosssdk_16.1.bb => gcc-crosssdk_16.2.bb} |  0
 ...cc-runtime_16.1.bb => gcc-runtime_16.2.bb} |  0
 ...itizers_16.1.bb => gcc-sanitizers_16.2.bb} |  0
 ...{gcc-source_16.1.bb => gcc-source_16.2.bb} |  0
 ...6-fix-ICE-with-ffloat-store-PR125308.patch | 89 -------------------
 .../gcc/{gcc_16.1.bb => gcc_16.2.bb}          |  0
 ...initial_16.1.bb => libgcc-initial_16.2.bb} |  0
 .../gcc/{libgcc_16.1.bb => libgcc_16.2.bb}    |  0
 ...ibgfortran_16.1.bb => libgfortran_16.2.bb} |  0
 13 files changed, 4 insertions(+), 94 deletions(-)
 rename meta/recipes-devtools/gcc/{gcc-16.1.inc => gcc-16.2.inc} (95%)
 rename meta/recipes-devtools/gcc/{gcc-cross-canadian_16.1.bb => gcc-cross-canadian_16.2.bb} (100%)
 rename meta/recipes-devtools/gcc/{gcc-cross_16.1.bb => gcc-cross_16.2.bb} (100%)
 rename meta/recipes-devtools/gcc/{gcc-crosssdk_16.1.bb => gcc-crosssdk_16.2.bb} (100%)
 rename meta/recipes-devtools/gcc/{gcc-runtime_16.1.bb => gcc-runtime_16.2.bb} (100%)
 rename meta/recipes-devtools/gcc/{gcc-sanitizers_16.1.bb => gcc-sanitizers_16.2.bb} (100%)
 rename meta/recipes-devtools/gcc/{gcc-source_16.1.bb => gcc-source_16.2.bb} (100%)
 delete mode 100644 meta/recipes-devtools/gcc/gcc/0026-gcc-i386-fix-ICE-with-ffloat-store-PR125308.patch
 rename meta/recipes-devtools/gcc/{gcc_16.1.bb => gcc_16.2.bb} (100%)
 rename meta/recipes-devtools/gcc/{libgcc-initial_16.1.bb => libgcc-initial_16.2.bb} (100%)
 rename meta/recipes-devtools/gcc/{libgcc_16.1.bb => libgcc_16.2.bb} (100%)
 rename meta/recipes-devtools/gcc/{libgfortran_16.1.bb => libgfortran_16.2.bb} (100%)
diff mbox series

Patch

diff --git a/meta/conf/distro/include/maintainers.inc b/meta/conf/distro/include/maintainers.inc
index c5b701c244..fa23373249 100644
--- a/meta/conf/distro/include/maintainers.inc
+++ b/meta/conf/distro/include/maintainers.inc
@@ -201,7 +201,7 @@  RECIPE_MAINTAINER:pn-gcc-cross-canadian-${TRANSLATED_TARGET_ARCH} = "Khem Raj <r
 RECIPE_MAINTAINER:pn-gcc-crosssdk-${SDK_SYS} = "Khem Raj <raj.khem@gmail.com>"
 RECIPE_MAINTAINER:pn-gcc-runtime = "Khem Raj <raj.khem@gmail.com>"
 RECIPE_MAINTAINER:pn-gcc-sanitizers = "Khem Raj <raj.khem@gmail.com>"
-RECIPE_MAINTAINER:pn-gcc-source-16.1.0 = "Khem Raj <raj.khem@gmail.com>"
+RECIPE_MAINTAINER:pn-gcc-source-16.2.0 = "Khem Raj <raj.khem@gmail.com>"
 RECIPE_MAINTAINER:pn-gcompat = "Khem Raj <raj.khem@gmail.com>"
 RECIPE_MAINTAINER:pn-gconf = "Ross Burton <ross.burton@arm.com>"
 RECIPE_MAINTAINER:pn-gcr = "Unassigned <unassigned@yoctoproject.org>"
diff --git a/meta/recipes-devtools/gcc/gcc-16.1.inc b/meta/recipes-devtools/gcc/gcc-16.2.inc
similarity index 95%
rename from meta/recipes-devtools/gcc/gcc-16.1.inc
rename to meta/recipes-devtools/gcc/gcc-16.2.inc
index e2be559f19..790bf7b651 100644
--- a/meta/recipes-devtools/gcc/gcc-16.1.inc
+++ b/meta/recipes-devtools/gcc/gcc-16.2.inc
@@ -2,11 +2,11 @@  require gcc-common.inc
 
 # Third digit in PV should be incremented after a minor release
 
-PV = "16.1.0"
+PV = "16.2.0"
 
 # BINV should be incremented to a revision after a minor gcc release
 
-BINV = "16.1.0"
+BINV = "16.2.0"
 
 FILESEXTRAPATHS =. "${FILE_DIRNAME}/gcc:${FILE_DIRNAME}/gcc/backport:"
 
@@ -44,7 +44,7 @@  LIC_FILES_CHKSUM = "\
 RELEASE ?= "${PV}"
 BASEURI ?= "${GNU_MIRROR}/gcc/gcc-${PV}/gcc-${PV}.tar.xz"
 SOURCEDIR ?= "gcc-${PV}"
-SRC_URI[sha256sum] = "50efb4d94c3397aff3b0d61a5abd748b4dd31d9d3f2ab7be05b171d36a510f79"
+SRC_URI[sha256sum] = "e6738e29597f733270731aa90600f37ffdc045079dfc27ec7e8192cc81085c3e"
 
 SRC_URI = "${BASEURI} \
            file://0001-gcc-4.3.1-ARCH_FLAGS_FOR_TARGET.patch \
@@ -73,7 +73,6 @@  SRC_URI = "${BASEURI} \
            file://0024-Avoid-hardcoded-build-paths-into-ppc-libgcc.patch \
            file://0025-gcc-testsuite-tweaks-for-mips-OE.patch \
            file://0001-mapper-localhost-might-not-be-known.patch \
-           file://0026-gcc-i386-fix-ICE-with-ffloat-store-PR125308.patch \
 "
 
 UNPACKDIR = "${TMPDIR}/work-shared/gcc-${PV}-${PR}/sources"
diff --git a/meta/recipes-devtools/gcc/gcc-cross-canadian_16.1.bb b/meta/recipes-devtools/gcc/gcc-cross-canadian_16.2.bb
similarity index 100%
rename from meta/recipes-devtools/gcc/gcc-cross-canadian_16.1.bb
rename to meta/recipes-devtools/gcc/gcc-cross-canadian_16.2.bb
diff --git a/meta/recipes-devtools/gcc/gcc-cross_16.1.bb b/meta/recipes-devtools/gcc/gcc-cross_16.2.bb
similarity index 100%
rename from meta/recipes-devtools/gcc/gcc-cross_16.1.bb
rename to meta/recipes-devtools/gcc/gcc-cross_16.2.bb
diff --git a/meta/recipes-devtools/gcc/gcc-crosssdk_16.1.bb b/meta/recipes-devtools/gcc/gcc-crosssdk_16.2.bb
similarity index 100%
rename from meta/recipes-devtools/gcc/gcc-crosssdk_16.1.bb
rename to meta/recipes-devtools/gcc/gcc-crosssdk_16.2.bb
diff --git a/meta/recipes-devtools/gcc/gcc-runtime_16.1.bb b/meta/recipes-devtools/gcc/gcc-runtime_16.2.bb
similarity index 100%
rename from meta/recipes-devtools/gcc/gcc-runtime_16.1.bb
rename to meta/recipes-devtools/gcc/gcc-runtime_16.2.bb
diff --git a/meta/recipes-devtools/gcc/gcc-sanitizers_16.1.bb b/meta/recipes-devtools/gcc/gcc-sanitizers_16.2.bb
similarity index 100%
rename from meta/recipes-devtools/gcc/gcc-sanitizers_16.1.bb
rename to meta/recipes-devtools/gcc/gcc-sanitizers_16.2.bb
diff --git a/meta/recipes-devtools/gcc/gcc-source_16.1.bb b/meta/recipes-devtools/gcc/gcc-source_16.2.bb
similarity index 100%
rename from meta/recipes-devtools/gcc/gcc-source_16.1.bb
rename to meta/recipes-devtools/gcc/gcc-source_16.2.bb
diff --git a/meta/recipes-devtools/gcc/gcc/0026-gcc-i386-fix-ICE-with-ffloat-store-PR125308.patch b/meta/recipes-devtools/gcc/gcc/0026-gcc-i386-fix-ICE-with-ffloat-store-PR125308.patch
deleted file mode 100644
index 0ec8a91ffd..0000000000
--- a/meta/recipes-devtools/gcc/gcc/0026-gcc-i386-fix-ICE-with-ffloat-store-PR125308.patch
+++ /dev/null
@@ -1,89 +0,0 @@ 
-From c96589414eeb0e46d9fe9cc1d562e048230b5f67 Mon Sep 17 00:00:00 2001
-From: Jakub Jelinek <jakub@redhat.com>
-Date: Fri, 15 May 2026 09:55:40 +0200
-Subject: [PATCH] i386: Fix up *minmax<mode>3_4 [PR125308]
-
-IEEE min/max are not commutative and in the pattern
-(define_insn "ieee_<ieee_maxmin><mode>3<mask_name><round_saeonly_name>"
-  [(set (match_operand:VFH 0 "register_operand" "=x,v")
-        (unspec:VFH
-          [(match_operand:VFH 1 "register_operand" "0,v")
-           (match_operand:VFH 2 "<round_saeonly_nimm_predicate>" "xBm,<round_saeonly_constraint>")]
-          IEEE_MAXMIN))]
-the first operand is a register and only the second one is register/memory.
-Now, the *minmax<mode>3_3 define_insn_and_split does
-   rtx tmp = force_reg (<MODE>mode, operands[3]);
-   rtvec v = gen_rtvec (2, tmp, operands[2]);
-   operands[5] = gen_rtx_UNSPEC (<MODE>mode, v, u);
-where operands[3] is the const0_operand, so operands[2] can there be
-a memory, but in the *minmax<mode>3_4 case
-   rtx tmp = force_reg (<MODE>mode, operands[3]);
-   rtvec v = gen_rtvec (2, operands[2], tmp);
-   operands[5] = gen_rtx_UNSPEC (<MODE>mode, v, u);
-operands[2] goes into the operand which must be a REG, so it
-is incorrect to split it into something that won't work.
-Now, I've tried both disabling the define_insn_and_split and
-the following patch, the former to the latter results in
-        movaps  a, %xmm0
-        pxor    %xmm1, %xmm1
--       cmpltps %xmm0, %xmm1
--       andps   %xmm1, %xmm0
-+       maxps   %xmm1, %xmm0
-        movaps  %xmm0, a
-        ret
-on the testcase, so I think it is better to match it and force_reg
-(it is a pre-reload splitter) than change "nonimmediate_operand"
-to "register_operand" because it won't match in that case.
-
-2026-05-15  Jakub Jelinek  <jakub@redhat.com>
-
-	PR target/125308
-	* config/i386/sse.md (*minmax<mode>3_4): Force also
-	operands[2] into a REG.
-
-	* gcc.target/i386/pr125308.c: New test.
-
-Upstream-Status: Backport [https://gcc.gnu.org/cgit/gcc/commit/?id=c96589414eeb0e46d9fe9cc1d562e048230b5f67]
-
-Signed-off-by: Hemanth Kumar M D <Hemanth.KumarMD@windriver.com>
-
----
- gcc/config/i386/sse.md                   |  2 +-
- gcc/testsuite/gcc.target/i386/pr125308.c | 12 ++++++++++++
- 2 files changed, 13 insertions(+), 1 deletion(-)
- create mode 100644 gcc/testsuite/gcc.target/i386/pr125308.c
-
-diff --git a/gcc/config/i386/sse.md b/gcc/config/i386/sse.md
-index 51d1e9b455a0..de092f4b9ae1 100644
---- a/gcc/config/i386/sse.md
-+++ b/gcc/config/i386/sse.md
-@@ -3468,7 +3468,7 @@
-      u = UNSPEC_IEEE_MAX;
- 
-    rtx tmp = force_reg (<MODE>mode, operands[3]);
--   rtvec v = gen_rtvec (2, operands[2], tmp);
-+   rtvec v = gen_rtvec (2, force_reg (<MODE>mode, operands[2]), tmp);
-    operands[5] = gen_rtx_UNSPEC (<MODE>mode, v, u);
-  })
- 
-diff --git a/gcc/testsuite/gcc.target/i386/pr125308.c b/gcc/testsuite/gcc.target/i386/pr125308.c
-new file mode 100644
-index 000000000000..0a4dd7c8ea6f
---- /dev/null
-+++ b/gcc/testsuite/gcc.target/i386/pr125308.c
-@@ -0,0 +1,12 @@
-+/* PR target/125308 */
-+/* { dg-do compile } */
-+/* { dg-options "-msse2 -O2 -ffloat-store" } */
-+
-+float a[4];
-+
-+void
-+foo ()
-+{
-+  for (int i = 0; i < 4; i++)
-+    a[i] = a[i] > 0 ? a[i] : 0;
-+}
--- 
-2.43.7
-
diff --git a/meta/recipes-devtools/gcc/gcc_16.1.bb b/meta/recipes-devtools/gcc/gcc_16.2.bb
similarity index 100%
rename from meta/recipes-devtools/gcc/gcc_16.1.bb
rename to meta/recipes-devtools/gcc/gcc_16.2.bb
diff --git a/meta/recipes-devtools/gcc/libgcc-initial_16.1.bb b/meta/recipes-devtools/gcc/libgcc-initial_16.2.bb
similarity index 100%
rename from meta/recipes-devtools/gcc/libgcc-initial_16.1.bb
rename to meta/recipes-devtools/gcc/libgcc-initial_16.2.bb
diff --git a/meta/recipes-devtools/gcc/libgcc_16.1.bb b/meta/recipes-devtools/gcc/libgcc_16.2.bb
similarity index 100%
rename from meta/recipes-devtools/gcc/libgcc_16.1.bb
rename to meta/recipes-devtools/gcc/libgcc_16.2.bb
diff --git a/meta/recipes-devtools/gcc/libgfortran_16.1.bb b/meta/recipes-devtools/gcc/libgfortran_16.2.bb
similarity index 100%
rename from meta/recipes-devtools/gcc/libgfortran_16.1.bb
rename to meta/recipes-devtools/gcc/libgfortran_16.2.bb