-
Notifications
You must be signed in to change notification settings - Fork 168
Version 0.7.0 : Failed to load bc of "cortex_m-[...].cortex_m.[...]-cgu.0.rcgu.o" #310
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
Hi, thanks for reporting! As you identified, the problem is having multiple versions of cortex-m in one project, which can't co-exist. In fact, We added a warning message in cortex-m v0.6.1 (using the Cargo Right now, it will be required that the PACs such as stm32f3 upgrade to use cortex-m 0.7 first, before it's possible to also use 0.7 in your own applications. We might be able to make them work together with a new 0.6.5 release, but that's still being looked at. For the time being, you should probably just keep using the 0.6.4 version. |
Yes it's The tree (with
|
We've now released 0.6.5, so this issue should be resolved - you can build with both 0.6 and 0.7 series crates in the same project. You may need to run |
Great job, nice! |
Hi, @adamgreig! Unfortunately I'm running into this same issue. Below is my memory.x and the result of cargo tree (only >0.6.5 or 0.7.x versions of cortex-m).
Let me know if there's any other way I can help. |
For anyone else seeing this issue from Google: Removing the dependency on |
This looks like a slightly different error - instead of |
310: Only emit link_section for cortex-m r=jonas-schievink a=adamgreig Previously we always emitted `link_section`, even though it only had an effect when our linker script was being used (and only made sense on cortex-m targets). This breaks building the code for a MacOS target, which is occasionally useful for running `cargo check` etc. In the macros crate we don't have the target information available, so instead we continue to emit `link_section` except specifically on MacOS. This keeps the fix from #306 but hopefully resolves the confusion in rust-embedded/cortex-m-rt#74 (comment). Co-authored-by: Adam Greig <[email protected]>
Uh oh!
There was an error while loading. Please reload this page.
Hello, I've recently found a critical issue that prevent a project using
cortex-m
version 0.7.0 from being linked (at least on my computer).Because I'm a newbie in embedded software, to reproduce this issue I downloaded the
cortex-m-quickstart
. My conclusion is that the only parameter that allow the example project to build and not mine is thecortex-m
version (0.6.0 works but 0.7.0 don't).Some more context:
os
Windows 10rustc
1.48.0 (7eac88abb 2020-11-16)target arch
thumbv7em-none-eabihftarget microproc
stm32f303k8Memory mapping (
memory.x
):Linker error trace:
Update(s):
0.6.4
also link correctly.Maybe an idea:
Can this be caused by the fact that
cortex-m-rt
only usecortex-m
version0.6.*
? Could this cause the two versions to define the symbol? In this case it can be a great addition for beginners to add a warning message explaining that two or more version ofcortex-m
can't coexist.The text was updated successfully, but these errors were encountered: