Skip to content
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 4 additions & 0 deletions src/coreclr/binder/assemblybindercommon.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -164,6 +164,8 @@ namespace BINDER_SPACE
*PeKind = peARM64;
else if (dwImageType == IMAGE_FILE_MACHINE_AMD64)
*PeKind = peAMD64;
else if (dwImageType == IMAGE_FILE_MACHINE_LOONGARCH64)
*PeKind = peLOONGARCH64;
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is for windows only (PE+ is windows executable binary format, like ELF and MACHO).

Suggested change
else if (dwImageType == IMAGE_FILE_MACHINE_LOONGARCH64)
*PeKind = peLOONGARCH64;

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@am11 Thank you for your suggestion.
When I use the - p: PublicSingleFile=true - p: SelfContained=true - p: PublicReadyToRun=true parameter to publish a Hello World single file and then execute it, I encounter the following problem:
liuan@liuan-pc:~/dotnet3/hello$ ./bin/release/net9.0/linux-loongarch64/publish/hello Failed to load System.Private.CoreLib.dll (error code 0x8007000B) Path: /home/liuan/dotnet3/hello/bin/release/net9.0/linux-loongarch64/publish/System.Private.CoreLib.dll Error message: Could not load file or assembly '/home/liuan/dotnet3/hello/bin/release/net9.0/linux-loongarch64/publish/System.Private.CoreLib.dll'. An attempt was made to load a program with an incorrect format. (0x8007000B) Failed to create CoreCLR, HRESULT: 0x8007000B
Then I debugged and found that when loading the SPC.dll assembly, the code ended up at this point.

135	        DWORD dwImageType = pdwPAFlags[1];
(gdb) bt
#0  BINDER_SPACE::AssemblyBinderCommon::TranslatePEToArchitectureType (pdwPAFlags=0xffffff53a8, PeKind=0xffffff5134)
    at /home/liuan/project/dotnet-runtime-loongarch/src/coreclr/binder/assemblybindercommon.cpp:135
#1  0x000000aaab2092cc in BINDER_SPACE::AssemblyName::Init (this=0xaaab6a2890, pPEImage=<optimized out>)
    at /home/liuan/project/dotnet-runtime-loongarch/src/coreclr/binder/assemblyname.cpp:63
#2  0x000000aaab20325c in BINDER_SPACE::Assembly::Init (this=0xaaab6eab00, pPEImage=0xaaab6a2a10, fIsInTPA=1)
    at /home/liuan/project/dotnet-runtime-loongarch/src/coreclr/binder/assembly.cpp:44
#3  0x000000aaab205008 in BINDER_SPACE::AssemblyBinderCommon::GetAssembly (assemblyPath=..., fIsInTPA=1, ppAssembly=0xffffff55c8, bundleFileLocation=...)
    at /home/liuan/project/dotnet-runtime-loongarch/src/coreclr/binder/assemblybindercommon.cpp:1020
#4  0x000000aaab2042b4 in BINDER_SPACE::AssemblyBinderCommon::BindToSystem (systemDirectory=..., ppSystemAssembly=0xffffff5eb8)
    at /home/liuan/project/dotnet-runtime-loongarch/src/coreclr/binder/assemblybindercommon.cpp:282
#5  0x000000aaab20d16c in DefaultAssemblyBinder::BindToSystem (this=0xaaab6a0f10, ppSystemAssembly=0xffffff6168)
    at /home/liuan/project/dotnet-runtime-loongarch/src/coreclr/binder/defaultassemblybinder.cpp:199
#6  0x000000aaaaebc724 in PEAssembly::DoOpenSystem () at /home/liuan/project/dotnet-runtime-loongarch/src/coreclr/vm/peassembly.cpp:829
#7  0x000000aaaaebc49c in PEAssembly::OpenSystem () at /home/liuan/project/dotnet-runtime-loongarch/src/coreclr/vm/peassembly.cpp:801
#8  0x000000aaaadeec4c in SystemDomain::LoadBaseSystemClasses (this=0xaaab6217e0 <g_pSystemDomainMemory>) at /home/liuan/project/dotnet-runtime-loongarch/src/coreclr/vm/appdomain.cpp:1163
#9  0x000000aaaadee854 in SystemDomain::Init (this=0xaaab6217e0 <g_pSystemDomainMemory>) at /home/liuan/project/dotnet-runtime-loongarch/src/coreclr/vm/appdomain.cpp:1028
#10 0x000000aaab46e2a0 in EEStartupHelper () at /home/liuan/project/dotnet-runtime-loongarch/src/coreclr/vm/ceemain.cpp:953
#11 0x000000aaab46d860 in EEStartup()::$_0::operator()(void*) const (this=<optimized out>, p=<optimized out>) at /home/liuan/project/dotnet-runtime-loongarch/src/coreclr/vm/ceemain.cpp:1091
#12 EEStartup () at /home/liuan/project/dotnet-runtime-loongarch/src/coreclr/vm/ceemain.cpp:1093
#13 0x000000aaab46d740 in EnsureEEStarted () at /home/liuan/project/dotnet-runtime-loongarch/src/coreclr/vm/ceemain.cpp:303
#14 0x000000aaaae2d4e8 in CorHost2::Start (this=0xaaab6a0e50) at /home/liuan/project/dotnet-runtime-loongarch/src/coreclr/vm/corhost.cpp:100
#15 0x000000aaab191118 in coreclr_initialize (exePath=0xaaab691ec0 "/home/liuan/test1/hello/bin/Release/net9.0/linux-loongarch64/publish/hello", 
    appDomainFriendlyName=0xaaaab4f614 "clrhost", propertyCount=<optimized out>, propertyKeys=<optimized out>, propertyValues=<optimized out>, hostHandle=0xffffff6848, 
    domainId=0xffffff6844) at /home/liuan/project/dotnet-runtime-loongarch/src/coreclr/dlls/mscoree/exports.cpp:310
#16 0x000000aaaadbf758 in coreclr_t::create (libcoreclr_path=..., exe_path=0xaaab691ec0 "/home/liuan/test1/hello/bin/Release/net9.0/linux-loongarch64/publish/hello", 
    app_domain_friendly_name=0xaaaab4f614 "clrhost", properties=..., inst=...) at /home/liuan/project/dotnet-runtime-loongarch/src/native/corehost/hostpolicy/coreclr.cpp:72
#17 0x000000aaaadd87fc in (anonymous namespace)::create_coreclr () at /home/liuan/project/dotnet-runtime-loongarch/src/native/corehost/hostpolicy/hostpolicy.cpp:75
#18 0x000000aaaadd8060 in corehost_main (argc=<optimized out>, argv=0xffffff7018) at /home/liuan/project/dotnet-runtime-loongarch/src/native/corehost/hostpolicy/hostpolicy.cpp:422
#19 0x000000aaaada9950 in execute_app (impl_dll_dir="/home/liuan/test1/hello/bin/Release/net9.0/linux-loongarch64/publish/", init=0xaaab692820, argc=1, argv=0xffffff7018)
    at /home/liuan/project/dotnet-runtime-loongarch/src/native/corehost/fxr/fx_muxer.cpp:145
#20 (anonymous namespace)::read_config_and_execute (host_command=..., host_info=..., app_candidate="/home/liuan/test1/hello/bin/Release/net9.0/linux-loongarch64/publish/hello.dll", 
    opts=std::unordered_map with 0 elements, new_argc=1, new_argv=0xffffff7018, mode=<optimized out>, is_sdk_command=<optimized out>, out_buffer=<optimized out>, 
    buffer_size=<optimized out>, required_buffer_size=<optimized out>) at /home/liuan/project/dotnet-runtime-loongarch/src/native/corehost/fxr/fx_muxer.cpp:532
#21 fx_muxer_t::handle_exec_host_command (host_command=..., host_info=..., app_candidate="/home/liuan/test1/hello/bin/Release/net9.0/linux-loongarch64/publish/hello.dll", 
    opts=std::unordered_map with 0 elements, argc=<optimized out>, argv=<optimized out>, argoff=<optimized out>, mode=apphost, is_sdk_command=<optimized out>, result_buffer=0x0, 
    buffer_size=<optimized out>, required_buffer_size=0x0) at /home/liuan/project/dotnet-runtime-loongarch/src/native/corehost/fxr/fx_muxer.cpp:1007
#22 0x000000aaaada8a64 in fx_muxer_t::execute (host_command="", argc=<optimized out>, argv=<optimized out>, host_info=..., result_buffer=0x0, buffer_size=0, 
    required_buffer_size=<optimized out>) at /home/liuan/project/dotnet-runtime-loongarch/src/native/corehost/fxr/fx_muxer.cpp:578
#23 0x000000aaaada29f8 in hostfxr_main_bundle_startupinfo (argc=<optimized out>, argv=0xffffff7018, 
    host_path=0xaaab6920c0 "/home/liuan/test1/hello/bin/Release/net9.0/linux-loongarch64/publish/hello", 
    dotnet_root=0xaaab691110 "/home/liuan/test1/hello/bin/Release/net9.0/linux-loongarch64/publish/", app_path=<optimized out>, bundle_header_offset=<optimized out>)
--Type <RET> for more, q to quit, c to continue without paging--
    at /home/liuan/project/dotnet-runtime-loongarch/src/native/corehost/fxr/hostfxr.cpp:48
#24 0x000000aaaad9dd14 in exe_start (argc=<optimized out>, argv=0xffffff7018) at /home/liuan/project/dotnet-runtime-loongarch/src/native/corehost/corehost.cpp:225
#25 0x000000aaaad9e098 in main (argc=<optimized out>, argv=0xffffff7018) at /home/liuan/project/dotnet-runtime-loongarch/src/native/corehost/corehost.cpp:321```

Copy link
Member

@am11 am11 Apr 15, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is it with .NET 8 or .NET 9? #101084 and #101038 removed arch-specificity in .NET 9. It should be reported as AnyCPU: i386+ILOnly. p dwImageType and p/x dwImageType will show what value it's getting.

