-
Notifications
You must be signed in to change notification settings - Fork 173
Revert cortex-m #605
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
base: master
Are you sure you want to change the base?
Revert cortex-m #605
Conversation
The cortex-m crate in the master branch is 0.7.4 plus a bunch of fixes that have never been released. Some of them are breaking changes and so will never be released. We cannot 'just' release a cortex-m 0.8 with them in because that is ecosystem shattering - the crate contains a 'links=' attribute, and a bunch of no_mangle functions, so you cannot have two versions in the same dependency tree. Instead, there is a 0.7.x branch. This was taken before the cortex-m-rt crate move. It has cortex-m 0.7.7, which has been published. This commit just deletes the cortex-m folder and replaces it with the contents of the cortex-m crate as found on the the 0.7.x branch. If you want to pick up the changes that have just been deleted, cherry- pick them into a new branch and open a PR to merge them into here. Breaking changes for cortex-m into master will no longer be accepted. Sorry.
Binaries are unchanged.
I don't want lints that tell me to fix things that don't work in the MSRV. Unfortunately I also have to unify the MSRV for cortex-m and cortex-m-rt, raising the cortex-m MSRV to 1.61.
55c559d
to
b7101e5
Compare
OK, that seems to be a genuine bug that this annoying new feature caught.
Will avoid a bunch of clippy warnings that are hard to get rid of in both the MSRV and latest stable.
cc57e1d
to
ba86f7b
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks for working on this. A few minor nits.
|
||
println!("cargo:rustc-check-cfg=cfg(armv6m)"); | ||
println!("cargo:rustc-check-cfg=cfg(armv7em)"); | ||
println!("cargo:rustc-check-cfg=cfg(armv7m)"); | ||
println!("cargo:rustc-check-cfg=cfg(armv7m)"); | ||
println!("cargo:rustc-check-cfg=cfg(armv8m)"); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Those two lines seem superfluous.
//! ## `critical-section-single-core` | ||
//! | ||
//! This feature enables a [`critical-section`](https://github.com/rust-embedded/critical-section) | ||
//! implementation suitable for single-core targets, based on disabling interrupts globally. | ||
//! | ||
//! It is **unsound** to enable it on multi-core targets or for code running in unprivileged mode, | ||
//! and may cause functional problems in systems where some interrupts must not be disabled | ||
//! and may cause functional problems in systems where some interrupts must be not be disabled |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Re-introduces typo
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It was fixed #519.
//! # Minimum Supported Rust Version (MSRV) | ||
//! | ||
//! This crate is guaranteed to compile on stable Rust 1.61 and up. It *might* | ||
//! This crate is guaranteed to compile on stable Rust 1.59 and up. It *might* |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
MSRV is 1.61
We are in a mess. This PR attempts to fix it.
The cortex-m crate in the master branch is 0.7.4 plus a bunch of fixes that have never been released. Some of them are breaking changes and so will never be released. We cannot 'just' release a cortex-m 0.8 with them in because that is ecosystem shattering - the crate contains a
'links=' attribute, and a bunch of no_mangle functions, so you cannot have two versions in the same dependency tree.
Instead, there is a 0.7.x branch. This was taken before the cortex-m-rt crate move. It has cortex-m 0.7.7, which has been published.
This commit just deletes the
cortex-m
folder and replaces it with the contents of thecortex-m
crate as found on the the 0.7.x branch.If you want to pick up the changes that have just been deleted, cherry-pick them into a new branch and open a PR to merge them into here.
Breaking changes for cortex-m into master will no longer be accepted.
Sorry.