-
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
[LoongArch64] add crossgen2 for LoongArch64. #72017
Conversation
The @dgrunwald is that still required? I see that the |
The decompiler itself is still .NET Standard 2.0, but that doesn't need ReadyToRun. Everything else in ILSpy should be using .NET 6. |
OK, that's great. @shushanhf if you change <Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<AssemblyName>ILCompiler.Reflection.ReadyToRun</AssemblyName>
<AssemblyVersion>1.0.0.0</AssemblyVersion>
<AllowUnsafeBlocks>true</AllowUnsafeBlocks>
<OutputType>Library</OutputType>
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
<AssemblyKey>Open</AssemblyKey>
<IsDotNetFrameworkProductAssembly>true</IsDotNetFrameworkProductAssembly>
- <!-- ILSpy requires this assembly to target netstandard2.0 -->
+ <!-- ILSpy requires this assembly to target net6.0 -->
- <TargetFramework>netstandard2.0</TargetFramework>
+ <TargetFramework>net6.0</TargetFramework>
<CLSCompliant>false</CLSCompliant>
<NoWarn>8002,NU1701</NoWarn>
<RuntimeIdentifiers>win-x64;win-x86</RuntimeIdentifiers>
<OutputPath>$(RuntimeBinDir)</OutputPath>
<Platforms>AnyCPU;x64</Platforms>
<PlatformTarget>AnyCPU</PlatformTarget>
</PropertyGroup>
- <ItemGroup>
- <PackageReference Include="System.Reflection.Metadata" Version="$(SystemReflectionMetadataVersion)" />
- <PackageReference Include="System.Runtime.CompilerServices.Unsafe" Version="6.0.0" />
- </ItemGroup>
-
<ItemGroup>
<Compile Include="..\..\Common\Internal\Runtime\CorConstants.cs" Link="Common\CorConstants.cs" />
<Compile Include="..\..\Common\Internal\Runtime\ModuleHeaders.cs" Link="Common\ModuleHeaders.cs" />
<Compile Include="..\..\Common\Internal\Runtime\ReadyToRunConstants.cs" Link="Common\ReadyToRunConstants.cs" />
<Compile Include="..\..\Common\Internal\Runtime\ReadyToRunInstructionSet.cs" Link="Common\ReadyToRunInstructionSet.cs" />
<Compile Include="..\..\Common\Pgo\PgoFormat.cs" Link="Common\PgoFormat.cs" />
</ItemGroup>
</Project> |
Thanks very much! |
Hi, @dgrunwald @teo-tsirpanis If I update it to net7.0 liking @@ -8,7 +8,7 @@
<AssemblyKey>Open</AssemblyKey>
<IsDotNetFrameworkProductAssembly>true</IsDotNetFrameworkProductAssembly>
<!-- ILSpy requires this assembly to target net6.0 -->
- <TargetFramework>net6.0</TargetFramework>
+ <TargetFramework>net7.0</TargetFramework>
<CLSCompliant>false</CLSCompliant>
<NoWarn>8002,NU1701</NoWarn>
<RuntimeIdentifiers>win-x64;win-x86</RuntimeIdentifiers> This There will be a new error after the Product binaries are available at /home/qiao/runtime/artifacts/bin/coreclr/Linux.x64.Debug runincontext -> /home/qiao/runtime/artifacts/bin/coreclr/Linux.x64.Debug/runincontext.dll tieringtest -> /home/qiao/runtime/artifacts/bin/coreclr/Linux.x64.Debug/tieringtest.dll ILCompiler.TypeSystem -> /home/qiao/runtime/artifacts/bin/ILCompiler.TypeSystem/x64/Debug/ILCompiler.TypeSystem.dll ILCompiler.Diagnostics -> /home/qiao/runtime/artifacts/bin/ILCompiler.Diagnostics/x64/Debug/ILCompiler.Diagnostics.dll ILCompiler.Reflection.ReadyToRun -> /home/qiao/runtime/artifacts/bin/coreclr/Linux.x64.Debug/ILCompiler.Reflection.ReadyToRun.dll R2RDump -> /home/qiao/runtime/artifacts/bin/coreclr/Linux.x64.Debug/R2RDump/R2RDump.dll dotnet-pgo -> /home/qiao/runtime/artifacts/bin/coreclr/Linux.x64.Debug/dotnet-pgo/dotnet-pgo.dll repro -> /home/qiao/runtime/artifacts/bin/repro/x64/Debug/repro.dll R2RTest -> /home/qiao/runtime/artifacts/bin/coreclr/Linux.x64.Debug/R2RTest/R2RTest.dll ILCompiler.DependencyAnalysisFramework -> /home/qiao/runtime/artifacts/bin/ILCompiler.DependencyAnalysisFramework/x64/Debug/ILCompiler.DependencyAnalysisFramework.dll ILCompiler.ReadyToRun -> /home/qiao/runtime/artifacts/bin/ILCompiler.ReadyToRun/x64/Debug/ILCompiler.ReadyToRun.dll crossgen2 -> /home/qiao/runtime/artifacts/bin/coreclr/Linux.x64.Debug/crossgen2/crossgen2.dll ILCompiler.Build.Tasks -> /home/qiao/runtime/artifacts/bin/coreclr/Linux.x64.Debug/ilc/netstandard/ILCompiler.Build.Tasks.dll ILCompiler.MetadataTransform -> /home/qiao/runtime/artifacts/bin/ILCompiler.MetadataTransform/x64/Debug/ILCompiler.MetadataTransform.dll /home/qiao/runtime/src/coreclr/tools/Common/Compiler/DependencyAnalysis/AssemblyStubNode.cs(87,67): error CS0246: 未能找到类型或命名空间名“LoongArch64”(是否缺少 using 指令或程序集引用?) [/home/qiao/runtime/src/coreclr/tools/aot/ILCompiler.Compiler/ILCompiler.Compiler.csproj] /home/qiao/runtime/src/coreclr/tools/aot/ILCompiler.Compiler/Compiler/DependencyAnalysis/Target_ARM64/ARM64TentativeMethodNode.cs(8,26): error CS0534: “TentativeMethodNode”不实现继承的抽象成员“AssemblyStubNode.EmitCode(NodeFactory, ref LoongArch64.LoongArch64Emitter, bool)” [/home/qiao/runtime/src/coreclr/tools/aot/ILCompiler.Compiler/ILCompiler.Compiler.csproj] /home/qiao/runtime/src/coreclr/tools/aot/ILCompiler.Compiler/Compiler/DependencyAnalysis/ReadyToRunGenericHelperNode.cs(315,26): error CS0534: “ReadyToRunGenericLookupFromDictionaryNode”不实现继承的抽象成员“AssemblyStubNode.EmitCode(NodeFactory, ref LoongArch64.LoongArch64Emitter, bool)” [/home/qiao/runtime/src/coreclr/tools/aot/ILCompiler.Compiler/ILCompiler.Compiler.csproj] /home/qiao/runtime/src/coreclr/tools/aot/ILCompiler.Compiler/Compiler/DependencyAnalysis/ReadyToRunGenericHelperNode.cs(337,26): error CS0534: “ReadyToRunGenericLookupFromTypeNode”不实现继承的抽象成员“AssemblyStubNode.EmitCode(NodeFactory, ref LoongArch64.LoongArch64Emitter, bool)” [/home/qiao/runtime/src/coreclr/tools/aot/ILCompiler.Compiler/ILCompiler.Compiler.csproj] /home/qiao/runtime/src/coreclr/tools/aot/ILCompiler.Compiler/Compiler/DependencyAnalysis/Target_ARM/ARMInitialInterfaceDispatchStubNode.cs(20,26): error CS0534: “InitialInterfaceDispatchStubNode”不实现继承的抽象成员“AssemblyStubNode.EmitCode(NodeFactory, ref LoongArch64.LoongArch64Emitter, bool)” [/home/qiao/runtime/src/coreclr/tools/aot/ILCompiler.Compiler/ILCompiler.Compiler.csproj] /home/qiao/runtime/src/coreclr/tools/aot/ILCompiler.Compiler/Compiler/DependencyAnalysis/ReadyToRunHelperNode.cs(46,26): error CS0534: “ReadyToRunHelperNode”不实现继承的抽象成员“AssemblyStubNode.EmitCode(NodeFactory, ref LoongArch64.LoongArch64Emitter, bool)” [/home/qiao/runtime/src/coreclr/tools/aot/ILCompiler.Compiler/ILCompiler.Compiler.csproj] /home/qiao/runtime/src/coreclr/tools/aot/ILCompiler.Compiler/Compiler/DependencyAnalysis/Target_X64/X64UnboxingStubNode.cs(8,26): error CS0534: “UnboxingStubNode”不实现继承的抽象成员“AssemblyStubNode.EmitCode(NodeFactory, ref LoongArch64.LoongArch64Emitter, bool)” [/home/qiao/runtime/src/coreclr/tools/aot/ILCompiler.Compiler/ILCompiler.Compiler.csproj] 生成失败。 /home/qiao/runtime/src/coreclr/tools/Common/Compiler/DependencyAnalysis/AssemblyStubNode.cs(87,67): error CS0246: 未能找到类型或命名空间名“LoongArch64”(是否缺少 using 指令或程序集引用?) [/home/qiao/runtime/src/coreclr/tools/aot/ILCompiler.Compiler/ILCompiler.Compiler.csproj] /home/qiao/runtime/src/coreclr/tools/aot/ILCompiler.Compiler/Compiler/DependencyAnalysis/Target_ARM64/ARM64TentativeMethodNode.cs(8,26): error CS0534: “TentativeMethodNode”不实现继承的抽象成员“AssemblyStubNode.EmitCode(NodeFactory, ref LoongArch64.LoongArch64Emitter, bool)” [/home/qiao/runtime/src/coreclr/tools/aot/ILCompiler.Compiler/ILCompiler.Compiler.csproj] /home/qiao/runtime/src/coreclr/tools/aot/ILCompiler.Compiler/Compiler/DependencyAnalysis/ReadyToRunGenericHelperNode.cs(315,26): error CS0534: “ReadyToRunGenericLookupFromDictionaryNode”不实现继承的抽象成员“AssemblyStubNode.EmitCode(NodeFactory, ref LoongArch64.LoongArch64Emitter, bool)” [/home/qiao/runtime/src/coreclr/tools/aot/ILCompiler.Compiler/ILCompiler.Compiler.csproj] /home/qiao/runtime/src/coreclr/tools/aot/ILCompiler.Compiler/Compiler/DependencyAnalysis/ReadyToRunGenericHelperNode.cs(337,26): error CS0534: “ReadyToRunGenericLookupFromTypeNode”不实现继承的抽象成员“AssemblyStubNode.EmitCode(NodeFactory, ref LoongArch64.LoongArch64Emitter, bool)” [/home/qiao/runtime/src/coreclr/tools/aot/ILCompiler.Compiler/ILCompiler.Compiler.csproj] /home/qiao/runtime/src/coreclr/tools/aot/ILCompiler.Compiler/Compiler/DependencyAnalysis/Target_ARM/ARMInitialInterfaceDispatchStubNode.cs(20,26): error CS0534: “InitialInterfaceDispatchStubNode”不实现继承的抽象成员“AssemblyStubNode.EmitCode(NodeFactory, ref LoongArch64.LoongArch64Emitter, bool)” [/home/qiao/runtime/src/coreclr/tools/aot/ILCompiler.Compiler/ILCompiler.Compiler.csproj] /home/qiao/runtime/src/coreclr/tools/aot/ILCompiler.Compiler/Compiler/DependencyAnalysis/ReadyToRunHelperNode.cs(46,26): error CS0534: “ReadyToRunHelperNode”不实现继承的抽象成员“AssemblyStubNode.EmitCode(NodeFactory, ref LoongArch64.LoongArch64Emitter, bool)” [/home/qiao/runtime/src/coreclr/tools/aot/ILCompiler.Compiler/ILCompiler.Compiler.csproj] /home/qiao/runtime/src/coreclr/tools/aot/ILCompiler.Compiler/Compiler/DependencyAnalysis/Target_X64/X64UnboxingStubNode.cs(8,26): error CS0534: “UnboxingStubNode”不实现继承的抽象成员“AssemblyStubNode.EmitCode(NodeFactory, ref LoongArch64.LoongArch64Emitter, bool)” [/home/qiao/runtime/src/coreclr/tools/aot/ILCompiler.Compiler/ILCompiler.Compiler.csproj] 0 个警告 7 个错误 已用时间 00:00:13.24 I think there are still some other |
I will update another patch to add new |
I had updated the patches. |
Hi, @jkotas |
src/coreclr/tools/aot/ILCompiler.Reflection.ReadyToRun/ILCompiler.Reflection.ReadyToRun.csproj
Outdated
Show resolved
Hide resolved
@shushanhf Since the initial build error for
If that works, it might be a much easier route forward. |
…t6.0`" This reverts commit 08bed02.
@cshung |
This is part of the issue #69705 to amend the LA's port.
Although I had compiled the
crossgen2.csproj
on x64-linux, there is still some other errors when building by./build.sh clr
The version of the SDK is liking
How to resolve this error for supporting
Machine.LoongArch64
.