Skip to content

embedded-services: Fix cortex-m dependencies#760

Open
kurtjd wants to merge 1 commit intoOpenDevicePartnership:v0.2.0from
kurtjd:fix-cortexm-deps
Open

embedded-services: Fix cortex-m dependencies#760
kurtjd wants to merge 1 commit intoOpenDevicePartnership:v0.2.0from
kurtjd:fix-cortexm-deps

Conversation

@kurtjd
Copy link
Contributor

@kurtjd kurtjd commented Mar 20, 2026

Removes the cortex-m-rt dependency entirely since this is not needed and risks pulling in conflicting linker scripts depending on where they are in relation to each other in the search graph when embedded-services is used on a different architecture. Then also made cortex-m only included if the architecture is arm to be extra-safe.

Fixes a minor issue I was running into trying to work on a risc-v platform.

@kurtjd kurtjd self-assigned this Mar 20, 2026
@kurtjd kurtjd requested a review from a team as a code owner March 20, 2026 19:55
@kurtjd kurtjd added the bug Something isn't working label Mar 20, 2026
Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

Adjusts embedded-services’ ARM-specific dependency wiring so using the crate on non-ARM (e.g., RISC-V) no_std targets doesn’t accidentally pull in Cortex-M runtime/linker-script baggage.

Changes:

  • Remove cortex-m-rt from the embedded-services dependency graph.
  • Gate the cortex-m dependency to cfg(all(target_os = "none", target_arch = "arm")) to avoid non-ARM no_std builds pulling it in.
  • Regenerate affected lockfiles (workspace + examples) to reflect the dependency changes.

Reviewed changes

Copilot reviewed 1 out of 6 changed files in this pull request and generated no comments.

Show a summary per file
File Description
examples/std/Cargo.lock Drops cortex-m-rt entries pulled in via embedded-services.
examples/rt685s-evk/Cargo.lock Removes cortex-m-rt from embedded-services dependency list in the lock.
examples/rt633/Cargo.lock Removes cortex-m-rt from embedded-services dependency list in the lock.
examples/pico-de-gallo/Cargo.lock Drops cortex-m-rt entries pulled in via embedded-services.
embedded-service/Cargo.toml Removes cortex-m-rt and gates cortex-m to ARM no_std targets only.
Cargo.lock Updates workspace lock to remove cortex-m-rt from embedded-services deps.

@kurtjd kurtjd force-pushed the fix-cortexm-deps branch from 27b004e to 49aa58f Compare March 20, 2026 20:34
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

bug Something isn't working

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants