Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package gcc15 for openSUSE:Factory checked in at 2026-10-16 20:06:48 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/gcc15 (Old) and /work/SRC/openSUSE:Factory/.gcc15.new.3698736 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "gcc15" Fri Oct 16 20:06:48 2026 rev:25 rq:1384961 version:15.3.0+git11272 Changes: -------- --- /work/SRC/openSUSE:Factory/gcc15/gcc15.changes 2026-10-08 11:55:31.298271878 +0200 +++ /work/SRC/openSUSE:Factory/.gcc15.new.3698736/gcc15.changes 2026-10-16 20:06:55.938230485 +0200 @@ -1,0 +2,6 @@ +Tue Oct 13 07:05:38 UTC 2026 - Richard Biener <[email protected]> + +- Add gcc15-pr125953.patch to fix ICE during MozillaFirefox build + on aarch64. [gcc#125953] + +------------------------------------------------------------------- New: ---- gcc15-pr125953.patch ----------(New B)---------- New: - Add gcc15-pr125953.patch to fix ICE during MozillaFirefox build on aarch64. [gcc#125953] ----------(New E)---------- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ cross-aarch64-gcc15-bootstrap.spec ++++++ --- /var/tmp/diff_new_pack.rxwkmC/_old 2026-10-16 20:06:57.766306872 +0200 +++ /var/tmp/diff_new_pack.rxwkmC/_new 2026-10-16 20:06:57.768306955 +0200 @@ -128,6 +128,7 @@ Patch21: gcc15-pr120424.patch Patch22: gcc15-Wtime_t-conversion.patch Patch23: gcc15-pr127656.patch +Patch24: gcc15-pr125953.patch # A set of patches from the RH srpm Patch51: gcc41-ppc32-retaddr.patch # Some patches taken from Debian @@ -341,7 +342,7 @@ %patch -p1 -P 19 %patch -p1 -P 20 %endif -%patch -p1 -P 21 -P 22 -P 23 +%patch -p1 -P 21 -P 22 -P 23 -P 24 %patch -P 51 %patch -p1 -P 60 -P 61 cross-aarch64-gcc15.spec: same change cross-amdgcn-gcc15.spec: same change cross-arm-gcc15.spec: same change cross-arm-none-gcc15-bootstrap.spec: same change cross-arm-none-gcc15.spec: same change cross-avr-gcc15-bootstrap.spec: same change cross-avr-gcc15.spec: same change cross-bpf-gcc15.spec: same change cross-hppa-gcc15-bootstrap.spec: same change cross-hppa-gcc15.spec: same change cross-loongarch64-gcc15-bootstrap.spec: same change cross-loongarch64-gcc15.spec: same change cross-nvptx-gcc15.spec: same change cross-ppc64-gcc15.spec: same change cross-ppc64le-gcc15-bootstrap.spec: same change cross-ppc64le-gcc15.spec: same change cross-pru-gcc15-bootstrap.spec: same change cross-pru-gcc15.spec: same change cross-riscv64-elf-gcc15-bootstrap.spec: same change cross-riscv64-elf-gcc15.spec: same change cross-riscv64-gcc15-bootstrap.spec: same change cross-riscv64-gcc15.spec: same change cross-rx-gcc15-bootstrap.spec: same change cross-rx-gcc15.spec: same change cross-s390x-gcc15-bootstrap.spec: same change cross-s390x-gcc15.spec: same change cross-x86_64-gcc15.spec: same change gcc15-testresults.spec: same change ++++++ gcc15.spec ++++++ --- /var/tmp/diff_new_pack.rxwkmC/_old 2026-10-16 20:06:58.729347112 +0200 +++ /var/tmp/diff_new_pack.rxwkmC/_new 2026-10-16 20:06:58.731347196 +0200 @@ -389,6 +389,7 @@ Patch21: gcc15-pr120424.patch Patch22: gcc15-Wtime_t-conversion.patch Patch23: gcc15-pr127656.patch +Patch24: gcc15-pr125953.patch # A set of patches from the RH srpm Patch51: gcc41-ppc32-retaddr.patch # Some patches taken from Debian @@ -2482,7 +2483,7 @@ %patch -p1 -P 19 %patch -p1 -P 20 %endif -%patch -p1 -P 21 -P 22 -P 23 +%patch -p1 -P 21 -P 22 -P 23 -P 24 %patch -P 51 %patch -p1 -P 60 -P 61 ++++++ _scmsync.obsinfo ++++++ --- /var/tmp/diff_new_pack.rxwkmC/_old 2026-10-16 20:06:58.845351959 +0200 +++ /var/tmp/diff_new_pack.rxwkmC/_new 2026-10-16 20:06:58.851352210 +0200 @@ -1,5 +1,5 @@ -mtime: 1791274201 -commit: 7b0e7d8742662820fe8d77fd3e420b871712075cf2d5d9016b115aeaface33e1 +mtime: 1791875204 +commit: 42e8099841ab9d61ac8344a028a2a6fdf05c53edb90d26ba86690c0d007e1f00 url: https://src.opensuse.org/gcc/gcc15.git revision: main ++++++ build.specials.obscpio ++++++ ++++++ build.specials.obscpio ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/.gitignore new/.gitignore --- old/.gitignore 1970-01-01 01:00:00.000000000 +0100 +++ new/.gitignore 2026-10-13 09:06:44.000000000 +0200 @@ -0,0 +1 @@ +.osc diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pre_checkin.sh new/pre_checkin.sh --- old/pre_checkin.sh 1970-01-01 01:00:00.000000000 +0100 +++ new/pre_checkin.sh 2026-10-13 09:06:44.000000000 +0200 @@ -0,0 +1,31 @@ +#!/bin/bash +# This script is called automatically during autobuild checkin. + +case $0 in + \./*) + here=$PWD + ;; + */*) + here=${0%/*} + ;; + *) + here=$PWD + ;; +esac +case ${here##*/} in + gcc*.*) + # Handle maintainance projects with .$REPO suffix + suffix=${here##*/} + suffix=${suffix%%\.*} + set ${suffix#gcc} + ;; + gcc-*) + suffix=${here##*/} + set ${suffix#*-}- + ;; + gcc[0-9]*) + suffix=${here##*/} + set ${suffix#gcc} + ;; +esac +. ${here}/change_spec ++++++ gcc.spec.in ++++++ --- /var/tmp/diff_new_pack.rxwkmC/_old 2026-10-16 20:06:59.150364705 +0200 +++ /var/tmp/diff_new_pack.rxwkmC/_new 2026-10-16 20:06:59.155364913 +0200 @@ -394,6 +394,7 @@ Patch21: gcc15-pr120424.patch Patch22: gcc15-Wtime_t-conversion.patch Patch23: gcc15-pr127656.patch +Patch24: gcc15-pr125953.patch # A set of patches from the RH srpm Patch51: gcc41-ppc32-retaddr.patch # Some patches taken from Debian @@ -1401,7 +1402,7 @@ %patch -p1 -P 19 %patch -p1 -P 20 %endif -%patch -p1 -P 21 -P 22 -P 23 +%patch -p1 -P 21 -P 22 -P 23 -P 24 %patch -P 51 %patch -p1 -P 60 -P 61 ++++++ gcc15-pr125953.patch ++++++ >From 3e0d7b778ae390e1865101b7a68131bb8195e6df Mon Sep 17 00:00:00 2001 From: Richard Biener <[email protected]> Date: Wed, 24 Jun 2026 08:45:37 +0200 Subject: [PATCH] tree-optimization/125953 - ICE with vector pattern stmts range query To: [email protected] Vectorizer pattern recog eventually feeds range_of_expr with both pattern def expressions and pattern context stmts. While that's IMO not OK the ranger code has some existing defenses against defs that do not reside in the IL. Just those are incomplete. The following makes them more robust. I will cleanup the vectorizer side of things on trunk. I have documented gimple_ranger::range_of_expr as to how I understand it works (the different range_of_* APIs seem to behave slightly different - I find this confusing). Esp. range_of_expr requires a valid 'r' input range and the return value isn't always reflecting that something was done. PR tree-optimization/125953 * gimple-range.cc (gimple_ranger::range_of_expr): Document. Fall back to global ranges if 'stmt' is not in the IL. * gcc.dg/torture/pr125953.c: New testcase. (cherry picked from commit 79496eefdaa77840d59571cd03bccf82d2704046) --- gcc/gimple-range.cc | 8 ++++++-- gcc/testsuite/gcc.dg/torture/pr125953.c | 14 ++++++++++++++ 2 files changed, 20 insertions(+), 2 deletions(-) create mode 100644 gcc/testsuite/gcc.dg/torture/pr125953.c diff --git a/gcc/gimple-range.cc b/gcc/gimple-range.cc index 6b7d4da9800..3fcbb03c5f4 100644 --- a/gcc/gimple-range.cc +++ b/gcc/gimple-range.cc @@ -78,6 +78,9 @@ gimple_ranger::const_query () return m_cache.const_query (); } +// Implement range of EXPR on stmt S, and return it in R. +// Return false if no range can be calculated. + bool gimple_ranger::range_of_expr (vrange &r, tree expr, gimple *stmt) { @@ -98,8 +101,9 @@ gimple_ranger::range_of_expr (vrange &r, tree expr, gimple *stmt) fputs ("\n", dump_file); } - // If there is no statement, just get the global value. - if (!stmt) + // If there is no statement or stmt happens to be not in the IL, + // just get the global value. + if (!stmt || !gimple_bb (stmt)) { value_range tmp (TREE_TYPE (expr)); // If there is no global range for EXPR yet, try to evaluate it. diff --git a/gcc/testsuite/gcc.dg/torture/pr125953.c b/gcc/testsuite/gcc.dg/torture/pr125953.c new file mode 100644 index 00000000000..3a34bc3d676 --- /dev/null +++ b/gcc/testsuite/gcc.dg/torture/pr125953.c @@ -0,0 +1,14 @@ +/* { dg-do compile } */ +/* { dg-additional-options "-march=armv8.3-a+sve2" { target aarch64-*-* } } */ + +unsigned char *begin(unsigned char *out) +{ + int size_0_0_0; + unsigned char *kRow = begin(out); + unsigned char *currentRow = kRow; + for (int x = 0; x < size_0_0_0; ++x) { + char k = kRow ? kRow[x] : 5; + out[2] = currentRow[2] * k / 255; + } + return out; +} -- 2.51.0
