Skip to content

Commit c89c962

Browse files
committed
Merge branch 'main' into zbs
2 parents a1b3e7b + 7ee9197 commit c89c962

File tree

793 files changed

+26438
-16777
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

793 files changed

+26438
-16777
lines changed

.github/policies/resourceManagement.yml

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -469,6 +469,7 @@ configuration:
469469
- mentionUsers:
470470
mentionees:
471471
- thaystg
472+
- dotnet/dotnet-diag
472473
replyTemplate: >-
473474
Tagging subscribers to this area: ${mentionees}
474475
@@ -492,7 +493,8 @@ configuration:
492493
then:
493494
- mentionUsers:
494495
mentionees:
495-
- tommcdon
496+
- steveisok
497+
- dotnet/dotnet-diag
496498
replyTemplate: >-
497499
Tagging subscribers to this area: ${mentionees}
498500
@@ -986,7 +988,8 @@ configuration:
986988
then:
987989
- mentionUsers:
988990
mentionees:
989-
- tommcdon
991+
- steveisok
992+
- dotnet/dotnet-diag
990993
replyTemplate: >-
991994
Tagging subscribers to this area: ${mentionees}
992995
@@ -1060,6 +1063,7 @@ configuration:
10601063
mentionees:
10611064
- tarekgh
10621065
- tommcdon
1066+
- steveisok
10631067
- pjanotti
10641068
replyTemplate: >-
10651069
Tagging subscribers to this area: ${mentionees}
@@ -1674,11 +1678,9 @@ configuration:
16741678
description: Add breaking change doc label to PR
16751679
- if:
16761680
- payloadType: Pull_Request
1677-
- or:
1678-
- filesMatchPattern:
1679-
pattern: .*ILLink.*
1680-
- filesMatchPattern:
1681-
pattern: .*illink.*
1681+
- filesMatchPattern:
1682+
pattern: (?i).*ILLink.*
1683+
matchAny: true
16821684
- not:
16831685
hasLabel:
16841686
label: linkable-framework
@@ -1690,11 +1692,9 @@ configuration:
16901692
description: '[Linkable-framework workgroup] Add linkable-framework label to new Prs that touch files with *ILLink* that not have it already'
16911693
- if:
16921694
- payloadType: Pull_Request
1693-
- or:
1694-
- filesMatchPattern:
1695-
pattern: .*ILLink.*
1696-
- filesMatchPattern:
1697-
pattern: .*illink.*
1695+
- filesMatchPattern:
1696+
pattern: (?i).*ILLink.*
1697+
matchAny: true
16981698
- not:
16991699
hasLabel:
17001700
label: linkable-framework

.gitignore

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -363,3 +363,8 @@ src/coreclr/System.Private.CoreLib/common
363363
.dotnet-daily/
364364
run-stress-*
365365
test:.cs
366+
367+
# XUnit
368+
*.tempLog.xml
369+
*.testResults.xml
370+
*.testStats.csv

Directory.Build.props

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -192,6 +192,8 @@
192192
<CheckEolTargetFramework>false</CheckEolTargetFramework>
193193
<!-- Turn off workload support until we support them. -->
194194
<MSBuildEnableWorkloadResolver>false</MSBuildEnableWorkloadResolver>
195+
<!-- Turn off producing Windows PDBs from our portable PDBs. No one uses them and they slow down publishing. -->
196+
<PublishWindowsPdb>false</PublishWindowsPdb>
195197
<!-- Disable source link when building locally. -->
196198
<DisableSourceLink Condition="'$(DisableSourceLink)' == '' and
197199
'$(ContinuousIntegrationBuild)' != 'true' and

Directory.Build.targets

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -69,7 +69,7 @@
6969

7070
<PropertyGroup>
7171
<!-- Define properties that depend on the host SDK RID here. -->
72-
<BuildHostTools Condition="'$(DotNetBuildOrchestrator)' == 'true' and '$(TargetRid)' != '$(NETCoreSdkRuntimeIdentifier)'">true</BuildHostTools>
72+
<BuildHostTools Condition="'$(DotNetBuildFromVMR)' == 'true' and '$(TargetRid)' != '$(NETCoreSdkRuntimeIdentifier)'">true</BuildHostTools>
7373
<BuildHostILTools Condition="'$(BuildHostTools)' == 'true' and $([MSBuild]::IsOsPlatform(Windows))">true</BuildHostILTools>
7474
</PropertyGroup>
7575

