diff options
author | CoprDistGit <infra@openeuler.org> | 2024-08-01 14:23:42 +0000 |
---|---|---|
committer | CoprDistGit <infra@openeuler.org> | 2024-08-01 14:23:42 +0000 |
commit | 82711f6567ef069eebb942e382e2c3fa61fbf538 (patch) | |
tree | 22200b7326b32ca672ffb6e4ce6d19a09dc476e5 /gcc48-rh1469697-4.patch | |
parent | 5d624aa0d36abe76a344f0593eae5cf36d083b15 (diff) |
automatic import of compat-libgfortran-48openeuler24.03_LTSopeneuler23.09
Diffstat (limited to 'gcc48-rh1469697-4.patch')
-rw-r--r-- | gcc48-rh1469697-4.patch | 143 |
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); |