commit: f4f4450c934bc6a5da4172c5a23c50f9a2459851 Author: Sam James <sam <AT> gentoo <DOT> org> AuthorDate: Thu Jun 19 00:58:28 2025 +0000 Commit: Sam James <sam <AT> gentoo <DOT> org> CommitDate: Thu Jun 19 00:58:28 2025 +0000 URL: https://gitweb.gentoo.org/proj/gcc-patches.git/commit/?id=f4f4450c
16.0.0: drop merged shrink-wrap patch Signed-off-by: Sam James <sam <AT> gentoo.org> ...fstack-clash-protection-for-shrink-wrap-s.patch | 106 --------------------- 1 file changed, 106 deletions(-) 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 deleted file mode 100644 index 803a74f..0000000 --- a/16.0.0/gentoo/85_all_PR120697-x86-Handle-fstack-clash-protection-for-shrink-wrap-s.patch +++ /dev/null @@ -1,106 +0,0 @@ -https://gcc.gnu.org/bugzilla/show_bug.cgi?id=120697#c14 - -From 73fe038b1974b8f2867a765e5cbf5846abae4a25 Mon Sep 17 00:00:00 2001 -From: Lili Cui <[email protected]> -Date: Tue, 17 Jun 2025 23:49:03 -0700 -Subject: [PATCH 12/12] x86: Fix shrink wrap separate ICE under - -fstack-clash-protection [PR120697] - -gcc/ChangeLog: - - PR target/120697 - * config/i386/i386.cc (ix86_expand_prologue): - Delete 3 assertions and related code. - -gcc/testsuite/ChangeLog: - - PR target/120697 - * gcc.target/i386/stack-clash-protection.c: New test. ---- - gcc/config/i386/i386.cc | 14 +------------- - .../gcc.target/i386/stack-clash-protection.c | 19 +++++++++++++++++++ - 2 files changed, 20 insertions(+), 13 deletions(-) - create mode 100644 gcc/testsuite/gcc.target/i386/stack-clash-protection.c - -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/gcc.target/i386/stack-clash-protection.c b/gcc/testsuite/gcc.target/i386/stack-clash-protection.c -new file mode 100644 -index 00000000000..5be28cb3ac7 ---- /dev/null -+++ b/gcc/testsuite/gcc.target/i386/stack-clash-protection.c -@@ -0,0 +1,19 @@ -+/* { dg-do compile } */ -+/* { dg-options "-O2 -fstack-clash-protection" } */ -+ -+int flag; -+void open(); -+int getChar(); -+typedef enum { QUOTE } CharType; -+typedef enum { UNQ } State; -+CharType getCharType(); -+void expand() { -+ open(); -+ if (flag) -+ return; -+ int ch = getChar(); -+ State nextState = getCharType(); -+ if (nextState) -+ while (ch) -+ ; -+} --- -2.34.1
