Skip to content

Commit a6fc6ad

Browse files
authored
Add riscv64 managed unwinder for cDAC (#117436)
1 parent 0e34ec9 commit a6fc6ad

File tree

15 files changed

+974
-21
lines changed

15 files changed

+974
-21
lines changed

eng/Subsets.props

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -660,8 +660,8 @@
660660
<_BuildMonoRuntimePack Condition="'$(RuntimeFlavor)' == 'Mono' and '$(MonoSupported)' == 'true'">true</_BuildMonoRuntimePack>
661661
<_BuildHostPack Condition="'$(RuntimeFlavor)' == '$(PrimaryRuntimeFlavor)' and '$(TargetsMobile)' != 'true'">true</_BuildHostPack>
662662
<_BuildCdacPack Condition="'$(_CDacToolsBuilt)' == 'true' and '$(RuntimeFlavor)' == 'CoreCLR' and '$(TargetsMobile)' != 'true' and ('$(TargetOS)' == 'windows' or '$(TargetOS)' == 'osx' or '$(TargetOS)' == 'linux')">true</_BuildCdacPack>
663-
<!-- Some source build configurations and musl need to work out packaging errors before they can be enabled -->
664-
<_BuildCdacPack Condition="'$(DotNetBuildSourceOnly)' == 'true' or '$(TargetsLinuxMusl)' == 'true' or '$(TargetArchitecture)' == 'loongarch64' or '$(TargetArchitecture)' == 'riscv64'">false</_BuildCdacPack>
663+
<!-- Some configurations need to work out packaging errors before they can be enabled -->
664+
<_BuildCdacPack Condition="'$(TargetArchitecture)' == 'loongarch64'">false</_BuildCdacPack>
665665
<_BuildBundle Condition="'$(RuntimeFlavor)' == '$(PrimaryRuntimeFlavor)' and '$(TargetsMobile)' != 'true'">true</_BuildBundle>
666666
</PropertyGroup>
667667

eng/liveILLink.targets

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,8 @@
3333
ReferenceOutputAssembly="false"
3434
PrivateAssets="all"
3535
Private="false"
36-
SetConfiguration="Configuration=$(ToolsConfiguration)">
36+
SetConfiguration="Configuration=$(ToolsConfiguration)"
37+
GlobalPropertiesToRemove="RuntimeIdentifier">
3738
<!-- Keep TFMs in sync with ILLink.Tasks.csproj -->
3839
<SetTargetFramework Condition="'$(MSBuildRuntimeType)' == 'Core'">TargetFramework=$(NetCoreAppToolCurrent)</SetTargetFramework>
3940
<SetTargetFramework Condition="'$(MSBuildRuntimeType)' != 'Core'">TargetFramework=$(NetFrameworkToolCurrent)</SetTargetFramework>

eng/pipelines/runtime.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -532,7 +532,7 @@ extends:
532532
jobParameters:
533533
testScope: innerloop
534534
nameSuffix: CoreCLR_Bootstrapped
535-
buildArgs: -s clr+libs+host+packs -c $(_BuildConfig) -rc Checked --bootstrap
535+
buildArgs: -s clr+libs+host+packs+tools.cdac -c $(_BuildConfig) -rc Checked --bootstrap
536536
timeoutInMinutes: 120
537537
condition: >-
538538
or(
Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,6 @@
11
<Project>
2-
<Import Project=".\native-library.targets" Condition="'$(IsSourceProject)' == 'true' and '$(Language)' == 'C#'" />
3-
<Import Project="..\..\..\Directory.Build.targets" />
2+
<Import Project=".\native-library.targets" Condition="'$(IsSourceProject)' == 'true' and '$(Language)' == 'C#'" />
3+
<Import Project="..\..\..\Directory.Build.targets" />
4+
<Import Project="$(RepositoryEngineeringDir)targetingpacks.targets" Condition="'$(UseBootstrapLayout)' == 'true'" />
5+
<Import Project="$(RepositoryEngineeringDir)liveILLink.targets" Condition="'$(UseBootstrapLayout)' == 'true'" />
46
</Project>

src/native/managed/cdac/Microsoft.Diagnostics.DataContractReader.Contracts/Contracts/StackWalk/Context/IPlatformAgnosticContext.cs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,7 @@ public static IPlatformAgnosticContext GetContextForPlatform(Target target)
3232
RuntimeInfoArchitecture.X64 => new ContextHolder<AMD64Context>(),
3333
RuntimeInfoArchitecture.Arm => new ContextHolder<ARMContext>(),
3434
RuntimeInfoArchitecture.Arm64 => new ContextHolder<ARM64Context>(),
35+
RuntimeInfoArchitecture.RiscV64 => new ContextHolder<RISCV64Context>(),
3536
RuntimeInfoArchitecture.Unknown => throw new InvalidOperationException($"Processor architecture is required for creating a platform specific context and is not provided by the target"),
3637
_ => throw new InvalidOperationException($"Unsupported architecture {runtimeInfo.GetTargetArchitecture()}"),
3738
};

0 commit comments

Comments
 (0)