public inbox for git-commits@fedoraproject.org
help / color / mirror / Atom feed
From: Jakub Jelinek <jakub@redhat.com>
To: git-commits@fedoraproject.org
Subject: [rpms/gcc] rhel-f41-base: 13.0.1-0.2
Date: Mon, 29 Jun 2026 12:30:03 GMT [thread overview]
Message-ID: <178273620332.1.10551995883573357763.rpms-gcc-dc4418df89d4@fedoraproject.org> (raw)
A new commit has been pushed.
Repo : rpms/gcc
Branch : rhel-f41-base
Commit : dc4418df89d438bd7de3d84aa2c26ec6dcde7ef6
Author : Jakub Jelinek <jakub@redhat.com>
Date : 2023-01-28T00:20:49+01:00
Stats : +73/-137 in 6 file(s)
URL : https://src.fedoraproject.org/rpms/gcc/c/dc4418df89d438bd7de3d84aa2c26ec6dcde7ef6?branch=rhel-f41-base
Log:
13.0.1-0.2
---
diff --git a/.gitignore b/.gitignore
index e72a744..528b58c 100644
--- a/.gitignore
+++ b/.gitignore
@@ -86,3 +86,5 @@
/gcc-13.0.0-20230112.tar.xz
/gcc-13.0.0-20230115.tar.xz
/gcc-13.0.1-20230117.tar.xz
+/gcc-13.0.1-20230127.tar.xz
+/newlib-cygwin-9e09d6ed83cce4777a5950412647ccc603040409.tar.xz
diff --git a/gcc.spec b/gcc.spec
index 23c0c3f..9f44433 100644
--- a/gcc.spec
+++ b/gcc.spec
@@ -1,12 +1,12 @@
-%global DATE 20230117
-%global gitrev fedc064ac31b465edcfd22884b94bbdd05312224
+%global DATE 20230127
+%global gitrev 4faac89a6b542c0d94019eeadc333ef789f37c9d
%global gcc_version 13.0.1
%global gcc_major 13
# Note, gcc_release must be integer, if you want to add suffixes to
# %%{release}, append them after %%{gcc_release} on Release: line.
%global gcc_release 0
%global nvptx_tools_gitrev 472b6e78b3ba918d727698f79911360b7c808247
-%global newlib_cygwin_gitrev a8526cb52bedabd4d6ba4b227a5185627f871aa1
+%global newlib_cygwin_gitrev 9e09d6ed83cce4777a5950412647ccc603040409
%global _unpackaged_files_terminate_build 0
%global _performance_build 1
# Hardening slows the compiler way too much.
@@ -136,7 +136,7 @@
Summary: Various compilers (C, C++, Objective-C, ...)
Name: gcc
Version: %{gcc_version}
-Release: %{gcc_release}.1%{?dist}
+Release: %{gcc_release}.2%{?dist}
# libgcc, libgfortran, libgomp, libstdc++ and crtstuff have
# GCC Runtime Exception.
License: GPLv3+ and GPLv3+ with exceptions and GPLv2+ with exceptions and LGPLv2+ and BSD
@@ -286,8 +286,7 @@ Patch8: gcc13-no-add-needed.patch
Patch9: gcc13-Wno-format-security.patch
Patch10: gcc13-rh1574936.patch
Patch11: gcc13-d-shared-libphobos.patch
-Patch12: gcc13-pr107678.patch
-Patch13: gcc13-pr108411.patch
+Patch12: gcc13-pr106746-revert.patch
Patch50: isl-rh2155127.patch
@@ -862,8 +861,7 @@ so that there cannot be any synchronization problems.
%patch10 -p0 -b .rh1574936~
%endif
%patch11 -p0 -b .d-shared-libphobos~
-%patch12 -p0 -b .pr107678~
-%patch13 -p0 -b .pr108411~
+%patch12 -p0 -b .pr106746-revert~
%patch50 -p0 -b .rh2155127~
touch -r isl-0.24/m4/ax_prog_cxx_for_build.m4 isl-0.24/m4/ax_prog_cc_for_build.m4
diff --git a/gcc13-pr106746-revert.patch b/gcc13-pr106746-revert.patch
new file mode 100644
index 0000000..a2549b9
--- /dev/null
+++ b/gcc13-pr106746-revert.patch
@@ -0,0 +1,63 @@
+Revert:
+[PR106746] drop cselib addr lookup in debug insn mem
+
+The testcase used to get scheduled differently depending on the
+presence of debug insns with MEMs. It's not clear to me why those
+MEMs affected scheduling, but the cselib pre-canonicalization of the
+MEM address is not used at all when analyzing debug insns, so the
+memory allocation and lookup are pure waste. Somehow, avoiding that
+waste fixes the problem, or makes it go latent.
+
+2023-01-19 Alexandre Oliva <oliva@adacore.com>
+
+ PR debug/106746
+ * sched-deps.cc (sched_analyze_2): Skip cselib address lookup
+ within debug insns.
+
+--- gcc/sched-deps.cc
++++ gcc/sched-deps.cc
+@@ -2605,26 +2605,26 @@ sched_analyze_2 (class deps_desc *deps, rtx x, rtx_insn *insn)
+
+ case MEM:
+ {
+- if (!DEBUG_INSN_P (insn))
+- {
+- /* Reading memory. */
+- rtx_insn_list *u;
+- rtx_insn_list *pending;
+- rtx_expr_list *pending_mem;
+- rtx t = x;
++ /* Reading memory. */
++ rtx_insn_list *u;
++ rtx_insn_list *pending;
++ rtx_expr_list *pending_mem;
++ rtx t = x;
+
+- if (sched_deps_info->use_cselib)
+- {
+- machine_mode address_mode = get_address_mode (t);
+-
+- t = shallow_copy_rtx (t);
+- cselib_lookup_from_insn (XEXP (t, 0), address_mode, 1,
+- GET_MODE (t), insn);
+- XEXP (t, 0)
+- = cselib_subst_to_values_from_insn (XEXP (t, 0), GET_MODE (t),
+- insn);
+- }
++ if (sched_deps_info->use_cselib)
++ {
++ machine_mode address_mode = get_address_mode (t);
++
++ t = shallow_copy_rtx (t);
++ cselib_lookup_from_insn (XEXP (t, 0), address_mode, 1,
++ GET_MODE (t), insn);
++ XEXP (t, 0)
++ = cselib_subst_to_values_from_insn (XEXP (t, 0), GET_MODE (t),
++ insn);
++ }
+
++ if (!DEBUG_INSN_P (insn))
++ {
+ t = canon_rtx (t);
+ pending = deps->pending_read_insns;
+ pending_mem = deps->pending_read_mems;
diff --git a/gcc13-pr107678.patch b/gcc13-pr107678.patch
deleted file mode 100644
index 3cf29ac..0000000
--- a/gcc13-pr107678.patch
+++ /dev/null
@@ -1,113 +0,0 @@
-A recent change only initializes the regs.how[] during Dwarf unwinding
-which resulted in an uninitialized offset used in return address signing
-and random failures during unwinding. The fix is to encode the return
-address signing state in REG_UNSAVED and REG_UNDEFINED.
-
-2023-01-10 Wilco Dijkstra <Wilco.Dijkstra@arm.com>
-
- PR target/107678
- * unwind-dw2.c (RA_SIGNED_BIT): Remove.
- * unwind-dw2-execute_cfa.h: Use REG_UNSAVED/UNDEFINED
- to encode return address signing state.
- * config/aarch64/aarch64-unwind.h (aarch64_demangle_return_addr)
- Check current return address signing state.
- (aarch64_frob_update_contex): Remove.
-
---- libgcc/config/aarch64/aarch64-unwind.h
-+++ libgcc/config/aarch64/aarch64-unwind.h
-@@ -29,8 +29,6 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
-
- #define MD_DEMANGLE_RETURN_ADDR(context, fs, addr) \
- aarch64_demangle_return_addr (context, fs, addr)
--#define MD_FROB_UPDATE_CONTEXT(context, fs) \
-- aarch64_frob_update_context (context, fs)
-
- static inline int
- aarch64_cie_signed_with_b_key (struct _Unwind_Context *context)
-@@ -55,42 +53,27 @@ aarch64_cie_signed_with_b_key (struct _Unwind_Context *context)
-
- static inline void *
- aarch64_demangle_return_addr (struct _Unwind_Context *context,
-- _Unwind_FrameState *fs ATTRIBUTE_UNUSED,
-+ _Unwind_FrameState *fs,
- _Unwind_Word addr_word)
- {
- void *addr = (void *)addr_word;
-- if (context->flags & RA_SIGNED_BIT)
-+ const int reg = DWARF_REGNUM_AARCH64_RA_STATE;
-+
-+ if (fs->regs.how[reg] == REG_UNSAVED)
-+ return addr;
-+
-+ /* Return-address signing state is toggled by DW_CFA_GNU_window_save (where
-+ REG_UNDEFINED means enabled), or set by a DW_CFA_expression. */
-+ if (fs->regs.how[reg] == REG_UNDEFINED
-+ || (_Unwind_GetGR (context, reg) & 0x1) != 0)
- {
- _Unwind_Word salt = (_Unwind_Word) context->cfa;
- if (aarch64_cie_signed_with_b_key (context) != 0)
- return __builtin_aarch64_autib1716 (addr, salt);
- return __builtin_aarch64_autia1716 (addr, salt);
- }
-- else
-- return addr;
--}
--
--/* Do AArch64 private initialization on CONTEXT based on frame info FS. Mark
-- CONTEXT as return address signed if bit 0 of DWARF_REGNUM_AARCH64_RA_STATE is
-- set. */
--
--static inline void
--aarch64_frob_update_context (struct _Unwind_Context *context,
-- _Unwind_FrameState *fs)
--{
-- const int reg = DWARF_REGNUM_AARCH64_RA_STATE;
-- int ra_signed;
-- if (fs->regs.how[reg] == REG_UNSAVED)
-- ra_signed = fs->regs.reg[reg].loc.offset & 0x1;
-- else
-- ra_signed = _Unwind_GetGR (context, reg) & 0x1;
-- if (ra_signed)
-- /* The flag is used for re-authenticating EH handler's address. */
-- context->flags |= RA_SIGNED_BIT;
-- else
-- context->flags &= ~RA_SIGNED_BIT;
-
-- return;
-+ return addr;
- }
-
- #endif /* defined AARCH64_UNWIND_H && defined __ILP32__ */
---- libgcc/unwind-dw2.c
-+++ libgcc/unwind-dw2.c
-@@ -137,9 +137,6 @@ struct _Unwind_Context
- #define SIGNAL_FRAME_BIT ((~(_Unwind_Word) 0 >> 1) + 1)
- /* Context which has version/args_size/by_value fields. */
- #define EXTENDED_CONTEXT_BIT ((~(_Unwind_Word) 0 >> 2) + 1)
-- /* Bit reserved on AArch64, return address has been signed with A or B
-- key. */
--#define RA_SIGNED_BIT ((~(_Unwind_Word) 0 >> 3) + 1)
- _Unwind_Word flags;
- /* 0 for now, can be increased when further fields are added to
- struct _Unwind_Context. */
---- libgcc/unwind-dw2-execute_cfa.h 2023-01-02 17:53:56.003021412 +0100
-+++ libgcc/unwind-dw2-execute_cfa.h 2023-01-12 19:52:05.456327742 +0100
-@@ -278,10 +278,15 @@
- case DW_CFA_GNU_window_save:
- #if defined (__aarch64__) && !defined (__ILP32__)
- /* This CFA is multiplexed with Sparc. On AArch64 it's used to toggle
-- return address signing status. */
-+ return address signing status. The REG_UNDEFINED/UNSAVED states
-+ mean RA signing is enabled/disabled. */
- reg = DWARF_REGNUM_AARCH64_RA_STATE;
-- gcc_assert (fs->regs.how[reg] == REG_UNSAVED);
-- fs->regs.reg[reg].loc.offset ^= 1;
-+ gcc_assert (fs->regs.how[reg] == REG_UNSAVED
-+ || fs->regs.how[reg] == REG_UNDEFINED);
-+ if (fs->regs.how[reg] == REG_UNSAVED)
-+ fs->regs.how[reg] = REG_UNDEFINED;
-+ else
-+ fs->regs.how[reg] = REG_UNSAVED;
- #else
- /* ??? Hardcoded for SPARC register window configuration. */
- if (__LIBGCC_DWARF_FRAME_REGISTERS__ >= 32)
diff --git a/gcc13-pr108411.patch b/gcc13-pr108411.patch
deleted file mode 100644
index 2c51481..0000000
--- a/gcc13-pr108411.patch
+++ /dev/null
@@ -1,14 +0,0 @@
-PR108411 workaround
-
---- gcc/config/aarch64/aarch64.cc 2023-01-15 13:20:00.569241815 +0100
-+++ gcc/config/aarch64/aarch64.cc 2023-01-15 13:30:05.061513817 +0100
-@@ -7707,8 +7707,7 @@ aarch64_layout_arg (cumulative_args_t pc
- unsigned int alignment
- = aarch64_function_arg_alignment (mode, type, &abi_break,
- &abi_break_packed);
-- gcc_assert (alignment <= 16 * BITS_PER_UNIT
-- && (!alignment || abi_break < alignment)
-+ gcc_assert ((!alignment || abi_break < alignment)
- && (!abi_break_packed || alignment < abi_break_packed));
-
- pcum->aapcs_arg_processed = true;
diff --git a/sources b/sources
index d8b317a..db9c9b6 100644
--- a/sources
+++ b/sources
@@ -1,4 +1,4 @@
-SHA512 (gcc-13.0.1-20230117.tar.xz) = 22bc806162976c843cfeb43d24bb33e7961fedb402ec2c5e3ca2d02b9058825a1b37258b2dd9cfe14de02e5a4a00b2cf32c1e97375fc04265d6215de6a25d611
+SHA512 (gcc-13.0.1-20230127.tar.xz) = 437494fad0d688d8c81d1bc6827bb139894fc74af4ca2d2a71dc7332304a988c4a358af38ffc15ab7c19fd5172398d00d6447301f560517d03a5367967694906
SHA512 (isl-0.24.tar.bz2) = aab3bddbda96b801d0f56d2869f943157aad52a6f6e6a61745edd740234c635c38231af20bc3f1a08d416a5e973a90e18249078ed8e4ae2f1d5de57658738e95
-SHA512 (newlib-cygwin-a8526cb52bedabd4d6ba4b227a5185627f871aa1.tar.xz) = b099246fe4a5d0a372cdaee5da49083df5b2f4440a4e83961600cdf22d37da50c99ce9ae46b769f188a67034ee038cf863260988fc9d594e8e5fb3905a381dec
+SHA512 (newlib-cygwin-9e09d6ed83cce4777a5950412647ccc603040409.tar.xz) = bef3fa04f7b1a915fc1356ebed114698b5cc835e9fa04b0becff05a9efc76c59fb376482990873d222d7acdcfee3c4f30f5a4cb7f3be1f291f1fa5f1c7a9d983
SHA512 (nvptx-tools-472b6e78b3ba918d727698f79911360b7c808247.tar.xz) = 91690321bf96460c3b3e229199a6f752ed1c27c6933d4345dc7e237dc068f604ad211bb3a0373e14d4f332bee05b6227d6933e14e0b475ffdfea8b511ab735e6
reply other threads:[~2026-06-29 12:30 UTC|newest]
Thread overview: [no followups] expand[flat|nested] mbox.gz Atom feed
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=178273620332.1.10551995883573357763.rpms-gcc-dc4418df89d4@fedoraproject.org \
--to=jakub@redhat.com \
--cc=git-commits@fedoraproject.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox