Closed gruxor closed 7 months ago
Yes, as you guessed: This is an issue with the compiler built-ins crate providing a symbol that the gba crate also provides (since it's standard ARM function it's got a standard name so llvm can link to it). I thought we'd fixed this but i guess there's some sort of regression going on. I will attempt to look into it tomorrow. I expect the fix to be small, but even if so it will probably be a few days minimum for an updated compiler_builtins crate to get out to Nightly.
If you want to get a temporary fix immediately while also using latest Nightly you can clone this repo and delete those two functions and it should build. However, using a Nightly from May is probably also fine until this gets sorted out.
There's a work around: https://github.com/rust-lang/compiler-builtins/issues/533#issuecomment-1631869408
Since there's been no movement in a while, I just put this info in the README and I guess it's "fine".
Title, more or less. Getting the following:
Issue occurs even with a barebones/brand new project, just by importing the prelude or anything that uses the above MMIO functions. I'm guessing they implemented these functions on the target with the same names, but I'm not familiar enough with the guts of the toolchain to know one way or the other.
Did do some minor testing to see roughly when it started, it appears
nightly-2023-05-01-x86_64-pc-windows-msvc
works butnightly-2023-06-01-x86_64-pc-windows-msvc
doesn't, so it's a change sometime in May. Didn't test this on other operating systems yet, could be isolated to Windows.