summaryrefslogtreecommitdiff
path: root/cross
AgeCommit message (Collapse)AuthorFilesLines
2020-06-30[Tizen] Fix cross build arm64 rootfs creation (#284)submit/tizen/20200629.221257accepted/tizen/unified/20200630.131323Gleb Balykov/AI Compiler Lab /SRR/Engineer/Samsung Electronics2-2/+3
2020-06-18[Tizen] Add arm64 rootfs build scriptGleb Balykov4-2/+222
2020-06-18[Tizen] Add tizen arm64 toolchain file. Explicitly pass non-portable build ↵Gleb Balykov1-6/+27
to fix arm64 build on tizen (on armel non-portable build is default, tizen rid in general is non-portable).
2019-06-13Also set the *__TRYRUN_OUTPUT cache value to something. (#24631)Kai Ruhnau1-0/+1
CMake 3.14 fails in a cross-compilation ARM build and complains that both both *_EXITCODE and *_EXITCODE__TRYRUN_OUTPUT have to be set. Doing this re-enables the build.
2019-04-04Fix MUSL ARM64 cross buildJan Vorlicek1-2/+0
There were two issues: * the cross/toolchain.cmake was unconditionally setting the linker to ld.gold. This is not wanted in general and the ld.gold cannot link arm64 MUSL stuff correctly (it leaves a couple of TLS symbols as undefined) * the src/vm/arm64/asmhelpers.S was referencing a global variable using absolute relocation, which is not allowed in shared libraries on MUSL based Linux distros.
2019-02-20Fix tizen rootfs building (#22715)Konstantin Baladurin1-2/+2
Move tizen-release package from base to unified repo
2019-02-07More PAL layer cleanup for GNU and add build script support for GCC (#22369)Sinan Kaya1-4/+22
* Declare throw only when compiling for c++ Prevent the definition from getting defined multiple times and map it to throw() only when compiling c++ code. * Suppress warnings for tests Suppress: -Wno-write-strings -Wno-sign-compare -Wno-narrowing -fpermissive -Wno-int-to-pointer-cast to allow tests to compile * Add gcc option to build.sh script Following clangx.y model add -gccx.y command line arguments with gcc5 and gcc7 being the currnetly supported options. * Allow environment variable to be used for TOOLCHAIN Remove CLANG specific compiler options as well. * Hide non-GNU compiler options * Do not include local directory if cross compiling [ 0%] Building CXX object src/pal/src/eventprovider/tracepointprovider/CMakeFiles/coreclrtraceptprovider.dir/__/lttng/traceptprovdotnetruntime.cpp.o cc1plus: error: include location "/usr/local/include" is unsafe for cross-compilation [-Werror=poison-system-directories] * Suppress unknown pragma warnings src/pal/src/exception/seh-unwind.cpp:37:0: warning: ignoring #pragma clang diagnostic [-Wunknown-pragmas] #pragma clang diagnostic pop Removing these cause compilation error on clang7 and arm as follows: In file included from /bin/obj/Linux.arm.Debug/src/pal/src/libunwind/include/libunwind.h:9: /src/pal/src/libunwind/include/libunwind-arm.h:247:9: error: empty struct has size 0 in C, size 1 in C++ [-Werror,-Wextern-c-compat] typedef struct unw_tdep_save_loc ^ /src/pal/src/libunwind/include/libunwind-arm.h:288:9: error: empty struct has size 0 in C, size 1 in C++ [-Werror,-Wextern-c-compat] typedef struct * plt not useful for GNU and ARM64/ARM src/pal/src/arch/arm64/callsignalhandlerwrapper.S: Assembler messages: src/pal/src/arch/arm64/callsignalhandlerwrapper.S:31: Error: unexpected characters following instruction at operand 1 -- `bl signal_handler_worker@plt' src/pal/src/arch/arm64/callsignalhandlerwrapper.S:32: Error: unexpected characters following instruction at operand 1 -- `bl signal_handler_worker@plt' * Remove double const from argv in PAL_Initialize Seeing compilation error with GNU for C source files as follows: if (PAL_Initialize(argc, argv) != 0) ^ src/pal/tests/palsuite/common/palsuite.h:21:0, from src/pal/tests/palsuite/c_runtime/asinhf/test1/test1.c:18: src/pal/inc/pal.h:374:1: note: expected ‘const char * const*’ but argument is of type ‘char **’ * Suppress format warnings using GNU for libunwind warning: format ‘%li’ expects argument of type ‘long int’, but argument 3 has type ‘int’ [-Wformat=] Debug (4, " aligned frame, offset %li\n", f->cfa_reg_offset); * Fix -fpermissive warnings for GNU * Suppress unused variable warning in libunwind src/pal/src/libunwind/include/libunwind-aarch64.h:201:5: warning: right-hand operand of comma expression has no effect [-Wunused-value] #define unw_tdep_getcontext(uc) (({ \ ~~~~~~~~~ unw_tdep_context_t *unw_ctx = (uc); \ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ register uint64_t *unw_base asm ("x0") = (uint64_t*) unw_ctx->uc_mcontext.regs; \ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ __asm__ __volatile__ ( \ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ "stp x0, x1, [%[base], #0]\n" \ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ "stp x2, x3, [%[base], #16]\n" \ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ "stp x4, x5, [%[base], #32]\n" \ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ "stp x6, x7, [%[base], #48]\n" \ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ "stp x8, x9, [%[base], #64]\n" \ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ "stp x10, x11, [%[base], #80]\n" \ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ "stp x12, x13, [%[base], #96]\n" \ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ "stp x14, x13, [%[base], #112]\n" \ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ "stp x16, x17, [%[base], #128]\n" \ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ "stp x18, x19, [%[base], #144]\n" \ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ "stp x20, x21, [%[base], #160]\n" \ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ "stp x22, x23, [%[base], #176]\n" \ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ "stp x24, x25, [%[base], #192]\n" \ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ "stp x26, x27, [%[base], #208]\n" \ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ "stp x28, x29, [%[base], #224]\n" \ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ "str x30, [%[base], #240]\n" \ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ "mov x1, sp\n" \ ~~~~~~~~~~~~~~~~ "stp x1, x30, [%[base], #248]\n" \ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ : [base] "+r" (unw_base) : : "x1", "memory"); \ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ }), 0) * Fix warning: ‘memset’ used with length equal to number of elements warning Fix similar warnings to these by including the element size into total size calculation. src/pal/tests/palsuite/miscellaneous/SetEnvironmentVariableW/test1/test.cpp: In function ‘int main(int, char**)’: src/pal/tests/palsuite/miscellaneous/SetEnvironmentVariableW/test1/test.cpp:89:31: warning: ‘memset’ used with length equal to number of elements without multiplication by element size [-Wmemset-elt-size] memset(NewValue,0,BUF_SIZE); * Define CLR specific compiler option CLR_CMAKE_COMPILER By the time toolchain.cmake is called, the compiler detection from cmake is not active. We need an intermediate definition to pass to compiler detection.
2018-11-14Cleanup on the new Math APIs (#20993)Tanner Gooding3-6/+6
* Updating the cached HAVE_COMPATIBLE_ILOGB0_EXITCODE and HAVE_COMPATIBLE_ILOGBNAN_EXITCODE to 1 * Fixing MaxMagnitude and MinMagnitude to correctly handle the case when ax and ay are equal
2018-11-12Some cleanup of the Math functions from #20788 (#20912)Tanner Gooding3-0/+18
* Fixing Max, MaxMagnitude, Min, and MinMagnitude for Math/MathF to be IEEE compliant * Disabling the System.Math.Max/Min tests * Adding the new c_runtime PAL tests to the CMakeLists to ensure they actually get run. * Fixing the casing of IlogB to ILogB * Fixing the new PAL tests to match the correct/expected outputs * Fixing up PAL_ilogb to correctly handle 0 and NaN
2018-10-02Add Bionic to sources.list for cross (#20202)Raul Hidalgo Caballero4-1/+39
2018-06-28Update Tizen CI docker image (#18567)Eden2-7/+7
* Update Tizen rootfs generation scripts for Tizen 5.0 M1 * Update Tizen CI docker image * Update Tizen CI RID
2018-06-02Enable Alpine cross build for arm and arm64 (#18234)Jan Vorlicek3-40/+95
* Enable Alpine cross build for arm and arm64 This change enables cross build and rootfs creation for Alpine Linux ARM / ARM64 targets. Besides that, I've cleaned up the toolchain.cmake and got rid of the explicit specification of GCC version specific include and lib folders for all targets except of Tizen. Clang is able to figure that out on its own the same way as it does when doing regular non-cross builds, but it needed one more option for that. I've also fixed a bug in the `add_compile_param` macro that caused ignoring of parameters in cases where another parameter that was a substring of the one being added was already present. So for example if an option `-L${CMAKE_SYSROOT}/usr/lib/gcc` was already added, attempt to add option `-L${CMAKE_SYSROOT}/usr/lib` would do nothing. * Fix to make it work with cmake 2.8 too The older cmake that is still in use on Ubuntu 14.04 doesn't have support for specifying sysroot and target via cmake variables. So I've replaced those by explicit setting of the compiler / linker options instead.
2018-05-21Update Tizen CI docker image (#17814)Gleb Balykov2-12/+7
* Update Tizen CI docker image * Revert "Remove Tizen armel automatic PR triggered jobs" This reverts commit 462e2b59c67b0b6d25985a7284616539f348cbfc. * Update Tizen CI docker image in netci * Update links required for generation of Tizen rootfs * Remove -rebuild from arm32 CI docker build
2018-04-24Patch LTTng ust-tracepoint.h on ARM/Trusty when building crossrootfs. (#17762)Brian Robbins2-0/+72
2018-04-16[X86] Fix cross toolchain library paths (#17513)Petr Bred1-1/+4
- fix internal tests building Signed-off-by: Petr Bred <bredpetr@gmail.com>
2018-04-11Fix cmake toolchain compile flags loop (#17380)Petr Bred10-656/+181
- fix https://github.com/dotnet/corert/issues/5093 - cmake toolchain refactoring Signed-off-by: Petr Bred <bredpetr@gmail.com>
2018-03-29[Arm64] Correct cross/arm64/tryrun.cmake (#17293)Steve MacLean1-2/+2
2018-03-12Fix lldb-3.9-dev package name (#16885)Steve MacLean1-2/+2
2018-03-07Remove libuuid from scripts and docs (#16805)kasper33-12/+1
2018-01-15Fix Android build (#15868)Jan Vorlicek1-14/+15
There were the following issues: * The current versions of packages available at the termux site were obsolete. * The libintl.h was removed from the Android SDK, so the dgettext and bindtextdomain are not available. But they were dummy implementations before anyways, so we can remove their usage on Android. * The detection of the ucol_setMaxVariable needs to be done using the check_cxx_symbol_exists instead of check_symbol_exists, since on Android, the ICU libraries now depend on C++ runtime. * The SIZE_T_MAX is already defined in Android headers, so the definition in cgroup.cpp was colliding with it. * The pthread_condattr_setclock detection was using pthread library, but on Android, it is located in the "c" library instead. So it was not being detected.
2017-09-26[ARM32] Update armel rootfs for Tizen (#14173)Hyung-Kyu Choi2-7/+14
* [Tizen/ARM32] Update armel rootfs for Tizen - Add lttng-ust-dev to Tizen rootfs for cross build - Use rootfs of the latest Tizen 4.0 Signed-off-by: Hyung-Kyu Choi <hk0110.choi@samsung.com> * [Tizen/ARM32] Update Tizen CI script - Update arm32 CI script for Tizen to use the latest environment Signed-off-by: Hyung-Kyu Choi <hk0110.choi@samsung.com>
2017-09-11Fix building of rootfs for Tizen armel (#13854)Konstantin Baladurin1-1/+1
Now there isn't arm buildtarget in tizen-base repository. Use standard one to fetch packages for rootfs.
2017-08-11Changes that didn't make it to PR#12982 (#13055)Cyd Haselton1-0/+4
* Changes that didn't make it to PR#12982 * Recommended changes to volatile.h Added two templates to cast away volatility due to clang 3.8 changes * Update runtime.Linux.Microsoft.NETCore.Runtime.CoreCLR.props Fixed erroneous extra Platform conditional line
2017-07-23Update android build script with correct package versions (#12985)Cyd Haselton1-12/+12
2017-06-08First steps for generating nuget packages for ARM64/Android. (#10286)Cyd Haselton1-0/+4
* First steps for generating nuget packages for ARM64/Android. Adds Android RIDS and related conditionals to appropriate files * Additional changes for Android package build * Revert addition of Android to supported packages * Allow Android .nuget package build Adding runtime.Android files for package generation Adding TODO for reliable generation of __DistroRid for Android * Added/corrected logic for detecting __DistroRid at commandline Removed hack and TODO * Removed newline * Revert unintentional change to osx rid * Removed commenting of __DistroRid initialization * Latest fixes for __DistroRid cmdline detection Removed __DistroRid initialization (clobbers value set at cmdline) Removed echo test of __DistroRid in generate nuget pkg function (Hopefully) fixed cross-build os-release detection * Removed android.21-arm from supported RIDs Removed arm32 from supported RIDs until test build can be done or CI for arm32 added (?) * Fixes for package generation for android Modified build-android-rootfs.sh so it would generate file w/platform info Reverted all prior changes to initTargetDistroRid, added new android platform detection * Fixed conditional for Android * Added platform generation for Android portable build, if ever needed * Added information about android_platform Added help info about android_platform file Added TODO for dynamic generation of RID based on $__ApiLevel and $__BuildArch * Syntax cleanup for build.sh Removed extra space in initTargetDistroRid() logic * Recommended review changes removed Android-specific runtime files for packaging added conditional to have Android use Linux runtime files * Updated topic branch from master, resolving SPC.ni.dll file nuget pkg issue * ericstj review changes Fixed accidental fedora version change Fixed indenting * Removed TODO comment; logic already in place, added in earlier commit * Removed Android OfficialBuildRID
2017-05-18Enable pow for arm/armel in tryrun (#11703)SaeHie Park2-2/+2
This will fix CoreFX System.Tests.MathFTests.Pow() failures
2017-05-01[ARM] Update rootfs for Tizen armel (#11202)Hyung-Kyu Choi3-38/+25
* [ARM] Update cross rootfs for armel Tizen Update cross rootfs for armel Tizen Signed-off-by: Hyung-Kyu Choi <hk0110.choi@samsung.com> * [ARM] Update cmake file and CI for armel Tizen Update CI and cmake file for armel Tizen, because rootfs for Tizen is updated. And rootfs for Tizen is embedded in Docker image for CI as Ubuntu for arm does. Signed-off-by: Hyung-Kyu Choi <hk0110.choi@samsung.com>
2017-04-21[x86/Linux] Fix pow of tryrun (#11099)SaeHie Park1-1/+1
x86/Linux has compatible math pow() This will fix CoreFX System.Tests.MathFTests.Pow() failures
2017-04-06[ARM/CI] Update image for armel Tizen CI (#10730)Hyung-Kyu Choi1-2/+2
Update image for armel CI to sync with Tizen rootfs Signed-off-by: Hyung-Kyu Choi <hk0110.choi@samsung.com>
2017-03-26Update for Android cross build script (#10483)Cyd Haselton1-29/+9
Updated URLs for libandroid-support and libandroid-support-dev downloads. Added URLs and folders for libunwind and libunwind-dev Removed libunwind build
2017-03-20Merge pull request #9445 from hqueue/arm/ciGaurav Khanna1-0/+44
[ARM/CI] ARM CI script for arm and armel
2017-03-20[Arm64/Unix] Set PROCFS_* available in tryrun (#10255)Steve MacLean1-4/+4
2017-03-15[ARM/CI] new ARM CI using DockerHyung-Kyu Choi1-0/+44
1. Enable ARM cross-build using Docker For arm, rootfs is prepared inaide Docker image which is used for official pipeline build. For armel, rootfs is constructed for Tizen. Release, Debug, Checked build is available. 2. Run unit test using Docker Signed-off-by: Hyung-Kyu Choi <hk0110.choi@samsung.com>
2017-03-09Support cross compiling for Zesty (#10066)Frederik Carlier3-2/+35
* Support Zesty, newer liblldb packages * Describe lldb options
2017-03-07Add scripts for building for arm Android (#9961)Frederik Carlier4-13/+196
* Add scripts for building for arm Android * Use arm soft float for bringup * Use NDK r14 * Set HAVE_PT_REGS to false, as they are not available on Android * _aligned_alloc is not available on clang * Detect Visual C++ instead of clang * Detect Android instead of clang
2017-03-03Support local stack unwinding on Android (#9940)Frederik Carlier1-4/+9
2017-03-02[ARM32/Linux] Prepare rootfs to build libcoreclrtraceptprovider.soHyeongseok Oh2-0/+103
Prepare rootfs to build libcoreclrtraceptprovider.so by adding fix process of rootfs for ubuntu 14.04 armhf
2017-02-22CMake configuration for cross building for Android (#9174)Frederik Carlier2-0/+166
* Configuration files for cross building for Android arm64 * Simplify toolchain script * Fix trymake values for Android
2017-02-17Synchronous toolchain.cmake files with CoreFX (#9409)Jiyoung Giuliana Yun4-32/+14
Signed-off-by: Jiyoung Yun <jy910.yun@samsung.com>
2017-02-16[Unix] Fix arm/lldb rootfs breakage (typo)Steve MacLean, Qualcomm Datacenter Technologies, Inc1-1/+1
2017-02-16[Unix] Fix arm/lldb rootfs breakageSteve MacLean, Qualcomm Datacenter Technologies, Inc1-2/+5
2017-02-15[ARM64/Unix] LLDB (#9504)Steve MacLean1-2/+2
* [Arm64/Unix] Default to no lldb in build-rootfs lldb is not readily available on arm64 Ubuntu releases prior to 16.10 Set the default lldb version to none to allow building Arm64 rootfs * [Arm64/Unix] Warn if lldb is missing SOS lldb plugin is an optional component lldb is not availiable on arm64 prior to lldb3.9 lldb3.9 is not readily available on many ubuntu until 16.10 Change error to warning to simplify building arm64
2017-02-15Fix build-rootfs.sh to include lldb package (#9608)Hyung-Kyu Choi1-5/+1
lldb package is missing for architectures other than arm and armel. Signed-off-by: Hyung-Kyu Choi <hk0110.choi@samsung.com>
2017-02-08Use same logic to prepare rootfs across dotnet if possibleHyung-Kyu Choi1-10/+28
1. Refactoring code to make it as same as possible to corefx 2. Remove whitespace As a result, the only differnce between coreclr and corefx is configuring lldb version. Signed-off-by: Hyung-Kyu Choi <hk0110.choi@samsung.com>
2017-02-07Add scripts & docs which support creating an Android toolchain on Linux (#9175)Frederik Carlier1-0/+145
* Add scripts & docs which support creating an Android toolchain on Linux
2017-01-17Fix armel toolchain setting (#8961)chunseoklee1-2/+4
This PR fixes build fail for armel(debian) Signed-off-by: chunseoklee <chunseok.lee@samsung.com>
2017-01-17Update description related to ARM rootfs (#8962)Hyung-Kyu Choi1-15/+15
Update description in script and documentation related to ARM rootfs. 1. Change arm-softfp to armel to apply recent changes. 2. Change UbuntuCodeName to LinuxCodeName For arm and armel, rootfs are available from three different Linux distro. For arm, Ubuntu is available. For armel, Debian and Tizen are available. Signed-off-by: Hyung-Kyu Choi <hk0110.choi@samsung.com>
2017-01-11Add optional argument to skip unmount for rootfsGaurav Khanna1-3/+13
2017-01-05Update cmake file for armelHyung-Kyu Choi1-1/+1
Enable build using Tizen rootfs Signed-off-by: Hyung-Kyu Choi <hk0110.choi@samsung.com>
2017-01-05Add a script to fetch tizen packagespius.lee2-52/+177
Fetch packages for build RootFS by XML information in download.tizen.org Signed-off-by: pius.lee <pius.lee@samsung.com>