aboutsummaryrefslogtreecommitdiff
path: root/gcc/target.def
diff options
context:
space:
mode:
authorJiong Wang <jiong.wang@arm.com>2016-11-29 11:47:48 +0000
committerJiong Wang <jiwang@gcc.gnu.org>2016-11-29 11:47:48 +0000
commit87a5dc2da0ae66285afa894b4dca847c87c0302b (patch)
tree58ea11f59eb7d734feba66f5e7ad492c76b250ab /gcc/target.def
parent11edabc2dfb9274445d697eff2bafde3abdefa1f (diff)
downloadgcc-87a5dc2da0ae66285afa894b4dca847c87c0302b.zip
gcc-87a5dc2da0ae66285afa894b4dca847c87c0302b.tar.gz
gcc-87a5dc2da0ae66285afa894b4dca847c87c0302b.tar.bz2
[Patch] New hook TARGET_STACK_PROTECT_RUNTIME_ENABLED_P to disable SSP runtime
gcc/ * target.def (stack_protect_runtime_enabled_p): New. * function.c (expand_function_end): Guard stack_protect_epilogue with targetm.stack_protect_runtime_enabled_p. * cfgexpand.c (pass_expand::execute): Likewise. * calls.c (expand_call): Likewise. * doc/tm.texi.in (TARGET_STACK_PROTECT_RUNTIME_ENABLED_P): Add it. * doc/tm.texi: Regenerate. From-SVN: r242955
Diffstat (limited to 'gcc/target.def')
-rw-r--r--gcc/target.def9
1 files changed, 9 insertions, 0 deletions
diff --git a/gcc/target.def b/gcc/target.def
index 85a0ac0..417cd02 100644
--- a/gcc/target.def
+++ b/gcc/target.def
@@ -4039,6 +4039,15 @@ normally defined in @file{libgcc2.c}.",
tree, (void),
default_external_stack_protect_fail)
+/* This target hook allows the operating system to disable the default stack
+ protector runtime support. */
+DEFHOOK
+(stack_protect_runtime_enabled_p,
+ "Returns true if the target wants GCC's default stack protect runtime support,\
+ otherwise return false. The default implementation always returns true.",
+ bool, (void),
+ hook_bool_void_true)
+
DEFHOOK
(can_use_doloop_p,
"Return true if it is possible to use low-overhead loops (@code{doloop_end}\n\