diff options
-rw-r--r-- | cortex-m-rt/.travis.yml | 33 | ||||
-rwxr-xr-x | cortex-m-rt/ci/script.sh | 64 | ||||
-rw-r--r-- | cortex-m-rt/src/lib.rs | 5 | ||||
-rw-r--r-- | cortex-m-rt/triagebot.toml | 1 |
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] |