-
Notifications
You must be signed in to change notification settings - Fork 101
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Rust stable #496
Rust stable #496
Conversation
With the previous 1.11 version, this line failed: RUN go get -v -u github.com/pseudomuto/protoc-gen-doc/cmd/protoc-gen-doc (possibly that cmd became incompatible somehow?).
We went to nightly to be able to use async on no_std. With tomorrow's release of stable 1.44.0, this is available in stable, so no reason for us to be reckless 😇 https://www.reddit.com/r/rust/comments/fn6zzq/async_functions_for_no_std_now_available_on/ https://github.com/rust-lang/rust/blob/master/RELEASES.md
Ha! Abuse!? What abuse? 🙈 Maybe we should really switch from travis to github workflows: https://help.github.com/en/actions/configuring-and-managing-workflows/configuring-a-workflow. I'll try to play with it and see if it can work for us. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM. I don't have a device to flash and boot it at the moment but it all seems to build fine:
dockeruser@ce18181884d8$ rustc --version
rustc 1.44.0 (49cae5576 2020-06-01)
dockeruser@ce18181884d8$ go version
go version go1.14.4 linux/amd64
$ make -j firmware
...
Generating binary firmware.bin
text data bss dec hex filename
414652 18808 208720 642180 9cc84 firmware.elf
$ make -j bootloader
...
Generating binary bootloader.bin
text data bss dec hex filename
42672 4368 190112 237152 39e60 bootloader.elf
Ran CI locally, got this in
@NickeZ any idea how to debug? 😇 Edit: added the offending symbols in the same place in the @x1ddos pls re-check- |
With the symbols present, this happened: ``` /usr/local/bin/arm-none-eabi-objcopy: not stripping symbol `memcpy' because it is named in a relocation /usr/local/bin/arm-none-eabi-objcopy: not stripping symbol `memmove' because it is named in a relocation /usr/local/bin/arm-none-eabi-objcopy: not stripping symbol `memset' because it is named in a relocation ``` Seems like in the updated Rust toolchain, the symbols are correctly referenced and no workaround is needed. In return, some other symbols now seem to clash, but only in device-tests.
After updating Go and going to Rust toolchain 1.44.0.
in bitbox02-rust-c, we use Enabling lang-items is unstable. The workaround is to use RUSTC_BOOTSTRAP=1 to enable this (while still being on a stable toolchain), which was applied to the unit tests and firmware, but not the docs. I assume the docs target was added after we temporarily went to the nightly toolchain.
Oh, I forgot to run the tests! Sorry.
|
No description provided.