Commit | Line | Data |
---|---|---|
ffcb22f1 VB |
1 | diff -u -r ../llvm-3.9.0.src/tools/clang/lib/Driver/Tools.cpp ./tools/clang/lib/Driver/Tools.cpp |
2 | --- ../llvm-3.9.0.src/tools/clang/lib/Driver/Tools.cpp 2016-08-13 16:43:56.000000000 -0400 | |
3 | +++ ./tools/clang/lib/Driver/Tools.cpp 2016-09-04 06:15:59.703422745 -0400 | |
4 | @@ -9357,9 +9357,12 @@ | |
5 | const llvm::Triple::ArchType Arch = ToolChain.getArch(); | |
6 | const bool isAndroid = ToolChain.getTriple().isAndroid(); | |
7 | const bool IsIAMCU = ToolChain.getTriple().isOSIAMCU(); | |
8 | + // Termux modification: Enable pie by default for Android and support the | |
9 | + // nopie flag. | |
10 | const bool IsPIE = | |
11 | !Args.hasArg(options::OPT_shared) && !Args.hasArg(options::OPT_static) && | |
12 | - (Args.hasArg(options::OPT_pie) || ToolChain.isPIEDefault()); | |
13 | + (Args.hasArg(options::OPT_pie) || ToolChain.isPIEDefault() || isAndroid) && | |
14 | + !Args.hasArg(options::OPT_nopie); | |
15 | const bool HasCRTBeginEndFiles = | |
16 | ToolChain.getTriple().hasEnvironment() || | |
17 | (ToolChain.getTriple().getVendor() != llvm::Triple::MipsTechnologies); |