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
This commit is contained in:
parent
aacce57d61
commit
0692103653
|
@ -6917,7 +6917,10 @@ void gnutools::Link::ConstructJob(Compilation &C, const JobAction &JA,
|
|||
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;
|
||||
|
||||
|
|
|
@ -19,3 +19,8 @@
|
|||
// CHECK-ARM-V7A: "-plugin" "{{.*}}/LLVMgold.so"
|
||||
// CHECK-ARM-V7A: "-plugin-opt=mcpu=cortex-a8"
|
||||
// CHECK-ARM-V7A: "-plugin-opt=foo"
|
||||
//
|
||||
// RUN: %clang -target i686-linux-android -### %t.o -flto 2>&1 \
|
||||
// RUN: | FileCheck %s --check-prefix=CHECK-X86-ANDROID
|
||||
// CHECK-X86-ANDROID: "-pie"
|
||||
// CHECK-X86-ANDROID: "-plugin" "{{.*}}/LLVMgold.so"
|
||||
|
|
Loading…
Reference in New Issue