Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/dotnet/runtime.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2021-06-09exclude crossgen from build. (#53458)Manish Godse
* excluding crossgen from build. * Fix cross-component build break * Fix tests to not use crossgen * more test fixes. * switching R2R jobs to use cg2 by default * switch helix runs to use crossgen2
2021-05-15Fix cmake warning (#52788)Bruce Forstall
Fix this: ``` CMake Warning (dev) in crosscomponents.cmake: A logical block opening on the line C:/gh/runtime4/src/coreclr/crosscomponents.cmake:24 (if) closes on the line C:/gh/runtime4/src/coreclr/crosscomponents.cmake:36 (endif) with mis-matching arguments. Call Stack (most recent call first): CMakeLists.txt:254 (include) This warning is for project developers. Use -Wno-dev to suppress it. ```
2021-04-16Fix crossgen2 build (#51349)David Wrighton
- Include osx arm64 jit in package - Also use that jit when appropriate - build for all rids - build cross targeting test scenario variant from separate project file to avoid issue with incorrect app host rid - Remove app host from cross targeting x64 crossgen used in test scenarios
2021-04-10Install crossgen, jitinterface, clrjit into the sharedframework folder in ↵Jeremy Koritzinsky
crosscomponent build. (#51004) * Install crossgen, jitinterface, clrjit into the sharedframework folder. * Remove unneeded dependency * Add dac/dbi to cross-component sharedFramework folder. * Don't install the cross-os dac in crosscomponents in cross-bitness scenarios. * Jit Interface doesn't need to go into the sharedFramework folder (it wasn't there in 6.0.0p3)
2021-04-06Reorganize CoreCLR native build to reduce CMake reconfigures when the build ↵Jeremy Koritzinsky
system is untouched (#49906)
2020-10-08Add initial support for Apple Silicon (#40435)Steve MacLean
* Add CoreCLR compilation support for Apple Silicon * Use CMAKE_OSX_ARCH rework * Set clang -arch flag * Workaround uname arch reporting emulated arch * Fix native code compilation issues * Implement missing osx-arm64 functionality * Prototype fix for write no execute issues * Strip libunwind pointer authentication bits * Review feedback * Does not fix Arm64 ABI issues Co-authored-by: Jan Vorlicek <janvorli@microsoft.com>
2020-09-10Build infra changes to enable building a more universal cross target jit ↵David Wrighton
builds (#41126) This change is part of a larger effort to enable crossgen2 to perform general purpose cross compilation from any architecture to any other architecture. This portion of the change is to begin generating cross targeting jits with a consistent naming scheme with a minimal amount of code change. The practical output of this change is replacement of the current practice of building protojit/protononjit/etc. with `clrjit_<targetos>_<target_arch>_<host_arch>` binaries. In addition I've defined a couple of new subsets so that this can be less impactful to the inner dev loop. clr.alljits, which will build all of the jits. clr.jit, which will build only non-cross targeting jits. clr.runtime which has been enhanced to not trigger the alljits build. Current restrictions of the change: 1. This change does not support 32bit to 64bit compilation. I've built a larger change that includes the necessary work for that, but the changes are more disruptive, and I would prefer to scope this work to make it reviewable. 2. This work builds different compilers for the unix targetting and windows targetting compilers. This is due to the different ABIs that the architectures support. Upon investigation, I've determined that the actual product differences in these cases is small for ARM and ARM64. In the future, once we have testing, I believe it would be reasonable to unify the generated compiler binaries. 3. These changes do not build an armel targeting compiler for all scenarios, but it does build one with the current naming scheme as was done before. Again, like in condition 2, I believe we can make a single arm targetting compiler that will work. 4. These changes include changes to crossgen2 to use the new compiler binaries. However, there is no expanded testing to cover test the newly available cross compilation capabilities. That will appear in follow-on work.
2020-06-10Crossgen2 ARM64 runs & initial cross-targeting support (#37331)Tomáš Rylek
This change introduces initial provisions for dynamically loading the native JIT based on the targeting OS and architecture; the change expects the potentially multiple versions of clrjit to coexist with Crossgen2 in the same folder, marked by a OS / arch suffix. Based on these prerequisites the change adds ARM64 jobs to the Crossgen2 pipeline. Thanks Tomas
2020-04-17Enable cross OS DBI build (#35021)Steve MacLean
* Enable cross OS DBI build * Fix .gitignore * Fix Cross OS DBI compilation issues * Review feedback * Cleanup dummy/twowaypipe.cpp
2020-02-05Fix logic to disable mscordbi build (#31745)Steve MacLean
2020-01-25Refactor CMake system to allow cross OS DAC compile (#2054)Steve MacLean
* Refactor CMake system to allow cross OS DAC compile Add CLR_CMAKE_HOST_OS Add rules to determine which cross OS combinations are valid Make add_definitions depend on TARGET OS properties. Wherever reasonable make C++ defines depend on runtime target rather than host.
2020-01-21Rename CLR_CMAKE_PLATFORM* CLR_CMAKE_HOST* (#1974)Steve MacLean
The term platform was ambiguous. Migrate to using common terminology for cross compilation. Host is the platfrom which will execute the code Target is the platform which will be debugged or for which code will be generated. In most cases HOST == TARGET. The exceptions are the cross component crossgen tools and the future cross DAC.
2020-01-18Remove stray sos reference (#1875)Steve MacLean
2018-05-23Remove more JIT LEGACY_BACKEND tendrilsBruce Forstall
1. Remove armlb testing from netci.groovy 2. Remove legacy jit exclusions from tests.lst 3. Remove some unused `LEGACY_BACKEND` build definitions 4. Remove regpair.h Commit migrated from https://github.com/dotnet/coreclr/commit/6716e0ce0794f0139c8c15e3ca52d4bb5ebbce0b
2018-03-28Add crossbitness support to ClrJit:Egor Chesakov
* Add FEATURE_CROSSBITNESS in crosscomponents.cmake * Exclude mscordaccore mscordbi sos from CLR_CROSS_COMPONENTS_LIST when FEATURE_CROSSBITNESS is defined in crosscomponents.cmake * Introduce target_size_t in src/jit/target.h * Use size_t value in genMov32RelocatableImmediate in src/jit/codegen.h src/jit/codegencommon.cpp * Fix definition/declaration inconsistency for emitter::emitIns_R_I in emitarm.cpp * Zero HiVal when GetTree::SetOper GenTreeLngCon->GetTreeIntCon in src/jit/compiler.hpp * Explicity specify roundUp(expr, TARGET_POINTER_SIZE) * Use target_size_t* target in emitOutputDataSec in src/jit/emit.cpp Commit migrated from https://github.com/dotnet/coreclr/commit/4585d5ab0cb0cda434be6cfcb89bd1252d2703b3
2018-03-09Don't build superpmi as crosscomponent (dotnet/coreclr#16729)Egor Chesakov
* Don't build superpmi as crosscomponent * Replace install with _install in all superpmi CMakeLists.txt files Commit migrated from https://github.com/dotnet/coreclr/commit/58b404512a589a9b7cfc917d7217596c5607fe13
2017-12-13Make RyuJIT/arm32 the default arm32 JITBruce Forstall
RyuJIT/arm32 JIT is now named clrjit.dll (was named protojit.dll). arm32 LEGACY_BACKEND JIT is now named legacyjit.dll (was named clrjit.dll). Ubuntu and Tizen testing now use RyuJIT/arm32. Tests failing for legacy backend are now excluded with `LEGACYJIT_JITSTRESS_FAIL`, `LEGACYJIT_GCSTRESS_FAIL`, and `LEGACYJIT_FAIL`. Commit migrated from https://github.com/dotnet/coreclr/commit/e7660e3226527166352aa7999ae1ed853a9c4868
2017-11-04[Infrastructure] Use MSBuild v15 extension point to control CL parallelism, ↵Jacek Blaszczynski
abstract MSBuild /maxcpucount switch (dotnet/coreclr#14578) This commit frees -ExtraParameters and uses MSBuild v15 extension point to control CL compiler parallelism. If MSBuild 15.0 is available - installed with Visual Studio 2017 - CL parallelism control is achieved by using extension point in Microsoft.Common.props file which allows to include Directory.Build.props - for details see [Microsoft.Common.props] [1] file in MSBuild repo. https://github.com/Microsoft/msbuild/blob/dotnet/coreclr@b38e4ceeaaec36c5237ae698041e9b9f18c84876/src/Tasks/Microsoft.Common.props#L36. MSBuild parallelism is controled via abstracted /maxcpucount command line switch which now is available as -MSBuildNodeCount pass through run.cmd/run.sh command line argument with default value equal to /maxcpucount (what defaults to number of logical processors). This allows to control MSBuild parallelism on all supported platforms. It is possible to control MSBuild parallelism programatically via MSBuild public API using MaxNodeCount properties available on the following APIs: Microsoft.Build.Evaluation.ProjectCollection.MaxNodeCount Microsoft.Build.Execution.BuildParameters.MaxNodeCount It's use in current build infrastructure would require creating unnecessary complexity and was ruled out. Commit migrated from https://github.com/dotnet/coreclr/commit/5a01d8a39576f0d07441e4d123a90138f4ae0735
2017-01-17[ARM32/Linx] cross-architecture build: restrict build project list ↵Hyeongseok Oh
(dotnet/coreclr#8918) * [ARM32/Linx] cross-architecture build: restrict build project list Restrict build project for ARM32/Linux cross-architecture We can build these projects with PR dotnet/coreclr#8866 and dotnet/coreclr#8917. (release build) - crossgen - clrjit - protojit * modify crosscomponents.cmake Add list items when not Linux, instead remove in Linux Commit migrated from https://github.com/dotnet/coreclr/commit/69c55380c1c611388b8c9e3668f41ed099bdd5f1
2016-11-04Fix JIT build host/target confusion (dotnet/coreclr#7979)Bruce Forstall
Also, add RyuJIT to Windows ARM32 cross components build (as protojit.dll). Commit migrated from https://github.com/dotnet/coreclr/commit/3e5eab8392893798ab3a8f3d412829519494f709
2016-07-15ARM64: Cross-Target JitKyungwoo Lee
Fixes https://github.com/dotnet/coreclr/issues/6279 Fixes https://github.com/dotnet/coreclr/issues/6280 - This builds x64_arm64 clrjit.dll - crossgen is not statically linked to jit anymore. It needs clrjit.dll dynamically - Adding this cross-component binary into Jit pacakge. So, clrjit.dll (native-target) is consumed by coreclr or crossgen (native-target) clrjit.dll (cross-target) is consumed by crossgen (cross-target). Likewise, later this cross-target clrjit.dll can be used for corert targeting arm64 so that we can generate arm64 code on host machine (x64). Commit migrated from https://github.com/dotnet/coreclr/commit/0ed4e675a303a8944ec4c99c03058b99d8ff9548
2016-04-19enable build of cross target components.Rahul Kumar
Currently only enabled for arm64 Commit migrated from https://github.com/dotnet/coreclr/commit/7f46dbe0c6b0785a4e40978da684b1dc81d0b8ce