summaryrefslogtreecommitdiff
path: root/gcc48-rh1469697-4.patch
diff options
context:
space:
mode:
authorCoprDistGit <infra@openeuler.org>2024-08-01 14:23:42 +0000
committerCoprDistGit <infra@openeuler.org>2024-08-01 14:23:42 +0000
commit82711f6567ef069eebb942e382e2c3fa61fbf538 (patch)
tree22200b7326b32ca672ffb6e4ce6d19a09dc476e5 /gcc48-rh1469697-4.patch
parent5d624aa0d36abe76a344f0593eae5cf36d083b15 (diff)
automatic import of compat-libgfortran-48openeuler24.03_LTSopeneuler23.09
Diffstat (limited to 'gcc48-rh1469697-4.patch')
-rw-r--r--gcc48-rh1469697-4.patch143
1 files changed, 143 insertions, 0 deletions
diff --git a/gcc48-rh1469697-4.patch b/gcc48-rh1469697-4.patch
new file mode 100644
index 0000000..003d79f
--- /dev/null
+++ b/gcc48-rh1469697-4.patch
@@ -0,0 +1,143 @@
+commit 8a1b46d59d6c3e1e5eb606cd44689c8557612257
+Author: law <law@138bc75d-0d04-0410-961f-82ee72b054a4>
+Date: Wed Sep 20 05:21:09 2017 +0000
+
+ * config/alpha/alpha.c (alpha_expand_prologue): Also check
+ flag_stack_clash_protection.
+ * config/ia64/ia64.c (ia64_compute_frame_size): Likewise.
+ (ia64_expand_prologue): Likewise.
+ * config/mips/mips.c (mips_expand_prologue): Likewise.
+ * config/sparc/sparc.c (sparc_expand_prologue): Likewise.
+ (sparc_flat_expand_prologue): Likewise.
+ * config/spu/spu.c (spu_expand_prologue): Likewise.
+
+ git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@252996 138bc75d-0d04-0410-961f-82ee72b054a4
+
+diff --git a/gcc/config/alpha/alpha.c b/gcc/config/alpha/alpha.c
+index 5402f5213d6..c46c843e462 100644
+--- a/gcc/config/alpha/alpha.c
++++ b/gcc/config/alpha/alpha.c
+@@ -7624,7 +7624,7 @@ alpha_expand_prologue (void)
+ Note that we are only allowed to adjust sp once in the prologue. */
+
+ probed_size = frame_size;
+- if (flag_stack_check)
++ if (flag_stack_check || flag_stack_clash_protection)
+ probed_size += get_stack_check_protect ();
+
+ if (probed_size <= 32768)
+@@ -7639,7 +7639,7 @@ alpha_expand_prologue (void)
+ /* We only have to do this probe if we aren't saving registers or
+ if we are probing beyond the frame because of -fstack-check. */
+ if ((sa_size == 0 && probed_size > probed - 4096)
+- || flag_stack_check)
++ || flag_stack_check || flag_stack_clash_protection)
+ emit_insn (gen_probe_stack (GEN_INT (-probed_size)));
+ }
+
+@@ -7669,7 +7669,8 @@ alpha_expand_prologue (void)
+ late in the compilation, generate the loop as a single insn. */
+ emit_insn (gen_prologue_stack_probe_loop (count, ptr));
+
+- if ((leftover > 4096 && sa_size == 0) || flag_stack_check)
++ if ((leftover > 4096 && sa_size == 0)
++ || flag_stack_check || flag_stack_clash_protection)
+ {
+ rtx last = gen_rtx_MEM (DImode,
+ plus_constant (Pmode, ptr, -leftover));
+@@ -7677,7 +7678,7 @@ alpha_expand_prologue (void)
+ emit_move_insn (last, const0_rtx);
+ }
+
+- if (flag_stack_check)
++ if (flag_stack_check || flag_stack_clash_protection)
+ {
+ /* If -fstack-check is specified we have to load the entire
+ constant into a register and subtract from the sp in one go,
+diff --git a/gcc/config/ia64/ia64.c b/gcc/config/ia64/ia64.c
+index 390983936e8..5bf7046cf15 100644
+--- a/gcc/config/ia64/ia64.c
++++ b/gcc/config/ia64/ia64.c
+@@ -2638,7 +2638,8 @@ ia64_compute_frame_size (HOST_WIDE_INT size)
+ mark_reg_gr_used_mask (cfun->machine->ia64_eh_epilogue_bsp, NULL);
+
+ /* Static stack checking uses r2 and r3. */
+- if (flag_stack_check == STATIC_BUILTIN_STACK_CHECK)
++ if (flag_stack_check == STATIC_BUILTIN_STACK_CHECK
++ || flag_stack_clash_protection)
+ current_frame_info.gr_used_mask |= 0xc;
+
+ /* Find the size of the register stack frame. We have only 80 local
+@@ -3434,7 +3435,8 @@ ia64_expand_prologue (void)
+ if (flag_stack_usage_info)
+ current_function_static_stack_size = current_frame_info.total_size;
+
+- if (flag_stack_check == STATIC_BUILTIN_STACK_CHECK)
++ if (flag_stack_check == STATIC_BUILTIN_STACK_CHECK
++ || flag_stack_clash_protection)
+ ia64_emit_probe_stack_range (get_stack_check_protect (),
+ current_frame_info.total_size,
+ current_frame_info.n_input_regs
+diff --git a/gcc/config/mips/mips.c b/gcc/config/mips/mips.c
+index 9b7eb678f19..da17f94b4f9 100644
+--- a/gcc/config/mips/mips.c
++++ b/gcc/config/mips/mips.c
+@@ -10745,7 +10745,9 @@ mips_expand_prologue (void)
+ if (flag_stack_usage_info)
+ current_function_static_stack_size = size;
+
+- if (flag_stack_check == STATIC_BUILTIN_STACK_CHECK && size)
++ if ((flag_stack_check == STATIC_BUILTIN_STACK_CHECK
++ || flag_stack_clash_protection)
++ && size)
+ mips_emit_probe_stack_range (get_stack_check_protect (), size);
+
+ /* Save the registers. Allocate up to MIPS_MAX_FIRST_STACK_STEP
+diff --git a/gcc/config/sparc/sparc.c b/gcc/config/sparc/sparc.c
+index e5e93c80261..617aa617208 100644
+--- a/gcc/config/sparc/sparc.c
++++ b/gcc/config/sparc/sparc.c
+@@ -5430,7 +5430,9 @@ sparc_expand_prologue (void)
+ if (flag_stack_usage_info)
+ current_function_static_stack_size = size;
+
+- if (flag_stack_check == STATIC_BUILTIN_STACK_CHECK && size)
++ if ((flag_stack_check == STATIC_BUILTIN_STACK_CHECK
++ || flag_stack_clash_protection)
++ && size)
+ sparc_emit_probe_stack_range (get_stack_check_protect (), size);
+
+ if (size == 0)
+@@ -5532,7 +5534,9 @@ sparc_flat_expand_prologue (void)
+ if (flag_stack_usage_info)
+ current_function_static_stack_size = size;
+
+- if (flag_stack_check == STATIC_BUILTIN_STACK_CHECK && size)
++ if ((flag_stack_check == STATIC_BUILTIN_STACK_CHECK
++ || flag_stack_clash_protection)
++ && size)
+ sparc_emit_probe_stack_range (get_stack_check_protect (), size);
+
+ if (sparc_save_local_in_regs_p)
+diff --git a/gcc/config/spu/spu.c b/gcc/config/spu/spu.c
+index 328bd5bd2ae..5541a3cd243 100644
+--- a/gcc/config/spu/spu.c
++++ b/gcc/config/spu/spu.c
+@@ -1761,7 +1761,7 @@ spu_expand_prologue (void)
+
+ if (total_size > 0)
+ {
+- if (flag_stack_check)
++ if (flag_stack_check || flag_stack_clash_protection)
+ {
+ /* We compare against total_size-1 because
+ ($sp >= total_size) <=> ($sp > total_size-1) */
+@@ -5366,7 +5366,7 @@ spu_allocate_stack (rtx op0, rtx op1)
+ emit_insn (gen_spu_convert (sp, stack_pointer_rtx));
+ emit_insn (gen_subv4si3 (sp, sp, splatted));
+
+- if (flag_stack_check)
++ if (flag_stack_check || flag_stack_clash_protection)
+ {
+ rtx avail = gen_reg_rtx(SImode);
+ rtx result = gen_reg_rtx(SImode);