summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBrad Smith <brad@comstyle.com>2018-10-27 00:23:28 +0000
committerBrad Smith <brad@comstyle.com>2018-10-27 00:23:28 +0000
commit6adb5ee40970bed594aa8ea416e71ec5dcbfd471 (patch)
tree423a870e048ed794b29dc6598701e33750f944d1
parentc5dd2995dc78061fe3addf75837e24dcc27d8392 (diff)
downloadbcm5719-llvm-6adb5ee40970bed594aa8ea416e71ec5dcbfd471.tar.gz
bcm5719-llvm-6adb5ee40970bed594aa8ea416e71ec5dcbfd471.zip
Pass the nopie flag to the linker when linking with -pg.
llvm-svn: 345439
-rw-r--r--clang/lib/Driver/ToolChains/OpenBSD.cpp2
-rw-r--r--clang/test/Driver/openbsd.c2
2 files changed, 3 insertions, 1 deletions
diff --git a/clang/lib/Driver/ToolChains/OpenBSD.cpp b/clang/lib/Driver/ToolChains/OpenBSD.cpp
index 018076ab196..3d35d37b7db 100644
--- a/clang/lib/Driver/ToolChains/OpenBSD.cpp
+++ b/clang/lib/Driver/ToolChains/OpenBSD.cpp
@@ -138,7 +138,7 @@ void openbsd::Linker::ConstructJob(Compilation &C, const JobAction &JA,
if (Args.hasArg(options::OPT_pie))
CmdArgs.push_back("-pie");
- if (Args.hasArg(options::OPT_nopie))
+ if (Args.hasArg(options::OPT_nopie) || Args.hasArg(options::OPT_pg))
CmdArgs.push_back("-nopie");
if (Output.isFilename()) {
diff --git a/clang/test/Driver/openbsd.c b/clang/test/Driver/openbsd.c
index 1ea1f58dfc8..ab79e3a7ad9 100644
--- a/clang/test/Driver/openbsd.c
+++ b/clang/test/Driver/openbsd.c
@@ -84,6 +84,8 @@
// Check linking against correct startup code when (not) using PIE
// RUN: %clang -no-canonical-prefixes -target i686-pc-openbsd %s -### 2>&1 \
// RUN: | FileCheck -check-prefix=CHECK-PIE %s
+// RUN: %clang -no-canonical-prefixes -target i686-pc-openbsd -pg %s -### 2>&1 \
+// RUN: | FileCheck -check-prefix=CHECK-NOPIE %s
// RUN: %clang -no-canonical-prefixes -target i686-pc-openbsd -pie %s -### 2>&1 \
// RUN: | FileCheck -check-prefix=CHECK-PIE-FLAG %s
// RUN: %clang -no-canonical-prefixes -target i686-pc-openbsd -fno-pie %s -### 2>&1 \
OpenPOWER on IntegriCloud