diff options
author | Vlad Tsyrklevich <vlad@tsyrklevich.net> | 2019-03-07 18:56:36 +0000 |
---|---|---|
committer | Vlad Tsyrklevich <vlad@tsyrklevich.net> | 2019-03-07 18:56:36 +0000 |
commit | 2e1479e2f2dd0e5a7c445fdf6f12b6e66aea96f3 (patch) | |
tree | 711d4b4cc815ce928e824566232dc11af14152b4 /compiler-rt/test/shadowcallstack/overflow.c | |
parent | de3348ae3f01fd4e45c03edc571c41aab182c308 (diff) | |
download | bcm5719-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.c | 10 |
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> |