summaryrefslogtreecommitdiff
path: root/gcc/config/i386/linux.h
diff options
context:
space:
mode:
authorebotcazou <ebotcazou@138bc75d-0d04-0410-961f-82ee72b054a4>2010-07-08 12:27:01 +0000
committerebotcazou <ebotcazou@138bc75d-0d04-0410-961f-82ee72b054a4>2010-07-08 12:27:01 +0000
commit7505c173f820b85e8436939b45beb1735f7e9d60 (patch)
treeca5b252d0f945589fbef65bd7cd88cbe03b560bb /gcc/config/i386/linux.h
parent16952c2cac969ef045f63fe18764b4f1d719eac5 (diff)
downloadgcc-7505c173f820b85e8436939b45beb1735f7e9d60.tar.gz
* config/i386/cygming.h (STACK_CHECK_STATIC_BUILTIN): Define to 1.
* config/i386/freebsd.h (STACK_CHECK_STATIC_BUILTIN): Likewise. * config/i386/linux.h (STACK_CHECK_STATIC_BUILTIN): Likewise. * config/i386/linux64.h (STACK_CHECK_STATIC_BUILTIN): Likewise. * config/i386/sol2.h (STACK_CHECK_STATIC_BUILTIN): Likewise. * config/i386/i386.c (ix86_gen_adjust_stack_and_probe): New variable. (ix86_gen_probe_stack_range): Likewise. (override_options): Set them. (ix86_target_stack_probe): New function. (ix86_compute_frame_layout): Force use of push instructions to save registers if stack checking with probes is enabled. (get_scratch_register_on_entry): New function. (release_scratch_register_on_entry): Likewise. (ix86_adjust_stack_and_probe): Likewise. (output_adjust_stack_and_probe): Likewise. (ix86_emit_probe_stack_range): Likewise. (output_probe_stack_range): Likewise. (ix86_expand_prologue): Emit stack checking code if static built-in stack checking is enabled. Test ix86_target_stack_probe instead of TARGET_STACK_PROBE. * config/i386/i386-protos.h (ix86_target_stack_probe): Declare. (output_adjust_stack_and_probe): Likewise. (output_probe_stack_range): Likewise. * config/i386/i386.md (UNSPECV_PROBE_STACK_RANGE): New constant. (allocate_stack_worker_32): Test ix86_target_stack_probe instead of TARGET_STACK_PROBE. (allocate_stack_worker_64): Likewise. (allocate_stack): Likewise. (adjust_stack_and_probe): New insn. (probe_stack_range): Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@161952 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/config/i386/linux.h')
-rw-r--r--gcc/config/i386/linux.h3
1 files changed, 3 insertions, 0 deletions
diff --git a/gcc/config/i386/linux.h b/gcc/config/i386/linux.h
index 2a31880e6d6..81dfd1e2509 100644
--- a/gcc/config/i386/linux.h
+++ b/gcc/config/i386/linux.h
@@ -209,6 +209,9 @@ along with GCC; see the file COPYING3. If not see
/* The stack pointer needs to be moved while checking the stack. */
#define STACK_CHECK_MOVING_SP 1
+/* Static stack checking is supported by means of probes. */
+#define STACK_CHECK_STATIC_BUILTIN 1
+
/* This macro may be overridden in i386/k*bsd-gnu.h. */
#define REG_NAME(reg) reg