You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This in turn pulls in code in src/installer/managed/Microsoft.NET.HostModel/AppHost/MachOUtils.cs to manipulate MachO binaries, but that whole file unfortunately fundamentally seems to assume little-endian byte order, as it just mmaps the binary and then overlays structures over the mmap.
So the question is, what is the best way to fix this? Of course, we could try to rewrite MachOUtils.cs to be endian-independent. But I'm wondering if we even need to build this on s390x? Do you think it would make sense to skip building dotnet-pgo completely (or at least building the osx-x64 shim), either whenever PrimaryRuntimeFlavor is Mono or specificially just on s390x due to the endian issue?
Are the tools in dotnet-pgo even useful at all on a system where we're not supporting CoreCLR at all?
This in turn pulls in code in src/installer/managed/Microsoft.NET.HostModel/AppHost/MachOUtils.cs to manipulate MachO binaries, but that whole file unfortunately fundamentally seems to assume little-endian byte order, as it just mmaps the binary and then overlays structures over the mmap.
So the question is, what is the best way to fix this? Of course, we could try to rewrite MachOUtils.cs to be endian-independent. But I'm wondering if we even need to build this on s390x? Do you think it would make sense to skip building dotnet-pgo completely (or at least building the osx-x64 shim), either whenever PrimaryRuntimeFlavor is Mono or specificially just on s390x due to the endian issue?
Are the tools in dotnet-pgo even useful at all on a system where we're not supporting CoreCLR at all?
From #72394:
The problem seems to be that the new
mono.tools
subset now buildsdotnet-pgo.csproj
, which tries to create anosx-x64
shim apphost:This in turn pulls in code in
src/installer/managed/Microsoft.NET.HostModel/AppHost/MachOUtils.cs
to manipulate MachO binaries, but that whole file unfortunately fundamentally seems to assume little-endian byte order, as it just mmaps the binary and then overlays structures over the mmap.So the question is, what is the best way to fix this? Of course, we could try to rewrite
MachOUtils.cs
to be endian-independent. But I'm wondering if we even need to build this on s390x? Do you think it would make sense to skip buildingdotnet-pgo
completely (or at least building theosx-x64
shim), either wheneverPrimaryRuntimeFlavor
isMono
or specificially just on s390x due to the endian issue?Are the tools in
dotnet-pgo
even useful at all on a system where we're not supporting CoreCLR at all?Originally posted by @uweigand in #72394 (comment)
The text was updated successfully, but these errors were encountered: