rust-lang / rust-lang/rust

assembly-llvm/riscv-redundant-memory-stores.rs hardcodes riscv64 target triple

Open Beginner friendly
#157,074 2 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

C-bug needs-triage
Dominant language
Rust
Stars
119k
Forks
16.1k
PR merge metrics
PR metrics pending

Description

tests/assembly-llvm/riscv-redundant-memory-stores.rs currently contains:

//@ compile-flags: -Copt-level=3 --target riscv64gc-unknown-linux-gnu

In downstream bootstrap environments such as Yocto, compiletest may already be configured with a vendor-specific RISC-V target (e.g. riscv64-poky-linux-gnu).

The hardcoded target override causes rustc to require core/std artifacts for riscv64gc-unknown-linux-gnu, which may not exist in the stage2 sysroot.

As a result, the test fails before codegen:

error[E0463]: can't find crate for std``

Other nearby assembly tests (for example riscv-float-struct-abi.rs) avoid this issue by being self-contained no_std/no_core tests.

This test appears to only validate generated RISC-V assembly and does not seem to require a specific vendor triple.

Removing the explicit --target riscv64gc-unknown-linux-gnu and relying on the compiletest-configured riscv64 target makes the test pass in this environment.

Would it make sense to avoid hardcoding the target triple here?

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with tests/assembly-llvm/riscv-redundant-memory-stores.rs and compare its compile flags with nearby riscv-float-struct-abi.rs. Check how compiletest supplies the configured RISC-V target, then verify the assembly test no longer requests a separate target triple and passes without requiring unavailable std artifacts.

Written by the indexing model from the issue text.

Assessment

Tech stack
rust
Domain
compilers, testing-qa
Issue type
Bug
Difficulty
2/5
Estimated time
1-3 hours
Activity status
Quiet
Clarity
Clearly specified
Newbie friendliness
76/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.