Skip to content

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

Open
wants to merge 9 commits into
base: master
Choose a base branch
from
Open

Conversation

thejpster
Copy link
Contributor

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 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.

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.
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.
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.
Copy link

@mbrossard mbrossard left a 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)");

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

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Re-introduces typo

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*

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

MSRV is 1.61

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants