summaryrefslogtreecommitdiffstats
path: root/compiler-rt/test/shadowcallstack/overflow.c
diff options
context:
space:
mode:
authorVlad Tsyrklevich <vlad@tsyrklevich.net>2019-03-07 18:56:36 +0000
committerVlad Tsyrklevich <vlad@tsyrklevich.net>2019-03-07 18:56:36 +0000
commit2e1479e2f2dd0e5a7c445fdf6f12b6e66aea96f3 (patch)
tree711d4b4cc815ce928e824566232dc11af14152b4 /compiler-rt/test/shadowcallstack/overflow.c
parentde3348ae3f01fd4e45c03edc571c41aab182c308 (diff)
downloadbcm5719-llvm-2e1479e2f2dd0e5a7c445fdf6f12b6e66aea96f3.tar.gz
bcm5719-llvm-2e1479e2f2dd0e5a7c445fdf6f12b6e66aea96f3.zip
Delete x86_64 ShadowCallStack support
Summary: ShadowCallStack on x86_64 suffered from the same racy security issues as Return Flow Guard and had performance overhead as high as 13% depending on the benchmark. x86_64 ShadowCallStack was always an experimental feature and never shipped a runtime required to support it, as such there are no expected downstream users. Reviewers: pcc Reviewed By: pcc Subscribers: mgorny, javed.absar, hiraditya, jdoerfert, cfe-commits, #sanitizers, llvm-commits Tags: #clang, #sanitizers, #llvm Differential Revision: https://reviews.llvm.org/D59034 llvm-svn: 355624
Diffstat (limited to 'compiler-rt/test/shadowcallstack/overflow.c')
-rw-r--r--compiler-rt/test/shadowcallstack/overflow.c10
1 files changed, 4 insertions, 6 deletions
diff --git a/compiler-rt/test/shadowcallstack/overflow.c b/compiler-rt/test/shadowcallstack/overflow.c
index 8c3d50c5917..f9f64096fd1 100644
--- a/compiler-rt/test/shadowcallstack/overflow.c
+++ b/compiler-rt/test/shadowcallstack/overflow.c
@@ -8,12 +8,10 @@
// RUN: %clang_scs %s -o %t -DITERATIONS=3
// RUN: %run %t | FileCheck %s
-// The behavioral check for SCS + overflow lives in the tests overflow-x86_64.c
-// and overflow-aarch64.c. This is because the expected behavior is different
-// between the two platforms. On x86_64 we crash because the comparison between
-// the shadow call stack and the regular stack fails. On aarch64 there is no
-// comparison, we just load the return address from the shadow call stack. So we
-// just expect not to see the output from print_and_exit.
+// On aarch64 we just load the return address from the shadow call stack so we
+// do not expect to see the output from print_and_exit.
+// RUN: %clang_scs %s -o %t -DITERATIONS=12
+// RUN: %run %t | FileCheck %S/overflow.c
#include <stdio.h>
#include <stdlib.h>
OpenPOWER on IntegriCloud