Skip to content

Commit 8557ef2

Browse files
authored
Merge pull request #95148 from carlossanlop/release/8.0-staging
[manual] Merge release/8.0-staging into release/8.0
2 parents 2fc9614 + aaa4b27 commit 8557ef2

File tree

47 files changed

+1046
-160
lines changed

Some content is hidden

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

47 files changed

+1046
-160
lines changed

NuGet.config

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,11 @@
1010
<!--Begin: Package sources managed by Dependency Flow automation. Do not edit the sources below.-->
1111
<!-- Begin: Package sources from dotnet-emsdk -->
1212
<add key="darc-pub-dotnet-emsdk-201f4da" value="https://pkgs.dev.azure.com/dnceng/public/_packaging/darc-pub-dotnet-emsdk-201f4dae/nuget/v3/index.json" />
13+
<add key="darc-pub-dotnet-emsdk-0af50f7" value="https://pkgs.dev.azure.com/dnceng/public/_packaging/darc-pub-dotnet-emsdk-0af50f73/nuget/v3/index.json" />
14+
<add key="darc-pub-dotnet-emsdk-d75f77c" value="https://pkgs.dev.azure.com/dnceng/public/_packaging/darc-pub-dotnet-emsdk-d75f77cb/nuget/v3/index.json" />
1315
<!-- End: Package sources from dotnet-emsdk -->
16+
<!-- Begin: Package sources from dotnet-sdk -->
17+
<!-- End: Package sources from dotnet-sdk -->
1418
<!--End: Package sources managed by Dependency Flow automation. Do not edit the sources above.-->
1519
<!--
1620
'src/test/PrepareTestAssets/PrepareTestAssets.proj' generates a NuGet.config file using this
@@ -28,5 +32,9 @@
2832
</packageSources>
2933
<disabledPackageSources>
3034
<clear />
35+
<!--Begin: Package sources managed by Dependency Flow automation. Do not edit the sources below.-->
36+
<!-- Begin: Package sources from dotnet-sdk -->
37+
<!-- End: Package sources from dotnet-sdk -->
38+
<!--End: Package sources managed by Dependency Flow automation. Do not edit the sources above.-->
3139
</disabledPackageSources>
3240
</configuration>

eng/Version.Details.xml

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -99,14 +99,14 @@
9999
<Sha>201f4dae9d1a1e105d8ba86d7ece61eed1f665e0</Sha>
100100
<SourceBuild RepoName="emsdk" ManagedOnly="true" />
101101
</Dependency>
102-
<Dependency Name="Microsoft.SourceBuild.Intermediate.source-build-reference-packages" Version="8.0.0-alpha.1.23556.3">
102+
<Dependency Name="Microsoft.SourceBuild.Intermediate.source-build-reference-packages" Version="8.0.0-alpha.1.23565.1">
103103
<Uri>https://github.com/dotnet/source-build-reference-packages</Uri>
104-
<Sha>fa4c0e8f53ef2541a23e519af4dfb86cb88e1bae</Sha>
104+
<Sha>95f83e27806330fec09edd96e06bba3acabe3f35</Sha>
105105
<SourceBuild RepoName="source-build-reference-packages" ManagedOnly="true" />
106106
</Dependency>
107-
<Dependency Name="Microsoft.SourceBuild.Intermediate.source-build-externals" Version="8.0.0-alpha.1.23518.1">
107+
<Dependency Name="Microsoft.SourceBuild.Intermediate.source-build-externals" Version="8.0.0-alpha.1.23570.1">
108108
<Uri>https://github.com/dotnet/source-build-externals</Uri>
109-
<Sha>3dc05150cf234f76f6936dcb2853d31a0da1f60e</Sha>
109+
<Sha>e844aa02a05b90d8cbe499676ec6ee0f19ec4980</Sha>
110110
<SourceBuild RepoName="source-build-externals" ManagedOnly="true" />
111111
</Dependency>
112112
</ProductDependencies>
@@ -354,9 +354,9 @@
354354
<Uri>https://dev.azure.com/dnceng/internal/_git/dotnet-optimization</Uri>
355355
<Sha>67613417f5e1af250e6ddfba79f8f2885d8e90fb</Sha>
356356
</Dependency>
357-
<Dependency Name="Microsoft.DotNet.HotReload.Utils.Generator.BuildTool" Version="8.0.0-alpha.0.23563.1">
357+
<Dependency Name="Microsoft.DotNet.HotReload.Utils.Generator.BuildTool" Version="8.0.0-alpha.0.23570.2">
358358
<Uri>https://github.com/dotnet/hotreload-utils</Uri>
359-
<Sha>12d02e5c2310be6460f896bc3aeb0ddf1e8926bc</Sha>
359+
<Sha>5524f726f92ef862b415793758cebbd2a1950b70</Sha>
360360
</Dependency>
361361
<Dependency Name="System.Runtime.Numerics.TestData" Version="8.0.0-beta.23566.1">
362362
<Uri>https://github.com/dotnet/runtime-assets</Uri>

