Skip to content

Commit 957aaac

Browse files
steveisokjkotas
andauthored
[cdac] Create transport package and rename the native cdac reader library (#114812)
This change adds new cdac transport packages that are built for Windows, MacOS, and Linux. Each package contains a host specific native cdac library that is meant to ride along with various diagnostics tools. The native library that is part of the transport package was renamed from 'cdacreader' to 'mscordaccore_universal'.   Contributes to #108720 --------- Co-authored-by: Jan Kotas <jkotas@microsoft.com>
1 parent 87bf42d commit 957aaac

File tree

245 files changed

+67
-33
lines changed

Some content is hidden

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

245 files changed

+67
-33
lines changed

Directory.Build.props

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -178,6 +178,7 @@
178178

179179
<PropertyGroup>
180180
<DotNetHostBinDir>$([MSBuild]::NormalizeDirectory('$(ArtifactsBinDir)', '$(OutputRID).$(HostConfiguration)', 'corehost'))</DotNetHostBinDir>
181+
<DotNetCDacBinDir>$([MSBuild]::NormalizeDirectory('$(ArtifactsBinDir)', 'mscordaccore_universal', '$(Configuration)', '$(NetCoreAppCurrent)', '$(OutputRID)', 'publish'))</DotNetCDacBinDir>
181182
</PropertyGroup>
182183

183184
<!--Feature switches -->

docs/project/glossary.md

Lines changed: 1 addition & 0 deletions

eng/Subsets.props

Lines changed: 14 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -135,7 +135,7 @@
135135
<!-- Respect the DotNetBuildTests product flag when building the product. -->
136136
<DefaultLibrariesSubsets Condition="'$(DotNetBuildTests)' == 'true'">$(DefaultLibrariesSubsets)+libs.tests</DefaultLibrariesSubsets>
137137

138-
<DefaultToolsSubsets>tools.illink+tools.cdacreader</DefaultToolsSubsets>
138+
<DefaultToolsSubsets>tools.illink+tools.cdac</DefaultToolsSubsets>
139139

140140
<DefaultHostSubsets>host.native+host.tools+host.pkg</DefaultHostSubsets>
141141
<DefaultHostSubsets Condition="'$(DotNetBuildSourceOnly)' != 'true'">$(DefaultHostSubsets)+host.pretest+host.tests</DefaultHostSubsets>
@@ -228,10 +228,9 @@
228228
<!-- Tools -->
229229
<SubsetName Include="Tools" Description="Additional runtime tools projects. Equivalent to: $(DefaultToolsSubsets)" />
230230
<SubsetName Include="Tools.ILLink" Description="The projects that produce illink and analyzer tools for trimming." />
231-
<SubsetName Include="Tools.CdacReader" Description="The cDAC reader." />
231+
<SubsetName Include="Tools.Cdac" Description="Diagnostic data contract reader and related projects." />
232232
<SubsetName Include="Tools.ILLinkTests" OnDemand="true" Description="Unit tests for the tools.illink subset." />
233-
234-
<SubsetName Include="Tools.CdacReaderTests" OnDemand="true" Description="Units tests for the cDAC reader." />
233+
<SubsetName Include="Tools.CdacTests" OnDemand="true" Description="Unit tests for the diagnostic data contract reader." />
235234

236235
<!-- Host -->
237236
<SubsetName Include="Host" Description="The .NET hosts, packages, hosting libraries, and tests. Equivalent to: $(DefaultHostSubsets)" />
@@ -313,7 +312,7 @@
313312
<ClrRuntimeBuildSubsets>$(ClrRuntimeBuildSubsets);ClrILToolsSubset=true</ClrRuntimeBuildSubsets>
314313
</PropertyGroup>
315314

316-
<PropertyGroup Condition="$(_subset.Contains('+tools.cdacreader+'))">
315+
<PropertyGroup Condition="$(_subset.Contains('+tools.cdac+'))">
317316
<ClrRuntimeBuildSubsets>$(ClrRuntimeBuildSubsets);ClrCdacSubset=true</ClrRuntimeBuildSubsets>
318317
</PropertyGroup>
319318

@@ -472,12 +471,16 @@
472471
Test="true" Category="clr" Condition="'$(DotNetBuildSourceOnly)' != 'true' and '$(NativeAotSupported)' == 'true'"/>
473472
</ItemGroup>
474473

475-
<ItemGroup Condition="$(_subset.Contains('+tools.cdacreader+'))">
474+
<PropertyGroup Condition="$(_subset.Contains('+tools.cdac+'))">
475+
<_CDacToolsBuilt Condition="'$(_CDacToolsBuilt)' != 'true'">true</_CDacToolsBuilt>
476+
</PropertyGroup>
477+
478+
<ItemGroup Condition="$(_subset.Contains('+tools.cdac+'))">
476479
<ProjectToBuild Include="$(SharedNativeRoot)managed\compile-native.proj" Category="tools" />
477480
</ItemGroup>
478481

479-
<ItemGroup Condition="$(_subset.Contains('+tools.cdacreadertests+'))">
480-
<ProjectToBuild Include="$(SharedNativeRoot)managed\cdacreader\tests\Microsoft.Diagnostics.DataContractReader.Tests.csproj" Test="true" Category="tools"/>
482+
<ItemGroup Condition="$(_subset.Contains('+tools.cdactests+'))">
483+
<ProjectToBuild Include="$(SharedNativeRoot)managed\cdac\tests\Microsoft.Diagnostics.DataContractReader.Tests.csproj" Test="true" Category="tools"/>
481484
</ItemGroup>
482485

483486
<ItemGroup Condition="$(_subset.Contains('+tools.illink+'))">
@@ -637,6 +640,8 @@
637640
<_BuildCoreCLRRuntimePack Condition="'$(RuntimeFlavor)' == 'CoreCLR' and '$(CoreCLRSupported)' == 'true'">true</_BuildCoreCLRRuntimePack>
638641
<_BuildMonoRuntimePack Condition="'$(RuntimeFlavor)' == 'Mono' and '$(MonoSupported)' == 'true'">true</_BuildMonoRuntimePack>
639642
<_BuildHostPack Condition="'$(RuntimeFlavor)' == '$(PrimaryRuntimeFlavor)' and '$(TargetsMobile)' != 'true'">true</_BuildHostPack>
643+
<_BuildCDacPack Condition="'$(_CDacToolsBuilt)' == 'true' and '$(RuntimeFlavor)' == 'CoreCLR' and '$(TargetsMobile)' != 'true' and '$(TargetsLinuxMusl)' != 'true' and ('$(TargetOS)' == 'windows' or '$(TargetOS)' == 'osx' or '$(TargetOS)' == 'linux')">true</_BuildCDacPack>
644+
<_BuildCDacPack Condition="'$(DotNetBuildSourceOnly)' == 'true' or '$(TargetArchitecture)' == 'arm' or '$(TargetArchitecture)' == 'armel' or '$(TargetArchitecture)' == 'x86' or '$(TargetArchitecture)' == 'riscv64'">false</_BuildCDacPack>
640645
<_BuildBundle Condition="'$(RuntimeFlavor)' == '$(PrimaryRuntimeFlavor)' and '$(TargetsMobile)' != 'true'">true</_BuildBundle>
641646
</PropertyGroup>
642647

@@ -669,6 +674,7 @@
669674
</ItemGroup>
670675
<ItemGroup>
671676
<ProjectToBuild Condition="'$(NativeAotSupported)' == 'true' and '$(RuntimeFlavor)' != 'Mono' and '$(TargetsMobile)' != 'true' and '$(TargetsLinuxBionic)' != 'true'" Include="$(InstallerProjectRoot)\pkg\projects\nativeaot-packages.proj" Category="packs" />
677+
<ProjectToBuild Condition="'$(_BuildCDacPack)' == 'true'" Include="$(InstallerProjectRoot)pkg\projects\cdac-packages.proj" Category="packs" />
672678
</ItemGroup>
673679
<ItemGroup>
674680
<!--

eng/liveBuilds.targets

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -124,7 +124,7 @@
124124
</CoreCLRCrossTargetFiles>
125125
</ItemGroup>
126126
<ItemGroup Condition="'$(RuntimeFlavor)' == 'Mono'">
127-
<RuntimeFiles Include="$(MonoArtifactsPath)\*.*" Exclude="$(MonoArtifactsPath)\*cdacreader*" />
127+
<RuntimeFiles Include="$(MonoArtifactsPath)\*.*" Exclude="$(MonoArtifactsPath)\*cdac*" />
128128
<RuntimeFiles>
129129
<IsNative>true</IsNative>
130130
</RuntimeFiles>

eng/pipelines/common/evaluate-default-paths.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -161,9 +161,9 @@ jobs:
161161
- src/coreclr/tools/ILVerification/*
162162
- global.json
163163

164-
- subset: tools_cdacreader
164+
- subset: tools_cdac
165165
include:
166-
- src/native/managed/cdacreader/*
166+
- src/native/managed/cdac/*
167167

168168
- subset: installer
169169
include:

eng/pipelines/runtime-diagnostics.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,7 @@ extends:
4141
platforms:
4242
- windows_x64
4343
jobParameters:
44-
buildArgs: -s clr+libs+tools.cdacreader+host+packs -c $(_BuildConfig)
44+
buildArgs: -s clr+libs+tools.cdac+host+packs -c $(_BuildConfig)
4545
nameSuffix: AllSubsets_CoreCLR
4646
isOfficialBuild: ${{ variables.isOfficialBuild }}
4747
timeoutInMinutes: 360

eng/pipelines/runtime.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -695,15 +695,15 @@ extends:
695695
jobParameters:
696696
timeoutInMinutes: 120
697697
nameSuffix: CLR_Tools_Tests
698-
buildArgs: -s clr.aot+clr.iltools+libs.sfx+clr.toolstests+tools.cdacreader+tools.cdacreadertests -c $(_BuildConfig) -test
698+
buildArgs: -s clr.aot+clr.iltools+libs.sfx+clr.toolstests+tools.cdac+tools.cdactests -c $(_BuildConfig) -test
699699
enablePublishTestResults: true
700700
testResultsFormat: 'xunit'
701701
# We want to run AOT tests when illink changes because there's share code and tests from illink which are used by AOT
702702
condition: >-
703703
or(
704704
eq(stageDependencies.EvaluatePaths.evaluate_paths.outputs['SetPathVars_coreclr.containsChange'], true),
705705
eq(stageDependencies.EvaluatePaths.evaluate_paths.outputs['SetPathVars_tools_illink.containsChange'], true),
706-
eq(stageDependencies.EvaluatePaths.evaluate_paths.outputs['SetPathVars_tools_cdacreader.containsChange'], true),
706+
eq(stageDependencies.EvaluatePaths.evaluate_paths.outputs['SetPathVars_tools_cdac.containsChange'], true),
707707
eq(variables['isRollingBuild'], true))
708708
#
709709
# Build CrossDacs

src/coreclr/debug/daccess/CMakeLists.txt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
add_definitions(-DFEATURE_NO_HOST)
22

3-
add_subdirectory(${CLR_SRC_NATIVE_DIR}/managed/cdacreader/cmake ${CLR_ARTIFACTS_OBJ_DIR}/cdacreader)
3+
add_subdirectory(${CLR_SRC_NATIVE_DIR}/managed/cdac/cmake ${CLR_ARTIFACTS_OBJ_DIR}/mscordaccore_universal)
44

55
include_directories(BEFORE ${VM_DIR})
66
include_directories(BEFORE ${VM_DIR}/${ARCH_SOURCES_DIR})
@@ -43,7 +43,7 @@ convert_to_absolute_path(DACCESS_SOURCES ${DACCESS_SOURCES})
4343
add_library_clr(daccess ${DACCESS_SOURCES})
4444
set_target_properties(daccess PROPERTIES DAC_COMPONENT TRUE)
4545
target_precompile_headers(daccess PRIVATE [["stdafx.h"]])
46-
target_link_libraries(daccess PRIVATE cdacreader_api)
46+
target_link_libraries(daccess PRIVATE cdac_api)
4747

4848
add_dependencies(daccess eventing_headers)
4949

src/coreclr/debug/daccess/cdac.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,13 +7,13 @@
77
#include "dbgutil.h"
88
#include <cdac_reader.h>
99

10-
#define CDAC_LIB_NAME MAKEDLLNAME_W(W("cdacreader"))
10+
#define CDAC_LIB_NAME MAKEDLLNAME_W(W("mscordaccore_universal"))
1111

1212
namespace
1313
{
1414
bool TryLoadCDACLibrary(HMODULE *phCDAC)
1515
{
16-
// Load cdacreader from next to current module (DAC binary)
16+
// Load cdac from next to current module (DAC binary)
1717
PathString path;
1818
if (WszGetModuleFileName((HMODULE)GetCurrentModuleBase(), path) == 0)
1919
return false;

src/coreclr/debug/daccess/dacimpl.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1417,7 +1417,7 @@ class ClrDataAccess
14171417
ULONG32 m_instanceAge;
14181418
bool m_debugMode;
14191419

1420-
// This currently exists on the DAC as a way of managing lifetime of loading/freeing the cdacreader
1420+
// This currently exists on the DAC as a way of managing lifetime of loading/freeing the cdac
14211421
// TODO: [cdac] Remove when cDAC deploys with SOS - https://github.com/dotnet/runtime/issues/108720
14221422
CDAC m_cdac;
14231423

0 commit comments

Comments
 (0)