diff options
Diffstat (limited to 'cortex-m-rt')
-rw-r--r-- | cortex-m-rt/Cargo.toml | 1 | ||||
-rw-r--r-- | cortex-m-rt/src/lib.rs | 4 |
2 files changed, 5 insertions, 0 deletions
diff --git a/cortex-m-rt/Cargo.toml b/cortex-m-rt/Cargo.toml index 8fd075f..f8f8342 100644 --- a/cortex-m-rt/Cargo.toml +++ b/cortex-m-rt/Cargo.toml @@ -14,6 +14,7 @@ readme = "README.md" repository = "https://github.com/rust-embedded/cortex-m-rt" version = "0.6.11" autoexamples = true +links = "cortex-m-rt" # Prevent multiple versions of cortex-m-rt being linked [dependencies] r0 = "1.0" diff --git a/cortex-m-rt/src/lib.rs b/cortex-m-rt/src/lib.rs index 4dabb29..ba50572 100644 --- a/cortex-m-rt/src/lib.rs +++ b/cortex-m-rt/src/lib.rs @@ -689,6 +689,10 @@ pub use macros::exception; /// [rfc1414]: https://github.com/rust-lang/rfcs/blob/master/text/1414-rvalue_static_promotion.md pub use macros::pre_init; +// We export this static with an informative name so that if an application attempts to link +// two copies of cortex-m-rt together, linking will fail. We also declare a links key in +// Cargo.toml which is the more modern way to solve the same problem, but we have to keep +// __ONCE__ around to prevent linking with versions before the links key was added. #[export_name = "error: cortex-m-rt appears more than once in the dependency graph"] #[doc(hidden)] pub static __ONCE__: () = (); |