X-Git-Url: https://git.distorted.org.uk/~mdw/termux-packages/blobdiff_plain/f48d46ddd89c09b2947ea27fe4bc865f2e5cc9c1..29aa0bc89f7a063b46ea0e5b5d03da2ed75636b5:/packages/clang/tools-clang-lib-Driver-Tools.cpp.patch diff --git a/packages/clang/tools-clang-lib-Driver-Tools.cpp.patch b/packages/clang/tools-clang-lib-Driver-Tools.cpp.patch index 4ccaae3b..edc2ca99 100644 --- a/packages/clang/tools-clang-lib-Driver-Tools.cpp.patch +++ b/packages/clang/tools-clang-lib-Driver-Tools.cpp.patch @@ -1,6 +1,6 @@ -diff -u -r ../llvm-3.8.0.src/tools/clang/lib/Driver/Tools.cpp ./tools/clang/lib/Driver/Tools.cpp ---- ../llvm-3.8.0.src/tools/clang/lib/Driver/Tools.cpp 2016-02-12 17:51:41.000000000 -0500 -+++ ./tools/clang/lib/Driver/Tools.cpp 2016-05-01 23:01:30.148998957 -0400 +diff -u -r ../llvm-3.8.1.src/tools/clang/lib/Driver/Tools.cpp ./tools/clang/lib/Driver/Tools.cpp +--- ../llvm-3.8.1.src/tools/clang/lib/Driver/Tools.cpp 2016-02-12 17:51:41.000000000 -0500 ++++ ./tools/clang/lib/Driver/Tools.cpp 2016-08-18 10:00:30.287138752 -0400 @@ -733,11 +733,11 @@ ABI = FloatABI::SoftFP; break; @@ -15,3 +15,23 @@ diff -u -r ../llvm-3.8.0.src/tools/clang/lib/Driver/Tools.cpp ./tools/clang/lib/ if (Triple.getOS() != llvm::Triple::UnknownOS || !Triple.isOSBinFormatMachO()) D.Diag(diag::warn_drv_assuming_mfloat_abi_is) << "soft"; +@@ -8773,9 +8773,18 @@ + + const llvm::Triple::ArchType Arch = ToolChain.getArch(); + const bool isAndroid = ToolChain.getTriple().isAndroid(); + const bool IsPIE = + !Args.hasArg(options::OPT_shared) && !Args.hasArg(options::OPT_static) && +- (Args.hasArg(options::OPT_pie) || ToolChain.isPIEDefault()); ++ (Args.hasArg(options::OPT_pie) || ToolChain.isPIEDefault() ++ /* Termux modification: Revert ++ http://lists.llvm.org/pipermail/cfe-commits/Week-of-Mon-20150302/124624.html ++ as we really want pie by default: */ ++ // On Android every code is PIC so every executable is PIE ++ // Cannot use isPIEDefault here since otherwise ++ // PIE only logic will be enabled during compilation ++ || isAndroid) ++ && !Args.hasArg(options::OPT_nopie); ++ + const bool HasCRTBeginEndFiles = + ToolChain.getTriple().hasEnvironment() || + (ToolChain.getTriple().getVendor() != llvm::Triple::MipsTechnologies);