Skip to content

Commit

Permalink
Merge pull request dotnet#950 from jkotas/merge-runtime
Browse files Browse the repository at this point in the history
Merge from dotnet/runtime
  • Loading branch information
MichalStrehovsky authored Apr 12, 2021
2 parents 17cd5f0 + 1f40f31 commit 1b8eba2
Show file tree
Hide file tree
Showing 206 changed files with 2,390 additions and 1,640 deletions.
28 changes: 16 additions & 12 deletions docs/workflow/debugging/coreclr/debugging.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,28 +8,32 @@ SOS has moved to the diagnostics repo. For more information on SOS, installation
Debugging CoreCLR on Windows
============================

1. Perform a build of the repo.
2. Open solution \<reporoot\>\artifacts\obj\coreclr\windows.\<platform\>.\<configuration\>\CoreCLR.sln in Visual Studio. \<platform\> and \<configuration\> are based
1. Open the CoreCLR solution in Visual Studio.
- Method 1: Use the build scripts to open the solution.
1. Run `./build.cmd -vs coreclr.sln -a <platform> -c <configuration>`. This will create and launch the CoreCLR solution in VS for the specified architecture and configuration.
- Method 2: Manually build and open the solution.
1. Perform a build of the repo with the `-msbuild` flag.
2. Open solution `\<reporoot>\artifacts\obj\coreclr\windows.\<platform>.\<configuration>\ide\CoreCLR.sln` in Visual Studio. `<platform>` and `<configuration>` are based
on type of build you did. By default they are 'x64' and 'Debug'.
3. Right-click the INSTALL project and choose ‘Set as StartUp Project’
4. Bring up the properties page for the INSTALL project
5. Select Configuration Properties->Debugging from the left side tree control
6. Set Command=`$(SolutionDir)\..\..\..\bin\coreclr\windows.$(Platform).$(Configuration)\corerun.exe`
2. Right-click the INSTALL project and choose ‘Set as StartUp Project’
3. Bring up the properties page for the INSTALL project
4. Select Configuration Properties->Debugging from the left side tree control
5. Set Command=`$(SolutionDir)\..\..\..\bin\coreclr\windows.$(Platform).$(Configuration)\corerun.exe`
1. This points to the folder where the built runtime binaries are present.
7. Set Command Arguments=`<managed app you wish to run>` (e.g. HelloWorld.dll)
8. Set Working Directory=`$(SolutionDir)\..\..\..\bin\coreclr\windows.$(Platform).$(Configuration)`
6. Set Command Arguments=`<managed app you wish to run>` (e.g. HelloWorld.dll)
7. Set Working Directory=`$(SolutionDir)\..\..\..\bin\coreclr\windows.$(Platform).$(Configuration)`
1. This points to the folder containing CoreCLR binaries.
9. Set Environment=`CORE_LIBRARIES=$(SolutionDir)\..\..\..\bin\runtime\<current tfm>-windows-$(Configuration)-$(Platform)`,
8. Set Environment=`CORE_LIBRARIES=$(SolutionDir)\..\..\..\bin\runtime\<current tfm>-windows-$(Configuration)-$(Platform)`,
where '\<current tfm\>' is the target framework of current branch, for example `netcoreapp3.1` `net5.0`.
1. This points to the folder containing core libraries except `System.Private.CoreLib`.
2. This step can be skipped if you are debugging CLR tests that references only `System.Private.CoreLib`.
Otherwise, it's required to debug a realworld application that references anything else, including `System.Runtime`.
10. Right-click the INSTALL project and choose 'Build'
9. Right-click the INSTALL project and choose 'Build'
1. This will load necessary information from cmake to Visual Studio.
11. Press F11 to start debugging at wmain in corerun (or set a breakpoint in source and press F5 to run to it)
10. Press F11 to start debugging at wmain in corerun (or set a breakpoint in source and press F5 to run to it)
1. As an example, set a breakpoint for the EEStartup function in ceemain.cpp to break into CoreCLR startup.

