Commit b35abba
authored
Update to nightly-2025-07-20 (#2160)
Currently, Hubris' Rust toolchain is pinned to `nightly-2024-09-17`,
which is from 10 months ago. This is kind of unfortunate, especially
because that nightly is too old to support the Rust 2024 edition, which
means we cannot update our dependencies on any crates where the latest
version is built with Rust 2024.
Beyond just updating the toolchain, there were some noteworthy changes:
- Naked functions are now stable (yay!), but the attribute changed to
`#[unsafe(naked)]`. Inline assembly in naked functions must now use
`core::arch::naked_asm!` rather than normal `asm!`. As far as I can
tell, the only difference between this and regular `asm!` is that it
does not support `options(noreturn)`, as I believe the `naked_asm!`
block kind of implies at least some of the codegen differences for
`noreturn`.
- New warnings on creation of temporary shared references to mutable
statics showed up in `stm32h7-update-server`, where we were using
`[T]::as_ptr()` on zero-sized slices in mutable statics that were used
to get linker-generated addresses. `[T]::as_ptr()` takes an `&self`
receiver, so this was generating a temporary shared reference to the
mutable static. I changed this to use `&raw const`, which takes the
address of the static without creating a shared reference.
- There was a substantial regression in flash and RAM usage on the new
toolchain due to [a change in the behavior of the `#[used]`
attribute][1] which revealed [an underlying issue where ringbufs were
not zero initialized][2]. These issues were resolved separately in
#2167, #2168, #2170, and oxidecomputer/idolatry#65.
In addition, there were a variety of unremarkable linting changes,
including slightly better dead code detection (which detected some new
dead code), and some annoying clippy nonsense.
Note that this branch requires oxidecomputer/idolatry#65, which updates
`idol` to generate code that doesn't emit warnings with the new
toolchain, and fixes some of the flash/RAM size regression in code
generated by `idol`.
Fixes #2165
[1]: #2165 (comment)
[2]: #2165 (comment)1 parent 86d3a0a commit b35abba
File tree
83 files changed
+395
-382
lines changed- .cargo
- app
- lpc55xpresso
- medusa
- src
- rot-carrier
- build
- call_rustfmt/src
- fpga-regmap/src
- i2c/src
- lpc55pins/src
- net/src
- spi/src
- util/src
- xtask/src
- drv
- auxflash-server
- src
- cosmo-seq-server
- fpga-devices/src
- fpga-server
- src
- gimlet-hf-server/src
- gimlet-seq-server
- i2c-devices/src
- lpc55-rng/src
- lpc55-sprot-server/src
- lpc55-swd
- src
- lpc55-update-server
- src
- medusa-seq-server
- minibar-seq-api
- minibar-seq-server
- sidecar-front-io
- sidecar-mainboard-controller
- src
- sidecar-seq-server
- spartan7-loader
- stm32h7-sprot-server/src
- stm32h7-update-server
- src
- stm32xx-i2c-server
- src
- transceivers-api
- transceivers-server
- vsc7448/src
- lib
- dice/src
- lpc55-puf/src
- lpc55-romapi/src
- lpc55-rot-startup/src
- stage0-handoff/src
- task-config/src
- sys
- kern/src
- num-tasks
- userlib/src
- task
- attest
- src
- control-plane-agent/src
- mgs_compute_sled
- update
- sp
- gimlet-spd
- hiffy/src
- monorail-server/src
- net
- src
- ping/src
- power/src
- bsp
Some content is hidden
Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.
83 files changed
+395
-382
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
7 | 7 | | |
8 | 8 | | |
9 | 9 | | |
10 | | - | |
| 10 | + | |
11 | 11 | | |
12 | 12 | | |
13 | 13 | | |
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
115 | 115 | | |
116 | 116 | | |
117 | 117 | | |
118 | | - | |
| 118 | + | |
119 | 119 | | |
120 | 120 | | |
121 | 121 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
6 | 6 | | |
7 | 7 | | |
8 | 8 | | |
| 9 | + | |
9 | 10 | | |
10 | 11 | | |
11 | 12 | | |
12 | 13 | | |
13 | 14 | | |
14 | 15 | | |
| 16 | + | |
15 | 17 | | |
16 | 18 | | |
17 | 19 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
15 | 15 | | |
16 | 16 | | |
17 | 17 | | |
| 18 | + | |
| 19 | + | |
| 20 | + | |
18 | 21 | | |
19 | 22 | | |
20 | 23 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
| 17 | + | |
| 18 | + | |
| 19 | + | |
| 20 | + | |
| 21 | + | |
| 22 | + | |
| 23 | + | |
| 24 | + | |
| 25 | + | |
| 26 | + | |
| 27 | + | |
| 28 | + | |
| 29 | + | |
| 30 | + | |
| 31 | + | |
| 32 | + | |
| 33 | + | |
| 34 | + | |
| 35 | + | |
| 36 | + | |
| 37 | + | |
| 38 | + | |
| 39 | + | |
| 40 | + | |
| 41 | + | |
| 42 | + | |
| 43 | + | |
| 44 | + | |
| 45 | + | |
| 46 | + | |
| 47 | + | |
| 48 | + | |
| 49 | + | |
| 50 | + | |
| 51 | + | |
| 52 | + | |
| 53 | + | |
| 54 | + | |
| 55 | + | |
| 56 | + | |
| 57 | + | |
| 58 | + | |
| 59 | + | |
| 60 | + | |
| 61 | + | |
| 62 | + | |
| 63 | + | |
| 64 | + | |
| 65 | + | |
| 66 | + | |
| 67 | + | |
| 68 | + | |
| 69 | + | |
| 70 | + | |
| 71 | + | |
| 72 | + | |
| 73 | + | |
| 74 | + | |
| 75 | + | |
| 76 | + | |
| 77 | + | |
| 78 | + | |
| 79 | + | |
| 80 | + | |
| 81 | + | |
| 82 | + | |
| 83 | + | |
| 84 | + | |
| 85 | + | |
| 86 | + | |
| 87 | + | |
| 88 | + | |
| 89 | + | |
| 90 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
95 | 95 | | |
96 | 96 | | |
97 | 97 | | |
98 | | - | |
| 98 | + | |
99 | 99 | | |
100 | 100 | | |
101 | 101 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
20 | 20 | | |
21 | 21 | | |
22 | 22 | | |
23 | | - | |
| 23 | + | |
24 | 24 | | |
25 | 25 | | |
26 | 26 | | |
27 | | - | |
| 27 | + | |
28 | 28 | | |
29 | 29 | | |
30 | 30 | | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
113 | 113 | | |
114 | 114 | | |
115 | 115 | | |
116 | | - | |
| 116 | + | |
117 | 117 | | |
118 | 118 | | |
119 | 119 | | |
| |||
607 | 607 | | |
608 | 608 | | |
609 | 609 | | |
610 | | - | |
611 | | - | |
612 | | - | |
613 | | - | |
| 610 | + | |
| 611 | + | |
614 | 612 | | |
615 | 613 | | |
616 | 614 | | |
| |||
738 | 736 | | |
739 | 737 | | |
740 | 738 | | |
741 | | - | |
| 739 | + | |
742 | 740 | | |
743 | 741 | | |
744 | 742 | | |
| |||
0 commit comments