-
Notifications
You must be signed in to change notification settings - Fork 509
[armel] ilc utility for armel/tizen #4880
Comments
@dotnet/arm32-corert-contrib |
As I see we need armel/tizen version of |
I think you want to build |
@jkotas |
.NET Core Linux x86 packages are not getting published today. You would need to build them yourself. Alternative is to use 64-bit ILCompiler and x64 host / arm target RyuJIT. @echesakovMSFT has been doing work on RyuJIT to make this kind of cross-targeting possible (see e.g. dotnet/coreclr#15524). |
@jkotas Thanks
It's bad news. No any plans for x86? It's just strange that there is even an arm, arm ilc as netcoreapp, but there is no x86. The main question in this direction: how can I build x86 ilc? Or should I use the old method with corerun?
As far as I remember, not so long ago everyone claimed that it was rather difficult to do, since it would take CoreCLR ton changes. Has it changed? Is it possible? |
Linux x86 is in the list of what we would like to have. It just was not important enough to get traction and community is not pushing for it. (I know your team have done a bunch of work on it a while ago).
I think you meant where to get Linux x86 CoreCLR to run ilc on. corerun should work fine for it if you do not want to go all the way to
The rather difficult part is fixing up the whole (fragile) crossgen to be cross-bitness. ilc needs just the RyuJIT. Fixing RyuJIT for cross-bitness should not be that difficult.
Either way, it is a new build flavor of JIT that is not building today. I think enabling armelnonjit to build during x64 build maybe the most staightforward way to create it, but it is certainly not the only option. |
@jkotas |
@BredPet Here is the CoreCLR issue that tracks the cross-bitness RyuJIT: https://github.com/dotnet/coreclr/issues/16513 |
@jkotas Thanks. I checked CoreCLR with @echesakovMSFT commits. After some changes, the ILC compilation is successful, the binaries are the same byte size. But there are some invalid instructions (it seems inherent in the broader x64 types). I think x64 cross-mode is not yet ready at all, there are still a lot of bugs. For example one of the main problems is that in the CoreCLR PAL headers - are determined architecturally dependent size_t and ptrdiff_t. Then they are used in many places of code generation. |
Just now
ilc
is not built for armel/tizen platform so we use the old command form./corerun ilc.dll @rsp-file
while on linux x64 platform the command./ilc @rsp-file
is used.The text was updated successfully, but these errors were encountered: