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
Zalathar added a commit to Zalathar/rust that referenced this pull request Oct 14, 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 14, 2025
Rollup of 11 pull requests

Successful merges:

 - #146277 (Enable `u64` limbs in `core::num::bignum`)
 - #146976 (constify basic Clone impls)
 - #147249 (Do two passes of `handle_opaque_type_uses_next`)
 - #147266 (fix 2 search graph bugs)
 - #147468 (Implement fs api set_times and set_times_nofollow)
 - #147497 (`proc_macro` cleanups (3/N))
 - #147594 (std: implement `pal::os::exit` for VEXos)
 - #147596 (Adjust the Arm targets in CI to reflect latest changes)
 - #147607 (GVN: Invalidate derefs at loop headers)
 - #147620 (Avoid redundant UB check in RangeFrom slice indexing)
 - #147647 (Hide vendoring and copyright in GHA group)

r? `@ghost`
`@rustbot` modify labels: rollup
Zalathar added a commit to Zalathar/rust that referenced this pull request Oct 14, 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.
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