Skip to content

Commit

Permalink
Merge branch 'master' of https://github.com/dotnet/coreclr
Browse files Browse the repository at this point in the history
  • Loading branch information
4creators committed Oct 27, 2017
2 parents a05cccc + 04c7586 commit 6df222e
Show file tree
Hide file tree
Showing 194 changed files with 2,415 additions and 3,083 deletions.
2 changes: 1 addition & 1 deletion BuildToolsVersion.txt
Original file line number Diff line number Diff line change
@@ -1 +1 @@
2.0.0-prerelease-02118-01
2.0.0-prerelease-02126-01
40 changes: 40 additions & 0 deletions Documentation/building/unix-test-instructions.md
Original file line number Diff line number Diff line change
Expand Up @@ -40,6 +40,46 @@ Or
>`coreclr/Tools/dotnetcli/dotnet coreclr/Tools/MSBuild.dll /maxcpucount coreclr/tests/src/JIT/CodeGenBringUpTests/Array1.csproj /p:__BuildType=Release /p:__BuildOS=OSX`

**Aarch64/armhf multiarch**

For machines that have aarch64/armhf support, all the armhf packages will need to also be downloaded. Please note you will need to enable multiplatform support as well. Check with your distro provider or kernel options to see if this is supported. For simplicity, these instructions relate to aarch64 ubuntu enabling arm32 (hf) coreclr runs.

Please make sure your device is running a 64 bit aarch64 kernel.

```
# Example output
[ubuntu:~]: uname -a
Linux tegra-ubuntu 4.4.38-tegra #1 SMP PREEMPT Thu Jul 20 00:41:06 PDT 2017 aarch64 aarch64 aarch64 GNU/Linux
```

```
# Enable armhf multiplatform support
[ubuntu:~]: sudo dpkg --add-architecture armhf
[ubuntu:~]: sudo apt-get update
[ubuntu:~]: sudo apt-get install libstdc++6:armhf
````
At this point you should be able to run a 32bit corerun. You can verify this by downloading and running a recently built arm32 coreclr.
```
[ubuntu:~]: wget https://ci.dot.net/job/dotnet_coreclr/job/master/job/armlb_cross_checked_ubuntu/lastSuccessfulBuild/artifact/*zip*/archive.zip --no-check-certificate
[ubuntu:~]: unzip archive.zip
[ubuntu:~]: chmod +x && ./archive/bin/Product/Linux.arm.Checked/corerun
Execute the specified managed assembly with the passed in arguments

