diff options
author | 2020-08-27 22:02:19 +0000 | |
---|---|---|
committer | 2020-08-27 22:02:19 +0000 | |
commit | 36886f19b6ca0ac3b30ddf8543d330a445506057 (patch) | |
tree | e2dd3d835c95d94781217e00229b1df94604cbe2 /ci/install.sh | |
parent | bbf4a54a69631653c2bd1b66ce910b6869f240ec (diff) | |
parent | 346cd48ad3daf8b1a5b9ae0913defccc5259fdc5 (diff) | |
download | cortex-m-36886f19b6ca0ac3b30ddf8543d330a445506057.tar.gz cortex-m-36886f19b6ca0ac3b30ddf8543d330a445506057.tar.zst cortex-m-36886f19b6ca0ac3b30ddf8543d330a445506057.zip |
Merge #259
259: Rust assembly stubs r=thalesfragoso a=jonas-schievink
Disclaimer: I have not tested any of this (help wanted, we have no tests in here).
Thanks to @therealprof for nerd-sniping me into oblivion.
Fixes https://github.com/rust-embedded/cortex-m/issues/254
Fixes https://github.com/rust-embedded/cortex-m/issues/194
Fixes https://github.com/rust-embedded/cortex-m/issues/139
# Summary
* Remove the assembly files in favor of a new `asm.rs`, which uses unstable inline assembly and provides a C ABI interface.
* Replace the shell scripts by a [`cargo-xtask`](https://github.com/matklad/cargo-xtask/).
* While we're at it, also pre-build artifacts that are compatible with linker-plugin LTO, fixing https://github.com/rust-embedded/cortex-m/issues/139 (again, not tested)
This means that contributors and maintainers just need ~~a nightly Rust compiler installed~~ to run `cargo xtask assemble`. No binutils, no assembler, no `ar`, no GCC/Clang, and especially nothing from the godawful Arm servers, fixing https://github.com/rust-embedded/cortex-m/issues/194. You don't even have to install the correct nightly Rust toolchain, `cargo xtask` does it for you (and installs all the thumb targets too).
Co-authored-by: Jonas Schievink <jonasschievink@gmail.com>
Diffstat (limited to 'ci/install.sh')
-rw-r--r-- | ci/install.sh | 4 |
1 files changed, 0 insertions, 4 deletions
diff --git a/ci/install.sh b/ci/install.sh index 371cc8e..fb3e52d 100644 --- a/ci/install.sh +++ b/ci/install.sh @@ -6,10 +6,6 @@ main() { rustup target add $TARGET ;; esac - - mkdir gcc - - curl -L https://developer.arm.com/-/media/Files/downloads/gnu-rm/7-2018q2/gcc-arm-none-eabi-7-2018-q2-update-linux.tar.bz2?revision=bc2c96c0-14b5-4bb4-9f18-bceb4050fee7?product=GNU%20Arm%20Embedded%20Toolchain,64-bit,,Linux,7-2018-q2-update | tar --strip-components=1 -C gcc -xj } main |