Promotes 5 Thumb-mode bare-metal Arm targets to Tier 2#155763
Conversation
|
Some changes occurred in src/doc/rustc/src/platform-support cc @Noratrieb These commits modify compiler targets. |
|
r? @adwinwhite rustbot has assigned @adwinwhite. Use Why was this reviewer chosen?The reviewer was selected based on:
|
|
Blocked on rust-lang/compiler-team#985. |
|
@rustbot ping arm-maintainers |
|
Error: Only Rust team members can ping teams. Please file an issue on GitHub at triagebot if there's a problem with this bot, or reach out on #triagebot on Zulip. |
|
@rustbot ping arm-maintainers |
|
Error: This team ( Please file an issue on GitHub at triagebot if there's a problem with this bot, or reach out on #triagebot on Zulip. |
|
arm-maintainers said yes over on rust-lang/compiler-team#985 (comment) (just for anyone else looking at this without looking at that thread first) |
0b1bacb to
f45a817
Compare
|
This PR was rebased onto a different main commit. Here's a range-diff highlighting what actually changed. Rebasing is a normal part of keeping PRs up to date, so no action is needed—this note is just to help reviewers. |
|
@petrochenkov The FCP is complete |
|
@bors r+ |
…=petrochenkov Promotes 5 Thumb-mode bare-metal Arm targets to Tier 2 This PR promotes five Thumb-mode bare-metal Arm targets to Tier 2, joining their Arm-mode counterparts which are already Tier 2: | Thumb-mode target (Tier 3 → Tier 2) | Arm-mode counterpart (already Tier 2) | |:---|:---| | `thumbv7a-none-eabi` | `armv7a-none-eabi` | | `thumbv7a-none-eabihf` | `armv7a-none-eabihf` | | `thumbv7r-none-eabi` | `armv7r-none-eabi` | | `thumbv7r-none-eabihf` | `armv7r-none-eabihf` | | `thumbv8r-none-eabihf` | `armv8r-none-eabihf` | Note: There is no `thumbv8r-none-eabi` target because the Cortex-R52 processor always includes an FPU, making a soft-float ABI variant unnecessary. These Thumb-mode targets generate T32 code by default while their Arm-mode counterparts generate A32 code. They share the same LLVM backend, ABI, and data layout — the only spec differences are the `llvm_target` string and the description. See rust-lang/compiler-team#985
8efcf19 to
5a04cb4
Compare
|
It appears that |
|
@bors try jobs=dist-various-1 |
This comment has been minimized.
This comment has been minimized.
Promotes 5 Thumb-mode bare-metal Arm targets to Tier 2 try-job: dist-various-1
|
💔 Test for 3ead6a8 failed: CI. Failed job:
|
This comment has been minimized.
This comment has been minimized.
|
@JonathanBrouwer Hmm this error seems to be a Docker Hub network issue? Can you try job again? |
|
@bors try jobs=dist-various-1 |
This comment has been minimized.
This comment has been minimized.
Promotes 5 Thumb-mode bare-metal Arm targets to Tier 2 try-job: dist-various-1
|
💔 Test for db682f4 failed: CI. Failed job:
|
5a04cb4 to
e3468ae
Compare
|
Seems like |
This comment has been minimized.
This comment has been minimized.
|
@bors try jobs=dist-various-1 |
This comment has been minimized.
This comment has been minimized.
Promotes 5 Thumb-mode bare-metal Arm targets to Tier 2 try-job: dist-various-1
|
I'm not super familiar with all these build tooling flags and their consequences so I'll wait for @petrochenkov to re-review and reapprove |
|
@cezarbbb |
|
Hi. I found that ARM and Thumb differ only in instruction encoding; the underlying hardware requirements are identical. For example, armv7r_none_eabihf.rs:20 and thumbv7r_none_eabihf.rs:20 both specify For |
|
@rustbot ready |
View all comments
This PR promotes five Thumb-mode bare-metal Arm targets to Tier 2, joining their Arm-mode counterparts which are already Tier 2:
thumbv7a-none-eabiarmv7a-none-eabithumbv7a-none-eabihfarmv7a-none-eabihfthumbv7r-none-eabiarmv7r-none-eabithumbv7r-none-eabihfarmv7r-none-eabihfthumbv8r-none-eabihfarmv8r-none-eabihfNote: There is no
thumbv8r-none-eabitarget because the Cortex-R52 processor always includes an FPU, making a soft-float ABI variant unnecessary.These Thumb-mode targets generate T32 code by default while their Arm-mode counterparts generate A32 code. They share the same LLVM backend, ABI, and data layout — the only spec differences are the
llvm_targetstring and the description.See rust-lang/compiler-team#985