-
Notifications
You must be signed in to change notification settings - Fork 4.6k
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
Illegal Instruction running on ARMv7 SAMA5D31 processor despite cmakeargs DCLR_ARM_FPU_CAPABILITY=0x3 and DCLR_ARM_FPU_TYPE=vfpv3-d16 #32029
Comments
@franksinankaya @am11 Would you be interested in helping to get this fixed? |
@jkotas : can you provide some more details on what needs to be done? |
I would move this:
runtime/src/coreclr/configurecompiler.cmake Line 381 in fcfb4b8
to https://github.com/dotnet/runtime/blob/master/eng/native/configureplatform.cmake (?) so that it is used by everything in the project. |
Hello dotnet team, Thank you for the quick turn around on this issue. Unfortunately I still run into the Illegal Instruction. I did a git pull of the master branch on dotnet/runtime, and am on the git hash of 8c10a98 . I rebuilt the runtime using the following command (after deleting the artifacts folder):
I send artifacts/packages/Release/Shipping/dotnet-runtime-5.0.0-dev-linux-arm.tar.gz to my device under a dotnet-lib folder, and then extract. I also used this dotnet core-sdk release to build my hello world bytecode:
I compile the bytecode using:
I then send the contents of bin/Release/netcoreapp5.0/* to my application into a helloworld folder. On my device I run it like so:
Here it is again, but with COREHOST_TRACE=1:
Is there something wrong with my method? Is there some other kind of information I can provide to help diagnose the issue? Any help is greatly appreciated. Thanks! Calder |
@calderhayes, I was waiting for #32115 to go in so we get all changes in the master branch. Or you could switch to |
@am11 that worked!! Thank you all for your quick assistance! Calder |
FYI I also confirmed this on latest master (git hash c4683fb ). Thanks again. |
Hello dotnet team, I am having trouble with a cross compiled dotnet hello world application.
I am building on linux 64bit for an ARM processor (SAMA5D31) with the following information:
I keep receiving "Illegal Instruction" when running my code on the ARM machine.
I have been following the directions from "Build CoreCLR on Linux" (docker method), and the following issues:
#9969
dotnet/coreclr#27890
#546
#471
I have built both dotnet/coreclr (git hash a9f3fc16483eecfc47fb79c362811d870be02249 dotnet version 3.1) and dotnet/runtime (git hash 516956a dotnet version 5.0.0-dev).
My command to build the runtime for dotnet coreclr is:
sudo docker run --rm -v /media/calder/secondary/git/coreclr:/coreclr -w /coreclr -e ROOTFS_DIR=/crossrootfs/arm mcr.microsoft.com/dotnet-buildtools/prereqs:ubuntu-16.04-cross-14.04-23cacb0-20190923200213 ./build.sh -arm -release -cross -stripsymbols -cmakeargs -DCLR_ARM_FPU_CAPABILITY=0x3 -cmakeargs -DCLR_ARM_FPU_TYPE=vfpv3-d16
My command to build the runtime for dotnet runtime is:
sudo docker run --rm -v /media/calder/secondary/git/runtime:/runtime -w /runtime -e ROOTFS_DIR=/crossrootfs/arm mcr.microsoft.com/dotnet-buildtools/prereqs:ubuntu-16.04-cross-14.04-23cacb0-20191023143847 ./build.sh --arch arm --cross --cmakeargs -DCLR_ARM_FPU_CAPABILITY=0x3 --cmakeargs -DCLR_ARM_FPU_TYPE=vfpv3-d16 --clang9 --configuration Release
Not sure if this is relevant but out dotnet comment section is:
My simple hello world application is made using my standard dotnet command to compile helloworld.
I have tried building just the byte code and using it with the runtime (this is using my usual linux64 dotnet compiler):
dotnet build -c Release
I then pass my bytecode in (bin/Release/netcoreapp3.1/) along with the compiled runtime to my ARM machine and run with:
~/dotnet-lib/dotnet helloworld.dll
I have tried this with both 3.1/5.0.0-dev.
I have also tried building a self contained executable:
dotnet publish --self-contained -r linux-arm
And then replacing dlls and .so files with my runtime libraries, but the same issue occurs.
Dependencies such as stdlibc++6 has been compiled for ARM as well.
I requested help from my colleague who is more experienced with embedded systems. He provided some stacktraces:
And then this conversation:
So from what I can tell, one of two things could be happening:
Any assistance would be greatly appreciated.
Thanks,
Calder
The text was updated successfully, but these errors were encountered: