diff --git a/kotlin-native/konan/konan.properties b/kotlin-native/konan/konan.properties index a68ccb1bcf4..e325682da80 100644 --- a/kotlin-native/konan/konan.properties +++ b/kotlin-native/konan/konan.properties @@ -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 diff --git a/kotlin-native/shared/src/main/kotlin/org/jetbrains/kotlin/konan/target/ClangArgs.kt b/kotlin-native/shared/src/main/kotlin/org/jetbrains/kotlin/konan/target/ClangArgs.kt index cce351ebf20..23fba070463 100644 --- a/kotlin-native/shared/src/main/kotlin/org/jetbrains/kotlin/konan/target/ClangArgs.kt +++ b/kotlin-native/shared/src/main/kotlin/org/jetbrains/kotlin/konan/target/ClangArgs.kt @@ -78,17 +78,13 @@ class ClangArgs(private val configurables: Configurables) : Configurables by con private val specificClangArgs: List = 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" ) diff --git a/kotlin-native/tools/toolchain_builder/toolchains/arm-unknown-linux-gnueabihf/gcc-8.3.0-glibc-2.19-kernel-4.9.config b/kotlin-native/tools/toolchain_builder/toolchains/arm-unknown-linux-gnueabihf/gcc-8.3.0-glibc-2.19-kernel-4.9.config index c86727130bb..4a25de86743 100644 --- a/kotlin-native/tools/toolchain_builder/toolchains/arm-unknown-linux-gnueabihf/gcc-8.3.0-glibc-2.19-kernel-4.9.config +++ b/kotlin-native/tools/toolchain_builder/toolchains/arm-unknown-linux-gnueabihf/gcc-8.3.0-glibc-2.19-kernel-4.9.config @@ -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"