summaryrefslogtreecommitdiffstats
path: root/compiler-rt/test/shadowcallstack/minimal_runtime.h
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/minimal_runtime.h
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/minimal_runtime.h')
-rw-r--r--compiler-rt/test/shadowcallstack/minimal_runtime.h9
1 files changed, 1 insertions, 8 deletions
diff --git a/compiler-rt/test/shadowcallstack/minimal_runtime.h b/compiler-rt/test/shadowcallstack/minimal_runtime.h
index f36fa5a7d24..fab4fdf8006 100644
--- a/compiler-rt/test/shadowcallstack/minimal_runtime.h
+++ b/compiler-rt/test/shadowcallstack/minimal_runtime.h
@@ -4,10 +4,6 @@
#pragma once
-#ifdef __x86_64__
-#include <asm/prctl.h>
-int arch_prctl(int code, void *addr);
-#endif
#include <stdlib.h>
#include <sys/mman.h>
#include <sys/prctl.h>
@@ -21,10 +17,7 @@ static void __shadowcallstack_init() {
if (stack == MAP_FAILED)
abort();
-#if defined(__x86_64__)
- if (arch_prctl(ARCH_SET_GS, stack))
- abort();
-#elif defined(__aarch64__)
+#if defined(__aarch64__)
__asm__ __volatile__("mov x18, %0" ::"r"(stack));
#else
#error Unsupported platform
OpenPOWER on IntegriCloud