aboutsummaryrefslogtreecommitdiff
path: root/gcc/explow.c
diff options
context:
space:
mode:
authorAndreas Krebbel <krebbel@linux.ibm.com>2020-05-14 08:16:27 +0200
committerAndreas Krebbel <krebbel@linux.ibm.com>2020-05-14 08:16:27 +0200
commitd3e5bae174d9d2ed115a364d5b404d179458a622 (patch)
tree4bd42f68a9f4e25b5474abec76d2051be6f10613 /gcc/explow.c
parentf806a768e1400ec1115c3a52b1e207bb71b4ad45 (diff)
downloadgcc-d3e5bae174d9d2ed115a364d5b404d179458a622.zip
gcc-d3e5bae174d9d2ed115a364d5b404d179458a622.tar.gz
gcc-d3e5bae174d9d2ed115a364d5b404d179458a622.tar.bz2
Make anti_adjust_stack_and_probe_stack_clash extern and use it for Z
When compiling with -mbackchain -fstack-clash-protection currently no probes are emitted. This patch adjusts the "allocate_stack" expander to call anti_adjust_stack_and_probe_stack_clash when needed. In order to do this I had to export that function from explow.c. Ok for mainline? gcc/ChangeLog: 2020-05-14 Andreas Krebbel <krebbel@linux.ibm.com> * config/s390/s390.md ("allocate_stack"): Call anti_adjust_stack_and_probe_stack_clash when stack clash protection is enabled. * explow.c (anti_adjust_stack_and_probe_stack_clash): Remove prototype. Remove static. * explow.h (anti_adjust_stack_and_probe_stack_clash): Add prototype. gcc/testsuite/ChangeLog: 2020-05-14 Andreas Krebbel <krebbel@linux.ibm.com> * gcc.target/s390/stack-clash-3.c: New test.
Diffstat (limited to 'gcc/explow.c')
-rw-r--r--gcc/explow.c3
1 files changed, 1 insertions, 2 deletions
diff --git a/gcc/explow.c b/gcc/explow.c
index b838f03..15c9cfb 100644
--- a/gcc/explow.c
+++ b/gcc/explow.c
@@ -43,7 +43,6 @@ along with GCC; see the file COPYING3. If not see
#include "output.h"
static rtx break_out_memory_refs (rtx);
-static void anti_adjust_stack_and_probe_stack_clash (rtx);
/* Truncate and perhaps sign-extend C as appropriate for MODE. */
@@ -1948,7 +1947,7 @@ emit_stack_clash_protection_probe_loop_end (rtx loop_lab, rtx end_loop,
allocate/probe beyond that because this probing style does not
guarantee signal handling capability if the guard is hit. */
-static void
+void
anti_adjust_stack_and_probe_stack_clash (rtx size)
{
/* First ensure SIZE is Pmode. */