eng/Versions.props

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -186,7 +186,7 @@
186186
<MicrosoftDotNetXHarnessTestRunnersCommonVersion>8.0.0-prerelease.23407.2</MicrosoftDotNetXHarnessTestRunnersCommonVersion>
187187
<MicrosoftDotNetXHarnessTestRunnersXunitVersion>8.0.0-prerelease.23407.2</MicrosoftDotNetXHarnessTestRunnersXunitVersion>
188188
<MicrosoftDotNetXHarnessCLIVersion>8.0.0-prerelease.23407.2</MicrosoftDotNetXHarnessCLIVersion>
189-
<MicrosoftDotNetHotReloadUtilsGeneratorBuildToolVersion>8.0.0-alpha.0.23563.1</MicrosoftDotNetHotReloadUtilsGeneratorBuildToolVersion>
189+
<MicrosoftDotNetHotReloadUtilsGeneratorBuildToolVersion>8.0.0-alpha.0.23570.2</MicrosoftDotNetHotReloadUtilsGeneratorBuildToolVersion>
190190
<XUnitVersion>2.4.2</XUnitVersion>
191191
<XUnitAnalyzersVersion>1.0.0</XUnitAnalyzersVersion>
192192
<XUnitRunnerVisualStudioVersion>2.4.5</XUnitRunnerVisualStudioVersion>

eng/packaging.targets

Lines changed: 10 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -21,13 +21,20 @@
2121
<ApiCompatIgnoreTargetPlatformMoniker Condition="'$(SuppressDependenciesWhenPacking)' == 'true'">true</ApiCompatIgnoreTargetPlatformMoniker>
2222
<PackageDesignerMarkerFile>$(MSBuildThisFileDirectory)useSharedDesignerContext.txt</PackageDesignerMarkerFile>
2323
<PackageReadmeFile Condition="'$(PackageReadmeFile)' == '' and Exists('PACKAGE.md')">PACKAGE.md</PackageReadmeFile>
24+
<!-- Non-shipping packages shouldn't incrementally serviced. -->
25+
<PackageUseIncrementalServicingVersion Condition="'$(IsShipping)' != 'true'">false</PackageUseIncrementalServicingVersion>
2426
<!-- Generate packages for rid specific projects or for allconfigurations during build. -->
2527
<!-- A package isn't generated if in servicing or in runtimelab. Intended to be overridden at project level. -->
2628
<IsRIDSpecificProject Condition="$(MSBuildProjectName.StartsWith('runtime.')) and
2729
!$(MSBuildProjectName.StartsWith('runtime.native'))">true</IsRIDSpecificProject>
28-
<GeneratePackageOnBuild Condition="('$(BuildAllConfigurations)' == 'true' or
29-
'$(IsRIDSpecificProject)' == 'true') and
30-
'$(PreReleaseVersionLabel)' != 'servicing' and
30+
<GeneratePackageOnBuild Condition="(
31+
'$(BuildAllConfigurations)' == 'true' or
32+
'$(IsRIDSpecificProject)' == 'true'
33+
) and
34+
(
35+
'$(PreReleaseVersionLabel)' != 'servicing' or
36+
'$(PackageUseIncrementalServicingVersion)' != 'true'
37+
) and
3138
'$(GitHubRepositoryName)' != 'runtimelab'">true</GeneratePackageOnBuild>
3239
<!-- When in source-build we need to generate all packages when building for all configurations even in servicing. -->
3340
<GeneratePackageOnBuild Condition="'$(GeneratePackageOnBuild)' != 'true' and