Steps 1-10 only need to be done once, and then (11) can be repeated whenever you want to start debugging. The above can be done with Visual Studio 2019 as writing.
Steps 1-9 only need to be done once as long as there's been no changes to the CMake files in the repository. Afterwards, step 10 can be repeated whenever you want to start debugging. The above can be done with Visual Studio 2019 as writing.
Keeping with latest version of Visual Studio is recommended.

### Using SOS with windbg or cdb on Windows ###
Expand Down
5 changes: 3 additions & 2 deletions docs/workflow/editing-and-debugging.md
Original file line number Diff line number Diff line change
Expand Up @@ -19,19 +19,20 @@ The repository has a number of Visual Studio Solutions files (`*.sln`) that are

* `src\coreclr\System.Private.CoreLib\System.Private.CorLib.sln` - This solution is for all managed (C#) code that is defined
in the runtime itself. This is all class library support of one form or another.
* `artifacts\obj\coreclr\windows.<Arch>.<BuildType>\CoreCLR.sln` - this solution contains most native (C++) projects
* `artifacts\obj\coreclr\windows.<Arch>.<BuildType>\ide\CoreCLR.sln` - this solution contains most native (C++) projects
associated with the repository, including
* `coreclr` - This is the main runtime DLL (the GC, class loader, interop are all here)
* `corjit` - This is the Just In Time (JIT) compiler that compiles .NET Intermediate language to native code.
* `corerun` - This is the simple host program that can run a .NET application
* `crossgen` - This is the host program that runs the JIT compiler and produces .NET Native images (`*.ni.dll`)
for C# code.
* This project can be automatically generated and opened in Visual Studio by running `./build.cmd -vs CoreCLR.sln -a <Arch> -c <BuildType>` from the root of the repository.

Thus opening one of these two solution files (double clicking on them in Explorer) is typically all you need
to do most editing.

Notice that the CoreCLR solution is under the `artifacts` directory. This is because it is created as part of the build.
Thus you can only launch this solution after you have built at least once.
Thus you can only launch this solution after you have built at least once with the `-msbuild` flag or run the `./build.cmd -vs CoreCLR.sln` command line with the specified architecture and configuration.

* See [Debugging CoreCLR](debugging/coreclr/debugging.md)

Expand Down
10 changes: 6 additions & 4 deletions docs/workflow/testing/libraries/testing-apple.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,15 +2,17 @@

In order to build libraries and tests for iOS or tvOS you need recent version of XCode installed (e.g. 11.3 or higher).

Build Libraries for iOS:
Build Libraries for iOS Simulator:
```
./build.sh mono+libs -os iOS -arch x64
./build.sh mono+libs -os iOSSimulator -arch x64
```
Run tests one by one for each test suite on a simulator:
```
./build.sh libs.tests -os iOS -arch x64 -test
./build.sh libs.tests -os iOSSimulator -arch x64 -test
```
In order to run the tests on a device you need to specify `DevTeamProvisioning` (see [developer.apple.com/account/#/membership](https://developer.apple.com/account/#/membership), scroll down to `Team ID`):
In order to run the tests on a device:
- Set the os to `iOS` instead of `iOSSimulator`
- Specify `DevTeamProvisioning` (see [developer.apple.com/account/#/membership](https://developer.apple.com/account/#/membership), scroll down to `Team ID`):
```
./build.sh libs.tests -os iOS -arch x64 -test /p:DevTeamProvisioning=H1A2B3C4D5
```
Expand Down
72 changes: 36 additions & 36 deletions eng/Version.Details.xml
Original file line number Diff line number Diff line change
Expand Up @@ -6,69 +6,69 @@
</Dependency>
</ProductDependencies>
<ToolsetDependencies>
<Dependency Name="Microsoft.DotNet.Arcade.Sdk" Version="6.0.0-beta.21201.6">
<Dependency Name="Microsoft.DotNet.Arcade.Sdk" Version="6.0.0-beta.21203.1">
<Uri>https://github.com/dotnet/arcade</Uri>
<Sha>8efbcc6582eec1d064bbb44af1f1107ca7736c7f</Sha>
<Sha>1bfe91238cb39b9620b878b8f1bf0c789324b4cd</Sha>
</Dependency>
<Dependency Name="Microsoft.DotNet.Helix.Sdk" Version="6.0.0-beta.21201.6">
<Dependency Name="Microsoft.DotNet.Helix.Sdk" Version="6.0.0-beta.21203.1">
<Uri>https://github.com/dotnet/arcade</Uri>
<Sha>8efbcc6582eec1d064bbb44af1f1107ca7736c7f</Sha>
<Sha>1bfe91238cb39b9620b878b8f1bf0c789324b4cd</Sha>
</Dependency>
<Dependency Name="Microsoft.DotNet.ApiCompat" Version="6.0.0-beta.21201.6">
<Dependency Name="Microsoft.DotNet.ApiCompat" Version="6.0.0-beta.21203.1">
<Uri>https://github.com/dotnet/arcade</Uri>
<Sha>8efbcc6582eec1d064bbb44af1f1107ca7736c7f</Sha>
<Sha>1bfe91238cb39b9620b878b8f1bf0c789324b4cd</Sha>
</Dependency>
<Dependency Name="Microsoft.DotNet.GenAPI" Version="6.0.0-beta.21201.6">
<Dependency Name="Microsoft.DotNet.GenAPI" Version="6.0.0-beta.21203.1">
<Uri>https://github.com/dotnet/arcade</Uri>
<Sha>8efbcc6582eec1d064bbb44af1f1107ca7736c7f</Sha>
<Sha>1bfe91238cb39b9620b878b8f1bf0c789324b4cd</Sha>
</Dependency>
<Dependency Name="Microsoft.DotNet.GenFacades" Version="6.0.0-beta.21201.6">
<Dependency Name="Microsoft.DotNet.GenFacades" Version="6.0.0-beta.21203.1">
<Uri>https://github.com/dotnet/arcade</Uri>
<Sha>8efbcc6582eec1d064bbb44af1f1107ca7736c7f</Sha>
<Sha>1bfe91238cb39b9620b878b8f1bf0c789324b4cd</Sha>
</Dependency>
<Dependency Name="Microsoft.DotNet.XUnitExtensions" Version="6.0.0-beta.21201.6">
<Dependency Name="Microsoft.DotNet.XUnitExtensions" Version="6.0.0-beta.21203.1">
<Uri>https://github.com/dotnet/arcade</Uri>
<Sha>8efbcc6582eec1d064bbb44af1f1107ca7736c7f</Sha>
<Sha>1bfe91238cb39b9620b878b8f1bf0c789324b4cd</Sha>
</Dependency>
<Dependency Name="Microsoft.DotNet.XUnitConsoleRunner" Version="2.5.1-beta.21201.6">
<Dependency Name="Microsoft.DotNet.XUnitConsoleRunner" Version="2.5.1-beta.21203.1">
<Uri>https://github.com/dotnet/arcade</Uri>
<Sha>8efbcc6582eec1d064bbb44af1f1107ca7736c7f</Sha>
<Sha>1bfe91238cb39b9620b878b8f1bf0c789324b4cd</Sha>
</Dependency>
<Dependency Name="Microsoft.DotNet.Build.Tasks.Archives" Version="6.0.0-beta.21201.6">
<Dependency Name="Microsoft.DotNet.Build.Tasks.Archives" Version="6.0.0-beta.21203.1">
<Uri>https://github.com/dotnet/arcade</Uri>
<Sha>8efbcc6582eec1d064bbb44af1f1107ca7736c7f</Sha>
<Sha>1bfe91238cb39b9620b878b8f1bf0c789324b4cd</Sha>
</Dependency>
<Dependency Name="Microsoft.DotNet.Build.Tasks.Packaging" Version="6.0.0-beta.21201.6">
<Dependency Name="Microsoft.DotNet.Build.Tasks.Packaging" Version="6.0.0-beta.21203.1">
<Uri>https://github.com/dotnet/arcade</Uri>
<Sha>8efbcc6582eec1d064bbb44af1f1107ca7736c7f</Sha>
<Sha>1bfe91238cb39b9620b878b8f1bf0c789324b4cd</Sha>
</Dependency>
<Dependency Name="Microsoft.DotNet.Build.Tasks.Installers" Version="6.0.0-beta.21201.6">
<Dependency Name="Microsoft.DotNet.Build.Tasks.Installers" Version="6.0.0-beta.21203.1">
<Uri>https://github.com/dotnet/arcade</Uri>
<Sha>8efbcc6582eec1d064bbb44af1f1107ca7736c7f</Sha>
<Sha>1bfe91238cb39b9620b878b8f1bf0c789324b4cd</Sha>
</Dependency>
<Dependency Name="Microsoft.DotNet.CodeAnalysis" Version="6.0.0-beta.21201.6">
<Dependency Name="Microsoft.DotNet.CodeAnalysis" Version="6.0.0-beta.21203.1">
<Uri>https://github.com/dotnet/arcade</Uri>
<Sha>8efbcc6582eec1d064bbb44af1f1107ca7736c7f</Sha>
<Sha>1bfe91238cb39b9620b878b8f1bf0c789324b4cd</Sha>
</Dependency>
<Dependency Name="Microsoft.DotNet.Build.Tasks.TargetFramework.Sdk" Version="6.0.0-beta.21201.6">
<Dependency Name="Microsoft.DotNet.Build.Tasks.TargetFramework.Sdk" Version="6.0.0-beta.21203.1">
<Uri>https://github.com/dotnet/arcade</Uri>
<Sha>8efbcc6582eec1d064bbb44af1f1107ca7736c7f</Sha>
<Sha>1bfe91238cb39b9620b878b8f1bf0c789324b4cd</Sha>
</Dependency>
<Dependency Name="Microsoft.DotNet.RemoteExecutor" Version="6.0.0-beta.21201.6">
<Dependency Name="Microsoft.DotNet.RemoteExecutor" Version="6.0.0-beta.21203.1">
<Uri>https://github.com/dotnet/arcade</Uri>
<Sha>8efbcc6582eec1d064bbb44af1f1107ca7736c7f</Sha>
<Sha>1bfe91238cb39b9620b878b8f1bf0c789324b4cd</Sha>
</Dependency>
<Dependency Name="Microsoft.DotNet.Build.Tasks.Feed" Version="6.0.0-beta.21201.6">
<Dependency Name="Microsoft.DotNet.Build.Tasks.Feed" Version="6.0.0-beta.21203.1">
<Uri>https://github.com/dotnet/arcade</Uri>
<Sha>8efbcc6582eec1d064bbb44af1f1107ca7736c7f</Sha>
<Sha>1bfe91238cb39b9620b878b8f1bf0c789324b4cd</Sha>
</Dependency>
<Dependency Name="Microsoft.DotNet.VersionTools.Tasks" Version="6.0.0-beta.21201.6">
<Dependency Name="Microsoft.DotNet.VersionTools.Tasks" Version="6.0.0-beta.21203.1">
<Uri>https://github.com/dotnet/arcade</Uri>
<Sha>8efbcc6582eec1d064bbb44af1f1107ca7736c7f</Sha>
<Sha>1bfe91238cb39b9620b878b8f1bf0c789324b4cd</Sha>
</Dependency>
<Dependency Name="Microsoft.DotNet.SharedFramework.Sdk" Version="6.0.0-beta.21201.6">
<Dependency Name="Microsoft.DotNet.SharedFramework.Sdk" Version="6.0.0-beta.21203.1">
<Uri>https://github.com/dotnet/arcade</Uri>
<Sha>8efbcc6582eec1d064bbb44af1f1107ca7736c7f</Sha>
<Sha>1bfe91238cb39b9620b878b8f1bf0c789324b4cd</Sha>
</Dependency>
<Dependency Name="optimization.windows_nt-x64.IBC.CoreFx" Version="99.99.99-master-20200806.6">
<Uri>https://dev.azure.com/dnceng/internal/_git/dotnet-optimization</Uri>
Expand Down Expand Up @@ -194,9 +194,9 @@
<Uri>https://github.com/dotnet/runtime</Uri>
<Sha>102d1e856c7e0e553abeec937783da5debed73ad</Sha>
</Dependency>
<Dependency Name="Microsoft.NET.ILLink.Tasks" Version="6.0.100-preview.2.21201.3">
<Dependency Name="Microsoft.NET.ILLink.Tasks" Version="6.0.100-preview.2.21203.1">
<Uri>https://github.com/mono/linker</Uri>
<Sha>e754a0a3d362f8d46d6e6fd1c9ccdc34065adaa0</Sha>
<Sha>6d25a089a35860951e4432b656da908efb06dbec</Sha>
</Dependency>
<Dependency Name="Microsoft.DotNet.XHarness.TestRunners.Xunit" Version="1.0.0-prerelease.21201.1">
<Uri>https://github.com/dotnet/xharness</Uri>
Expand All @@ -206,9 +206,9 @@
<Uri>https://github.com/dotnet/xharness</Uri>
<Sha>c2c34bf7fdeb5a89e83817ced9a1a2c3c4cfc15c</Sha>
</Dependency>
<Dependency Name="Microsoft.DotNet.PackageValidation" Version="6.0.0-beta.21201.6">
<Dependency Name="Microsoft.DotNet.PackageValidation" Version="6.0.0-beta.21203.1">
<Uri>https://github.com/dotnet/arcade</Uri>
<Sha>8efbcc6582eec1d064bbb44af1f1107ca7736c7f</Sha>
<Sha>1bfe91238cb39b9620b878b8f1bf0c789324b4cd</Sha>
</Dependency>
</ToolsetDependencies>
</Dependencies>
28 changes: 14 additions & 14 deletions eng/Versions.props
Original file line number Diff line number Diff line change
Expand Up @@ -49,19 +49,19 @@
<MicrosoftCodeAnalysisCSharpCodeStyleVersion>3.9.0-5.final</MicrosoftCodeAnalysisCSharpCodeStyleVersion>
<MicrosoftCodeAnalysisCSharpVersion>3.9.0-5.final</MicrosoftCodeAnalysisCSharpVersion>
<!-- Arcade dependencies -->
<MicrosoftDotNetApiCompatVersion>6.0.0-beta.21201.6</MicrosoftDotNetApiCompatVersion>
<MicrosoftDotNetBuildTasksFeedVersion>6.0.0-beta.21201.6</MicrosoftDotNetBuildTasksFeedVersion>
<MicrosoftDotNetCodeAnalysisVersion>6.0.0-beta.21201.6</MicrosoftDotNetCodeAnalysisVersion>
<MicrosoftDotNetGenAPIVersion>6.0.0-beta.21201.6</MicrosoftDotNetGenAPIVersion>
<MicrosoftDotNetGenFacadesVersion>6.0.0-beta.21201.6</MicrosoftDotNetGenFacadesVersion>
<MicrosoftDotNetXUnitExtensionsVersion>6.0.0-beta.21201.6</MicrosoftDotNetXUnitExtensionsVersion>
<MicrosoftDotNetXUnitConsoleRunnerVersion>2.5.1-beta.21201.6</MicrosoftDotNetXUnitConsoleRunnerVersion>
<MicrosoftDotNetBuildTasksArchivesVersion>6.0.0-beta.21201.6</MicrosoftDotNetBuildTasksArchivesVersion>
<MicrosoftDotNetBuildTasksPackagingVersion>6.0.0-beta.21201.6</MicrosoftDotNetBuildTasksPackagingVersion>
<MicrosoftDotNetBuildTasksInstallersVersion>6.0.0-beta.21201.6</MicrosoftDotNetBuildTasksInstallersVersion>
<MicrosoftDotNetRemoteExecutorVersion>6.0.0-beta.21201.6</MicrosoftDotNetRemoteExecutorVersion>
<MicrosoftDotNetVersionToolsTasksVersion>6.0.0-beta.21201.6</MicrosoftDotNetVersionToolsTasksVersion>
<MicrosoftDotNetPackageValidationVersion>6.0.0-beta.21201.6</MicrosoftDotNetPackageValidationVersion>
<MicrosoftDotNetApiCompatVersion>6.0.0-beta.21203.1</MicrosoftDotNetApiCompatVersion>
<MicrosoftDotNetBuildTasksFeedVersion>6.0.0-beta.21203.1</MicrosoftDotNetBuildTasksFeedVersion>
<MicrosoftDotNetCodeAnalysisVersion>6.0.0-beta.21203.1</MicrosoftDotNetCodeAnalysisVersion>
<MicrosoftDotNetGenAPIVersion>6.0.0-beta.21203.1</MicrosoftDotNetGenAPIVersion>
<MicrosoftDotNetGenFacadesVersion>6.0.0-beta.21203.1</MicrosoftDotNetGenFacadesVersion>
<MicrosoftDotNetXUnitExtensionsVersion>6.0.0-beta.21203.1</MicrosoftDotNetXUnitExtensionsVersion>
<MicrosoftDotNetXUnitConsoleRunnerVersion>2.5.1-beta.21203.1</MicrosoftDotNetXUnitConsoleRunnerVersion>
<MicrosoftDotNetBuildTasksArchivesVersion>6.0.0-beta.21203.1</MicrosoftDotNetBuildTasksArchivesVersion>
<MicrosoftDotNetBuildTasksPackagingVersion>6.0.0-beta.21203.1</MicrosoftDotNetBuildTasksPackagingVersion>
<MicrosoftDotNetBuildTasksInstallersVersion>6.0.0-beta.21203.1</MicrosoftDotNetBuildTasksInstallersVersion>
<MicrosoftDotNetRemoteExecutorVersion>6.0.0-beta.21203.1</MicrosoftDotNetRemoteExecutorVersion>
<MicrosoftDotNetVersionToolsTasksVersion>6.0.0-beta.21203.1</MicrosoftDotNetVersionToolsTasksVersion>
<MicrosoftDotNetPackageValidationVersion>6.0.0-beta.21203.1</MicrosoftDotNetPackageValidationVersion>
<!-- NuGet dependencies -->
<NuGetBuildTasksPackVersion>5.9.0-preview.2</NuGetBuildTasksPackVersion>
<!-- Installer dependencies -->
Expand Down Expand Up @@ -159,7 +159,7 @@
<!-- Docs -->
<MicrosoftPrivateIntellisenseVersion>5.0.0-preview-20201009.2</MicrosoftPrivateIntellisenseVersion>
<!-- ILLink -->
<MicrosoftNETILLinkTasksVersion>6.0.100-preview.2.21201.3</MicrosoftNETILLinkTasksVersion>
<MicrosoftNETILLinkTasksVersion>6.0.100-preview.2.21203.1</MicrosoftNETILLinkTasksVersion>
<!-- ICU -->
<MicrosoftNETCoreRuntimeICUTransportVersion>6.0.0-preview.4.21179.1</MicrosoftNETCoreRuntimeICUTransportVersion>
<!-- Mono LLVM -->
Expand Down
Loading

0 comments on commit 1b8eba2

Please sign in to comment.