Options:
-c, --clr-path path to the libcoreclr.so and the managed CLR assemblies
```
Now download the coreclr armhf dependencies.
```
sudo apt-get install libunwind8:armhf libunwind8-dev:armhf libicu-dev:armhf liblttng-ust-dev:armhf libcurl4-openssl-dev:armhf libicu-dev:armhf libssl-dev uuid-dev:armhf libkrb5-dev:armhf
```
**Running tests**
The following instructions assume that on the Unix machine:
Expand Down
362 changes: 362 additions & 0 deletions Documentation/design-docs/arm64-jit-frame-layout.md

Large diffs are not rendered by default.

8 changes: 4 additions & 4 deletions buildpipeline/DotNet-CoreClr-Trusted-Linux-Crossbuild.json
Original file line number Diff line number Diff line change
Expand Up @@ -502,11 +502,11 @@
"quality": "definition",
"queue": {
"pool": {
"id": 39,
"name": "DotNet-Build"
"id": 97,
"name": "DotNetCore-Build"
},
"id": 36,
"name": "DotNet-Build"
"id": 330,
"name": "DotNetCore-Build"
},
"path": "\\",
"type": "build",
Expand Down
8 changes: 4 additions & 4 deletions buildpipeline/DotNet-CoreClr-Trusted-Linux.json
Original file line number Diff line number Diff line change
Expand Up @@ -466,11 +466,11 @@
"quality": "definition",
"queue": {
"pool": {
"id": 39,
"name": "DotNet-Build"
"id": 97,
"name": "DotNetCore-Build"
},
"id": 36,
"name": "DotNet-Build"
"id": 330,
"name": "DotNetCore-Build"
},
"path": "\\",
"type": "build",
Expand Down
8 changes: 4 additions & 4 deletions buildpipeline/DotNet-CoreClr-Trusted-Windows-x86.json
Original file line number Diff line number Diff line change
Expand Up @@ -359,11 +359,11 @@
"quality": "definition",
"queue": {
"pool": {
"id": 39,
"name": "DotNet-Build"
"id": 97,
"name": "DotNetCore-Build"
},
"id": 36,
"name": "DotNet-Build"
"id": 330,
"name": "DotNetCore-Build"
},
"path": "\\",
"type": "build",
Expand Down
8 changes: 4 additions & 4 deletions buildpipeline/DotNet-CoreClr-Trusted-Windows.json
Original file line number Diff line number Diff line change
Expand Up @@ -348,11 +348,11 @@
"quality": "definition",
"queue": {
"pool": {
"id": 39,
"name": "DotNet-Build"
"id": 97,
"name": "DotNetCore-Build"
},
"id": 36,
"name": "DotNet-Build"
"id": 330,
"name": "DotNetCore-Build"
},
"path": "\\",
"type": "build",
Expand Down
8 changes: 4 additions & 4 deletions buildpipeline/DotNet-Trusted-Publish-Symbols.json
Original file line number Diff line number Diff line change
Expand Up @@ -250,11 +250,11 @@
"processParameters": {},
"quality": "definition",
"queue": {
"id": 36,
"name": "DotNet-Build",
"id": 330,
"name": "DotNetCore-Build",
"pool": {
"id": 39,
"name": "DotNet-Build"
"id": 97,
"name": "DotNetCore-Build"
}
},
"id": -1,
Expand Down
8 changes: 4 additions & 4 deletions buildpipeline/DotNet-Trusted-Publish.json
Original file line number Diff line number Diff line change
Expand Up @@ -656,11 +656,11 @@
"quality": "definition",
"queue": {
"pool": {
"id": 39,
"name": "DotNet-Build"
"id": 97,
"name": "DotNetCore-Build"
},
"id": 36,
"name": "DotNet-Build"
"id": 330,
"name": "DotNetCore-Build"
},
"path": "\\",
"type": "build",
Expand Down
8 changes: 4 additions & 4 deletions buildpipeline/Dotnet-CoreClr-Trusted-BuildTests.json
Original file line number Diff line number Diff line change
Expand Up @@ -296,11 +296,11 @@
"quality": "definition",
"queue": {
"pool": {
"id": 39,
"name": "DotNet-Build"
"id": 97,
"name": "DotNetCore-Build"
},
"id": 36,
"name": "DotNet-Build"
"id": 330,
"name": "DotNetCore-Build"
},
"path": "\\",
"type": "build",
Expand Down
8 changes: 4 additions & 4 deletions buildpipeline/security/DotNet-CoreClr-Security-Windows.json
Original file line number Diff line number Diff line change
Expand Up @@ -555,11 +555,11 @@
"imageUrl": "https://devdiv.visualstudio.com/_api/_common/identityImage?id=9d5fdf9f-36b6-4d0c-a12e-2737a673af94"
},
"queue": {
"id": 36,
"name": "DotNet-Build",
"id": 330,
"name": "DotNetCore-Build",
"pool": {
"id": 39,
"name": "DotNet-Build"
"id": 97,
"name": "DotNetCore-Build"
}
},
"id": 6389,
Expand Down
27 changes: 19 additions & 8 deletions dependencies.props
Original file line number Diff line number Diff line change
Expand Up @@ -13,29 +13,35 @@

<!-- Source of truth for dependency tooling: the commit hash of the dotnet/versions master branch as of the last auto-upgrade. -->
<PropertyGroup>
<CoreFxCurrentRef>075b515e3dfb615b45182c033af48abed349eea5</CoreFxCurrentRef>
<CoreClrCurrentRef>075b515e3dfb615b45182c033af48abed349eea5</CoreClrCurrentRef>
<BuildToolsCurrentRef>075b515e3dfb615b45182c033af48abed349eea5</BuildToolsCurrentRef>
<PgoDataCurrentRef>20937e8603d9d6ecd6952d7db3bee390137b338e</PgoDataCurrentRef>
<CoreFxCurrentRef>36a82eaf3ebf7ce0357648cd8bd77a511ad3b814</CoreFxCurrentRef>
<CoreClrCurrentRef>b18c2bda8803d708746b4d0cde65be5f6d54bf0d</CoreClrCurrentRef>
<BuildToolsCurrentRef>b18c2bda8803d708746b4d0cde65be5f6d54bf0d</BuildToolsCurrentRef>
<PgoDataCurrentRef>b18c2bda8803d708746b4d0cde65be5f6d54bf0d</PgoDataCurrentRef>
</PropertyGroup>

<!-- Auto-upgraded properties for each build info dependency. -->
<PropertyGroup>
<CoreFxPackageVersion>4.5.0-preview1-25818-01</CoreFxPackageVersion>
<PlatformPackageVersion>2.1.0-preview1-25818-01</PlatformPackageVersion>
<PgoDataPackageVersion>99.99.99-master-20171012-0049</PgoDataPackageVersion>
<CoreFxPackageVersion>4.5.0-preview1-25825-08</CoreFxPackageVersion>
<PlatformPackageVersion>2.1.0-preview1-25825-08</PlatformPackageVersion>
<PgoDataPackageVersion>99.99.99-master-20171026-0034</PgoDataPackageVersion>
</PropertyGroup>

<!-- Full package version strings that are used in other parts of the build. -->
<PropertyGroup>
<CoreClrPackageVersion>2.1.0-preview1-25818-02</CoreClrPackageVersion>
<CoreClrPackageVersion>2.1.0-preview1-25826-01</CoreClrPackageVersion>
<XunitPackageVersion>2.2.0-beta2-build3300</XunitPackageVersion>
<XUnitConsoleNetCoreVersion>1.0.2-prerelease-00177</XUnitConsoleNetCoreVersion>
<XUnitPerformanceApiVersion>1.0.0-beta-build0007</XUnitPerformanceApiVersion>
<MicrosoftDiagnosticsTracingLibraryVersion>1.0.3-alpha-experimental</MicrosoftDiagnosticsTracingLibraryVersion>
<VCRuntimeVersion>1.2.0</VCRuntimeVersion>
</PropertyGroup>

<!-- Package versions used as toolsets -->
<PropertyGroup>
<FeedTasksPackage>Microsoft.DotNet.Build.Tasks.Feed</FeedTasksPackage>
<FeedTasksPackageVersion>1.0.0-prerelease-02126-01</FeedTasksPackageVersion>
</PropertyGroup>

<!-- Package dependency verification/auto-upgrade configuration. -->
<PropertyGroup>
<BaseDotNetBuildInfo>build-info/dotnet/</BaseDotNetBuildInfo>
Expand Down Expand Up @@ -85,6 +91,11 @@
<Path>$(MSBuildThisFileDirectory)BuildToolsVersion.txt</Path>
<PackageId>Microsoft.DotNet.BuildTools</PackageId>
</UpdateStep>
<XmlUpdateStep Include="BuildTools">
<Path>$(MSBuildThisFileFullPath)</Path>
<ElementName>FeedTasksPackageVersion</ElementName>
<PackageId>$(FeedTasksPackage)</PackageId>
</XmlUpdateStep>
<XmlUpdateStep Include="PgoData">
<Path>$(MSBuildThisFileFullPath)</Path>
<ElementName>PgoDataPackageVersion</ElementName>
Expand Down
12 changes: 6 additions & 6 deletions init-tools.cmd
Original file line number Diff line number Diff line change
Expand Up @@ -43,21 +43,21 @@ if NOT exist "%DOTNET_PATH%" mkdir "%DOTNET_PATH%"
set DOTNET_ZIP_NAME=dotnet-sdk-%DOTNET_VERSION%-win-x64.zip
set DOTNET_REMOTE_PATH=https://dotnetcli.blob.core.windows.net/dotnet/Sdk/%DOTNET_VERSION%/%DOTNET_ZIP_NAME%
set DOTNET_LOCAL_PATH=%DOTNET_PATH%%DOTNET_ZIP_NAME%
echo Installing '%DOTNET_REMOTE_PATH%' to '%DOTNET_LOCAL_PATH%' >> "%INIT_TOOLS_LOG%"
echo %__MsgPrefix%Installing '%DOTNET_REMOTE_PATH%' to '%DOTNET_LOCAL_PATH%' >> "%INIT_TOOLS_LOG%"
powershell -NoProfile -ExecutionPolicy unrestricted -Command "$retryCount = 0; $success = $false; do { try { (New-Object Net.WebClient).DownloadFile('%DOTNET_REMOTE_PATH%', '%DOTNET_LOCAL_PATH%'); $success = $true; } catch { if ($retryCount -ge 6) { throw; } else { $retryCount++; Start-Sleep -Seconds (5 * $retryCount); } } } while ($success -eq $false); Add-Type -Assembly 'System.IO.Compression.FileSystem' -ErrorVariable AddTypeErrors; if ($AddTypeErrors.Count -eq 0) { [System.IO.Compression.ZipFile]::ExtractToDirectory('%DOTNET_LOCAL_PATH%', '%DOTNET_PATH%') } else { (New-Object -com shell.application).namespace('%DOTNET_PATH%').CopyHere((new-object -com shell.application).namespace('%DOTNET_LOCAL_PATH%').Items(),16) }" >> "%INIT_TOOLS_LOG%"
if NOT exist "%DOTNET_LOCAL_PATH%" (
echo ERROR: Could not install dotnet cli correctly. 1>&2
echo %__MsgPrefix%ERROR: Could not install dotnet cli correctly. 1>&2
goto :error
)

:afterdotnetrestore

if exist "%BUILD_TOOLS_PATH%" goto :afterbuildtoolsrestore
echo %__MsgPrefix%Restoring BuildTools version %BUILDTOOLS_VERSION%...
echo %__MsgPrefix%Running: "%DOTNET_CMD%" restore "%INIT_TOOLS_RESTORE_PROJECT%" --no-cache --packages %PACKAGES_DIR% --source "%BUILDTOOLS_SOURCE%" /p:BuildToolsPackageVersion=%BUILDTOOLS_VERSION% /p:ToolsDir=%TOOLRUNTIME_DIR% >> "%INIT_TOOLS_LOG%"
call "%DOTNET_CMD%" restore "%INIT_TOOLS_RESTORE_PROJECT%" --no-cache --packages %PACKAGES_DIR% --source "%BUILDTOOLS_SOURCE%" /p:BuildToolsPackageVersion=%BUILDTOOLS_VERSION% /p:ToolsDir=%TOOLRUNTIME_DIR% >> "%INIT_TOOLS_LOG%"
echo %__MsgPrefix%Running: "%DOTNET_CMD%" restore "%INIT_TOOLS_RESTORE_PROJECT%" --no-cache --packages %PACKAGES_DIR% --source "%BUILDTOOLS_SOURCE%" /p:BuildToolsPackageVersion=%BUILDTOOLS_VERSION% >> "%INIT_TOOLS_LOG%"
call "%DOTNET_CMD%" restore "%INIT_TOOLS_RESTORE_PROJECT%" --no-cache --packages %PACKAGES_DIR% --source "%BUILDTOOLS_SOURCE%" /p:BuildToolsPackageVersion=%BUILDTOOLS_VERSION% >> "%INIT_TOOLS_LOG%"
if NOT exist "%BUILD_TOOLS_PATH%init-tools.cmd" (
echo ERROR: Could not restore build tools correctly. 1>&2
%__MsgPrefix%echo ERROR: Could not restore build tools correctly. 1>&2
goto :error
)

Expand All @@ -81,6 +81,6 @@ echo %__MsgPrefix%Init-Tools.cmd completed for BuildTools Version: %BUILDTOOLS_V
exit /b 0

:error
echo Please check the detailed log that follows. 1>&2
echo %__MsgPrefix%Please check the detailed log that follows. 1>&2
type "%INIT_TOOLS_LOG%" 1>&2
exit /b 1
15 changes: 2 additions & 13 deletions init-tools.msbuild
Original file line number Diff line number Diff line change
Expand Up @@ -4,10 +4,9 @@
<EnableDefaultItems>false</EnableDefaultItems>
<DisableImplicitFrameworkReferences>true</DisableImplicitFrameworkReferences>
<BaseIntermediateOutputPath>$(ToolsDir)/$(BuildToolsPackageVersion)</BaseIntermediateOutputPath>
<FeedTasksVersion>1.0.0-prerelease-02111-01</FeedTasksVersion>
<FeedTasksPackage>microsoft.dotnet.build.tasks.feed</FeedTasksPackage>
<PackageTargetFallback>$(PackageTargetFallback);netframework</PackageTargetFallback>
</PropertyGroup>
<Import Project="dependencies.props" />
<ItemGroup>
<PackageReference Include="microsoft.dotnet.buildtools">
<Version>$(BuildToolsPackageVersion)</Version>
Expand All @@ -16,17 +15,7 @@
<Version>1.0.4-prerelease</Version>
</PackageReference>
<PackageReference Include="$(FeedTasksPackage)">
<Version>$(FeedTasksVersion)</Version>
<Version>$(FeedTasksPackageVersion)</Version>
</PackageReference>
</ItemGroup>

<Target Name="CopyFeedTasks" AfterTargets="Restore" >
<ItemGroup>
<FilesToCopy Include="$(MSBuildThisFileDirectory)\packages\$(FeedTasksPackage)\$(FeedTasksVersion)\lib\**\*.*"/>
</ItemGroup>

<Copy SourceFiles="@(FilesToCopy)"
DestinationFiles="@(FilesToCopy->'$(ToolsDir)\$(FeedTasksPackage)\%(RecursiveDir)%(Filename)%(Extension)')"
/>
</Target>
</Project>
4 changes: 2 additions & 2 deletions init-tools.sh
Original file line number Diff line number Diff line change
Expand Up @@ -119,8 +119,8 @@ if [ ! -e $__INIT_TOOLS_DONE_MARKER ]; then
else
if [ ! -e $__BUILD_TOOLS_PATH ]; then
echo "Restoring BuildTools version $__BUILD_TOOLS_PACKAGE_VERSION..."
echo "Running: $__DOTNET_CMD restore \"$__INIT_TOOLS_RESTORE_PROJECT\" --no-cache --packages $__PACKAGES_DIR --source $__BUILDTOOLS_SOURCE /p:BuildToolsPackageVersion=$__BUILD_TOOLS_PACKAGE_VERSION /p:ToolsDir=$__TOOLRUNTIME_DIR" >> $__init_tools_log
$__DOTNET_CMD restore "$__INIT_TOOLS_RESTORE_PROJECT" --no-cache --packages $__PACKAGES_DIR --source $__BUILDTOOLS_SOURCE /p:BuildToolsPackageVersion=$__BUILD_TOOLS_PACKAGE_VERSION /p:ToolsDir=$__TOOLRUNTIME_DIR >> $__init_tools_log
echo "Running: $__DOTNET_CMD restore \"$__INIT_TOOLS_RESTORE_PROJECT\" --no-cache --packages $__PACKAGES_DIR --source $__BUILDTOOLS_SOURCE /p:BuildToolsPackageVersion=$__BUILD_TOOLS_PACKAGE_VERSION" >> $__init_tools_log
$__DOTNET_CMD restore "$__INIT_TOOLS_RESTORE_PROJECT" --no-cache --packages $__PACKAGES_DIR --source $__BUILDTOOLS_SOURCE /p:BuildToolsPackageVersion=$__BUILD_TOOLS_PACKAGE_VERSION >> $__init_tools_log
if [ ! -e "$__BUILD_TOOLS_PATH/init-tools.sh" ]; then
echo "ERROR: Could not restore build tools correctly." 1>&2
display_error_message
Expand Down
26 changes: 18 additions & 8 deletions netci.groovy
Original file line number Diff line number Diff line change
Expand Up @@ -721,13 +721,13 @@ def static addTriggers(def job, def branch, def isPR, def architecture, def os,
}

def arm64Users = [
'adiaaida',
'AndyAyersMS',
'briansull',
'BruceForstall',
'CarolEidt',
'cmckinsey',
'erozenfeld',
'janvorli',
'jashook',
'JosephTremoulet',
'pgodeq',
Expand Down Expand Up @@ -1126,7 +1126,7 @@ def static addTriggers(def job, def branch, def isPR, def architecture, def os,
}
break
case 'Tizen':
if (architecture == 'armlb') { // Ubuntu arm is only for armlb currently
if (architecture == 'armlb') { // Tizen armel is only for armlb currently
architecture='armel'
job.with {
publishers {
Expand All @@ -1136,8 +1136,13 @@ def static addTriggers(def job, def branch, def isPR, def architecture, def os,
}
}
// Removing the regex will cause this to run on each PR.
Utilities.addGithubPRTriggerForBranch(job, branch, "${os} ${architecture} Cross ${configuration} Build",
"(?i).*test\\W+${os}\\W+${architecture}\\W+Cross\\W+${configuration}\\W+Build.*")
if (configuration == 'Checked') {
Utilities.addGithubPRTriggerForBranch(job, branch, "${os} ${architecture} Cross ${configuration} Innerloop Build and Test")
}
else {
Utilities.addGithubPRTriggerForBranch(job, branch, "${os} ${architecture} Cross ${configuration} Build",
"(?i).*test\\W+${os}\\W+${architecture}\\W+Cross\\W+${configuration}\\W+Build.*")
}
}
break
case 'Windows_NT':
Expand Down Expand Up @@ -1496,16 +1501,22 @@ def static calculateBuildCommands(def newJob, def scenario, def branch, def isPR
buildCommands += "tests\\scripts\\build_illink.cmd clone ${arch}"
}

buildOpts += " -priority=${priority}"

// If it is a release build for windows, ensure PGO is used, else fail the build
if ((lowerConfiguration == 'release') &&
(scenario in Constants.basicScenarios) &&
(architecture != 'x86lb') &&
(architecture != 'x86_arm_altjit') &&
(architecture != 'x64_arm64_altjit')) {

buildOpts += ' enforcepgo'
buildOpts += ' -enforcepgo'
}

if (enableCorefxTesting) {
buildOpts += ' skiptests';
} else {
// Note: currently, build.cmd will pass through all arguments starting with an argument it doesn't recognize.
// Since it doesn't process/recognize '-priority', make sure this is the last argument passed.
buildOpts += " -priority=${priority}"
}

// Set __TestIntermediateDir for pri1 test builds.
Expand All @@ -1523,7 +1534,6 @@ def static calculateBuildCommands(def newJob, def scenario, def branch, def isPR
scenario == 'ilrt' ||
scenario == 'illink' ||
Constants.r2rJitStressScenarios.indexOf(scenario) != -1) {
buildOpts += enableCorefxTesting ? ' skiptests' : ''
buildCommands += "set __TestIntermediateDir=int&&build.cmd ${lowerConfiguration} ${arch} ${buildOpts}"
}
else if (isLongGc(scenario)) {
Expand Down
Loading

0 comments on commit 6df222e

Please sign in to comment.