src/coreclr/debug/daccess/enummem.cpp

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -224,6 +224,34 @@ HRESULT ClrDataAccess::EnumMemCLRStatic(IN CLRDataEnumMemoryFlags flags)
224224

225225
ReportMem(g_gcDacGlobals.GetAddr(), sizeof(GcDacVars));
226226

227+
PTR_WSTR entryAssemblyPath = (PTR_WSTR)g_EntryAssemblyPath;
228+
entryAssemblyPath.EnumMem();
229+
230+
// Triage dumps must not include full paths (PII data). Replace entry assembly path with file name only.
231+
if (flags == CLRDATA_ENUM_MEM_TRIAGE)
232+
{
233+
WCHAR* path = entryAssemblyPath;
234+
if (path != NULL)
235+
{
236+
size_t pathLen = u16_strlen(path) + 1;
237+
238+
// Get the file name based on the last directory separator
239+
const WCHAR* name = u16_strrchr(path, DIRECTORY_SEPARATOR_CHAR_W);
240+
if (name != NULL)
241+
{
242+
name += 1;
243+
size_t len = u16_strlen(name) + 1;
244+
wcscpy_s(path, len, name);
245+
246+
// Null out the rest of the buffer
247+
for (size_t i = len; i < pathLen; ++i)
248+
path[i] = W('\0');
249+
250+
DacUpdateMemoryRegion(entryAssemblyPath.GetAddr(), pathLen, (BYTE*)path);
251+
}
252+
}
253+
}
254+
227255
// We need all of the dac variables referenced by the GC DAC global struct.
228256
// This struct contains pointers to pointers, so we first dereference the pointers
229257
// to obtain the location of the variable that's reported.

src/coreclr/inc/daccess.h

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -574,6 +574,8 @@
574574
#include "crosscomp.h"
575575
#endif
576576

577+
#include <dn-u16.h>
578+
577579
// Information stored in the DAC table of interest to the DAC implementation
578580
// Note that this information is shared between all instantiations of ClrDataAccess, so initialize
579581
// it just once in code:ClrDataAccess.GetDacGlobals (rather than use fields in ClrDataAccess);
@@ -1493,10 +1495,10 @@ class __Str16Ptr : public __DPtr<WCHAR>
14931495
}
14941496
void EnumMem(void) const
14951497
{
1496-
char* str = DacInstantiateStringW(m_addr, maxChars, false);
1498+
WCHAR* str = DacInstantiateStringW(m_addr, maxChars, false);
14971499
if (str)
14981500
{
1499-
DacEnumMemoryRegion(m_addr, strlen(str) + 1);
1501+
DacEnumMemoryRegion(m_addr, u16_strlen(str) + 1);
15001502
}
15011503
}
15021504
};

