-
-
Notifications
You must be signed in to change notification settings - Fork 804
Remove #![feature(naked_functions)] and compile Cortex-M on stable!
#3802
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
Conversation
|
Looks like cortex-m0 builds are broken due to some missing imports @bradjc |
|
This is blocked on #3803 |
5f35e72 to
f7f7c22
Compare
The compiler seems to be placing the global_asm code differently, meaning a branch instruction no longer works. Load the address and branch to the register instead.
|
Seems like one unintended(?) consequence of this PR is that our script / Makefile hackery to generate |
Only include flags which require nightly if we are compiling on nightly.
Pull Request Overview
This is a realization of the long-desired #1654 (at least for arm). Switches
#[naked]toglobal_asm!().It seems like no one cares to stabilize naked_functions. There was momentum 1.5 years ago, but that was derailed and it seems like projects looking to use stable are just using
global_asm!().I somewhat arbitrarily decided to switch hail to use stable as an example.
Testing Strategy
Running on nrf52840dk.
TODO or Help Wanted
One odd thing came up:
Doesn't seem to work the same way on stable. With that, even when building for a board the cfg doesn't match and the function/variable is removed. It's the
target_featurepart which doesn't seem to work the same way.Documentation Updated
/docs, or no updates are required.Formatting
make prepush.