Pass -pie to linker when generating executable on Android
This fixes problem with LTO on Android.
Differential Revision: http://reviews.llvm.org/D2668
llvm-svn: 207520
diff --git a/clang/lib/Driver/Tools.cpp b/clang/lib/Driver/Tools.cpp
index a8d3f01..bda4edf 100644
--- a/clang/lib/Driver/Tools.cpp
+++ b/clang/lib/Driver/Tools.cpp
@@ -6917,7 +6917,10 @@
ToolChain.getTriple().getEnvironment() == llvm::Triple::Android;
const bool IsPIE =
!Args.hasArg(options::OPT_shared) &&
- (Args.hasArg(options::OPT_pie) || ToolChain.isPIEDefault());
+ !Args.hasArg(options::OPT_static) &&
+ (Args.hasArg(options::OPT_pie) || ToolChain.isPIEDefault() ||
+ // On Android every code is PIC so every executable is PIE
+ isAndroid);
ArgStringList CmdArgs;