build.sh

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ scriptroot="$( cd -P "$( dirname "$source" )" && pwd )"
2626
if is_cygwin_or_mingw; then
2727
# if bash shell running on Windows (not WSL),
2828
# pass control to batch build script.
29-
"$scriptroot/build.cmd" $@
29+
"$scriptroot/build.cmd" "$@"
3030
else
31-
"$scriptroot/eng/build.sh" $@
31+
"$scriptroot/eng/build.sh" "$@"
3232
fi

docs/area-owners.md

Lines changed: 16 additions & 17 deletions
Large diffs are not rendered by default.

docs/coding-guidelines/coding-style.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ The general rule we follow is "use Visual Studio defaults".
1919
Consider enabling "View White Space (Ctrl+R, Ctrl+W)" or "Edit -> Advanced -> View White Space" if using Visual Studio to aid detection.
2020
9. If a file happens to differ in style from these guidelines (e.g. private members are named `m_member`
2121
rather than `_member`), the existing style in that file takes precedence.
22-
10. We only use `var` when the type is explicitly named on the right-hand side, typically due to either `new` or an explicit cast, e.g. `var stream = new FileStream(...)` not `var stream = OpenStandardInput()`.
22+
10. We only permit ( not enforce ) `var` when the type is explicitly named on the right-hand side, typically due to either `new` or an explicit cast, e.g. `var stream = new FileStream(...)` not `var stream = OpenStandardInput()`.
2323
- Similarly, target-typed `new()` can only be used when the type is explicitly named on the left-hand side, in a variable definition statement or a field definition statement. e.g. `FileStream stream = new(...);`, but not `stream = new(...);` (where the type was specified on a previous line).
2424
11. We use language keywords instead of BCL types (e.g. `int, string, float` instead of `Int32, String, Single`, etc) for both type references as well as method calls (e.g. `int.Parse` instead of `Int32.Parse`). See issue [#13976](https://github.com/dotnet/runtime/issues/13976) for examples.
2525
12. We use PascalCasing to name all our constant local variables and fields. The only exception is for interop code where the constant value should exactly match the name and value of the code you are calling via interop.

docs/design/coreclr/botr/readytorun-format.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -862,11 +862,11 @@ enum ReadyToRunHelper
862862
READYTORUN_HELPER_UMod = 0xCF,
863863

864864
// Floating point conversions
865-
READYTORUN_HELPER_Dbl2Int = 0xD0,
865+
READYTORUN_HELPER_Dbl2Int = 0xD0, // Unused since READYTORUN_MAJOR_VERSION 15.0
866866
READYTORUN_HELPER_Dbl2IntOvf = 0xD1,
867867
READYTORUN_HELPER_Dbl2Lng = 0xD2,
868868
READYTORUN_HELPER_Dbl2LngOvf = 0xD3,
869-
READYTORUN_HELPER_Dbl2UInt = 0xD4,
869+
READYTORUN_HELPER_Dbl2UInt = 0xD4, // Unused since READYTORUN_MAJOR_VERSION 15.0
870870
READYTORUN_HELPER_Dbl2UIntOvf = 0xD5,
871871
READYTORUN_HELPER_Dbl2ULng = 0xD6,
872872
READYTORUN_HELPER_Dbl2ULngOvf = 0xD7,

docs/workflow/testing/coreclr/disasm-checks.md

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -84,11 +84,12 @@ Functionality that has been added or moved to SuperFileCheck:
8484
- `<check-prefix>-FULL-LINE:` - same as using FileCheck's `<check-prefix>:`, but checks that the line matches exactly; leading and trailing whitespace is ignored.
8585
- `<check-prefix>-FULL-LINE-NEXT:` - same as using FileCheck's `<check-prefix>-NEXT:`, but checks that the line matches exactly; leading and trailing whitespace is ignored.
8686
# Test Run Limitations
87-
1. Disasm checks will not run if these environment variables are set:
87+
1. Disasm checks will not work if these environment variables are set. The infrastructure need to be updated to skip disasm checks when these environment variables are present.
8888
- `DOTNET_JitStress`
8989
- `DOTNET_JitStressRegs`
9090
- `DOTNET_TailcallStress`
9191
- `DOTNET_TieredPGO`
92+
- `DOTNET_EnableHWIntrinsic=0`
9293
2. Disasm checks will not run under GCStress test modes.
9394
3. Disasm checks will not run under heap-verify test modes.
9495
4. Disasm checks will not run under cross-gen2 test modes.

eng/Publishing.props

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@
1515
We can't use NETCoreSdkRuntimeIdentifier here as the Arcade SDK projects don't import the .NET SDK.
1616
Instead, just make sure we include the assets targeting "not the output rid", which will catch the host assets.
1717
-->
18-
<ItemGroup Condition="'$(EnableDefaultRidSpecificArtifacts)' != 'true' and '$(DotNetBuildOrchestrator)' == 'true'">
18+
<ItemGroup Condition="'$(EnableDefaultRidSpecificArtifacts)' != 'true' and '$(DotNetBuildFromVMR)' == 'true'">
1919
<_HostArtifact Include="$(ArtifactsPackagesDir)**\runtime.*.Microsoft.NETCore.ILAsm.*.nupkg"
2020
Exclude="$(ArtifactsPackagesDir)**\runtime.$(TargetRid).Microsoft.NETCore.ILAsm.*.nupkg" />
2121

@@ -51,7 +51,7 @@
5151
This ensures that we don't produce these files in the "Repo source build" builds,
5252
but we do produce them in both the VMR and the runtime official build.
5353
-->
54-
<PropertyGroup Condition="'$(DotNetBuildOrchestrator)' == 'true'">
54+
<PropertyGroup Condition="'$(DotNetBuildFromVMR)' == 'true'">
5555
<ShouldGenerateProductVersionFiles Condition="'$(TargetRid)' == 'win-x64' and ('$(DotNetBuildPass)' == '' or '$(DotNetBuildPass)' == '1')">true</ShouldGenerateProductVersionFiles>
5656
<ShouldGenerateProductVersionFiles Condition="'$(DotNetBuildSourceOnly)' == 'true'">true</ShouldGenerateProductVersionFiles>
5757
</PropertyGroup>
@@ -89,12 +89,12 @@
8989
DependsOnTargets="GetNonStableProductVersion"
9090
BeforeTargets="PublishToAzureDevOpsArtifacts"
9191
AfterTargets="GenerateChecksumsFromArtifacts">
92-
<ItemGroup Condition="'$(DotNetBuildOrchestrator)' == 'true'">
92+
<ItemGroup Condition="'$(DotNetBuildFromVMR)' == 'true'">
9393
<Artifact Condition="'%(Artifact.Kind)' != 'Package' and '%(Artifact.RelativeBlobPath)' == ''"
9494
RelativeBlobPath="Runtime/$(NonStableProductVersion)/%(Artifact.SubBlobFolder)%(Filename)%(Extension)" />
9595
</ItemGroup>
9696
<!-- In vertical dotnet/runtime legs outside of the VMR, set the "relative blob path" to shipping vs non-shipping to make our download/upload work. -->
97-
<ItemGroup Condition="'$(DotNetBuildOrchestrator)' != 'true'">
97+
<ItemGroup Condition="'$(DotNetBuildFromVMR)' != 'true'">
9898
<Artifact Condition="'%(Artifact.Kind)' == 'Blob' and '%(Artifact.IsShipping)' == 'true'"
9999
RelativeBlobPath="packages/$(Configuration)/Shipping/%(Filename)%(Extension)" />
100100
<Artifact Condition="'%(Artifact.Kind)' == 'Blob' and '%(Artifact.IsShipping)' != 'true'"

eng/Signing.props

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@
2323
<EnableBlobArtifacts Condition="'$(MonoAOTEnableLLVM)' == 'true'">false</EnableBlobArtifacts>
2424

2525
<!-- The final stage of the runtime official build should publish everything. -->
26-
<EnableDefaultRidSpecificArtifacts Condition="'$(EnableDefaultRidSpecificArtifacts)' == '' and '$(DotNetBuildOrchestrator)' != 'true'">true</EnableDefaultRidSpecificArtifacts>
26+
<EnableDefaultRidSpecificArtifacts Condition="'$(EnableDefaultRidSpecificArtifacts)' == '' and '$(DotNetBuildFromVMR)' != 'true'">true</EnableDefaultRidSpecificArtifacts>
2727

2828
<UseDotNetCertificate>true</UseDotNetCertificate>
2929
</PropertyGroup>
@@ -41,7 +41,9 @@
4141

4242
<!-- On MacOS, we need to sign a number of our executables with the Mac developer cert with hardening enabled.
4343
Avoid doing this on Linux, which has the same executable names -->
44-
<FileSignInfo Condition="'$(TargetsOSX)' == 'true'" Include="dotnet;apphost;corerun;createdump;singlefilehost;crossgen2;ilasm;ilc;ildasm;llc;mono-aot-cross;opt;Mono" CertificateName="MacDeveloperHarden" />
44+
<FileSignInfo Condition="'$(TargetsOSX)' == 'true'" Include="dotnet;apphost;createdump;singlefilehost;crossgen2" CertificateName="MacDeveloperHarden" />
45+
<!-- Sign these Mac binaries without hardening enabled, making them compatible with hardening needs more work -->
46+
<FileSignInfo Condition="'$(TargetsOSX)' == 'true'" Include="corerun;ilc;ilasm;ildasm;mono-aot-cross;Mono;llc;opt" CertificateName="MacDeveloper" />
4547
<!-- Additionally, we need to notarize any .pkg files -->
4648
<MacOSPkg Include="$(ArtifactsPackagesDir)**/dotnet-runtime*.pkg" Exclude="$(ArtifactsPackagesDir)**/dotnet-runtime-internal*.pkg" />
4749
<FileSignInfo Include="@(MacOSPkg->'%(Filename)%(Extension)')" CertificateName="MacDeveloperWithNotarization" />

eng/Subsets.props

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -83,7 +83,7 @@
8383
</PropertyGroup>
8484

8585
<PropertyGroup>
86-
<!-- If we're building in the VMR, then we want to build all of the assets even in a PGO-instrumented build as downstream repos will not be able to pull assets from a matching non-PGO-instrumented build. -->
86+
<!-- In .NET product build mode we want to build all of the assets even in a PGO-instrumented build as downstream repos will not be able to pull assets from a matching non-PGO-instrumented build. -->
8787
<BuildOnlyPgoInstrumentedAssets Condition="'$(PgoInstrument)' == 'true' and '$(DotNetBuild)' != 'true'">true</BuildOnlyPgoInstrumentedAssets>
8888
</PropertyGroup>
8989

@@ -358,8 +358,8 @@
358358
</PropertyGroup>
359359

360360
<ItemGroup>
361-
<!-- When building cross components, always build the JITs. We will need them for running crossgen2 and ILC in the build. -->
362-
<_CrossToolSubset Condition="'$(_BuildCrossComponents)' == 'true'" Include="ClrAllJitsSubset=true" />
361+
<!-- crossgen2/ILC have dependencies on the JITs, so build them if the cross component includes crossgen2/ILC. -->
362+
<_CrossToolSubset Condition="'$(_BuildCrossComponents)' == 'true' and ($(_subset.Contains('+clr.tools+')) or $(_subset.Contains('+clr.nativecorelib+')) or $(_subset.Contains('+clr.crossarchtools+')))" Include="ClrAllJitsSubset=true" />
363363
<!-- When targeting Windows, we need to build a copy of the diagnostic libraries that can run on the host to enable remote debugging of a local build. -->
364364
<_CrossToolSubset Condition="'$(_BuildCrossComponents)' == 'true' and '$(TargetsWindows)' == 'true'" Include="ClrDebugSubset=true" />
365365
<!--

0 commit comments

Comments
 (0)