summaryrefslogtreecommitdiffstats
path: root/llvm/test
diff options
context:
space:
mode:
authorEvgeniy Stepanov <eugeni.stepanov@gmail.com>2015-12-22 00:13:11 +0000
committerEvgeniy Stepanov <eugeni.stepanov@gmail.com>2015-12-22 00:13:11 +0000
commit8827f2db855054b64a0944b39f8376ac317daf1f (patch)
tree730c8b30b5e70262a21a03aa0f4712358f373796 /llvm/test
parent5fe0455563a1f15ca5dfdedebd7a4e5b4f4ee610 (diff)
downloadbcm5719-llvm-8827f2db855054b64a0944b39f8376ac317daf1f.tar.gz
bcm5719-llvm-8827f2db855054b64a0944b39f8376ac317daf1f.zip
[safestack] Add option for non-TLS unsafe stack pointer.
This patch adds an option, -safe-stack-no-tls, for using normal storage instead of thread-local storage for the unsafe stack pointer. This can be useful when SafeStack is applied to an operating system kernel. http://reviews.llvm.org/D15673 Patch by Michael LeMay. llvm-svn: 256221
Diffstat (limited to 'llvm/test')
-rw-r--r--llvm/test/Transforms/SafeStack/array.ll5
1 files changed, 5 insertions, 0 deletions
diff --git a/llvm/test/Transforms/SafeStack/array.ll b/llvm/test/Transforms/SafeStack/array.ll
index b2454dc2bb9..564213e6d58 100644
--- a/llvm/test/Transforms/SafeStack/array.ll
+++ b/llvm/test/Transforms/SafeStack/array.ll
@@ -1,9 +1,14 @@
; RUN: opt -safe-stack -S -mtriple=i386-pc-linux-gnu < %s -o - | FileCheck %s
+; RUN: opt -safe-stack -safe-stack-usp-storage=single-thread -S -mtriple=i386-pc-linux-gnu < %s -o - | FileCheck -check-prefix=SINGLE-THREAD %s
; RUN: opt -safe-stack -S -mtriple=x86_64-pc-linux-gnu < %s -o - | FileCheck %s
+; RUN: opt -safe-stack -safe-stack-usp-storage=single-thread -S -mtriple=x86_64-pc-linux-gnu < %s -o - | FileCheck -check-prefix=SINGLE-THREAD %s
; array [4 x i8]
; Requires protector.
+; CHECK: @__safestack_unsafe_stack_ptr = external thread_local(initialexec) global i8*
+; SINGLE-THREAD: @__safestack_unsafe_stack_ptr = external global i8*
+
define void @foo(i8* %a) nounwind uwtable safestack {
entry:
; CHECK: %[[USP:.*]] = load i8*, i8** @__safestack_unsafe_stack_ptr
OpenPOWER on IntegriCloud