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
Hello everyone, I have been working on implementing Rust std for the UEFI target as a part of GSoC 2022. It is now finally possible to run Rust tests in UEFI using qemu and remote-test-server. While many tests fail for one reason or another, a few tests (mainly numeric ones) seem to cause different types of CPU exceptions rather than panics. So I thought it might be a good idea to open bugs for these issues.
The first one in this list is src/test/ui/numbers-arithmetic/i128.rs. After some testing, I have come up with a simpler example that produces a similar exception in UEFI:
fnmain(){use std::hint::black_box as b;let z:i128 = b(1);assert!((-z asf64) < 0.0);}
I have also attached an archive containing the Assembly, executable and .pdb file for the above example. Additionally, if anyone wants to try running the actual example/test themselves, you can use my blog post to try it out.
Hello everyone, I have been working on implementing Rust std for the UEFI target as a part of GSoC 2022. It is now finally possible to run Rust tests in UEFI using qemu and
remote-test-server
. While many tests fail for one reason or another, a few tests (mainly numeric ones) seem to cause different types of CPU exceptions rather than panics. So I thought it might be a good idea to open bugs for these issues.The first one in this list is
src/test/ui/numbers-arithmetic/i128.rs
. After some testing, I have come up with a simpler example that produces a similar exception in UEFI:The exception output is:
From my testing, the exception only occurs when a few conditions are met.
i128
is in a black_box. Does not occur ifblack_box
is not present.i128
.i64
or something else work fine.-z
. Doing the same with+z
is fine.Some discussions about this issue have already taken place in the zulipchat and edk2 mailing list.
I have also attached an archive containing the Assembly, executable and .pdb file for the above example. Additionally, if anyone wants to try running the actual example/test themselves, you can use my blog post to try it out.
hello_world_std.zip
The text was updated successfully, but these errors were encountered: