Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package gcc14 for openSUSE:Factory checked in at 2024-10-10 22:10:46 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/gcc14 (Old) and /work/SRC/openSUSE:Factory/.gcc14.new.19354 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "gcc14" Thu Oct 10 22:10:46 2024 rev:11 rq:1206541 version:14.2.1+git10750 Changes: -------- --- /work/SRC/openSUSE:Factory/gcc14/gcc14.changes 2024-08-27 19:38:47.571097350 +0200 +++ /work/SRC/openSUSE:Factory/.gcc14.new.19354/gcc14.changes 2024-10-10 22:10:49.016619423 +0200 @@ -1,0 +2,8 @@ +Wed Oct 9 13:01:41 UTC 2024 - Richard Biener <[email protected]> + +- Update to gcc-14 branch head, 4af44f2cf7d281f3e4f3957ef, git10750 + * includes libstdc++6 fix for parsing tzdata 2024b [gcc#116657] +- Add gcc14-pr116629.patch to fix ICE with LTO building openvino + on aarch64 [boo#1230262] + +------------------------------------------------------------------- Old: ---- gcc-14.2.0+git10526.tar.xz New: ---- gcc-14.2.1+git10750.tar.xz gcc14-pr116629.patch BETA DEBUG BEGIN: New: * includes libstdc++6 fix for parsing tzdata 2024b [gcc#116657] - Add gcc14-pr116629.patch to fix ICE with LTO building openvino on aarch64 [boo#1230262] BETA DEBUG END: ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ cross-aarch64-gcc14-bootstrap.spec ++++++ --- /var/tmp/diff_new_pack.GKVicg/_old 2024-10-10 22:10:52.168750659 +0200 +++ /var/tmp/diff_new_pack.GKVicg/_new 2024-10-10 22:10:52.172750825 +0200 @@ -101,7 +101,7 @@ %define biarch_targets x86_64 s390x powerpc64 powerpc sparc sparc64 URL: https://gcc.gnu.org/ -Version: 14.2.0+git10526 +Version: 14.2.1+git10750 Release: 0 %define gcc_dir_version %(echo %version | sed 's/+.*//' | cut -d '.' -f 1) %define gcc_snapshot_revision %(echo %version | sed 's/[3-9]\.[0-9]\.[0-6]//' | sed 's/+/-/') @@ -123,6 +123,7 @@ Patch17: gcc9-reproducible-builds-buildid-for-checksum.patch Patch19: gcc11-gdwarf-4-default.patch Patch20: gcc13-pr101523.patch +Patch21: gcc14-pr116629.patch # A set of patches from the RH srpm Patch51: gcc41-ppc32-retaddr.patch # Some patches taken from Debian @@ -320,7 +321,7 @@ %if %{suse_version} < 1550 %patch -p1 -P 19 %endif -%patch -p1 -P 20 +%patch -p1 -P 20 -P 21 %patch -P 51 %patch -p1 -P 60 -P 61 cross-aarch64-gcc14.spec: same change cross-amdgcn-gcc14.spec: same change cross-arm-gcc14.spec: same change cross-arm-none-gcc14-bootstrap.spec: same change cross-arm-none-gcc14.spec: same change cross-avr-gcc14-bootstrap.spec: same change cross-avr-gcc14.spec: same change cross-bpf-gcc14.spec: same change cross-hppa-gcc14-bootstrap.spec: same change cross-hppa-gcc14.spec: same change cross-m68k-gcc14.spec: same change cross-mips-gcc14.spec: same change cross-nvptx-gcc14.spec: same change cross-ppc64-gcc14.spec: same change cross-ppc64le-gcc14-bootstrap.spec: same change cross-ppc64le-gcc14.spec: same change cross-pru-gcc14-bootstrap.spec: same change cross-pru-gcc14.spec: same change cross-riscv64-elf-gcc14-bootstrap.spec: same change cross-riscv64-elf-gcc14.spec: same change cross-riscv64-gcc14-bootstrap.spec: same change cross-riscv64-gcc14.spec: same change cross-rx-gcc14-bootstrap.spec: same change cross-rx-gcc14.spec: same change cross-s390x-gcc14-bootstrap.spec: same change cross-s390x-gcc14.spec: same change cross-sparc-gcc14.spec: same change cross-sparc64-gcc14.spec: same change cross-x86_64-gcc14.spec: same change gcc14-testresults.spec: same change ++++++ gcc14.spec ++++++ --- /var/tmp/diff_new_pack.GKVicg/_old 2024-10-10 22:10:53.104789631 +0200 +++ /var/tmp/diff_new_pack.GKVicg/_new 2024-10-10 22:10:53.108789797 +0200 @@ -196,7 +196,7 @@ %define biarch_targets x86_64 s390x powerpc64 powerpc sparc sparc64 URL: https://gcc.gnu.org/ -Version: 14.2.0+git10526 +Version: 14.2.1+git10750 Release: 0 %define gcc_dir_version %(echo %version | sed 's/+.*//' | cut -d '.' -f 1) %define gcc_snapshot_revision %(echo %version | sed 's/[3-9]\.[0-9]\.[0-6]//' | sed 's/+/-/') @@ -361,6 +361,7 @@ Patch17: gcc9-reproducible-builds-buildid-for-checksum.patch Patch19: gcc11-gdwarf-4-default.patch Patch20: gcc13-pr101523.patch +Patch21: gcc14-pr116629.patch # A set of patches from the RH srpm Patch51: gcc41-ppc32-retaddr.patch # Some patches taken from Debian @@ -2362,7 +2363,7 @@ %if %{suse_version} < 1550 %patch -p1 -P 19 %endif -%patch -p1 -P 20 +%patch -p1 -P 20 -P 21 %patch -P 51 %patch -p1 -P 60 -P 61 ++++++ gcc-14.2.0+git10526.tar.xz -> gcc-14.2.1+git10750.tar.xz ++++++ /work/SRC/openSUSE:Factory/gcc14/gcc-14.2.0+git10526.tar.xz /work/SRC/openSUSE:Factory/.gcc14.new.19354/gcc-14.2.1+git10750.tar.xz differ: char 15, line 1 ++++++ gcc.spec.in ++++++ --- /var/tmp/diff_new_pack.GKVicg/_old 2024-10-10 22:10:53.336799290 +0200 +++ /var/tmp/diff_new_pack.GKVicg/_new 2024-10-10 22:10:53.340799456 +0200 @@ -200,7 +200,7 @@ %define biarch_targets x86_64 s390x powerpc64 powerpc sparc sparc64 URL: https://gcc.gnu.org/ -Version: 14.2.0+git10526 +Version: 14.2.1+git10750 Release: 1 %define gcc_dir_version %(echo %version | sed 's/+.*//' | cut -d '.' -f 1) %define gcc_snapshot_revision %(echo %version | sed 's/[3-9]\.[0-9]\.[0-6]//' | sed 's/+/-/') @@ -366,6 +366,7 @@ Patch17: gcc9-reproducible-builds-buildid-for-checksum.patch Patch19: gcc11-gdwarf-4-default.patch Patch20: gcc13-pr101523.patch +Patch21: gcc14-pr116629.patch # A set of patches from the RH srpm Patch51: gcc41-ppc32-retaddr.patch # Some patches taken from Debian @@ -1336,7 +1337,7 @@ %if %{suse_version} < 1550 %patch -p1 -P 19 %endif -%patch -p1 -P 20 +%patch -p1 -P 20 -P 21 %patch -P 51 %patch -p1 -P 60 -P 61 ++++++ gcc14-pr116629.patch ++++++ >From 9d45efe523ffb2d2fc1350aeaba9f1cfe9f58815 Mon Sep 17 00:00:00 2001 From: Richard Biener <[email protected]> Date: Wed, 9 Oct 2024 13:57:36 +0100 Subject: [PATCH] aarch64: Fix SVE ACLE gimple folds for C++ LTO [PR116629] To: [email protected] From: Richard Sandiford <[email protected]> The SVE ACLE code has two ways of handling overloaded functions. One, used by C, is to define a single dummy function for each unique overloaded name, with resolve_overloaded_builtin then resolving calls to real non-overloaded functions. The other, used by C++, is to define a separate function for each individual overload. The builtins harness assigns integer function codes programmatically. However, LTO requires it to use the same assignment for every translation unit, regardless of language. This means that C++ TUs need to create (unused) slots for the C overloads and that C TUs need to create (unused) slots for the C++ overloads. In many ways, it doesn't matter whether the LTO frontend itself uses the C approach or the C++ approach to defining overloaded functions, since the LTO frontend never has to resolve source-level overloading. However, the C++ approach of defining a separate function for each overload means that C++ calls never need to be redirected to a different function. Calls to an overload can appear in the LTO dump and survive until expand. In contrast, calls to C's dummy overload functions are resolved by the front end and never survive to LTO (or expand). Some optimisations work by moving between sibling functions, such as _m to _x. If the source function is an overload, the expected destination function is too. The LTO frontend needs to define C++ overloads if it wants to do this optimisation properly for C++. The PR is about a tree checking failure caused by trying to use a stubbed-out C++ overload in LTO. Dealing with that by detecting the stub (rather than changing which overloads are defined) would have turned this from an ice-on-valid to a missed optimisation. In future, it would probably make sense to redirect overloads to non-overloaded functions during gimple folding, in case that exposes more CSE opportunities. But it'd probably be of limited benefit, since it should be rare for code to mix overloaded and non-overloaded uses of the same operation. It also wouldn't be suitable for backports. gcc/ PR target/116629 * config/aarch64/aarch64-sve-builtins.cc (function_builder::function_builder): Use direct overloads for LTO. gcc/testsuite/ PR target/116629 * gcc.target/aarch64/sve/acle/general/pr106326_2.c: New test. --- gcc/config/aarch64/aarch64-sve-builtins.cc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gcc/config/aarch64/aarch64-sve-builtins.cc b/gcc/config/aarch64/aarch64-sve-builtins.cc index e0458f7c1f6..afc0c36e620 100644 --- a/gcc/config/aarch64/aarch64-sve-builtins.cc +++ b/gcc/config/aarch64/aarch64-sve-builtins.cc @@ -1259,7 +1259,7 @@ function_builder::function_builder (handle_pragma_index pragma_index, bool function_nulls) { m_overload_type = build_function_type (void_type_node, void_list_node); - m_direct_overloads = lang_GNU_CXX (); + m_direct_overloads = lang_GNU_CXX () || in_lto_p; if (initial_indexes[pragma_index] == 0) { -- 2.43.0
