Fredrik Fornwall
9 years ago
8 changed files with 40 additions and 101 deletions
@ -1,11 +0,0 @@ |
|||||
diff -u -r ../llvm-3.8.0.src/Makefile ./Makefile
|
|
||||
--- ../llvm-3.8.0.src/Makefile 2014-03-25 17:45:41.000000000 -0400
|
|
||||
+++ ./Makefile 2016-03-10 16:28:00.142389801 -0500
|
|
||||
@@ -69,7 +69,6 @@
|
|
||||
ifeq ($(MAKECMDGOALS),install-clang) |
|
||||
DIRS := tools/clang/tools/driver tools/clang/lib/Headers \ |
|
||||
tools/clang/tools/libclang \ |
|
||||
- tools/clang/tools/c-index-test \
|
|
||||
tools/clang/include/clang-c \ |
|
||||
tools/clang/runtime tools/clang/docs \ |
|
||||
tools/lto |
|
@ -1,13 +0,0 @@ |
|||||
diff -u -r ../pristine/projects/compiler-rt/CMakeLists.txt ./projects/compiler-rt/CMakeLists.txt |
|
||||
--- ../pristine/projects/compiler-rt/CMakeLists.txt 2015-07-27 12:42:42.000000000 -0400 |
|
||||
+++ ./projects/compiler-rt/CMakeLists.txt 2015-12-08 11:07:26.899747723 -0500 |
|
||||
@@ -147,9 +147,7 @@ |
|
||||
set(COMPILER_RT_HAS_EXPLICIT_TEST_TARGET_TRIPLE FALSE) |
|
||||
endif() |
|
||||
|
|
||||
-if ("${COMPILER_RT_TEST_TARGET_ABI}" STREQUAL "androideabi") |
|
||||
set(ANDROID 1) |
|
||||
-endif() |
|
||||
|
|
||||
string(TOLOWER ${CMAKE_SYSTEM_NAME} COMPILER_RT_OS_DIR) |
|
||||
set(COMPILER_RT_LIBRARY_OUTPUT_DIR |
|
@ -1,13 +0,0 @@ |
|||||
diff -u -r ../pristine/projects/compiler-rt/CMakeLists.txt ./projects/compiler-rt/CMakeLists.txt |
|
||||
--- ../pristine/projects/compiler-rt/CMakeLists.txt 2015-07-27 12:42:42.000000000 -0400 |
|
||||
+++ ./projects/compiler-rt/CMakeLists.txt 2015-12-08 11:07:26.899747723 -0500 |
|
||||
@@ -147,9 +147,7 @@ |
|
||||
set(COMPILER_RT_HAS_EXPLICIT_TEST_TARGET_TRIPLE FALSE) |
|
||||
endif() |
|
||||
|
|
||||
-if ("${COMPILER_RT_TEST_TARGET_ABI}" STREQUAL "androideabi") |
|
||||
set(ANDROID 1) |
|
||||
-endif() |
|
||||
|
|
||||
string(TOLOWER ${CMAKE_SYSTEM_NAME} COMPILER_RT_OS_DIR) |
|
||||
set(COMPILER_RT_LIBRARY_OUTPUT_DIR |
|
@ -1,14 +0,0 @@ |
|||||
See http://reviews.llvm.org/D14115 |
|
||||
|
|
||||
diff -u -r ../pristine/projects/compiler-rt/lib/builtins/clear_cache.c ./projects/compiler-rt/lib/builtins/clear_cache.c |
|
||||
--- ../pristine/projects/compiler-rt/lib/builtins/clear_cache.c 2015-03-11 18:06:53.000000000 -0400 |
|
||||
+++ ./projects/compiler-rt/lib/builtins/clear_cache.c 2015-12-27 07:34:11.519445662 -0500 |
|
||||
@@ -104,7 +104,7 @@ |
|
||||
const register int flags __asm("r2") = 0; |
|
||||
const register int syscall_nr __asm("r7") = __ARM_NR_cacheflush; |
|
||||
__asm __volatile("svc 0x0" : "=r"(start_reg) |
|
||||
- : "r"(syscall_nr), "r"(start_reg), "r"(end_reg), "r"(flags) : "r0"); |
|
||||
+ : "r"(syscall_nr), "r"(start_reg), "r"(end_reg), "r"(flags)); |
|
||||
if (start_reg != 0) { |
|
||||
compilerrt_abort(); |
|
||||
} |
|
@ -1,11 +0,0 @@ |
|||||
diff -u -r ../orig-src/tools/clang/tools/CMakeLists.txt ./tools/clang/tools/CMakeLists.txt
|
|
||||
--- ../orig-src/tools/clang/tools/CMakeLists.txt 2016-01-12 21:03:50.000000000 -0500
|
|
||||
+++ ./tools/clang/tools/CMakeLists.txt 2016-03-10 16:32:04.320055824 -0500
|
|
||||
@@ -6,7 +6,6 @@
|
|
||||
add_clang_subdirectory(clang-format-vs) |
|
||||
add_clang_subdirectory(clang-fuzzer) |
|
||||
|
|
||||
-add_clang_subdirectory(c-index-test)
|
|
||||
add_clang_subdirectory(libclang) |
|
||||
|
|
||||
if(CLANG_ENABLE_ARCMT) |
|
@ -1,37 +1,17 @@ |
|||||
diff -u -r ../llvm-3.8.1.src/tools/clang/lib/Driver/Tools.cpp ./tools/clang/lib/Driver/Tools.cpp
|
diff -u -r ../llvm-3.9.0.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
|
--- ../llvm-3.9.0.src/tools/clang/lib/Driver/Tools.cpp 2016-08-13 16:43:56.000000000 -0400
|
||||
+++ ./tools/clang/lib/Driver/Tools.cpp 2016-08-18 10:00:30.287138752 -0400
|
+++ ./tools/clang/lib/Driver/Tools.cpp 2016-09-04 06:15:59.703422745 -0400
|
||||
@@ -733,11 +733,11 @@
|
@@ -9357,9 +9357,12 @@
|
||||
ABI = FloatABI::SoftFP; |
|
||||
break; |
|
||||
case llvm::Triple::Android: |
|
||||
- ABI = (SubArch == 7) ? FloatABI::SoftFP : FloatABI::Soft;
|
|
||||
+ ABI = FloatABI::SoftFP;
|
|
||||
break; |
|
||||
default: |
|
||||
// Assume "soft", but warn the user we are guessing. |
|
||||
- ABI = FloatABI::Soft;
|
|
||||
+ ABI = FloatABI::SoftFP;
|
|
||||
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 llvm::Triple::ArchType Arch = ToolChain.getArch(); |
||||
const bool isAndroid = ToolChain.getTriple().isAndroid(); |
const bool isAndroid = ToolChain.getTriple().isAndroid(); |
||||
|
const bool IsIAMCU = ToolChain.getTriple().isOSIAMCU(); |
||||
|
+ // Termux modification: Enable pie by default for Android and support the
|
||||
|
+ // nopie flag.
|
||||
const bool IsPIE = |
const bool IsPIE = |
||||
!Args.hasArg(options::OPT_shared) && !Args.hasArg(options::OPT_static) && |
!Args.hasArg(options::OPT_shared) && !Args.hasArg(options::OPT_static) && |
||||
- (Args.hasArg(options::OPT_pie) || ToolChain.isPIEDefault());
|
- (Args.hasArg(options::OPT_pie) || ToolChain.isPIEDefault());
|
||||
+ (Args.hasArg(options::OPT_pie) || ToolChain.isPIEDefault()
|
+ (Args.hasArg(options::OPT_pie) || ToolChain.isPIEDefault() || isAndroid) &&
|
||||
+ /* Termux modification: Revert
|
+ !Args.hasArg(options::OPT_nopie);
|
||||
+ 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 = |
const bool HasCRTBeginEndFiles = |
||||
ToolChain.getTriple().hasEnvironment() || |
ToolChain.getTriple().hasEnvironment() || |
||||
(ToolChain.getTriple().getVendor() != llvm::Triple::MipsTechnologies); |
(ToolChain.getTriple().getVendor() != llvm::Triple::MipsTechnologies); |
||||
|
@ -0,0 +1,15 @@ |
|||||
|
Workaround bug https://github.com/android-ndk/ndk/issues/82 where std::to_string |
||||
|
is not available yet. |
||||
|
|
||||
|
diff -u -r ../llvm-3.9.0.src/tools/sancov/sancov.cc ./tools/sancov/sancov.cc
|
||||
|
--- ../llvm-3.9.0.src/tools/sancov/sancov.cc 2016-07-13 22:24:01.000000000 -0400
|
||||
|
+++ ./tools/sancov/sancov.cc 2016-09-04 11:48:19.647813216 -0400
|
||||
|
@@ -512,7 +512,7 @@
|
||||
|
static std::string formatHtmlPct(size_t Pct) { |
||||
|
Pct = std::max(std::size_t{0}, std::min(std::size_t{100}, Pct)); |
||||
|
|
||||
|
- std::string Num = std::to_string(Pct);
|
||||
|
+ std::string Num = llvm::utostr(Pct);
|
||||
|
std::string Zeroes(3 - Num.size(), '0'); |
||||
|
if (!Zeroes.empty()) |
||||
|
Zeroes = "<span class='lz'>" + Zeroes + "</span>"; |
Loading…
Reference in new issue