src/coreclr/inc/dacvars.h

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -231,5 +231,7 @@ DEFINE_DACVAR(SIZE_T, dac__g_clrNotificationArguments, ::g_clrNotificationArgume
231231
DEFINE_DACVAR(bool, dac__g_metadataUpdatesApplied, ::g_metadataUpdatesApplied)
232232
#endif
233233

234+
DEFINE_DACVAR(PTR_WSTR, dac__g_EntryAssemblyPath, ::g_EntryAssemblyPath)
235+
234236
#undef DEFINE_DACVAR
235237
#undef DEFINE_DACVAR_NO_DUMP

src/coreclr/tools/aot/ILCompiler.Compiler/Compiler/DependencyAnalysis/ObjectWriter.cs

Lines changed: 3 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -439,15 +439,11 @@ public void EmitDebugEHClauseInfo(ObjectNode node)
439439
private static extern void EmitDebugFunctionInfo(IntPtr objWriter, byte[] methodName, int methodSize, uint methodTypeIndex);
440440
public void EmitDebugFunctionInfo(ObjectNode node, int methodSize)
441441
{
442-
uint methodTypeIndex = 0;
443-
444-
var methodNode = node as IMethodNode;
445-
if (methodNode != null)
442+
if (node is IMethodNode methodNode)
446443
{
447-
methodTypeIndex = _userDefinedTypeDescriptor.GetMethodFunctionIdTypeIndex(methodNode.Method);
444+
uint methodTypeIndex = _userDefinedTypeDescriptor.GetMethodFunctionIdTypeIndex(methodNode.Method);
445+
EmitDebugFunctionInfo(_nativeObjectWriter, _currentNodeZeroTerminatedName.UnderlyingArray, methodSize, methodTypeIndex);
448446
}
449-
450-
EmitDebugFunctionInfo(_nativeObjectWriter, _currentNodeZeroTerminatedName.UnderlyingArray, methodSize, methodTypeIndex);
451447
}
452448

453449
[DllImport(NativeObjectWriterFileName)]

src/coreclr/vm/corhost.cpp

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -310,6 +310,15 @@ HRESULT CorHost2::ExecuteAssembly(DWORD dwAppDomainId,
310310

311311
_ASSERTE (!pThread->PreemptiveGCDisabled());
312312

313+
if (g_EntryAssemblyPath == NULL)
314+
{
315+
// Store the entry assembly path for diagnostic purposes (for example, dumps)
316+
size_t len = u16_strlen(pwzAssemblyPath) + 1;
317+
NewArrayHolder<WCHAR> path { new WCHAR[len] };
318+
wcscpy_s(path, len, pwzAssemblyPath);
319+
g_EntryAssemblyPath = path.Extract();
320+
}
321+
313322
Assembly *pAssembly = AssemblySpec::LoadAssembly(pwzAssemblyPath);
314323

315324
#if defined(FEATURE_MULTICOREJIT)

src/coreclr/vm/vars.cpp

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -106,6 +106,8 @@ GVAL_IMPL_INIT(DWORD, g_debuggerWordTLSIndex, TLS_OUT_OF_INDEXES);
106106
#endif
107107
GVAL_IMPL_INIT(DWORD, g_TlsIndex, TLS_OUT_OF_INDEXES);
108108

109+
GVAL_IMPL_INIT(PTR_WSTR, g_EntryAssemblyPath, NULL);
110+
109111
#ifndef DACCESS_COMPILE
110112

111113
// <TODO> @TODO - PROMOTE. </TODO>

src/coreclr/vm/vars.hpp

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -389,6 +389,9 @@ GVAL_DECL(DWORD, g_debuggerWordTLSIndex);
389389
#endif
390390
GVAL_DECL(DWORD, g_TlsIndex);
391391

392+
// Full path to the managed entry assembly - stored for ease of identifying the entry asssembly for diagnostics
393+
GVAL_DECL(PTR_WSTR, g_EntryAssemblyPath);
394+
392395
// Global System Information
393396
extern SYSTEM_INFO g_SystemInfo;
394397

src/coreclr/vm/weakreferencenative.cpp

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -172,8 +172,7 @@ FCIMPL1(FC_BOOL_RET, ComAwareWeakReferenceNative::HasInteropInfo, Object* pObjec
172172
_ASSERTE(pObject != nullptr);
173173

174174
SyncBlock* pSyncBlock = pObject->PassiveGetSyncBlock();
175-
_ASSERTE(pSyncBlock != nullptr);
176-
return pSyncBlock->GetInteropInfoNoCreate() != nullptr;
175+
return pSyncBlock != nullptr && pSyncBlock->GetInteropInfoNoCreate() != nullptr;
177176
}
178177
FCIMPLEND
179178

src/libraries/Directory.Build.targets

Lines changed: 12 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,18 @@
77
<StrongNameKeyId Condition="'$(IsTestProject)' == 'true' or '$(IsTestSupportProject)' == 'true'">$(TestStrongNameKeyId)</StrongNameKeyId>
88
</PropertyGroup>
99

10+
<!-- Need to be defined before packaging.targets is imported. -->
11+
<PropertyGroup>
12+
<!-- The source of truth for these IsNETCoreApp* properties is NetCoreAppLibrary.props. -->
13+
<IsNETCoreAppSrc Condition="'$(IsSourceProject)' == 'true' and
14+
$(NetCoreAppLibrary.Contains('$(AssemblyName);'))">true</IsNETCoreAppSrc>
15+
<IsNETCoreAppRef Condition="('$(IsReferenceAssemblyProject)' == 'true' or '$(IsRuntimeAndReferenceAssembly)' == 'true') and
16+
$(NetCoreAppLibrary.Contains('$(AssemblyName);')) and
17+
'$(IsPrivateAssembly)' != 'true'">true</IsNETCoreAppRef>
18+
<IsNETCoreAppAnalyzer Condition="'$(IsGeneratorProject)' == 'true' and
19+
$(NetCoreAppLibraryGenerator.Contains('$(MSBuildProjectName);'))">true</IsNETCoreAppAnalyzer>
20+
</PropertyGroup>
21+
1022
<!-- resources.targets need to be imported before the Arcade SDK. -->
1123
<Import Project="$(RepositoryEngineeringDir)resources.targets" />
1224
<Import Project="..\..\Directory.Build.targets" />
@@ -47,14 +59,6 @@
4759
-->
4860
<WarningsAsErrors>$(WarningsAsErrors.Replace('NU1605', ''))</WarningsAsErrors>
4961

50-
<!-- The source of truth for these IsNETCoreApp* properties is NetCoreAppLibrary.props. -->
51-
<IsNETCoreAppSrc Condition="'$(IsSourceProject)' == 'true' and
52-
$(NetCoreAppLibrary.Contains('$(AssemblyName);'))">true</IsNETCoreAppSrc>
53-
<IsNETCoreAppRef Condition="('$(IsReferenceAssemblyProject)' == 'true' or '$(IsRuntimeAndReferenceAssembly)' == 'true') and
54-
$(NetCoreAppLibrary.Contains('$(AssemblyName);')) and
55-
'$(IsPrivateAssembly)' != 'true'">true</IsNETCoreAppRef>
56-
<IsNETCoreAppAnalyzer Condition="'$(IsGeneratorProject)' == 'true' and
57-
$(NetCoreAppLibraryGenerator.Contains('$(MSBuildProjectName);'))">true</IsNETCoreAppAnalyzer>
5862
<!-- Inbox analyzers shouldn't use the live targeting / runtime pack. They better depend on an LKG to avoid layering concerns. -->
5963
<UseLocalTargetingRuntimePack Condition="'$(IsNETCoreAppAnalyzer)' == 'true'">false</UseLocalTargetingRuntimePack>
6064
<!-- By default, disable implicit framework references for NetCoreAppCurrent libraries. -->

src/libraries/Microsoft.Bcl.TimeProvider/ref/Microsoft.Bcl.TimeProvider.csproj

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,6 @@
1313
<Compile Include="Microsoft.Bcl.TimeProvider.Common.cs" />
1414
</ItemGroup>
1515
<ItemGroup Condition="'$(TargetFrameworkIdentifier)' != '.NETCoreApp'">
16-
<PackageReference Include="Microsoft.Bcl.AsyncInterfaces" Version="$(MicrosoftBclAsyncInterfacesVersion)" />
16+
<ProjectReference Include="$(LibrariesProjectRoot)Microsoft.Bcl.AsyncInterfaces\ref\Microsoft.Bcl.AsyncInterfaces.csproj" />
1717
</ItemGroup>
1818
</Project>

src/libraries/Microsoft.Bcl.TimeProvider/src/Microsoft.Bcl.TimeProvider.csproj

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,8 @@ System.TimeProvider
1414
System.ITimer</PackageDescription>
1515
<!-- This library uses IsPartialFacadeAssembly for which the compiler doesn't produce any XML documentation. -->
1616
<UseCompilerGeneratedDocXmlFile>false</UseCompilerGeneratedDocXmlFile>
17+
<GeneratePackageOnBuild>true</GeneratePackageOnBuild>
18+
<ServicingVersion>1</ServicingVersion>
1719
</PropertyGroup>
1820

1921
<PropertyGroup>
@@ -31,7 +33,7 @@ System.ITimer</PackageDescription>
3133
</ItemGroup>
3234

3335
<ItemGroup Condition="'$(IsPartialFacadeAssembly)' != 'true'">
34-
<PackageReference Include="Microsoft.Bcl.AsyncInterfaces" Version="$(MicrosoftBclAsyncInterfacesVersion)" />
36+
<ProjectReference Include="$(LibrariesProjectRoot)Microsoft.Bcl.AsyncInterfaces\src\Microsoft.Bcl.AsyncInterfaces.csproj" />
3537
</ItemGroup>
3638

3739
<ItemGroup Condition="'$(TargetFrameworkIdentifier)' == '.NETFramework'">

0 commit comments

Comments
 (0)