-
Notifications
You must be signed in to change notification settings - Fork 13.3k
rustc ICE while building proc-macro2 from cbindgen with cross-built 1.74.1 on mipsel-unknown-netbsd #118978
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
Comments
This doesn't appear to be a resource shortage issue, the virtual size of rustc at the time of ICE was around 230MB, and doing "unlimit datasize" before building makes no difference. |
Yikes I just tried using Miri to replicate such a cross-build, and got these compile errors from
Have you patched std to fix this? |
Yes, we found that Let's see... That's #116665. I have re-tried with binaries of rust 1.73.1 (fails the same way as 1.74.1) and 1.72.1, which comes across this hurdle. The slow build on my qemu-hosted mips32-based "mipsel" host has now come to
and is still going. I have a suspicion that this is an LLVM issue -- all these rust variants were (cross-)built with the LLVM which comes embedded in the rust compiler source tar file. And I have a further vague suspicion that this is a CPU-family issue and not a OS/platform issue, so re-trying this with one of the Linux mipsel targets should (if my suspcion is correct) reproduce the issue. |
It would not at all surprise me if this is just another MIPS miscompilation. |
Just for reference:
|
However, building rust 1.74.1 natively with an external LLVM (which might make 1.74.1 succeed) presents its own set of challenges, due to this platform's inability to handle sufficient physical memory to make such a build feasible within finite time. I've maxed out the VM with 512MB "physical" memory, and that will just be inadequate to host a native build of rust. The only hope (which I've not yet set up), is to use a 32-bit chroot inside a 64-bit mips64 system (which can handle more physical memory). |
Code
Actually, "try to build cbindgen" is the test case.
Meta
rustc --version --verbose
:Error output
Backtrace
See above. I think that's already included...
The text was updated successfully, but these errors were encountered: