From: "Sam James" <sam@gentoo.org>
To: gentoo-commits@lists.gentoo.org
Subject: [gentoo-commits] proj/gcc-patches:master commit in: 16.0.0/gentoo/
Date: Wed, 18 Jun 2025 09:06:10 +0000 (UTC) [thread overview]
Message-ID: <1750237547.0368bcaaca6bc5c7d81426e5b69760063f808cad.sam@gentoo> (raw)
commit: 0368bcaaca6bc5c7d81426e5b69760063f808cad
Author: Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Wed Jun 18 09:05:47 2025 +0000
Commit: Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Wed Jun 18 09:05:47 2025 +0000
URL: https://gitweb.gentoo.org/proj/gcc-patches.git/commit/?id=0368bcaa
16.0.0: add patch for -fstack-clash-protection vs shrink wrapping
Bug: https://gcc.gnu.org/PR120697
Signed-off-by: Sam James <sam <AT> gentoo.org>
...fstack-clash-protection-for-shrink-wrap-s.patch | 89 ++++++++++++++++++++++
1 file changed, 89 insertions(+)
diff --git a/16.0.0/gentoo/85_all_PR120697-x86-Handle-fstack-clash-protection-for-shrink-wrap-s.patch b/16.0.0/gentoo/85_all_PR120697-x86-Handle-fstack-clash-protection-for-shrink-wrap-s.patch
new file mode 100644
index 0000000..08e3c49
--- /dev/null
+++ b/16.0.0/gentoo/85_all_PR120697-x86-Handle-fstack-clash-protection-for-shrink-wrap-s.patch
@@ -0,0 +1,89 @@
+https://gcc.gnu.org/bugzilla/show_bug.cgi?id=120697#c12
+
+From 4f80288ecb15195c8baa3e0081354c4cab78db36 Mon Sep 17 00:00:00 2001
+From: Lili Cui <lili.cui@intel.com>
+Date: Tue, 17 Jun 2025 23:49:03 -0700
+Subject: [PATCH] x86: Handle -fstack-clash-protection for shrink wrap separate
+
+gcc/ChangeLog:
+
+ * config/i386/i386.cc (ix86_expand_prologue):
+ Delete 3 assertions and related code.
+
+gcc/testsuite/ChangeLog:
+
+ * g++.target/i386/shrink_wrap_separate.C:
+ Add -fstack-clash-protection into build options.
+---
+ gcc/config/i386/i386.cc | 14 +-------------
+ .../g++.target/i386/shrink_wrap_separate.C | 2 +-
+ 2 files changed, 2 insertions(+), 14 deletions(-)
+
+diff --git a/gcc/config/i386/i386.cc b/gcc/config/i386/i386.cc
+index 3824b533989..6dce7cdfdcb 100644
+--- a/gcc/config/i386/i386.cc
++++ b/gcc/config/i386/i386.cc
+@@ -9234,10 +9234,9 @@ ix86_expand_prologue (void)
+ the stack frame saving one cycle of the prologue. However, avoid
+ doing this if we have to probe the stack; at least on x86_64 the
+ stack probe can turn into a call that clobbers a red zone location. */
+- else if ((ix86_using_red_zone ()
++ else if (ix86_using_red_zone ()
+ && (! TARGET_STACK_PROBE
+ || frame.stack_pointer_offset < CHECK_STACK_LIMIT))
+- || crtl->shrink_wrapped_separate)
+ {
+ HOST_WIDE_INT allocate_offset;
+ if (crtl->shrink_wrapped_separate)
+@@ -9253,11 +9252,6 @@ ix86_expand_prologue (void)
+
+ ix86_emit_save_regs_using_mov (frame.reg_save_offset);
+ int_registers_saved = true;
+-
+- if (ix86_using_red_zone ()
+- && (! TARGET_STACK_PROBE
+- || frame.stack_pointer_offset < CHECK_STACK_LIMIT))
+- cfun->machine->red_zone_used = true;
+ }
+ }
+
+@@ -9377,8 +9371,6 @@ ix86_expand_prologue (void)
+ && flag_stack_clash_protection
+ && !ix86_target_stack_probe ())
+ {
+- gcc_assert (!crtl->shrink_wrapped_separate);
+-
+ ix86_adjust_stack_and_probe (allocate, int_registers_saved, false);
+ allocate = 0;
+ }
+@@ -9389,8 +9381,6 @@ ix86_expand_prologue (void)
+ {
+ const HOST_WIDE_INT probe_interval = get_probe_interval ();
+
+- gcc_assert (!crtl->shrink_wrapped_separate);
+-
+ if (STACK_CHECK_MOVING_SP)
+ {
+ if (crtl->is_leaf
+@@ -9447,8 +9437,6 @@ ix86_expand_prologue (void)
+ else if (!ix86_target_stack_probe ()
+ || frame.stack_pointer_offset < CHECK_STACK_LIMIT)
+ {
+- gcc_assert (!crtl->shrink_wrapped_separate);
+-
+ pro_epilogue_adjust_stack (stack_pointer_rtx, stack_pointer_rtx,
+ GEN_INT (-allocate), -1,
+ m->fs.cfa_reg == stack_pointer_rtx);
+diff --git a/gcc/testsuite/g++.target/i386/shrink_wrap_separate.C b/gcc/testsuite/g++.target/i386/shrink_wrap_separate.C
+index 294dccde5d3..a1772c3a396 100644
+--- a/gcc/testsuite/g++.target/i386/shrink_wrap_separate.C
++++ b/gcc/testsuite/g++.target/i386/shrink_wrap_separate.C
+@@ -1,5 +1,5 @@
+ /* { dg-do compile } */
+-/* { dg-options "-O2 -fdump-rtl-pro_and_epilogue" } */
++/* { dg-options "-O2 -fstack-clash-protection -fdump-rtl-pro_and_epilogue" } */
+ typedef struct a b;
+ typedef double c;
+ struct a {
+--
+2.34.1
next reply other threads:[~2025-06-18 9:06 UTC|newest]
Thread overview: 88+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-06-18 9:06 Sam James [this message]
-- strict thread matches above, loose matches on Subject: below --
2025-09-17 18:41 [gentoo-commits] proj/gcc-patches:master commit in: 16.0.0/gentoo/ Sam James
2025-09-17 3:04 Sam James
2025-09-16 19:23 Sam James
2025-09-14 11:26 Sam James
2025-09-13 13:16 Sam James
2025-09-07 22:42 Sam James
2025-09-06 2:42 Sam James
2025-09-05 12:44 Sam James
2025-09-01 8:04 Sam James
2025-08-31 22:43 Sam James
2025-08-30 14:06 Sam James
2025-08-30 8:05 Sam James
2025-08-30 6:57 Sam James
2025-08-30 0:12 Sam James
2025-08-29 21:26 Sam James
2025-08-29 21:02 Sam James
2025-08-29 20:24 Sam James
2025-08-29 20:18 Sam James
2025-08-29 18:38 Sam James
2025-08-29 12:15 Sam James
2025-08-28 17:57 Sam James
2025-08-28 5:27 Sam James
2025-08-27 4:19 Sam James
2025-08-26 23:42 Sam James
2025-08-26 4:48 Sam James
2025-08-26 0:56 Sam James
2025-08-25 3:55 Sam James
2025-08-24 23:42 Sam James
2025-08-21 16:11 Sam James
2025-08-20 20:45 Sam James
2025-08-20 14:10 Sam James
2025-08-20 1:16 Sam James
2025-08-20 1:10 Sam James
2025-08-19 16:30 Sam James
2025-08-18 23:52 Sam James
2025-08-18 23:08 Sam James
2025-08-17 22:45 Sam James
2025-08-17 21:01 Sam James
2025-08-17 16:30 Sam James
2025-08-17 15:44 Sam James
2025-08-17 15:10 Sam James
2025-08-16 23:06 Sam James
2025-08-05 0:23 Sam James
2025-07-30 22:35 Sam James
2025-07-30 0:44 Sam James
2025-07-30 0:44 Sam James
2025-07-25 18:49 Sam James
2025-07-23 11:22 Sam James
2025-07-22 23:56 Sam James
2025-07-21 14:02 Sam James
2025-07-21 1:12 Sam James
2025-07-14 16:03 Sam James
2025-07-14 4:09 Sam James
2025-07-14 2:55 Sam James
2025-07-14 2:55 Sam James
2025-07-14 2:40 Sam James
2025-07-13 23:11 Sam James
2025-07-13 1:09 Sam James
2025-07-12 15:24 Sam James
2025-07-12 15:23 Sam James
2025-07-10 12:34 Sam James
2025-07-10 1:22 Sam James
2025-07-10 0:50 Sam James
2025-07-07 20:49 Sam James
2025-07-06 22:41 Sam James
2025-07-03 1:29 Sam James
2025-06-30 6:26 Sam James
2025-06-29 0:29 Sam James
2025-06-19 16:59 Sam James
2025-06-19 0:58 Sam James
2025-06-19 0:58 Sam James
2025-06-18 21:17 Sam James
2025-06-18 9:53 Sam James
2025-06-13 12:03 Sam James
2025-06-12 20:34 Sam James
2025-06-12 14:05 Sam James
2025-06-12 7:27 Sam James
2025-06-12 5:46 Sam James
2025-06-11 5:05 Sam James
2025-06-11 3:19 Sam James
2025-06-01 22:39 Sam James
2025-05-31 18:48 Sam James
2025-05-11 22:52 Sam James
2025-05-10 15:28 Sam James
2025-05-09 23:29 Sam James
2025-05-05 14:39 Sam James
2025-05-05 13:05 Sam James
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=1750237547.0368bcaaca6bc5c7d81426e5b69760063f808cad.sam@gentoo \
--to=sam@gentoo.org \
--cc=gentoo-commits@lists.gentoo.org \
--cc=gentoo-dev@lists.gentoo.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