-
Notifications
You must be signed in to change notification settings - Fork 4.8k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[RISC-V] Update TODOs for RiscV64 Machine and Architecture in Crossgen2 #97021
[RISC-V] Update TODOs for RiscV64 Machine and Architecture in Crossgen2 #97021
Conversation
If you don't mind, please set to draft before #95980 is merged. |
#95980 is merged, I think you can rebase and re-open for review. |
@am11 After rebasing to the current main and installing the new dotnet-sdk-9.0.100-alpha.1.23615.4, I got the following errors:
What would cause it and what can be done to fix it? |
Normally it would mean to update System.Reflection.Metadata version here: Line 131 in 86f25ad
to something like: 9.0.0-alpha.1.24064.3 (which we are using in that file). However, this package, in particular, had required some coordination with other teams in the past: dotnet/arcade#10516. Not sure if that coordination is still needed, since sdk is using 8.0 while runtime is at 7.0, and code flow is working fine. @ViktorHofer, thoughts on updating S.R.M to latest alpha?
|
|
Ops sorry, the more relevant version is hardcoded to 6.0 here: runtime/src/installer/managed/Microsoft.NET.HostModel/Microsoft.NET.HostModel.csproj Lines 22 to 24 in 86f25ad
@ashaurtaev, could you push the change with |
Which component needs a 9.0 version of SRM? If it's internal then that component might be better off using the live build of SRM. Regardless, the HostModel version SRM version and others that are hardcoded should probably be updated to 8.0.0. |
abfb512
to
1b0a3d5
Compare
@am11 I pushed the commit with an updated version of |
Not quite sure what you're looking for here from us. |
We noticed that some components like Microsoft.NET.HostModel are still on an older SRM: runtime/src/installer/managed/Microsoft.NET.HostModel/Microsoft.NET.HostModel.csproj Lines 22 to 24 in 86f25ad
Is it important that we version consistently together? Based on HostModel which has been using 6.0.0 for two years now, I guess not. I assume we just can go higher but lower is fine? |
Hard for me to say cause I don't really know what that component is or what it does here. |
eng/Versions.props
Outdated
@@ -128,7 +128,7 @@ | |||
<SystemDrawingCommonVersion>8.0.0</SystemDrawingCommonVersion> | |||
<SystemIOFileSystemAccessControlVersion>5.0.0</SystemIOFileSystemAccessControlVersion> | |||
<SystemMemoryVersion>4.5.5</SystemMemoryVersion> | |||
<SystemReflectionMetadataVersion>7.0.0</SystemReflectionMetadataVersion> | |||
<SystemReflectionMetadataVersion>9.0.0-alpha.1.24064.3</SystemReflectionMetadataVersion> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Same version for SystemCollectionsImmutableVersion
on line 125.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thank you! I changed the version for SystemCollectionsImmutableVersion
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Could you apply this patch:
diff --git a/eng/Versions.props b/eng/Versions.props
index 9eafadc95df..5a46bfb7ad2 100644
--- a/eng/Versions.props
+++ b/eng/Versions.props
@@ -122,13 +122,14 @@
<MicrosoftWin32RegistryVersion>5.0.0</MicrosoftWin32RegistryVersion>
<StyleCopAnalyzersVersion>1.2.0-beta.507</StyleCopAnalyzersVersion>
<SystemBuffersVersion>4.5.1</SystemBuffersVersion>
- <SystemCollectionsImmutableVersion>9.0.0-alpha.1.24064.3</SystemCollectionsImmutableVersion>
+ <SystemCollectionsImmutableVersion>7.0.0</SystemCollectionsImmutableVersion>
<SystemComponentModelAnnotationsVersion>5.0.0</SystemComponentModelAnnotationsVersion>
<SystemDataSqlClientVersion>4.8.5</SystemDataSqlClientVersion>
<SystemDrawingCommonVersion>8.0.0</SystemDrawingCommonVersion>
<SystemIOFileSystemAccessControlVersion>5.0.0</SystemIOFileSystemAccessControlVersion>
<SystemMemoryVersion>4.5.5</SystemMemoryVersion>
<SystemReflectionMetadataVersion>9.0.0-alpha.1.24064.3</SystemReflectionMetadataVersion>
+ <SystemReflectionMetadata_CrossRepoSync_Version>7.0.0</SystemReflectionMetadata_CrossRepoSync_Version>
<SystemSecurityAccessControlVersion>6.0.0</SystemSecurityAccessControlVersion>
<SystemSecurityCryptographyCngVersion>5.0.0</SystemSecurityCryptographyCngVersion>
<SystemSecurityCryptographyOpenSslVersion>5.0.0</SystemSecurityCryptographyOpenSslVersion>
diff --git a/src/installer/managed/Microsoft.NET.HostModel/Microsoft.NET.HostModel.csproj b/src/installer/managed/Microsoft.NET.HostModel/Microsoft.NET.HostModel.csproj
index cdd3751e3c2..89f6f938536 100644
--- a/src/installer/managed/Microsoft.NET.HostModel/Microsoft.NET.HostModel.csproj
+++ b/src/installer/managed/Microsoft.NET.HostModel/Microsoft.NET.HostModel.csproj
@@ -20,7 +20,7 @@
<ItemGroup>
<!-- we need to keep the version of System.Reflection.Metadata in sync with dotnet/msbuild and dotnet/sdk -->
- <PackageReference Include="System.Reflection.Metadata" Version="6.0.0" />
+ <PackageReference Include="System.Reflection.Metadata" Version="$(SystemReflectionMetadata_CrossRepoSync_Version)" />
<PackageReference Include="System.Text.Json" Version="$(SystemTextJsonVersion)" />
</ItemGroup>
diff --git a/src/tasks/Microsoft.NET.WebAssembly.Webcil/Microsoft.NET.WebAssembly.Webcil.csproj b/src/tasks/Microsoft.NET.WebAssembly.Webcil/Microsoft.NET.WebAssembly.Webcil.csproj
index d09ae4a569a..677f9dc6150 100644
--- a/src/tasks/Microsoft.NET.WebAssembly.Webcil/Microsoft.NET.WebAssembly.Webcil.csproj
+++ b/src/tasks/Microsoft.NET.WebAssembly.Webcil/Microsoft.NET.WebAssembly.Webcil.csproj
@@ -17,7 +17,7 @@
<ItemGroup>
<!-- we need to keep the version of System.Reflection.Metadata in sync with dotnet/msbuild and dotnet/sdk -->
<PackageReference Include="System.Memory" Version="$(SystemMemoryVersion)" />
- <PackageReference Include="System.Reflection.Metadata" Version="$(SystemReflectionMetadataVersion)" />
+ <PackageReference Include="System.Reflection.Metadata" Version="$(SystemReflectionMetadata_CrossRepoSync_Version)" />
<PackageReference Include="System.Collections.Immutable" Version="$(SystemCollectionsImmutableVersion)" />
</ItemGroup>
I think this will resolve @ViktorHofer's concern.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Don't you need the latest SCI anymore? nit consider SystemReflectionMetadataToolsetVersion
over SystemReflectionMetadata_CrossRepoSync_Version
as the property name.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Don't you need the latest SCI anymore?
it is only needed by wasm project. Perhaps other consumers of the package would benefit if it’s decoupled as well? (can be done in a separate PR)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Extracted these changes in a separate PR: #97643. @ashaurtaev if that one gets merged first, you can undo the changes here:
git checkout HEAD~3 -- ':/eng'
and merge upstream main.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thank you! I'll wait for your PR to be merged and then rebase my PR
@am11 there might be dragons, i.e. runtime/src/tasks/Microsoft.NET.WebAssembly.Webcil/Microsoft.NET.WebAssembly.Webcil.csproj Lines 18 to 21 in 48ae7e1
I'm not sure if bumping the centrally defined version is the right thing to do. |
Yes, we can pin it the other way around (for now ™️); use 9.0-alpha in ILCompiler.Reflection.ReadyToRun.csproj instead. Maybe we should add something like |
Yes I think that would be good. Would you mind opening an issue to track that? |
The relevant build scenario is:
I think if everything in the SDK references a 9.0 version it'll be fine, the problems come up when, for example, HostModel is old or has a stale reference. |
#97021 (comment) I think this will address @ViktorHofer's concern, and unblock this PR. |
30c1618
to
73800e9
Compare
Runtime build for riscv64 completed successfully |
@am11 @ViktorHofer Please take a look at this pr since #97643 has been merged |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'm not the right person to review this change since it touches runtime and the ILCompiler. cc @jkotas @MichalStrehovsky
Should it be |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks
Part of #96438
cc @wscho77 @HJLeee @clamp03 @JongHeonChoi @t-mustafin @gbalykov @yurai007 @sirntar @tomeksowi @Bajtazar @brucehoult
Merge after #95980