diff options
author | Andrey Kvochko <a.kvochko@samsung.com> | 2016-04-05 18:10:02 +0300 |
---|---|---|
committer | Andrey Kvochko <a.kvochko@samsung.com> | 2016-04-05 18:10:02 +0300 |
commit | 40fc77eb6e799ecb7afdaa912900f3463650781e (patch) | |
tree | 921a73688e19295d5b2c9ee5c4be77870643a1c3 /cross | |
parent | a91efd26f26ef7f28023380cb73ec7766cac620d (diff) | |
download | coreclr-40fc77eb6e799ecb7afdaa912900f3463650781e.tar.gz coreclr-40fc77eb6e799ecb7afdaa912900f3463650781e.tar.bz2 coreclr-40fc77eb6e799ecb7afdaa912900f3463650781e.zip |
For Issue #3785 Arm Soft FP support: arguments and return values are passed in integer registers for arm-softfp architecture.
Diffstat (limited to 'cross')
-rw-r--r-- | cross/arm-softfp/sources.list | 3 | ||||
-rw-r--r-- | cross/arm-softfp/toolchain.cmake | 28 | ||||
-rw-r--r-- | cross/arm-softfp/tryrun.cmake | 116 | ||||
-rwxr-xr-x | cross/build-rootfs.sh | 17 |
4 files changed, 161 insertions, 3 deletions
diff --git a/cross/arm-softfp/sources.list b/cross/arm-softfp/sources.list new file mode 100644 index 0000000000..4d142ac9b1 --- /dev/null +++ b/cross/arm-softfp/sources.list @@ -0,0 +1,3 @@ +# Debian (sid) # UNSTABLE +deb http://ftp.debian.org/debian/ sid main contrib non-free +deb-src http://ftp.debian.org/debian/ sid main contrib non-free diff --git a/cross/arm-softfp/toolchain.cmake b/cross/arm-softfp/toolchain.cmake new file mode 100644 index 0000000000..9c8ca3e914 --- /dev/null +++ b/cross/arm-softfp/toolchain.cmake @@ -0,0 +1,28 @@ +set(CROSS_ROOTFS $ENV{ROOTFS_DIR}) + +set(CMAKE_SYSTEM_NAME Linux) +set(CMAKE_SYSTEM_VERSION 1) +set(CMAKE_SYSTEM_PROCESSOR armv7l) + +add_compile_options(-target armv7-linux-gnueabi) +add_compile_options(-mthumb) +add_compile_options(-mfpu=vfpv3) +add_compile_options(--sysroot=${CROSS_ROOTFS}) + +set(CROSS_LINK_FLAGS "${CROSS_LINK_FLAGS} -target arm-linux-gnueabi") +set(CROSS_LINK_FLAGS "${CROSS_LINK_FLAGS} -B${CROSS_ROOTFS}/usr/lib/arm-linux-gnueabi") +set(CROSS_LINK_FLAGS "${CROSS_LINK_FLAGS} -L${CROSS_ROOTFS}/lib/arm-linux-gnueabi -L${CROSS_ROOTFS}/usr/lib/arm-linux-gnueabi") +set(CROSS_LINK_FLAGS "${CROSS_LINK_FLAGS} --sysroot=${CROSS_ROOTFS}") + +set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} ${CROSS_LINK_FLAGS}" CACHE STRING "" FORCE) +set(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} ${CROSS_LINK_FLAGS}" CACHE STRING "" FORCE) +set(CMAKE_MODULE_LINKER_FLAGS "${CMAKE_MODULE_LINKER_FLAGS} ${CROSS_LINK_FLAGS}" CACHE STRING "" FORCE) + +set(CMAKE_FIND_ROOT_PATH "${CROSS_ROOTFS}") +set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER) +set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY) +set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY) +set(CMAKE_FIND_ROOT_PATH_MODE_PACKAGE ONLY) + +set(WITH_LLDB_LIBS "${CROSS_ROOTFS}/usr/lib/arm-linux-gnueabi" CACHE STRING "") +set(WITH_LLDB_INCLUDES "${CROSS_ROOTFS}/usr/lib/llvm-3.6/include" CACHE STRING "") diff --git a/cross/arm-softfp/tryrun.cmake b/cross/arm-softfp/tryrun.cmake new file mode 100644 index 0000000000..5994e08394 --- /dev/null +++ b/cross/arm-softfp/tryrun.cmake @@ -0,0 +1,116 @@ +SET( REALPATH_SUPPORTS_NONEXISTENT_FILES_EXITCODE + 1 + CACHE STRING "Result from TRY_RUN" FORCE) + +SET( SSCANF_SUPPORT_ll_EXITCODE + 0 + CACHE STRING "Result from TRY_RUN" FORCE) + +SET( SSCANF_CANNOT_HANDLE_MISSING_EXPONENT_EXITCODE + 1 + CACHE STRING "Result from TRY_RUN" FORCE) + +SET( HAVE_LARGE_SNPRINTF_SUPPORT_EXITCODE + 0 + CACHE STRING "Result from TRY_RUN" FORCE) + +SET( HAVE_SCHED_GET_PRIORITY_EXITCODE + 0 + CACHE STRING "Result from TRY_RUN" FORCE) + +SET( HAVE_WORKING_GETTIMEOFDAY_EXITCODE + 0 + CACHE STRING "Result from TRY_RUN" FORCE) + +SET( HAVE_WORKING_CLOCK_GETTIME_EXITCODE + 0 + CACHE STRING "Result from TRY_RUN" FORCE) + +SET( HAVE_CLOCK_MONOTONIC_EXITCODE + 0 + CACHE STRING "Result from TRY_RUN" FORCE) + +SET( HAVE_MMAP_DEV_ZERO_EXITCODE + 0 + CACHE STRING "Result from TRY_RUN" FORCE) + +SET( MMAP_IGNORES_HINT_EXITCODE + 1 + CACHE STRING "Result from TRY_RUN" FORCE) + +SET( MMAP_DOESNOT_ALLOW_REMAP_EXITCODE + 1 + CACHE STRING "Result from TRY_RUN" FORCE) + +SET( ONE_SHARED_MAPPING_PER_FILEREGION_PER_PROCESS_EXITCODE + 1 + CACHE STRING "Result from TRY_RUN" FORCE) + +SET( PTHREAD_CREATE_MODIFIES_ERRNO_EXITCODE + 1 + CACHE STRING "Result from TRY_RUN" FORCE) + +SET( SEM_INIT_MODIFIES_ERRNO_EXITCODE + 1 + CACHE STRING "Result from TRY_RUN" FORCE) + +SET( HAVE_COMPATIBLE_ACOS_EXITCODE + 0 + CACHE STRING "Result from TRY_RUN" FORCE) + +SET( HAVE_COMPATIBLE_ASIN_EXITCODE + 0 + CACHE STRING "Result from TRY_RUN" FORCE) + +SET( HAVE_COMPATIBLE_POW_EXITCODE + 1 + CACHE STRING "Result from TRY_RUN" FORCE) + +SET( HAVE_VALID_NEGATIVE_INF_POW_EXITCODE + 0 + CACHE STRING "Result from TRY_RUN" FORCE) + +SET( HAVE_VALID_POSITIVE_INF_POW_EXITCODE + 0 + CACHE STRING "Result from TRY_RUN" FORCE) + +SET( HAVE_COMPATIBLE_ATAN2_EXITCODE + 0 + CACHE STRING "Result from TRY_RUN" FORCE) + +SET( HAVE_COMPATIBLE_LOG_EXITCODE + 0 + CACHE STRING "Result from TRY_RUN" FORCE) + +SET( HAVE_COMPATIBLE_LOG10_EXITCODE + 0 + CACHE STRING "Result from TRY_RUN" FORCE) + +SET( UNGETC_NOT_RETURN_EOF_EXITCODE + 0 + CACHE STRING "Result from TRY_RUN" FORCE) + +SET( HAS_POSIX_SEMAPHORES_EXITCODE + 0 + CACHE STRING "Result from TRY_RUN" FORCE) + +SET( GETPWUID_R_SETS_ERRNO_EXITCODE + 0 + CACHE STRING "Result from TRY_RUN" FORCE) + +SET( FILE_OPS_CHECK_FERROR_OF_PREVIOUS_CALL_EXITCODE + 1 + CACHE STRING "Result from TRY_RUN" FORCE) + +SET( HAVE_CLOCK_THREAD_CPUTIME_EXITCODE + 0 + CACHE STRING "Result from TRY_RUN" FORCE) + +SET( HAVE_SCHED_GETCPU_EXITCODE + 0 + CACHE STRING "Result from TRY_RUN" FORCE) + +SET( HAVE_CLOCK_MONOTONIC_COARSE_EXITCODE + 0 + CACHE STRING "Result from TRY_RUN" FORCE) + diff --git a/cross/build-rootfs.sh b/cross/build-rootfs.sh index 78309f766a..6e563d27ca 100755 --- a/cross/build-rootfs.sh +++ b/cross/build-rootfs.sh @@ -3,11 +3,13 @@ usage() { echo "Usage: $0 [BuildArch]" - echo "BuildArch can be: arm, arm64" + echo "BuildArch can be: arm, arm-softfp, arm64" exit 1 } +__UbuntuCodeName=trusty + __CrossDir=$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd ) __InitialDir=$PWD __BuildArch=arm @@ -38,6 +40,14 @@ for i in "$@" __UbuntuPackages="build-essential libunwind8-dev gettext symlinks liblttng-ust-dev libicu-dev" __MachineTriple=aarch64-linux-gnu ;; + arm-softfp) + __BuildArch=arm-softfp + __UbuntuArch=armel + __UbuntuRepo="http://ftp.debian.org/debian/" + __UbuntuPackages="build-essential lldb-3.6-dev libunwind8-dev gettext symlinks liblttng-ust-dev libicu-dev" + __MachineTriple=arm-linux-gnueabi + __UbuntuCodeName=stable + ;; *) __UnprocessedBuildArgs="$__UnprocessedBuildArgs $i" esac @@ -51,9 +61,10 @@ fi umount $__RootfsDir/* rm -rf $__RootfsDir -qemu-debootstrap --arch $__UbuntuArch trusty $__RootfsDir $__UbuntuRepo +qemu-debootstrap --arch $__UbuntuArch $__UbuntuCodeName $__RootfsDir $__UbuntuRepo cp $__CrossDir/$__BuildArch/sources.list $__RootfsDir/etc/apt/sources.list chroot $__RootfsDir apt-get update chroot $__RootfsDir apt-get -y install $__UbuntuPackages chroot $__RootfsDir symlinks -cr /usr -umount $__RootfsDir/*
\ No newline at end of file +umount $__RootfsDir/* + |