Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Implement .Net Core build and x64 Linux support (#123)
This change adds .Net Core build support (next NuGet release will include .Net Standard 2.0 library). This change also adds support for Linux core dump debugging. Attaching to live processes on Linux not implemented in this build. I'm pushing this down to the main branch to stabilize, merge other PRs, and get it ready to ship. Please do not consider this build final and the surface area stable until this is shipped as a NuGet package. There are likely some issues right now, but I'm working to resolve them asap. Some high level details: Moved the build to Arcade to support building on linux. Disabled tests, as they do not function under Arcade. .Net Core does not support CodeDOM, which the current test system uses as well. I'll have to rethink/reimplement the test infrastructure in a future change. The tests do pass when I forced them to run in an outside environment. Removed COM wrappings of dac interfaces and reimplement them by hand. (.Net Core on linux doesn't have COM enabled, and CLR still uses it on Linux...) Added an Elf core dump reader. This is not intended to ever be public. Shuffled around some of the guts of ClrMD, but no functionality should be changed or affected.
- Loading branch information
Showing
184 changed files
with
6,053 additions
and
2,073 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,5 +1,8 @@ | ||
syntax: glob | ||
|
||
.dotnet | ||
.packages | ||
|
||
### VisualStudio ### | ||
|
||
# User-specific files | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,8 @@ | ||
|
||
set scriptRoot=%~dp0 | ||
set binDir=%scriptRoot%bin | ||
|
||
if not exist %binDir% mkdir %binDir% | ||
call %scriptRoot%init-tools.cmd | ||
call %scriptRoot%Tools\dotnetcli\dotnet restore %scriptRoot%src\Microsoft.Diagnostics.Runtime.sln --packages %scriptRoot%packages | ||
call %scriptRoot%Tools\dotnetcli\dotnet msbuild %scriptRoot%src\Microsoft.Diagnostics.Runtime.sln /p:OutDir="%scriptRoot%\bin" /m /v:m /flp:verbosity=normal;LogFile=%binDir%\msbuild.log %* |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,15 @@ | ||
Copyright (c) .NET Foundation and Contributors | ||
|
||
All rights reserved. | ||
|
||
Licensed under the Apache License, Version 2.0 (the “License”); you may not | ||
use this file except in compliance with the License. You may obtain a copy of | ||
the License at | ||
|
||
http://www.apache.org/licenses/LICENSE-2.0 | ||
|
||
Unless required by applicable law or agreed to in writing, software | ||
distributed under the License is distributed on an "AS IS" BASIS, WITHOUT | ||
WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the | ||
License for the specific language governing permissions and limitations under | ||
the License. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,67 @@ | ||
|
||
Microsoft Visual Studio Solution File, Format Version 12.00 | ||
# Visual Studio 15 | ||
VisualStudioVersion = 15.0.26228.9 | ||
MinimumVisualStudioVersion = 10.0.40219.1 | ||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.Diagnostics.Runtime", "src\Microsoft.Diagnostics.Runtime\Microsoft.Diagnostics.Runtime.csproj", "{A82126CA-23AA-41F1-8586-A5938D44D0A7}" | ||
EndProject | ||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "LinuxTest", "src\Samples\LinuxTest\LinuxTest.csproj", "{480E59E9-95EC-4251-B03D-C8D2159FD510}" | ||
EndProject | ||
Global | ||
GlobalSection(SolutionConfigurationPlatforms) = preSolution | ||
Debug|Any CPU = Debug|Any CPU | ||
Debug|Mixed Platforms = Debug|Mixed Platforms | ||
Debug|Win32 = Debug|Win32 | ||
Debug|x64 = Debug|x64 | ||
Debug|x86 = Debug|x86 | ||
Release|Any CPU = Release|Any CPU | ||
Release|Mixed Platforms = Release|Mixed Platforms | ||
Release|Win32 = Release|Win32 | ||
Release|x64 = Release|x64 | ||
Release|x86 = Release|x86 | ||
EndGlobalSection | ||
GlobalSection(ProjectConfigurationPlatforms) = postSolution | ||
{A82126CA-23AA-41F1-8586-A5938D44D0A7}.Debug|Any CPU.ActiveCfg = Debug|Any CPU | ||
{A82126CA-23AA-41F1-8586-A5938D44D0A7}.Debug|Any CPU.Build.0 = Debug|Any CPU | ||
{A82126CA-23AA-41F1-8586-A5938D44D0A7}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU | ||
{A82126CA-23AA-41F1-8586-A5938D44D0A7}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU | ||
{A82126CA-23AA-41F1-8586-A5938D44D0A7}.Debug|Win32.ActiveCfg = Debug|Any CPU | ||
{A82126CA-23AA-41F1-8586-A5938D44D0A7}.Debug|x64.ActiveCfg = Debug|Any CPU | ||
{A82126CA-23AA-41F1-8586-A5938D44D0A7}.Debug|x64.Build.0 = Debug|Any CPU | ||
{A82126CA-23AA-41F1-8586-A5938D44D0A7}.Debug|x86.ActiveCfg = Debug|Any CPU | ||
{A82126CA-23AA-41F1-8586-A5938D44D0A7}.Release|Any CPU.ActiveCfg = Release|Any CPU | ||
{A82126CA-23AA-41F1-8586-A5938D44D0A7}.Release|Any CPU.Build.0 = Release|Any CPU | ||
{A82126CA-23AA-41F1-8586-A5938D44D0A7}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU | ||
{A82126CA-23AA-41F1-8586-A5938D44D0A7}.Release|Mixed Platforms.Build.0 = Release|Any CPU | ||
{A82126CA-23AA-41F1-8586-A5938D44D0A7}.Release|Win32.ActiveCfg = Release|Any CPU | ||
{A82126CA-23AA-41F1-8586-A5938D44D0A7}.Release|x64.ActiveCfg = Release|Any CPU | ||
{A82126CA-23AA-41F1-8586-A5938D44D0A7}.Release|x64.Build.0 = Release|Any CPU | ||
{A82126CA-23AA-41F1-8586-A5938D44D0A7}.Release|x86.ActiveCfg = Release|Any CPU | ||
{480E59E9-95EC-4251-B03D-C8D2159FD510}.Debug|Any CPU.ActiveCfg = Debug|Any CPU | ||
{480E59E9-95EC-4251-B03D-C8D2159FD510}.Debug|Any CPU.Build.0 = Debug|Any CPU | ||
{480E59E9-95EC-4251-B03D-C8D2159FD510}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU | ||
{480E59E9-95EC-4251-B03D-C8D2159FD510}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU | ||
{480E59E9-95EC-4251-B03D-C8D2159FD510}.Debug|Win32.ActiveCfg = Debug|Any CPU | ||
{480E59E9-95EC-4251-B03D-C8D2159FD510}.Debug|Win32.Build.0 = Debug|Any CPU | ||
{480E59E9-95EC-4251-B03D-C8D2159FD510}.Debug|x64.ActiveCfg = Debug|Any CPU | ||
{480E59E9-95EC-4251-B03D-C8D2159FD510}.Debug|x64.Build.0 = Debug|Any CPU | ||
{480E59E9-95EC-4251-B03D-C8D2159FD510}.Debug|x86.ActiveCfg = Debug|Any CPU | ||
{480E59E9-95EC-4251-B03D-C8D2159FD510}.Debug|x86.Build.0 = Debug|Any CPU | ||
{480E59E9-95EC-4251-B03D-C8D2159FD510}.Release|Any CPU.ActiveCfg = Release|Any CPU | ||
{480E59E9-95EC-4251-B03D-C8D2159FD510}.Release|Any CPU.Build.0 = Release|Any CPU | ||
{480E59E9-95EC-4251-B03D-C8D2159FD510}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU | ||
{480E59E9-95EC-4251-B03D-C8D2159FD510}.Release|Mixed Platforms.Build.0 = Release|Any CPU | ||
{480E59E9-95EC-4251-B03D-C8D2159FD510}.Release|Win32.ActiveCfg = Release|Any CPU | ||
{480E59E9-95EC-4251-B03D-C8D2159FD510}.Release|Win32.Build.0 = Release|Any CPU | ||
{480E59E9-95EC-4251-B03D-C8D2159FD510}.Release|x64.ActiveCfg = Release|Any CPU | ||
{480E59E9-95EC-4251-B03D-C8D2159FD510}.Release|x64.Build.0 = Release|Any CPU | ||
{480E59E9-95EC-4251-B03D-C8D2159FD510}.Release|x86.ActiveCfg = Release|Any CPU | ||
{480E59E9-95EC-4251-B03D-C8D2159FD510}.Release|x86.Build.0 = Release|Any CPU | ||
EndGlobalSection | ||
GlobalSection(SolutionProperties) = preSolution | ||
HideSolutionNode = FALSE | ||
EndGlobalSection | ||
GlobalSection(ExtensibilityGlobals) = postSolution | ||
SolutionGuid = {7DB8722F-5AAF-4913-A5AF-4A77D75BC39C} | ||
EndGlobalSection | ||
EndGlobal |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,3 @@ | ||
@echo off | ||
powershell -ExecutionPolicy ByPass -NoProfile -command "& """%~dp0eng\common\Build.ps1""" -restore %*" | ||
exit /b %ErrorLevel% |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,3 @@ | ||
@echo off | ||
powershell -ExecutionPolicy ByPass -NoProfile -command "& """%~dp0eng\common\Build.ps1""" -test %*" | ||
exit /b %ErrorLevel% |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1 @@ | ||
/home/leculver/git/clrmd/.packages/microsoft.dotnet.arcade.sdk/1.0.0-beta.18478.1/tools/Build.proj |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,5 @@ | ||
{ | ||
"version": 1, | ||
"dgSpecHash": "4Ppsy+4q+Q1CF1ROLlhcL4K7YT/hKmXa01oHqoYYWn+Kc9lLtltob1IhSkAscFiVuqFQn4tkNevH2Z5gU3IVzw==", | ||
"success": true | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,20 @@ | ||
<?xml version="1.0" encoding="utf-8" standalone="no"?> | ||
<Project ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> | ||
<PropertyGroup Condition=" '$(ExcludeRestorePackageImports)' != 'true' "> | ||
<RestoreSuccess Condition=" '$(RestoreSuccess)' == '' ">True</RestoreSuccess> | ||
<RestoreTool Condition=" '$(RestoreTool)' == '' ">NuGet</RestoreTool> | ||
<ProjectAssetsFile Condition=" '$(ProjectAssetsFile)' == '' ">/home/leculver/git/clrmd/artifacts/toolset/Common/project.assets.json</ProjectAssetsFile> | ||
<NuGetPackageRoot Condition=" '$(NuGetPackageRoot)' == '' ">/home/leculver/git/clrmd/.packages</NuGetPackageRoot> | ||
<NuGetPackageFolders Condition=" '$(NuGetPackageFolders)' == '' ">/home/leculver/git/clrmd/.packages;/home/leculver/git/clrmd/.dotnet/sdk/NuGetFallbackFolder</NuGetPackageFolders> | ||
<NuGetProjectStyle Condition=" '$(NuGetProjectStyle)' == '' ">PackageReference</NuGetProjectStyle> | ||
<NuGetToolVersion Condition=" '$(NuGetToolVersion)' == '' ">4.8.0</NuGetToolVersion> | ||
</PropertyGroup> | ||
<PropertyGroup> | ||
<MSBuildAllProjects>$(MSBuildAllProjects);$(MSBuildThisFileFullPath)</MSBuildAllProjects> | ||
</PropertyGroup> | ||
<ImportGroup Condition=" '$(ExcludeRestorePackageImports)' != 'true' "> | ||
<Import Project="$(NuGetPackageRoot)/vswhere/2.5.2/build/vswhere.props" Condition="Exists('$(NuGetPackageRoot)/vswhere/2.5.2/build/vswhere.props')" /> | ||
<Import Project="$(NuGetPackageRoot)/microsoft.dotnet.signtool/1.0.0-beta.18471.7/build/Microsoft.DotNet.SignTool.props" Condition="Exists('$(NuGetPackageRoot)/microsoft.dotnet.signtool/1.0.0-beta.18471.7/build/Microsoft.DotNet.SignTool.props')" /> | ||
<Import Project="$(NuGetPackageRoot)/microbuild.core/0.2.0/build/MicroBuild.Core.props" Condition="Exists('$(NuGetPackageRoot)/microbuild.core/0.2.0/build/MicroBuild.Core.props')" /> | ||
</ImportGroup> | ||
</Project> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,9 @@ | ||
<?xml version="1.0" encoding="utf-8" standalone="no"?> | ||
<Project ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> | ||
<PropertyGroup> | ||
<MSBuildAllProjects>$(MSBuildAllProjects);$(MSBuildThisFileFullPath)</MSBuildAllProjects> | ||
</PropertyGroup> | ||
<ImportGroup Condition=" '$(ExcludeRestorePackageImports)' != 'true' "> | ||
<Import Project="$(NuGetPackageRoot)/microbuild.core/0.2.0/build/MicroBuild.Core.targets" Condition="Exists('$(NuGetPackageRoot)/microbuild.core/0.2.0/build/MicroBuild.Core.targets')" /> | ||
</ImportGroup> | ||
</Project> |
Oops, something went wrong.