else
{
// We don't support other architectures
Expand Down Expand Up @@ -1319,6 +1321,8 @@ BOOL AssemblyBinderCommon::IsValidArchitecture(PEKIND kArchitecture)
peARM;
#elif defined(TARGET_ARM64)
peARM64;
#elif defined(TARGET_LOONGARCH64)
peLOONGARCH64;
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
#elif defined(TARGET_LOONGARCH64)
peLOONGARCH64;

This is also PE specific. We use neutral assembly architecture on Unix.

#else
peMSIL;
#endif
Expand Down
17 changes: 9 additions & 8 deletions src/coreclr/binder/inc/bindertypes.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -58,14 +58,15 @@ typedef enum __ASM_DISPLAY_FLAGS

typedef enum __PEKIND
{
peNone = 0x00000000,
peMSIL = 0x00000001,
peI386 = 0x00000002,
peIA64 = 0x00000003,
peAMD64 = 0x00000004,
peARM = 0x00000005,
peARM64 = 0x00000006,
peInvalid = 0xffffffff,
peNone = 0x00000000,
peMSIL = 0x00000001,
peI386 = 0x00000002,
peIA64 = 0x00000003,
peAMD64 = 0x00000004,
peARM = 0x00000005,
peARM64 = 0x00000006,
peLOONGARCH64 = 0x00000007,
peInvalid = 0xffffffff,
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
peNone = 0x00000000,
peMSIL = 0x00000001,
peI386 = 0x00000002,
peIA64 = 0x00000003,
peAMD64 = 0x00000004,
peARM = 0x00000005,
peARM64 = 0x00000006,
peLOONGARCH64 = 0x00000007,
peInvalid = 0xffffffff,
peNone = 0x00000000,
peMSIL = 0x00000001,
peI386 = 0x00000002,
peIA64 = 0x00000003,
peAMD64 = 0x00000004,
peARM = 0x00000005,
peARM64 = 0x00000006,
peInvalid = 0xffffffff,

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I agree with @am11. These changes should not be needed. The PEKIND needs to support Windows-specific architectures only for backward compatibility, and it needs to match managed System.Reflection.ProcessorArchitecture that we are not adding non-Windows architectures to.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@jkotas, it looks like System.Private.CoreLib has CorFlags: 0xc on all platforms. Should we make this condition match 0xc (pe32Plus & pe32Unmanaged):

if ((CLRPeKind & peILonly) && !(CLRPeKind & pe32Plus) &&
!(CLRPeKind & pe32BitRequired) && dwImageType == IMAGE_FILE_MACHINE_I386)

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

If we always want to treat them as MSIL, we can check the machine flag for non-windows:

// treat non-windows like MSIL
if ((dwImageType ^ IMAGE_FILE_MACHINE_NATIVE_OS_OVERRIDE) != 0 /* 0 is windows */)
{ *PeKind = peMSIL; }

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@am11 @jkotas,I used it earlier NET9, But I just tried it NET10 still has this issue, dwImageType=0x6264,CLRPeKind=pe32Plus.

176	                if(dwImageType == IMAGE_FILE_MACHINE_I386)
(gdb) n
137	        *PeKind = peNone;
(gdb) 
139	        if(CLRPeKind == peNot)
(gdb) 
146	            if ((CLRPeKind & peILonly) && !(CLRPeKind & pe32Plus) &&
(gdb) p dwImageType 
$2 = 25188
(gdb) p/x dwImageType 
$3 = 0x6264
(gdb) p CLRPeKind 
$4 = pe32Plus

So perhaps the previous suggestion can solve the problem

// treat non-windows like MSIL
if ((dwImageType ^ IMAGE_FILE_MACHINE_NATIVE_OS_OVERRIDE) != 0 /* 0 is windows */)
{ *PeKind = peMSIL; }

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

When use the - p: PublicSingleFile=true - p: SelfContained=true - p: PublicReadyToRun=true parameter to publish a Hello World single file.The task Csc will use the following command line to generate Hello.dll.

/data/liuan/sdk1/dotnet exec "/data/liuan/sdk1/sdk/10.0.100-preview.3.25201.16/Roslyn/bincore/csc.dll" /noconfig /unsafe- /checked- /nowarn:1701,1702,1701,1702 /fullpaths /nostdlib+ /platform:arm64 /errorreport:prompt /warn:10 /define:TRACE;RELEASE;NET;NET10_0;NETCOREAPP;NET5_0_OR_GREATER;NET6_0_OR_GREATER;NET7_0_OR_GREATER;NET8_0_OR_GREATER;NET9_0_OR_GREATER;NET10_0_OR_GREATER;NETCOREAPP1_0_OR_GREATER;NETCOREAPP1_1_OR_GREATER;NETCOREAPP2_0_OR_GREATER;NETCOREAPP2_1_OR_GREATER;NETCOREAPP2_2_OR_GREATER;NETCOREAPP3_0_OR_GREATER;NETCOREAPP3_1_OR_GREATER /highentropyva+ /nullable:enable /reference:/data/liuan/sdk1/packs/Microsoft.NETCore.App.Ref/10.0.0-preview.3.25171.5/ref/net10.0/Microsoft.CSharp.dll /reference:/data/liuan/sdk1/packs/Microsoft.NETCore.App.Ref/10.0.0-preview.3.25171.5/ref/net10.0/Microsoft.VisualBasic.Core.dll /reference:/data/liuan/sdk1/packs/Microsoft.NETCore.App.Ref/10.0.0-preview.3.25171.5/ref/net10.0/Microsoft.VisualBasic.dll /reference:/data/liuan/sdk1/packs/Microsoft.NETCore.App.Ref/10.0.0-preview.3.25171.5/ref/net10.0/Microsoft.Win32.Primitives.dll /reference:/data/liuan/sdk1/packs/Microsoft.NETCore.App.Ref/10.0.0-preview.3.25171.5/ref/net10.0/Microsoft.Win32.Registry.dll /reference:/data/liuan/sdk1/packs/Microsoft.NETCore.App.Ref/10.0.0-preview.3.25171.5/ref/net10.0/mscorlib.dll /reference:/data/liuan/sdk1/packs/Microsoft.NETCore.App.Ref/10.0.0-preview.3.25171.5/ref/net10.0/netstandard.dll /reference:/data/liuan/sdk1/packs/Microsoft.NETCore.App.Ref/10.0.0-preview.3.25171.5/ref/net10.0/System.AppContext.dll /reference:/data/liuan/sdk1/packs/Microsoft.NETCore.App.Ref/10.0.0-preview.3.25171.5/ref/net10.0/System.Buffers.dll /reference:/data/liuan/sdk1/packs/Microsoft.NETCore.App.Ref/10.0.0-preview.3.25171.5/ref/net10.0/System.Collections.Concurrent.dll /reference:/data/liuan/sdk1/packs/Microsoft.NETCore.App.Ref/10.0.0-preview.3.25171.5/ref/net10.0/System.Collections.dll /reference:/data/liuan/sdk1/packs/Microsoft.NETCore.App.Ref/10.0.0-preview.3.25171.5/ref/net10.0/System.Collections.Immutable.dll /reference:/data/liuan/sdk1/packs/Microsoft.NETCore.App.Ref/10.0.0-preview.3.25171.5/ref/net10.0/System.Collections.NonGeneric.dll /reference:/data/liuan/sdk1/packs/Microsoft.NETCore.App.Ref/10.0.0-preview.3.25171.5/ref/net10.0/System.Collections.Specialized.dll /reference:/data/liuan/sdk1/packs/Microsoft.NETCore.App.Ref/10.0.0-preview.3.25171.5/ref/net10.0/System.ComponentModel.Annotations.dll /reference:/data/liuan/sdk1/packs/Microsoft.NETCore.App.Ref/10.0.0-preview.3.25171.5/ref/net10.0/System.ComponentModel.DataAnnotations.dll /reference:/data/liuan/sdk1/packs/Microsoft.NETCore.App.Ref/10.0.0-preview.3.25171.5/ref/net10.0/System.ComponentModel.dll /reference:/data/liuan/sdk1/packs/Microsoft.NETCore.App.Ref/10.0.0-preview.3.25171.5/ref/net10.0/System.ComponentModel.EventBasedAsync.dll /reference:/data/liuan/sdk1/packs/Microsoft.NETCore.App.Ref/10.0.0-preview.3.25171.5/ref/net10.0/System.ComponentModel.Primitives.dll /reference:/data/liuan/sdk1/packs/Microsoft.NETCore.App.Ref/10.0.0-preview.3.25171.5/ref/net10.0/System.ComponentModel.TypeConverter.dll /reference:/data/liuan/sdk1/packs/Microsoft.NETCore.App.Ref/10.0.0-preview.3.25171.5/ref/net10.0/System.Configuration.dll /reference:/data/liuan/sdk1/packs/Microsoft.NETCore.App.Ref/10.0.0-preview.3.25171.5/ref/net10.0/System.Console.dll /reference:/data/liuan/sdk1/packs/Microsoft.NETCore.App.Ref/10.0.0-preview.3.25171.5/ref/net10.0/System.Core.dll /reference:/data/liuan/sdk1/packs/Microsoft.NETCore.App.Ref/10.0.0-preview.3.25171.5/ref/net10.0/System.Data.Common.dll /reference:/data/liuan/sdk1/packs/Microsoft.NETCore.App.Ref/10.0.0-preview.3.25171.5/ref/net10.0/System.Data.DataSetExtensions.dll /reference:/data/liuan/sdk1/packs/Microsoft.NETCore.App.Ref/10.0.0-preview.3.25171.5/ref/net10.0/System.Data.dll /reference:/data/liuan/sdk1/packs/Microsoft.NETCore.App.Ref/10.0.0-preview.3.25171.5/ref/net10.0/System.Diagnostics.Contracts.dll /reference:/data/liuan/sdk1/packs/Microsoft.NETCore.App.Ref/10.0.0-preview.3.25171.5/ref/net10.0/System.Diagnostics.Debug.dll /reference:/data/liuan/sdk1/packs/Microsoft.NETCore.App.Ref/10.0.0-preview.3.25171.5/ref/net10.0/System.Diagnostics.DiagnosticSource.dll /reference:/data/liuan/sdk1/packs/Microsoft.NETCore.App.Ref/10.0.0-preview.3.25171.5/ref/net10.0/System.Diagnostics.FileVersionInfo.dll /reference:/data/liuan/sdk1/packs/Microsoft.NETCore.App.Ref/10.0.0-preview.3.25171.5/ref/net10.0/System.Diagnostics.Process.dll /reference:/data/liuan/sdk1/packs/Microsoft.NETCore.App.Ref/10.0.0-preview.3.25171.5/ref/net10.0/System.Diagnostics.StackTrace.dll /reference:/data/liuan/sdk1/packs/Microsoft.NETCore.App.Ref/10.0.0-preview.3.25171.5/ref/net10.0/System.Diagnostics.TextWriterTraceListener.dll /reference:/data/liuan/sdk1/packs/Microsoft.NETCore.App.Ref/10.0.0-preview.3.25171.5/ref/net10.0/System.Diagnostics.Tools.dll /reference:/data/liuan/sdk1/packs/Microsoft.NETCore.App.Ref/10.0.0-preview.3.25171.5/ref/net10.0/System.Diagnostics.TraceSource.dll /reference:/data/liuan/sdk1/packs/Microsoft.NETCore.App.Ref/10.0.0-preview.3.25171.5/ref/net10.0/System.Diagnostics.Tracing.dll /reference:/data/liuan/sdk1/packs/Microsoft.NETCore.App.Ref/10.0.0-preview.3.25171.5/ref/net10.0/System.dll /reference:/data/liuan/sdk1/packs/Microsoft.NETCore.App.Ref/10.0.0-preview.3.25171.5/ref/net10.0/System.Drawing.dll /reference:/data/liuan/sdk1/packs/Microsoft.NETCore.App.Ref/10.0.0-preview.3.25171.5/ref/net10.0/System.Drawing.Primitives.dll /reference:/data/liuan/sdk1/packs/Microsoft.NETCore.App.Ref/10.0.0-preview.3.25171.5/ref/net10.0/System.Dynamic.Runtime.dll /reference:/data/liuan/sdk1/packs/Microsoft.NETCore.App.Ref/10.0.0-preview.3.25171.5/ref/net10.0/System.Formats.Asn1.dll /reference:/data/liuan/sdk1/packs/Microsoft.NETCore.App.Ref/10.0.0-preview.3.25171.5/ref/net10.0/System.Formats.Tar.dll /reference:/data/liuan/sdk1/packs/Microsoft.NETCore.App.Ref/10.0.0-preview.3.25171.5/ref/net10.0/System.Globalization.Calendars.dll /reference:/data/liuan/sdk1/packs/Microsoft.NETCore.App.Ref/10.0.0-preview.3.25171.5/ref/net10.0/System.Globalization.dll /reference:/data/liuan/sdk1/packs/Microsoft.NETCore.App.Ref/10.0.0-preview.3.25171.5/ref/net10.0/System.Globalization.Extensions.dll /reference:/data/liuan/sdk1/packs/Microsoft.NETCore.App.Ref/10.0.0-preview.3.25171.5/ref/net10.0/System.IO.Compression.Brotli.dll /reference:/data/liuan/sdk1/packs/Microsoft.NETCore.App.Ref/10.0.0-preview.3.25171.5/ref/net10.0/System.IO.Compression.dll /reference:/data/liuan/sdk1/packs/Microsoft.NETCore.App.Ref/10.0.0-preview.3.25171.5/ref/net10.0/System.IO.Compression.FileSystem.dll /reference:/data/liuan/sdk1/packs/Microsoft.NETCore.App.Ref/10.0.0-preview.3.25171.5/ref/net10.0/System.IO.Compression.ZipFile.dll /reference:/data/liuan/sdk1/packs/Microsoft.NETCore.App.Ref/10.0.0-preview.3.25171.5/ref/net10.0/System.IO.dll /reference:/data/liuan/sdk1/packs/Microsoft.NETCore.App.Ref/10.0.0-preview.3.25171.5/ref/net10.0/System.IO.FileSystem.AccessControl.dll /reference:/data/liuan/sdk1/packs/Microsoft.NETCore.App.Ref/10.0.0-preview.3.25171.5/ref/net10.0/System.IO.FileSystem.dll /reference:/data/liuan/sdk1/packs/Microsoft.NETCore.App.Ref/10.0.0-preview.3.25171.5/ref/net10.0/System.IO.FileSystem.DriveInfo.dll /reference:/data/liuan/sdk1/packs/Microsoft.NETCore.App.Ref/10.0.0-preview.3.25171.5/ref/net10.0/System.IO.FileSystem.Primitives.dll /reference:/data/liuan/sdk1/packs/Microsoft.NETCore.App.Ref/10.0.0-preview.3.25171.5/ref/net10.0/System.IO.FileSystem.Watcher.dll /reference:/data/liuan/sdk1/packs/Microsoft.NETCore.App.Ref/10.0.0-preview.3.25171.5/ref/net10.0/System.IO.IsolatedStorage.dll /reference:/data/liuan/sdk1/packs/Microsoft.NETCore.App.Ref/10.0.0-preview.3.25171.5/ref/net10.0/System.IO.MemoryMappedFiles.dll /reference:/data/liuan/sdk1/packs/Microsoft.NETCore.App.Ref/10.0.0-preview.3.25171.5/ref/net10.0/System.IO.Pipelines.dll /reference:/data/liuan/sdk1/packs/Microsoft.NETCore.App.Ref/10.0.0-preview.3.25171.5/ref/net10.0/System.IO.Pipes.AccessControl.dll /reference:/data/liuan/sdk1/packs/Microsoft.NETCore.App.Ref/10.0.0-preview.3.25171.5/ref/net10.0/System.IO.Pipes.dll /reference:/data/liuan/sdk1/packs/Microsoft.NETCore.App.Ref/10.0.0-preview.3.25171.5/ref/net10.0/System.IO.UnmanagedMemoryStream.dll /reference:/data/liuan/sdk1/packs/Microsoft.NETCore.App.Ref/10.0.0-preview.3.25171.5/ref/net10.0/System.Linq.AsyncEnumerable.dll /reference:/data/liuan/sdk1/packs/Microsoft.NETCore.App.Ref/10.0.0-preview.3.25171.5/ref/net10.0/System.Linq.dll /reference:/data/liuan/sdk1/packs/Microsoft.NETCore.App.Ref/10.0.0-preview.3.25171.5/ref/net10.0/System.Linq.Expressions.dll /reference:/data/liuan/sdk1/packs/Microsoft.NETCore.App.Ref/10.0.0-preview.3.25171.5/ref/net10.0/System.Linq.Parallel.dll /reference:/data/liuan/sdk1/packs/Microsoft.NETCore.App.Ref/10.0.0-preview.3.25171.5/ref/net10.0/System.Linq.Queryable.dll /reference:/data/liuan/sdk1/packs/Microsoft.NETCore.App.Ref/10.0.0-preview.3.25171.5/ref/net10.0/System.Memory.dll /reference:/data/liuan/sdk1/packs/Microsoft.NETCore.App.Ref/10.0.0-preview.3.25171.5/ref/net10.0/System.Net.dll /reference:/data/liuan/sdk1/packs/Microsoft.NETCore.App.Ref/10.0.0-preview.3.25171.5/ref/net10.0/System.Net.Http.dll /reference:/data/liuan/sdk1/packs/Microsoft.NETCore.App.Ref/10.0.0-preview.3.25171.5/ref/net10.0/System.Net.Http.Json.dll /reference:/data/liuan/sdk1/packs/Microsoft.NETCore.App.Ref/10.0.0-preview.3.25171.5/ref/net10.0/System.Net.HttpListener.dll /reference:/data/liuan/sdk1/packs/Microsoft.NETCore.App.Ref/10.0.0-preview.3.25171.5/ref/net10.0/System.Net.Mail.dll /reference:/data/liuan/sdk1/packs/Microsoft.NETCore.App.Ref/10.0.0-preview.3.25171.5/ref/net10.0/System.Net.NameResolution.dll /reference:/data/liuan/sdk1/packs/Microsoft.NETCore.App.Ref/10.0.0-preview.3.25171.5/ref/net10.0/System.Net.NetworkInformation.dll /reference:/data/liuan/sdk1/packs/Microsoft.NETCore.App.Ref/10.0.0-preview.3.25171.5/ref/net10.0/System.Net.Ping.dll /reference:/data/liuan/sdk1/packs/Microsoft.NETCore.App.Ref/10.0.0-preview.3.25171.5/ref/net10.0/System.Net.Primitives.dll /reference:/data/liuan/sdk1/packs/Microsoft.NETCore.App.Ref/10.0.0-preview.3.25171.5/ref/net10.0/System.Net.Quic.dll /reference:/data/liuan/sdk1/packs/Microsoft.NETCore.App.Ref/10.0.0-preview.3.25171.5/ref/net10.0/System.Net.Requests.dll /reference:/data/liuan/sdk1/packs/Microsoft.NETCore.App.Ref/10.0.0-preview.3.25171.5/ref/net10.0/System.Net.Security.dll /reference:/data/liuan/sdk1/packs/Microsoft.NETCore.App.Ref/10.0.0-preview.3.25171.5/ref/net10.0/System.Net.ServerSentEvents.dll /reference:/data/liuan/sdk1/packs/Microsoft.NETCore.App.Ref/10.0.0-preview.3.25171.5/ref/net10.0/System.Net.ServicePoint.dll /reference:/data/liuan/sdk1/packs/Microsoft.NETCore.App.Ref/10.0.0-preview.3.25171.5/ref/net10.0/System.Net.Sockets.dll /reference:/data/liuan/sdk1/packs/Microsoft.NETCore.App.Ref/10.0.0-preview.3.25171.5/ref/net10.0/System.Net.WebClient.dll /reference:/data/liuan/sdk1/packs/Microsoft.NETCore.App.Ref/10.0.0-preview.3.25171.5/ref/net10.0/System.Net.WebHeaderCollection.dll /reference:/data/liuan/sdk1/packs/Microsoft.NETCore.App.Ref/10.0.0-preview.3.25171.5/ref/net10.0/System.Net.WebProxy.dll /reference:/data/liuan/sdk1/packs/Microsoft.NETCore.App.Ref/10.0.0-preview.3.25171.5/ref/net10.0/System.Net.WebSockets.Client.dll /reference:/data/liuan/sdk1/packs/Microsoft.NETCore.App.Ref/10.0.0-preview.3.25171.5/ref/net10.0/System.Net.WebSockets.dll /reference:/data/liuan/sdk1/packs/Microsoft.NETCore.App.Ref/10.0.0-preview.3.25171.5/ref/net10.0/System.Numerics.dll /reference:/data/liuan/sdk1/packs/Microsoft.NETCore.App.Ref/10.0.0-preview.3.25171.5/ref/net10.0/System.Numerics.Vectors.dll /reference:/data/liuan/sdk1/packs/Microsoft.NETCore.App.Ref/10.0.0-preview.3.25171.5/ref/net10.0/System.ObjectModel.dll /reference:/data/liuan/sdk1/packs/Microsoft.NETCore.App.Ref/10.0.0-preview.3.25171.5/ref/net10.0/System.Reflection.DispatchProxy.dll /reference:/data/liuan/sdk1/packs/Microsoft.NETCore.App.Ref/10.0.0-preview.3.25171.5/ref/net10.0/System.Reflection.dll /reference:/data/liuan/sdk1/packs/Microsoft.NETCore.App.Ref/10.0.0-preview.3.25171.5/ref/net10.0/System.Reflection.Emit.dll /reference:/data/liuan/sdk1/packs/Microsoft.NETCore.App.Ref/10.0.0-preview.3.25171.5/ref/net10.0/System.Reflection.Emit.ILGeneration.dll /reference:/data/liuan/sdk1/packs/Microsoft.NETCore.App.Ref/10.0.0-preview.3.25171.5/ref/net10.0/System.Reflection.Emit.Lightweight.dll /reference:/data/liuan/sdk1/packs/Microsoft.NETCore.App.Ref/10.0.0-preview.3.25171.5/ref/net10.0/System.Reflection.Extensions.dll /reference:/data/liuan/sdk1/packs/Microsoft.NETCore.App.Ref/10.0.0-preview.3.25171.5/ref/net10.0/System.Reflection.Metadata.dll /reference:/data/liuan/sdk1/packs/Microsoft.NETCore.App.Ref/10.0.0-preview.3.25171.5/ref/net10.0/System.Reflection.Primitives.dll /reference:/data/liuan/sdk1/packs/Microsoft.NETCore.App.Ref/10.0.0-preview.3.25171.5/ref/net10.0/System.Reflection.TypeExtensions.dll /reference:/data/liuan/sdk1/packs/Microsoft.NETCore.App.Ref/10.0.0-preview.3.25171.5/ref/net10.0/System.Resources.Reader.dll /reference:/data/liuan/sdk1/packs/Microsoft.NETCore.App.Ref/10.0.0-preview.3.25171.5/ref/net10.0/System.Resources.ResourceManager.dll /reference:/data/liuan/sdk1/packs/Microsoft.NETCore.App.Ref/10.0.0-preview.3.25171.5/ref/net10.0/System.Resources.Writer.dll /reference:/data/liuan/sdk1/packs/Microsoft.NETCore.App.Ref/10.0.0-preview.3.25171.5/ref/net10.0/System.Runtime.CompilerServices.Unsafe.dll /reference:/data/liuan/sdk1/packs/Microsoft.NETCore.App.Ref/10.0.0-preview.3.25171.5/ref/net10.0/System.Runtime.CompilerServices.VisualC.dll /reference:/data/liuan/sdk1/packs/Microsoft.NETCore.App.Ref/10.0.0-preview.3.25171.5/ref/net10.0/System.Runtime.dll /reference:/data/liuan/sdk1/packs/Microsoft.NETCore.App.Ref/10.0.0-preview.3.25171.5/ref/net10.0/System.Runtime.Extensions.dll /reference:/data/liuan/sdk1/packs/Microsoft.NETCore.App.Ref/10.0.0-preview.3.25171.5/ref/net10.0/System.Runtime.Handles.dll /reference:/data/liuan/sdk1/packs/Microsoft.NETCore.App.Ref/10.0.0-preview.3.25171.5/ref/net10.0/System.Runtime.InteropServices.dll /reference:/data/liuan/sdk1/packs/Microsoft.NETCore.App.Ref/10.0.0-preview.3.25171.5/ref/net10.0/System.Runtime.InteropServices.JavaScript.dll /reference:/data/liuan/sdk1/packs/Microsoft.NETCore.App.Ref/10.0.0-preview.3.25171.5/ref/net10.0/System.Runtime.InteropServices.RuntimeInformation.dll /reference:/data/liuan/sdk1/packs/Microsoft.NETCore.App.Ref/10.0.0-preview.3.25171.5/ref/net10.0/System.Runtime.Intrinsics.dll /reference:/data/liuan/sdk1/packs/Microsoft.NETCore.App.Ref/10.0.0-preview.3.25171.5/ref/net10.0/System.Runtime.Loader.dll /reference:/data/liuan/sdk1/packs/Microsoft.NETCore.App.Ref/10.0.0-preview.3.25171.5/ref/net10.0/System.Runtime.Numerics.dll /reference:/data/liuan/sdk1/packs/Microsoft.NETCore.App.Ref/10.0.0-preview.3.25171.5/ref/net10.0/System.Runtime.Serialization.dll /reference:/data/liuan/sdk1/packs/Microsoft.NETCore.App.Ref/10.0.0-preview.3.25171.5/ref/net10.0/System.Runtime.Serialization.Formatters.dll /reference:/data/liuan/sdk1/packs/Microsoft.NETCore.App.Ref/10.0.0-preview.3.25171.5/ref/net10.0/System.Runtime.Serialization.Json.dll /reference:/data/liuan/sdk1/packs/Microsoft.NETCore.App.Ref/10.0.0-preview.3.25171.5/ref/net10.0/System.Runtime.Serialization.Primitives.dll /reference:/data/liuan/sdk1/packs/Microsoft.NETCore.App.Ref/10.0.0-preview.3.25171.5/ref/net10.0/System.Runtime.Serialization.Xml.dll /reference:/data/liuan/sdk1/packs/Microsoft.NETCore.App.Ref/10.0.0-preview.3.25171.5/ref/net10.0/System.Security.AccessControl.dll /reference:/data/liuan/sdk1/packs/Microsoft.NETCore.App.Ref/10.0.0-preview.3.25171.5/ref/net10.0/System.Security.Claims.dll /reference:/data/liuan/sdk1/packs/Microsoft.NETCore.App.Ref/10.0.0-preview.3.25171.5/ref/net10.0/System.Security.Cryptography.Algorithms.dll /reference:/data/liuan/sdk1/packs/Microsoft.NETCore.App.Ref/10.0.0-preview.3.25171.5/ref/net10.0/System.Security.Cryptography.Cng.dll /reference:/data/liuan/sdk1/packs/Microsoft.NETCore.App.Ref/10.0.0-preview.3.25171.5/ref/net10.0/System.Security.Cryptography.Csp.dll /reference:/data/liuan/sdk1/packs/Microsoft.NETCore.App.Ref/10.0.0-preview.3.25171.5/ref/net10.0/System.Security.Cryptography.dll /reference:/data/liuan/sdk1/packs/Microsoft.NETCore.App.Ref/10.0.0-preview.3.25171.5/ref/net10.0/System.Security.Cryptography.Encoding.dll /reference:/data/liuan/sdk1/packs/Microsoft.NETCore.App.Ref/10.0.0-preview.3.25171.5/ref/net10.0/System.Security.Cryptography.OpenSsl.dll /reference:/data/liuan/sdk1/packs/Microsoft.NETCore.App.Ref/10.0.0-preview.3.25171.5/ref/net10.0/System.Security.Cryptography.Primitives.dll /reference:/data/liuan/sdk1/packs/Microsoft.NETCore.App.Ref/10.0.0-preview.3.25171.5/ref/net10.0/System.Security.Cryptography.X509Certificates.dll /reference:/data/liuan/sdk1/packs/Microsoft.NETCore.App.Ref/10.0.0-preview.3.25171.5/ref/net10.0/System.Security.dll /reference:/data/liuan/sdk1/packs/Microsoft.NETCore.App.Ref/10.0.0-preview.3.25171.5/ref/net10.0/System.Security.Principal.dll /reference:/data/liuan/sdk1/packs/Microsoft.NETCore.App.Ref/10.0.0-preview.3.25171.5/ref/net10.0/System.Security.Principal.Windows.dll /reference:/data/liuan/sdk1/packs/Microsoft.NETCore.App.Ref/10.0.0-preview.3.25171.5/ref/net10.0/System.Security.SecureString.dll /reference:/data/liuan/sdk1/packs/Microsoft.NETCore.App.Ref/10.0.0-preview.3.25171.5/ref/net10.0/System.ServiceModel.Web.dll /reference:/data/liuan/sdk1/packs/Microsoft.NETCore.App.Ref/10.0.0-preview.3.25171.5/ref/net10.0/System.ServiceProcess.dll /reference:/data/liuan/sdk1/packs/Microsoft.NETCore.App.Ref/10.0.0-preview.3.25171.5/ref/net10.0/System.Text.Encoding.CodePages.dll /reference:/data/liuan/sdk1/packs/Microsoft.NETCore.App.Ref/10.0.0-preview.3.25171.5/ref/net10.0/System.Text.Encoding.dll /reference:/data/liuan/sdk1/packs/Microsoft.NETCore.App.Ref/10.0.0-preview.3.25171.5/ref/net10.0/System.Text.Encoding.Extensions.dll /reference:/data/liuan/sdk1/packs/Microsoft.NETCore.App.Ref/10.0.0-preview.3.25171.5/ref/net10.0/System.Text.Encodings.Web.dll /reference:/data/liuan/sdk1/packs/Microsoft.NETCore.App.Ref/10.0.0-preview.3.25171.5/ref/net10.0/System.Text.Json.dll /reference:/data/liuan/sdk1/packs/Microsoft.NETCore.App.Ref/10.0.0-preview.3.25171.5/ref/net10.0/System.Text.RegularExpressions.dll /reference:/data/liuan/sdk1/packs/Microsoft.NETCore.App.Ref/10.0.0-preview.3.25171.5/ref/net10.0/System.Threading.Channels.dll /reference:/data/liuan/sdk1/packs/Microsoft.NETCore.App.Ref/10.0.0-preview.3.25171.5/ref/net10.0/System.Threading.dll /reference:/data/liuan/sdk1/packs/Microsoft.NETCore.App.Ref/10.0.0-preview.3.25171.5/ref/net10.0/System.Threading.Overlapped.dll /reference:/data/liuan/sdk1/packs/Microsoft.NETCore.App.Ref/10.0.0-preview.3.25171.5/ref/net10.0/System.Threading.Tasks.Dataflow.dll /reference:/data/liuan/sdk1/packs/Microsoft.NETCore.App.Ref/10.0.0-preview.3.25171.5/ref/net10.0/System.Threading.Tasks.dll /reference:/data/liuan/sdk1/packs/Microsoft.NETCore.App.Ref/10.0.0-preview.3.25171.5/ref/net10.0/System.Threading.Tasks.Extensions.dll /reference:/data/liuan/sdk1/packs/Microsoft.NETCore.App.Ref/10.0.0-preview.3.25171.5/ref/net10.0/System.Threading.Tasks.Parallel.dll /reference:/data/liuan/sdk1/packs/Microsoft.NETCore.App.Ref/10.0.0-preview.3.25171.5/ref/net10.0/System.Threading.Thread.dll /reference:/data/liuan/sdk1/packs/Microsoft.NETCore.App.Ref/10.0.0-preview.3.25171.5/ref/net10.0/System.Threading.ThreadPool.dll /reference:/data/liuan/sdk1/packs/Microsoft.NETCore.App.Ref/10.0.0-preview.3.25171.5/ref/net10.0/System.Threading.Timer.dll /reference:/data/liuan/sdk1/packs/Microsoft.NETCore.App.Ref/10.0.0-preview.3.25171.5/ref/net10.0/System.Transactions.dll /reference:/data/liuan/sdk1/packs/Microsoft.NETCore.App.Ref/10.0.0-preview.3.25171.5/ref/net10.0/System.Transactions.Local.dll /reference:/data/liuan/sdk1/packs/Microsoft.NETCore.App.Ref/10.0.0-preview.3.25171.5/ref/net10.0/System.ValueTuple.dll /reference:/data/liuan/sdk1/packs/Microsoft.NETCore.App.Ref/10.0.0-preview.3.25171.5/ref/net10.0/System.Web.dll /reference:/data/liuan/sdk1/packs/Microsoft.NETCore.App.Ref/10.0.0-preview.3.25171.5/ref/net10.0/System.Web.HttpUtility.dll /reference:/data/liuan/sdk1/packs/Microsoft.NETCore.App.Ref/10.0.0-preview.3.25171.5/ref/net10.0/System.Windows.dll /reference:/data/liuan/sdk1/packs/Microsoft.NETCore.App.Ref/10.0.0-preview.3.25171.5/ref/net10.0/System.Xml.dll /reference:/data/liuan/sdk1/packs/Microsoft.NETCore.App.Ref/10.0.0-preview.3.25171.5/ref/net10.0/System.Xml.Linq.dll /reference:/data/liuan/sdk1/packs/Microsoft.NETCore.App.Ref/10.0.0-preview.3.25171.5/ref/net10.0/System.Xml.ReaderWriter.dll /reference:/data/liuan/sdk1/packs/Microsoft.NETCore.App.Ref/10.0.0-preview.3.25171.5/ref/net10.0/System.Xml.Serialization.dll /reference:/data/liuan/sdk1/packs/Microsoft.NETCore.App.Ref/10.0.0-preview.3.25171.5/ref/net10.0/System.Xml.XDocument.dll /reference:/data/liuan/sdk1/packs/Microsoft.NETCore.App.Ref/10.0.0-preview.3.25171.5/ref/net10.0/System.Xml.XmlDocument.dll /reference:/data/liuan/sdk1/packs/Microsoft.NETCore.App.Ref/10.0.0-preview.3.25171.5/ref/net10.0/System.Xml.XmlSerializer.dll /reference:/data/liuan/sdk1/packs/Microsoft.NETCore.App.Ref/10.0.0-preview.3.25171.5/ref/net10.0/System.Xml.XPath.dll /reference:/data/liuan/sdk1/packs/Microsoft.NETCore.App.Ref/10.0.0-preview.3.25171.5/ref/net10.0/System.Xml.XPath.XDocument.dll /reference:/data/liuan/sdk1/packs/Microsoft.NETCore.App.Ref/10.0.0-preview.3.25171.5/ref/net10.0/WindowsBase.dll /debug- /debug:portable /filealign:512 /optimize+ /out:obj/Release/net10.0/linux-arm64/hellow.dll /refout:obj/Release/net10.0/linux-arm64/refint/hellow.dll /target:exe /warnaserror- /utf8output /deterministic+ /langversion:13.0 /analyzerconfig:/data/liuan/sdk1/sdk/10.0.100-preview.3.25201.16/Sdks/Microsoft.NET.Sdk/codestyle/cs/build/config/analysislevelstyle_default.globalconfig /analyzerconfig:obj/Release/net10.0/linux-arm64/hellow.GeneratedMSBuildEditorConfig.editorconfig /analyzer:/data/liuan/sdk1/sdk/10.0.100-preview.3.25201.16/Sdks/Microsoft.NET.Sdk/targets/../analyzers/Microsoft.CodeAnalysis.CSharp.NetAnalyzers.dll /analyzer:/data/liuan/sdk1/sdk/10.0.100-preview.3.25201.16/Sdks/Microsoft.NET.Sdk/targets/../analyzers/Microsoft.CodeAnalysis.NetAnalyzers.dll /analyzer:/home/liuan/.nuget/packages/microsoft.net.illink.tasks/10.0.0-preview.3.25171.5/analyzers/dotnet/cs/ILLink.CodeFixProvider.dll /analyzer:/home/liuan/.nuget/packages/microsoft.net.illink.tasks/10.0.0-preview.3.25171.5/analyzers/dotnet/cs/ILLink.RoslynAnalyzer.dll /analyzer:/data/liuan/sdk1/packs/Microsoft.NETCore.App.Ref/10.0.0-preview.3.25171.5/analyzers/dotnet/cs/Microsoft.Interop.ComInterfaceGenerator.dll /analyzer:/data/liuan/sdk1/packs/Microsoft.NETCore.App.Ref/10.0.0-preview.3.25171.5/analyzers/dotnet/cs/Microsoft.Interop.JavaScript.JSImportGenerator.dll /analyzer:/data/liuan/sdk1/packs/Microsoft.NETCore.App.Ref/10.0.0-preview.3.25171.5/analyzers/dotnet/cs/Microsoft.Interop.LibraryImportGenerator.dll /analyzer:/data/liuan/sdk1/packs/Microsoft.NETCore.App.Ref/10.0.0-preview.3.25171.5/analyzers/dotnet/cs/Microsoft.Interop.SourceGeneration.dll /analyzer:/data/liuan/sdk1/packs/Microsoft.NETCore.App.Ref/10.0.0-preview.3.25171.5/analyzers/dotnet/cs/System.Text.Json.SourceGeneration.dll /analyzer:/data/liuan/sdk1/packs/Microsoft.NETCore.App.Ref/10.0.0-preview.3.25171.5/analyzers/dotnet/cs/System.Text.RegularExpressions.Generator.dll Program.cs obj/Release/net10.0/linux-arm64/hellow.GlobalUsings.g.cs "obj/Release/net10.0/linux-arm64/.NETCoreApp,Version=v10.0.AssemblyAttributes.cs" obj/Release/net10.0/linux-arm64/hellow.AssemblyInfo.cs /warnaserror+:NU1605,SYSLIB0011

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

/platform:arm64 is left-over from Windows .NET Framework support. We have dotnet/sdk#42344 and related issues to remove it or change it to anycpu.

You should not see this argument when targeting loongarch at all.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

What's the csc.dll command line on LoongArch64 when it does not work?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

You should not see this argument when targeting loongarch at all.

Yes, on LoongArch64, the parameter is anycpu.

/home/liuan/sdk/dotnet exec "/home/liuan/sdk/sdk/10.0.100-alpha.1.25066.1/Roslyn/bincore/csc.dll" /noconfig /unsafe- /checked- /nowarn:1701,1702,1701,1702 /fullpaths /nostdlib+ /platform:AnyCPU /errorreport:prompt /warn:10 /define:TRACE;RELEASE;NET;NET10_0;NETCOREAPP;NET5_0_OR_GREATER;NET6_0_OR_GREATER;NET7_0_OR_GREATER;NET8_0_OR_GREATER;NET9_0_OR_GREATER;NET10_0_OR_GREATER;NETCOREAPP1_0_OR_GREATER;NETCOREAPP1_1_OR_GREATER;NETCOREAPP2_0_OR_GREATER;NETCOREAPP2_1_OR_GREATER;NETCOREAPP2_2_OR_GREATER;NETCOREAPP3_0_OR_GREATER;NETCOREAPP3_1_OR_GREATER /highentropyva+ /nullable:enable /reference:/home/liuan/sdk/packs/Microsoft.NETCore.App.Ref/10.0.0-alpha.1.25063.12/ref/net10.0/Microsoft.CSharp.dll /reference:/home/liuan/sdk/packs/Microsoft.NETCore.App.Ref/10.0.0-alpha.1.25063.12/ref/net10.0/Microsoft.VisualBasic.Core.dll /reference:/home/liuan/sdk/packs/Microsoft.NETCore.App.Ref/10.0.0-alpha.1.25063.12/ref/net10.0/Microsoft.VisualBasic.dll /reference:/home/liuan/sdk/packs/Microsoft.NETCore.App.Ref/10.0.0-alpha.1.25063.12/ref/net10.0/Microsoft.Win32.Primitives.dll /reference:/home/liuan/sdk/packs/Microsoft.NETCore.App.Ref/10.0.0-alpha.1.25063.12/ref/net10.0/Microsoft.Win32.Registry.dll /reference:/home/liuan/sdk/packs/Microsoft.NETCore.App.Ref/10.0.0-alpha.1.25063.12/ref/net10.0/mscorlib.dll /reference:/home/liuan/sdk/packs/Microsoft.NETCore.App.Ref/10.0.0-alpha.1.25063.12/ref/net10.0/netstandard.dll /reference:/home/liuan/sdk/packs/Microsoft.NETCore.App.Ref/10.0.0-alpha.1.25063.12/ref/net10.0/System.AppContext.dll /reference:/home/liuan/sdk/packs/Microsoft.NETCore.App.Ref/10.0.0-alpha.1.25063.12/ref/net10.0/System.Buffers.dll /reference:/home/liuan/sdk/packs/Microsoft.NETCore.App.Ref/10.0.0-alpha.1.25063.12/ref/net10.0/System.Collections.Concurrent.dll /reference:/home/liuan/sdk/packs/Microsoft.NETCore.App.Ref/10.0.0-alpha.1.25063.12/ref/net10.0/System.Collections.dll /reference:/home/liuan/sdk/packs/Microsoft.NETCore.App.Ref/10.0.0-alpha.1.25063.12/ref/net10.0/System.Collections.Immutable.dll /reference:/home/liuan/sdk/packs/Microsoft.NETCore.App.Ref/10.0.0-alpha.1.25063.12/ref/net10.0/System.Collections.NonGeneric.dll /reference:/home/liuan/sdk/packs/Microsoft.NETCore.App.Ref/10.0.0-alpha.1.25063.12/ref/net10.0/System.Collections.Specialized.dll /reference:/home/liuan/sdk/packs/Microsoft.NETCore.App.Ref/10.0.0-alpha.1.25063.12/ref/net10.0/System.ComponentModel.Annotations.dll /reference:/home/liuan/sdk/packs/Microsoft.NETCore.App.Ref/10.0.0-alpha.1.25063.12/ref/net10.0/System.ComponentModel.DataAnnotations.dll /reference:/home/liuan/sdk/packs/Microsoft.NETCore.App.Ref/10.0.0-alpha.1.25063.12/ref/net10.0/System.ComponentModel.dll /reference:/home/liuan/sdk/packs/Microsoft.NETCore.App.Ref/10.0.0-alpha.1.25063.12/ref/net10.0/System.ComponentModel.EventBasedAsync.dll /reference:/home/liuan/sdk/packs/Microsoft.NETCore.App.Ref/10.0.0-alpha.1.25063.12/ref/net10.0/System.ComponentModel.Primitives.dll /reference:/home/liuan/sdk/packs/Microsoft.NETCore.App.Ref/10.0.0-alpha.1.25063.12/ref/net10.0/System.ComponentModel.TypeConverter.dll /reference:/home/liuan/sdk/packs/Microsoft.NETCore.App.Ref/10.0.0-alpha.1.25063.12/ref/net10.0/System.Configuration.dll /reference:/home/liuan/sdk/packs/Microsoft.NETCore.App.Ref/10.0.0-alpha.1.25063.12/ref/net10.0/System.Console.dll /reference:/home/liuan/sdk/packs/Microsoft.NETCore.App.Ref/10.0.0-alpha.1.25063.12/ref/net10.0/System.Core.dll /reference:/home/liuan/sdk/packs/Microsoft.NETCore.App.Ref/10.0.0-alpha.1.25063.12/ref/net10.0/System.Data.Common.dll /reference:/home/liuan/sdk/packs/Microsoft.NETCore.App.Ref/10.0.0-alpha.1.25063.12/ref/net10.0/System.Data.DataSetExtensions.dll /reference:/home/liuan/sdk/packs/Microsoft.NETCore.App.Ref/10.0.0-alpha.1.25063.12/ref/net10.0/System.Data.dll /reference:/home/liuan/sdk/packs/Microsoft.NETCore.App.Ref/10.0.0-alpha.1.25063.12/ref/net10.0/System.Diagnostics.Contracts.dll /reference:/home/liuan/sdk/packs/Microsoft.NETCore.App.Ref/10.0.0-alpha.1.25063.12/ref/net10.0/System.Diagnostics.Debug.dll /reference:/home/liuan/sdk/packs/Microsoft.NETCore.App.Ref/10.0.0-alpha.1.25063.12/ref/net10.0/System.Diagnostics.DiagnosticSource.dll /reference:/home/liuan/sdk/packs/Microsoft.NETCore.App.Ref/10.0.0-alpha.1.25063.12/ref/net10.0/System.Diagnostics.FileVersionInfo.dll /reference:/home/liuan/sdk/packs/Microsoft.NETCore.App.Ref/10.0.0-alpha.1.25063.12/ref/net10.0/System.Diagnostics.Process.dll /reference:/home/liuan/sdk/packs/Microsoft.NETCore.App.Ref/10.0.0-alpha.1.25063.12/ref/net10.0/System.Diagnostics.StackTrace.dll /reference:/home/liuan/sdk/packs/Microsoft.NETCore.App.Ref/10.0.0-alpha.1.25063.12/ref/net10.0/System.Diagnostics.TextWriterTraceListener.dll /reference:/home/liuan/sdk/packs/Microsoft.NETCore.App.Ref/10.0.0-alpha.1.25063.12/ref/net10.0/System.Diagnostics.Tools.dll /reference:/home/liuan/sdk/packs/Microsoft.NETCore.App.Ref/10.0.0-alpha.1.25063.12/ref/net10.0/System.Diagnostics.TraceSource.dll /reference:/home/liuan/sdk/packs/Microsoft.NETCore.App.Ref/10.0.0-alpha.1.25063.12/ref/net10.0/System.Diagnostics.Tracing.dll /reference:/home/liuan/sdk/packs/Microsoft.NETCore.App.Ref/10.0.0-alpha.1.25063.12/ref/net10.0/System.dll /reference:/home/liuan/sdk/packs/Microsoft.NETCore.App.Ref/10.0.0-alpha.1.25063.12/ref/net10.0/System.Drawing.dll /reference:/home/liuan/sdk/packs/Microsoft.NETCore.App.Ref/10.0.0-alpha.1.25063.12/ref/net10.0/System.Drawing.Primitives.dll /reference:/home/liuan/sdk/packs/Microsoft.NETCore.App.Ref/10.0.0-alpha.1.25063.12/ref/net10.0/System.Dynamic.Runtime.dll /reference:/home/liuan/sdk/packs/Microsoft.NETCore.App.Ref/10.0.0-alpha.1.25063.12/ref/net10.0/System.Formats.Asn1.dll /reference:/home/liuan/sdk/packs/Microsoft.NETCore.App.Ref/10.0.0-alpha.1.25063.12/ref/net10.0/System.Formats.Tar.dll /reference:/home/liuan/sdk/packs/Microsoft.NETCore.App.Ref/10.0.0-alpha.1.25063.12/ref/net10.0/System.Globalization.Calendars.dll /reference:/home/liuan/sdk/packs/Microsoft.NETCore.App.Ref/10.0.0-alpha.1.25063.12/ref/net10.0/System.Globalization.dll /reference:/home/liuan/sdk/packs/Microsoft.NETCore.App.Ref/10.0.0-alpha.1.25063.12/ref/net10.0/System.Globalization.Extensions.dll /reference:/home/liuan/sdk/packs/Microsoft.NETCore.App.Ref/10.0.0-alpha.1.25063.12/ref/net10.0/System.IO.Compression.Brotli.dll /reference:/home/liuan/sdk/packs/Microsoft.NETCore.App.Ref/10.0.0-alpha.1.25063.12/ref/net10.0/System.IO.Compression.dll /reference:/home/liuan/sdk/packs/Microsoft.NETCore.App.Ref/10.0.0-alpha.1.25063.12/ref/net10.0/System.IO.Compression.FileSystem.dll /reference:/home/liuan/sdk/packs/Microsoft.NETCore.App.Ref/10.0.0-alpha.1.25063.12/ref/net10.0/System.IO.Compression.ZipFile.dll /reference:/home/liuan/sdk/packs/Microsoft.NETCore.App.Ref/10.0.0-alpha.1.25063.12/ref/net10.0/System.IO.dll /reference:/home/liuan/sdk/packs/Microsoft.NETCore.App.Ref/10.0.0-alpha.1.25063.12/ref/net10.0/System.IO.FileSystem.AccessControl.dll /reference:/home/liuan/sdk/packs/Microsoft.NETCore.App.Ref/10.0.0-alpha.1.25063.12/ref/net10.0/System.IO.FileSystem.dll /reference:/home/liuan/sdk/packs/Microsoft.NETCore.App.Ref/10.0.0-alpha.1.25063.12/ref/net10.0/System.IO.FileSystem.DriveInfo.dll /reference:/home/liuan/sdk/packs/Microsoft.NETCore.App.Ref/10.0.0-alpha.1.25063.12/ref/net10.0/System.IO.FileSystem.Primitives.dll /reference:/home/liuan/sdk/packs/Microsoft.NETCore.App.Ref/10.0.0-alpha.1.25063.12/ref/net10.0/System.IO.FileSystem.Watcher.dll /reference:/home/liuan/sdk/packs/Microsoft.NETCore.App.Ref/10.0.0-alpha.1.25063.12/ref/net10.0/System.IO.IsolatedStorage.dll /reference:/home/liuan/sdk/packs/Microsoft.NETCore.App.Ref/10.0.0-alpha.1.25063.12/ref/net10.0/System.IO.MemoryMappedFiles.dll /reference:/home/liuan/sdk/packs/Microsoft.NETCore.App.Ref/10.0.0-alpha.1.25063.12/ref/net10.0/System.IO.Pipelines.dll /reference:/home/liuan/sdk/packs/Microsoft.NETCore.App.Ref/10.0.0-alpha.1.25063.12/ref/net10.0/System.IO.Pipes.AccessControl.dll /reference:/home/liuan/sdk/packs/Microsoft.NETCore.App.Ref/10.0.0-alpha.1.25063.12/ref/net10.0/System.IO.Pipes.dll /reference:/home/liuan/sdk/packs/Microsoft.NETCore.App.Ref/10.0.0-alpha.1.25063.12/ref/net10.0/System.IO.UnmanagedMemoryStream.dll /reference:/home/liuan/sdk/packs/Microsoft.NETCore.App.Ref/10.0.0-alpha.1.25063.12/ref/net10.0/System.Linq.dll /reference:/home/liuan/sdk/packs/Microsoft.NETCore.App.Ref/10.0.0-alpha.1.25063.12/ref/net10.0/System.Linq.Expressions.dll /reference:/home/liuan/sdk/packs/Microsoft.NETCore.App.Ref/10.0.0-alpha.1.25063.12/ref/net10.0/System.Linq.Parallel.dll /reference:/home/liuan/sdk/packs/Microsoft.NETCore.App.Ref/10.0.0-alpha.1.25063.12/ref/net10.0/System.Linq.Queryable.dll /reference:/home/liuan/sdk/packs/Microsoft.NETCore.App.Ref/10.0.0-alpha.1.25063.12/ref/net10.0/System.Memory.dll /reference:/home/liuan/sdk/packs/Microsoft.NETCore.App.Ref/10.0.0-alpha.1.25063.12/ref/net10.0/System.Net.dll /reference:/home/liuan/sdk/packs/Microsoft.NETCore.App.Ref/10.0.0-alpha.1.25063.12/ref/net10.0/System.Net.Http.dll /reference:/home/liuan/sdk/packs/Microsoft.NETCore.App.Ref/10.0.0-alpha.1.25063.12/ref/net10.0/System.Net.Http.Json.dll /reference:/home/liuan/sdk/packs/Microsoft.NETCore.App.Ref/10.0.0-alpha.1.25063.12/ref/net10.0/System.Net.HttpListener.dll /reference:/home/liuan/sdk/packs/Microsoft.NETCore.App.Ref/10.0.0-alpha.1.25063.12/ref/net10.0/System.Net.Mail.dll /reference:/home/liuan/sdk/packs/Microsoft.NETCore.App.Ref/10.0.0-alpha.1.25063.12/ref/net10.0/System.Net.NameResolution.dll /reference:/home/liuan/sdk/packs/Microsoft.NETCore.App.Ref/10.0.0-alpha.1.25063.12/ref/net10.0/System.Net.NetworkInformation.dll /reference:/home/liuan/sdk/packs/Microsoft.NETCore.App.Ref/10.0.0-alpha.1.25063.12/ref/net10.0/System.Net.Ping.dll /reference:/home/liuan/sdk/packs/Microsoft.NETCore.App.Ref/10.0.0-alpha.1.25063.12/ref/net10.0/System.Net.Primitives.dll /reference:/home/liuan/sdk/packs/Microsoft.NETCore.App.Ref/10.0.0-alpha.1.25063.12/ref/net10.0/System.Net.Quic.dll /reference:/home/liuan/sdk/packs/Microsoft.NETCore.App.Ref/10.0.0-alpha.1.25063.12/ref/net10.0/System.Net.Requests.dll /reference:/home/liuan/sdk/packs/Microsoft.NETCore.App.Ref/10.0.0-alpha.1.25063.12/ref/net10.0/System.Net.Security.dll /reference:/home/liuan/sdk/packs/Microsoft.NETCore.App.Ref/10.0.0-alpha.1.25063.12/ref/net10.0/System.Net.ServicePoint.dll /reference:/home/liuan/sdk/packs/Microsoft.NETCore.App.Ref/10.0.0-alpha.1.25063.12/ref/net10.0/System.Net.Sockets.dll /reference:/home/liuan/sdk/packs/Microsoft.NETCore.App.Ref/10.0.0-alpha.1.25063.12/ref/net10.0/System.Net.WebClient.dll /reference:/home/liuan/sdk/packs/Microsoft.NETCore.App.Ref/10.0.0-alpha.1.25063.12/ref/net10.0/System.Net.WebHeaderCollection.dll /reference:/home/liuan/sdk/packs/Microsoft.NETCore.App.Ref/10.0.0-alpha.1.25063.12/ref/net10.0/System.Net.WebProxy.dll /reference:/home/liuan/sdk/packs/Microsoft.NETCore.App.Ref/10.0.0-alpha.1.25063.12/ref/net10.0/System.Net.WebSockets.Client.dll /reference:/home/liuan/sdk/packs/Microsoft.NETCore.App.Ref/10.0.0-alpha.1.25063.12/ref/net10.0/System.Net.WebSockets.dll /reference:/home/liuan/sdk/packs/Microsoft.NETCore.App.Ref/10.0.0-alpha.1.25063.12/ref/net10.0/System.Numerics.dll /reference:/home/liuan/sdk/packs/Microsoft.NETCore.App.Ref/10.0.0-alpha.1.25063.12/ref/net10.0/System.Numerics.Vectors.dll /reference:/home/liuan/sdk/packs/Microsoft.NETCore.App.Ref/10.0.0-alpha.1.25063.12/ref/net10.0/System.ObjectModel.dll /reference:/home/liuan/sdk/packs/Microsoft.NETCore.App.Ref/10.0.0-alpha.1.25063.12/ref/net10.0/System.Reflection.DispatchProxy.dll /reference:/home/liuan/sdk/packs/Microsoft.NETCore.App.Ref/10.0.0-alpha.1.25063.12/ref/net10.0/System.Reflection.dll /reference:/home/liuan/sdk/packs/Microsoft.NETCore.App.Ref/10.0.0-alpha.1.25063.12/ref/net10.0/System.Reflection.Emit.dll /reference:/home/liuan/sdk/packs/Microsoft.NETCore.App.Ref/10.0.0-alpha.1.25063.12/ref/net10.0/System.Reflection.Emit.ILGeneration.dll /reference:/home/liuan/sdk/packs/Microsoft.NETCore.App.Ref/10.0.0-alpha.1.25063.12/ref/net10.0/System.Reflection.Emit.Lightweight.dll /reference:/home/liuan/sdk/packs/Microsoft.NETCore.App.Ref/10.0.0-alpha.1.25063.12/ref/net10.0/System.Reflection.Extensions.dll /reference:/home/liuan/sdk/packs/Microsoft.NETCore.App.Ref/10.0.0-alpha.1.25063.12/ref/net10.0/System.Reflection.Metadata.dll /reference:/home/liuan/sdk/packs/Microsoft.NETCore.App.Ref/10.0.0-alpha.1.25063.12/ref/net10.0/System.Reflection.Primitives.dll /reference:/home/liuan/sdk/packs/Microsoft.NETCore.App.Ref/10.0.0-alpha.1.25063.12/ref/net10.0/System.Reflection.TypeExtensions.dll /reference:/home/liuan/sdk/packs/Microsoft.NETCore.App.Ref/10.0.0-alpha.1.25063.12/ref/net10.0/System.Resources.Reader.dll /reference:/home/liuan/sdk/packs/Microsoft.NETCore.App.Ref/10.0.0-alpha.1.25063.12/ref/net10.0/System.Resources.ResourceManager.dll /reference:/home/liuan/sdk/packs/Microsoft.NETCore.App.Ref/10.0.0-alpha.1.25063.12/ref/net10.0/System.Resources.Writer.dll /reference:/home/liuan/sdk/packs/Microsoft.NETCore.App.Ref/10.0.0-alpha.1.25063.12/ref/net10.0/System.Runtime.CompilerServices.Unsafe.dll /reference:/home/liuan/sdk/packs/Microsoft.NETCore.App.Ref/10.0.0-alpha.1.25063.12/ref/net10.0/System.Runtime.CompilerServices.VisualC.dll /reference:/home/liuan/sdk/packs/Microsoft.NETCore.App.Ref/10.0.0-alpha.1.25063.12/ref/net10.0/System.Runtime.dll /reference:/home/liuan/sdk/packs/Microsoft.NETCore.App.Ref/10.0.0-alpha.1.25063.12/ref/net10.0/System.Runtime.Extensions.dll /reference:/home/liuan/sdk/packs/Microsoft.NETCore.App.Ref/10.0.0-alpha.1.25063.12/ref/net10.0/System.Runtime.Handles.dll /reference:/home/liuan/sdk/packs/Microsoft.NETCore.App.Ref/10.0.0-alpha.1.25063.12/ref/net10.0/System.Runtime.InteropServices.dll /reference:/home/liuan/sdk/packs/Microsoft.NETCore.App.Ref/10.0.0-alpha.1.25063.12/ref/net10.0/System.Runtime.InteropServices.JavaScript.dll /reference:/home/liuan/sdk/packs/Microsoft.NETCore.App.Ref/10.0.0-alpha.1.25063.12/ref/net10.0/System.Runtime.InteropServices.RuntimeInformation.dll /reference:/home/liuan/sdk/packs/Microsoft.NETCore.App.Ref/10.0.0-alpha.1.25063.12/ref/net10.0/System.Runtime.Intrinsics.dll /reference:/home/liuan/sdk/packs/Microsoft.NETCore.App.Ref/10.0.0-alpha.1.25063.12/ref/net10.0/System.Runtime.Loader.dll /reference:/home/liuan/sdk/packs/Microsoft.NETCore.App.Ref/10.0.0-alpha.1.25063.12/ref/net10.0/System.Runtime.Numerics.dll /reference:/home/liuan/sdk/packs/Microsoft.NETCore.App.Ref/10.0.0-alpha.1.25063.12/ref/net10.0/System.Runtime.Serialization.dll /reference:/home/liuan/sdk/packs/Microsoft.NETCore.App.Ref/10.0.0-alpha.1.25063.12/ref/net10.0/System.Runtime.Serialization.Formatters.dll /reference:/home/liuan/sdk/packs/Microsoft.NETCore.App.Ref/10.0.0-alpha.1.25063.12/ref/net10.0/System.Runtime.Serialization.Json.dll /reference:/home/liuan/sdk/packs/Microsoft.NETCore.App.Ref/10.0.0-alpha.1.25063.12/ref/net10.0/System.Runtime.Serialization.Primitives.dll /reference:/home/liuan/sdk/packs/Microsoft.NETCore.App.Ref/10.0.0-alpha.1.25063.12/ref/net10.0/System.Runtime.Serialization.Xml.dll /reference:/home/liuan/sdk/packs/Microsoft.NETCore.App.Ref/10.0.0-alpha.1.25063.12/ref/net10.0/System.Security.AccessControl.dll /reference:/home/liuan/sdk/packs/Microsoft.NETCore.App.Ref/10.0.0-alpha.1.25063.12/ref/net10.0/System.Security.Claims.dll /reference:/home/liuan/sdk/packs/Microsoft.NETCore.App.Ref/10.0.0-alpha.1.25063.12/ref/net10.0/System.Security.Cryptography.Algorithms.dll /reference:/home/liuan/sdk/packs/Microsoft.NETCore.App.Ref/10.0.0-alpha.1.25063.12/ref/net10.0/System.Security.Cryptography.Cng.dll /reference:/home/liuan/sdk/packs/Microsoft.NETCore.App.Ref/10.0.0-alpha.1.25063.12/ref/net10.0/System.Security.Cryptography.Csp.dll /reference:/home/liuan/sdk/packs/Microsoft.NETCore.App.Ref/10.0.0-alpha.1.25063.12/ref/net10.0/System.Security.Cryptography.dll /reference:/home/liuan/sdk/packs/Microsoft.NETCore.App.Ref/10.0.0-alpha.1.25063.12/ref/net10.0/System.Security.Cryptography.Encoding.dll /reference:/home/liuan/sdk/packs/Microsoft.NETCore.App.Ref/10.0.0-alpha.1.25063.12/ref/net10.0/System.Security.Cryptography.OpenSsl.dll /reference:/home/liuan/sdk/packs/Microsoft.NETCore.App.Ref/10.0.0-alpha.1.25063.12/ref/net10.0/System.Security.Cryptography.Primitives.dll /reference:/home/liuan/sdk/packs/Microsoft.NETCore.App.Ref/10.0.0-alpha.1.25063.12/ref/net10.0/System.Security.Cryptography.X509Certificates.dll /reference:/home/liuan/sdk/packs/Microsoft.NETCore.App.Ref/10.0.0-alpha.1.25063.12/ref/net10.0/System.Security.dll /reference:/home/liuan/sdk/packs/Microsoft.NETCore.App.Ref/10.0.0-alpha.1.25063.12/ref/net10.0/System.Security.Principal.dll /reference:/home/liuan/sdk/packs/Microsoft.NETCore.App.Ref/10.0.0-alpha.1.25063.12/ref/net10.0/System.Security.Principal.Windows.dll /reference:/home/liuan/sdk/packs/Microsoft.NETCore.App.Ref/10.0.0-alpha.1.25063.12/ref/net10.0/System.Security.SecureString.dll /reference:/home/liuan/sdk/packs/Microsoft.NETCore.App.Ref/10.0.0-alpha.1.25063.12/ref/net10.0/System.ServiceModel.Web.dll /reference:/home/liuan/sdk/packs/Microsoft.NETCore.App.Ref/10.0.0-alpha.1.25063.12/ref/net10.0/System.ServiceProcess.dll /reference:/home/liuan/sdk/packs/Microsoft.NETCore.App.Ref/10.0.0-alpha.1.25063.12/ref/net10.0/System.Text.Encoding.CodePages.dll /reference:/home/liuan/sdk/packs/Microsoft.NETCore.App.Ref/10.0.0-alpha.1.25063.12/ref/net10.0/System.Text.Encoding.dll /reference:/home/liuan/sdk/packs/Microsoft.NETCore.App.Ref/10.0.0-alpha.1.25063.12/ref/net10.0/System.Text.Encoding.Extensions.dll /reference:/home/liuan/sdk/packs/Microsoft.NETCore.App.Ref/10.0.0-alpha.1.25063.12/ref/net10.0/System.Text.Encodings.Web.dll /reference:/home/liuan/sdk/packs/Microsoft.NETCore.App.Ref/10.0.0-alpha.1.25063.12/ref/net10.0/System.Text.Json.dll /reference:/home/liuan/sdk/packs/Microsoft.NETCore.App.Ref/10.0.0-alpha.1.25063.12/ref/net10.0/System.Text.RegularExpressions.dll /reference:/home/liuan/sdk/packs/Microsoft.NETCore.App.Ref/10.0.0-alpha.1.25063.12/ref/net10.0/System.Threading.Channels.dll /reference:/home/liuan/sdk/packs/Microsoft.NETCore.App.Ref/10.0.0-alpha.1.25063.12/ref/net10.0/System.Threading.dll /reference:/home/liuan/sdk/packs/Microsoft.NETCore.App.Ref/10.0.0-alpha.1.25063.12/ref/net10.0/System.Threading.Overlapped.dll /reference:/home/liuan/sdk/packs/Microsoft.NETCore.App.Ref/10.0.0-alpha.1.25063.12/ref/net10.0/System.Threading.Tasks.Dataflow.dll /reference:/home/liuan/sdk/packs/Microsoft.NETCore.App.Ref/10.0.0-alpha.1.25063.12/ref/net10.0/System.Threading.Tasks.dll /reference:/home/liuan/sdk/packs/Microsoft.NETCore.App.Ref/10.0.0-alpha.1.25063.12/ref/net10.0/System.Threading.Tasks.Extensions.dll /reference:/home/liuan/sdk/packs/Microsoft.NETCore.App.Ref/10.0.0-alpha.1.25063.12/ref/net10.0/System.Threading.Tasks.Parallel.dll /reference:/home/liuan/sdk/packs/Microsoft.NETCore.App.Ref/10.0.0-alpha.1.25063.12/ref/net10.0/System.Threading.Thread.dll /reference:/home/liuan/sdk/packs/Microsoft.NETCore.App.Ref/10.0.0-alpha.1.25063.12/ref/net10.0/System.Threading.ThreadPool.dll /reference:/home/liuan/sdk/packs/Microsoft.NETCore.App.Ref/10.0.0-alpha.1.25063.12/ref/net10.0/System.Threading.Timer.dll /reference:/home/liuan/sdk/packs/Microsoft.NETCore.App.Ref/10.0.0-alpha.1.25063.12/ref/net10.0/System.Transactions.dll /reference:/home/liuan/sdk/packs/Microsoft.NETCore.App.Ref/10.0.0-alpha.1.25063.12/ref/net10.0/System.Transactions.Local.dll /reference:/home/liuan/sdk/packs/Microsoft.NETCore.App.Ref/10.0.0-alpha.1.25063.12/ref/net10.0/System.ValueTuple.dll /reference:/home/liuan/sdk/packs/Microsoft.NETCore.App.Ref/10.0.0-alpha.1.25063.12/ref/net10.0/System.Web.dll /reference:/home/liuan/sdk/packs/Microsoft.NETCore.App.Ref/10.0.0-alpha.1.25063.12/ref/net10.0/System.Web.HttpUtility.dll /reference:/home/liuan/sdk/packs/Microsoft.NETCore.App.Ref/10.0.0-alpha.1.25063.12/ref/net10.0/System.Windows.dll /reference:/home/liuan/sdk/packs/Microsoft.NETCore.App.Ref/10.0.0-alpha.1.25063.12/ref/net10.0/System.Xml.dll /reference:/home/liuan/sdk/packs/Microsoft.NETCore.App.Ref/10.0.0-alpha.1.25063.12/ref/net10.0/System.Xml.Linq.dll /reference:/home/liuan/sdk/packs/Microsoft.NETCore.App.Ref/10.0.0-alpha.1.25063.12/ref/net10.0/System.Xml.ReaderWriter.dll /reference:/home/liuan/sdk/packs/Microsoft.NETCore.App.Ref/10.0.0-alpha.1.25063.12/ref/net10.0/System.Xml.Serialization.dll /reference:/home/liuan/sdk/packs/Microsoft.NETCore.App.Ref/10.0.0-alpha.1.25063.12/ref/net10.0/System.Xml.XDocument.dll /reference:/home/liuan/sdk/packs/Microsoft.NETCore.App.Ref/10.0.0-alpha.1.25063.12/ref/net10.0/System.Xml.XmlDocument.dll /reference:/home/liuan/sdk/packs/Microsoft.NETCore.App.Ref/10.0.0-alpha.1.25063.12/ref/net10.0/System.Xml.XmlSerializer.dll /reference:/home/liuan/sdk/packs/Microsoft.NETCore.App.Ref/10.0.0-alpha.1.25063.12/ref/net10.0/System.Xml.XPath.dll /reference:/home/liuan/sdk/packs/Microsoft.NETCore.App.Ref/10.0.0-alpha.1.25063.12/ref/net10.0/System.Xml.XPath.XDocument.dll /reference:/home/liuan/sdk/packs/Microsoft.NETCore.App.Ref/10.0.0-alpha.1.25063.12/ref/net10.0/WindowsBase.dll /debug- /debug:portable /filealign:512 /optimize+ /out:obj/Release/net10.0/linux-loongarch64/hello.dll /refout:obj/Release/net10.0/linux-loongarch64/refint/hello.dll /target:exe /warnaserror- /utf8output /deterministic+ /langversion:13.0 /analyzerconfig:/home/liuan/sdk/sdk/10.0.100-alpha.1.25066.1/Sdks/Microsoft.NET.Sdk/codestyle/cs/build/config/analysislevelstyle_default.globalconfig /analyzerconfig:obj/Release/net10.0/linux-loongarch64/hello.GeneratedMSBuildEditorConfig.editorconfig /analyzer:/home/liuan/sdk/sdk/10.0.100-alpha.1.25066.1/Sdks/Microsoft.NET.Sdk/targets/../analyzers/Microsoft.CodeAnalysis.CSharp.NetAnalyzers.dll /analyzer:/home/liuan/sdk/sdk/10.0.100-alpha.1.25066.1/Sdks/Microsoft.NET.Sdk/targets/../analyzers/Microsoft.CodeAnalysis.NetAnalyzers.dll /analyzer:/home/liuan/.nuget/packages/microsoft.net.illink.tasks/10.0.0-alpha.1.25063.12/analyzers/dotnet/cs/ILLink.CodeFixProvider.dll /analyzer:/home/liuan/.nuget/packages/microsoft.net.illink.tasks/10.0.0-alpha.1.25063.12/analyzers/dotnet/cs/ILLink.RoslynAnalyzer.dll /analyzer:/home/liuan/sdk/packs/Microsoft.NETCore.App.Ref/10.0.0-alpha.1.25063.12/analyzers/dotnet/cs/Microsoft.Interop.ComInterfaceGenerator.dll /analyzer:/home/liuan/sdk/packs/Microsoft.NETCore.App.Ref/10.0.0-alpha.1.25063.12/analyzers/dotnet/cs/Microsoft.Interop.JavaScript.JSImportGenerator.dll /analyzer:/home/liuan/sdk/packs/Microsoft.NETCore.App.Ref/10.0.0-alpha.1.25063.12/analyzers/dotnet/cs/Microsoft.Interop.LibraryImportGenerator.dll /analyzer:/home/liuan/sdk/packs/Microsoft.NETCore.App.Ref/10.0.0-alpha.1.25063.12/analyzers/dotnet/cs/Microsoft.Interop.SourceGeneration.dll /analyzer:/home/liuan/sdk/packs/Microsoft.NETCore.App.Ref/10.0.0-alpha.1.25063.12/analyzers/dotnet/cs/System.Text.Json.SourceGeneration.dll /analyzer:/home/liuan/sdk/packs/Microsoft.NETCore.App.Ref/10.0.0-alpha.1.25063.12/analyzers/dotnet/cs/System.Text.RegularExpressions.Generator.dll Program.cs obj/Release/net10.0/linux-loongarch64/hello.GlobalUsings.g.cs "obj/Release/net10.0/linux-loongarch64/.NETCoreApp,Version=v10.0.AssemblyAttributes.cs" obj/Release/net10.0/linux-loongarch64/hello.AssemblyInfo.cs /warnaserror+:NU1605,SYSLIB0011

The IsReadyToRunPlatformNeutral criterion on LoongArch64 holds for hello.dll because it is in PE32 format. So the reason for generating PE32+files on ARM64 is because /platform:arm64 ?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@am11 @jkotas Thank you for your help. I understand now. I have updated the architecture.LoongArch64 and removing unnecessary code modifications. The single file 'hello world' published with three parameters - p: PublicSingleFile=true - p: SelfContaining=true - p: PublicReadyToRun=true. is now working properly on LoongArch64.

} PEKIND;

struct AssemblyNameData
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -69,6 +69,12 @@ public TargetInfo(OSPlatform? os, Architecture? arch, Version targetFrameworkVer
// See https://github.com/dotnet/runtime/issues/41832.
AssemblyAlignment = 4096;
}
else if (Arch == (Architecture)6 /* Architecture.LoongArch64 */)
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Do you see a build break in current main if you use Architecture.LoongArch64? I would expect Architecture.LoongArch64 to be available in the current main.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ah ok ... I guess it is needed for .NET Framework target.

Copy link
Member

@am11 am11 Apr 15, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@ViktorHofer updated the HostModel project to multi-target recently, if we want, we can use preprocessors in more places:

#if NET
else if (Arch == Architecture.LoongArch64)
...
#endif

(assuming nobody will be publishing for LA64 from VS under .NET Framework)

Copy link
Contributor

@GerardSmit GerardSmit Apr 16, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

With extensions everything, the following is now possible:

#if NETFRAMEWORK
internal static class ArchitectureExtensions
{
     extension(Architecture)
     {
         public static Architecture LoongArch64 => (Architecture)6;
     }
}
#endif

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@lawn123 if you want to use the new extensions syntax:
TargetInfo.cs.txt

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Merge upstream main to your PR branch, git clean and rebuild.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ok, I'll give it a try.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thank you, after synchronization, it can be compiled correctly.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Great! There was a compiler upgrade, which brought the new extension-everything feature.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

TargetInfo.cs.txt

I have updated.

{
// We align assemblies in the bundle at 16K so that we can use mmap on Unix without changing the page alignment of LOONGARCH64 R2R code.
// This is only necessary for R2R assemblies, but we do it for all assemblies for simplicity.
AssemblyAlignment = 16384;
}
else
{
// Otherwise, assemblies are 64 bytes aligned, so that their sections can be memory-mapped cache aligned.
Expand Down
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<AssemblyName>HelloWorld</AssemblyName>
Expand All @@ -9,7 +9,7 @@

<!-- Set the RID when building on a platform where we support self-contained + apphost -->
<_SupportedPlatform Condition="'$(TargetsLinux)' == 'true' or '$(TargetsOSX)' == 'true' or '$(TargetsWindows)' == 'true'">true</_SupportedPlatform>
<_SupportedArchitecture Condition="'$(TargetArchitecture)' == 'x64' or '$(TargetArchitecture)' == 'x86' or '$(TargetArchitecture)' == 'arm' or'$(TargetArchitecture)' == 'arm64'">true</_SupportedArchitecture>
<_SupportedArchitecture Condition="'$(TargetArchitecture)' == 'x64' or '$(TargetArchitecture)' == 'x86' or '$(TargetArchitecture)' == 'arm' or'$(TargetArchitecture)' == 'arm64' or '$(TargetArchitecture)' == 'loongarch64'">true</_SupportedArchitecture>
Copy link
Member

@am11 am11 Apr 15, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
<_SupportedArchitecture Condition="'$(TargetArchitecture)' == 'x64' or '$(TargetArchitecture)' == 'x86' or '$(TargetArchitecture)' == 'arm' or'$(TargetArchitecture)' == 'arm64' or '$(TargetArchitecture)' == 'loongarch64'">true</_SupportedArchitecture>
<_SupportedArchitecture Condition="'$(TargetArchitecture)' == 'x64' or '$(TargetArchitecture)' == 'x86' or '$(TargetArchitecture)' == 'arm' or '$(TargetArchitecture)' == 'arm64' or '$(TargetArchitecture)' == 'loongarch64'">true</_SupportedArchitecture>

(space after or)

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thank you for your suggestion. I will modify it.

<RuntimeIdentifier Condition="'$(_SupportedPlatform)' == 'true' and '$(_SupportedArchitecture)' == 'true'">$(OutputRID)</RuntimeIdentifier>
</PropertyGroup>
</Project>
Original file line number Diff line number Diff line change
Expand Up @@ -309,7 +309,7 @@ public void AssemblyAlignment()
Bundler bundler = CreateBundlerInstance();
bundler.GenerateBundle(fileSpecs);

var alignment = OperatingSystem.IsLinux() && RuntimeInformation.OSArchitecture == Architecture.Arm64 ? 4096 : 16;
var alignment = OperatingSystem.IsLinux() && RuntimeInformation.OSArchitecture == Architecture.Arm64 ? 4096 : (OperatingSystem.IsLinux() && RuntimeInformation.OSArchitecture == (Architecture)6 ? 16384 : 16);
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
var alignment = OperatingSystem.IsLinux() && RuntimeInformation.OSArchitecture == Architecture.Arm64 ? 4096 : (OperatingSystem.IsLinux() && RuntimeInformation.OSArchitecture == (Architecture)6 ? 16384 : 16);
var alignment = OperatingSystem.IsLinux() && RuntimeInformation.OSArchitecture == Architecture.Arm64 ? 4096 : (OperatingSystem.IsLinux() && RuntimeInformation.OSArchitecture == Architecture.LoongArch64 ? 16384 : 16);

It should be always available here

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thank you for your suggestion. I will modify it

bundler.BundleManifest.Files.ForEach(file =>
Assert.True((file.Type != FileType.Assembly) || (file.Offset % alignment == 0)));
}
Expand Down