diff options
author | Rafael Espindola <rafael.espindola@gmail.com> | 2013-06-05 04:28:55 +0000 |
---|---|---|
committer | Rafael Espindola <rafael.espindola@gmail.com> | 2013-06-05 04:28:55 +0000 |
commit | 9adba39460dfa5282b75dbd27db44ccfb4d1f511 (patch) | |
tree | 83518371d2bc212000d8b46e48740d7d0441f5e3 /test | |
parent | a4b56d30389753cbde96ad410e86db4b4b86ac16 (diff) | |
download | clang-9adba39460dfa5282b75dbd27db44ccfb4d1f511.tar.gz |
Default to PIE and using stack protection on OpenBSD.
Patch by Matthew Dempsky.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@183295 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'test')
-rw-r--r-- | test/Driver/pic.c | 12 | ||||
-rw-r--r-- | test/Driver/stack-protector.c | 6 |
2 files changed, 18 insertions, 0 deletions
diff --git a/test/Driver/pic.c b/test/Driver/pic.c index 3faed2d18f..30e1005c97 100644 --- a/test/Driver/pic.c +++ b/test/Driver/pic.c @@ -24,6 +24,8 @@ // CHECK-PIE-LD: "Scrt1.o" "crti.o" "crtbeginS.o" // CHECK-PIE-LD: "crtendS.o" "crtn.o" // +// CHECK-NOPIE-LD: "-nopie" +// // CHECK-DYNAMIC-NO-PIC-32: "-mrelocation-model" "dynamic-no-pic" // CHECK-DYNAMIC-NO-PIC-32-NOT: "-pic-level" // CHECK-DYNAMIC-NO-PIC-32-NOT: "-pie-level" @@ -197,3 +199,13 @@ // RUN: | FileCheck %s --check-prefix=CHECK-NO-PIC // RUN: %clang -c %s -target armv7-apple-ios -fapple-kext -miphoneos-version-min=6.0.0 -static -### 2>&1 \ // RUN: | FileCheck %s --check-prefix=CHECK-NO-PIC +// +// On OpenBSD, PIE is enabled by default, but can be disabled. +// RUN: %clang -c %s -target i386-pc-openbsd -### 2>&1 \ +// RUN: | FileCheck %s --check-prefix=CHECK-PIE2 +// RUN: %clang -c %s -target i386-pc-openbsd -fno-pie -### 2>&1 \ +// RUN: | FileCheck %s --check-prefix=CHECK-NO-PIC +// +// On OpenBSD, -nopie needs to be passed through to the linker. +// RUN: %clang %s -target i386-pc-openbsd -nopie -### 2>&1 \ +// RUN: | FileCheck %s --check-prefix=CHECK-NOPIE-LD diff --git a/test/Driver/stack-protector.c b/test/Driver/stack-protector.c index 5f3d679c1a..2eb0f53530 100644 --- a/test/Driver/stack-protector.c +++ b/test/Driver/stack-protector.c @@ -9,3 +9,9 @@ // RUN: %clang -fstack-protector --param ssp-buffer-size=16 -### %s 2>&1 | FileCheck %s -check-prefix=SSP-BUF // SSP-BUF: "-stack-protector" "1" // SSP-BUF: "-stack-protector-buffer-size" "16" + +// RUN: %clang -target i386-pc-openbsd -### %s 2>&1 | FileCheck %s -check-prefix=OPENBSD +// OPENBSD: "-stack-protector" "1" + +// RUN: %clang -target i386-pc-openbsd -fno-stack-protector -### %s 2>&1 | FileCheck %s -check-prefix=OPENBSD_OFF +// OPENBSD_OFF-NOT: "-stack-protector" |