Skip to content

Conversation

thejpster
Copy link
Contributor

I wasn't sure why armv7a-none-eabihf was missing from the build-manifest program, but armv8r-none-eabihf was there, as they were both Tier 3 targets up until very recently. So, I added it, but that might be wrong.

* Adds armv7a-none-eabihf (rust-lang#146522)
* Adds armv8r-none-eabihf (rust-lang#146520)
* Drops armeb*-none-* (rust-lang#146523)
@rustbot rustbot added A-CI Area: Our Github Actions CI A-testsuite Area: The testsuite used to check the correctness of rustc S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. T-infra Relevant to the infrastructure team, which will review and decide on the PR/issue. labels Oct 11, 2025
@rustbot
Copy link
Collaborator

rustbot commented Oct 11, 2025

r? @Mark-Simulacrum

rustbot has assigned @Mark-Simulacrum.
They will have a look at your PR within the next two weeks and either review your PR or reassign to another reviewer.

Use r? to explicitly pick a reviewer

@Mark-Simulacrum
Copy link
Member

build-manifest being missed is probably just an oversight, it usually takes someone actually trying to use the target to find that kind of gap.

@bors r+ rollup=iffy

@bors
Copy link
Collaborator

bors commented Oct 12, 2025

📌 Commit cc96d3f has been approved by Mark-Simulacrum

It is now in the queue for this repository.

@bors bors added S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. and removed S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. labels Oct 12, 2025
Zalathar added a commit to Zalathar/rust that referenced this pull request Oct 12, 2025
…ets, r=Mark-Simulacrum

Adjust the Arm targets in CI to reflect latest changes

* Adds build of `armv7a-none-eabihf` (rust-lang#146522)
* Adds build of `armv8r-none-eabihf` (rust-lang#146520)
* Drops build of `armeb*-none-*` (rust-lang#146523)

I wasn't sure why `armv7a-none-eabihf` was missing from the build-manifest program, but `armv8r-none-eabihf` was there, as they were both Tier 3 targets up until very recently. So, I added it, but that might be wrong.
bors added a commit that referenced this pull request Oct 12, 2025
Rollup of 12 pull requests

Successful merges:

 - #138799 (core: simplify `Extend` for tuples)
 - #146692 (Save x.py's help text for saving output time)
 - #147168 (Don't unconditionally build alloc for `no-std` targets)
 - #147178 ([DebugInfo] Improve formatting of MSVC enum struct variants)
 - #147240 (Add an ACP list item to the library tracking issue template)
 - #147246 (Explain not existed key in BTreeMap::split_off)
 - #147393 (Extract most code from `define_feedable!`)
 - #147495 (Update wasm-component-ld to 0.5.18)
 - #147503 (Fix documentation of Instant::now on mac)
 - #147541 (Change int-to-ptr transmute lowering back to inttoptr)
 - #147549 (Replace `LLVMRustContextCreate` with normal LLVM-C API calls)
 - #147596 (Adjust the Arm targets in CI to reflect latest changes)

r? `@ghost`
`@rustbot` modify labels: rollup
@Zalathar
Copy link
Contributor

Possibly failed in rollup in dist-various-1: #147598 (comment)

@bors r-

@bors bors added S-waiting-on-author Status: This is awaiting some action (such as code changes or more information) from the author. and removed S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. labels Oct 12, 2025
@Zalathar
Copy link
Contributor

@bors try jobs=dist-various-1

rust-bors bot added a commit that referenced this pull request Oct 12, 2025
Adjust the Arm targets in CI to reflect latest changes

try-job: dist-various-1
@rust-bors

This comment has been minimized.

@thejpster
Copy link
Contributor Author

build-manifest being missed is probably just an oversight, it usually takes someone actually trying to use the target to find that kind of gap.

@bors r+ rollup=iffy

Which Tier of target should be in build-manifest?

@rust-bors
Copy link

rust-bors bot commented Oct 12, 2025

💔 Test for c5785df failed: CI. Failed jobs:

@rust-log-analyzer

This comment has been minimized.

@thejpster
Copy link
Contributor Author

cargo:warning=cc1: error: '-mfloat-abi=hard': selected processor lacks an FPU
2025-10-12T08:45:46.0994124Z
2025-10-12T08:45:46.0994203Z --- stderr
2025-10-12T08:45:46.0994322Z
2025-10-12T08:45:46.0994328Z
2025-10-12T08:45:46.0996208Z error occurred: Command "sccache" "arm-none-eabi-gcc" "-O3" "-ffunction-sections" "-fdata-sections" "-g" "-fno-omit-frame-pointer" "-mfloat-abi=hard" "-fno-builtin" "-fvisibility=hidden" "-ffreestanding" "-Werror=implicit-function-declaration" "-DCOMPILER_RT_HAS_FLOAT16" "-DVISIBILITY_HIDDEN" "-o" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage1-std/armv8r-none-eabihf/release/build/compiler_builtins-aaf6c8d45d5c9d4a/out/45c91108d938afe8-absvdi2.o" "-c" "/checkout/src/llvm-project/compiler-rt/lib/builtins/absvdi2.c" with args arm-none-eabi-gcc did not execute successfully (status code exit status: 1).

right. Got to set some CFLAGS for this target. On it.

@thejpster
Copy link
Contributor Author

I think I have a fix, but let me build locally and check the minors is actually good.

I wanted to pass some CLAGS to build-std but I couldn’t work out how to, so I’ll just build a whole toolchain.

Not all ARMv7-A CPUs have a double-precision FPU. So adjust the CFLAGS
from `+vfpv3` (which assumes 32 double-precision registers) to `+fp`
(which only assumes 16 double-precision registers).
@thejpster
Copy link
Contributor Author

I was able to build libcore locally for armv7a-none-eabihf and armv8r-none-eabihf and pass the cortex-ar test suite with it. Not that it's an exhaustive test suite by any means, but it did at least pass.

@Mark-Simulacrum
Copy link
Member

Should we be trying to derive the CFLAGS from the Rust (more specific?) target tuple? I see that there's a bunch of similar-looking code in cc-rs (https://github.com/rust-lang/cc-rs/blob/87e5faef33d451532dd87c144a5d3eecb04192f2/src/lib.rs#L2324) that maybe needs updating or could be reused here somehow?

@bors try jobs=dist-various-1

@rust-bors

This comment has been minimized.

rust-bors bot added a commit that referenced this pull request Oct 12, 2025
Adjust the Arm targets in CI to reflect latest changes

try-job: dist-various-1
@thejpster
Copy link
Contributor Author

Maybe the target specification should name both the default C compiler to use, but also the flags required to make that C compiler work. If not there, then it should at least be documented on the platform support pages.

@rust-bors
Copy link

rust-bors bot commented Oct 12, 2025

☀️ Try build successful (CI)
Build commit: aa8ffd3 (aa8ffd394682e7ced5b7911d42ae549fb0afa75f, parent: ff6dc928c5e33ce8e65c6911a790b9efcb5ef53a)

@Mark-Simulacrum
Copy link
Member

@bors r+

Maybe the target specification should name both the default C compiler to use, but also the flags required to make that C compiler work. If not there, then it should at least be documented on the platform support pages.

I think 'default' is maybe strong, but providing guidance for gcc and clang makes sense to me. Ideally that guidance is also embedded into cc-rs so most users don't need to find platform support docs.

@bors
Copy link
Collaborator

bors commented Oct 12, 2025

📌 Commit fef16d2 has been approved by Mark-Simulacrum

It is now in the queue for this repository.

@bors bors added S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. and removed S-waiting-on-author Status: This is awaiting some action (such as code changes or more information) from the author. labels Oct 12, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

A-CI Area: Our Github Actions CI A-testsuite Area: The testsuite used to check the correctness of rustc S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. T-infra Relevant to the infrastructure team, which will review and decide on the PR/issue.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

6 participants