summaryrefslogtreecommitdiffstats
path: root/clang/lib
diff options
context:
space:
mode:
authorEd Maste <emaste@freebsd.org>2016-10-14 17:59:53 +0000
committerEd Maste <emaste@freebsd.org>2016-10-14 17:59:53 +0000
commitaaa44fe5cd376c059ba72fdc02fb939b8f68391d (patch)
treef4aa4313b76e39d2c6def96279dba300cf2284da /clang/lib
parent445bd12621ea972f70eced92a0e79586c6050217 (diff)
downloadbcm5719-llvm-aaa44fe5cd376c059ba72fdc02fb939b8f68391d.tar.gz
bcm5719-llvm-aaa44fe5cd376c059ba72fdc02fb939b8f68391d.zip
Link static PIE programs against rcrt0.o on OpenBSD
Patch by Stefan Kempf. Differential Revision: https://reviews.llvm.org/D22130 llvm-svn: 284256
Diffstat (limited to 'clang/lib')
-rw-r--r--clang/lib/Driver/Tools.cpp4
1 files changed, 4 insertions, 0 deletions
diff --git a/clang/lib/Driver/Tools.cpp b/clang/lib/Driver/Tools.cpp
index b7a323faa56..e073eddc365 100644
--- a/clang/lib/Driver/Tools.cpp
+++ b/clang/lib/Driver/Tools.cpp
@@ -8519,6 +8519,10 @@ void openbsd::Linker::ConstructJob(Compilation &C, const JobAction &JA,
if (Args.hasArg(options::OPT_pg))
CmdArgs.push_back(
Args.MakeArgString(getToolChain().GetFilePath("gcrt0.o")));
+ else if (Args.hasArg(options::OPT_static) &&
+ !Args.hasArg(options::OPT_nopie))
+ CmdArgs.push_back(
+ Args.MakeArgString(getToolChain().GetFilePath("rcrt0.o")));
else
CmdArgs.push_back(
Args.MakeArgString(getToolChain().GetFilePath("crt0.o")));
OpenPOWER on IntegriCloud