Age | Commit message (Collapse) | Author | Files | Lines |
|
|
|
|
|
to fix arm64 build on tizen (on armel non-portable build is default, tizen rid in general is non-portable).
|
|
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.
|
|
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.
|
|
Move tizen-release package from base to unified repo
|
|
* 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.
|
|
* 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
|
|
* 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
|
|
|
|
* Update Tizen rootfs generation scripts for Tizen 5.0 M1
* Update Tizen CI docker image
* Update Tizen CI RID
|
|
* 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.
|
|
* 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
|
|
|
|
- fix internal tests building
Signed-off-by: Petr Bred <bredpetr@gmail.com>
|
|
- fix https://github.com/dotnet/corert/issues/5093
- cmake toolchain refactoring
Signed-off-by: Petr Bred <bredpetr@gmail.com>
|
|
|
|
|
|
|
|
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.
|
|
* [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>
|
|
Now there isn't arm buildtarget in tizen-base repository.
Use standard one to fetch packages for rootfs.
|
|
* 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
|
|
|
|
* 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
|
|
This will fix CoreFX System.Tests.MathFTests.Pow() failures
|
|
* [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>
|
|
x86/Linux has compatible math pow()
This will fix CoreFX System.Tests.MathFTests.Pow() failures
|
|
Update image for armel CI to sync with Tizen rootfs
Signed-off-by: Hyung-Kyu Choi <hk0110.choi@samsung.com>
|
|
Updated URLs for libandroid-support and libandroid-support-dev downloads.
Added URLs and folders for libunwind and libunwind-dev
Removed libunwind build
|
|
[ARM/CI] ARM CI script for arm and armel
|
|
|
|
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>
|
|
* Support Zesty, newer liblldb packages
* Describe lldb options
|
|
* 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
|
|
|
|
Prepare rootfs to build libcoreclrtraceptprovider.so
by adding fix process of rootfs for ubuntu 14.04 armhf
|
|
* Configuration files for cross building for Android arm64
* Simplify toolchain script
* Fix trymake values for Android
|
|
Signed-off-by: Jiyoung Yun <jy910.yun@samsung.com>
|
|
|
|
|
|
* [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
|
|
lldb package is missing for architectures other than arm and armel.
Signed-off-by: Hyung-Kyu Choi <hk0110.choi@samsung.com>
|
|
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>
|
|
* Add scripts & docs which support creating an Android toolchain on Linux
|
|
This PR fixes build fail for armel(debian)
Signed-off-by: chunseoklee <chunseok.lee@samsung.com>
|
|
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>
|
|
|
|
Enable build using Tizen rootfs
Signed-off-by: Hyung-Kyu Choi <hk0110.choi@samsung.com>
|
|
Fetch packages for build RootFS by XML information in download.tizen.org
Signed-off-by: pius.lee <pius.lee@samsung.com>
|