diff options
author | Evgeniy Stepanov <eugeni.stepanov@gmail.com> | 2015-12-22 00:13:11 +0000 |
---|---|---|
committer | Evgeniy Stepanov <eugeni.stepanov@gmail.com> | 2015-12-22 00:13:11 +0000 |
commit | 8827f2db855054b64a0944b39f8376ac317daf1f (patch) | |
tree | 730c8b30b5e70262a21a03aa0f4712358f373796 /llvm/test/Transforms/SafeStack | |
parent | 5fe0455563a1f15ca5dfdedebd7a4e5b4f4ee610 (diff) | |
download | bcm5719-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/Transforms/SafeStack')
-rw-r--r-- | llvm/test/Transforms/SafeStack/array.ll | 5 |
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 |