Commit | Line | Data |
---|---|---|
9cbdadb1 FF |
1 | diff -u -r ../llvm-3.8.1.src/tools/clang/lib/Driver/Tools.cpp ./tools/clang/lib/Driver/Tools.cpp |
2 | --- ../llvm-3.8.1.src/tools/clang/lib/Driver/Tools.cpp 2016-02-12 17:51:41.000000000 -0500 | |
3 | +++ ./tools/clang/lib/Driver/Tools.cpp 2016-08-18 10:00:30.287138752 -0400 | |
0b371c42 FF |
4 | @@ -733,11 +733,11 @@ |
5 | ABI = FloatABI::SoftFP; | |
6 | break; | |
7 | case llvm::Triple::Android: | |
8 | - ABI = (SubArch == 7) ? FloatABI::SoftFP : FloatABI::Soft; | |
f48d46dd | 9 | + ABI = FloatABI::SoftFP; |
0b371c42 FF |
10 | break; |
11 | default: | |
12 | // Assume "soft", but warn the user we are guessing. | |
13 | - ABI = FloatABI::Soft; | |
f48d46dd | 14 | + ABI = FloatABI::SoftFP; |
0b371c42 FF |
15 | if (Triple.getOS() != llvm::Triple::UnknownOS || |
16 | !Triple.isOSBinFormatMachO()) | |
17 | D.Diag(diag::warn_drv_assuming_mfloat_abi_is) << "soft"; | |
9cbdadb1 FF |
18 | @@ -8773,9 +8773,18 @@ |
19 | ||
20 | const llvm::Triple::ArchType Arch = ToolChain.getArch(); | |
21 | const bool isAndroid = ToolChain.getTriple().isAndroid(); | |
22 | const bool IsPIE = | |
23 | !Args.hasArg(options::OPT_shared) && !Args.hasArg(options::OPT_static) && | |
24 | - (Args.hasArg(options::OPT_pie) || ToolChain.isPIEDefault()); | |
25 | + (Args.hasArg(options::OPT_pie) || ToolChain.isPIEDefault() | |
26 | + /* Termux modification: Revert | |
27 | + http://lists.llvm.org/pipermail/cfe-commits/Week-of-Mon-20150302/124624.html | |
28 | + as we really want pie by default: */ | |
29 | + // On Android every code is PIC so every executable is PIE | |
30 | + // Cannot use isPIEDefault here since otherwise | |
31 | + // PIE only logic will be enabled during compilation | |
32 | + || isAndroid) | |
33 | + && !Args.hasArg(options::OPT_nopie); | |
34 | + | |
35 | const bool HasCRTBeginEndFiles = | |
36 | ToolChain.getTriple().hasEnvironment() || | |
37 | (ToolChain.getTriple().getVendor() != llvm::Triple::MipsTechnologies); |