Support new linux_arm64 toolchain
This commit is contained in:
committed by
Stanislav Erokhin
parent
73c27df1be
commit
43bfeb5c33
@@ -467,9 +467,9 @@ runtimeDefinitions.linux_arm32_hfp = USE_GCC_UNWIND=1 KONAN_LINUX=1 \
|
||||
KONAN_ARM32=1 USE_ELF_SYMBOLS=1 ELFSIZE=32 KONAN_NO_UNALIGNED_ACCESS=1
|
||||
|
||||
# Linux arm64
|
||||
gccToolchain.linux_arm64 = target-gcc-toolchain-3-linux-x86-64
|
||||
gccToolchain.linux_arm64 = aarch64-unknown-linux-gnu-gcc-8.3.0-glibc-2.25-kernel-4.9
|
||||
|
||||
targetToolchain.linux_x64-linux_arm64 = target-gcc-toolchain-3-linux-x86-64/x86_64-unknown-linux-gnu
|
||||
targetToolchain.linux_x64-linux_arm64 = $gccToolchain.linux_arm64/aarch64-unknown-linux-gnu
|
||||
targetToolchain.mingw_x64-linux_arm64 = msys2-mingw-w64-x86_64-clang-llvm-lld-compiler_rt-8.0.1
|
||||
targetToolchain.macos_x64-linux_arm64 = $llvmHome.macos_x64
|
||||
|
||||
@@ -477,29 +477,25 @@ emulatorDependency.linux_x64-linux_arm64 = qemu-aarch64-static-5.1.0-linux-2
|
||||
emulatorExecutable.linux_x64-linux_arm64 = qemu-aarch64-static-5.1.0-linux-2/qemu-aarch64
|
||||
|
||||
dependencies.linux_x64-linux_arm64 = \
|
||||
target-gcc-toolchain-3-linux-x86-64 \
|
||||
target-sysroot-1-linux-glibc-arm64 \
|
||||
aarch64-unknown-linux-gnu-gcc-8.3.0-glibc-2.25-kernel-4.9 \
|
||||
libffi-3.2.1-2-linux-x86-64
|
||||
dependencies.mingw_x64-linux_arm64 = \
|
||||
libffi-3.2.1-mingw-w64-x86-64 \
|
||||
target-gcc-toolchain-3-linux-x86-64 \
|
||||
target-sysroot-1-linux-glibc-arm64
|
||||
aarch64-unknown-linux-gnu-gcc-8.3.0-glibc-2.25-kernel-4.9 \
|
||||
libffi-3.2.1-mingw-w64-x86-64
|
||||
dependencies.macos_x64-linux_arm64 = \
|
||||
libffi-3.2.1-3-darwin-macos \
|
||||
target-gcc-toolchain-3-linux-x86-64 \
|
||||
target-sysroot-1-linux-glibc-arm64
|
||||
aarch64-unknown-linux-gnu-gcc-8.3.0-glibc-2.25-kernel-4.9 \
|
||||
libffi-3.2.1-3-darwin-macos
|
||||
|
||||
quadruple.linux_arm64 = aarch64-unknown-linux-gnu
|
||||
linkerNoDebugFlags.linux_arm64 = -S
|
||||
linkerDynamicFlags.linux_arm64 = -shared
|
||||
linkerOptimizationFlags.linux_arm64 = --gc-sections
|
||||
# From https://releases.linaro.org/components/toolchain/binaries/latest-7/aarch64-linux-gnu/.
|
||||
targetSysRoot.linux_arm64 = target-sysroot-1-linux-glibc-arm64
|
||||
targetSysRoot.linux_arm64 = $gccToolchain.linux_arm64/aarch64-unknown-linux-gnu/sysroot
|
||||
# We could reuse host toolchain here.
|
||||
linkerKonanFlags.linux_arm64 = -Bstatic -lstdc++ -Bdynamic -ldl -lm -lpthread \
|
||||
--defsym __cxa_demangle=Konan_cxa_demangle --no-threads
|
||||
# targetSysroot-relative.
|
||||
libGcc.linux_arm64 = usr/lib
|
||||
libGcc.linux_arm64 = ../../lib/gcc/aarch64-unknown-linux-gnu/8.3.0
|
||||
targetCpu.linux_arm64 = generic
|
||||
clangFlags.linux_arm64 = -cc1 -target-cpu cortex-a57 -emit-obj -disable-llvm-optzns -x ir
|
||||
clangNooptFlags.linux_arm64 = -O1
|
||||
@@ -508,9 +504,7 @@ clangDebugFlags.linux_arm64 = -O0
|
||||
clangDynamicFlags.linux_arm64 = -mrelocation-model pic
|
||||
dynamicLinker.linux_arm64 = /lib/ld-linux-aarch64.so.1
|
||||
# targetSysRoot relative
|
||||
abiSpecificLibraries.linux_arm64 = \
|
||||
lib \
|
||||
usr/lib
|
||||
abiSpecificLibraries.linux_arm64 = lib usr/lib
|
||||
runtimeDefinitions.linux_arm64 = USE_GCC_UNWIND=1 KONAN_LINUX=1 KONAN_ARM64=1 \
|
||||
USE_ELF_SYMBOLS=1 ELFSIZE=64
|
||||
|
||||
|
||||
@@ -77,7 +77,8 @@ class ClangArgs(private val configurables: Configurables) : Configurables by con
|
||||
|
||||
private val specificClangArgs: List<String> = when (target) {
|
||||
KonanTarget.LINUX_X64,
|
||||
KonanTarget.LINUX_MIPS32, KonanTarget.LINUX_MIPSEL32 -> emptyList()
|
||||
KonanTarget.LINUX_MIPS32, KonanTarget.LINUX_MIPSEL32,
|
||||
KonanTarget.LINUX_ARM64 -> emptyList()
|
||||
|
||||
KonanTarget.LINUX_ARM32_HFP -> listOf(
|
||||
"-mfpu=vfp", "-mfloat-abi=hard",
|
||||
@@ -86,11 +87,6 @@ class ClangArgs(private val configurables: Configurables) : Configurables by con
|
||||
"-I$absoluteTargetSysRoot/usr/include/c++/4.8.3/arm-linux-gnueabihf"
|
||||
)
|
||||
|
||||
KonanTarget.LINUX_ARM64 -> listOf(
|
||||
"-I$absoluteTargetSysRoot/usr/include/c++/7",
|
||||
"-I$absoluteTargetSysRoot/usr/include/c++/7/aarch64-linux-gnu"
|
||||
)
|
||||
|
||||
KonanTarget.MINGW_X64, KonanTarget.MINGW_X86 -> emptyList()
|
||||
|
||||
KonanTarget.MACOS_X64 -> listOf(
|
||||
|
||||
Reference in New Issue
Block a user