Support new linux_arm32_hfp_toolchain
This commit is contained in:
committed by
Stanislav Erokhin
parent
43bfeb5c33
commit
ddaf477849
@@ -417,9 +417,9 @@ runtimeDefinitions.linux_x64 = USE_GCC_UNWIND=1 KONAN_LINUX=1 KONAN_X64=1 \
|
||||
USE_ELF_SYMBOLS=1 ELFSIZE=64 KONAN_HAS_CXX11_EXCEPTION_FUNCTIONS=1
|
||||
|
||||
# Raspberry Pi
|
||||
gccToolchain.linux_arm32_hfp = target-gcc-toolchain-3-linux-x86-64
|
||||
gccToolchain.linux_arm32_hfp = arm-unknown-linux-gnueabihf-gcc-8.3.0-glibc-2.19-kernel-4.9
|
||||
|
||||
targetToolchain.linux_x64-linux_arm32_hfp = target-gcc-toolchain-3-linux-x86-64/x86_64-unknown-linux-gnu
|
||||
targetToolchain.linux_x64-linux_arm32_hfp = $gccToolchain.linux_arm32_hfp/arm-unknown-linux-gnueabihf
|
||||
targetToolchain.mingw_x64-linux_arm32_hfp = msys2-mingw-w64-x86_64-clang-llvm-lld-compiler_rt-8.0.1
|
||||
targetToolchain.macos_x64-linux_arm32_hfp = $llvmHome.macos_x64
|
||||
|
||||
@@ -428,28 +428,25 @@ emulatorDependency.linux_x64-linux_arm32_hfp = qemu-arm-static-5.1.0-linux-2
|
||||
emulatorExecutable.linux_x64-linux_arm32_hfp = qemu-arm-static-5.1.0-linux-2/qemu-arm
|
||||
|
||||
dependencies.linux_x64-linux_arm32_hfp = \
|
||||
target-gcc-toolchain-3-linux-x86-64 \
|
||||
target-sysroot-2-raspberrypi \
|
||||
arm-unknown-linux-gnueabihf-gcc-8.3.0-glibc-2.19-kernel-4.9 \
|
||||
libffi-3.2.1-2-linux-x86-64
|
||||
dependencies.mingw_x64-linux_arm32_hfp = \
|
||||
libffi-3.2.1-mingw-w64-x86-64 \
|
||||
target-gcc-toolchain-3-linux-x86-64 \
|
||||
target-sysroot-2-raspberrypi
|
||||
arm-unknown-linux-gnueabihf-gcc-8.3.0-glibc-2.19-kernel-4.9 \
|
||||
libffi-3.2.1-mingw-w64-x86-64
|
||||
dependencies.macos_x64-linux_arm32_hfp = \
|
||||
libffi-3.2.1-3-darwin-macos \
|
||||
target-gcc-toolchain-3-linux-x86-64 \
|
||||
target-sysroot-2-raspberrypi
|
||||
arm-unknown-linux-gnueabihf-gcc-8.3.0-glibc-2.19-kernel-4.9 \
|
||||
libffi-3.2.1-3-darwin-macos
|
||||
|
||||
quadruple.linux_arm32_hfp = armv6-unknown-linux-gnueabihf
|
||||
quadruple.linux_arm32_hfp = arm-unknown-linux-gnueabihf
|
||||
linkerNoDebugFlags.linux_arm32_hfp = -S
|
||||
linkerDynamicFlags.linux_arm32_hfp = -shared
|
||||
linkerOptimizationFlags.linux_arm32_hfp = --gc-sections
|
||||
targetSysRoot.linux_arm32_hfp = target-sysroot-2-raspberrypi
|
||||
targetSysRoot.linux_arm32_hfp = $gccToolchain.linux_arm32_hfp/arm-unknown-linux-gnueabihf/sysroot
|
||||
# We could reuse host toolchain here.
|
||||
linkerKonanFlags.linux_arm32_hfp = -Bstatic -lstdc++ -Bdynamic -ldl -lm -lpthread \
|
||||
--defsym __cxa_demangle=Konan_cxa_demangle --no-threads
|
||||
# targetSysroot-relative.
|
||||
libGcc.linux_arm32_hfp = lib/gcc/arm-linux-gnueabihf/4.8.3
|
||||
libGcc.linux_arm32_hfp = ../../lib/gcc/arm-unknown-linux-gnueabihf/8.3.0
|
||||
targetCpu.linux_arm32_hfp = arm1136jf-s
|
||||
targetCpuFeatures.linux_arm32_hfp = +dsp,+strict-align,+vfp2,-crypto,-d16,-fp-armv8,-fp-only-sp,-fp16,-neon,-thumb-mode,-vfp3,-vfp4
|
||||
clangFlags.linux_arm32_hfp = -cc1 -target-cpu $targetCpu.linux_arm32_hfp -mfloat-abi hard -emit-obj -disable-llvm-optzns -x ir
|
||||
@@ -459,10 +456,7 @@ clangDebugFlags.linux_arm32_hfp = -O0
|
||||
clangDynamicFlags.linux_arm32_hfp = -mrelocation-model pic
|
||||
dynamicLinker.linux_arm32_hfp = /lib/ld-linux-armhf.so.3
|
||||
# targetSysRoot relative
|
||||
abiSpecificLibraries.linux_arm32_hfp = \
|
||||
../lib/arm-linux-gnueabihf \
|
||||
lib/arm-linux-gnueabihf \
|
||||
usr/lib/arm-linux-gnueabihf
|
||||
abiSpecificLibraries.linux_arm32_hfp = lib usr/lib
|
||||
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
|
||||
|
||||
|
||||
@@ -78,17 +78,13 @@ 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,
|
||||
KonanTarget.LINUX_ARM64 -> emptyList()
|
||||
KonanTarget.LINUX_ARM64,
|
||||
KonanTarget.MINGW_X64, KonanTarget.MINGW_X86 -> emptyList()
|
||||
|
||||
KonanTarget.LINUX_ARM32_HFP -> listOf(
|
||||
"-mfpu=vfp", "-mfloat-abi=hard",
|
||||
// TODO: those two are hacks.
|
||||
"-I$absoluteTargetSysRoot/usr/include/c++/4.8.3",
|
||||
"-I$absoluteTargetSysRoot/usr/include/c++/4.8.3/arm-linux-gnueabihf"
|
||||
"-mfpu=vfp", "-mfloat-abi=hard"
|
||||
)
|
||||
|
||||
KonanTarget.MINGW_X64, KonanTarget.MINGW_X86 -> emptyList()
|
||||
|
||||
KonanTarget.MACOS_X64 -> listOf(
|
||||
"-mmacosx-version-min=$osVersionMin"
|
||||
)
|
||||
|
||||
+14
-57
@@ -133,8 +133,7 @@ CT_ARCH_ARM=y
|
||||
# CT_ARCH_XTENSA is not set
|
||||
CT_ARCH="arm"
|
||||
CT_ARCH_CHOICE_KSYM="ARM"
|
||||
CT_ARCH_CPU=""
|
||||
CT_ARCH_TUNE=""
|
||||
CT_ARCH_CPU="arm1136jf-s"
|
||||
CT_ARCH_ARM_SHOW=y
|
||||
|
||||
#
|
||||
@@ -183,8 +182,7 @@ CT_ARCH_SUPPORTS_WITH_FLOAT=y
|
||||
CT_ARCH_SUPPORTS_WITH_FPU=y
|
||||
CT_ARCH_SUPPORTS_SOFTFP=y
|
||||
CT_ARCH_EXCLUSIVE_WITH_CPU=y
|
||||
CT_ARCH_ARCH=""
|
||||
CT_ARCH_FPU=""
|
||||
CT_ARCH_FPU="vfp"
|
||||
# CT_ARCH_FLOAT_AUTO is not set
|
||||
CT_ARCH_FLOAT_HW=y
|
||||
# CT_ARCH_FLOAT_SOFTFP is not set
|
||||
@@ -214,7 +212,7 @@ CT_TOOLCHAIN_BUGURL=""
|
||||
#
|
||||
# Tuple completion and aliasing
|
||||
#
|
||||
CT_TARGET_VENDOR="unknown"
|
||||
CT_TARGET_VENDOR=""
|
||||
CT_TARGET_ALIAS_SED_EXPR=""
|
||||
CT_TARGET_ALIAS=""
|
||||
|
||||
@@ -442,14 +440,10 @@ CT_GLIBC_OLDEST_ABI=""
|
||||
CT_GLIBC_FORCE_UNWIND=y
|
||||
# CT_GLIBC_LOCALES is not set
|
||||
# CT_GLIBC_KERNEL_VERSION_NONE is not set
|
||||
CT_GLIBC_KERNEL_VERSION_AS_HEADERS=y
|
||||
# CT_GLIBC_KERNEL_VERSION_CHOSEN is not set
|
||||
CT_GLIBC_MIN_KERNEL="4.9.156"
|
||||
# CT_GLIBC_SSP_DEFAULT is not set
|
||||
# CT_GLIBC_SSP_NO is not set
|
||||
# CT_GLIBC_SSP_YES is not set
|
||||
# CT_GLIBC_SSP_ALL is not set
|
||||
# CT_GLIBC_SSP_STRONG is not set
|
||||
# CT_GLIBC_KERNEL_VERSION_AS_HEADERS is not set
|
||||
CT_GLIBC_KERNEL_VERSION_CHOSEN=y
|
||||
CT_GLIBC_MIN_KERNEL_VERSION="3.2.27"
|
||||
CT_GLIBC_MIN_KERNEL="3.2.27"
|
||||
CT_ALL_LIBC_CHOICES="AVR_LIBC BIONIC GLIBC MINGW_W64 MOXIEBOX MUSL NEWLIB NONE UCLIBC"
|
||||
CT_LIBC_SUPPORT_THREADS_ANY=y
|
||||
CT_LIBC_SUPPORT_THREADS_NATIVE=y
|
||||
@@ -540,15 +534,15 @@ CT_CC_GCC_ENABLE_TARGET_OPTSPACE=y
|
||||
# Misc. obscure options.
|
||||
#
|
||||
CT_CC_CXA_ATEXIT=y
|
||||
# CT_CC_GCC_DISABLE_PCH is not set
|
||||
# CT_CC_GCC_SJLJ_EXCEPTIONS is not set
|
||||
CT_CC_GCC_DISABLE_PCH=y
|
||||
CT_CC_GCC_SJLJ_EXCEPTIONS=m
|
||||
CT_CC_GCC_LDBL_128=m
|
||||
# CT_CC_GCC_BUILD_ID is not set
|
||||
CT_CC_GCC_LNK_HASH_STYLE_DEFAULT=y
|
||||
CT_CC_GCC_BUILD_ID=y
|
||||
# CT_CC_GCC_LNK_HASH_STYLE_DEFAULT is not set
|
||||
# CT_CC_GCC_LNK_HASH_STYLE_SYSV is not set
|
||||
# CT_CC_GCC_LNK_HASH_STYLE_GNU is not set
|
||||
# CT_CC_GCC_LNK_HASH_STYLE_BOTH is not set
|
||||
CT_CC_GCC_LNK_HASH_STYLE=""
|
||||
CT_CC_GCC_LNK_HASH_STYLE_BOTH=y
|
||||
CT_CC_GCC_LNK_HASH_STYLE="both"
|
||||
CT_CC_GCC_DEC_FLOAT_AUTO=y
|
||||
# CT_CC_GCC_DEC_FLOAT_BID is not set
|
||||
# CT_CC_GCC_DEC_FLOAT_DPD is not set
|
||||
@@ -565,33 +559,9 @@ CT_CC_LANG_CXX=y
|
||||
# Debug facilities
|
||||
#
|
||||
# CT_DEBUG_DUMA is not set
|
||||
# CT_DUMA_SRC_RELEASE is not set
|
||||
# CT_DUMA_V_2_5_15 is not set
|
||||
# CT_DEBUG_GDB is not set
|
||||
# CT_GDB_USE_GNU is not set
|
||||
# CT_GDB_SRC_RELEASE is not set
|
||||
# CT_GDB_V_8_2 is not set
|
||||
# CT_GDB_V_8_1 is not set
|
||||
# CT_GDB_V_8_0 is not set
|
||||
# CT_GDB_V_7_12 is not set
|
||||
# CT_GDB_V_7_11 is not set
|
||||
# CT_DEBUG_LTRACE is not set
|
||||
# CT_LTRACE_SRC_RELEASE is not set
|
||||
# CT_LTRACE_V_0_7_3 is not set
|
||||
# CT_DEBUG_STRACE is not set
|
||||
# CT_STRACE_SRC_RELEASE is not set
|
||||
# CT_STRACE_V_4_26 is not set
|
||||
# CT_STRACE_V_4_25 is not set
|
||||
# CT_STRACE_V_4_24 is not set
|
||||
# CT_STRACE_V_4_23 is not set
|
||||
# CT_STRACE_V_4_22 is not set
|
||||
# CT_STRACE_V_4_21 is not set
|
||||
# CT_STRACE_V_4_20 is not set
|
||||
# CT_STRACE_V_4_19 is not set
|
||||
# CT_STRACE_V_4_18 is not set
|
||||
# CT_STRACE_V_4_17 is not set
|
||||
# CT_STRACE_V_4_16 is not set
|
||||
# CT_STRACE_V_4_15 is not set
|
||||
CT_ALL_DEBUG_CHOICES="DUMA GDB LTRACE STRACE"
|
||||
|
||||
#
|
||||
@@ -678,20 +648,7 @@ CT_ISL_0_13_or_later=y
|
||||
CT_ISL_later_than_0_12=y
|
||||
CT_ISL_0_12_or_later=y
|
||||
CT_ISL_REQUIRE_0_12_or_later=y
|
||||
CT_COMP_LIBS_LIBELF=y
|
||||
CT_COMP_LIBS_LIBELF_PKG_KSYM="LIBELF"
|
||||
CT_LIBELF_DIR_NAME="libelf"
|
||||
CT_LIBELF_PKG_NAME="libelf"
|
||||
CT_LIBELF_SRC_RELEASE=y
|
||||
CT_LIBELF_PATCH_ORDER="global"
|
||||
CT_LIBELF_V_0_8=y
|
||||
# CT_LIBELF_NO_VERSIONS is not set
|
||||
CT_LIBELF_VERSION="0.8.13"
|
||||
CT_LIBELF_MIRRORS="http://www.mr511.de/software https://fossies.org/linux/misc/old"
|
||||
CT_LIBELF_ARCHIVE_FILENAME="@{pkg_name}-@{version}"
|
||||
CT_LIBELF_ARCHIVE_DIRNAME="@{pkg_name}-@{version}"
|
||||
CT_LIBELF_ARCHIVE_FORMATS=".tar.gz"
|
||||
CT_LIBELF_SIGNATURE_FORMAT=""
|
||||
# CT_COMP_LIBS_LIBELF is not set
|
||||
CT_COMP_LIBS_LIBICONV=y
|
||||
CT_COMP_LIBS_LIBICONV_PKG_KSYM="LIBICONV"
|
||||
CT_LIBICONV_DIR_NAME="libiconv"
|
||||
|
||||
Reference in New Issue
Block a user