aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--cortex-m-rt/.travis.yml33
-rwxr-xr-xcortex-m-rt/ci/script.sh64
-rw-r--r--cortex-m-rt/src/lib.rs5
-rw-r--r--cortex-m-rt/triagebot.toml1
4 files changed, 52 insertions, 51 deletions
diff --git a/cortex-m-rt/.travis.yml b/cortex-m-rt/.travis.yml
index 9bb1fc2..4043e4a 100644
--- a/cortex-m-rt/.travis.yml
+++ b/cortex-m-rt/.travis.yml
@@ -4,53 +4,62 @@ matrix:
allow_failures:
- rust: nightly
include:
+ # MSRV 1.39.0 #############################################################
+ - env: TARGET=x86_64-unknown-linux-gnu
+ rust: 1.39.0
+
+ - env: TARGET=thumbv6m-none-eabi
+ rust: 1.39.0
+
+ - env: TARGET=thumbv7m-none-eabi
+ rust: 1.39.0
+
+ - env: TARGET=thumbv7em-none-eabi
+ rust: 1.39.0
+
+ - env: TARGET=thumbv7em-none-eabihf
+ rust: 1.39.0
+
+ - env: TARGET=thumbv8m.main-none-eabi
+ rust: 1.39.0
+
+ # Stable ##################################################################
- env: TARGET=x86_64-unknown-linux-gnu
rust: stable
- if: (branch = staging OR branch = trying) OR (type = pull_request AND branch = master)
- env: TARGET=thumbv6m-none-eabi
rust: stable
- if: (branch = staging OR branch = trying) OR (type = pull_request AND branch = master)
- env: TARGET=thumbv7m-none-eabi
rust: stable
- if: (branch = staging OR branch = trying) OR (type = pull_request AND branch = master)
- env: TARGET=thumbv7em-none-eabi
rust: stable
- if: (branch = staging OR branch = trying) OR (type = pull_request AND branch = master)
- env: TARGET=thumbv7em-none-eabihf
rust: stable
- if: (branch = staging OR branch = trying) OR (type = pull_request AND branch = master)
- env: TARGET=thumbv8m.main-none-eabi
rust: stable
- if: (branch = staging OR branch = trying) OR (type = pull_request AND branch = master)
+ # Nightly #################################################################
- env: TARGET=x86_64-unknown-linux-gnu
rust: nightly
- if: (branch = staging OR branch = trying) OR (type = pull_request AND branch = master)
- env: TARGET=thumbv6m-none-eabi
rust: nightly
- if: (branch = staging OR branch = trying) OR (type = pull_request AND branch = master)
- env: TARGET=thumbv7m-none-eabi
rust: nightly
- if: (branch = staging OR branch = trying) OR (type = pull_request AND branch = master)
- env: TARGET=thumbv7em-none-eabi
rust: nightly
- if: (branch = staging OR branch = trying) OR (type = pull_request AND branch = master)
- env: TARGET=thumbv7em-none-eabihf
rust: nightly
- if: (branch = staging OR branch = trying) OR (type = pull_request AND branch = master)
- env: TARGET=thumbv8m.main-none-eabi
rust: nightly
- if: (branch = staging OR branch = trying) OR (type = pull_request AND branch = master)
before_install: set -e
diff --git a/cortex-m-rt/ci/script.sh b/cortex-m-rt/ci/script.sh
index 69262f6..eea81b8 100755
--- a/cortex-m-rt/ci/script.sh
+++ b/cortex-m-rt/ci/script.sh
@@ -32,54 +32,40 @@ main() {
local fail_examples=(
data_overflow
)
+ local linkers=(
+ # Link with arm-none-eabi-ld
+ "-C linker=arm-none-eabi-ld"
+ # Link with arm-none-eabi-gcc, requires -nostartfiles
+ "-C linker=arm-none-eabi-gcc -C link-arg=-nostartfiles"
+ # Link with rust-lld (default)
+ ""
+ )
if [ "$TARGET" != x86_64-unknown-linux-gnu ]; then
RUSTDOCFLAGS="-Cpanic=abort" cargo test --doc
- # linking with GNU LD
- for ex in "${examples[@]}"; do
- cargo rustc --target "$TARGET" --example "$ex" -- \
- -C linker=arm-none-eabi-ld
-
- cargo rustc --target "$TARGET" --example "$ex" --release -- \
- -C linker=arm-none-eabi-ld
- done
- for ex in "${fail_examples[@]}"; do
- ! cargo rustc --target "$TARGET" --example "$ex" -- \
- -C linker=arm-none-eabi-ld
-
- ! cargo rustc --target "$TARGET" --example "$ex" --release -- \
- -C linker=arm-none-eabi-ld
- done
-
- cargo rustc --target "$TARGET" --example device --features device -- \
- -C linker=arm-none-eabi-ld
-
- cargo rustc --target "$TARGET" --example device --features device --release -- \
- -C linker=arm-none-eabi-ld
-
- # linking with rustc's LLD
- for ex in "${examples[@]}"; do
- cargo rustc --target "$TARGET" --example "$ex"
- cargo rustc --target "$TARGET" --example "$ex" --release
+ for linker in "${linkers[@]}"; do
+ for ex in "${examples[@]}"; do
+ cargo rustc --target "$TARGET" --example "$ex" -- $linker
+ cargo rustc --target "$TARGET" --example "$ex" --release -- $linker
+ done
+ for ex in "${fail_examples[@]}"; do
+ ! cargo rustc --target "$TARGET" --example "$ex" -- $linker
+ ! cargo rustc --target "$TARGET" --example "$ex" --release -- $linker
+ done
+ cargo rustc --target "$TARGET" --example device --features device -- $linker
+ cargo rustc --target "$TARGET" --example device --features device --release -- $linker
done
- for ex in "${fail_examples[@]}"; do
- ! cargo rustc --target "$TARGET" --example "$ex"
- ! cargo rustc --target "$TARGET" --example "$ex" --release
- done
-
- cargo rustc --target "$TARGET" --example device --features device
- cargo rustc --target "$TARGET" --example device --features device --release
fi
case $TARGET in
thumbv6m-none-eabi|thumbv7m-none-eabi)
- # linking with GNU LD
- env RUSTFLAGS="-C linker=arm-none-eabi-ld -C link-arg=-Tlink.x" cargo run --target "$TARGET" --example qemu | grep "x = 42"
- env RUSTFLAGS="-C linker=arm-none-eabi-ld -C link-arg=-Tlink.x" cargo run --target "$TARGET" --example qemu --release | grep "x = 42"
+ for linker in "${linkers[@]}"; do
+ env RUSTFLAGS="$linker -C link-arg=-Tlink.x" cargo run \
+ --target "$TARGET" --example qemu | grep "x = 42"
+ env RUSTFLAGS="$linker -C link-arg=-Tlink.x" cargo run \
+ --target "$TARGET" --example qemu --release | grep "x = 42"
+ done
- # linking with rustc's LLD
- cargo run --target "$TARGET" --example qemu | grep "x = 42"
- cargo run --target "$TARGET" --example qemu --release | grep "x = 42"
;;
esac
diff --git a/cortex-m-rt/src/lib.rs b/cortex-m-rt/src/lib.rs
index 8b43c52..d680b6d 100644
--- a/cortex-m-rt/src/lib.rs
+++ b/cortex-m-rt/src/lib.rs
@@ -373,6 +373,7 @@
//! [`MaybeUninit`]: https://doc.rust-lang.org/core/mem/union.MaybeUninit.html
//!
//! ```no_run,edition2018
+//! # extern crate core;
//! use core::mem::MaybeUninit;
//!
//! const STACK_SIZE: usize = 8 * 1024;
@@ -389,6 +390,10 @@
//! [attr-entry]: attr.entry.html
//! [attr-exception]: attr.exception.html
//! [attr-pre_init]: attr.pre_init.html
+//!
+//! # Minimum Supported Rust Version (MSRV)
+//!
+//! The MSRV of this release is Rust 1.39.0.
// # Developer notes
//
diff --git a/cortex-m-rt/triagebot.toml b/cortex-m-rt/triagebot.toml
new file mode 100644
index 0000000..fa0824a
--- /dev/null
+++ b/cortex-m-rt/triagebot.toml
@@ -0,0 +1 @@
+[assign]