clang: Fix aarch64 build

This commit is contained in:
Fredrik Fornwall 2016-01-05 09:15:12 -05:00
parent 69351bc15b
commit 88b27cc6bd
3 changed files with 30 additions and 0 deletions

View File

@ -43,6 +43,9 @@ termux_step_configure () {
LLVM_DEFAULT_TARGET_TRIPLE="armv7a-linux-androideabihf"
elif [ $TERMUX_ARCH = "i686" ]; then
LLVM_TARGET_ARCH=X86
elif [ $TERMUX_ARCH = "aarch64" ]; then
LLVM_TARGET_ARCH=AArch64
LLVM_DEFAULT_TARGET_TRIPLE="aarch64-linux-android"
fi
# see CMakeLists.txt and tools/clang/CMakeLists.txt
cmake -G "Unix Makefiles" .. \

View File

@ -0,0 +1,13 @@
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

View File

@ -0,0 +1,14 @@
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();
}