Run the full stage 2 run-make
test suite in x86_64-gnu-debug
by jieyouxu · Pull Request #131917 · rust-lang/rust (original) (raw)
Run the full run-make
test suite in the x86_64-gnu-debug
CI job. This is currently the only CI job where //@ needs-force-clang-based-test
will be satisfied, so some run-make
tests will literally never be run otherwise. Before this PR, the CI job only ran run-make
tests which contains the substring clang
in its test name, which is both (1) a footgun because it's very easy to forget and (2) it masks tests that would otherwise fail (even failing to compile) because the test is skipped if doesn't have a clang
in its test name.
With the environment of x86_64-gnu-debug
, two run-make
tests failed before this PR:
tests/run-make/issue-84395-lto-embed-bitcode/rmake.rs
: this was broken for a long time becauseobjcopy
in llvm bin tools was renamed tollvm-objcopy
. This test was converted into a rmake.rs test, rather straight forward.tests/run-make/cross-lang-lto-riscv-abi/rmake.rs
: this was broken for a long time and never worked. The old version inspected human-readable output ofllvm-readobj --file-header
looking for substringEF_RISCV_FLOAT_ABI_DOUBLE
, but the human-readable output will only contain something likeFlags: 0x5, RVC, double-float ABI
, hence it will never match. This test was fixed by instead using theobject
crate to actually decode the ELF headers looking for the specifice_flags
based on reading the RISCV ELF psABI docs.
This PR is best reviewed commit-by-commit, two commits setup the support library for functionality and two commits are for each of the failing run-make
tests.
I had to bump the x86_64-gnu-debug
job to be ran with a runner with larger disk space.
Part of #132034.
try-job: x86_64-gnu-debug